lainon
3cdf72b68b
Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back'
2022-09-30 12:35:28 +03:00
lainon
c953bf7fc7
Fixed bug and memleaks
2022-09-30 12:32:49 +03:00
Henrik Rydgård
bd759790b0
Update the Vulkan debug names when reassigning depth buffers.
2022-09-28 14:09:40 +02:00
Unknown W. Brackets
e6db0bef2d
Merge pull request #16099 from hrydgard/vulkan-dont-always-alloc-depth
...
Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
2022-09-25 08:05:50 -07:00
Henrik Rydgård
753fd13494
Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
...
Pretty small impact, but good to do.
An interesting extension of this would upconvert framebuffers in the
FramebufferManager to have a depth buffer the first time depth is used on them,
but this doesn't do that yet.
2022-09-24 23:21:48 +02:00
Henrik Rydgård
9f3dfe7ebe
Vulkan: Don't compile pipeline variants that don't make sense given their flags.
...
Ran into this with cache files from previous version of my change.
Also bumping the shader cache ID again to avoid this in other ways, but
good to be robust here.
2022-09-24 22:39:22 +02:00
Henrik Rydgård
0acfa906b4
Fix leak of shader modules from thin3d.
2022-09-23 13:31:32 +02:00
Henrik Rydgård
ac7ca963db
Make valgrind happy
2022-09-23 12:24:43 +02:00
Henrik Rydgård
c76d7e844c
Fix Vulkan regression of #16075 due to silly typo.
2022-09-22 19:37:46 +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
4045de8d56
Consider the Adreno and Mali stencil-discard bugs the same. Use the better check from the Mali bug.
...
Should fix #11980
2022-09-18 10:34:43 +02:00
Henrik Rydgård
242efba6f7
Remove splitSubmit setting. Now we submit init commands before the acquire.
2022-09-17 01:07:30 +02:00
Henrik Rydgård
262a306b9a
Flag shader blending as broken on Adreno for now.
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
ac9677dcc0
Ah, need to enable the Mali workaround for Outrun's water, too.
2022-09-16 13:14:44 +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
Unknown W. Brackets
56e30495aa
Common: Fix some type compare warnings on 32-bit.
2022-09-12 22:14:48 -07:00
Henrik Rydgård
974cd38b1f
Some more debug names to vulkan objects
2022-09-08 09:16:40 +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
cddc612f6d
Extend lifetime of ShaderModule objects since we might need to recreate pipelines for different render passes
2022-09-08 00:38:32 +02:00
Henrik Rydgård
14b5a1a7cd
Fix pipeline lifetime issue, misc.
2022-09-08 00:38:32 +02:00
Henrik Rydgård
77819c6f80
Lifetime fixes, cleanups
2022-09-08 00:38:32 +02:00
Henrik Rydgård
befcfb470c
Fix shader caching.
2022-09-08 00:38:32 +02:00
Henrik Rydgård
80ca822bf2
Create framebuffer variants on demand
2022-09-08 00:38:28 +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
5f1ffeae70
Correct LogicOp API support detection
2022-09-04 00:08:40 +02:00
Henrik Rydgård
9097fdaae6
Shrink VkRenderData from 88 to 64 bytes.
2022-09-01 14:21:34 +02:00
Henrik Rydgård
b447092742
Some Vulkan renderpass load/store optimizations.
2022-08-28 23:16:48 +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
fc81b76b98
Vulkan: Very minor chnages after checking Best Practices with new validation layer
2022-08-23 23:55:53 +02:00
Henrik Rydgård
3a0d43ae1e
Remove deprecated function (mostly)
2022-08-16 11:47:38 +02:00
Henrik Rydgård
79ee532609
Fix feature checks
2022-08-09 20:05:44 +02:00
Henrik Rydgård
83fd8a2fd8
Convert depal shaders to use the ShaderWriter. Add tests for depal shaders.
2022-08-09 15:32:27 +02:00
Henrik Rydgård
4ff8f85110
Forgot these...
2022-08-07 11:48:59 +02:00
Henrik Rydgård
ded8ba8806
More cleanup, fixes.
2022-08-06 18:27:04 +02:00
Henrik Rydgård
81c36578ca
Feature detection fixes
2022-08-06 18:27:03 +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
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
f061eadc04
Initial implementation of 3D texturing through equal-size mips (see #6357 )
...
Vulkan-only currently, though all the other backends except ES 2.0
without GL_OES_texture_3d can support it with some work.
2022-07-31 10:43:47 +02:00
Henrik Rydgård
3fc7023d82
Vulkan stencil fixes
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
2933ace02f
Remove log noise
2022-07-17 23:03:43 +02:00
Henrik Rydgård
1fd80646cb
Mali driver bug workaround for driver 32+.
...
See #15661
Hope this small bias won't break things.
2022-07-17 22:53:10 +02:00
Henrik Rydgård
e942ba680b
Remove driver version check for Mali stencil/discard bug. See #13833
2022-06-20 17:38:01 +02:00