Merge "GLES2/3: error on declarations with unspecified precision" am: efe17a0a13...
authorKai Ninomiya <kainino@chromium.org>
Fri, 2 Feb 2018 19:12:19 +0000 (19:12 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Fri, 2 Feb 2018 19:12:19 +0000 (19:12 +0000)
am: 1fd2148761

Change-Id: Ia38b23eb3c4eef084b1c74d55f5c7d50f5d4bc33

android/cts/master/gles2-master.txt
android/cts/master/gles3-master.txt
data/gles2/shaders/declarations.test
data/gles3/shaders/declarations.test

index f5b29ed..e007b1b 100644 (file)
@@ -1115,6 +1115,11 @@ dEQP-GLES2.functional.shaders.declarations.invalid_declarations.uniform_in_verte
 dEQP-GLES2.functional.shaders.declarations.invalid_declarations.uniform_in_fragment_main
 dEQP-GLES2.functional.shaders.declarations.invalid_declarations.varying_in_vertex_main
 dEQP-GLES2.functional.shaders.declarations.invalid_declarations.varying_in_fragment_main
+dEQP-GLES2.functional.shaders.declarations.unspecified_precision.float_partially_specified_fragment
+dEQP-GLES2.functional.shaders.declarations.unspecified_precision.float_fragment
+dEQP-GLES2.functional.shaders.declarations.unspecified_precision.vec2_fragment
+dEQP-GLES2.functional.shaders.declarations.unspecified_precision.vec3_fragment
+dEQP-GLES2.functional.shaders.declarations.unspecified_precision.vec4_fragment
 dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_x_vertex
 dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_x_fragment
 dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xx_vertex
index 6854ecf..2ce0ce6 100644 (file)
@@ -2832,6 +2832,37 @@ dEQP-GLES3.functional.shaders.declarations.invalid_declarations.uniform_block_ar
 dEQP-GLES3.functional.shaders.declarations.invalid_declarations.uniform_block_array_without_instance_name_2_fragment
 dEQP-GLES3.functional.shaders.declarations.invalid_declarations.uniform_block_in_vertex
 dEQP-GLES3.functional.shaders.declarations.invalid_declarations.uniform_block_in_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.float_partially_specified_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.float_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.vec2_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.vec3_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.vec4_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler3D_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler3D_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.samplerCubeShadow_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.samplerCubeShadow_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler2DShadow_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler2DShadow_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler2DArray_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler2DArray_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler2DArrayShadow_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.sampler2DArrayShadow_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isampler2D_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isampler2D_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isampler3D_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isampler3D_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isamplerCube_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isamplerCube_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isampler2DArray_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.isampler2DArray_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usampler2D_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usampler2D_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usampler3D_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usampler3D_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usamplerCube_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usamplerCube_fragment
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usampler2DArray_vertex
+dEQP-GLES3.functional.shaders.declarations.unspecified_precision.usampler2DArray_fragment
 dEQP-GLES3.functional.shaders.swizzles.vector_swizzles.mediump_vec2_x_vertex
 dEQP-GLES3.functional.shaders.swizzles.vector_swizzles.mediump_vec2_x_fragment
 dEQP-GLES3.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xx_vertex
index 4dfb0a4..80c513f 100644 (file)
@@ -138,3 +138,63 @@ group invalid_declarations "Invalid declarations"
        end
 
 end # invalid_declarations
+
+group unspecified_precision "Invalid declarations with unspecified precision"
+
+       case float_partially_specified_fragment
+               expect compile_fail
+               vertex ""
+                       ${VERTEX_DECLARATIONS}
+                       void main() {}
+               ""
+               fragment ""
+                       // no global precision qualifier (e.g. precision mediump float)
+                       void main() {
+                               mediump float x = 1.0;
+                               vec3 y = vec3(x);
+                               mediump vec4 z = vec4(y, x);
+                       }
+               ""
+       end
+
+       case float_fragment
+               expect compile_fail
+               vertex ""
+                       void main() {}
+               ""
+               fragment ""
+                       void main() { float v; }
+               ""
+       end
+
+       case vec2_fragment
+               expect compile_fail
+               vertex ""
+                       void main() {}
+               ""
+               fragment ""
+                       void main() { vec2 v; }
+               ""
+       end
+
+       case vec3_fragment
+               expect compile_fail
+               vertex ""
+                       void main() {}
+               ""
+               fragment ""
+                       void main() { vec3 v; }
+               ""
+       end
+
+       case vec4_fragment
+               expect compile_fail
+               vertex ""
+                       void main() {}
+               ""
+               fragment ""
+                       void main() { vec4 v; }
+               ""
+       end
+
+end # unspecified_precision
index 86f98d9..22945c8 100644 (file)
@@ -589,3 +589,208 @@ group invalid_declarations "Invalid declarations"
        end
 
 end # invalid_declarations
+
+group unspecified_precision "Invalid declarations with unspecified precision"
+
+       case float_partially_specified_fragment
+               version 300 es
+               expect compile_fail
+               vertex ""
+                       #version 300 es
+                       ${VERTEX_DECLARATIONS}
+                       void main() {}
+               ""
+               fragment ""
+                       #version 300 es
+                       // no global precision qualifier (e.g. precision mediump float)
+                       void main() {
+                               mediump float x = 1.0;
+                               vec3 y = vec3(x);
+                               mediump vec4 z = vec4(y, x);
+                       }
+               ""
+       end
+
+       case float_fragment
+               version 300 es
+               expect compile_fail
+               vertex ""
+                       #version 300 es
+                       void main() {}
+               ""
+               fragment ""
+                       #version 300 es
+                       void main() { float v; }
+               ""
+       end
+
+       case vec2_fragment
+               version 300 es
+               expect compile_fail
+               vertex ""
+                       #version 300 es
+                       void main() {}
+               ""
+               fragment ""
+                       #version 300 es
+                       void main() { vec2 v; }
+               ""
+       end
+
+       case vec3_fragment
+               version 300 es
+               expect compile_fail
+               vertex ""
+                       #version 300 es
+                       void main() {}
+               ""
+               fragment ""
+                       #version 300 es
+                       void main() { vec3 v; }
+               ""
+       end
+
+       case vec4_fragment
+               version 300 es
+               expect compile_fail
+               vertex ""
+                       #version 300 es
+                       void main() {}
+               ""
+               fragment ""
+                       #version 300 es
+                       void main() { vec4 v; }
+               ""
+       end
+
+       case sampler3D
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform sampler3D samp;
+                       void main() {}
+               ""
+       end
+
+       case samplerCubeShadow
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform samplerCubeShadow samp;
+                       void main() {}
+               ""
+       end
+
+       case sampler2DShadow
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform sampler2DShadow samp;
+                       void main() {}
+               ""
+       end
+
+       case sampler2DArray
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform sampler2DArray samp;
+                       void main() {}
+               ""
+       end
+
+       case sampler2DArrayShadow
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform sampler2DArrayShadow samp;
+                       void main() {}
+               ""
+       end
+
+       case isampler2D
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform isampler2D samp;
+                       void main() {}
+               ""
+       end
+
+       case isampler3D
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform isampler3D samp;
+                       void main() {}
+               ""
+       end
+
+       case isamplerCube
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform isamplerCube samp;
+                       void main() {}
+               ""
+       end
+
+       case isampler2DArray
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform isampler2DArray samp;
+                       void main() {}
+               ""
+       end
+
+       case usampler2D
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform usampler2D samp;
+                       void main() {}
+               ""
+       end
+
+       case usampler3D
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform usampler3D samp;
+                       void main() {}
+               ""
+       end
+
+       case usamplerCube
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform usamplerCube samp;
+                       void main() {}
+               ""
+       end
+
+       case usampler2DArray
+               version 300 es
+               expect compile_fail
+               both ""
+                       #version 300 es
+                       uniform usampler2DArray samp;
+                       void main() {}
+               ""
+       end
+
+end # unspecified_precision