# Build the test APKs using their own makefiles
# include $(call all-makefiles-under,$(LOCAL_PATH)/android)
-include $(LOCAL_PATH)/android/package/Android.mk
+include $(LOCAL_PATH)/android/package/Android.mk $(LOCAL_PATH)/android/cts/Android.mk
<option name="deqp-surface-type" value="window"/>
<option name="deqp-screen-rotation" value="unspecified"/>
<option name="runtime-hint" value="24m"/>
+ <option name="deqp-config-required" value="true"/>
</test>
<test class="com.drawelements.deqp.runner.DeqpTestRunner">
<option name="deqp-package" value="dEQP-GLES2"/>
<option name="deqp-surface-type" value="window"/>
<option name="deqp-screen-rotation" value="unspecified"/>
<option name="runtime-hint" value="40m"/>
+ <option name="deqp-config-required" value="true"/>
</test>
<test class="com.drawelements.deqp.runner.DeqpTestRunner">
<option name="deqp-package" value="dEQP-GLES3"/>
<option name="deqp-surface-type" value="window"/>
<option name="deqp-screen-rotation" value="unspecified"/>
<option name="runtime-hint" value="1h15m"/>
+ <option name="deqp-config-required" value="true"/>
</test>
<test class="com.drawelements.deqp.runner.DeqpTestRunner">
<option name="deqp-package" value="dEQP-GLES3"/>
<option name="deqp-surface-type" value="window"/>
<option name="deqp-screen-rotation" value="unspecified"/>
<option name="runtime-hint" value="7h30m"/>
+ <option name="deqp-config-required" value="true"/>
</test>
<test class="com.drawelements.deqp.runner.DeqpTestRunner">
<option name="deqp-package" value="dEQP-GLES31"/>
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
- <TestCase name="shader_image_load_store">
- <Test name="image_store">
+ <TestCase name="shader_image_load">
+ <Test name="texture_2d">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_load">
+ <Test name="texture_3d">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic">
+ <Test name="cube">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic_exchange">
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_store">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_atomic">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_exchange">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
- <TestCase name="shader_image_load_store">
- <Test name="image_store">
+ <TestCase name="shader_image_load">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_store">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_load">
+ <Test name="2d_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic">
+ <Test name="buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic_exchange">
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_atomic">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_exchange">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
- <TestCase name="shader_image_load_store">
- <Test name="image_store">
+ <TestCase name="shader_image_load">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_store">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_atomic">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_exchange">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_load">
+ <Test name="2d_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic">
+ <Test name="buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic_exchange">
+ <Test name="cube_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_bits_type
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_bits_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_bits_type
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
- <TestCase name="shader_image_load_store">
- <Test name="image_store">
+ <TestCase name="shader_image_load">
+ <Test name="texture_2d">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_load">
+ <Test name="texture_3d">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic">
+ <Test name="cube">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic_exchange">
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_store">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_atomic">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_exchange">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
- <TestCase name="shader_image_load_store">
- <Test name="image_store">
+ <TestCase name="shader_image_load">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_store">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_load">
+ <Test name="2d_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic">
+ <Test name="buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic_exchange">
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_atomic">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_exchange">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
- <TestCase name="shader_image_load_store">
- <Test name="image_store">
+ <TestCase name="shader_image_load">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_store">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_atomic">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="2d_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube_array">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="shader_image_exchange">
+ <Test name="texture_2d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="texture_3d">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="cube">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_load">
+ <Test name="2d_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic">
+ <Test name="buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
- <Test name="image_atomic_exchange">
+ <Test name="cube_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
</TestCase>
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_bits_type
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_bits_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_bits_type
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.callbacks.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_function.bitfield_extract_invalid_bits_type
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.log.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.log.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.log.shader_function.bitfield_extract_invalid_bits_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_struct
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_body_write
dEQP-GLES31.functional.debug.negative_coverage.get_error.atomic_counter.atomic_body_declare
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_store
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_load
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_atomic
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load_store.image_atomic_exchange
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_load.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_store.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_atomic.cube_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.texture_2d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.texture_3d
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.cube
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.2d_array
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.buffer
+dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_image_exchange.cube_array
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_value_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_offset_type
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_function.bitfield_extract_invalid_bits_type
description="Surface type ('window', 'pbuffer', 'fbo'). Defaults to 'window'",
importance=Option.Importance.NEVER)
private String mSurfaceType = "window";
+ @Option(name="deqp-config-required",
+ description="Is current config required if API is supported? Defaults to false.",
+ importance=Option.Importance.NEVER)
+ private boolean mConfigRequired = false;
@Option(name = "include-filter",
description="Test include filter. '*' is zero or more letters. '.' has no special meaning.")
private List<String> mIncludeFilters = new ArrayList<>();
private final String mGlConfig;
private final String mRotation;
private final String mSurfaceType;
+ private final boolean mRequired;
- public BatchRunConfiguration(String glConfig, String rotation, String surfaceType) {
+ public BatchRunConfiguration(String glConfig, String rotation, String surfaceType, boolean required) {
mGlConfig = glConfig;
mRotation = rotation;
mSurfaceType = surfaceType;
+ mRequired = required;
}
/**
* Get string that uniquely identifies this config
*/
public String getId() {
- return String.format("{glformat=%s,rotation=%s,surfacetype=%s}",
- mGlConfig, mRotation, mSurfaceType);
+ return String.format("{glformat=%s,rotation=%s,surfacetype=%s,required=%b}",
+ mGlConfig, mRotation, mSurfaceType, mRequired);
}
/**
return mSurfaceType;
}
+ /**
+ * Is this configuration mandatory to support, if target API is supported?
+ */
+ public boolean isRequired() {
+ return mRequired;
+ }
+
@Override
public boolean equals(Object other) {
if (other == null) {
}
private static Map<TestIdentifier, Set<BatchRunConfiguration>> generateTestInstances(
- Reader testlist, String configName, String screenRotation, String surfaceType) throws FileNotFoundException {
+ Reader testlist, String configName, String screenRotation, String surfaceType, boolean required) throws FileNotFoundException {
// Note: This is specifically a LinkedHashMap to guarantee that tests are iterated
// in the insertion order.
final Map<TestIdentifier, Set<BatchRunConfiguration>> instances = new LinkedHashMap<>();
while ((testName = testlistReader.readLine()) != null) {
// Test name -> testId -> only one config -> done.
final Set<BatchRunConfiguration> testInstanceSet = new LinkedHashSet<>();
- BatchRunConfiguration config = new BatchRunConfiguration(configName, screenRotation, surfaceType);
+ BatchRunConfiguration config = new BatchRunConfiguration(configName, screenRotation, surfaceType, required);
testInstanceSet.add(config);
TestIdentifier test = pathToIdentifier(testName);
instances.put(test, testInstanceSet);
if (isSupportedRunConfiguration(batch.config)) {
executeTestRunBatch(batch);
} else {
- fakePassTestRunBatch(batch);
+ if (batch.config.isRequired()) {
+ fakeFailTestRunBatch(batch);
+ } else {
+ fakePassTestRunBatch(batch);
+ }
}
}
*/
private void fakePassTestRunBatch(TestBatch batch) {
for (TestIdentifier test : batch.tests) {
- CLog.d("Skipping test '%s' invocation in config '%s'", test.toString(),
+ CLog.d("Marking '%s' invocation in config '%s' as passed without running", test.toString(),
batch.config.getId());
mInstanceListerner.skipTest(test);
}
}
/**
+ * Fail given batch tests without running it
+ */
+ private void fakeFailTestRunBatch(TestBatch batch) {
+ for (TestIdentifier test : batch.tests) {
+ CLog.d("Marking '%s' invocation in config '%s' as failed without running", test.toString(),
+ batch.config.getId());
+ mInstanceListerner.abortTest(test, "Required config not supported");
+ }
+ }
+
+ /**
* Pass all remaining tests without running them
*/
private void fakePassTests(ITestInvocationListener listener) {
}
reader = new FileReader(testlist);
}
- mTestInstances = generateTestInstances(reader, mConfigName, mScreenRotation, mSurfaceType);
+ mTestInstances = generateTestInstances(reader, mConfigName, mScreenRotation, mSurfaceType, mConfigRequired);
mCaselistReader = null;
reader.close();
}
destination.mCaselistFile = source.mCaselistFile;
destination.mScreenRotation = source.mScreenRotation;
destination.mSurfaceType = source.mSurfaceType;
+ destination.mConfigRequired = source.mConfigRequired;
destination.mIncludeFilters = new ArrayList<>(source.mIncludeFilters);
destination.mExcludeFilters = new ArrayList<>(source.mExcludeFilters);
destination.mAbi = source.mAbi;
if (!pass) {
mockListener.testFailed(testId,
- "=== with config {glformat=rgba8888d24s8,rotation=unspecified,surfacetype=window} ===\n"
+ "=== with config {glformat=rgba8888d24s8,rotation=unspecified,surfacetype=window,required=false} ===\n"
+ resultCode + ": Detail" + resultCode);
EasyMock.expectLastCall().once();
EasyMock.expectLastCall().once();
mockListener.testFailed(EasyMock.eq(testIds[i]),
- EasyMock.eq("=== with config {glformat=rgba8888d24s8,rotation=unspecified,surfacetype=window} ===\n"
+ EasyMock.eq("=== with config {glformat=rgba8888d24s8,rotation=unspecified,surfacetype=window,required=false} ===\n"
+ "Abort: Test cannot be executed"));
EasyMock.expectLastCall().once();
include $(CLEAR_VARS)
+# don't include this package in any target ??????
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
LOCAL_MODULE_TAGS := tests
+LOCAL_COMPATIBILITY_SUITE := cts
+
LOCAL_SRC_FILES := $(call all-java-files-under,src)
LOCAL_JNI_SHARED_LIBRARIES := libdeqp
void DebugTests::init (void)
{
- const vector<FunctionContainer> bufferFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeBufferApiTestFunctions());
- const vector<FunctionContainer> textureFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeTextureApiTestFunctions());
- const vector<FunctionContainer> shaderFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderApiTestFunctions());
- const vector<FunctionContainer> fragmentFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeFragmentApiTestFunctions());
- const vector<FunctionContainer> vaFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeVertexArrayApiTestFunctions());
- const vector<FunctionContainer> stateFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeStateApiTestFunctions());
- const vector<FunctionContainer> atomicCounterFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeAtomicCounterTestFunctions());
- const vector<FunctionContainer> shaderImageLoadStoreFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderImageLoadStoreTestFunctions());
- const vector<FunctionContainer> shaderFunctionFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderFunctionTestFunctions());
- const vector<FunctionContainer> shaderDirectiveFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderDirectiveTestFunctions());
- const vector<FunctionContainer> preciseFuncs = wrapCoreFunctions(NegativeTestShared::getNegativePreciseTestFunctions());
- const vector<FunctionContainer> advancedBlendFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeAdvancedBlendEquationTestFunctions());
- const vector<FunctionContainer> externalFuncs = getUserMessageFuncs();
+ const vector<FunctionContainer> bufferFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeBufferApiTestFunctions());
+ const vector<FunctionContainer> textureFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeTextureApiTestFunctions());
+ const vector<FunctionContainer> shaderFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderApiTestFunctions());
+ const vector<FunctionContainer> fragmentFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeFragmentApiTestFunctions());
+ const vector<FunctionContainer> vaFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeVertexArrayApiTestFunctions());
+ const vector<FunctionContainer> stateFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeStateApiTestFunctions());
+ const vector<FunctionContainer> atomicCounterFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeAtomicCounterTestFunctions());
+ const vector<FunctionContainer> imageLoadFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderImageLoadTestFunctions());
+ const vector<FunctionContainer> imageStoreFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderImageStoreTestFunctions());
+ const vector<FunctionContainer> imageAtomicFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderImageAtomicTestFunctions());
+ const vector<FunctionContainer> imageAtomicExchangeFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderImageAtomicExchangeTestFunctions());
+ const vector<FunctionContainer> shaderFunctionFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderFunctionTestFunctions());
+ const vector<FunctionContainer> shaderDirectiveFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeShaderDirectiveTestFunctions());
+ const vector<FunctionContainer> preciseFuncs = wrapCoreFunctions(NegativeTestShared::getNegativePreciseTestFunctions());
+ const vector<FunctionContainer> advancedBlendFuncs = wrapCoreFunctions(NegativeTestShared::getNegativeAdvancedBlendEquationTestFunctions());
+ const vector<FunctionContainer> externalFuncs = getUserMessageFuncs();
{
using namespace gls::StateQueryUtil;
tcu::TestCaseGroup* const negative = new tcu::TestCaseGroup(m_testCtx, "negative_coverage", "API error coverage with various reporting methods");
addChild(negative);
-
{
tcu::TestCaseGroup* const host = new tcu::TestCaseGroup(m_testCtx, "callbacks", "Reporting of standard API errors via callback");
host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "vertex_array", "Negative Vertex Array API Cases", vaFuncs));
host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "state", "Negative GL State API Cases", stateFuncs));
host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "atomic_counter", "Negative Atomic Counter API Cases", atomicCounterFuncs));
- host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "shader_image_load_store", "Negative Shader Image Load and Store API Cases", shaderImageLoadStoreFuncs));
+ host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "shader_image_load", "Negative Shader Image Load API Cases", imageLoadFuncs));
+ host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "shader_image_store", "Negative Shader Image Store API Cases", imageStoreFuncs));
+ host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "shader_image_atomic", "Negative Shader Image Atomic API Cases", imageAtomicFuncs));
+ host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "shader_image_exchange", "Negative Shader Image Atomic Exchange API Cases", imageAtomicExchangeFuncs));
host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "shader_function", "Negative Shader Function Cases", shaderFunctionFuncs));
host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "shader_directive", "Negative Shader Directive Cases", shaderDirectiveFuncs));
host->addChild(createChildCases(CASETYPE_CALLBACK, m_context, "precise", "Negative Precise Cases", preciseFuncs));
host->addChild(createChildCases(CASETYPE_LOG, m_context, "vertex_array", "Negative Vertex Array API Cases", vaFuncs));
host->addChild(createChildCases(CASETYPE_LOG, m_context, "state", "Negative GL State API Cases", stateFuncs));
host->addChild(createChildCases(CASETYPE_LOG, m_context, "atomic_counter", "Negative Atomic Counter API Cases", atomicCounterFuncs));
- host->addChild(createChildCases(CASETYPE_LOG, m_context, "shader_image_load_store", "Negative Shader Image Load and Store API Cases", shaderImageLoadStoreFuncs));
+ host->addChild(createChildCases(CASETYPE_LOG, m_context, "shader_image_load", "Negative Shader Image Load API Cases", imageLoadFuncs));
+ host->addChild(createChildCases(CASETYPE_LOG, m_context, "shader_image_store", "Negative Shader Image Store API Cases", imageStoreFuncs));
+ host->addChild(createChildCases(CASETYPE_LOG, m_context, "shader_image_atomic", "Negative Shader Image Atomic API Cases", imageAtomicFuncs));
+ host->addChild(createChildCases(CASETYPE_LOG, m_context, "shader_image_exchange", "Negative Shader Image Atomic Exchange API Cases", imageAtomicExchangeFuncs));
host->addChild(createChildCases(CASETYPE_LOG, m_context, "shader_function", "Negative Shader Function Cases", shaderFunctionFuncs));
host->addChild(createChildCases(CASETYPE_LOG, m_context, "shader_directive", "Negative Shader Directive Cases", shaderDirectiveFuncs));
host->addChild(createChildCases(CASETYPE_LOG, m_context, "precise", "Negative Precise Cases", preciseFuncs));
host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "vertex_array", "Negative Vertex Array API Cases", vaFuncs));
host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "state", "Negative GL State API Cases", stateFuncs));
host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "atomic_counter", "Negative Atomic Counter API Cases", atomicCounterFuncs));
- host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "shader_image_load_store", "Negative Shader Image Load and Store API Cases", shaderImageLoadStoreFuncs));
+ host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "shader_image_load", "Negative Shader Image Load API Cases", imageLoadFuncs));
+ host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "shader_image_store", "Negative Shader Image Store API Cases", imageStoreFuncs));
+ host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "shader_image_atomic", "Negative Shader Image Atomic API Cases", imageAtomicFuncs));
+ host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "shader_image_exchange", "Negative Shader Image Atomic Exchange API Cases", imageAtomicExchangeFuncs));
host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "shader_function", "Negative Shader Function Cases", shaderFunctionFuncs));
host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "shader_directive", "Negative Shader Directive Cases", shaderDirectiveFuncs));
host->addChild(createChildCases(CASETYPE_GETERROR, m_context, "precise", "Negative Precise Cases", preciseFuncs));
glu::SHADERTYPE_COMPUTE
};
-static const glu::TextureTestUtil::TextureType s_imageTypes[] =
-{
- glu::TextureTestUtil::TEXTURETYPE_2D,
- glu::TextureTestUtil::TEXTURETYPE_3D,
- glu::TextureTestUtil::TEXTURETYPE_CUBE,
- glu::TextureTestUtil::TEXTURETYPE_2D_ARRAY,
- glu::TextureTestUtil::TEXTURETYPE_BUFFER,
- glu::TextureTestUtil::TEXTURETYPE_CUBE_ARRAY
-};
-
std::string getShaderImageLayoutQualifier (const tcu::TextureFormat& format)
{
std::ostringstream qualifier;
ctx.endSection();
}
-void image_store (NegativeTestContext& ctx)
+void image_store (NegativeTestContext& ctx, glu::TextureTestUtil::TextureType imageType)
{
const tcu::TextureFormat formats[] =
{
{
for (int fmtNdx = 0; fmtNdx < DE_LENGTH_OF_ARRAY(formats); ++fmtNdx)
{
- for (int typeNdx = 0; typeNdx < DE_LENGTH_OF_ARRAY(s_imageTypes); ++typeNdx)
- {
- testShader(ctx, IMAGE_OPERATION_STORE, memoryOptions[memoryNdx], s_imageTypes[typeNdx], formats[fmtNdx]);
- }
+ testShader(ctx, IMAGE_OPERATION_STORE, memoryOptions[memoryNdx], imageType, formats[fmtNdx]);
}
}
ctx.endSection();
}
-void image_load (NegativeTestContext& ctx)
+void image_load (NegativeTestContext& ctx, glu::TextureTestUtil::TextureType imageType)
{
const tcu::TextureFormat formats[] =
{
{
for (int fmtNdx = 0; fmtNdx < DE_LENGTH_OF_ARRAY(formats); ++fmtNdx)
{
- for (int typeNdx = 0; typeNdx < DE_LENGTH_OF_ARRAY(s_imageTypes); ++typeNdx)
- {
- testShader(ctx, IMAGE_OPERATION_LOAD, memoryOptions[memoryNdx], s_imageTypes[typeNdx], formats[fmtNdx]);
- }
+ testShader(ctx, IMAGE_OPERATION_LOAD, memoryOptions[memoryNdx], imageType, formats[fmtNdx]);
}
}
ctx.endSection();
}
-void image_atomic (NegativeTestContext& ctx)
+void image_atomic (NegativeTestContext& ctx, glu::TextureTestUtil::TextureType imageType)
{
const tcu::TextureFormat formats[] =
{
{
for (int fmtNdx = 0; fmtNdx < DE_LENGTH_OF_ARRAY(formats); ++fmtNdx)
{
- for (int typeNdx = 0; typeNdx < DE_LENGTH_OF_ARRAY(s_imageTypes); ++typeNdx)
+ for (int functionNdx = 0; functionNdx < DE_LENGTH_OF_ARRAY(imageOperations); ++functionNdx)
{
- for (int functionNdx = 0; functionNdx < DE_LENGTH_OF_ARRAY(imageOperations); ++functionNdx)
- {
- testShader(ctx, imageOperations[functionNdx], memoryOptions[memoryNdx], s_imageTypes[typeNdx], formats[fmtNdx]);
- }
+ testShader(ctx, imageOperations[functionNdx], memoryOptions[memoryNdx], imageType, formats[fmtNdx]);
}
}
}
ctx.endSection();
}
-void image_atomic_exchange (NegativeTestContext& ctx)
+void image_atomic_exchange (NegativeTestContext& ctx, glu::TextureTestUtil::TextureType imageType)
{
const tcu::TextureFormat formats[] =
{
{
for (int fmtNdx = 0; fmtNdx < DE_LENGTH_OF_ARRAY(formats); ++fmtNdx)
{
- for (int typeNdx = 0; typeNdx < DE_LENGTH_OF_ARRAY(s_imageTypes); ++typeNdx)
- {
- testShader(ctx, IMAGE_OPERATION_ATOMIC_EXCHANGE, memoryOptions[memoryNdx], s_imageTypes[typeNdx], formats[fmtNdx]);
- }
+ testShader(ctx, IMAGE_OPERATION_ATOMIC_EXCHANGE, memoryOptions[memoryNdx], imageType, formats[fmtNdx]);
}
}
ctx.endSection();
}
+// Re-routing function template for generating the standard negative
+// test function signature with texture type added.
+
+template <int Type>
+void loadFuncWrapper (NegativeTestContext& ctx)
+{
+ image_load(ctx, (glu::TextureTestUtil::TextureType)Type);
+}
+
+template <int Type>
+void storeFuncWrapper (NegativeTestContext& ctx)
+{
+ image_store(ctx, (glu::TextureTestUtil::TextureType)Type);
+}
+
+template <int Type>
+void atomicFuncWrapper (NegativeTestContext& ctx)
+{
+ image_atomic(ctx, (glu::TextureTestUtil::TextureType)Type);
+}
+
+template <int Type>
+void atomicExchangeFuncWrapper (NegativeTestContext& ctx)
+{
+ image_atomic_exchange(ctx, (glu::TextureTestUtil::TextureType)Type);
+}
+
} // anonymous
-std::vector<FunctionContainer> getNegativeShaderImageLoadStoreTestFunctions (void)
+// Set of texture types to create tests for.
+#define CREATE_TEST_FUNC_PER_TEXTURE_TYPE(NAME, FUNC) const FunctionContainer NAME[] = \
+ { \
+ {FUNC<glu::TextureTestUtil::TEXTURETYPE_2D>, "texture_2d", "Texture2D negative tests."}, \
+ {FUNC<glu::TextureTestUtil::TEXTURETYPE_3D>, "texture_3d", "Texture3D negative tests."}, \
+ {FUNC<glu::TextureTestUtil::TEXTURETYPE_CUBE>, "cube", "Cube texture negative tests."}, \
+ {FUNC<glu::TextureTestUtil::TEXTURETYPE_2D_ARRAY>, "2d_array", "2D array texture negative tests."}, \
+ {FUNC<glu::TextureTestUtil::TEXTURETYPE_BUFFER>, "buffer", "Buffer negative tests."}, \
+ {FUNC<glu::TextureTestUtil::TEXTURETYPE_CUBE_ARRAY>, "cube_array", "Cube array texture negative tests."} \
+ }
+
+std::vector<FunctionContainer> getNegativeShaderImageLoadTestFunctions (void)
{
- const FunctionContainer funcs[] =
- {
- {image_store, "image_store", "Test incorrect usage of imageStore()" },
- {image_load, "image_load", "Test incorrect usage of imageLoad()" },
- {image_atomic, "image_atomic", "Test incorrect usage of imageAtomic*()" },
- {image_atomic_exchange, "image_atomic_exchange", "Test incorrect usage of imageAtomicExchange()" },
- };
+ CREATE_TEST_FUNC_PER_TEXTURE_TYPE(funcs, loadFuncWrapper);
+ return std::vector<FunctionContainer>(DE_ARRAY_BEGIN(funcs), DE_ARRAY_END(funcs));
+}
+std::vector<FunctionContainer> getNegativeShaderImageStoreTestFunctions (void)
+{
+ CREATE_TEST_FUNC_PER_TEXTURE_TYPE(funcs, storeFuncWrapper);
+ return std::vector<FunctionContainer>(DE_ARRAY_BEGIN(funcs), DE_ARRAY_END(funcs));
+}
+
+std::vector<FunctionContainer> getNegativeShaderImageAtomicTestFunctions (void)
+{
+ CREATE_TEST_FUNC_PER_TEXTURE_TYPE(funcs, atomicFuncWrapper);
+ return std::vector<FunctionContainer>(DE_ARRAY_BEGIN(funcs), DE_ARRAY_END(funcs));
+}
+
+std::vector<FunctionContainer> getNegativeShaderImageAtomicExchangeTestFunctions (void)
+{
+ CREATE_TEST_FUNC_PER_TEXTURE_TYPE(funcs, atomicExchangeFuncWrapper);
return std::vector<FunctionContainer>(DE_ARRAY_BEGIN(funcs), DE_ARRAY_END(funcs));
}
namespace NegativeTestShared
{
-std::vector<FunctionContainer> getNegativeShaderImageLoadStoreTestFunctions (void);
+std::vector<FunctionContainer> getNegativeShaderImageLoadTestFunctions (void);
+std::vector<FunctionContainer> getNegativeShaderImageStoreTestFunctions (void);
+std::vector<FunctionContainer> getNegativeShaderImageAtomicTestFunctions (void);
+std::vector<FunctionContainer> getNegativeShaderImageAtomicExchangeTestFunctions (void);
} // NegativeTestShared
} // Functional
glconfig = "rgba8888d24s8ms0",
rotation = "unspecified",
surfacetype = "window",
+ required = True,
filters = MASTER_EGL_COMMON_FILTERS,
runtime = "24m"),
])
glconfig = "rgba8888d24s8ms0",
rotation = "unspecified",
surfacetype = "window",
+ required = True,
filters = MASTER_GLES2_COMMON_FILTERS,
runtime = "40m"),
])
glconfig = "rgba8888d24s8ms0",
rotation = "unspecified",
surfacetype = "window",
+ required = True,
filters = MASTER_GLES3_COMMON_FILTERS,
runtime = "1h15m"),
# Rotations
glconfig = "rgba8888d24s8ms0",
rotation = "unspecified",
surfacetype = "window",
+ required = True,
filters = MASTER_GLES31_COMMON_FILTERS,
runtime = "7h30m"),
self.copyright = copyright
class Configuration:
- def __init__ (self, name, filters, glconfig = None, rotation = None, surfacetype = None, runtime = None):
- self.name = name
- self.glconfig = glconfig
- self.rotation = rotation
- self.surfacetype = surfacetype
- self.filters = filters
- self.expectedRuntime = runtime
+ def __init__ (self, name, filters, glconfig = None, rotation = None, surfacetype = None, required = False, runtime = None):
+ self.name = name
+ self.glconfig = glconfig
+ self.rotation = rotation
+ self.surfacetype = surfacetype
+ self.required = required
+ self.filters = filters
+ self.expectedRuntime = runtime
class Package:
def __init__ (self, module, configurations):
if config.expectedRuntime != None:
addOptionElement(testElement, "runtime-hint", config.expectedRuntime)
+ if config.required:
+ addOptionElement(testElement, "deqp-config-required", "true")
+
insertXMLHeaders(mustpass, configElement)
return configElement