diff options
author | Chip Davis <cdavis@codeweavers.com> | 2019-08-03 05:02:05 +0300 |
---|---|---|
committer | Chip Davis <cdavis@codeweavers.com> | 2019-08-28 21:40:13 +0300 |
commit | 5fe1ecc3243cbd87a9141e759b2b9a7f6aefa5f3 (patch) | |
tree | c8cfab7a87cefe685a6965310529efe10a8703b5 /shaders | |
parent | 3ccfbce2648ad74cbe3f4d24dca5a7aa93507eb9 (diff) |
GLSL: Fix post-depth coverage for ESSL.
ESSL does not support `GL_ARB_post_depth_coverage`. There, we must use
`GL_EXT_post_depth_coverage`. I've added this as a fallback for desktop
as well.
Note that `GL_EXT_post_depth_coverage` also requires the fragment shader
to set `early_fragment_tests` explicitly, while
`GL_ARB_post_depth_coverage` does not. It doesn't really matter either
way, since `SPV_KHR_post_depth_coverage` *also* requires both execution
modes to be explicitly set.
Diffstat (limited to 'shaders')
-rw-r--r-- | shaders/frag/post-depth-coverage-es.frag | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/shaders/frag/post-depth-coverage-es.frag b/shaders/frag/post-depth-coverage-es.frag new file mode 100644 index 00000000..ecc57e4a --- /dev/null +++ b/shaders/frag/post-depth-coverage-es.frag @@ -0,0 +1,13 @@ +#version 310 es +#extension GL_EXT_post_depth_coverage : require +#extension GL_OES_sample_variables : require +precision mediump float; + +layout(early_fragment_tests, post_depth_coverage) in; + +layout(location = 0) out vec4 FragColor; + +void main() +{ + FragColor = vec4(gl_SampleMaskIn[0]); +} |