Fernando Sahmkow
b1b01a33bd
Common: Implement a basic SpinLock class
2020-06-18 16:29:13 -04:00
bunnei
44e195eaa1
Merge pull request #4108 from ReinUsesLisp/a32-implicit-cast
...
arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0
2020-06-18 16:07:15 -04:00
ReinUsesLisp
a0cbf4f4e8
arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0
...
On MSVC builds we treat conversion warnings as errors.
2020-06-18 16:52:15 -03:00
Rodrigo Locatti
846a6cd005
Merge pull request #4092 from Morph1984/image-bindings
...
gl_device: Reserve 4 image bindings for fragment stage
2020-06-18 04:59:48 -03:00
Fernando Sahmkow
f11e32c70e
Merge pull request #4100 from MerryMage/no-a32-interp
...
arm_dynarmic: CP15 changes
2020-06-17 22:44:52 -04:00
MerryMage
8055a71e00
arm_dynarmic_cp15: Implement CNTPCT
2020-06-17 17:10:24 +01:00
MerryMage
0ac9600204
arm_dynarmic_cp15: Update CP15
2020-06-17 17:10:24 +01:00
MerryMage
fc1c12b2c9
arm_dynarmic_32: InterpreterFallback should never happen
2020-06-17 17:10:24 +01:00
bunnei
ad5d93f79b
Merge pull request #4086 from MerryMage/abi
...
xbyak_abi: Cleanup
2020-06-17 11:20:52 -04:00
bunnei
0a2ef33c8a
Merge pull request #4089 from MerryMage/macrojit-cleanup-1
...
macro_jit_x64: Cleanup
2020-06-16 23:44:48 -04:00
bunnei
4510db3fb1
Merge pull request #3976 from Neodyblue/qdarkstyle_fix_prop
...
qt_themes: remove unknown qss property from dark theme
2020-06-16 22:27:27 -04:00
bunnei
4bca92c41e
externals: Revert to libressl, as build is broken with find_package(OpenSSL). ( #4093 )
...
* externals: Revert to libressl, as build is broken with find_package(OpenSLL).
* fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL).
* fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL).
2020-06-16 21:46:19 -04:00
bunnei
7c767d7dbf
Merge pull request #4041 from ReinUsesLisp/arb-decomp
...
gl_arb_decompiler: Implement an assembly shader decompiler
2020-06-16 14:56:23 -04:00
bunnei
4f35f3b78f
Merge pull request #3966 from Morph1984/hide-internal-resolution-ui
...
yuzu/frontend: Remove internal resolution option
2020-06-16 14:12:17 -04:00
Morph
0c9a78da75
gl_device: Reserve at least 4 image bindings for fragment stage
...
Due to the limitation of GL_MAX_IMAGE_UNITS being low (8) on Intel's and Nvidia's proprietary drivers, we have to reserve an appropriate amount of image bindings for each of the stages. So far games have been observed to use 4 image bindings on the fragment stage (Kirby Star Allies) and 1 on the vertex stage (TWD series).
No games thus far in my limited testing used more than 4 images concurrently and across all currently active programs.
This fixes shader compilation errors on Kirby Star Allies on OpenGL (GLSL/GLASM)
2020-06-16 03:03:07 -04:00
bunnei
b70bece9c4
Merge pull request #4091 from MerryMage/cmakelists-xbyak-order
...
CMakeLists: xbyak comes before dynarmic
2020-06-15 22:39:48 -04:00
Rodrigo Locatti
9621372d41
Merge pull request #4066 from ReinUsesLisp/shared-ptr-buf
...
buffer_cache: Avoid passing references of shared pointers and misc style changes
2020-06-15 22:29:32 -03:00
MerryMage
74bf8f0e05
CMakeLists: xbyak comes before dynarmic
2020-06-15 22:37:27 +01:00
MerryMage
482bc63e56
macro_jit_x64: Remove NEXT_PARAMETER
...
Not required, as PARAMETERS can just be incremented directly.
2020-06-15 21:19:38 +01:00
MerryMage
7cfec874c6
macro_jit_x64: Remove unused function Compile_WriteCarry
2020-06-15 21:19:38 +01:00
MerryMage
666a023957
macro_jit_x64: Select better registers
...
All registers are now callee-save registers.
RBX and RBP selected for STATE and RESULT because these are most commonly accessed; this is to avoid the REX prefix.
RBP not used for STATE because there are some SIB restrictions, RBX emits smaller code.
2020-06-15 21:19:38 +01:00
MerryMage
e95fadc8ec
macro_jit_x64: Remove REGISTERS
...
Unnecessary since this is just an offset from STATE.
2020-06-15 21:00:59 +01:00
MerryMage
0679fbb750
macro_jit_x64: Remove JITState::parameters
...
This can be passed in as an argument instead.
2020-06-15 20:55:02 +01:00
MerryMage
6c2fe67af2
macro_jit_x64: Remove METHOD_ADDRESS_64
...
Unnecessary variable.
2020-06-15 20:51:33 +01:00
MerryMage
7ef7a520ca
macro_jit_x64: Remove RESULT_64
...
This Reg64 codepath has the exact same behaviour as the Reg32 one.
2020-06-15 20:35:08 +01:00
MerryMage
f0054fb284
xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize
2020-06-15 19:07:11 +01:00
MerryMage
10e9220ec6
xbyak_abi: Register indexes should be unsigned
2020-06-15 19:07:11 +01:00
MerryMage
f60ab4ab14
xbyak_abi: Remove *GPS variants of stack manipulation functions
2020-06-15 18:59:54 +01:00
MerryMage
c1f6eaf06b
xbyak_abi: Fix ABI_PushRegistersAndAdjustStack
...
Pushing GPRs twice.
2020-06-15 18:59:01 +01:00
David
9fb407c62e
Merge pull request #4085 from ReinUsesLisp/gcc-times
...
video_core/macro_jit_x64: Remove initializer in member variable
2020-06-15 23:05:21 +10:00
ReinUsesLisp
0f1f859a40
video_core/macro_jit_x64: Remove initializer in member variable
...
Fix build time issues on gcc. Confirmed through asan that avoiding this
initialization is safe.
2020-06-15 05:17:55 -03:00
bunnei
1a0de59d23
Merge pull request #4070 from ogniK5377/GetTPCMasks-fix
...
nvdrv: Fix GetTPCMasks for ioctl3
2020-06-14 20:12:45 -04:00
bunnei
c8c4bdf3c1
Merge pull request #4069 from ogniK5377/total-phys-mem
...
kernel: Account for system resource size for memory usage
2020-06-14 00:44:34 -04:00
bunnei
a784923393
Merge pull request #4064 from ReinUsesLisp/invalidate-buffers
...
gl_rasterizer: Mark vertex buffers as dirty after buffer cache invalidation
2020-06-14 00:29:16 -04:00
bunnei
8d47f26be9
Merge pull request #4049 from ReinUsesLisp/separate-samplers
...
shader/texture: Join separate image and sampler pairs offline
2020-06-13 13:48:27 -04:00
bunnei
14e7eb328e
Merge pull request #3986 from ReinUsesLisp/shader-cache
...
shader_cache: Implement a generic runtime shader cache
2020-06-12 23:14:48 -04:00
bunnei
b717bb09f2
Merge pull request #4010 from ogniK5377/reserve-always-break
...
kernel: ResourceLimit::Reserve remove useless while loop
2020-06-12 22:30:19 -04:00
ReinUsesLisp
83a1e1abd4
gl_arb_decompiler: Implement FSwizzleAdd
2020-06-11 22:12:07 -03:00
ReinUsesLisp
805d48c67e
gl_arb_decompiler: Implement an assembly shader decompiler
...
Emit code compatible with NV_gpu_program5.
This should emit code compatible with Fermi, but it wasn't tested on
that architecture. Pascal has some issues not present on Turing GPUs.
2020-06-11 22:12:07 -03:00
ReinUsesLisp
d2993294bb
yuzu/configuration: Show assembly shaders check box
2020-06-10 19:04:53 -03:00
David Marcec
f57da2d9f9
nvdrv: Fix GetTPCMasks for ioctl3
...
Fixes animal crossing svcBreak on launch
2020-06-10 18:36:42 +10:00
David Marcec
97ad3cd3ee
kernel: Account for system resource size for memory usage
...
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
2020-06-10 14:49:00 +10:00
bunnei
316cf3a251
Merge pull request #4027 from ReinUsesLisp/3d-slices
...
texture_cache: Implement rendering to 3D textures
2020-06-09 21:52:15 -04:00
ReinUsesLisp
26abf8ce57
buffer_cache: Avoid passing references of shared pointers and misc style changes
...
Instead of using as template argument a shared pointer, use the
underlying type and manage shared pointers explicitly. This can make
removing shared pointers from the cache more easy.
While we are at it, make some misc style changes and general
improvements (like insert_or_assign instead of operator[] + operator=).
2020-06-09 18:30:49 -03:00
ReinUsesLisp
498ca060cf
gl_rasterizer: Mark vertex buffers as dirty after buffer cache invalidation
...
Vertex buffers bindings become invalid after the stream buffer is
invalidated. We were originally doing this, but it got lost at some
point.
- Fixes Animal Crossing: New Horizons, but it affects everything.
2020-06-08 20:24:16 -03:00
ReinUsesLisp
8d4c441b48
buffer_cache: Return stream buffer invalidation in Map instead of Unmap
...
We have to invalidate whatever cache is being used before uploading the
data, hence it makes more sense to return this on Map instead of Unmap.
2020-06-08 20:22:31 -03:00
bunnei
9c5239f695
Merge pull request #4040 from ReinUsesLisp/nv-transform-feedback
...
gl_rasterizer: Use NV_transform_feedback for XFB on assembly shaders
2020-06-08 16:18:33 -04:00
bunnei
de3a9d3053
Merge pull request #4052 from ReinUsesLisp/debug-output
...
renderer_opengl: Only enable DEBUG_OUTPUT when graphics debugging is enabled
2020-06-08 10:16:41 -04:00
ReinUsesLisp
d109c27594
texture_cache: Port original code management for 2D vs 3D textures
...
Handle blits to images as 2D, even when they have block depth.
- Fixes rendering issues on Luigi's Mansion 3
2020-06-08 05:02:22 -03:00
ReinUsesLisp
9a6cba3e44
texture_cache: Simplify blit code
2020-06-08 05:01:44 -03:00