Commit graph

5 commits

Author SHA1 Message Date
Chris Forbes
6c4b8727ef Fix interface mismatch between VS and GS in deferredshadows
GLSLang determines the content of the builtin block based on the shading
language version. In the case of 420 vs 450, the difference is whether
the gl_CullDistance member is present.

Vulkan requires that the builtin interface block be the same on both
sides of a shader interface not involving the fragment shader, so this
leads to undefined behavior. This is caught by recent versions of the
validation layers.

Fix the issue by using GLSL 450 for both shaders in the pipeline.
2020-01-07 18:27:13 -08:00
Chris Forbes
a05d90c221 Recompile shaders with more modern glslang
The SPIRV previously checked in had various issues -- most commonly, it
would use the VertexId and InstanceId builtins rather than the
replacmenet VertexIndex and InstanceIndex builtins required by Vulkan.
2019-09-06 09:59:45 +01:00
saschawillems
648339bbe6 Removed gl_PerVertex overrides
Fixes #509
2018-10-20 18:00:32 +02:00
saschawillems
04fdd16076 Enable device features, validation fixes 2016-12-25 12:51:46 +01:00
saschawillems
a89aebd381 Added shaders for deferred shadow example 2016-07-14 23:44:08 +02:00