Commit Graph
2352 Commits
Author SHA1 Message Date
Henrik Rydgård 4e8f97d64d Output shader descriptions directly in the source code 2022-11-08 00:21:08 +01:00
Henrik Rydgård 41c812651d Merge pull request #16347 from unknownbrackets/softgpu-skin
Always skin in decode for software transform and rendering
2022-11-06 20:21:02 +01:00
Henrik Rydgård 69941c0d72 Android fix 2022-11-06 20:01:22 +01:00
Henrik Rydgård c91e7912bf Change "Simulate block transfer" to "Skip GPU Readbacks". Group the speed hacks together 2022-11-06 19:30:38 +01:00
Henrik Rydgård 519db766b6 Change "Rendering Mode" to just a "Skip buffer effects" checkbox. Reuse translations. 2022-11-06 19:26:56 +01:00
Unknown W. Brackets 31cb3a8eae Merge pull request #16346 from hrydgard/remove-retain-changed-textures-setting
Change the "Retain changed textures" option into a compat.ini option.
2022-11-06 10:18:21 -08:00
Unknown W. Brackets 527947fd81 GPU: Correct softgpu curve issue. 2022-11-06 09:06:07 -08:00
Unknown W. Brackets 3de2557ecb GPU: Always skin in decode for software transform. 2022-11-06 08:55:07 -08:00
Unknown W. Brackets 7880eb15c1 softgpu: Always use software skinning.
There's only software skinning, after all.
2022-11-06 08:44:22 -08:00
Unknown W. Brackets 6c36f03a0d GPU: Purify vertTypeIsSkinningEnabled(). 2022-11-06 08:40:54 -08:00
Henrik Rydgård 95cb358fbf Change the "Retain changed textures" option into a compat.ini option.
This option benefits so few games and can hurt others, so that it's
better that we specifically enable it for known cases like Popolocrois.
2022-11-06 17:28:50 +01:00
Unknown W. Brackets 66472c39ce GPU: Use skinned position always in bounding check.
Meanwhile, move to a flag on decoder options instead of global check.
2022-11-06 08:23:31 -08:00
Unknown W. Brackets a5d3af9cb0 GPU: Cleanup GetVertTypeID() usage. 2022-11-06 08:01:57 -08:00
Henrik Rydgård b4507cd5cc Make a lot more code VR build for all platforms 2022-11-06 14:36:51 +01:00
Henrik Rydgård 0f37854ef9 Drop some D3D11 screen rotation support (was only used on Windows Phone) 2022-11-05 22:17:06 +01:00
Henrik Rydgård ad6725b684 VK/D3D11: Move the rarely used "u_rotation" uniform to the frame uniform buffer.
This uniform is used in two cases:

* Non-buffered rendering in Vulkan, software transform
* Non-buffered rendering in D3D11 level 9 on Windows Phone, software transform
  - which I don't think anyone builds for anymore

