Merge tag 'android-security-10.0.0_r53' into int/10/fp2
Android security 10.0.0 release 53
* tag 'android-security-10.0.0_r53':
Change-Id: Id65c963a8278a501b194b55896e2a77ec84d076d
diff --git a/android/cts/master/egl-master-risky.txt b/android/cts/master/egl-master-risky.txt
index 3f002c0..e69de29 100644
--- a/android/cts/master/egl-master-risky.txt
+++ b/android/cts/master/egl-master-risky.txt
@@ -1,199 +0,0 @@
-dEQP-EGL.functional.create_surface.window.rgb565_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgb565_no_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgb565_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgb565_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgb888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgb888_no_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgb888_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgb888_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgba4444_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgba4444_no_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgba4444_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgba4444_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgba5551_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgba5551_no_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgba5551_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgba5551_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgba8888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgba8888_no_depth_stencil
-dEQP-EGL.functional.create_surface.window.rgba8888_depth_no_stencil
-dEQP-EGL.functional.create_surface.window.rgba8888_depth_stencil
-dEQP-EGL.functional.create_surface.window.other
-dEQP-EGL.functional.create_surface.pixmap.rgb565_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgb565_no_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgb565_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgb565_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgb888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgb888_no_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgb888_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgb888_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba4444_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba4444_no_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba4444_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba4444_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba5551_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba5551_no_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba5551_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba5551_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba8888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba8888_no_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba8888_depth_no_stencil
-dEQP-EGL.functional.create_surface.pixmap.rgba8888_depth_stencil
-dEQP-EGL.functional.create_surface.pixmap.other
-dEQP-EGL.functional.create_surface.pbuffer.rgb565_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgb565_no_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgb565_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgb565_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgb888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgb888_no_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgb888_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgb888_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba4444_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba4444_no_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba4444_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba4444_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba5551_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba5551_no_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba5551_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba5551_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba8888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba8888_no_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba8888_depth_no_stencil
-dEQP-EGL.functional.create_surface.pbuffer.rgba8888_depth_stencil
-dEQP-EGL.functional.create_surface.pbuffer.other
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_window.other
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_ext_pixmap.other
-dEQP-EGL.functional.create_surface.platform_window.rgb565_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgb565_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgb565_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgb565_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgb888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgb888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgb888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgb888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba4444_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba4444_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba4444_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba4444_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba5551_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba5551_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba5551_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba5551_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba8888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba8888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba8888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_window.rgba8888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_window.other
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_no_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_no_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_depth_no_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_depth_stencil
-dEQP-EGL.functional.create_surface.platform_pixmap.other
-dEQP-EGL.functional.image.api.invalid_create_image
-dEQP-EGL.functional.fence_sync.valid.create_null_attribs
-dEQP-EGL.functional.fence_sync.valid.create_empty_attribs
-dEQP-EGL.functional.fence_sync.valid.wait_no_timeout
-dEQP-EGL.functional.fence_sync.valid.wait_forever
-dEQP-EGL.functional.fence_sync.valid.wait_no_context
-dEQP-EGL.functional.fence_sync.valid.wait_forever_flush
-dEQP-EGL.functional.fence_sync.valid.get_type
-dEQP-EGL.functional.fence_sync.valid.get_status
-dEQP-EGL.functional.fence_sync.valid.get_status_signaled
-dEQP-EGL.functional.fence_sync.valid.get_condition
-dEQP-EGL.functional.fence_sync.valid.destroy
-dEQP-EGL.functional.fence_sync.valid.wait_server
-dEQP-EGL.functional.fence_sync.invalid.create_invalid_display
-dEQP-EGL.functional.fence_sync.invalid.create_invalid_type
-dEQP-EGL.functional.fence_sync.invalid.create_invalid_attribs
-dEQP-EGL.functional.fence_sync.invalid.create_invalid_context
-dEQP-EGL.functional.fence_sync.invalid.wait_invalid_display
-dEQP-EGL.functional.fence_sync.invalid.wait_invalid_sync
-dEQP-EGL.functional.fence_sync.invalid.get_invalid_display
-dEQP-EGL.functional.fence_sync.invalid.get_invalid_sync
-dEQP-EGL.functional.fence_sync.invalid.get_invalid_attribute
-dEQP-EGL.functional.fence_sync.invalid.get_invalid_value
-dEQP-EGL.functional.fence_sync.invalid.destroy_invalid_display
-dEQP-EGL.functional.fence_sync.invalid.destroy_invalid_sync
-dEQP-EGL.functional.fence_sync.invalid.wait_server_invalid_display
-dEQP-EGL.functional.fence_sync.invalid.wait_server_invalid_sync
-dEQP-EGL.functional.fence_sync.invalid.wait_server_invalid_flag
-dEQP-EGL.functional.get_proc_address.core.egl15
-dEQP-EGL.functional.reusable_sync.valid.create_null_attribs
-dEQP-EGL.functional.reusable_sync.valid.create_empty_attribs
-dEQP-EGL.functional.reusable_sync.valid.wait_no_timeout
-dEQP-EGL.functional.reusable_sync.valid.wait_forever
-dEQP-EGL.functional.reusable_sync.valid.wait_no_context
-dEQP-EGL.functional.reusable_sync.valid.wait_forever_flush
-dEQP-EGL.functional.reusable_sync.valid.get_type
-dEQP-EGL.functional.reusable_sync.valid.get_status
-dEQP-EGL.functional.reusable_sync.valid.get_status_signaled
-dEQP-EGL.functional.reusable_sync.valid.destroy
-dEQP-EGL.functional.reusable_sync.invalid.create_invalid_display
-dEQP-EGL.functional.reusable_sync.invalid.create_invalid_type
-dEQP-EGL.functional.reusable_sync.invalid.create_invalid_attribs
-dEQP-EGL.functional.reusable_sync.invalid.wait_invalid_display
-dEQP-EGL.functional.reusable_sync.invalid.wait_invalid_sync
-dEQP-EGL.functional.reusable_sync.invalid.get_invalid_display
-dEQP-EGL.functional.reusable_sync.invalid.get_invalid_sync
-dEQP-EGL.functional.reusable_sync.invalid.get_invalid_attribute
-dEQP-EGL.functional.reusable_sync.invalid.get_invalid_value
-dEQP-EGL.functional.reusable_sync.invalid.destroy_invalid_display
-dEQP-EGL.functional.reusable_sync.invalid.destroy_invalid_sync
-dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_display
-dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_sync
diff --git a/android/cts/master/egl-master.txt b/android/cts/master/egl-master.txt
index f7fc1f6..b13dec4 100644
--- a/android/cts/master/egl-master.txt
+++ b/android/cts/master/egl-master.txt
@@ -90,6 +90,153 @@
dEQP-EGL.functional.query_context.query_context.rgba8888_pixmap
dEQP-EGL.functional.query_context.query_context.rgba8888_pbuffer
dEQP-EGL.functional.query_context.query_context.other
+dEQP-EGL.functional.create_surface.window.rgb565_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgb565_no_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgb565_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgb565_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgb888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgb888_no_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgb888_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgb888_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgba4444_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgba4444_no_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgba4444_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgba4444_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgba5551_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgba5551_no_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgba5551_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgba5551_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgba8888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgba8888_no_depth_stencil
+dEQP-EGL.functional.create_surface.window.rgba8888_depth_no_stencil
+dEQP-EGL.functional.create_surface.window.rgba8888_depth_stencil
+dEQP-EGL.functional.create_surface.window.other
+dEQP-EGL.functional.create_surface.pixmap.rgb565_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgb565_no_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgb565_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgb565_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgb888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgb888_no_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgb888_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgb888_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba4444_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba4444_no_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba4444_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba4444_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba5551_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba5551_no_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba5551_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba5551_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba8888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba8888_no_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba8888_depth_no_stencil
+dEQP-EGL.functional.create_surface.pixmap.rgba8888_depth_stencil
+dEQP-EGL.functional.create_surface.pixmap.other
+dEQP-EGL.functional.create_surface.pbuffer.rgb565_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgb565_no_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgb565_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgb565_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgb888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgb888_no_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgb888_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgb888_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba4444_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba4444_no_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba4444_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba4444_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba5551_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba5551_no_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba5551_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba5551_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba8888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba8888_no_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba8888_depth_no_stencil
+dEQP-EGL.functional.create_surface.pbuffer.rgba8888_depth_stencil
+dEQP-EGL.functional.create_surface.pbuffer.other
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb565_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgb888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba4444_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba5551_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.rgba8888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_window.other
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb565_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgb888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba4444_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba5551_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.rgba8888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_ext_pixmap.other
+dEQP-EGL.functional.create_surface.platform_window.rgb565_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgb565_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgb565_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgb565_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgb888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgb888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgb888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgb888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba4444_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba4444_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba4444_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba4444_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba5551_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba5551_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba5551_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba5551_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba8888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba8888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba8888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_window.rgba8888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_window.other
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb565_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgb888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba4444_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba5551_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_no_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_no_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_depth_no_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.rgba8888_depth_stencil
+dEQP-EGL.functional.create_surface.platform_pixmap.other
dEQP-EGL.functional.query_surface.simple.window.rgb565_no_depth_no_stencil
dEQP-EGL.functional.query_surface.simple.window.rgb565_no_depth_stencil
dEQP-EGL.functional.query_surface.simple.window.rgb565_depth_no_stencil
@@ -802,6 +949,7 @@
dEQP-EGL.functional.render.multi_thread.gles2_gles3.rgba8888_pixmap
dEQP-EGL.functional.render.multi_thread.gles2_gles3.rgba8888_pbuffer
dEQP-EGL.functional.render.multi_thread.gles2_gles3.other
+dEQP-EGL.functional.image.api.invalid_create_image
dEQP-EGL.functional.image.api.create_image_gles2_tex2d_red
dEQP-EGL.functional.image.api.create_image_gles2_tex2d_rg
dEQP-EGL.functional.image.api.create_image_gles2_tex2d_luminance
@@ -2225,6 +2373,33 @@
dEQP-EGL.functional.negative_api.swap_interval
dEQP-EGL.functional.negative_api.terminate
dEQP-EGL.functional.negative_api.wait_native
+dEQP-EGL.functional.fence_sync.valid.create_null_attribs
+dEQP-EGL.functional.fence_sync.valid.create_empty_attribs
+dEQP-EGL.functional.fence_sync.valid.wait_no_timeout
+dEQP-EGL.functional.fence_sync.valid.wait_forever
+dEQP-EGL.functional.fence_sync.valid.wait_no_context
+dEQP-EGL.functional.fence_sync.valid.wait_forever_flush
+dEQP-EGL.functional.fence_sync.valid.get_type
+dEQP-EGL.functional.fence_sync.valid.get_status
+dEQP-EGL.functional.fence_sync.valid.get_status_signaled
+dEQP-EGL.functional.fence_sync.valid.get_condition
+dEQP-EGL.functional.fence_sync.valid.destroy
+dEQP-EGL.functional.fence_sync.valid.wait_server
+dEQP-EGL.functional.fence_sync.invalid.create_invalid_display
+dEQP-EGL.functional.fence_sync.invalid.create_invalid_type
+dEQP-EGL.functional.fence_sync.invalid.create_invalid_attribs
+dEQP-EGL.functional.fence_sync.invalid.create_invalid_context
+dEQP-EGL.functional.fence_sync.invalid.wait_invalid_display
+dEQP-EGL.functional.fence_sync.invalid.wait_invalid_sync
+dEQP-EGL.functional.fence_sync.invalid.get_invalid_display
+dEQP-EGL.functional.fence_sync.invalid.get_invalid_sync
+dEQP-EGL.functional.fence_sync.invalid.get_invalid_attribute
+dEQP-EGL.functional.fence_sync.invalid.get_invalid_value
+dEQP-EGL.functional.fence_sync.invalid.destroy_invalid_display
+dEQP-EGL.functional.fence_sync.invalid.destroy_invalid_sync
+dEQP-EGL.functional.fence_sync.invalid.wait_server_invalid_display
+dEQP-EGL.functional.fence_sync.invalid.wait_server_invalid_sync
+dEQP-EGL.functional.fence_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.multithread.config
dEQP-EGL.functional.multithread.pbuffer
dEQP-EGL.functional.multithread.single_window
@@ -2415,6 +2590,7 @@
dEQP-EGL.functional.get_proc_address.extension.gl_qcom_texture_foveated
dEQP-EGL.functional.get_proc_address.extension.gl_qcom_shader_framebuffer_fetch_noncoherent
dEQP-EGL.functional.get_proc_address.core.egl
+dEQP-EGL.functional.get_proc_address.core.egl15
dEQP-EGL.functional.get_proc_address.core.gles
dEQP-EGL.functional.get_proc_address.core.gles2
dEQP-EGL.functional.get_proc_address.core.gles3
@@ -3145,6 +3321,29 @@
dEQP-EGL.functional.native_coord_mapping.pbuffer_to_native_pixmap.rgba8888_depth_stencil_render
dEQP-EGL.functional.native_coord_mapping.pbuffer_to_native_pixmap.other_clear
dEQP-EGL.functional.native_coord_mapping.pbuffer_to_native_pixmap.other_render
+dEQP-EGL.functional.reusable_sync.valid.create_null_attribs
+dEQP-EGL.functional.reusable_sync.valid.create_empty_attribs
+dEQP-EGL.functional.reusable_sync.valid.wait_no_timeout
+dEQP-EGL.functional.reusable_sync.valid.wait_forever
+dEQP-EGL.functional.reusable_sync.valid.wait_no_context
+dEQP-EGL.functional.reusable_sync.valid.wait_forever_flush
+dEQP-EGL.functional.reusable_sync.valid.get_type
+dEQP-EGL.functional.reusable_sync.valid.get_status
+dEQP-EGL.functional.reusable_sync.valid.get_status_signaled
+dEQP-EGL.functional.reusable_sync.valid.destroy
+dEQP-EGL.functional.reusable_sync.invalid.create_invalid_display
+dEQP-EGL.functional.reusable_sync.invalid.create_invalid_type
+dEQP-EGL.functional.reusable_sync.invalid.create_invalid_attribs
+dEQP-EGL.functional.reusable_sync.invalid.wait_invalid_display
+dEQP-EGL.functional.reusable_sync.invalid.wait_invalid_sync
+dEQP-EGL.functional.reusable_sync.invalid.get_invalid_display
+dEQP-EGL.functional.reusable_sync.invalid.get_invalid_sync
+dEQP-EGL.functional.reusable_sync.invalid.get_invalid_attribute
+dEQP-EGL.functional.reusable_sync.invalid.get_invalid_value
+dEQP-EGL.functional.reusable_sync.invalid.destroy_invalid_display
+dEQP-EGL.functional.reusable_sync.invalid.destroy_invalid_sync
+dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_display
+dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_sync
dEQP-EGL.functional.resize.surface_size.shrink
dEQP-EGL.functional.resize.surface_size.grow
dEQP-EGL.functional.resize.surface_size.stretch_width
diff --git a/android/cts/master/src/egl-temp-excluded.txt b/android/cts/master/src/egl-temp-excluded.txt
index 3b434a7..2974117 100644
--- a/android/cts/master/src/egl-temp-excluded.txt
+++ b/android/cts/master/src/egl-temp-excluded.txt
@@ -1,8 +1 @@
# Tests to be temporarily skipped for Android CI, but still enforced in CTS.
-
-# b/128983254
-dEQP-EGL.functional.fence_sync.*
-dEQP-EGL.functional.image.api.invalid_create_image
-dEQP-EGL.functional.create_surface.*
-dEQP-EGL.functional.get_proc_address.core.egl15
-dEQP-EGL.functional.reusable_sync.*
diff --git a/android/cts/master/src/vk-excluded-tests.txt b/android/cts/master/src/vk-excluded-tests.txt
index b874e55..7175f4f 100644
--- a/android/cts/master/src/vk-excluded-tests.txt
+++ b/android/cts/master/src/vk-excluded-tests.txt
@@ -67,3 +67,6 @@
# Excluded VkRunner example tests
dEQP-VK.vkrunner-example.*
+
+# Exclude conformance version from android test, issue 1839
+dEQP-VK.api.driver_properties.conformance_version
diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt
index 806e01d..155ca4d 100755
--- a/android/cts/master/vk-master.txt
+++ b/android/cts/master/vk-master.txt
@@ -4,7 +4,10 @@
dEQP-VK.info.memory_limits
dEQP-VK.api.version_check.version
dEQP-VK.api.version_check.entry_points
-dEQP-VK.api.driver_properties.properties
+dEQP-VK.api.driver_properties.driver_id_match
+dEQP-VK.api.driver_properties.name_is_not_empty
+dEQP-VK.api.driver_properties.name_zero_terminated
+dEQP-VK.api.driver_properties.info_zero_terminated
dEQP-VK.api.smoke.create_sampler
dEQP-VK.api.smoke.create_shader
dEQP-VK.api.smoke.triangle
diff --git a/executor/tools/xeExtractValues.cpp b/executor/tools/xeExtractValues.cpp
index 64a8689..5949824 100644
--- a/executor/tools/xeExtractValues.cpp
+++ b/executor/tools/xeExtractValues.cpp
@@ -110,7 +110,7 @@
if (item.getType() == xe::ri::TYPE_SECTION)
{
const Value value = findValueByTag(static_cast<const xe::ri::Section&>(item).items, tagName);
- if (value.getType() != Value::TYPE_EMPTY)
+ if (value.getType() != Value::NUMVALTYPE_EMPTY)
return value;
}
else if (item.getType() == xe::ri::TYPE_NUMBER)
diff --git a/executor/xeTestCaseResult.cpp b/executor/xeTestCaseResult.cpp
index f007603..5e56fa4 100644
--- a/executor/xeTestCaseResult.cpp
+++ b/executor/xeTestCaseResult.cpp
@@ -71,14 +71,14 @@
{
switch (value.getType())
{
- case NumericValue::TYPE_FLOAT64:
+ case NumericValue::NUMVALTYPE_FLOAT64:
return str << std::setprecision(std::numeric_limits<double>::digits10 + 2) << value.getFloat64();
- case NumericValue::TYPE_INT64:
+ case NumericValue::NUMVALTYPE_INT64:
return str << value.getInt64();
default:
- DE_ASSERT(value.getType() == NumericValue::TYPE_EMPTY);
+ DE_ASSERT(value.getType() == NumericValue::NUMVALTYPE_EMPTY);
return str;
}
}
diff --git a/executor/xeTestCaseResult.hpp b/executor/xeTestCaseResult.hpp
index 11d68ce..eef92d7 100644
--- a/executor/xeTestCaseResult.hpp
+++ b/executor/xeTestCaseResult.hpp
@@ -163,20 +163,20 @@
public:
enum Type
{
- TYPE_EMPTY = 0,
- TYPE_INT64,
- TYPE_FLOAT64,
+ NUMVALTYPE_EMPTY = 0,
+ NUMVALTYPE_INT64,
+ NUMVALTYPE_FLOAT64,
- TYPE_LAST
+ NUMVALTYPE_LAST
};
- NumericValue (void) : m_type(TYPE_EMPTY) {}
- NumericValue (deInt64 value) : m_type(TYPE_INT64) { m_value.int64 = value; }
- NumericValue (double value) : m_type(TYPE_FLOAT64) { m_value.float64 = value; }
+ NumericValue (void) : m_type(NUMVALTYPE_EMPTY) {}
+ NumericValue (deInt64 value) : m_type(NUMVALTYPE_INT64) { m_value.int64 = value; }
+ NumericValue (double value) : m_type(NUMVALTYPE_FLOAT64) { m_value.float64 = value; }
Type getType (void) const { return m_type; }
- deInt64 getInt64 (void) const { DE_ASSERT(getType() == TYPE_INT64); return m_value.int64; }
- double getFloat64 (void) const { DE_ASSERT(getType() == TYPE_FLOAT64); return m_value.float64; }
+ deInt64 getInt64 (void) const { DE_ASSERT(getType() == NUMVALTYPE_INT64); return m_value.int64; }
+ double getFloat64 (void) const { DE_ASSERT(getType() == NUMVALTYPE_FLOAT64); return m_value.float64; }
private:
Type m_type;
diff --git a/external/vulkancts/modules/vulkan/api/vktApiDriverPropertiesTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiDriverPropertiesTests.cpp
index 248fbe6..568b9e7 100644
--- a/external/vulkancts/modules/vulkan/api/vktApiDriverPropertiesTests.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiDriverPropertiesTests.cpp
@@ -37,6 +37,15 @@
namespace
{
+enum TestType
+{
+ TEST_TYPE_DRIVER_ID_MATCH = 0,
+ TEST_TYPE_NAME_IS_NOT_EMPTY,
+ TEST_TYPE_NAME_ZERO_TERMINATED,
+ TEST_TYPE_INFO_ZERO_TERMINATED,
+ TEST_TYPE_VERSION,
+};
+
static const deUint32 knownDriverIds[] =
{
// Specified in the Vulkan registry (vk.xml)
@@ -49,6 +58,9 @@
7, // author = "Imagination Technologies" comment = "Imagination proprietary driver"
8, // author = "Qualcomm Technologies, Inc." comment = "Qualcomm proprietary driver"
9, // author = "Arm Limited" comment = "Arm proprietary driver"
+ 10, // <enum value="10" name="VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR" comment="Google LLC"/>
+ 11, // <enum value="11" name="VK_DRIVER_ID_GGP_PROPRIETARY_KHR" comment="Google LLC"/>
+ 12, // <enum value="12" name="VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR" comment="Broadcom Inc."/>
};
static const VkConformanceVersionKHR knownConformanceVersions[] =
@@ -87,15 +99,60 @@
(a.patch == b.patch));
}
-tcu::TestStatus testQueryProperties (Context& context)
+void checkSupport (Context& context, const TestType config)
{
- // Check extension support
+ DE_UNREF(config);
+ // Check extension support
if (!isDeviceExtensionSupported(context.getUsedApiVersion(), context.getDeviceExtensions(), "VK_KHR_driver_properties"))
TCU_THROW(NotSupportedError, "Unsupported extension: VK_KHR_driver_properties");
+}
+void testDriverMatch (const VkPhysicalDeviceDriverPropertiesKHR& deviceDriverProperties)
+{
+ for (const deUint32* pDriverId = knownDriverIds; pDriverId != DE_ARRAY_END(knownDriverIds); ++pDriverId)
+ {
+ if (deviceDriverProperties.driverID == *pDriverId)
+ return;
+ }
+
+ TCU_FAIL("Driver ID did not match any known driver");
+}
+
+void testNameIsNotEmpty (const VkPhysicalDeviceDriverPropertiesKHR& deviceDriverProperties)
+{
+ if (deviceDriverProperties.driverName[0] == 0)
+ TCU_FAIL("Driver name is empty");
+}
+
+void testNameZeroTerminated (const VkPhysicalDeviceDriverPropertiesKHR& deviceDriverProperties)
+{
+ if (!isNullTerminated(deviceDriverProperties.driverName, VK_MAX_DRIVER_NAME_SIZE_KHR))
+ TCU_FAIL("Driver name is not a null-terminated string");
+}
+
+void testInfoZeroTerminated (const VkPhysicalDeviceDriverPropertiesKHR& deviceDriverProperties)
+{
+ if (!isNullTerminated(deviceDriverProperties.driverInfo, VK_MAX_DRIVER_INFO_SIZE_KHR))
+ TCU_FAIL("Driver info is not a null-terminated string");
+}
+
+void testVersion (const VkPhysicalDeviceDriverPropertiesKHR& deviceDriverProperties)
+{
+ for (const VkConformanceVersionKHR* pConformanceVersion = knownConformanceVersions;
+ pConformanceVersion != DE_ARRAY_END(knownConformanceVersions);
+ ++pConformanceVersion)
+ {
+ if (deviceDriverProperties.conformanceVersion == *pConformanceVersion)
+ return;
+ }
+
+ TCU_FAIL("Wrong driver conformance version");
+}
+
+tcu::TestStatus testQueryProperties (Context& context, const TestType testType)
+{
// Query the driver properties
-
const VkPhysicalDevice physDevice = context.getPhysicalDevice();
const int memsetPattern = 0xaa;
VkPhysicalDeviceProperties2 deviceProperties2;
@@ -112,51 +169,26 @@
context.getInstanceInterface().getPhysicalDeviceProperties2(physDevice, &deviceProperties2);
// Verify the returned values
-
- bool match = false;
-
- for (const deUint32* pDriverId = knownDriverIds; (pDriverId != DE_ARRAY_END(knownDriverIds)) && !match; ++pDriverId)
+ switch (testType)
{
- if (deviceDriverProperties.driverID == *pDriverId)
- {
- match = true;
-
- if (!isNullTerminated(deviceDriverProperties.driverName, VK_MAX_DRIVER_NAME_SIZE_KHR))
- TCU_FAIL("Driver name is not a null-terminated string");
-
- if (deviceDriverProperties.driverName[0] == 0)
- TCU_FAIL("Driver name is empty");
-
- if (!isNullTerminated(deviceDriverProperties.driverInfo, VK_MAX_DRIVER_INFO_SIZE_KHR))
- TCU_FAIL("Driver info is not a null-terminated string");
-
- bool conformanceVersionMatch = false;
-
- for (const VkConformanceVersionKHR* pConformanceVersion = knownConformanceVersions;
- pConformanceVersion != DE_ARRAY_END(knownConformanceVersions);
- ++pConformanceVersion)
- {
- if (deviceDriverProperties.conformanceVersion == *pConformanceVersion)
- {
- conformanceVersionMatch = true;
- break;
- }
- }
-
- if (!conformanceVersionMatch)
- TCU_FAIL("Wrong driver conformance version");
- }
+ case TEST_TYPE_DRIVER_ID_MATCH: testDriverMatch (deviceDriverProperties); break;
+ case TEST_TYPE_NAME_IS_NOT_EMPTY: testNameIsNotEmpty (deviceDriverProperties); break;
+ case TEST_TYPE_NAME_ZERO_TERMINATED: testNameZeroTerminated (deviceDriverProperties); break;
+ case TEST_TYPE_INFO_ZERO_TERMINATED: testInfoZeroTerminated (deviceDriverProperties); break;
+ case TEST_TYPE_VERSION: testVersion (deviceDriverProperties); break;
+ default: TCU_THROW(InternalError, "Unknown test type specified");
}
- if (!match)
- TCU_FAIL("Driver ID did not match any known driver");
-
return tcu::TestStatus::pass("Pass");
}
void createTestCases (tcu::TestCaseGroup* group)
{
- addFunctionCase(group, "properties", "Query VkPhysicalDeviceDriverPropertiesKHR and check its values", testQueryProperties);
+ addFunctionCase(group, "driver_id_match", "Check driverID is supported", checkSupport, testQueryProperties, TEST_TYPE_DRIVER_ID_MATCH);
+ addFunctionCase(group, "name_is_not_empty", "Check name field is not empty", checkSupport, testQueryProperties, TEST_TYPE_NAME_IS_NOT_EMPTY);
+ addFunctionCase(group, "name_zero_terminated", "Check name field is zero-terminated", checkSupport, testQueryProperties, TEST_TYPE_NAME_ZERO_TERMINATED);
+ addFunctionCase(group, "info_zero_terminated", "Check info field is zero-terminated", checkSupport, testQueryProperties, TEST_TYPE_INFO_ZERO_TERMINATED);
+ addFunctionCase(group, "conformance_version", "Check conformanceVersion reported by driver", checkSupport, testQueryProperties, TEST_TYPE_VERSION);
}
} // anonymous
diff --git a/external/vulkancts/modules/vulkan/memory/vktMemoryAllocationTests.cpp b/external/vulkancts/modules/vulkan/memory/vktMemoryAllocationTests.cpp
index 5d6bc77..d8c22be 100644
--- a/external/vulkancts/modules/vulkan/memory/vktMemoryAllocationTests.cpp
+++ b/external/vulkancts/modules/vulkan/memory/vktMemoryAllocationTests.cpp
@@ -297,6 +297,12 @@
const VkDeviceSize allocationSize = (m_config.memorySize ? memReqs.size : (VkDeviceSize)(*m_config.memoryPercentage * (float)memoryHeap.size));
const VkDeviceSize roundedUpAllocationSize = roundUpToNextMultiple(allocationSize, m_memoryLimits.deviceMemoryAllocationGranularity);
vector<VkDeviceMemory> memoryObjects (m_config.memoryAllocationCount, (VkDeviceMemory)0);
+ deUint32 totalAllocateCount = m_config.memoryAllocationCount;
+ VkResult result = vk::VK_SUCCESS;
+ // Because of the size limitation of protect heap, we ignore the "VK_ERROR_OUT_OF_DEVICE_MEMORY"
+ // when total number of protected memory reaches 80 times.
+ const deUint32 protectHeapLimit = 80;
+
log << TestLog::Message << "Memory type index: " << m_memoryTypeIndex << TestLog::EndMessage;
@@ -345,24 +351,35 @@
m_memoryTypeIndex // memoryTypeIndex;
};
- VK_CHECK(vkd.allocateMemory(device, &alloc, (const VkAllocationCallbacks*)DE_NULL, &memoryObjects[ndx]));
+ result = vkd.allocateMemory(device, &alloc, (const VkAllocationCallbacks*)DE_NULL, &memoryObjects[ndx]);
+ if ( VK_ERROR_OUT_OF_DEVICE_MEMORY == result &&
+ (memoryType.propertyFlags & vk::VK_MEMORY_PROPERTY_PROTECTED_BIT) == vk::VK_MEMORY_PROPERTY_PROTECTED_BIT &&
+ ndx >= protectHeapLimit)
+ {
+ totalAllocateCount = (deUint32)ndx + 1;
+ break;
+ }
+ else
+ {
+ VK_CHECK(result);
+ }
TCU_CHECK(!!memoryObjects[ndx]);
}
if (m_config.order == TestConfig::ALLOC_FREE)
{
- for (size_t ndx = 0; ndx < m_config.memoryAllocationCount; ndx++)
+ for (size_t ndx = 0; ndx < totalAllocateCount; ndx++)
{
- const VkDeviceMemory mem = memoryObjects[memoryObjects.size() - 1 - ndx];
+ const VkDeviceMemory mem = memoryObjects[totalAllocateCount - 1 - ndx];
vkd.freeMemory(device, mem, (const VkAllocationCallbacks*)DE_NULL);
- memoryObjects[memoryObjects.size() - 1 - ndx] = (VkDeviceMemory)0;
+ memoryObjects[totalAllocateCount - 1 - ndx] = (VkDeviceMemory)0;
}
}
else
{
- for (size_t ndx = 0; ndx < m_config.memoryAllocationCount; ndx++)
+ for (size_t ndx = 0; ndx < totalAllocateCount; ndx++)
{
const VkDeviceMemory mem = memoryObjects[ndx];
diff --git a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSampleReadTests.cpp b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSampleReadTests.cpp
index 3a9eb88..0fb447b 100644
--- a/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSampleReadTests.cpp
+++ b/external/vulkancts/modules/vulkan/renderpass/vktRenderPassSampleReadTests.cpp
@@ -512,8 +512,8 @@
(VkPipelineMultisampleStateCreateFlags)0u,
sampleCountBitFromSampleCount(sampleCount),
- VK_FALSE,
- 0.0f,
+ VK_TRUE,
+ 1.0f,
DE_NULL,
VK_FALSE,
VK_FALSE,
@@ -796,7 +796,8 @@
SampleReadTestInstance::SampleReadTestInstance (Context& context, TestConfig config)
: TestInstance (context)
- , m_extensionSupported ((config.renderPassType == RENDERPASS_TYPE_RENDERPASS2) && context.requireDeviceExtension("VK_KHR_create_renderpass2"))
+ , m_extensionSupported (context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_SAMPLE_RATE_SHADING) &&
+ ((config.renderPassType != RENDERPASS_TYPE_RENDERPASS2) || context.requireDeviceExtension("VK_KHR_create_renderpass2")))
, m_renderPassType (config.renderPassType)
, m_sampleCount (config.sampleCount)
, m_width (32u)
diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmImageSamplerTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmImageSamplerTests.cpp
index 9d6a38f..c0a0d41 100644
--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmImageSamplerTests.cpp
+++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmImageSamplerTests.cpp
@@ -1103,7 +1103,7 @@
getDefaultColors(defaultColors);
- const map<string, string> fragments = generateGraphicsImageSamplerSource((ReadOp)opNdx, (DescriptorType)descNdx, (TestType)testNdx, DEPTH_PROPERTY_NON_DEPTH, (deUint32)resources.inputs.size(), (formatIndex + 1) % optypeimageFormatMismatchFormatCount);
+ const map<string, string> fragments = generateGraphicsImageSamplerSource((ReadOp)opNdx, (DescriptorType)descNdx, (TestType)testNdx, DEPTH_PROPERTY_NON_DEPTH, (deUint32)resources.inputs.size(), (deUint32)((formatIndex + 1) % optypeimageFormatMismatchFormatCount));
// If testing for mismatched optypeimage, ignore the rendered
// result (we're only interested to see if we crash)
diff --git a/external/vulkancts/modules/vulkan/wsi/vktWsiIncrementalPresentTests.cpp b/external/vulkancts/modules/vulkan/wsi/vktWsiIncrementalPresentTests.cpp
index dfbd98b..e07d204 100644
--- a/external/vulkancts/modules/vulkan/wsi/vktWsiIncrementalPresentTests.cpp
+++ b/external/vulkancts/modules/vulkan/wsi/vktWsiIncrementalPresentTests.cpp
@@ -585,7 +585,7 @@
DE_NULL
};
const std::vector<vk::VkViewport> viewports (1, vk::makeViewport(tcu::UVec2(width, height)));
- const std::vector<vk::VkRect2D> noScissors;
+ const std::vector<vk::VkRect2D> scissors (1, vk::makeRect2D(tcu::UVec2(width, height)));
return vk::makeGraphicsPipeline(vkd, // const DeviceInterface& vk
device, // const VkDevice device
@@ -597,7 +597,7 @@
fragmentShaderModule, // const VkShaderModule fragmentShaderModule
renderPass, // const VkRenderPass renderPass
viewports, // const std::vector<VkViewport>& viewports
- noScissors, // const std::vector<VkRect2D>& scissors
+ scissors, // const std::vector<VkRect2D>& scissors
vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, // const VkPrimitiveTopology topology
0u, // const deUint32 subpass
0u, // const deUint32 patchControlPoints
diff --git a/external/vulkancts/modules/vulkan/wsi/vktWsiSharedPresentableImageTests.cpp b/external/vulkancts/modules/vulkan/wsi/vktWsiSharedPresentableImageTests.cpp
index ed92846..1241b0f 100644
--- a/external/vulkancts/modules/vulkan/wsi/vktWsiSharedPresentableImageTests.cpp
+++ b/external/vulkancts/modules/vulkan/wsi/vktWsiSharedPresentableImageTests.cpp
@@ -498,7 +498,7 @@
DE_NULL
};
const std::vector<vk::VkViewport> viewports (1, vk::makeViewport(tcu::UVec2(width, height)));
- const std::vector<vk::VkRect2D> noScissors;
+ const std::vector<vk::VkRect2D> scissors (1, vk::makeRect2D(tcu::UVec2(width, height)));
return vk::makeGraphicsPipeline(vkd, // const DeviceInterface& vk
device, // const VkDevice device
@@ -510,7 +510,7 @@
fragmentShaderModule, // const VkShaderModule fragmentShaderModule
renderPass, // const VkRenderPass renderPass
viewports, // const std::vector<VkViewport>& viewports
- noScissors, // const std::vector<VkRect2D>& scissors
+ scissors, // const std::vector<VkRect2D>& scissors
vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, // const VkPrimitiveTopology topology
0u, // const deUint32 subpass
0u, // const deUint32 patchControlPoints
@@ -634,20 +634,23 @@
const vk::VkBool32 clipped = VK_FALSE;
vector<vk::VkSwapchainCreateInfoKHR> createInfos;
+ const deUint32 currentWidth = properties.currentExtent.width != 0xFFFFFFFFu
+ ? properties.currentExtent.width
+ : de::min(1024u, properties.minImageExtent.width + ((properties.maxImageExtent.width - properties.minImageExtent.width) / 2));
+ const deUint32 currentHeight = properties.currentExtent.height != 0xFFFFFFFFu
+ ? properties.currentExtent.height
+ : de::min(1024u, properties.minImageExtent.height + ((properties.maxImageExtent.height - properties.minImageExtent.height) / 2));
+
const deUint32 imageWidth = scaling == SCALING_NONE
- ? (properties.currentExtent.width != 0xFFFFFFFFu
- ? properties.currentExtent.width
- : de::min(1024u, properties.minImageExtent.width + ((properties.maxImageExtent.width - properties.minImageExtent.width) / 2)))
+ ? currentWidth
: (scaling == SCALING_UP
? de::max(31u, properties.minImageExtent.width)
- : properties.maxImageExtent.width);
+ : de::min(deSmallestGreaterOrEquallPowerOfTwoU32(currentWidth+1), properties.maxImageExtent.width));
const deUint32 imageHeight = scaling == SCALING_NONE
- ? (properties.currentExtent.height != 0xFFFFFFFFu
- ? properties.currentExtent.height
- : de::min(1024u, properties.minImageExtent.height + ((properties.maxImageExtent.height - properties.minImageExtent.height) / 2)))
+ ? currentHeight
: (scaling == SCALING_UP
? de::max(31u, properties.minImageExtent.height)
- : properties.maxImageExtent.height);
+ : de::min(deSmallestGreaterOrEquallPowerOfTwoU32(currentHeight+1), properties.maxImageExtent.height));
const vk::VkExtent2D imageSize = { imageWidth, imageHeight };
{
diff --git a/external/vulkancts/modules/vulkan/wsi/vktWsiSwapchainTests.cpp b/external/vulkancts/modules/vulkan/wsi/vktWsiSwapchainTests.cpp
index b9359c9..f8e6ab6 100644
--- a/external/vulkancts/modules/vulkan/wsi/vktWsiSwapchainTests.cpp
+++ b/external/vulkancts/modules/vulkan/wsi/vktWsiSwapchainTests.cpp
@@ -574,6 +574,7 @@
const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, *instHelper.instance, params.wsiType, *native.display, *native.window));
const DeviceHelper devHelper (context, instHelper.vki, *instHelper.instance, *surface);
const vector<VkSwapchainCreateInfoKHR> cases (generateSwapchainParameterCases(params.wsiType, params.dimension, instHelper.vki, devHelper.physicalDevice, *surface));
+ const VkSurfaceCapabilitiesKHR capabilities(getPhysicalDeviceSurfaceCapabilities(instHelper.vki, devHelper.physicalDevice, *surface));
for (size_t caseNdx = 0; caseNdx < cases.size(); ++caseNdx)
{
@@ -608,10 +609,32 @@
switch (propertiesResult) {
case VK_SUCCESS:
{
- const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &curParams));
+ // The maxExtents case might not be able to create the requested surface due to insufficient
+ // memory, so in this case *only* we handle the OOM exception.
+ if (params.dimension == TEST_DIMENSION_IMAGE_EXTENT &&
+ capabilities.maxImageExtent.width == curParams.imageExtent.width &&
+ capabilities.maxImageExtent.height == curParams.imageExtent.height)
+ {
+ try
+ {
+ const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &curParams));
+
+ log << TestLog::Message << subcase.str()
+ << "Creating swapchain succeeded" << TestLog::EndMessage;
+ }
+ catch (const OutOfMemoryError& e)
+ {
+ log << TestLog::Message << subcase.str() << "vkCreateSwapchainKHR with maxImageExtent encountered " << e.getError() << TestLog::EndMessage;
+ }
+ }
+ else
+ {
+ const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &curParams));
+
+ log << TestLog::Message << subcase.str()
+ << "Creating swapchain succeeded" << TestLog::EndMessage;
+ }
}
- log << TestLog::Message << subcase.str()
- << "Creating swapchain succeeeded" << TestLog::EndMessage;
break;
case VK_ERROR_FORMAT_NOT_SUPPORTED:
log << TestLog::Message << subcase.str()
diff --git a/external/vulkancts/mustpass/1.1.2/src/master.txt b/external/vulkancts/mustpass/1.1.2/src/master.txt
index 75f311b..6df5b78 100644
--- a/external/vulkancts/mustpass/1.1.2/src/master.txt
+++ b/external/vulkancts/mustpass/1.1.2/src/master.txt
@@ -4,7 +4,11 @@
dEQP-VK.info.memory_limits
dEQP-VK.api.version_check.version
dEQP-VK.api.version_check.entry_points
-dEQP-VK.api.driver_properties.properties
+dEQP-VK.api.driver_properties.driver_id_match
+dEQP-VK.api.driver_properties.name_is_not_empty
+dEQP-VK.api.driver_properties.name_zero_terminated
+dEQP-VK.api.driver_properties.info_zero_terminated
+dEQP-VK.api.driver_properties.conformance_version
dEQP-VK.api.smoke.create_sampler
dEQP-VK.api.smoke.create_shader
dEQP-VK.api.smoke.triangle
diff --git a/external/vulkancts/mustpass/1.1.2/vk-default-no-waivers.txt b/external/vulkancts/mustpass/1.1.2/vk-default-no-waivers.txt
index 5c53c88..3237f90 100644
--- a/external/vulkancts/mustpass/1.1.2/vk-default-no-waivers.txt
+++ b/external/vulkancts/mustpass/1.1.2/vk-default-no-waivers.txt
@@ -4,7 +4,11 @@
dEQP-VK.info.memory_limits
dEQP-VK.api.version_check.version
dEQP-VK.api.version_check.entry_points
-dEQP-VK.api.driver_properties.properties
+dEQP-VK.api.driver_properties.driver_id_match
+dEQP-VK.api.driver_properties.name_is_not_empty
+dEQP-VK.api.driver_properties.name_zero_terminated
+dEQP-VK.api.driver_properties.info_zero_terminated
+dEQP-VK.api.driver_properties.conformance_version
dEQP-VK.api.smoke.create_sampler
dEQP-VK.api.smoke.create_shader
dEQP-VK.api.smoke.triangle
diff --git a/external/vulkancts/mustpass/1.1.2/vk-default.txt b/external/vulkancts/mustpass/1.1.2/vk-default.txt
index 85a80df..4989809 100644
--- a/external/vulkancts/mustpass/1.1.2/vk-default.txt
+++ b/external/vulkancts/mustpass/1.1.2/vk-default.txt
@@ -4,7 +4,11 @@
dEQP-VK.info.memory_limits
dEQP-VK.api.version_check.version
dEQP-VK.api.version_check.entry_points
-dEQP-VK.api.driver_properties.properties
+dEQP-VK.api.driver_properties.driver_id_match
+dEQP-VK.api.driver_properties.name_is_not_empty
+dEQP-VK.api.driver_properties.name_zero_terminated
+dEQP-VK.api.driver_properties.info_zero_terminated
+dEQP-VK.api.driver_properties.conformance_version
dEQP-VK.api.smoke.create_sampler
dEQP-VK.api.smoke.create_shader
dEQP-VK.api.smoke.triangle
diff --git a/external/vulkancts/mustpass/1.1.3/src/excluded-tests.txt b/external/vulkancts/mustpass/1.1.3/src/excluded-tests.txt
index b6755af..6785e0d 100644
--- a/external/vulkancts/mustpass/1.1.3/src/excluded-tests.txt
+++ b/external/vulkancts/mustpass/1.1.3/src/excluded-tests.txt
@@ -38,3 +38,7 @@
dEQP-VK.pipeline.multisample.*.primitive_point_1px
dEQP-VK.pipeline.multisample.*.primitive_point_1px_sparse
+
+# VK-GL-CTS 1829
+# Test shader length is excessive, excluding until such time as the test case can be re-visited.
+dEQP-VK.ssbo.layout.random.scalar.75
diff --git a/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt b/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt
index ce88b5d..24aa466 100644
--- a/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt
+++ b/external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt
@@ -4,7 +4,11 @@
dEQP-VK.info.memory_limits
dEQP-VK.api.version_check.version
dEQP-VK.api.version_check.entry_points
-dEQP-VK.api.driver_properties.properties
+dEQP-VK.api.driver_properties.driver_id_match
+dEQP-VK.api.driver_properties.name_is_not_empty
+dEQP-VK.api.driver_properties.name_zero_terminated
+dEQP-VK.api.driver_properties.info_zero_terminated
+dEQP-VK.api.driver_properties.conformance_version
dEQP-VK.api.smoke.create_sampler
dEQP-VK.api.smoke.create_shader
dEQP-VK.api.smoke.triangle
@@ -302535,7 +302539,6 @@
dEQP-VK.ssbo.layout.random.scalar.72
dEQP-VK.ssbo.layout.random.scalar.73
dEQP-VK.ssbo.layout.random.scalar.74
-dEQP-VK.ssbo.layout.random.scalar.75
dEQP-VK.ssbo.layout.random.scalar.76
dEQP-VK.ssbo.layout.random.scalar.77
dEQP-VK.ssbo.layout.random.scalar.78
diff --git a/external/vulkancts/mustpass/1.1.3/vk-default.txt b/external/vulkancts/mustpass/1.1.3/vk-default.txt
index 3560434..f8a63c3 100644
--- a/external/vulkancts/mustpass/1.1.3/vk-default.txt
+++ b/external/vulkancts/mustpass/1.1.3/vk-default.txt
@@ -4,7 +4,11 @@
dEQP-VK.info.memory_limits
dEQP-VK.api.version_check.version
dEQP-VK.api.version_check.entry_points
-dEQP-VK.api.driver_properties.properties
+dEQP-VK.api.driver_properties.driver_id_match
+dEQP-VK.api.driver_properties.name_is_not_empty
+dEQP-VK.api.driver_properties.name_zero_terminated
+dEQP-VK.api.driver_properties.info_zero_terminated
+dEQP-VK.api.driver_properties.conformance_version
dEQP-VK.api.smoke.create_sampler
dEQP-VK.api.smoke.create_shader
dEQP-VK.api.smoke.triangle
@@ -302497,7 +302501,6 @@
dEQP-VK.ssbo.layout.random.scalar.72
dEQP-VK.ssbo.layout.random.scalar.73
dEQP-VK.ssbo.layout.random.scalar.74
-dEQP-VK.ssbo.layout.random.scalar.75
dEQP-VK.ssbo.layout.random.scalar.76
dEQP-VK.ssbo.layout.random.scalar.77
dEQP-VK.ssbo.layout.random.scalar.78
diff --git a/framework/common/tcuFormatUtil.hpp b/framework/common/tcuFormatUtil.hpp
index a45c728..df74012 100644
--- a/framework/common/tcuFormatUtil.hpp
+++ b/framework/common/tcuFormatUtil.hpp
@@ -28,6 +28,8 @@
#include <ostream>
#include <string>
+#include <sstream>
+#include <iomanip>
namespace tcu
{
@@ -43,20 +45,22 @@
std::ostream& toStream (std::ostream& stream) const
{
- return stream << this->toString();
+ DE_STATIC_ASSERT(0 < NumDigits && NumDigits <= 16);
+
+ return stream << "0x"
+ << std::right
+ << std::setfill('0')
+ << std::setw(NumDigits)
+ << std::hex
+ << value;
}
std::string toString (void) const
{
- DE_STATIC_ASSERT(0 < NumDigits && NumDigits <= 16);
+ std::stringstream stream;
- const char longFmt[] = {'0', 'x', '%', '0', '0' + NumDigits/10, '0' + NumDigits%10, 'l', 'l', 'x', 0};
- const char shortFmt[] = {'0', 'x', '%', '0', '0' + NumDigits, 'l', 'l', 'x', 0};
-
- char buf[sizeof(deUint64)*2 + 3];
- deSprintf(buf, sizeof(buf), NumDigits > 9 ? longFmt : shortFmt, value);
-
- return std::string(buf);
+ toStream(stream);
+ return stream.str();
}
private:
diff --git a/framework/common/tcuTestHierarchyIterator.cpp b/framework/common/tcuTestHierarchyIterator.cpp
index 3a72b1d..51fdf4e 100644
--- a/framework/common/tcuTestHierarchyIterator.cpp
+++ b/framework/common/tcuTestHierarchyIterator.cpp
@@ -93,7 +93,7 @@
{
// Init traverse state and "seek" to first reportable node.
NodeIter iter(&rootNode);
- iter.setState(NodeIter::STATE_ENTER); // Root is never reported
+ iter.setState(NodeIter::NISTATE_ENTER); // Root is never reported
m_sessionStack.push_back(iter);
next();
}
@@ -123,10 +123,10 @@
{
const NodeIter& iter = m_sessionStack.back();
- DE_ASSERT(iter.getState() == NodeIter::STATE_ENTER ||
- iter.getState() == NodeIter::STATE_LEAVE);
+ DE_ASSERT(iter.getState() == NodeIter::NISTATE_ENTER ||
+ iter.getState() == NodeIter::NISTATE_LEAVE);
- return iter.getState() == NodeIter::STATE_ENTER ? STATE_ENTER_NODE : STATE_LEAVE_NODE;
+ return iter.getState() == NodeIter::NISTATE_ENTER ? STATE_ENTER_NODE : STATE_LEAVE_NODE;
}
else
return STATE_FINISHED;
@@ -167,7 +167,7 @@
switch (iter.getState())
{
- case NodeIter::STATE_INIT:
+ case NodeIter::NISTATE_INIT:
{
const std::string nodePath = buildNodePath(m_sessionStack);
@@ -179,20 +179,20 @@
}
m_nodePath = nodePath;
- iter.setState(NodeIter::STATE_ENTER);
+ iter.setState(NodeIter::NISTATE_ENTER);
return; // Yield enter event
}
- case NodeIter::STATE_ENTER:
+ case NodeIter::NISTATE_ENTER:
{
if (isLeaf)
{
- iter.setState(NodeIter::STATE_LEAVE);
+ iter.setState(NodeIter::NISTATE_LEAVE);
return; // Yield leave event
}
else
{
- iter.setState(NodeIter::STATE_TRAVERSE_CHILDREN);
+ iter.setState(NodeIter::NISTATE_TRAVERSE_CHILDREN);
iter.children.clear();
switch (node->getNodeType())
@@ -208,7 +208,7 @@
break;
}
- case NodeIter::STATE_TRAVERSE_CHILDREN:
+ case NodeIter::NISTATE_TRAVERSE_CHILDREN:
{
int numChildren = (int)iter.children.size();
if (++iter.curChildNdx < numChildren)
@@ -219,7 +219,7 @@
}
else
{
- iter.setState(NodeIter::STATE_LEAVE);
+ iter.setState(NodeIter::NISTATE_LEAVE);
if (node->getNodeType() != NODETYPE_ROOT)
return; // Yield leave event
}
@@ -227,7 +227,7 @@
break;
}
- case NodeIter::STATE_LEAVE:
+ case NodeIter::NISTATE_LEAVE:
{
// Leave node.
if (!isLeaf)
diff --git a/framework/common/tcuTestHierarchyIterator.hpp b/framework/common/tcuTestHierarchyIterator.hpp
index 395f8e2..b138cba 100644
--- a/framework/common/tcuTestHierarchyIterator.hpp
+++ b/framework/common/tcuTestHierarchyIterator.hpp
@@ -131,25 +131,25 @@
{
enum State
{
- STATE_INIT = 0,
- STATE_ENTER,
- STATE_TRAVERSE_CHILDREN,
- STATE_LEAVE,
+ NISTATE_INIT = 0,
+ NISTATE_ENTER,
+ NISTATE_TRAVERSE_CHILDREN,
+ NISTATE_LEAVE,
- STATE_LAST
+ NISTATE_LAST
};
NodeIter (void)
: node (DE_NULL)
, curChildNdx (-1)
- , m_state (STATE_LAST)
+ , m_state (NISTATE_LAST)
{
}
NodeIter (TestNode* node_)
: node (node_)
, curChildNdx (-1)
- , m_state (STATE_INIT)
+ , m_state (NISTATE_INIT)
{
}
@@ -162,7 +162,7 @@
{
switch (newState)
{
- case STATE_TRAVERSE_CHILDREN:
+ case NISTATE_TRAVERSE_CHILDREN:
curChildNdx = -1;
break;
diff --git a/framework/opengl/gluDrawUtil.cpp b/framework/opengl/gluDrawUtil.cpp
index a97f9a8..0cdc501 100644
--- a/framework/opengl/gluDrawUtil.cpp
+++ b/framework/opengl/gluDrawUtil.cpp
@@ -222,7 +222,7 @@
for (InputIter cur = first; cur != end; ++cur)
{
const BindingPoint& binding = cur->binding;
- if (binding.type == BindingPoint::TYPE_NAME)
+ if (binding.type == BindingPoint::BPTYPE_NAME)
{
DE_ASSERT(binding.location >= 0);
int location = gl.getAttribLocation(program, binding.name.c_str());
@@ -258,7 +258,7 @@
{
const BindingPoint& binding = cur->binding;
- if (binding.type != BindingPoint::TYPE_LOCATION)
+ if (binding.type != BindingPoint::BPTYPE_LOCATION)
return false;
if (usedLocations.find(binding.location) != usedLocations.end())
@@ -279,7 +279,7 @@
const int size = elementSize*va.pointer.numElements;
// Must be assigned to location at this point.
- DE_ASSERT(va.binding.type == BindingPoint::TYPE_LOCATION);
+ DE_ASSERT(va.binding.type == BindingPoint::BPTYPE_LOCATION);
layout.attributes.push_back(VertexAttributeDescriptor(va.binding.location,
va.pointer.componentType,
@@ -388,7 +388,7 @@
static inline VertexAttributeDescriptor getUserPointerDescriptor (const VertexArrayBinding& vertexArray)
{
- DE_ASSERT(vertexArray.binding.type == BindingPoint::TYPE_LOCATION);
+ DE_ASSERT(vertexArray.binding.type == BindingPoint::BPTYPE_LOCATION);
return VertexAttributeDescriptor(vertexArray.binding.location,
vertexArray.pointer.componentType,
@@ -433,7 +433,7 @@
{
for (std::vector<VertexArrayBinding>::const_iterator vaIter = bindings.begin(); vaIter != bindings.end(); ++vaIter)
{
- DE_ASSERT(vaIter->binding.type == BindingPoint::TYPE_LOCATION);
+ DE_ASSERT(vaIter->binding.type == BindingPoint::BPTYPE_LOCATION);
gl.disableVertexAttribArray(vaIter->binding.location);
}
}
diff --git a/framework/opengl/gluDrawUtil.hpp b/framework/opengl/gluDrawUtil.hpp
index 7108b7e..7933a70 100644
--- a/framework/opengl/gluDrawUtil.hpp
+++ b/framework/opengl/gluDrawUtil.hpp
@@ -94,19 +94,19 @@
{
enum Type
{
- TYPE_LOCATION = 0, //!< Binding by numeric location.
- TYPE_NAME, //!< Binding by input name.
+ BPTYPE_LOCATION = 0, //!< Binding by numeric location.
+ BPTYPE_NAME, //!< Binding by input name.
- TYPE_LAST
+ BPTYPE_LAST
};
Type type; //!< Binding type (name or location).
std::string name; //!< Input name, or empty if is not binding by name.
int location; //!< Input location, or offset to named location if binding by name.
- BindingPoint (void) : type(TYPE_LAST), location (0) {}
- explicit BindingPoint (int location_) : type(TYPE_LOCATION), location(location_) {}
- explicit BindingPoint (const std::string& name_, int location_ = 0) : type(TYPE_NAME), name(name_), location(location_) {}
+ BindingPoint (void) : type(BPTYPE_LAST), location (0) {}
+ explicit BindingPoint (int location_) : type(BPTYPE_LOCATION), location(location_) {}
+ explicit BindingPoint (const std::string& name_, int location_ = 0) : type(BPTYPE_NAME), name(name_), location(location_) {}
};
struct VertexArrayPointer
diff --git a/framework/opengl/gluVarType.cpp b/framework/opengl/gluVarType.cpp
index fcb2c9c..0050432 100644
--- a/framework/opengl/gluVarType.cpp
+++ b/framework/opengl/gluVarType.cpp
@@ -29,25 +29,25 @@
{
VarType::VarType (void)
- : m_type(TYPE_LAST)
+ : m_type(VARTYPE_LAST)
{
}
VarType::VarType (const VarType& other)
- : m_type(TYPE_LAST)
+ : m_type(VARTYPE_LAST)
{
*this = other;
}
VarType::VarType (DataType basicType, Precision precision)
- : m_type(TYPE_BASIC)
+ : m_type(VARTYPE_BASIC)
{
m_data.basic.type = basicType;
m_data.basic.precision = precision;
}
VarType::VarType (const VarType& elementType, int arraySize)
- : m_type(TYPE_ARRAY)
+ : m_type(VARTYPE_ARRAY)
{
DE_ASSERT(arraySize >= 0 || arraySize == UNSIZED_ARRAY);
m_data.array.size = arraySize;
@@ -55,14 +55,14 @@
}
VarType::VarType (const StructType* structPtr)
- : m_type(TYPE_STRUCT)
+ : m_type(VARTYPE_STRUCT)
{
m_data.structPtr = structPtr;
}
VarType::~VarType (void)
{
- if (m_type == TYPE_ARRAY)
+ if (m_type == VARTYPE_ARRAY)
delete m_data.array.elementType;
}
@@ -71,12 +71,12 @@
if (this == &other)
return *this; // Self-assignment.
- VarType *oldElementType = m_type == TYPE_ARRAY ? m_data.array.elementType : DE_NULL;
+ VarType *oldElementType = m_type == VARTYPE_ARRAY ? m_data.array.elementType : DE_NULL;
m_type = other.m_type;
m_data = Data();
- if (m_type == TYPE_ARRAY)
+ if (m_type == VARTYPE_ARRAY)
{
m_data.array.elementType = new VarType(*other.m_data.array.elementType);
m_data.array.size = other.m_data.array.size;
@@ -93,10 +93,10 @@
{
switch (m_type)
{
- case TYPE_BASIC: return glu::getDataTypeScalarSize(m_data.basic.type);
- case TYPE_ARRAY: return m_data.array.elementType->getScalarSize()*m_data.array.size;
+ case VARTYPE_BASIC: return glu::getDataTypeScalarSize(m_data.basic.type);
+ case VARTYPE_ARRAY: return m_data.array.elementType->getScalarSize()*m_data.array.size;
- case TYPE_STRUCT:
+ case VARTYPE_STRUCT:
{
int size = 0;
for (StructType::ConstIterator iter = m_data.structPtr->begin(); iter != m_data.structPtr->end(); iter++)
@@ -117,15 +117,15 @@
switch (m_type)
{
- case TYPE_BASIC:
+ case VARTYPE_BASIC:
return m_data.basic.type == other.m_data.basic.type &&
m_data.basic.precision == other.m_data.basic.precision;
- case TYPE_ARRAY:
+ case VARTYPE_ARRAY:
return *m_data.array.elementType == *other.m_data.array.elementType &&
m_data.array.size == other.m_data.array.size;
- case TYPE_STRUCT:
+ case VARTYPE_STRUCT:
return m_data.structPtr == other.m_data.structPtr;
default:
diff --git a/framework/opengl/gluVarType.hpp b/framework/opengl/gluVarType.hpp
index eb2056b..4e18496 100644
--- a/framework/opengl/gluVarType.hpp
+++ b/framework/opengl/gluVarType.hpp
@@ -55,9 +55,9 @@
explicit VarType (const StructType* structPtr); //!< Struct type constructor.
~VarType (void);
- bool isBasicType (void) const { return m_type == TYPE_BASIC; }
- bool isArrayType (void) const { return m_type == TYPE_ARRAY; }
- bool isStructType (void) const { return m_type == TYPE_STRUCT; }
+ bool isBasicType (void) const { return m_type == VARTYPE_BASIC; }
+ bool isArrayType (void) const { return m_type == VARTYPE_ARRAY; }
+ bool isStructType (void) const { return m_type == VARTYPE_STRUCT; }
DataType getBasicType (void) const { DE_ASSERT(isBasicType()); return m_data.basic.type; }
Precision getPrecision (void) const { DE_ASSERT(isBasicType()); return m_data.basic.precision; }
@@ -82,11 +82,11 @@
private:
enum Type
{
- TYPE_BASIC,
- TYPE_ARRAY,
- TYPE_STRUCT,
+ VARTYPE_BASIC,
+ VARTYPE_ARRAY,
+ VARTYPE_STRUCT,
- TYPE_LAST
+ VARTYPE_LAST
};
Type m_type;
diff --git a/framework/opengl/gluVarTypeUtil.hpp b/framework/opengl/gluVarTypeUtil.hpp
index 559da7d..e969524 100644
--- a/framework/opengl/gluVarTypeUtil.hpp
+++ b/framework/opengl/gluVarTypeUtil.hpp
@@ -79,11 +79,11 @@
MATRIX_COLUMN,
VECTOR_COMPONENT,
- TYPE_LAST
+ VTCTYPE_LAST
};
VarTypeComponent (Type type_, int index_) : type(type_), index(index_) {}
- VarTypeComponent (void) : type(TYPE_LAST), index(0) {}
+ VarTypeComponent (void) : type(VTCTYPE_LAST), index(0) {}
bool operator== (const VarTypeComponent& other) const { return type == other.type && index == other.index; }
bool operator!= (const VarTypeComponent& other) const { return type != other.type || index != other.index; }
diff --git a/modules/egl/teglSimpleConfigCase.cpp b/modules/egl/teglSimpleConfigCase.cpp
index fc02455..be0e1c6 100644
--- a/modules/egl/teglSimpleConfigCase.cpp
+++ b/modules/egl/teglSimpleConfigCase.cpp
@@ -148,6 +148,11 @@
return c.colorComponentType() != EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT;
}
+static bool notYUV (const eglu::CandidateConfig& c)
+{
+ return c.get(EGL_COLOR_BUFFER_TYPE) != EGL_YUV_BUFFER_EXT;
+}
+
void getDefaultFilterLists (vector<NamedFilterList>& lists, const FilterList& baseFilters)
{
static const struct
@@ -215,7 +220,8 @@
<< notColorBits<5, 5, 5, 1>
<< notColorBits<8, 8, 8, 8>
<< isConformant
- << notFloat;
+ << notFloat
+ << notYUV;
lists.push_back(filters);
}
diff --git a/modules/gles3/functional/es3fDitheringTests.cpp b/modules/gles3/functional/es3fDitheringTests.cpp
index 5e52d9e..a677f22 100644
--- a/modules/gles3/functional/es3fDitheringTests.cpp
+++ b/modules/gles3/functional/es3fDitheringTests.cpp
@@ -105,7 +105,7 @@
static const char* getPatternTypeName (PatternType type);
private:
- bool checkColor (const tcu::Vec4& inputClr, const tcu::RGBA& renderedClr, bool logErrors) const;
+ bool checkColor (const tcu::Vec4& inputClr, const tcu::RGBA& renderedClr, bool logErrors, const bool incTol) const;
bool drawAndCheckGradient (bool isVerticallyIncreasing, const tcu::Vec4& highColor) const;
bool drawAndCheckUnicoloredQuad (const tcu::Vec4& color) const;
@@ -165,7 +165,7 @@
m_renderer = DE_NULL;
}
-bool DitheringCase::checkColor (const Vec4& inputClr, const tcu::RGBA& renderedClr, const bool logErrors) const
+bool DitheringCase::checkColor (const Vec4& inputClr, const tcu::RGBA& renderedClr, const bool logErrors, const bool incTol) const
{
const IVec4 channelBits = pixelFormatToIVec4(m_renderFormat);
bool allChannelsOk = true;
@@ -182,6 +182,12 @@
channelChoices.push_back(de::min(channelMax, (int)deFloatCeil(scaledInput)));
channelChoices.push_back(de::max(0, (int)deFloatCeil(scaledInput) - 1));
+ // Allow for more tolerance for small dimension render targets
+ if (incTol)
+ {
+ channelChoices.push_back(de::max(0,(int)deFloatCeil(scaledInput) - 2));
+ channelChoices.push_back(de::max(0,(int)deFloatCeil(scaledInput) + 1));
+ }
// If the input color results in a scaled value that is very close to an integer, account for a little bit of possible inaccuracy.
if (useRoundingMargin)
@@ -288,8 +294,9 @@
{
const float inputF = ((float)(isVerticallyIncreasing ? y : x) + 0.5f) / (float)(isVerticallyIncreasing ? renderedImg.getHeight() : renderedImg.getWidth());
const Vec4 inputClr = (1.0f-inputF)*quadClr0 + inputF*quadClr1;
+ const bool increaseTol = ((renderedImg.getWidth() < 300) || (renderedImg.getHeight() < 300)) ? true : false;
- if (!checkColor(inputClr, renderedImg.getPixel(x, y), colorChoicesOk))
+ if (!checkColor(inputClr, renderedImg.getPixel(x, y), colorChoicesOk, increaseTol))
{
errorMask.setPixel(x, y, tcu::RGBA::red());
@@ -399,7 +406,7 @@
{
for (int x = 0; x < renderedImg.getWidth(); x++)
{
- if (!checkColor(quadColor, renderedImg.getPixel(x, y), colorChoicesOk))
+ if (!checkColor(quadColor, renderedImg.getPixel(x, y), colorChoicesOk, false))
{
errorMask.setPixel(x, y, tcu::RGBA::red());
diff --git a/modules/gles3/functional/es3fNegativeTextureApiTests.cpp b/modules/gles3/functional/es3fNegativeTextureApiTests.cpp
index e14fd9d..cf8a437 100644
--- a/modules/gles3/functional/es3fNegativeTextureApiTests.cpp
+++ b/modules/gles3/functional/es3fNegativeTextureApiTests.cpp
@@ -2133,6 +2133,7 @@
{
int max3DTextureSize = m_context.getContextInfo().getInt(GL_MAX_3D_TEXTURE_SIZE) + 1;
int maxTextureSize = m_context.getContextInfo().getInt(GL_MAX_TEXTURE_SIZE) + 1;
+ int maxTextureLayers = m_context.getContextInfo().getInt(GL_MAX_ARRAY_TEXTURE_LAYERS) + 1;
m_log << TestLog::Section("", "GL_INVALID_VALUE is generated if width, height or depth is greater than GL_MAX_3D_TEXTURE_SIZE.");
glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, max3DTextureSize, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
@@ -2150,9 +2151,9 @@
expectError(GL_INVALID_VALUE);
glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 1, maxTextureSize, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
expectError(GL_INVALID_VALUE);
- glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 1, 1, maxTextureSize, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+ glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 1, 1, maxTextureLayers, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
expectError(GL_INVALID_VALUE);
- glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, maxTextureSize, maxTextureSize, maxTextureSize, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+ glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, maxTextureSize, maxTextureSize, maxTextureLayers, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
expectError(GL_INVALID_VALUE);
m_log << TestLog::EndSection;
});
@@ -2605,15 +2606,16 @@
ES3F_ADD_API_CASE(compressedteximage3d_max_width_height_depth, "Invalid glCompressedTexImage3D() usage",
{
int maxTextureSize = m_context.getContextInfo().getInt(GL_MAX_TEXTURE_SIZE) + 1;
+ int maxTextureLayers = m_context.getContextInfo().getInt(GL_MAX_ARRAY_TEXTURE_LAYERS) + 1;
m_log << TestLog::Section("", "GL_INVALID_VALUE is generated if width, height or depth is greater than GL_MAX_TEXTURE_SIZE.");
glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, maxTextureSize, 0, 0, 0, 0, 0);
expectError(GL_INVALID_VALUE);
glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, 0, maxTextureSize, 0, 0, 0, 0);
expectError(GL_INVALID_VALUE);
- glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, 0, 0, maxTextureSize, 0, 0, 0);
+ glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, 0, 0, maxTextureLayers, 0, 0, 0);
expectError(GL_INVALID_VALUE);
- glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, maxTextureSize, maxTextureSize, maxTextureSize, 0, 0, 0);
+ glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, maxTextureSize, maxTextureSize, maxTextureLayers, 0, 0, 0);
expectError(GL_INVALID_VALUE);
m_log << TestLog::EndSection;
});
diff --git a/modules/gles31/functional/es31fNegativeTextureApiTests.cpp b/modules/gles31/functional/es31fNegativeTextureApiTests.cpp
index 6a9d8ea..c2f9d47 100644
--- a/modules/gles31/functional/es31fNegativeTextureApiTests.cpp
+++ b/modules/gles31/functional/es31fNegativeTextureApiTests.cpp
@@ -2780,6 +2780,7 @@
{
int max3DTextureSize = ctx.getInteger(GL_MAX_3D_TEXTURE_SIZE) + 1;
int maxTextureSize = ctx.getInteger(GL_MAX_TEXTURE_SIZE) + 1;
+ int maxTextureLayers = ctx.getInteger(GL_MAX_ARRAY_TEXTURE_LAYERS) + 1;
ctx.beginSection("GL_INVALID_VALUE is generated if width, height or depth is greater than GL_MAX_3D_TEXTURE_SIZE.");
ctx.glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, max3DTextureSize, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
@@ -2797,9 +2798,9 @@
ctx.expectError(GL_INVALID_VALUE);
ctx.glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 1, maxTextureSize, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
ctx.expectError(GL_INVALID_VALUE);
- ctx.glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 1, 1, maxTextureSize, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+ ctx.glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, 1, 1, maxTextureLayers, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
ctx.expectError(GL_INVALID_VALUE);
- ctx.glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, maxTextureSize, maxTextureSize, maxTextureSize, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+ ctx.glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, maxTextureSize, maxTextureSize, maxTextureLayers, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
ctx.expectError(GL_INVALID_VALUE);
ctx.endSection();
}
@@ -3342,15 +3343,16 @@
void compressedteximage3d_max_width_height_depth (NegativeTestContext& ctx)
{
int maxTextureSize = ctx.getInteger(GL_MAX_TEXTURE_SIZE) + 1;
+ int maxTextureLayers = ctx.getInteger(GL_MAX_ARRAY_TEXTURE_LAYERS) + 1;
ctx.beginSection("GL_INVALID_VALUE is generated if width, height or depth is greater than GL_MAX_TEXTURE_SIZE.");
ctx.glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, maxTextureSize, 0, 0, 0, 0, 0);
ctx.expectError(GL_INVALID_VALUE);
ctx.glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, 0, maxTextureSize, 0, 0, 0, 0);
ctx.expectError(GL_INVALID_VALUE);
- ctx.glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, 0, 0, maxTextureSize, 0, 0, 0);
+ ctx.glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, 0, 0, maxTextureLayers, 0, 0, 0);
ctx.expectError(GL_INVALID_VALUE);
- ctx.glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, maxTextureSize, maxTextureSize, maxTextureSize, 0, 0, 0);
+ ctx.glCompressedTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_COMPRESSED_RGBA8_ETC2_EAC, maxTextureSize, maxTextureSize, maxTextureLayers, 0, 0, 0);
ctx.expectError(GL_INVALID_VALUE);
ctx.endSection();
}
diff --git a/modules/glshared/glsFragOpInteractionCase.cpp b/modules/glshared/glsFragOpInteractionCase.cpp
index 5b68420..563e344 100644
--- a/modules/glshared/glsFragOpInteractionCase.cpp
+++ b/modules/glshared/glsFragOpInteractionCase.cpp
@@ -313,7 +313,7 @@
for (int attribNdx = 0; attribNdx < vertexData.getNumEntries(); ++attribNdx)
{
const glu::VertexArrayBinding bindingPtr = getEntryWithPointer(vertexData, attribNdx);
- const int attribLoc = bindingPtr.binding.type == glu::BindingPoint::TYPE_NAME ? ctx.getAttribLocation(program, bindingPtr.binding.name.c_str()) : bindingPtr.binding.location;
+ const int attribLoc = bindingPtr.binding.type == glu::BindingPoint::BPTYPE_NAME ? ctx.getAttribLocation(program, bindingPtr.binding.name.c_str()) : bindingPtr.binding.location;
DE_ASSERT(bindingPtr.pointer.componentType == glu::VTX_COMP_FLOAT);