Commit graph

671 commits

Author SHA1 Message Date
Henrik Rydgård
6f1f482432 Make GLQueueRunner/RenderManager aware of device caps, use it to check for NPOT and some other stuff 2022-08-07 11:15:23 +02:00
Unknown W. Brackets
20c2ec1392 GPU: Skip alpha stencil upload when safe.
Otherwise, let's not do things that give different behavior at 1x or are
inconsistent.
2022-08-06 21:12:59 -07:00
Henrik Rydgård
77535c8132 Fix feature check for wrapping of non-pow-2 textures
May fix some problems with using 3x/5x upscaling or 3x/5x resolution on some
hardware.
2022-08-06 23:54:03 +02:00
Henrik Rydgård
5987c355d3 D3D9: Fix a lot of stuff 2022-08-06 18:27:04 +02:00
Henrik Rydgård
ded8ba8806 More cleanup, fixes. 2022-08-06 18:27:04 +02:00
Henrik Rydgård
92a3d45340 Lock out shaderDepal from D3D for now, will implement later. 2022-08-06 18:27:03 +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
8aebf0dca4 Port the OpenGL depal path to thin3d 2022-08-06 18:27:02 +02:00
Henrik Rydgård
b71c745275 ShaderWriter: Fix GLSL 1.0 output 2022-08-06 18:19:11 +02:00
Lubos
5f377f82eb Merge branch 'master' into feature_openxr_6dof 2022-08-05 13:49:42 +02:00
Henrik Rydgård
6ca47076e7 Delete the Vulkan implementation of DrawActiveTexture, fixups to shader gen 2022-08-03 14:12:55 +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
d26e637bb8 Bufferless path for D3D11/Vulkan
Though we still bind the buffer for simplicity..
2022-08-03 13:33:53 +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
787de81437 Switch to ShaderWriter. Works in OpenGL 2022-08-03 13:31:15 +02:00
Henrik Rydgård
9bead443c3 Unify stencil buffer upload using Draw. Only OpenGL tested yet (shaders need adaptation). 2022-08-03 13:31:13 +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
Lubos
cb6448ff2d Merge branch 'master' into feature_openxr_6dof 2022-08-02 21:01:05 +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
Lubos
2103874c0f OpenXR - Estimate world unit scale 2022-08-01 19:28:50 +02:00
Henrik Rydgård
7b7d16d2fb D3D9 fix 2022-08-01 12:11:42 +02:00
Henrik Rydgård
e1956b47a0
Merge pull request #15727 from hrydgard/texture-3d
Implement the PSP's equal-size mips "3D texturing"
2022-08-01 08:35:43 +02:00
Lubos
e6b14cb473 OpenXR - 6DoF head movement support added 2022-07-31 20:05:08 +02:00
Lubos
d129870d44 Merge branch 'master' into feature_openxr_6dof 2022-07-31 16:37:54 +02:00
Henrik Rydgård
392d83fb22
Merge pull request #15659 from lvonasek/feature_openxr_quest
Oculus Quest native support
2022-07-31 16:34:45 +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
129f3fe997 Testfix, cleanup 2022-07-31 10:43:48 +02:00
Henrik Rydgård
fecf9127a0 Implement 3D texturing in the OpenGL backend too. Assorted fixes. 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
3e39f62c3d
Merge pull request #15743 from hrydgard/build-texture-refactor
TextureCache "BuildTexture" refactor and cleanup
2022-07-30 11:21:57 +02:00
Henrik Rydgård
3fc7023d82 Vulkan stencil fixes 2022-07-30 10:47:18 +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
08c33f8e54 More thin3d d3d11 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
9f1fdc6c02 Use PrepareBuildTexture from the Vulkan backend too 2022-07-30 10:45:03 +02:00
Henrik Rydgård
d0d53091a8 Change from maxLevel to levelsToLoad, for better readability. Cleanup. 2022-07-30 10:45:02 +02:00
Lubos
60d8a102f9 OpenXR - Switching between 2D/VR fixed 2022-07-29 10:19:11 +02:00
Lubos
d29b9011db OpenXR - VR settings added, better UI detection 2022-07-27 19:47:11 +02:00
Lubos
9b8a9d3b32 Merge branch 'feature_openxr_quest' into feature_openxr_6dof 2022-07-26 18:00:40 +02:00
Lubos
c543c8fd52 Merge branch 'master' into feature_openxr_quest 2022-07-26 17:22:04 +02:00
Lubos
5c95fd244f OpenXR - Automatically switch between fullscreen/VR 2022-07-26 17:20:46 +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
Henrik Rydgård
16d4545967 Clarity improvement in dx state cache stencil func 2022-07-24 21:44:12 +02:00
Henrik Rydgård
e758506bdb Remove unnecessary complexity from the D3D9 state cache 2022-07-24 21:26:40 +02:00
Lubos
8daba0d881 OpenXR - Finalize VR renderer interface 2022-07-24 14:14:21 +02:00
Henrik Rydgård
881cc23965 Delete some unused code. 2022-07-24 13:54:04 +02:00
Henrik Rydgård
2933ace02f Remove log noise 2022-07-17 23:03:43 +02:00