Commit graph

671 commits

Author SHA1 Message Date
Henrik Rydgård
2bea495981 wip 2022-10-27 11:05:58 +02:00
Henrik Rydgård
f1b515caaf Minor shaderwriter refactor 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
3ce8133656 Non-stereo bugfix 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å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
80e1db07a7 Minor ShaderWriter refactor, prep for later changes 2022-10-24 17:45:18 +02: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
e77ff0281f Testfix 2022-10-24 00:20:45 +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ård
3af86ec6f7 Make it possible to specify extensions for Vulkan in the ShaderWriter 2022-10-22 17:46:57 +02:00
Henrik Rydgård
cafce7365b Vulkan: Fix frame ordering issue with postprocessing shaders
Requested an init command buffer outside the frame, which is dangerous
and caused validation problems with command pool resets.

Would like to assert on insideFrame in GetInitCmd, but we use it from
some init code where it does work correctly. Might clean that up at some
point.
2022-10-21 12:52:21 +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
Henrik Rydgård
8cd602a9c6
Merge pull request #16257 from unknownbrackets/error-cleanup
Kernel: Fix reported StopThread error
2022-10-19 08:06:30 +02:00
Unknown W. Brackets
a42064eb48 Vulkan: Correct some enum switch warnings.
Nice to log debug annotations anyway.
2022-10-18 21:52:38 -07:00
Henrik Rydgård
aa51bfd1ef Use GPU "use" flags to replace IsVRBuild in the renderer. It remains elsewhere. 2022-10-17 19:57:11 +02:00
Lubos
be2613d495 OpenXR - Move VR passes count calculation 2022-10-17 19:07:27 +02:00
Henrik Rydgård
eb18a87eee
Merge pull request #16186 from lvonasek/feature_openxr_vulkan
OpenXR - Initial work to support multiple render APIs
2022-10-17 14:47:47 +02:00
Henrik Rydgård
cd0cef7aa1
Merge pull request #16219 from catsout/fix-vulkan-wayland
Vulkan: fix wayland swapchain size 1x1
2022-10-15 22:51:48 +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
catsout
b0ceeede79 Vulkan: fix wayland swapchain size 1x1
From Vulkan spec,
surfaceCapabilities.currentExtent can be 0xFFFFFFFF(-1)

Define a callback to get drawsize from window creator

relate:
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSurfaceCapabilitiesKHR.html
https://github.com/KhronosGroup/Vulkan-Docs/issues/590#issuecomment-347932321
2022-10-15 19:02:42 +08:00
Lubos
de41650318 OpenXR - Disable VUlkan for now 2022-10-14 16:47:54 +02:00
Henrik Rydgård
f269137c78 Revert "Vulkan: Create depth/stencil buffers on demand"
This reverts commit be37de106c.
2022-10-13 22:39:47 +02:00
Henrik Rydgård
4d1da5859c Add simple way to add debug annotation in the middle of the command stream. Vulkan-only. 2022-10-13 22:39:44 +02:00
Lubos
ade606bc3c OpenXR - Hookup VR API into Vulkan 2022-10-12 16:21:54 +02:00
Henrik Rydgård
e0e29a1556
Merge pull request #16197 from hrydgard/more-uniform-optimization
More uniform optimization, fixes
2022-10-12 01:00:27 +02:00
Henrik Rydgård
b0cf97cf4d Touchpad/mousewheel scrolling acted very weirdly on Mac due to 0 deltas. Make it work better.
Ignoring the 0 deltas helps a lot for the feel, even though it still isn't that smooth feel yet.
2022-10-11 14:00:46 +02:00
Henrik Rydgård
901f698a10
Merge pull request #16201 from unknownbrackets/gedebugger
GE Debugger: Normalize framebuffer texture preview
2022-10-11 11:33:19 +02:00
Henrik Rydgård
804220afb1
Merge pull request #16198 from unknownbrackets/gles-stencil
Readback stencil buffer for debugger on GLES
2022-10-11 10:55:38 +02:00
Unknown W. Brackets
999055791d D3D9: Remove block transfer code overrides.
We can just use Draw now.  Keep depth, though, since it applies scale.
2022-10-10 21:48:38 -07:00
Henrik Rydgård
8b2e7d6e2f
Merge pull request #16200 from unknownbrackets/vulkan-depth
Vulkan: Fix initial depth copy w/o existing depth
2022-10-11 06:45:21 +02: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
26fd063cd1 Vulkan: Fix initial depth copy w/o existing depth. 2022-10-10 19:14:34 -07:00
Unknown W. Brackets
fc68cd9457 GLES: Add debug readback of stencil data.
This allows the existing gpu.buffer.renderStencil to snapshot the state.
2022-10-10 17:09:14 -07:00
Unknown W. Brackets
b991a84b91 GLES: Allow stencil texturing if supported. 2022-10-10 16:43:19 -07:00
Henrik Rydgård
69bc7b060f glslang: Set a missing resource limit. Avoids spurious errors in shader unit test 2022-10-10 17:17:17 +02:00
Henrik Rydgård
d56bdcb81e
Merge pull request #16196 from hrydgard/improved-render-stats
Improved stats in the Vulkan GPU profiler
2022-10-10 15:40:17 +02:00
Henrik Rydgård
d4bfe9299d Track min and max GPU time, init time, render CPU time.
Mainly wanted to see if init time is a factor, there are optimizations
we can do there.
2022-10-10 10:53:27 +02:00
Henrik Rydgård
32699da6df Vulkan (trivial): Fix numDraws stat when merging render passes. Shorten a name. 2022-10-10 10:06:30 +02:00
Unknown W. Brackets
179c1e4a3b GLES: Enable EXT_depth_clamp where supported.
Seems like Freedreno may support this.
2022-10-10 00:54:29 -07:00
Unknown W. Brackets
bad4a93d3c D3D11: Correct depth readback. 2022-10-09 15:50:50 -07:00
Henrik Rydgård
be37de106c Vulkan: Create depth/stencil buffers on demand 2022-10-09 20:28:32 +02:00
Lubos
43f848a2aa Merge branch 'master' into feature_openxr_vulkan 2022-10-09 17:49:17 +02:00
Lubos
7c6cff5ae9 Merge branch 'master' into feature_openxr_vulkan 2022-10-09 17:48:23 +02:00
Henrik Rydgård
49de375bff
Merge pull request #16183 from unknownbrackets/depth-usage
GPU: Ignore depth when masked and ALWAYS
2022-10-09 10:41:40 +02:00
Henrik Rydgård
10fedf19bd
Merge pull request #16182 from unknownbrackets/gles-indexed
GLES: Use GL_LUMINANCE on GLES for indexed tex
2022-10-09 10:19:26 +02:00
Henrik Rydgård
76be009b41
Merge pull request #16181 from unknownbrackets/d3d9-clut
Add rendered CLUT handling to D3D9
2022-10-09 10:17:17 +02:00