Commit Graph
9567 Commits
Author SHA1 Message Date
Henrik Rydgård c6fe91224a Vulkan: Fixes validation errors with "null" textures
These arise in non-buffered rendering when we don't have a framebuffer
to texture from.
2022-10-28 18:40:55 +02:00
Henrik Rydgård 8e0b82f92e Address feedback 2022-10-28 17:42:21 +02:00
Henrik Rydgård d9cfcf215e Need to request the proper type of uniform buffer descriptors.
Otherwise, assert on Mali.
2022-10-28 10:20:47 +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 e0bbebc65e Clean up GPU_Vulkan::BuildReportingInfo a bit 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 31fd928a5c Name more image views. Very useful with a little patch to the Vulkan debug layers. 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årdandGitHub bbb55e9b1d Merge pull request #16284 from unknownbrackets/gedebugger
GE Debugger: Correct UV display with prescale
2022-10-26 09:32:57 +02:00
Unknown W. Brackets 1e1c75d552 GE Debugger: Correct UV display with prescale.
Sometimes these weren't flushed yet, and it made the texture preview and
vertices confusing and wrong (using old factors, not just no factors.)
2022-10-25 22:14:16 -07:00
Henrik Rydgård 80e1db07a7 Minor ShaderWriter refactor, prep for later changes 2022-10-24 17:45:18 +02:00
Henrik RydgårdandGitHub 41f3443988 Merge pull request #16280 from unknownbrackets/d3d11-debugger
GE Debugger: Allow reading tex on D3D11
2022-10-24 08:17:03 +02:00
Unknown W. Brackets 7533b64940 GE Debugger: Allow reading tex on D3D11. 2022-10-23 22:01:50 -07:00
Henrik Rydgård 1d8ab38ce5 Vulkan: Use v2 feature checks, and add check for multiview features.
Extracted from the multiview PR, and renamed some stuff.
2022-10-24 00:21:28 +02:00
Henrik Rydgård ecf2797173 Minor refactor of ShaderWriter flags. Extracted from the stereo PR 2022-10-23 21:57:01 +02:00
Henrik RydgårdandGitHub a13ab3f76b Merge pull request #16274 from unknownbrackets/gpu-boundingbox
Correct accuracy of bounding box test
2022-10-23 12:53:18 +02:00
sum2012 56035d0c23 Ignore stack address already used in Metal Gear Acid 2 Special Card
Word around #10906
2022-10-23 18:32:51 +08:00
Unknown W. BracketsandGitHub 79b1d1d35f softgpu: Better approximate slope mip level mode (#16276)
* samplerjit: Remove unused x/y parameters.

Still need to tune the accuracy of filtering, but those were not the
right way.

* softgpu: Better approximate slope mip level mode.

This isn't exactly right, but it's closer.

* softgpu: Calculate auto from largest difference.

Direction shouldn't matter.
2022-10-23 10:15:43 +02:00
Unknown W. BracketsandGitHub 813bfded92 x86jit: Correct vh2f NAN handling (#16275)
* x86jit: Correct vh2f NAN handling.

Allows another test to pass.

* x86jit: Reuse MAccessibleDisp().
2022-10-23 10:09:29 +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
Unknown W. Brackets b7a617023c GPU: Consume cycles in bounding box check. 2022-10-22 16:05:29 -07:00
Unknown W. Brackets 6ddf22487b GPU: Correct bounding box for larger counts.
Matches tests on a PSP with float/transform format.
2022-10-22 16:05:29 -07:00
Henrik Rydgård 3af86ec6f7 Make it possible to specify extensions for Vulkan in the ShaderWriter 2022-10-22 17:46:57 +02:00
Henrik Rydgård 6aa3e4b242 Minor refactoring in PresentationCommon
Broken out from stereo work
2022-10-21 15:53:09 +02:00
Henrik Rydgård f2193814ee PresentationCommon: Use refcounts to simplify shader module management 2022-10-21 14:18:29 +02:00