Merge pull request #1137 from cdavis5e/post-depth-coverage-essl

GLSL: Fix post-depth coverage for ESSL.
This commit is contained in:
Hans-Kristian Arntzen 2019-08-29 13:11:59 +02:00 committed by GitHub
commit 761d3da677
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,14 @@
#version 310 es
#extension GL_EXT_post_depth_coverage : require
#extension GL_OES_sample_variables : require
precision mediump float;
precision highp int;
layout(early_fragment_tests, post_depth_coverage) in;
layout(location = 0) out vec4 FragColor;
void main()
{
FragColor = vec4(float(gl_SampleMaskIn[0]));
}

View File

@ -1,5 +1,9 @@
#version 450
#if defined(GL_ARB_post_depth_coverge)
#extension GL_ARB_post_depth_coverage : require
#else
#extension GL_EXT_post_depth_coverage : require
#endif
layout(early_fragment_tests, post_depth_coverage) in;
layout(location = 0) out vec4 FragColor;

View File

@ -0,0 +1,14 @@
#version 310 es
#extension GL_EXT_post_depth_coverage : require
#extension GL_OES_sample_variables : require
precision mediump float;
precision highp int;
layout(early_fragment_tests, post_depth_coverage) in;
layout(location = 0) out vec4 FragColor;
void main()
{
FragColor = vec4(float(gl_SampleMaskIn[0]));
}

View File

@ -1,5 +1,9 @@
#version 450
#if defined(GL_ARB_post_depth_coverge)
#extension GL_ARB_post_depth_coverage : require
#else
#extension GL_EXT_post_depth_coverage : require
#endif
layout(early_fragment_tests, post_depth_coverage) in;
layout(location = 0) out vec4 FragColor;

View File

@ -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]);
}

View File

@ -640,6 +640,19 @@ void CompilerGLSL::emit_header()
statement("#endif");
}
}
else if (ext == "GL_ARB_post_depth_coverage")
{
if (options.es)
statement("#extension GL_EXT_post_depth_coverage : require");
else
{
statement("#if defined(GL_ARB_post_depth_coverge)");
statement("#extension GL_ARB_post_depth_coverage : require");
statement("#else");
statement("#extension GL_EXT_post_depth_coverage : require");
statement("#endif");
}
}
else
statement("#extension ", ext, " : require");
}