diff options
4 files changed, 83 insertions, 0 deletions
diff --git a/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-endInvocationInterlock.frag b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-endInvocationInterlock.frag new file mode 100644 index 000000000..c2e948e25 --- /dev/null +++ b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-endInvocationInterlock.frag @@ -0,0 +1,15 @@ +// [config] +// expect_result: pass +// glsl_version: 4.20 +// require_extensions: GL_ARB_fragment_shader_interlock +// check_link: true +// [end config] + +#version 420 +#extension GL_ARB_fragment_shader_interlock: require + +void main() +{ + beginInvocationInterlockARB(); + endInvocationInterlockARB(); +} diff --git a/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-twice.frag b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-twice.frag new file mode 100644 index 000000000..52364ea12 --- /dev/null +++ b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-twice.frag @@ -0,0 +1,23 @@ +// [config] +// expect_result: fail +// glsl_version: 4.20 +// require_extensions: GL_ARB_fragment_shader_interlock +// check_link: true +// [end config] + +/* The GL_ARB_fragment_shader_interlock spec says: + * + * A compile- or link-time error will be generated if main() calls either + * function more than once, contains a call to one function without a + * matching call to the other, or calls endInvocationInterlockARB() before + * calling beginInvocationInterlockARB(). + */ +#version 420 +#extension GL_ARB_fragment_shader_interlock: require + +void main() +{ + beginInvocationInterlockARB(); + beginInvocationInterlockARB(); + endInvocationInterlockARB(); +} diff --git a/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-before-beginInvocationInterlock.frag b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-before-beginInvocationInterlock.frag new file mode 100644 index 000000000..9860050d0 --- /dev/null +++ b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-before-beginInvocationInterlock.frag @@ -0,0 +1,22 @@ +// [config] +// expect_result: fail +// glsl_version: 4.20 +// require_extensions: GL_ARB_fragment_shader_interlock +// check_link: true +// [end config] + +/* The GL_ARB_fragment_shader_interlock spec says: + * + * A compile- or link-time error will be generated if main() calls either + * function more than once, contains a call to one function without a + * matching call to the other, or calls endInvocationInterlockARB() before + * calling beginInvocationInterlockARB(). + */ +#version 420 +#extension GL_ARB_fragment_shader_interlock: require + +void main() +{ + endInvocationInterlockARB(); + beginInvocationInterlockARB(); +} diff --git a/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-twice.frag b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-twice.frag new file mode 100644 index 000000000..4ac44f38c --- /dev/null +++ b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-twice.frag @@ -0,0 +1,23 @@ +// [config] +// expect_result: fail +// glsl_version: 4.20 +// require_extensions: GL_ARB_fragment_shader_interlock +// check_link: true +// [end config] + +/* The GL_ARB_fragment_shader_interlock spec says: + * + * A compile- or link-time error will be generated if main() calls either + * function more than once, contains a call to one function without a + * matching call to the other, or calls endInvocationInterlockARB() before + * calling beginInvocationInterlockARB(). + */ +#version 420 +#extension GL_ARB_fragment_shader_interlock: require + +void main() +{ + beginInvocationInterlockARB(); + endInvocationInterlockARB(); + endInvocationInterlockARB(); +} |