diff options
author | Pyry Haulos <phaulos@google.com> | 2014-10-06 15:13:09 -0700 |
---|---|---|
committer | Pyry Haulos <phaulos@google.com> | 2014-10-06 15:13:09 -0700 |
commit | f6981ac458964bbfe296b497bff57c8fee8eb589 (patch) | |
tree | dc02228e898a9ff5eab0ad1dd6567b21ee3dfb54 /data/gles31 | |
parent | 1bdf526ea422474296d2b88392e8f24dd4f31a99 (diff) | |
download | VK-GL-CTS-f6981ac458964bbfe296b497bff57c8fee8eb589.tar.gz VK-GL-CTS-f6981ac458964bbfe296b497bff57c8fee8eb589.tar.bz2 VK-GL-CTS-f6981ac458964bbfe296b497bff57c8fee8eb589.zip |
Update SSO tests to follow new spec language
Upcoming ES3.1 spec revision will change the interface matching rules
slightly by disallowing flat/smooth mismatch. This change removes cases
that assumed that mismatch should work, and adds additional validation
cases to check that driver indeed gives validation and draw time errors
on such mismatch.
See Khronos bug 12630.
Change-Id: I0c77c80aa7779443df4c1dac71048f0d2a380600
Diffstat (limited to 'data/gles31')
-rw-r--r-- | data/gles31/shaders/separate_shader_validation.test | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/data/gles31/shaders/separate_shader_validation.test b/data/gles31/shaders/separate_shader_validation.test index a93768ecb..690fcd831 100644 --- a/data/gles31/shaders/separate_shader_validation.test +++ b/data/gles31/shaders/separate_shader_validation.test @@ -629,6 +629,166 @@ group varying "Default block varying matching" "" end end + + case mismatch_qualifier_vertex_flat_fragment_none + version 310 es + desc "Interpolation qualifier mismatch" + expect validation_fail + + pipeline_program + active_stages {vertex} + vertex "" + #version 310 es + ${VERTEX_DECLARATIONS} + out flat highp vec4 v_val; + void main() + { + v_val = vec4(float(gl_VertexID)); + ${VERTEX_OUTPUT} + } + "" + end + pipeline_program + active_stages {fragment} + fragment "" + #version 310 es + ${FRAGMENT_DECLARATIONS} + in highp vec4 v_val; + void main() + { + ${FRAG_COLOR} = v_val; + } + "" + end + end + + case mismatch_qualifier_vertex_flat_fragment_smooth + version 310 es + desc "Interpolation qualifier mismatch" + expect validation_fail + + pipeline_program + active_stages {vertex} + vertex "" + #version 310 es + ${VERTEX_DECLARATIONS} + out flat highp vec4 v_val; + void main() + { + v_val = vec4(float(gl_VertexID)); + ${VERTEX_OUTPUT} + } + "" + end + pipeline_program + active_stages {fragment} + fragment "" + #version 310 es + ${FRAGMENT_DECLARATIONS} + in smooth highp vec4 v_val; + void main() + { + ${FRAG_COLOR} = v_val; + } + "" + end + end + + case mismatch_qualifier_vertex_flat_fragment_centroid + version 310 es + desc "Interpolation qualifier mismatch" + expect validation_fail + + pipeline_program + active_stages {vertex} + vertex "" + #version 310 es + ${VERTEX_DECLARATIONS} + out flat highp vec4 v_val; + void main() + { + v_val = vec4(float(gl_VertexID)); + ${VERTEX_OUTPUT} + } + "" + end + pipeline_program + active_stages {fragment} + fragment "" + #version 310 es + ${FRAGMENT_DECLARATIONS} + in centroid highp vec4 v_val; + void main() + { + ${FRAG_COLOR} = v_val; + } + "" + end + end + + case mismatch_qualifier_vertex_smooth_fragment_flat + version 310 es + desc "Interpolation qualifier mismatch" + expect validation_fail + + pipeline_program + active_stages {vertex} + vertex "" + #version 310 es + ${VERTEX_DECLARATIONS} + out smooth highp vec4 v_val; + void main() + { + v_val = vec4(float(gl_VertexID)); + ${VERTEX_OUTPUT} + } + "" + end + pipeline_program + active_stages {fragment} + fragment "" + #version 310 es + ${FRAGMENT_DECLARATIONS} + in flat highp vec4 v_val; + void main() + { + ${FRAG_COLOR} = v_val; + } + "" + end + end + + case mismatch_qualifier_vertex_centroid_fragment_flat + version 310 es + desc "Interpolation qualifier mismatch" + expect validation_fail + + pipeline_program + active_stages {vertex} + vertex "" + #version 310 es + ${VERTEX_DECLARATIONS} + out centroid highp vec4 v_val; + void main() + { + v_val = vec4(float(gl_VertexID)); + ${VERTEX_OUTPUT} + } + "" + end + pipeline_program + active_stages {fragment} + fragment "" + #version 310 es + ${FRAGMENT_DECLARATIONS} + in flat highp vec4 v_val; + void main() + { + ${FRAG_COLOR} = v_val; + } + "" + end + end end group io_blocks "shader io blocks" |