Age | Commit message (Collapse) | Author |
|
MapPhysicalMemory/UnmapPhysicalMemory
Narrows the scope of variables down to where they're only necessary.
|
|
If an unmapping operation fails, we shouldn't be decrementing the amount
of memory mapped and returning that the operation was successful. We
should actually be returning the error code in this case.
|
|
MergeAdjacentVMA
Avoids potentially expensive (depending on the size of the memory block)
allocations by reserving the necessary memory before performing both
insertions. This avoids scenarios where the second insert may cause a
reallocation to occur.
|
|
Avoids an unnecessary atomic reference count increment and decrement.
|
|
Avoids needing to read the same long sequence of code in both code
paths. Also makes it slightly nicer to read and debug, as the locals
will be able to be shown in the debugger.
|
|
Same behavior, one less magic constant to read.
|
|
Assertions already log out the function name, so there's no need to
manually include the function name in the assertion strings.
|
|
gl_buffer_cache: Add missing include
|
|
RasterizerInterface was considered an incomplete object by clang.
|
|
gl_texture_cache: Miscellaneous texture buffer fixes
|
|
This reverts commit ca4ca8a6dc41207de99f67de1931579ceb4d9660.
|
|
|
|
Implement a New LLE Buffer Cache
|
|
shader/decode: Implement S2R Tic
|
|
shader_ir: Implement VOTE on Nvidia drivers
|
|
Implement VOTE using Nvidia's intrinsics. Documentation about these can
be found here
https://developer.nvidia.com/reading-between-threads-shader-intrinsics
Instead of using portable ARB instructions I opted to use Nvidia
intrinsics because these are the closest we have to how Tegra X1
hardware renders.
To stub VOTE on non-Nvidia drivers (including nouveau) this commit
simulates a GPU with a warp size of one, returning what is meaningful
for the instruction being emulated:
* anyThreadNV(value) -> value
* allThreadsNV(value) -> value
* allThreadsEqualNV(value) -> true
ballotARB, also known as "uint64_t(activeThreadsNV())", emits
VOTE.ANY Rd, PT, PT;
on nouveau's compiler. This doesn't match exactly to Nvidia's code
VOTE.ALL Rd, PT, PT;
Which is emulated with activeThreadsNV() by this commit. In theory this
shouldn't really matter since .ANY, .ALL and .EQ affect the predicates
(set to PT on those cases) and not the registers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VM_Manager: Align allocated host physical memory to 256bytes
|
|
GPU: Flush commands on every dma pusher step.
|
|
half_set_predicate: Fix HSETP2_C constant buffer offset
|
|
Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.
|
|
yuzu-tester/yuzu: Remove unused variable
|
|
service/audren_u: Unstub ListAudioDeviceName
|
|
shader_ir: Implement NOP
|
|
decode/half_set_predicate: Fix predicates
|
|
Fixup! #2772 missed this one file
|
|
|
|
Port citra-emu/citra#4849: "Qt: Fixed behaviour of buttons by connecting functors to correct signals"
|
|
yuzu/CMakeLists: Remove qt5_wrap_ui macro usage
|
|
We can simply enable CMAKE_AUTOUIC and let CMake take care of handling
the UI code generation for targets.
As part of letting CMake automatically handle the header file parsing,
we must not name includes with "ui_*" unless they're related to the
output of the Qt UIC compiler. Because of this, we need to rename
ui_settings, given it would conflict with this restriction.
|
|
|
|
|
|
Following screens got fixes:
- Configure/Debug
- Configure/Input
|
|
ci: Fix Azure PR Builds
|
|
|
|
|
|
|
|
|
|
Prevents an invalid formatting exception from being thrown.
|
|
Gets rid of a compilation warning.
|
|
|
|
This commit ensures that the host gpu is constantly fed with commands to
work with, while the guest gpu keeps producing the rest of the commands.
This reduces syncing time between host and guest gpu.
|
|
Implement GPU Synchronization Mechanisms & Correct NVFlinger
|
|
|