bunnei
903505ed5f
Merge pull request #398 from lioncash/kernel
...
kernel: Migrate logging macros to fmt-compatible ones
2018-04-25 22:42:34 -04:00
bunnei
9176319a5c
Merge pull request #387 from Subv/maxwell_2d
...
GPU: Partially implemented the 2D surface copy engine
2018-04-25 20:40:17 -04:00
bunnei
d64b6bca07
Merge pull request #395 from lioncash/file-sys
...
file-sys: Move logging macros over to the new fmt-capable ones
2018-04-25 20:39:08 -04:00
Lioncash
871e6c0041
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
...
Functions don't need to be terminated by semicolons.
2018-04-25 20:32:16 -04:00
Lioncash
bd9414dd31
kernel: Migrate logging macros to fmt-compatible ones
2018-04-25 20:32:09 -04:00
bunnei
50a4a480f0
Merge pull request #390 from mailwl/pctl-module
...
Service/PCTL: convert to module, add services, stub
2018-04-25 15:51:43 -04:00
bunnei
baca4ecfa1
Merge pull request #397 from lioncash/core
...
core/memory: Move logging macros over to the new fmt-capable ones
2018-04-25 15:25:03 -04:00
Subv
0c04a308d1
GPU: Partially implemented the Fermi2D surface copy operation.
...
The hardware allows for some rather complicated operations to be performed on the data during the copy, this is not implemented.
Only same-format same-size raw copies are implemented for now.
2018-04-25 12:54:26 -05:00
Subv
1755d4bec3
Shaders: Added bit decodings for the I2I instruction.
2018-04-25 12:52:55 -05:00
Subv
e02112db16
Shaders: Implemented the FSET instruction.
...
This instruction is similar to the FSETP instruction, but it doesn't set a predicate, it sets the destination register to 1.0 if the condition holds, and 0 otherwise.
2018-04-25 12:52:32 -05:00
Subv
6418127891
Memory: Added a missing shortcut for Memory::CopyBlock for the current process.
2018-04-25 11:55:30 -05:00
Subv
634620b502
GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file.
2018-04-25 11:55:30 -05:00
Subv
284aad1420
GPU: Added a function to retrieve the bytes per pixel of the render target formats.
2018-04-25 11:55:29 -05:00
Subv
bbb15541aa
GPU: Added surface copy registers to Fermi2D
2018-04-25 11:55:29 -05:00
Subv
b0b75e7ae4
GPU: Added boilerplate code for the Fermi2D engine
2018-04-25 11:55:29 -05:00
Subv
94d0d499c3
GPU: Reduce the number of registers of Maxwell3D to 0xE00.
...
The rest are just macro shim registers.
2018-04-25 11:55:28 -05:00
Subv
219b5d34e7
GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.
...
It doesn't belong in the PFIFO handler.
2018-04-25 11:55:27 -05:00
Subv
f42b93399f
GPU: Corrected the upper bound of the PFIFO method ids in the command processor.
2018-04-25 11:53:54 -05:00
Lioncash
1cd301f2c0
file-sys: convert a StringFromFormat call into fmt::format in GetFullPath()
...
Lessens the amount to read and gets rid of the PRIX64 macro, allowing us to use a single string
for the whole path, making it easier to read.
2018-04-25 12:35:37 -04:00
Lioncash
a1dc050bbf
file-sys: Move logging macros over to the new fmt-capable ones
2018-04-25 12:35:33 -04:00
Lioncash
796b5c727d
core/memory: Amend address widths in asserts
...
Addresses are 64-bit, these formatting specifiers are simply holdovers from citra. Adjust them to be the correct width.
2018-04-25 12:17:26 -04:00
Lioncash
62e427d98f
core/memory: Move logging macros over to new fmt-capable ones
...
While we're at it, correct addresses to print all 64 bits where applicable, which were holdovers from citra.
2018-04-25 12:16:33 -04:00
Lioncash
f5bd2617a8
video-core: Move logging macros over to new fmt-capable ones
2018-04-25 09:13:57 -04:00
mailwl
cf607e7fca
Service/PCTL: convert to module, add services, stub
...
PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies
2018-04-25 09:02:27 +03:00
Subv
74c89df1c8
Shaders: Added decodings for the FSET instructions.
2018-04-24 22:42:54 -05:00
bunnei
9add4dba81
Merge pull request #388 from bunnei/refactor-rasterizer-cache
...
Refactor rasterizer cache
2018-04-24 23:22:24 -04:00
bunnei
bfb435c994
renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8.
2018-04-24 22:31:46 -04:00
bunnei
1f14d07952
gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8.
2018-04-24 22:31:46 -04:00
bunnei
931c447c84
gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU.
2018-04-24 22:31:46 -04:00
bunnei
4713ba7d9c
gl_rasterizer_cache: Use new logger.
2018-04-24 22:31:46 -04:00
bunnei
197ea35d95
gl_rasterizer_cache: Add a function for finding framebuffer GPU address.
2018-04-24 22:31:46 -04:00
bunnei
640c943d34
gl_rasterizer_cache: Handle compressed texture sizes.
2018-04-24 22:31:46 -04:00
bunnei
31748079de
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
2018-04-24 22:31:45 -04:00
Lioncash
ff63e4d3fc
loader: Move old logging macros over to new fmt-capable ones
2018-04-24 20:22:32 -04:00
bunnei
995cbfc15f
memory_manager: Add implement CpuToGpuAddress.
2018-04-24 17:49:20 -04:00
bunnei
b6bed8fd74
memory_manager: Make GpuToCpuAddress return an optional.
2018-04-24 17:49:19 -04:00
bunnei
ebef12f037
memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.
2018-04-24 17:40:43 -04:00
bunnei
dcd72b36ca
Merge pull request #386 from Subv/gpu_query
...
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
2018-04-24 16:13:51 -04:00
bunnei
2dd49a5bb2
Merge pull request #392 from lioncash/log
...
service: Move logging macros over to the new fmt-compatible ones
2018-04-24 14:13:54 -04:00
Lioncash
b736a731c0
service: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:32 -04:00
Lioncash
448c7ad796
vi: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
7505ea2612
time: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
5077580ee7
ssl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
418cb174a9
spl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
e70f5cb603
sockets: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
3cac963a7d
sm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
f8fa781c10
set: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
e39e914cd0
pctl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
38f90ec51a
nvflinger: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
7303c11edc
nvdrv: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:27 -04:00
Lioncash
accaa498ad
ns: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
3fdc96e690
nifm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
60efd72a51
nfp: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
afe7828f4b
lm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
0cbbb1c130
hid: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
8b8125ba51
friend: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
7995e92e19
filesystem: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:52 -04:00
Lioncash
f6b2c3485b
renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles()
2018-04-24 11:13:08 -04:00
Lioncash
f9bdeea787
fatal: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:58 -04:00
Lioncash
fcda46cec0
audio: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:09 -04:00
Lioncash
4e32d65b32
apm: Move logging macros over to new fmt-compatible ones
2018-04-24 10:16:03 -04:00
Lioncash
5052b17f84
aoc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:52 -04:00
Lioncash
ee02a551c5
am: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:11 -04:00
Lioncash
d1ef0f83d7
acc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:04:22 -04:00
mailwl
8fffc0962c
Service/FS: implement IFileSystem::RenameFile
2018-04-24 10:56:05 +03:00
bunnei
efe7989c16
Merge pull request #379 from Subv/multi_buffers
...
GPU: Support multiple enabled vertex arrays.
2018-04-24 01:09:02 -04:00
Subv
1eca798d8b
GPU: Added asserts to our code for handling the QUERY_GET GPU command.
...
This is based on research from nouveau. Many things are currently unknown and will require hwtests in the future.
This commit also stubs QueryMode::Write2 to do the same as Write. Nouveau code treats them interchangeably, it is currently unknown what the difference is.
2018-04-23 17:06:57 -05:00
bunnei
5ff201a288
Merge pull request #370 from Subv/sync_primitives
...
Kernel: Reworked the new kernel synchronization primitives.
2018-04-23 16:33:00 -04:00
bunnei
ac7b1f4aed
Merge pull request #384 from Subv/nvhost-remap
...
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
2018-04-23 15:23:55 -04:00
bunnei
65d0d7ea69
Merge pull request #385 from Subv/unimpl_ioctls
...
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 15:22:49 -04:00
bunnei
dc5549a9b1
Merge pull request #383 from Subv/gpu_mmu
...
GPU: Make the GPU virtual memory manager use 16 page bits and 10 pagetable bits.
2018-04-23 14:00:52 -04:00
Subv
6be45c562f
GPU: Support multiple enabled vertex arrays.
...
The vertex arrays will be copied to the stream buffer one after the other, and the attributes will be set using the ARB_vertex_attrib_binding extension.
yuzu now thus requires OpenGL 4.3 or the ARB_vertex_attrib_binding extension.
2018-04-23 11:34:50 -05:00
Subv
329bec6dbd
Kernel: Implemented mutex priority inheritance.
...
Verified with a hwtest and implemented based on reverse engineering.
Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
2018-04-23 11:23:44 -05:00
Subv
e56ef284bb
NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has already been allocated.
...
Also added a consistency check and a comment for the case when the object id is different than its handle. The real nvservices doesn't make a distinction between ids and handles, each object gets an unique handle which doubles as its id.
2018-04-23 11:21:46 -05:00
Subv
c4131e271f
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
...
It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
2018-04-23 11:21:46 -05:00
Subv
3c2b29e5c2
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 11:13:53 -05:00
Subv
fbc480d611
GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.
...
Also removed some dead code and added memory map consistency asserts.
2018-04-23 10:57:12 -05:00
Subv
fa6edc4412
GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format.
2018-04-23 10:50:28 -05:00
David Marcec
9591689dbc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
David
471eafc162
lioncash proposed changes
2018-04-22 00:07:55 -07:00
David Marcec
48334d0d6a
Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)
2018-04-21 22:04:24 -07:00
Subv
abd66a9a33
GPU: Implement the A2BGR10 texture format.
2018-04-21 17:32:25 -05:00
bunnei
0aae96830a
Merge pull request #377 from adityaruplaha/sdl2-fullscreen
...
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607 )
2018-04-21 13:53:55 -04:00
adityaruplaha
cd2aeb1046
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607 )
2018-04-21 13:24:33 +05:30
bunnei
1fe68fa427
Merge pull request #376 from bunnei/shader-decoder
...
Shader opcode decoding
2018-04-21 00:04:51 -04:00
bunnei
83ea05b814
Merge pull request #375 from lioncash/header
...
opengl: Remove unnecessary header inclusions
2018-04-20 23:08:47 -04:00
bunnei
ff1700e261
gl_shader_decompiler: Skip RRO instruction.
2018-04-20 22:30:56 -04:00
bunnei
54fbbc6f26
gl_shader_decompiler: Cleanup error logging.
2018-04-20 22:30:56 -04:00
bunnei
f66098bd37
shader_bytecode: Add several more instruction decodings.
2018-04-20 22:30:56 -04:00
bunnei
d2302ee79f
shader_bytecode: Decode instructions based on bit strings.
2018-04-20 22:30:56 -04:00
bunnei
806b2133e4
Merge pull request #369 from Subv/shader_instr2
...
ShaderGen: Implemented fsetp/kil and predicated instruction execution.
2018-04-20 22:29:39 -04:00
bunnei
b29507b551
Merge pull request #374 from lioncash/noexcept
...
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
2018-04-20 22:28:47 -04:00
bunnei
b79cec4040
Merge pull request #373 from lioncash/enum2
...
gl_rasterizer_cache: Make MatchFlags an enum class
2018-04-20 22:28:09 -04:00
Subv
79e7bb8896
ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.
2018-04-20 21:09:34 -05:00
Subv
2fbb91a6b6
ShaderGen: Implemented predicated instruction execution.
...
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
2018-04-20 21:09:33 -05:00
Subv
31de416fc0
ShaderGen: Implemented the fsetp instruction.
...
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented.
2018-04-20 21:09:33 -05:00
Subv
4be07d1090
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
2018-04-20 21:04:35 -05:00
Subv
106d31e8c3
Qt: Update the WaitTree widget to show info about the current mutex of each thread.
2018-04-20 21:04:34 -05:00
Subv
f5a2b1920b
Kernel: Remove unused ConditionVariable class.
2018-04-20 21:04:33 -05:00
Subv
e499b48f97
Kernel: Remove old and unused Mutex code.
2018-04-20 21:04:32 -05:00
Subv
fcd7cbe65a
Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
...
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
2018-04-20 21:04:27 -05:00
Subv
4e47dd5b59
Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
...
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case.
Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock.
TODO:
* Fix svcWaitProcessWideKey
* Fix svcSignalProcessWideKey
* Remove the Mutex class.
2018-04-20 21:04:25 -05:00
bunnei
4a972207d6
Merge pull request #372 from lioncash/enum
...
resource_limit: Make ResourceTypes an enum class
2018-04-20 21:26:54 -04:00
Lioncash
c3ade6d56d
opengl: Remove unnecessary header inclusions
2018-04-20 20:19:37 -04:00
Lioncash
3768508edf
gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators
...
Standard library containers may use std::move_if_noexcept to perform
move operations. If a move cannot be performed under these
circumstances, then a copy is attempted. Given we only intend for these
types to be move-only this can be somewhat problematic. By defining
these to be noexcept we prevent cases where copies may be attempted.
2018-04-20 20:04:00 -04:00
Lioncash
f7eb0e8f1b
gl_rasterizer_cache: Make MatchFlags an enum class
...
Prevents implicit conversions and scope pollution.
2018-04-20 19:50:05 -04:00
Lioncash
4bd499d440
core: Relocate g_service_manager to the System class
...
Converts the service manager from a global into an instance-based
variable.
2018-04-20 19:44:32 -04:00
Lioncash
5860b9f4ce
resource_limit: Make ResourceTypes an enum class
...
Prevents enum identifiers from leaking into the surrounding scope.
2018-04-20 19:41:45 -04:00
bunnei
18e541f7e2
Merge pull request #340 from mailwl/vi-update
...
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
2018-04-20 16:23:15 -04:00
Subv
601c5d9d93
ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
2018-04-20 14:57:40 -05:00
Subv
8b8f55d8be
ShaderGen: Ignore the 'sched' instruction when generating shaders.
...
The 'sched' instruction has a very convoluted encoding, but fortunately it seems to only appear on a fixed interval (once every 4 instructions).
2018-04-20 14:57:40 -05:00
bunnei
c2adb07b55
Merge pull request #367 from lioncash/clamp
...
math_util: Remove the Clamp() function
2018-04-20 14:18:03 -04:00
bunnei
c5438e898e
Merge pull request #361 from lioncash/common
...
common_types: Minor changes
2018-04-20 10:27:17 -04:00
Lioncash
043546e4db
math_util: Remove the Clamp() function
...
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
2018-04-20 10:14:13 -04:00
bunnei
c3236a3a37
Merge pull request #360 from lioncash/namespaces
...
service: Use nested namespace specifiers where applicable
2018-04-20 09:44:40 -04:00
bunnei
7108f2c331
Merge pull request #364 from lioncash/thread-local
...
common/thread: Remove unnecessary feature checking for thread_local
2018-04-20 09:43:52 -04:00
bunnei
d7a69c96e4
Merge pull request #362 from lioncash/snprintf
...
common_funcs: Remove check for VS versions that we don't even support
2018-04-20 09:43:30 -04:00
bunnei
e325ef7f09
Merge pull request #363 from lioncash/array-size
...
common_funcs: Remove ARRAY_SIZE macro
2018-04-20 09:43:02 -04:00
bunnei
e0681a4da5
Merge pull request #366 from lioncash/vec
...
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
2018-04-20 09:42:41 -04:00
bunnei
684f6619e5
Merge pull request #365 from lioncash/codeblock
...
common: Remove code_block.h
2018-04-20 09:42:15 -04:00
Lioncash
bd4e50afb9
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
...
These are all unused and the Write() ones should arguably not even be in the interface. There are better ways to provide this if we ever need it (like iterators).
2018-04-19 22:58:24 -04:00
Lioncash
4e99ac0553
common: Remove code_block.h
...
We use dynarmic, so this is unued. Anything else we need will likely use Xbyak, so
this header isn't necessary any more.
2018-04-19 22:47:02 -04:00
Lioncash
9d21769d88
common/thread: Remove unnecessary feature checking for thread_local
...
Every compiler we require already supports it.
2018-04-19 22:41:18 -04:00
Lioncash
c9f5ae4fcc
common_funcs: Remove ARRAY_SIZE macro
...
C++17 has non-member size() which we can just call where necessary.
2018-04-19 22:36:52 -04:00
Lioncash
4b0e4421f4
common_funcs: Remove check for VS versions that we don't even support
...
We don't support any VS versions that don't already have snprintf in the
standard library implementation.
2018-04-19 22:28:56 -04:00
Lioncash
0f07311af3
common_types: Convert typedefs to using aliases
...
May as well while we're making changes to this file.
2018-04-19 22:26:35 -04:00
Lioncash
ad470a1478
common_types: Remove unnecessary check for whether or not__func__ is defined
...
VS has supported this for quite a while.
2018-04-19 22:25:19 -04:00
Lioncash
6d94dd21a5
service: Use nested namespace specifiers where applicable
...
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
bunnei
c15d6f84c0
Merge pull request #357 from lioncash/guard
...
renderer_opengl: Add missing header guards
2018-04-19 22:17:25 -04:00
bunnei
be3ab93feb
Merge pull request #358 from lioncash/explicit
...
disk_filesystem: Minor changes
2018-04-19 22:16:55 -04:00
Lioncash
59a504d933
vi: Remove redundant initializers in the constructors
2018-04-19 21:34:36 -04:00
Lioncash
5b8891df28
disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory
2018-04-19 21:28:56 -04:00
Lioncash
eb2bb5500e
disk_filesystem: Remove redundant initializer in Disk_Directory's constructor
2018-04-19 21:28:07 -04:00
Lioncash
19fe9a92ec
disk_filesystem: Make constructors explicit where applicable
2018-04-19 21:27:43 -04:00
Lioncash
8594945844
renderer_opengl: Add missing header guards
2018-04-19 21:13:59 -04:00
bunnei
fd50308f39
Merge pull request #356 from lioncash/shader
...
glsl_shader_decompiler: Minor API changes to ShaderWriter
2018-04-19 21:09:25 -04:00
bunnei
c0e412d97c
Merge pull request #355 from Subv/shader_instr
...
ShaderGen: Fixed TEXS overriding its own texcoords and implemented fmul32i
2018-04-19 21:09:02 -04:00
Lioncash
2259f5d56b
glsl_shader_decompiler: Use std::string_view instead of std::string for AddLine()
...
This function doesn't need to take ownership of the string data being
given to it, considering all we do is append the characters to the
internal string instance.
Instead, use a string view to simply reference the string data without
any potential heap allocation.
Now anything that is a raw const char* won't need to be converted to a
std::string before appending.
2018-04-19 20:12:58 -04:00
Lioncash
55fef54f2e
glsl_shader_decompiler: Add AddNewLine() function to ShaderWriter
...
Avoids constructing a std::string just to append a newline character
2018-04-19 20:09:27 -04:00
Lioncash
5a3da4f1a1
glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()
...
Avoids constructing a std::string just to append a character.
2018-04-19 20:04:09 -04:00
Lioncash
21fa39b4f6
glsl_shader_decompiler: Append indentation without constructing a separate std::string
...
The interface of std::string already lets us append N copies of a
character to an existing string.
2018-04-19 19:59:25 -04:00
Subv
4ca65f10b1
ShaderGen: Implemented the fmul32i shader instruction.
2018-04-19 13:46:32 -05:00
Subv
887db586be
ShaderGen: Fixed a case where the TEXS instruction would use the same registers for the input and the output.
...
It will now save the coords before writing the outputs in a subscope.
2018-04-19 13:33:17 -05:00
N00byKing
f2001a33cc
Implement Pull #3528 from citra: use nvidia graphics automatically on laptops with optimus (with AMD support) ( #271 )
...
* Port 3528: use nvidia graphics automatically on laptops with optimus
* Force dedicated AMD Card for switchable Graphics
* Ran clang-format
2018-04-19 12:22:26 -06:00
James Rowe
60024d54b0
Merge pull request #352 from bunnei/fix-microprofile
...
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-19 12:18:47 -06:00
Subv
37f782e1b7
GPU: Add support for the DXT23 and DXT45 compressed texture formats.
2018-04-18 20:48:53 -05:00
bunnei
b17664dfa9
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-18 20:28:50 -04:00
bunnei
0cdd457b01
Merge pull request #351 from Subv/tex_formats
...
GPU: Implemented the B5G6R5 format.
2018-04-18 20:20:51 -04:00
Subv
e9f62cb1bb
GPU: Implemented the B5G6R5 format.
2018-04-18 18:16:45 -05:00
bunnei
e8cc5900a6
gl_shader_gen: Support vertical/horizontal viewport flipping. ( #347 )
...
* gl_shader_gen: Support vertical/horizontal viewport flipping.
* fixup! gl_shader_gen: Support vertical/horizontal viewport flipping.
2018-04-18 16:42:40 -04:00
Subv
d98275cde1
GLCache: Added boilerplate code to make supporting configurable texture component types.
...
For now only the UNORM type is supported.
2018-04-18 14:17:28 -05:00
Subv
e6991c57e5
GLCache: Unify texture and framebuffer formats when converting to OpenGL.
2018-04-18 14:17:28 -05:00
Subv
d088a95097
GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8.
2018-04-18 14:17:27 -05:00
Subv
19a0e7e141
GPU: Pitch textures are now supported, don't assert when encountering them.
2018-04-18 12:52:53 -05:00
Subv
fecaeb8ae6
GLCache: Take into account the texture's block height when caching and unswizzling.
2018-04-18 12:52:53 -05:00
Subv
19e0d8ca24
GLCache: Added a function to convert cached PixelFormats back to texture formats.
...
TODO: The way we handle cached formats must change, framebuffer and texture formats are too different to keep them in the same place.
2018-04-18 12:52:52 -05:00
Subv
102251cb37
GPU: Allow using a configurable block height when unswizzling textures.
2018-04-18 12:52:51 -05:00
Subv
67c9964675
GPU/TIC: Added the pitch and block height fields to the TIC structure.
2018-04-18 11:38:39 -05:00
bunnei
b651578582
Merge pull request #346 from bunnei/misc-gpu-improvements
...
Misc gpu improvements
2018-04-17 22:17:07 -04:00
bunnei
0a119bf39b
Merge pull request #344 from bunnei/shader-decompiler-p2
...
Shader decompiler changes part 2
2018-04-17 22:10:53 -04:00
bunnei
ed447c8786
gl_rasterizer_cache: Add missing LOG statements.
2018-04-17 21:44:36 -04:00
bunnei
d4dcd3e720
texture: Add missing formats.
2018-04-17 21:41:36 -04:00
bunnei
848ade06d5
gpu: Add several framebuffer formats to RenderTargetFormat.
2018-04-17 21:40:38 -04:00
bunnei
de84b74dd4
maxwell3d: Allow Texture2DNoMipmap as Texture2D.
2018-04-17 21:39:15 -04:00
bunnei
797267eb58
shader_bytecode: Make ctor's constexpr and explicit.
2018-04-17 21:27:07 -04:00
bunnei
4d9c441bef
renderer_opengl: Implement BlendEquation and BlendFunc.
2018-04-17 18:11:48 -04:00
bunnei
33a0dddf78
bit_field: Remove is_pod check, add is_trivially_copyable_v.
2018-04-17 18:00:18 -04:00
bunnei
48ab22ff76
gl_shader_decompiler: Fix warnings with MarkAsUsed.
2018-04-17 16:36:44 -04:00
bunnei
7ad31d2667
gl_shader_decompiler: Cleanup logging, updating to NGLOG_*.
2018-04-17 16:36:44 -04:00
bunnei
29ab89054d
gl_shader_decompiler: Implement several MUFU subops and abs_d.
2018-04-17 16:36:43 -04:00
bunnei
93388e3c6b
gl_shader_decompiler: Fix swizzle in GetRegister.
2018-04-17 16:36:42 -04:00
bunnei
c1408040a6
gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.
2018-04-17 16:36:42 -04:00
bunnei
dbf1fb7e61
gl_shader_decompiler: Allow vertex position to be used in fragment shader.
2018-04-17 16:36:40 -04:00
bunnei
7fe43996de
gl_shader_decompiler: Implement IPA instruction.
2018-04-17 16:36:39 -04:00
bunnei
05305422e1
gl_shader_decompiler: Add support for TEXS instruction.
2018-04-17 16:36:38 -04:00
bunnei
69f5eadc2b
gl_shader_decompiler: Use fragment output color for GPR 0-3.
2018-04-17 15:25:54 -04:00
bunnei
fdca99c4fb
gl_shader_decompiler: Partially implement MUFU.
2018-04-17 15:25:54 -04:00
bunnei
0f02c41f18
Merge pull request #341 from shinyquagsire23/pfs-hfs-impl
...
file_sys: Add HFS/PFS helper component
2018-04-17 14:39:20 -04:00
mailwl
59077b7d07
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
...
both SetLayerVisibility() functions used in Lego games, GetDisplayResolution()
fixed according switchbrew.org
2018-04-17 19:42:14 +03:00
bunnei
09122ee37d
Merge pull request #343 from Subv/tex_wrap_4
...
GPU: Implement some wrap modes
2018-04-17 12:25:24 -04:00
shinyquagsire23
5634f49b60
file_sys: Use NGLOG
2018-04-17 09:55:29 -06:00
Hexagon12
4c462c91bd
Various service name fixes - part 2 (rebased) ( #322 )
...
* Updated ACC with more service names
* Updated SVC with more service names
* Updated set with more service names
* Updated sockets with more service names
* Updated SPL with more service names
* Updated time with more service names
* Updated vi with more service names
2018-04-17 11:37:43 -04:00
Subv
d388e8e8f9
MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT).
2018-04-17 10:17:18 -05:00
Subv
b5fdd197b2
MaxwellToGL: Added a TODO and partial implementation of maxwell wrap mode 4 (Clamp, GL_CLAMP).
...
This clamp mode was removed from OpenGL as of 3.1, we can emulate it by using GL_CLAMP_TO_BORDER to get the border color of the texture, and then manually sampling the edge to mix them in the fragment shader.
2018-04-17 10:16:50 -05:00
bunnei
ad8a27a7b3
gl_rendering: Use NGLOG* for changed code.
2018-04-16 21:23:28 -04:00
bunnei
65092bf8d8
gl_rasterizer: Implement indexed vertex mode.
2018-04-16 21:10:15 -04:00
shinyquagsire23
13ab489cb7
file_sys: tweaks
2018-04-16 06:51:59 -06:00
shinyquagsire23
bba0a351e7
file_sys: Add HFS/PFS helper component
2018-04-16 04:36:25 -06:00
bunnei
03ee087c5e
Merge pull request #338 from bunnei/unrequire-shared-font
...
pl_u: Use empty shared font if none is available.
2018-04-15 16:54:36 -04:00
bunnei
2ff824c992
Merge pull request #337 from Subv/used_buffers
...
GPU: Don't use explicit binding points when uploading the constbuffers to opengl
2018-04-15 16:30:57 -04:00
bunnei
f6ba44429e
pl_u: Use empty shared font if none is available.
...
- Makes games work in lieu of shared_font.bin.
2018-04-15 16:15:34 -04:00
Subv
ea9f5538c2
GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.
2018-04-15 15:02:50 -05:00
Subv
d8fdbefef6
GPU: Don't use explicit binding points when uploading the constbuffers to opengl.
...
The bindpoints will now be dynamically calculated based on the number of buffers used by the previous shader stage.
2018-04-15 14:14:57 -05:00
bunnei
3a6dc1e0e4
Merge pull request #335 from bunnei/delete-file
...
fsp_srv: Implement DeleteFile.
2018-04-15 15:13:02 -04:00
bunnei
dc852fda3b
fsp_srv: Implement DeleteFile.
...
- Used by Binding of Isaac.
2018-04-15 13:15:18 -04:00
Subv
1a31997264
GPU: Don't use GetPointer when uploading the constbuffer data to the GPU.
2018-04-15 11:18:09 -05:00
Subv
ffdc9e716d
GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage.
2018-04-15 11:15:54 -05:00
bunnei
595d37d69a
shaders: Expose hints about used const buffers.
2018-04-15 11:50:10 -04:00
Subv
03cbd8f20f
GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs.
...
We're going to need the shader generator to give us a mapping of the actual used const buffers to properly bind them to the shader.
2018-04-14 23:02:05 -05:00
Subv
ea730b69d1
GPU: Allow configuring ssbos in the opengl state manager.
2018-04-14 22:54:23 -05:00
Subv
e14e38fe0e
GPU: Added a function to determine whether a shader stage is enabled or not.
2018-04-14 22:54:23 -05:00
bunnei
1a1008a642
Merge pull request #332 from bunnei/fix-total-mem-usage
...
vm_manager: Increase GetTotalMemoryUsage value.
2018-04-14 22:29:19 -04:00
bunnei
3260473ce8
vm_manager: Increase GetTotalMemoryUsage value.
...
- Gets Binding of Isaac running.
2018-04-14 22:04:10 -04:00
bunnei
f23d61a709
Merge pull request #327 from adityaruplaha/fullscreen-fix
...
Fix the stuck in fullscreen bug
2018-04-14 21:24:36 -04:00
bunnei
a2dcd3cbbc
Merge pull request #331 from bunnei/fsp-flush
...
fsp_srv: Implement IFile::Flush.
2018-04-14 21:21:34 -04:00
bunnei
28c0641382
fsp_srv: Implement IFile::Flush.
2018-04-14 19:46:09 -04:00
bunnei
538322ec1f
shaders: Add NumTextureSamplers const, remove unused #pragma.
2018-04-14 18:50:06 -04:00
bunnei
f48c229f0e
shaders: Address PR review feedback.
2018-04-14 16:01:41 -04:00
bunnei
2fcae0000f
gl_shader_decompiler: Cleanup log statements.
2018-04-14 16:01:41 -04:00
bunnei
47bf0b0094
shaders: Fix GCC and clang build issues.
2018-04-14 16:01:40 -04:00
bunnei
d166a50ded
gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.
2018-04-14 16:01:40 -04:00
bunnei
a859a70da1
shader_bytecode: Add FSETP and KIL to GetInfo.
2018-04-14 16:01:40 -04:00
bunnei
6fe96737a1
shader_bytecode: Add SubOp decoding.
2018-04-14 16:01:40 -04:00
bunnei
a5728bdd10
gl_shader_decompiler: Add shader stage hint.
2018-04-14 16:01:39 -04:00
bunnei
e3628ec6fd
renderer_opengl: Fix Morton copy byteswap, etc.
2018-04-14 16:01:39 -04:00
adityaruplaha
4716115c3d
Fix the stuck in fullscreen bug (Original PR: citra-emu/citra#3611 )
2018-04-14 16:41:56 +05:30
bunnei
1962aac7a0
gl_shader_manager: Implement SetShaderSamplerBindings.
2018-04-13 23:48:30 -04:00
bunnei
1a3dbd49ef
gl_rasterizer: Generate shaders and upload uniforms.
2018-04-13 23:48:29 -04:00
bunnei
8df3222eb3
gl_shader_decompiler: Basic impl. for very simple vertex shaders.
...
- Tested with Puyo Puyo Tetris and Cave Story+
2018-04-13 23:48:28 -04:00
bunnei
f11b2888c9
gl_shader_manager: Cleanup and consolidate uniform handling.
2018-04-13 23:48:28 -04:00
bunnei
7e7f053ea7
maxwell_3d: Make memory_manager public.
2018-04-13 23:48:27 -04:00
bunnei
4e961244a8
maxwell_3d: Fix shader_config decodings.
2018-04-13 23:48:26 -04:00
bunnei
2452d127dc
gl_rasterizer: Use shader program manager, remove test shader.
2018-04-13 23:48:26 -04:00
bunnei
f9c4e515d8
renderer_opengl: Add gl_shader_manager class.
2018-04-13 23:48:25 -04:00
bunnei
9e32fa6bb2
maxwell_to_gl: Add a few types, etc.
2018-04-13 23:48:24 -04:00
bunnei
7cebff07e4
gl_shader_gen: Add hashable setup/config structs.
2018-04-13 23:48:23 -04:00
bunnei
1aa7a9ae50
gl_shader_util: Add missing includes.
2018-04-13 23:48:23 -04:00
bunnei
c30c48e052
common: Port cityhash code from Citra.
2018-04-13 23:48:22 -04:00
bunnei
f1915d909e
renderer_opengl: Use OGLProgram instead of OGLShader.
2018-04-13 23:48:21 -04:00
bunnei
56ee41ebe8
gl_shader_util: Grab latest upstream.
2018-04-13 23:48:21 -04:00
bunnei
83007952ea
gl_resource_manager: Grab latest upstream.
2018-04-13 23:48:20 -04:00
bunnei
f0f3990064
gl_shader_decompiler: Add skeleton code from Citra for shader analysis.
2018-04-13 23:48:20 -04:00
bunnei
0b49a74e19
shader_bytecode: Add initial module for shader decoding.
2018-04-13 23:48:19 -04:00
bunnei
7112683376
bit_field: Make all methods constexpr.
2018-04-13 23:48:18 -04:00
bunnei
e42bbdddff
Merge pull request #323 from Hexagon12/stub-hid
...
Service/HID: Stubbed out GetPlayerLedPattern
2018-04-13 10:58:03 -04:00
Hexagon12
433ccdebe5
Fixed normal params in GetDisplayResolution
2018-04-13 17:47:01 +03:00
Hexagon12
e6bb2d65f8
Stubbed out GetPlayerLedPattern
2018-04-13 17:05:03 +03:00
bunnei
219e3f4c45
Merge pull request #319 from Hexagon12/service-name-fix
...
Various service name fixes - part 1
2018-04-13 00:25:32 -04:00
mailwl
b439691768
Service/SSL: update service according switchbrew
2018-04-11 19:17:18 +03:00
Hexagon12
8293ccc5ed
Various fixes and clang
2018-04-11 14:48:56 +03:00
Hexagon12
6d6064d42e
Decimal change
2018-04-10 21:21:00 +03:00
Hexagon12
f171ec8b29
Updated pctl:a with new service names.
2018-04-10 21:03:23 +03:00
Hexagon12
0bd95ef3be
Updated nvmemp with new service names.
2018-04-10 20:28:15 +03:00
Hexagon12
2df3594b31
Updated nvdrv with more service names.
2018-04-10 20:26:49 +03:00
Hexagon12
837b8b5b80
Updated pl:u with more service names.
2018-04-10 20:23:21 +03:00
Hexagon12
e05e3c8a08
Updated hid with more service names.
2018-04-10 20:17:22 +03:00
Hexagon12
93b83a11b6
Updated friend:u with more service names.
2018-04-10 20:02:11 +03:00
Hexagon12
83479a3d19
Updated the unknown name
2018-04-10 20:01:33 +03:00
Hexagon12
251c576455
Updated friend:a with more service names.
2018-04-10 20:00:36 +03:00
Hexagon12
f8e0ce2cd0
Updated fsp-srv with more service names.
2018-04-10 19:30:27 +03:00
Hexagon12
82be79db10
Updated CodecCtl with more service names.
2018-04-10 18:58:14 +03:00
Hexagon12
a9239dbed8
Updated audren with more service names.
2018-04-10 18:56:57 +03:00
Hexagon12
95d5bf3aa1
Updated audrec with more service names.
2018-04-10 18:53:33 +03:00
Hexagon12
eff525cab3
Updated audout with more service names.
2018-04-10 18:51:50 +03:00
Hexagon12
ba73f4e0a4
Updated audin with more service names.
2018-04-10 18:47:52 +03:00
Hexagon12
3eab3da04c
Updated AOC with more service names.
2018-04-10 18:42:28 +03:00
Hexagon12
22ef1d1cc5
Updated AppletOE with more service names.
2018-04-10 18:41:17 +03:00
Hexagon12
4a594aff08
Updated AppletAE with more service names.
2018-04-10 18:39:46 +03:00
Hexagon12
c823bbde93
Updated AM with more service names.
2018-04-10 18:36:00 +03:00
mailwl
a6a6ffed7a
Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 services
2018-04-10 10:18:52 +03:00
bunnei
6101a3c9d7
Merge pull request #314 from jroweboy/tegra-progress-3b
...
GPU: Bind uploaded textures when drawing (Rebased)
2018-04-07 18:46:16 -04:00
bunnei
e918570c6d
Merge pull request #315 from jroweboy/spelling-fix
...
Fix spelling of Initialize
2018-04-07 16:49:09 -04:00
James Rowe
92254855e7
Prevent crash from uninitialized telemetry
2018-04-07 07:25:14 -06:00
James Rowe
f6ae0f432b
Fix spelling of Initialize
2018-04-07 07:23:21 -06:00
James Rowe
d8502eb24a
Fix clang format issues
2018-04-06 22:00:48 -06:00
Subv
cb3ca1d4cf
GPU: Assert when finding a texture with a format type other than UNORM.
2018-04-06 20:44:46 -06:00
Subv
c63f7aa93b
GL: Set up the textures used for each draw call.
...
Each Maxwell shader stage can have an arbitrary number of textures, but we're limited to a certain number in OpenGL. We try to only use the minimum amount of host textures by not keeping a 1:1 relation between guest texture ids and host texture ids, ie, guest texture id 8 can be host texture id 0 if it's the only texture used in the guest shader program.
This mapping will have to be passed to the shader decompiler so it can rewrite the texture accesses.
2018-04-06 20:44:46 -06:00
Subv
4f1665d365
GL: Bind the textures to the shaders used for drawing.
2018-04-06 20:44:46 -06:00
Subv
8bc63e89e4
GLCache: Specialize the MortonCopy function for the DXT1 texture format.
...
It will now use the UnswizzleTexture function instead of the MortonCopyPixels128, which doesn't seem to work for textures.
2018-04-06 20:44:46 -06:00
Subv
1e6faaf2b3
GLCache: Implemented GetTextureSurface.
2018-04-06 20:44:45 -06:00
Subv
2a5e90745c
GLCache: Support uploading compressed textures to the GPU.
...
Compressed texture formats like DXT1, DXT2, DXT3, etc will use this to ease the load on the CPU.
2018-04-06 20:44:45 -06:00
Subv
34b212c6a8
GL: Remove remaining references to 3DS-specific pixel formats
2018-04-06 20:44:42 -06:00
Subv
6400a3bb35
RasterizerCache: Remove 3DS-specific pixel formats.
...
We're only left with RGB8 and DXT1 for now. More will be added as they are needed.
2018-04-06 20:40:24 -06:00
Subv
ab6d7991f8
GL: Create the sampler objects when starting up the GL rasterizer.
2018-04-06 20:40:24 -06:00
Subv
232ffe85ad
GL: Ported the SamplerInfo struct from citra.
2018-04-06 20:40:24 -06:00
Subv
dc26ad9aec
GL: Rename PicaTexture to MaxwellTexture.
2018-04-06 20:40:24 -06:00
Subv
3c9cbbca68
GL: Added functions to convert Maxwell tex filters and wrap modes to OpenGL.
2018-04-06 20:40:23 -06:00
Subv
d9e067fad6
Textures: Added a helper function to know if a texture is blocklinear or pitch.
2018-04-06 20:40:23 -06:00
bunnei
990ca9b20d
Merge pull request #310 from N00byKing/patch-1
...
Update multiple comments from citra to yuzu
2018-04-06 11:07:28 -04:00
N00byKing
6d5b25c136
core, main.h: Abort on 32Bit ROMs ( #309 )
...
* core, main.h: Abort on 32Bit ROMs
* main.cpp: Fix Grammar
2018-04-06 11:06:32 -04:00
James Rowe
b957a3647a
Update fmtlib to fix msvc warnings
...
Additionally, when updating fmtlib, there was a change in fmtlib broke
how the old logging macro was overloaded, so this works around that by
just naming the fmtlib macro impl something different
2018-04-05 22:42:09 -06:00
N00byKing
63b5de9c40
rasterizer_interface.h: Update from citra to yuzu
2018-04-04 23:07:58 +02:00
N00byKing
6263f437d7
default_ini.h: Update from citra to yuzu
2018-04-04 23:05:51 +02:00
N00byKing
b84397745f
gl_rasterizer_cache.cpp: Update from citra to yuzu
2018-04-04 23:05:10 +02:00
N00byKing
3ca8768d3a
gl_rasterizer_cache.h: Update from citra to yuzu
2018-04-04 23:04:24 +02:00
N00byKing
2a2af539f3
renderer_opengl.h: Update from citra to yuzu
2018-04-04 23:03:02 +02:00
bunnei
e71cfbce72
svc: Stub out SetThreadActivity, GetThreadContext.
2018-04-02 23:51:01 -04:00
bunnei
372b8dae46
audren_u: Stub out GetActiveAudioDeviceName.
2018-04-02 23:51:00 -04:00
bunnei
683de06263
audout_u: Implement GetAudioOutState.
2018-04-02 23:51:00 -04:00
bunnei
659fd3e9f8
nifm: GetResult does not return a data field.
2018-04-02 23:50:59 -04:00
bunnei
c800619c1e
vi: Implement GetDisplayResolution.
2018-04-02 23:50:59 -04:00
bunnei
1eeef530e5
shared_memory: Remove incorrect 3ds-specific check.
2018-04-02 23:50:58 -04:00
bunnei
3f82cee183
service: Add friend:u interface.
2018-04-02 23:50:57 -04:00
Daniel Lim Wee Soong
145a4c3c2a
logging: Change FmtLogMessage to use variadic template instead of FMT_VARIADIC
...
Due to premature merging of #262 I think the build may be failing right now. Should merge this ASAP to fix it.
2018-04-03 10:31:54 +08:00
bunnei
e39ea2fa8e
Merge pull request #262 from daniellimws/fmtlib-macros
...
Logging: Add fmtlib-based macros
2018-04-02 21:19:20 -04:00
bunnei
2b51f19079
Merge pull request #267 from N00byKing/patch-1
...
Update Dialog from citra to yuzu
2018-04-02 18:33:52 -04:00
bunnei
8eea0f0805
Merge pull request #276 from N00byKing/acctoyuzu
...
Change Telemetry Names to yuzu and remove links to citra
2018-04-02 18:30:04 -04:00
bunnei
0ce3d76591
Merge pull request #304 from daniellimws/fix-openbsd
...
Fix build on OpenBSD
2018-04-02 18:27:19 -04:00
N00byKing
ba7cd88412
deconstructed_rom_directory.cpp: Fix Typo
2018-04-03 00:20:35 +02:00
Daniel Lim Wee Soong
930a045d42
externals: Update fmt to 4d35f94
...
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.
The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.
The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
2018-04-03 02:49:58 +08:00
Daniel Lim Wee Soong
96cb786cd1
common: fix swap functions on Bitrig and OpenBSD
...
swap{16,32,64} are defined as macros on the two, but client code
tries to invoke them as Common::swap{16,32,64}, which naturally
doesn't work. This hack redefines the macros as inline functions
in the Common namespace: the bodies of the functions are the
same as the original macros, but relying on OS-specific
implementation details like this is of course brittle.
2018-04-03 02:25:11 +08:00
bunnei
bc629f2f9b
Merge pull request #297 from bunnei/hid-touch-state
...
hid: Write empty touch screen state.
2018-04-02 13:05:34 -04:00
bunnei
e5491924f7
Merge pull request #296 from bunnei/misc-mem-fsp-fixes
...
Fix stack region, implement FSP GetSize/SetSize, and some stubs
2018-04-02 13:05:25 -04:00
bunnei
98bd0df9a3
Merge pull request #288 from Subv/macro_interpreter
...
GPU: Implemented a gpu macro interpreter
2018-04-02 10:04:19 -04:00
Subv
84c9824895
GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them.
2018-04-01 12:07:26 -05:00
Subv
7fe4f9491e
GPU: Implemented a gpu macro interpreter.
...
The Ryujinx macro interpreter and envydis were used as reference.
Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer.
2018-04-01 12:07:26 -05:00
bunnei
c7a4327471
hid: Write empty touch screen state.
2018-04-01 00:12:07 -04:00
bunnei
52c5bc4642
hle_ipc, fsp_srv: Cleanup logging.
2018-03-31 23:30:00 -04:00
bunnei
699d84abda
hid: Stub out GetSupportedNpadStyleSet.
2018-03-31 16:06:46 -04:00
bunnei
6d21b8cdea
hle_ipc: Do not ensure write buffer size.
2018-03-31 16:06:46 -04:00
bunnei
db8fc2ea57
fsp_srv: Implement GetSize and SetSize.
2018-03-31 16:06:45 -04:00
bunnei
36cdd5a39c
memory: Fix stack region.
2018-03-31 16:06:45 -04:00
bunnei
7d4a23db4e
Merge pull request #293 from N00byKing/drkthm
...
Add Dark Theme (And Theming in General + Icon Theming)
2018-03-31 00:46:18 -04:00
N00byKing
6386f0910c
Port citra-emu/citra#3610 to yuzu
2018-03-30 17:38:34 +02:00
N00byKing
7555b881e8
Remove whitespaces
2018-03-30 14:18:35 +02:00
N00byKing
675b525fb8
Add Dark theme, Icon theming
...
configure_general.ui: Add UI Option for Themes
config.cpp: Save Theme Settings
2018-03-30 14:14:37 +02:00
bunnei
038c8d284b
audren_u: Stub QueryAudioDeviceSystemEvent and GetActiveChannelCount.
2018-03-29 21:23:24 -04:00
bunnei
86f0e841d8
svc: Stub GetThreadCoreMask.
2018-03-29 21:23:15 -04:00
bunnei
f5c2d62b3a
service: Add NFP module interface.
...
service: Initialize NFP service.
Log: Add NFP service as a log subtype.
2018-03-29 21:22:44 -04:00
Lioncash
e6375771e2
result: Check against self-assignment in ResultVal's copy assignment operator
...
Avoids doing work that doesn't need to be done.
2018-03-28 18:02:44 -04:00
bunnei
9d3baff255
Merge pull request #286 from N00byKing/citratoyuzuagain
...
main.h: Add pragma once, remove ifndef
2018-03-27 19:57:58 -04:00
N00byKing
a037c8914a
main.h: Add pragma once, remove ifndef
2018-03-27 16:32:41 +02:00
bunnei
fcb09e7bb3
Merge pull request #284 from bunnei/docked-config
...
Add config for "Docked" mode and various settings cleanup
2018-03-27 10:22:08 -04:00
N00byKing
dfa21f372b
telemetry.h: Reword comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
a14420e351
telemetry_session.h: Reword Documentation Comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
a97c186684
Remove Links to citra Services
2018-03-27 11:16:59 +02:00
N00byKing
b411bdb76e
Change Telemetry Names to yuzu
2018-03-27 11:16:59 +02:00
bunnei
81d12e3466
Merge pull request #282 from N00byKing/patch-2
...
Change comments from citra to yuzu
2018-03-26 23:37:05 -04:00
bunnei
8c991d792e
settings: Remove unused CpuCore class.
2018-03-26 23:14:44 -04:00
bunnei
32181284be
config: Use simplified checkbox (from Citra) for CPU JIT.
2018-03-26 23:02:37 -04:00
bunnei
af6e1f8554
config: Rename is_docked to use_docked_mode to be consistent with other config bools.
2018-03-26 23:02:36 -04:00
bunnei
b4fb85ff0f
configure_general: Cleanup naming.
2018-03-26 23:02:36 -04:00
bunnei
534cee3d8b
qt: Add config option for is_docked.
2018-03-26 23:02:35 -04:00
bunnei
679d29d9f8
config: Add setting for whether the system is docked or not.
2018-03-26 23:02:35 -04:00
bunnei
6333552a5d
renderer_opengl: Use better naming for DrawScreens and DrawSingleScreen.
2018-03-26 21:17:07 -04:00
bunnei
9415aeb48f
graphics_surface: Remove superfluous cast.
2018-03-26 21:17:05 -04:00
bunnei
12a6c7b11b
gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function.
2018-03-26 21:17:05 -04:00
bunnei
b9eae6e652
gl_rasterizer: Add a SyncViewport method.
2018-03-26 21:17:04 -04:00
bunnei
2666b52264
gl_rasterizer: Move PrimitiveTopology check to MaxwellToGL.
2018-03-26 21:17:03 -04:00
bunnei
74c4739713
graphics_surface: Fix merge conflicts.
2018-03-26 21:17:03 -04:00
bunnei
7c376760c0
gl_rasterizer: Use ReadBlock instead of GetPointer for SetupVertexArray.
2018-03-26 21:17:02 -04:00
bunnei
95d56cac29
gl_rasterizer: Normalize vertex array data as appropriate.
2018-03-26 21:17:02 -04:00
bunnei
ad1af61685
memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock.
2018-03-26 21:17:01 -04:00
bunnei
0e59fbd73f
maxwel_to_gl: Fix string formatting in log statements.
2018-03-26 21:17:01 -04:00
bunnei
b601155fb0
rasterizer: Rename DrawTriangles to DrawArrays.
2018-03-26 21:17:00 -04:00
bunnei
ec13680b3e
gl_rasterizer: Use passthrough shader for SetupVertexShader.
2018-03-26 21:17:00 -04:00
bunnei
71a932291f
renderer_opengl: Logging, etc. cleanup.
2018-03-26 21:16:59 -04:00
bunnei
be645eece3
renderer_opengl: Remove framebuffer RasterizerFlushVirtualRegion hack.
2018-03-26 21:16:58 -04:00
bunnei
36a3a82135
gl_rasterizer_cache: Implement UpdatePagesCachedCount.
2018-03-26 21:16:58 -04:00
bunnei
49b3b519fc
memory: Add RasterizerMarkRegionCached code and cleanup.
2018-03-26 21:16:57 -04:00
bunnei
4c36e92bf4
gl_rasterizer: Implement SetupVertexArray.
2018-03-26 21:16:56 -04:00
bunnei
4c0ed161a8
gl_rasterizer_cache: Fix an ASSERT_MSG.
2018-03-26 21:16:56 -04:00
bunnei
9e146ba2db
maxwell_to_gl: Add module and function for decoding VertexType.
2018-03-26 21:16:55 -04:00
bunnei
ded4139447
maxwell_3d: Use names that match envytools for VertexType.
2018-03-26 21:16:55 -04:00
bunnei
d37f03d0fe
maxwell_3d: Add VertexAttribute struct and cleanup.
2018-03-26 21:16:54 -04:00
bunnei
5f3f68e064
gl_rasterizer: Use 32 texture units instead of 3.
2018-03-26 21:16:53 -04:00
bunnei
b1a3858e30
gl_rasterizer: Implement DrawTriangles.
2018-03-26 21:16:53 -04:00
bunnei
e04a5dec60
Maxwell3D: Call AccelerateDrawBatch on DrawArrays.
2018-03-26 21:16:52 -04:00
bunnei
5ae2fe6c69
gl_rasterizer: Implement AnalyzeVertexArray.
2018-03-26 21:16:52 -04:00
bunnei
e285a5d6da
gl_rasterizer_cache: MortonCopy Switch-style.
2018-03-26 21:16:51 -04:00
bunnei
25e901ec1e
gl_rasterizer_cache: Implement GetFramebufferSurfaces.
2018-03-26 21:16:51 -04:00
bunnei
bf282aa01f
maxwell: Add RenderTargetFormat enum.
2018-03-26 21:16:49 -04:00
bunnei
33b4c486f3
renderer_opengl: Only draw the screen if a framebuffer is specified.
2018-03-26 21:16:49 -04:00
Subv
3707231f5d
GPU: Load the sampler info (TSC) when retrieving active textures.
2018-03-26 15:46:49 -05:00
Subv
c8425b1af4
GPU: Added the TSC structure. It contains information about the sampler.
2018-03-26 15:45:05 -05:00
Subv
0255cad30c
GPU: Added more fields to the TIC structure.
2018-03-26 15:44:20 -05:00
N00byKing
e57ba11168
log.h: Change comment from citra to yuzu
2018-03-26 21:52:59 +02:00
N00byKing
770ee77982
file_util.h: Update Comment from citra to yuzu
2018-03-26 21:51:04 +02:00
N00byKing
33c1780755
yuzu.cpp: Update Link from citra to yuzu
2018-03-26 21:48:18 +02:00
N00byKing
6b5f41b812
cpu_detect.cpp: Change comment from citra to yuzu
2018-03-26 21:43:39 +02:00
bunnei
db7005ca05
Merge pull request #280 from bunnei/misc-service-fixes
...
Minor changes to VI, PL, HID, and AUDREN
2018-03-25 17:07:06 -04:00
bunnei
feff74c433
Merge pull request #273 from Subv/textures
...
GPU: Added code to unswizzle textures and ported the surface viewer from citra
2018-03-25 16:28:24 -04:00
N00byKing
05d777b122
main.cpp: Replace Citra with yuzu Wiki Links
2018-03-25 11:44:04 +02:00
N00byKing
357e97cc2c
main.cpp: Update Dialog from citra to yuzu
2018-03-25 11:42:46 +02:00
mailwl
cfbce8c977
Service/sockets: add bsd:s, nsd:a, nsd:u services
2018-03-25 12:41:00 +03:00
bunnei
09f5837d6b
audren_u: Fix GetAudioDevice.
2018-03-25 03:24:20 -04:00
bunnei
dd7c34a978
hid: Stub out SetNpadJoyAssignmentModeDual.
2018-03-25 03:24:05 -04:00
bunnei
a4435604c9
pl_u: Add RequestLoad.
2018-03-25 03:23:52 -04:00
Subv
18a9536efa
GPU: Make the debug_context variable a member of the frontend instead of a global.
2018-03-24 23:35:06 -05:00
Subv
f73fb9de9d
GPU: Added a function to retrieve the active textures for a shader stage.
...
TODO: A shader may not use all of these textures at the same time, shader analysis should be performed to determine which textures are actually sampled.
2018-03-24 11:31:53 -05:00
Subv
0892143af9
Frontend: Updated the surface view debug widget to work with Maxwell surfaces.
2018-03-24 11:31:53 -05:00
Subv
b143430809
Frontend: Allow opening the Surface View widget in the Qt frontend.
2018-03-24 11:31:50 -05:00
Subv
b9b5b1e740
GPU: Implement the Incoming/FinishedPrimitiveBatch debug breakpoints.
2018-03-24 11:31:50 -05:00
Subv
10b10a14af
GPU: Implement the MaxwellCommandLoaded/Processed debug breakpoints.
2018-03-24 11:31:50 -05:00
Subv
19bf501723
Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.
2018-03-24 11:31:49 -05:00
Subv
bc03dc4793
GPU: Added a method to unswizzle a texture without decoding it.
...
Allow unswizzling of DXT1 textures.
2018-03-24 11:30:56 -05:00
Subv
d09097276f
GPU: Preliminary work for texture decoding.
2018-03-24 11:30:56 -05:00
MerryMage
f8426bcf94
arm_dynarmic: Fix timing
2018-03-24 09:02:19 +00:00
Subv
6234ec112b
GPU: Added viewport registers to Maxwell3D's reg structure.
2018-03-24 01:22:19 -05:00
bunnei
79b3adba8e
Merge pull request #265 from bunnei/tegra-progress-2
...
Tegra progress 2
2018-03-23 23:30:48 -04:00
bunnei
2920684a44
gl_rasterizer: Fake render in green, because it's cooler.
2018-03-23 22:27:53 -04:00
bunnei
454759e2a5
gl_rasterizer: Log warning instead of sync'ing unimplemented funcs.
2018-03-23 22:24:16 -04:00
bunnei
0a28179632
Merge pull request #255 from Subv/sd_card
...
FS: Implemented access to the SD card
2018-03-23 20:48:26 -04:00
bunnei
490014c459
gl_rasterizer_cache: Add missing include for vm_manager.
2018-03-23 16:54:20 -04:00
bunnei
bea2582807
renderer_opengl: Only invalidate the framebuffer region, not flush.
2018-03-23 15:52:14 -04:00
bunnei
9b2bfb9e9d
renderer_opengl: Fixes for properly flushing & rendering the framebuffer.
2018-03-23 15:49:04 -04:00
bunnei
c13802819b
memory: Fix typo in RasterizerFlushVirtualRegion.
2018-03-23 15:46:21 -04:00
bunnei
c30e02cd0c
Merge pull request #268 from mailwl/ssl
...
Service/SSL: add ssl service
2018-03-23 15:30:17 -04:00
bunnei
454e413491
Merge pull request #270 from N00byKing/patch-2
...
Remove Option for N/3DS from default.ini
2018-03-23 15:29:35 -04:00
Subv
6610bee69e
FS: Move the file open mode calculation to a separate function.
2018-03-23 14:27:07 -05:00