Commit Graph

324 Commits

Author SHA1 Message Date
Henrik Rydgård
262a306b9a Flag shader blending as broken on Adreno for now. 2022-09-16 19:19:42 +02:00
Henrik Rydgård
5f5277a409 Need to have input attachments in the descriptor pool. 2022-09-16 19:19:42 +02:00
Henrik Rydgård
ce82fce8de Use subpass dependencies to implement shader framebuffer read in Vulkan. 2022-09-16 19:19:42 +02:00
Henrik Rydgård
974cd38b1f Some more debug names to vulkan objects 2022-09-08 09:16:40 +02:00
Henrik Rydgård
befcfb470c Fix shader caching. 2022-09-08 00:38:32 +02:00
Henrik Rydgård
e828df9f25 Split each renderpass/framebuffer into multiple "compatibility classes" (RenderPassType). 2022-09-08 00:32:03 +02:00
Henrik Rydgård
f81a28f661 Some reordering 2022-09-02 22:40:15 +02:00
Henrik Rydgård
b84cda2876 Plumb the computed pipeline state into ComputeFragmentShaderID. 2022-09-02 22:16:57 +02:00
Henrik Rydgård
9097fdaae6 Shrink VkRenderData from 88 to 64 bytes. 2022-09-01 14:21:34 +02:00
Unknown W. Brackets
18e1efece1 GPU: Add a way to defer dirty rechecks.
These are situations where we have temporary state which will require
recalc again later.
2022-08-28 08:34:48 -07:00
Henrik Rydgård
b529d26f3a Fix smoothed depal on GLES. Don't enable filtering if not using. 2022-08-24 13:43:41 +02:00
Henrik Rydgård
f5e6754ac0 Special case depal lookups for Test Drive's strange usage.
This implements the hack I suggested in #13355, where instead of first
reducing the color to RGB565 as the real game does, we just take each
channel at full precision and do the lookup according to the mask,
linearly filtering the palette.

This makes the game look a lot nicer and is also a small optimization,
but the hack is very specific so kinda ugly in a way.
2022-08-22 15:19:38 +02:00
Unknown W. Brackets
b5a4843c1f GPU: Purify ConvertViewportAndScissor().
This makes it harder to misuse.  See #15856.
2022-08-20 14:21:11 -07:00
Unknown W. Brackets
d61619db47 GPU: Dirty params when converting viewport state.
This flag will be false when we convert next time, so parameters won't get
updated as expected.
2022-08-20 14:03:24 -07:00
Henrik Rydgård
1f276fcc20 Vulkan: Restore a minor old forgotten optimization 2022-08-16 21:42:40 +02:00
Henrik Rydgård
08e2d951b4 State handling reordering in D3D11 and D3D9 backends. 2022-08-05 23:07:01 +02:00
Unknown W. Brackets
8418287a87 Vulkan: Avoid crash on double DeviceLost.
This caused Android to crash when switching to OpenGL, because the
destructor would try to deinit again.  There weren't any objects, but
draw_ was no longer valid.
2022-02-06 23:34:44 -08:00
Unknown W. Brackets
a9a07b0935 Vulkan: Avoid crash on bad shader. 2022-01-09 21:34:05 -08:00
Henrik Rydgård
b85a7e9a46 Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit. 2021-12-10 21:01:01 +01:00
Unknown W. Brackets
1010d7ac0e Vulkan: Refactor common desc pool handling. 2021-12-09 18:39:55 -08:00
Henrik Rydgård
0cbb7ab027 Change the PushBuffer API a bit to not take explicit memory types. 2021-11-22 18:54:09 +01:00
Henrik Rydgård
62f4875e24 VulkanRenderManager: Add deferred pipeline creation (to get it off the CPU thread) 2021-11-21 18:36:00 +01:00
Unknown W. Brackets
8a5f07b860 Vulkan: Don't cache vulkan_ with draw context.
Since we can get the VulkanContext cheaply from the draw context, it's
easier to make sure things stay up to date.
2021-11-14 15:25:28 -08:00
Unknown W. Brackets
60bd25582c Vulkan: Remove wide line handling.
No longer used, since we convert lines to triangles now.
2021-10-31 14:47:21 -07:00
Unknown W. Brackets
5128480d74 GPU: Implement cull behavior in sw transform. 2021-10-30 21:04:16 -07:00