Commit Graph

3444 Commits

Author SHA1 Message Date
Henrik Rydgård
7b2236778b Remove remnants of an old, no longer applicable readback optimization 2020-11-05 14:38:20 +01:00
Henrik Rydgård
207b76da6e Show an error on screen if a shader fails to compile.
Part of #1 investigation of #13541
2020-11-05 08:27:13 +01:00
Henrik Rydgård
03e8eac6ef Merge the two ShaderLanguage enums. 2020-11-04 09:40:11 +01:00
Henrik Rydgård
733a152c54 Move ShaderWriter to Common/GPU, along with some stuff from ShaderCommon.h. 2020-11-04 09:18:35 +01:00
Henrik Rydgård
3e6d121016 Partially revert "Clarify some logic, improve framebuffer names"
I screwed up a couple things.

Fixes #13619

This reverts commit 32eb882bc6.
2020-11-03 11:39:12 +01:00
Henrik Rydgård
32eb882bc6 Clarify some logic, improve framebuffer names 2020-11-02 10:02:49 +01:00
Henrik Rydgård
f4ea3ccf22 Move the generic vertex shader generator into GPU/Common and rename it. 2020-11-01 19:58:54 +01:00
Henrik Rydgård
30b1aafcde Another hlsl compatibility fix 2020-11-01 19:58:54 +01:00
Henrik Rydgård
17778131bd Share the uniform buffer declarations between D3D11 and VK. 2020-11-01 19:58:53 +01:00
Henrik Rydgård
f1dbd25de9 Fix remaining differences between generated shaders 2020-11-01 19:58:53 +01:00
Henrik Rydgård
642f2004d3 Start working on getting tess to match 2020-11-01 19:58:53 +01:00
Henrik Rydgård
ba7c2e856b Fix through mode differences 2020-11-01 19:58:50 +01:00
Henrik Rydgård
9b3662460c Make the lighting code match 2020-11-01 19:58:50 +01:00
Henrik Rydgård
8efb40180e Make the hardware skinning code match 2020-11-01 19:58:50 +01:00
Henrik Rydgård
b6992e428b More HLSL work. Some vertex shaders are starting to pass. 2020-11-01 19:58:50 +01:00
Henrik Rydgård
fbb7f72eec Vertex shader merge work 2020-11-01 19:58:45 +01:00
Henrik Rydgård
105a6ce920 Oops, seems I screwed those #version statements up worse. 2020-11-01 19:53:08 +01:00
Henrik Rydgård
4053c3d1ec Fix #version statement for GLES 2.0 vertex shaders 2020-11-01 19:42:33 +01:00
Henrik Rydgård
0938d495d9 Remove a redundant bit from vertex shader IDs.
(complicates automated testing of shader generation)

Should have no noticeable effects.
2020-11-01 11:48:55 +01:00
Henrik Rydgård
042f799573 Fix silly issue in vertex shader gen 2020-10-31 22:59:38 +01:00
Henrik Rydgård
0b1b36921e Move the now-renamed fragment shader generator to GPU/Common. 2020-10-31 19:03:14 +01:00
Henrik Rydgård
2f1bbd314e Fragment shader gen: Remove unnecessary allocations 2020-10-31 18:32:43 +01:00
Henrik Rydgård
7a63b5e69e Cleanup 2020-10-31 18:32:43 +01:00
Henrik Rydgård
b7d674411e Test parsing of generated OpenGL shaders too (by using glslang). 2020-10-31 18:32:43 +01:00
Henrik Rydgård
44c57d87f4 Get D3D9 fragment shader generation to parity 2020-10-31 18:32:43 +01:00
Henrik Rydgård
c2a6090c3f More D3D9 fixes. 2020-10-31 18:32:43 +01:00
Henrik Rydgård
af4d6e7642 Set up the test for D3D9, start fixing stuff. 2020-10-31 18:32:43 +01:00
Henrik Rydgård
b070ed45e9 Evolve the HLSL and GLSL fragment shader generators even closer together. 2020-10-31 18:32:42 +01:00
Henrik Rydgård
b4a76a9f09 Change fragment shader output to work the same in GLSL and HLSL. 2020-10-31 18:32:42 +01:00
Henrik Rydgård
d833b5985d Make discard work the same way in the HLSL shader generator. 2020-10-31 18:32:42 +01:00
Henrik Rydgård
984a4d2641 Start adding HLSL support to the GLSL shader generator. 2020-10-31 18:32:42 +01:00
Henrik Rydgård
8b2aeade15 Fix checks for fragment test cache in GLES fragment shader generator 2020-10-28 23:51:22 +01:00
Henrik Rydgård
148d3b72e5 Use splat3(x) liberally (converts to vec3(x) on GLES, vec3(x,x,x) on D3D)
Prep for merging the HLSL and GLSL generators.
2020-10-25 08:34:35 +01:00
Henrik Rydgård
fb2ac3a67e Additional fixes 2020-10-25 08:34:35 +01:00
Henrik Rydgård
69c8912b93 More tess fixes 2020-10-25 08:34:35 +01:00
Henrik Rydgård
6055350a2c Initial work on fixing tess 2020-10-25 08:34:35 +01:00
Henrik Rydgård
7532116b69 Fix additional minor differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
a8f4a4d749 Fix more vertex shader differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
057fd9f8a3 Bridge more vertex shader differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
22b26ffc09 Time for the vertex shaders. Set up a test, start eliminating differences. 2020-10-25 08:34:35 +01:00
Henrik Rydgård
254c316b10
Merge pull request #13570 from hrydgard/gl-allow-wrap-framebuffers
GL: Allow texture wrapping on framebuffers
2020-10-23 22:41:10 +02:00
Henrik Rydgård
56ddd597c1 Fix more tiny differences. The fragment shader generators now match! 2020-10-23 10:03:44 +02:00
Henrik Rydgård
ef18938aa0 Hack up a test comparing Vulkan fragment haders generated by the GL GLSL generator to the ones generated by the Vulkan generator. 2020-10-23 10:03:44 +02:00
Henrik Rydgård
9e245d6835 OpenGL: Share the shader version detection.
Use a version integer instead of a string
2020-10-23 10:03:44 +02:00
Henrik Rydgård
c45515866b Cleanup
Clean up GLSL language setup further
2020-10-23 10:03:44 +02:00
Henrik Rydgård
2917b0e9e6 GLES: Read compat params first, emit code later. 2020-10-23 10:03:44 +02:00
Henrik Rydgård
e30de2f6a5 More splat3 2020-10-23 10:03:44 +02:00
Henrik Rydgård
43ce4e7493 Remove an unmotivated ifdef. Additional cleanup 2020-10-22 00:10:21 +02:00
Henrik Rydgård
2c0a3c2e23 Prepare for more GLSL testing 2020-10-21 23:39:34 +02:00
Henrik Rydgård
3d36049b65 Rename shader generator functions, a bit of moving around and adding an errorString param. 2020-10-21 23:20:25 +02:00