956 Commits

Author SHA1 Message Date
Unknown W. Brackets
4240fa3053 GPU: Correct some incorrect deallocations. 2021-01-01 15:43:13 -08:00
Henrik Rydgård
16f629df3e Split the DepthRangeHack compat setting into itself and DisableRangeCulling
Most of our uses of DepthRangeHack was just to get DisableRangeCulling anyway -
and we don't want that on when not needed.

Also disables range culling for Splinter Cell Essentials (see #13035)

We really need to understand range culling better. This is a "ship hack" for 1.11.
2020-12-26 19:56:49 +01:00
Henrik Rydgård
7de7680416 Apple driver bug workaround. See issue #13451 2020-12-16 14:39:08 +01:00
Henrik Rydgård
559ccd9f33 Minor cleanups 2020-12-14 20:06:06 +01:00
Henrik Rydgård
f3ebd6553d Turn off vertex range culling in bezier/spline calls.
When we do lower res tess than the real PSP, we cant trust the game to not cause range culling to kick in.

Fixes #11692
2020-12-13 16:04:16 +01:00
Henrik Rydgård
0c66f6c6d0 Assorted drive-by code cleanup 2020-12-13 00:20:47 +01:00
Henrik Rydgård
9818c8aabd Better debug names for BlitFramebuffer operations. 2020-11-28 13:45:26 +01:00
Henrik Rydgård
3c2733d8eb Adreno/OpenGL: Limit shader depal to 6xx series GPUs. Should help #13668.
Also make a function static.
2020-11-22 18:00:07 +01:00
Henrik Rydgård
575ae376a9 Don't try to texture from depth if not supported by backend. Works around #13621 2020-11-10 23:36:33 +01:00
Henrik Rydgård
6310af25fa Get shader color write masking going on all backends. 2020-11-08 23:45:47 +01:00
Henrik Rydgård
3e06eaccfb Fix some comments 2020-11-08 14:57:35 +01:00
Henrik Rydgård
793e89d2e3 Fix some comments, rename a function. 2020-11-08 14:34:04 +01:00
Henrik Rydgård
391b8155c5 More work on detangling the concepts and making things make more sense. 2020-11-08 13:14:23 +01:00
Henrik Rydgård
3d289594f9 ShaderBlend and FramebufferRead are separate concepts. Reflect that in naming.
The former has forms that don't need to read the framebuffer.

This exposes that some logic is wrong...
2020-11-08 12:54:05 +01:00
Henrik Rydgård
f2e315b9a6 More shadergen work
Buildfix
2020-11-08 11:32:53 +01:00
Henrik Rydgård
c23ed09a32 Unify FramebufferManager::BindFramebufferAsColorTexture 2020-11-07 11:10:54 +01:00
Henrik Rydgård
a24f4e3e70 Start unifying BindFramebufferAsColorTexture 2020-11-07 11:03:53 +01:00
Henrik Rydgård
d9ee06a60d Reorganize the DeviceLost code a little. FramebufferManagerCommon now sees it. 2020-11-07 10:51:54 +01:00
Henrik Rydgård
44ec286ba4 Framebuffer: Keep the render scale factor around, no need to recompute it. 2020-11-06 09:11:57 +01:00
Henrik Rydgård
225734c0b3 Partially revert "Remove remnants of an old, no longer applicable readback optimization"
This reverts commit 7b2236778b0f54c4ece821b6ab2bf52a5b647223.

Fixes #13628
2020-11-06 09:09:18 +01:00
Henrik Rydgård
84037f448e Remove colorDepth property of framebuffers. They're all 8888. 2020-11-05 14:51:46 +01:00
Henrik Rydgård
7b2236778b Remove remnants of an old, no longer applicable readback optimization 2020-11-05 14:38:20 +01:00
Henrik Rydgård
f4ea3ccf22 Move the generic vertex shader generator into GPU/Common and rename it. 2020-11-01 19:58:54 +01:00
Henrik Rydgård
0938d495d9 Remove a redundant bit from vertex shader IDs.
(complicates automated testing of shader generation)

Should have no noticeable effects.
2020-11-01 11:48:55 +01:00
Henrik Rydgård
0b1b36921e Move the now-renamed fragment shader generator to GPU/Common. 2020-10-31 19:03:14 +01:00
Henrik Rydgård
b7d674411e Test parsing of generated OpenGL shaders too (by using glslang). 2020-10-31 18:32:43 +01:00
Henrik Rydgård
af4d6e7642 Set up the test for D3D9, start fixing stuff. 2020-10-31 18:32:43 +01:00
Henrik Rydgård
71706724e1 Somehow forgot to delete VertexShaderGeneratorVulkan.cpp 2020-10-26 09:59:16 +01:00
Henrik Rydgård
2977c56a12 Complete the vertex shader merge, deleting the Vulkan-specific vertex shader generator. 2020-10-25 08:34:35 +01:00
Henrik Rydgård
fb2ac3a67e Additional fixes 2020-10-25 08:34:35 +01:00
Henrik Rydgård
69c8912b93 More tess fixes 2020-10-25 08:34:35 +01:00
Henrik Rydgård
6055350a2c Initial work on fixing tess 2020-10-25 08:34:35 +01:00
Henrik Rydgård
7532116b69 Fix additional minor differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
a8f4a4d749 Fix more vertex shader differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
057fd9f8a3 Bridge more vertex shader differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
22b26ffc09 Time for the vertex shaders. Set up a test, start eliminating differences. 2020-10-25 08:34:35 +01:00
Henrik Rydgård
020fb55a65 Completes the merge, deleting the Vulkan-specific fragment shader generator. 2020-10-23 10:03:44 +02:00
Henrik Rydgård
56ddd597c1 Fix more tiny differences. The fragment shader generators now match! 2020-10-23 10:03:44 +02:00
Henrik Rydgård
fe8691fba7 Fix additional differences 2020-10-23 10:03:44 +02:00
Henrik Rydgård
aea4635d60 Fix minute differences between the shader generators found by the new tester 2020-10-23 10:03:44 +02:00
Henrik Rydgård
ef18938aa0 Hack up a test comparing Vulkan fragment haders generated by the GL GLSL generator to the ones generated by the Vulkan generator. 2020-10-23 10:03:44 +02:00
Henrik Rydgård
e30de2f6a5 More splat3 2020-10-23 10:03:44 +02:00
Henrik Rydgård
3d36049b65 Rename shader generator functions, a bit of moving around and adding an errorString param. 2020-10-21 23:20:25 +02:00
Henrik Rydgård
712f56fb7d Vulkan: remove array indexing for light parameters to match the other backends 2020-10-21 23:20:11 +02:00
Henrik Rydgård
391d2ea73d Rename vk uniforms to match the other backends 2020-10-21 21:13:08 +02:00
aliaspider
1aff9b3e2b Vulkan: fix stack overflow. 2020-10-13 06:05:30 +01:00
Henrik Rydgård
332bb7feeb VK: Whenever safely possible, shrink the render area.
We just set the render area to the union of the scissor rects used in a pass.

Might help some games on some mobile hardware, a little bit.

Possibly #13464?
2020-10-11 23:23:25 +02:00
Henrik Rydgård
afb35c3be3 Fix GPU profile display on notched screens 2020-10-11 19:04:35 +02:00
Henrik Rydgård
5ece3de8ba Track and accumulate pipeline flags for render passes.
(Information that will later let us make some interesting optimizations)
2020-10-11 12:22:25 +02:00
Henrik Rydgård
940611fe65 Remove the USE_GENERAL_LAYOUT_FOR* debug defines. 2020-10-11 11:06:54 +02:00