Henrik Rydgård
d97035fffc
Merge pull request #16434 from unknownbrackets/stencil-opt
...
Vulkan: Use stencil export when available
2022-11-25 10:06:41 +01:00
Unknown W. Brackets
b33662550f
Vulkan: Use stencil export when available.
...
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Henrik Rydgård
70d1d8fa07
Replace the "GetCurrentStepId"-based state invalidation with callbacks
2022-11-24 10:52:42 +01:00
Henrik Rydgård
763afd4a8e
Improve compatibility checks for stereo rendering.
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
0de12f5ca9
Some refactoring of framebuffer views, layer issues, more 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
7a620962aa
thin3d: Replace hint at future MRT support with basic multi layer support
2022-10-27 11:05:58 +02:00
Henrik Rydgård
90d395a10d
Remove "attachment" parameter from BindFramebufferAsTexture everywhere.
...
Not actually useful since our framebuffer objects don't support multiple
color images, and probably won't ever need to.
2022-10-20 10:15:19 +02:00
Unknown W. Brackets
8156f6fe28
D3D9: Correct scissor state cache in Draw.
...
Gets reset when updating the render target. This fixes UI scissors.
2022-10-15 12:50:27 -07:00
Unknown W. Brackets
c89cf1cde7
D3D9: Implement CopyFramebufferToMemorySync().
...
This works like other backends, including D3D11. This allows us to get
rid of the old implementation and reuse more code.
2022-10-10 21:28:14 -07:00
Unknown W. Brackets
81cf76a619
D3D9: Correct sampler states for binding 1+.
2022-10-08 15:34:00 -07:00
Unknown W. Brackets
59a489f883
Draw: Add COLOR1 semantic.
2022-10-01 12:14:46 -07:00
Unknown W. Brackets
81e8336985
D3D9: Allow INTZ depth buffers more correctly.
...
The FBO check was wrong and just always failed.
2022-09-24 15:17:18 -07:00
Henrik Rydgård
09bcf3ec13
Unify range culling detection
2022-09-20 10:15:04 +02:00
Henrik Rydgård
1ae7c0132c
Start unifying setting of the GPU feature flags, now that thin3d has feature detection.
2022-09-20 10:07:01 +02:00
Henrik Rydgård
e8aaf22163
D3D9 crashfix (flare doesn't render correctly though)
2022-09-15 17:22:09 +02:00
Henrik Rydgård
f745e94899
Allow binding "native" texture objects to thin3d
2022-09-14 22:18:35 +02:00
Henrik Rydgård
a52e62a187
Enable depth uploads on render-to-clut-buffer. Esoteric but needed for #11100 . Compat flag for now.
2022-09-14 22:18:34 +02:00
Henrik Rydgård
347f7c4e5a
Vulkan: Improve tagging of pipelines for debugging purposes
2022-09-08 00:47:22 +02:00
Henrik Rydgård
4da2ca0935
Implement shader blending for D3D9
...
This was easy, dunno why I never got around to it before..
I guess I didn't know about VPOS.
This does raise our minimum shader model requirement to ps_3_0.
2022-08-30 12:19:56 +02:00
Henrik Rydgård
d459eac891
Fix checks for depth texture support, GLES syntax errors
2022-08-24 11:26:07 +02:00
Henrik Rydgård
bd6f79e473
Fix the raster depth blit again, which I recently broke.
2022-08-17 16:52:49 +02:00
Henrik Rydgård
d0cdb360fd
Remove the DX9 namespace, for consistency with the other backends
2022-08-16 21:49:16 +02:00
Henrik Rydgård
1e57a358b8
thin3d: Properly AddRef and Release shader modules from the pipeline in backends that need it
2022-08-16 15:10:48 +02:00
Henrik Rydgård
79ee532609
Fix feature checks
2022-08-09 20:05:44 +02:00
Henrik Rydgård
4ff8f85110
Forgot these...
2022-08-07 11:48:59 +02:00
Henrik Rydgård
5987c355d3
D3D9: Fix a lot of stuff
2022-08-06 18:27:04 +02:00
Henrik Rydgård
da65af832a
D3D11 prep
2022-08-06 18:27:03 +02:00
Henrik Rydgård
4e89174b85
OpenGL: Fix shader depal too.
2022-08-06 18:27:03 +02:00
Henrik Rydgård
3e1ccf1311
Need a separate cap bit for stencil blits to prevent misuse on D3D9
2022-08-03 13:40:21 +02:00
Henrik Rydgård
269bff9c0b
Get D3D shaders to build (though not working correctly)
2022-08-03 13:31:15 +02:00
Henrik Rydgård
d4d92e39ff
Implement DrawUP for D3D11
...
This is so we can do simple drawing without buffer management through
thin3d on all backends.
2022-08-03 13:28:54 +02:00
Henrik Rydgård
19931c003f
Clean up blit/copy feature detection. Don't need fast GPU flags for these.
2022-08-02 09:53:46 +02:00
Henrik Rydgård
46d6b43618
Support 3D textures in OpenGL ES, add feature check
2022-07-31 10:43:48 +02:00
Henrik Rydgård
a0febce3a9
Make the D3D9 backend handle stencil state in more similar ways to the others.
2022-07-30 10:47:18 +02:00
Henrik Rydgård
e43b5e2081
thin3d: Make writeMask and compareMask dynamic in all backends. D3D11 needs emulation.
2022-07-30 10:47:18 +02:00
Henrik Rydgård
4a18629e63
thin3d: Remove dual sided stencil, not supported by all backends anyway
2022-07-30 10:47:18 +02:00
Henrik Rydgård
62ded69344
Switch to using the D3D9 state cache in thin3d, to avoid confusion
2022-07-24 21:49:03 +02:00
Unknown W. Brackets
1e66a66ed7
D3D11: Correct clearing samplers.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
4cb6976029
GPU: Use an empty vertex buf for reinterpret.
...
See #14552 .
2021-08-07 22:22:36 -07:00
Unknown W. Brackets
44d2d8a2a3
Draw: Assert sampler bindings are in valid ranges.
2021-06-12 10:10:42 -07:00
Unknown W. Brackets
fe9870bf37
Draw: Auto ref/release bound textures/samplers.
2021-02-16 21:48:43 -08:00
Unknown W. Brackets
e85a8b0f5b
Global: Cleanup class init order warnings.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
6247e4d0ee
Windows: Add some missing override specifiers.
2021-02-14 10:30:10 -08:00
Henrik Rydgård
6a5522b185
thin3d: Add a way to query the current render target for debugging.
2020-12-13 00:20:13 +01:00
Henrik Rydgård
7a690f177e
Move shader language feature detection to the draw context.
2020-11-06 09:11:57 +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
6db943e831
Merge the two ShaderStage enums
2020-11-05 08:34:35 +01:00