Nice to not have it in the main uniform buffer, but mainly a
demonstrator/test of moving stuff to the new frame-global buffer, and
setting up the infrastructure.
2022-11-05 22:14:05 +01:00
Henrik Rydgård 7967da0f6f Vulkan: Fix descriptor set binding in geometry shader generator. Should fix #16315 2022-11-01 13:43:48 +01:00
Unknown W. Brackets 0a98ac43fa Debugger: Allow currently-invalid memory reference. 2022-10-29 17:43:35 -07:00
Henrik Rydgård 8e0b82f92e Address feedback 2022-10-28 17:42:21 +02:00
Henrik Rydgård 10eb21d3b3 Add some extra checking for valid stereo shader. 2022-10-28 10:17:29 +02:00
Henrik Rydgård ab1cebec51 Actually bind a global uniform buffer, too. Not yet used. 2022-10-28 10:15:36 +02:00
Henrik Rydgård 96a5c52037 Vulkan: Reserve descriptor set 0 for frame-global data, move everything else to set 1 2022-10-28 09:39:56 +02:00
Henrik Rydgård 85e7933e7a Format string fix 2022-10-27 11:06:00 +02:00
Henrik Rydgård e058f8aee6 Shadergen fix for OpenGL 2022-10-27 11:05:59 +02:00
Henrik Rydgård 6d9008dab5 Fix validation issue with clears, remove redundant code 2022-10-27 11:05:59 +02:00
Henrik Rydgård 763afd4a8e Improve compatibility checks for stereo rendering. 2022-10-27 11:05:59 +02:00
Henrik Rydgård 931c869ca9 Fix for stereo with textureProj (emulated projection). 2022-10-27 11:05:59 +02:00
Henrik Rydgård 7d5bb79257 Fix depal texture binding bug 2022-10-27 11:05:59 +02:00
Henrik Rydgård cd203291ba Fix rendering in non-stereo mode 2022-10-27 11:05:59 +02:00
Henrik Rydgård 15d4495f76 Pass shadergen tests 2022-10-27 11:05:59 +02:00
Henrik Rydgård 2a1526c352 Address feedback 2022-10-27 11:05:59 +02:00
Henrik Rydgård 390a136cb5 Stereo now works through shader depal too 2022-10-27 11:05:59 +02:00
Henrik Rydgård 8413473fa4 Fix more cases, GTA works now. 2022-10-27 11:05:59 +02:00
Henrik Rydgård 524e92374f Use arrays more consistently. 2022-10-27 11:05:59 +02:00
Henrik Rydgård 91259aaad7 Always use array textures for framebuffers in Vulkan for simplicity. 2022-10-27 11:05:58 +02:00
Henrik Rydgård 2bea495981 wip 2022-10-27 11:05:58 +02:00
Henrik Rydgård 6af4644ab2 Stereo on mobile fixes 2022-10-27 11:05:58 +02:00
Henrik Rydgård 0de12f5ca9 Some refactoring of framebuffer views, layer issues, more work. 2022-10-27 11:05:58 +02:00
Henrik Rydgård 2e87f0bc0b More work. Things are starting to work now. 2022-10-27 11:05:58 +02:00
Henrik Rydgård c668736924 Add a couple of stereo display shaders, add infrastructure, compile stereo pipelines 2022-10-27 11:05:58 +02:00
Henrik Rydgård 12d1f94d47 Start stereo postshader work 2022-10-27 11:05:58 +02:00
Henrik Rydgård fb250c4b29 More multiview work 2022-10-27 11:05:58 +02:00
Henrik Rydgård d3804ec2e5 Misc multiview hackery 2022-10-27 11:05:58 +02:00
Henrik Rydgård 80e1db07a7 Minor ShaderWriter refactor, prep for later changes 2022-10-24 17:45:18 +02:00
Henrik Rydgård ecf2797173 Minor refactor of ShaderWriter flags. Extracted from the stereo PR 2022-10-23 21:57:01 +02:00
Unknown W. Brackets add2edcab8 VR: Always pass the bounding box check.
Likely better to draw all objects, even if they wouldn't have been on
screen, for VR purposes.
2022-10-22 16:52:02 -07:00
Unknown W. Brackets 261f1e13db GPU: Account for scissor/viewport in bound test.
The bounding box check doesn't check against viewport (which the PSP
generally doesn't clip against), but instead checks against the scissor.

If the scissor doesn't fit inside the offset 4096x4096 box, that direction
is cannot fail the test.
2022-10-22 16:52:02 -07:00
Unknown W. Brackets 93ee82d84f GPU: Respect depth clamp in bounding box check.
Although, logically, this feels reversed - it rejects the point if it's
outside positive Z, which would clamp.  This matches PSP tests.
2022-10-22 16:05:30 -07:00
Unknown W. Brackets 8b80c5fb28 GPU: Allow/use indices in bounding box check.
Not sure any games actually use this, but it's supported.
2022-10-22 16:05:29 -07:00
Unknown W. Brackets 519c90e049 GPU: Correct large morph vertex advance.
Can be 544 bytes per vertex.
2022-10-22 16:05:29 -07:00