<Test name="egl_android_blob_cache">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="egl_android_create_native_client_buffer">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="egl_android_native_fence_sync">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="egl_android_presentation_time">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="egl_angle_query_surface_pointer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="egl_ext_device_query">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="egl_ext_image_dma_buf_import_modifiers">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="egl_ext_output_base">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="egl_khr_cl_event2">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="egl_khr_debug">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="egl_khr_fence_sync">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="egl_khr_stream">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="egl_khr_stream_attrib">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="egl_khr_stream_consumer_gltexture">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="egl_nv_post_sub_buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="egl_nv_stream_consumer_gltexture_yuv">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="egl_nv_stream_metadata">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="egl_nv_stream_reset">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="egl_nv_stream_sync">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="gl_ext_base_instance">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_ext_blend_func_extended">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="gl_ext_buffer_storage">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_ext_copy_image">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="gl_ext_primitive_bounding_box">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_ext_raster_multisample">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_ext_separate_shader_objects">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_ext_sparse_texture">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_ext_tessellation_shader">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="gl_ext_texture_buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_ext_texture_filter_minmax">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_ext_texture_view">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_intel_framebuffer_cmaa">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_intel_performance_query">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="gl_nv_conditional_render">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_nv_conservative_raster">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_nv_copy_buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="gl_nv_draw_instanced">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_nv_fragment_coverage_to_color">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_nv_framebuffer_blit">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_nv_framebuffer_mixed_samples">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_nv_framebuffer_multisample">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="gl_nv_path_rendering">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_nv_polygon_mode">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_nv_read_buffer">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_nv_sample_locations">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_nv_viewport_array">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
<Test name="gl_oes_texture_view">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
+ <Test name="gl_ovr_multiview">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="gl_qcom_alpha_test">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
dEQP-EGL.functional.multithread.single_window_context
dEQP-EGL.functional.multithread.pbuffer_single_window_context
dEQP-EGL.functional.get_proc_address.extension.egl_android_blob_cache
+dEQP-EGL.functional.get_proc_address.extension.egl_android_create_native_client_buffer
dEQP-EGL.functional.get_proc_address.extension.egl_android_native_fence_sync
+dEQP-EGL.functional.get_proc_address.extension.egl_android_presentation_time
dEQP-EGL.functional.get_proc_address.extension.egl_angle_query_surface_pointer
dEQP-EGL.functional.get_proc_address.extension.egl_ext_device_base
dEQP-EGL.functional.get_proc_address.extension.egl_ext_device_enumeration
dEQP-EGL.functional.get_proc_address.extension.egl_ext_device_query
+dEQP-EGL.functional.get_proc_address.extension.egl_ext_image_dma_buf_import_modifiers
dEQP-EGL.functional.get_proc_address.extension.egl_ext_output_base
dEQP-EGL.functional.get_proc_address.extension.egl_ext_platform_base
dEQP-EGL.functional.get_proc_address.extension.egl_ext_stream_consumer_egloutput
dEQP-EGL.functional.get_proc_address.extension.egl_ext_swap_buffers_with_damage
dEQP-EGL.functional.get_proc_address.extension.egl_hi_clientpixmap
dEQP-EGL.functional.get_proc_address.extension.egl_khr_cl_event2
+dEQP-EGL.functional.get_proc_address.extension.egl_khr_debug
dEQP-EGL.functional.get_proc_address.extension.egl_khr_fence_sync
dEQP-EGL.functional.get_proc_address.extension.egl_khr_image
dEQP-EGL.functional.get_proc_address.extension.egl_khr_image_base
dEQP-EGL.functional.get_proc_address.extension.egl_khr_partial_update
dEQP-EGL.functional.get_proc_address.extension.egl_khr_reusable_sync
dEQP-EGL.functional.get_proc_address.extension.egl_khr_stream
+dEQP-EGL.functional.get_proc_address.extension.egl_khr_stream_attrib
dEQP-EGL.functional.get_proc_address.extension.egl_khr_stream_consumer_gltexture
dEQP-EGL.functional.get_proc_address.extension.egl_khr_stream_cross_process_fd
dEQP-EGL.functional.get_proc_address.extension.egl_khr_stream_fifo
dEQP-EGL.functional.get_proc_address.extension.egl_nok_swap_region2
dEQP-EGL.functional.get_proc_address.extension.egl_nv_native_query
dEQP-EGL.functional.get_proc_address.extension.egl_nv_post_sub_buffer
+dEQP-EGL.functional.get_proc_address.extension.egl_nv_stream_consumer_gltexture_yuv
+dEQP-EGL.functional.get_proc_address.extension.egl_nv_stream_metadata
+dEQP-EGL.functional.get_proc_address.extension.egl_nv_stream_reset
dEQP-EGL.functional.get_proc_address.extension.egl_nv_stream_sync
dEQP-EGL.functional.get_proc_address.extension.egl_nv_sync
dEQP-EGL.functional.get_proc_address.extension.egl_nv_system_time
dEQP-EGL.functional.get_proc_address.extension.gl_angle_instanced_arrays
dEQP-EGL.functional.get_proc_address.extension.gl_angle_translated_shader_source
dEQP-EGL.functional.get_proc_address.extension.gl_ext_base_instance
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_blend_func_extended
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_buffer_storage
dEQP-EGL.functional.get_proc_address.extension.gl_ext_copy_image
dEQP-EGL.functional.get_proc_address.extension.gl_ext_debug_label
dEQP-EGL.functional.get_proc_address.extension.gl_ext_debug_marker
dEQP-EGL.functional.get_proc_address.extension.gl_ext_multiview_draw_buffers
dEQP-EGL.functional.get_proc_address.extension.gl_ext_occlusion_query_boolean
dEQP-EGL.functional.get_proc_address.extension.gl_ext_primitive_bounding_box
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_raster_multisample
dEQP-EGL.functional.get_proc_address.extension.gl_ext_separate_shader_objects
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_sparse_texture
dEQP-EGL.functional.get_proc_address.extension.gl_ext_tessellation_shader
dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_border_clamp
dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_buffer
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_filter_minmax
dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_view
+dEQP-EGL.functional.get_proc_address.extension.gl_intel_framebuffer_cmaa
dEQP-EGL.functional.get_proc_address.extension.gl_intel_performance_query
dEQP-EGL.functional.get_proc_address.extension.gl_khr_blend_equation_advanced
dEQP-EGL.functional.get_proc_address.extension.gl_khr_debug
dEQP-EGL.functional.get_proc_address.extension.gl_nv_bindless_texture
dEQP-EGL.functional.get_proc_address.extension.gl_nv_blend_equation_advanced
dEQP-EGL.functional.get_proc_address.extension.gl_nv_conditional_render
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_conservative_raster
dEQP-EGL.functional.get_proc_address.extension.gl_nv_copy_buffer
dEQP-EGL.functional.get_proc_address.extension.gl_nv_coverage_sample
dEQP-EGL.functional.get_proc_address.extension.gl_nv_draw_buffers
dEQP-EGL.functional.get_proc_address.extension.gl_nv_draw_instanced
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_fragment_coverage_to_color
dEQP-EGL.functional.get_proc_address.extension.gl_nv_framebuffer_blit
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_framebuffer_mixed_samples
dEQP-EGL.functional.get_proc_address.extension.gl_nv_framebuffer_multisample
dEQP-EGL.functional.get_proc_address.extension.gl_nv_instanced_arrays
dEQP-EGL.functional.get_proc_address.extension.gl_nv_internalformat_sample_query
dEQP-EGL.functional.get_proc_address.extension.gl_nv_non_square_matrices
dEQP-EGL.functional.get_proc_address.extension.gl_nv_path_rendering
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_polygon_mode
dEQP-EGL.functional.get_proc_address.extension.gl_nv_read_buffer
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_sample_locations
dEQP-EGL.functional.get_proc_address.extension.gl_nv_viewport_array
dEQP-EGL.functional.get_proc_address.extension.gl_oes_copy_image
dEQP-EGL.functional.get_proc_address.extension.gl_oes_draw_buffers_indexed
dEQP-EGL.functional.get_proc_address.extension.gl_oes_texture_buffer
dEQP-EGL.functional.get_proc_address.extension.gl_oes_texture_storage_multisample_2d_array
dEQP-EGL.functional.get_proc_address.extension.gl_oes_texture_view
+dEQP-EGL.functional.get_proc_address.extension.gl_ovr_multiview
dEQP-EGL.functional.get_proc_address.extension.gl_qcom_alpha_test
dEQP-EGL.functional.get_proc_address.core.egl
dEQP-EGL.functional.get_proc_address.core.gles
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
eglw::EGLBoolean CallLogWrapper::eglBindAPI (eglw::EGLenum api)
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
eglw::EGLBoolean eglBindAPI (eglw::EGLenum api);
eglw::EGLBoolean eglBindTexImage (eglw::EGLDisplay dpy, eglw::EGLSurface surface, eglw::EGLint buffer);
#include "egluUtil.hpp"
#include "egluConfigInfo.hpp"
#include "eglwEnums.hpp"
+#include "deSTLUtil.hpp"
#include <algorithm>
if (m_type == TYPE_CONFIG_INFO)
return m_cfg.configInfo->getAttribute(attrib);
else
- return getConfigAttribInt(*m_cfg.object.egl, m_cfg.object.display, m_cfg.object.config, attrib);
+ {
+ if (attrib == EGL_COLOR_COMPONENT_TYPE_EXT)
+ {
+ const std::vector<std::string> extensions = getDisplayExtensions(*m_cfg.object.egl, m_cfg.object.display);
+
+ if (de::contains(extensions.begin(), extensions.end(), "EGL_EXT_pixel_format_float"))
+ return getConfigAttribInt(*m_cfg.object.egl, m_cfg.object.display, m_cfg.object.config, attrib);
+ else
+ return EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
+ }
+ else
+ return getConfigAttribInt(*m_cfg.object.egl, m_cfg.object.display, m_cfg.object.config, attrib);
+ }
}
-int CandidateConfig::id (void) const { return get(EGL_CONFIG_ID); }
-int CandidateConfig::redSize (void) const { return get(EGL_RED_SIZE); }
-int CandidateConfig::greenSize (void) const { return get(EGL_GREEN_SIZE); }
-int CandidateConfig::blueSize (void) const { return get(EGL_BLUE_SIZE); }
-int CandidateConfig::alphaSize (void) const { return get(EGL_ALPHA_SIZE); }
-int CandidateConfig::depthSize (void) const { return get(EGL_DEPTH_SIZE); }
-int CandidateConfig::stencilSize (void) const { return get(EGL_STENCIL_SIZE); }
-int CandidateConfig::samples (void) const { return get(EGL_SAMPLES); }
-deUint32 CandidateConfig::renderableType (void) const { return (deUint32)get(EGL_RENDERABLE_TYPE); }
-deUint32 CandidateConfig::surfaceType (void) const { return (deUint32)get(EGL_SURFACE_TYPE); }
+int CandidateConfig::id (void) const { return get(EGL_CONFIG_ID); }
+int CandidateConfig::redSize (void) const { return get(EGL_RED_SIZE); }
+int CandidateConfig::greenSize (void) const { return get(EGL_GREEN_SIZE); }
+int CandidateConfig::blueSize (void) const { return get(EGL_BLUE_SIZE); }
+int CandidateConfig::alphaSize (void) const { return get(EGL_ALPHA_SIZE); }
+int CandidateConfig::depthSize (void) const { return get(EGL_DEPTH_SIZE); }
+int CandidateConfig::stencilSize (void) const { return get(EGL_STENCIL_SIZE); }
+int CandidateConfig::samples (void) const { return get(EGL_SAMPLES); }
+deUint32 CandidateConfig::renderableType (void) const { return (deUint32)get(EGL_RENDERABLE_TYPE); }
+deUint32 CandidateConfig::surfaceType (void) const { return (deUint32)get(EGL_SURFACE_TYPE); }
+deUint32 CandidateConfig::colorComponentType (void) const { return (deUint32)get(EGL_COLOR_COMPONENT_TYPE_EXT); }
FilterList& FilterList::operator<< (ConfigFilter filter)
{
deUint32 renderableType (void) const;
deUint32 surfaceType (void) const;
+ deUint32 colorComponentType (void) const;
tcu::RGBA colorBits (void) const { return tcu::RGBA(redSize(), greenSize(), blueSize(), alphaSize()); }
case EGL_YUV_CSC_STANDARD_EXT: return yuvCscStandard;
case EGL_YUV_PLANE_BPP_EXT: return yuvPlaneBpp;
+ // EGL_EXT_pixel_format_float
+ case EGL_COLOR_COMPONENT_TYPE_EXT: return colorComponentType;
+
default: TCU_THROW(InternalError, "Unknown attribute");
}
}
EGLU_CHECK_MSG(egl, "Failed to query EGL_EXT_yuv_surface config attribs");
}
+
+ if (de::contains(extensions.begin(), extensions.end(), "EGL_EXT_pixel_format_float"))
+ {
+ egl.getConfigAttrib(display, config, EGL_COLOR_COMPONENT_TYPE_EXT, (EGLint*)&dst->colorComponentType);
+
+ EGLU_CHECK_MSG(egl, "Failed to query EGL_EXT_pixel_format_float config attribs");
+ }
+ else
+ dst->colorComponentType = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
}
} // eglu
deUint32 yuvCscStandard;
deInt32 yuvPlaneBpp;
+ // EGL_EXT_pixel_format_float
+ deUint32 colorComponentType;
+
ConfigInfo (void)
: bufferSize (0)
, redSize (0)
, yuvDepthRange (EGL_NONE)
, yuvCscStandard (EGL_NONE)
, yuvPlaneBpp (EGL_YUV_PLANE_BPP_0_EXT)
+ , colorComponentType (EGL_NONE)
{
}
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
const char* getBooleanName (int value)
}
}
+const char* getColorComponentTypeName (int value)
+{
+ switch (value)
+ {
+ case EGL_COLOR_COMPONENT_TYPE_FIXED_EXT: return "EGL_COLOR_COMPONENT_TYPE_FIXED_EXT";
+ case EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT: return "EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT";
+ default: return DE_NULL;
+ }
+}
+
const char* getSurfaceTargetName (int value)
{
switch (value)
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
const char* getBooleanName (int value);
const char* getBoolDontCareName (int value);
const char* getSurfaceAttribName (int value);
const char* getYuvOrderName (int value);
const char* getYuvPlaneBppName (int value);
+const char* getColorComponentTypeName (int value);
const char* getSurfaceTargetName (int value);
const char* getColorBufferTypeName (int value);
const char* getConfigCaveatName (int value);
inline tcu::Format::Enum<int, 2> getSurfaceAttribStr (int value) { return tcu::Format::Enum<int, 2>(getSurfaceAttribName, value); }
inline tcu::Format::Enum<int, 2> getYuvOrderStr (int value) { return tcu::Format::Enum<int, 2>(getYuvOrderName, value); }
inline tcu::Format::Enum<int, 2> getYuvPlaneBppStr (int value) { return tcu::Format::Enum<int, 2>(getYuvPlaneBppName, value); }
+inline tcu::Format::Enum<int, 2> getColorComponentTypeStr (int value) { return tcu::Format::Enum<int, 2>(getColorComponentTypeName, value); }
inline tcu::Format::Enum<int, 2> getSurfaceTargetStr (int value) { return tcu::Format::Enum<int, 2>(getSurfaceTargetName, value); }
inline tcu::Format::Enum<int, 2> getColorBufferTypeStr (int value) { return tcu::Format::Enum<int, 2>(getColorBufferTypeName, value); }
inline tcu::Format::Enum<int, 2> getConfigCaveatStr (int value) { return tcu::Format::Enum<int, 2>(getConfigCaveatName, value); }
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
#define EGL_PBUFFER_BIT 0x0001
#define EGL_PIXMAP_BIT 0x0002
#define EGL_GL_TEXTURE_ZOFFSET 0x30BD
#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD
#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
-#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
#define EGL_FORMAT_RGB_565_KHR 0x30C1
#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
#define EGL_NATIVE_BUFFER_ANDROID 0x3140
#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
+#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
#define EGL_NO_RESET_NOTIFICATION 0x31BE
#define EGL_YUV_PLANE_BPP_0_EXT 0x331B
#define EGL_YUV_PLANE_BPP_8_EXT 0x331C
#define EGL_YUV_PLANE_BPP_10_EXT 0x331D
+#define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339
+#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
+#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
EGLBoolean bindAPI (EGLenum api) const;
EGLBoolean bindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer) const;
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
EGLBoolean FuncPtrLibrary::bindAPI (EGLenum api) const
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
typedef EGLW_APICALL EGLBoolean (EGLW_APIENTRY* eglBindAPIFunc) (EGLenum api);
typedef EGLW_APICALL EGLBoolean (EGLW_APIENTRY* eglBindTexImageFunc) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
eglBindAPIFunc bindAPI;
eglBindTexImageFunc bindTexImage;
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
dst->bindAPI = (eglBindAPIFunc) loader->get("eglBindAPI");
dst->bindTexImage = (eglBindTexImageFunc) loader->get("eglBindTexImage");
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
dst->clientWaitSyncKHR = (eglClientWaitSyncKHRFunc) loader->get("eglClientWaitSyncKHR");
dst->createImageKHR = (eglCreateImageKHRFunc) loader->get("eglCreateImageKHR");
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
virtual EGLBoolean bindAPI (EGLenum api) const = 0;
virtual EGLBoolean bindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer) const = 0;
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
{ "eglBindAPI", (deFunctionPtr)eglBindAPI },
{ "eglBindTexImage", (deFunctionPtr)eglBindTexImage },
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
{ "eglBindAPI", (deFunctionPtr)eglBindAPI },
{ "eglBindTexImage", (deFunctionPtr)eglBindTexImage },
}
}
+ static int getColorComponentTypeRank (EGLenum compType)
+ {
+ switch (compType)
+ {
+ case EGL_COLOR_COMPONENT_TYPE_FIXED_EXT: return 0;
+ case EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT: return 1;
+ default:
+ TCU_THROW(TestError, (std::string("Unknown color component type: ") + eglu::getColorComponentTypeStr(compType).toString()).c_str());
+ }
+ }
+
typedef bool (*CompareFunc) (const SurfaceConfig& a, const SurfaceConfig& b);
static bool compareCaveat (const SurfaceConfig& a, const SurfaceConfig& b)
return getYuvOrderRank((EGLenum)a.m_info.yuvOrder) < getYuvOrderRank((EGLenum)b.m_info.yuvOrder);
}
+ static bool compareColorComponentType (const SurfaceConfig& a, const SurfaceConfig& b)
+ {
+ return getColorComponentTypeRank((EGLenum)a.m_info.colorComponentType) < getColorComponentTypeRank((EGLenum)b.m_info.colorComponentType);
+ }
+
static bool compareColorBufferBits (const SurfaceConfig& a, const SurfaceConfig& b, const tcu::BVec4& specifiedRGBColors, const tcu::BVec2& specifiedLuminanceColors, bool yuvPlaneBppSpecified)
{
DE_ASSERT(a.m_info.colorBufferType == b.m_info.colorBufferType);
{
SurfaceConfig::compareCaveat,
SurfaceConfig::compareColorBufferType,
+ SurfaceConfig::compareColorComponentType,
DE_NULL, // SurfaceConfig::compareColorBufferBits,
SurfaceConfig::compareAttributeSmaller<EGL_BUFFER_SIZE>,
SurfaceConfig::compareAttributeSmaller<EGL_SAMPLE_BUFFERS>,
rules[EGL_YUV_CSC_STANDARD_EXT] = AttribRule(EGL_YUV_CSC_STANDARD_EXT, EGL_DONT_CARE, CRITERIA_EXACT, SORTORDER_NONE);
rules[EGL_YUV_PLANE_BPP_EXT] = AttribRule(EGL_YUV_PLANE_BPP_EXT, EGL_DONT_CARE, CRITERIA_AT_LEAST, SORTORDER_SPECIAL); // 3
+ // EGL_EXT_pixel_format_float
+ rules[EGL_COLOR_COMPONENT_TYPE_EXT] = AttribRule(EGL_COLOR_COMPONENT_TYPE_EXT, EGL_COLOR_COMPONENT_TYPE_FIXED_EXT, CRITERIA_EXACT, SORTORDER_SPECIAL); // 2
+
return rules;
}
private:
/* WARNING: This is auto-generated file. Do not modify, since changes will
* be lost! Modify the generating script instead.
*
- * Generated from Khronos EGL API description (egl.xml) revision 31042.
+ * Generated from Khronos EGL API description (egl.xml) revision 33315.
*/
static const char* s_EGL14[] =
"eglSetBlobCacheFuncsANDROID",
};
+static const char* s_EGL_ANDROID_create_native_client_buffer[] =
+{
+ "eglCreateNativeClientBufferANDROID",
+};
+
static const char* s_EGL_ANDROID_native_fence_sync[] =
{
"eglDupNativeFenceFDANDROID",
};
+static const char* s_EGL_ANDROID_presentation_time[] =
+{
+ "eglPresentationTimeANDROID",
+};
+
static const char* s_EGL_ANGLE_query_surface_pointer[] =
{
"eglQuerySurfacePointerANGLE",
"eglQueryDisplayAttribEXT",
};
+static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] =
+{
+ "eglQueryDmaBufFormatsEXT",
+ "eglQueryDmaBufModifiersEXT",
+};
+
static const char* s_EGL_EXT_output_base[] =
{
"eglGetOutputLayersEXT",
"eglCreateSync64KHR",
};
+static const char* s_EGL_KHR_debug[] =
+{
+ "eglDebugMessageControlKHR",
+ "eglLabelObjectKHR",
+ "eglQueryDebugKHR",
+};
+
static const char* s_EGL_KHR_fence_sync[] =
{
"eglClientWaitSyncKHR",
"eglStreamAttribKHR",
};
+static const char* s_EGL_KHR_stream_attrib[] =
+{
+ "eglCreateStreamAttribKHR",
+ "eglQueryStreamAttribKHR",
+ "eglSetStreamAttribKHR",
+ "eglStreamConsumerAcquireAttribKHR",
+ "eglStreamConsumerReleaseAttribKHR",
+};
+
static const char* s_EGL_KHR_stream_consumer_gltexture[] =
{
"eglStreamConsumerAcquireKHR",
"eglPostSubBufferNV",
};
+static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] =
+{
+ "eglStreamConsumerGLTextureExternalAttribsNV",
+};
+
+static const char* s_EGL_NV_stream_metadata[] =
+{
+ "eglQueryDisplayAttribNV",
+ "eglQueryStreamMetadataNV",
+ "eglSetStreamMetadataNV",
+};
+
+static const char* s_EGL_NV_stream_reset[] =
+{
+ "eglResetStreamNV",
+};
+
static const char* s_EGL_NV_stream_sync[] =
{
"eglCreateStreamSyncNV",
"glPointSizexOES",
"glPolygonOffsetxOES",
"glRotatexOES",
- "glSampleCoverageOES",
"glSampleCoveragexOES",
"glScalexOES",
"glTexEnvxOES",
"glDrawElementsInstancedBaseVertexBaseInstanceEXT",
};
+static const char* s_GL_EXT_blend_func_extended[] =
+{
+ "glBindFragDataLocationEXT",
+ "glBindFragDataLocationIndexedEXT",
+ "glGetFragDataIndexEXT",
+ "glGetProgramResourceLocationIndexEXT",
+};
+
+static const char* s_GL_EXT_buffer_storage[] =
+{
+ "glBufferStorageEXT",
+};
+
static const char* s_GL_EXT_copy_image[] =
{
"glCopyImageSubDataEXT",
"glPrimitiveBoundingBoxEXT",
};
+static const char* s_GL_EXT_raster_multisample[] =
+{
+ "glRasterSamplesEXT",
+};
+
static const char* s_GL_EXT_separate_shader_objects[] =
{
"glActiveShaderProgramEXT",
"glValidateProgramPipelineEXT",
};
+static const char* s_GL_EXT_sparse_texture[] =
+{
+ "glTexPageCommitmentEXT",
+};
+
static const char* s_GL_EXT_tessellation_shader[] =
{
"glPatchParameteriEXT",
"glTexBufferRangeEXT",
};
+static const char* s_GL_EXT_texture_filter_minmax[] =
+{
+ "glRasterSamplesEXT",
+};
+
static const char* s_GL_EXT_texture_view[] =
{
"glTextureViewEXT",
};
+static const char* s_GL_INTEL_framebuffer_CMAA[] =
+{
+ "glApplyFramebufferAttachmentCMAAINTEL",
+};
+
static const char* s_GL_INTEL_performance_query[] =
{
"glBeginPerfQueryINTEL",
"glEndConditionalRenderNV",
};
+static const char* s_GL_NV_conservative_raster[] =
+{
+ "glSubpixelPrecisionBiasNV",
+};
+
static const char* s_GL_NV_copy_buffer[] =
{
"glCopyBufferSubDataNV",
"glDrawElementsInstancedNV",
};
+static const char* s_GL_NV_fragment_coverage_to_color[] =
+{
+ "glFragmentCoverageColorNV",
+};
+
static const char* s_GL_NV_framebuffer_blit[] =
{
"glBlitFramebufferNV",
};
+static const char* s_GL_NV_framebuffer_mixed_samples[] =
+{
+ "glCoverageModulationNV",
+ "glCoverageModulationTableNV",
+ "glGetCoverageModulationTableNV",
+ "glRasterSamplesEXT",
+};
+
static const char* s_GL_NV_framebuffer_multisample[] =
{
"glRenderbufferStorageMultisampleNV",
"glWeightPathsNV",
};
+static const char* s_GL_NV_polygon_mode[] =
+{
+ "glPolygonModeNV",
+};
+
static const char* s_GL_NV_read_buffer[] =
{
"glReadBufferNV",
};
+static const char* s_GL_NV_sample_locations[] =
+{
+ "glFramebufferSampleLocationsfvNV",
+ "glNamedFramebufferSampleLocationsfvNV",
+ "glResolveDepthValuesNV",
+};
+
static const char* s_GL_NV_viewport_array[] =
{
"glDepthRangeArrayfvNV",
"glTextureViewOES",
};
+static const char* s_GL_OVR_multiview[] =
+{
+ "glFramebufferTextureMultiviewOVR",
+};
+
static const char* s_GL_QCOM_alpha_test[] =
{
"glAlphaFuncQCOM",
} s_extensions[] =
{
{ "EGL_ANDROID_blob_cache", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache), s_EGL_ANDROID_blob_cache },
+ { "EGL_ANDROID_create_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer), s_EGL_ANDROID_create_native_client_buffer },
{ "EGL_ANDROID_native_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync), s_EGL_ANDROID_native_fence_sync },
+ { "EGL_ANDROID_presentation_time", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time), s_EGL_ANDROID_presentation_time },
{ "EGL_ANGLE_query_surface_pointer", DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer), s_EGL_ANGLE_query_surface_pointer },
{ "EGL_EXT_device_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base), s_EGL_EXT_device_base },
{ "EGL_EXT_device_enumeration", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration), s_EGL_EXT_device_enumeration },
{ "EGL_EXT_device_query", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query), s_EGL_EXT_device_query },
+ { "EGL_EXT_image_dma_buf_import_modifiers", DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers), s_EGL_EXT_image_dma_buf_import_modifiers },
{ "EGL_EXT_output_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base), s_EGL_EXT_output_base },
{ "EGL_EXT_platform_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base), s_EGL_EXT_platform_base },
{ "EGL_EXT_stream_consumer_egloutput", DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput), s_EGL_EXT_stream_consumer_egloutput },
{ "EGL_EXT_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage), s_EGL_EXT_swap_buffers_with_damage },
{ "EGL_HI_clientpixmap", DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap), s_EGL_HI_clientpixmap },
{ "EGL_KHR_cl_event2", DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2), s_EGL_KHR_cl_event2 },
+ { "EGL_KHR_debug", DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug), s_EGL_KHR_debug },
{ "EGL_KHR_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync), s_EGL_KHR_fence_sync },
{ "EGL_KHR_image", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image), s_EGL_KHR_image },
{ "EGL_KHR_image_base", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base), s_EGL_KHR_image_base },
{ "EGL_KHR_partial_update", DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update), s_EGL_KHR_partial_update },
{ "EGL_KHR_reusable_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync), s_EGL_KHR_reusable_sync },
{ "EGL_KHR_stream", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream), s_EGL_KHR_stream },
+ { "EGL_KHR_stream_attrib", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib), s_EGL_KHR_stream_attrib },
{ "EGL_KHR_stream_consumer_gltexture", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture), s_EGL_KHR_stream_consumer_gltexture },
{ "EGL_KHR_stream_cross_process_fd", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd), s_EGL_KHR_stream_cross_process_fd },
{ "EGL_KHR_stream_fifo", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo), s_EGL_KHR_stream_fifo },
{ "EGL_NOK_swap_region2", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2), s_EGL_NOK_swap_region2 },
{ "EGL_NV_native_query", DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query), s_EGL_NV_native_query },
{ "EGL_NV_post_sub_buffer", DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer), s_EGL_NV_post_sub_buffer },
+ { "EGL_NV_stream_consumer_gltexture_yuv", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv), s_EGL_NV_stream_consumer_gltexture_yuv },
+ { "EGL_NV_stream_metadata", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata), s_EGL_NV_stream_metadata },
+ { "EGL_NV_stream_reset", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset), s_EGL_NV_stream_reset },
{ "EGL_NV_stream_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync), s_EGL_NV_stream_sync },
{ "EGL_NV_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_sync), s_EGL_NV_sync },
{ "EGL_NV_system_time", DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time), s_EGL_NV_system_time },
{ "GL_ANGLE_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays), s_GL_ANGLE_instanced_arrays },
{ "GL_ANGLE_translated_shader_source", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source), s_GL_ANGLE_translated_shader_source },
{ "GL_EXT_base_instance", DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance), s_GL_EXT_base_instance },
+ { "GL_EXT_blend_func_extended", DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended), s_GL_EXT_blend_func_extended },
+ { "GL_EXT_buffer_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage), s_GL_EXT_buffer_storage },
{ "GL_EXT_copy_image", DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image), s_GL_EXT_copy_image },
{ "GL_EXT_debug_label", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label), s_GL_EXT_debug_label },
{ "GL_EXT_debug_marker", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker), s_GL_EXT_debug_marker },
{ "GL_EXT_multiview_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers), s_GL_EXT_multiview_draw_buffers },
{ "GL_EXT_occlusion_query_boolean", DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean), s_GL_EXT_occlusion_query_boolean },
{ "GL_EXT_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box), s_GL_EXT_primitive_bounding_box },
+ { "GL_EXT_raster_multisample", DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample), s_GL_EXT_raster_multisample },
{ "GL_EXT_separate_shader_objects", DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects), s_GL_EXT_separate_shader_objects },
+ { "GL_EXT_sparse_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture), s_GL_EXT_sparse_texture },
{ "GL_EXT_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader), s_GL_EXT_tessellation_shader },
{ "GL_EXT_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp), s_GL_EXT_texture_border_clamp },
{ "GL_EXT_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer), s_GL_EXT_texture_buffer },
+ { "GL_EXT_texture_filter_minmax", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax), s_GL_EXT_texture_filter_minmax },
{ "GL_EXT_texture_view", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view), s_GL_EXT_texture_view },
+ { "GL_INTEL_framebuffer_CMAA", DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA), s_GL_INTEL_framebuffer_CMAA },
{ "GL_INTEL_performance_query", DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query), s_GL_INTEL_performance_query },
{ "GL_KHR_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced), s_GL_KHR_blend_equation_advanced },
{ "GL_KHR_debug", DE_LENGTH_OF_ARRAY(s_GL_KHR_debug), s_GL_KHR_debug },
{ "GL_NV_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture), s_GL_NV_bindless_texture },
{ "GL_NV_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced), s_GL_NV_blend_equation_advanced },
{ "GL_NV_conditional_render", DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render), s_GL_NV_conditional_render },
+ { "GL_NV_conservative_raster", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster), s_GL_NV_conservative_raster },
{ "GL_NV_copy_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer), s_GL_NV_copy_buffer },
{ "GL_NV_coverage_sample", DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample), s_GL_NV_coverage_sample },
{ "GL_NV_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers), s_GL_NV_draw_buffers },
{ "GL_NV_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced), s_GL_NV_draw_instanced },
+ { "GL_NV_fragment_coverage_to_color", DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color), s_GL_NV_fragment_coverage_to_color },
{ "GL_NV_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit), s_GL_NV_framebuffer_blit },
+ { "GL_NV_framebuffer_mixed_samples", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples), s_GL_NV_framebuffer_mixed_samples },
{ "GL_NV_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample), s_GL_NV_framebuffer_multisample },
{ "GL_NV_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays), s_GL_NV_instanced_arrays },
{ "GL_NV_internalformat_sample_query", DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query), s_GL_NV_internalformat_sample_query },
{ "GL_NV_non_square_matrices", DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices), s_GL_NV_non_square_matrices },
{ "GL_NV_path_rendering", DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering), s_GL_NV_path_rendering },
+ { "GL_NV_polygon_mode", DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode), s_GL_NV_polygon_mode },
{ "GL_NV_read_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer), s_GL_NV_read_buffer },
+ { "GL_NV_sample_locations", DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations), s_GL_NV_sample_locations },
{ "GL_NV_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array), s_GL_NV_viewport_array },
{ "GL_OES_copy_image", DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image), s_GL_OES_copy_image },
{ "GL_OES_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed), s_GL_OES_draw_buffers_indexed },
{ "GL_OES_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer), s_GL_OES_texture_buffer },
{ "GL_OES_texture_storage_multisample_2d_array", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_storage_multisample_2d_array), s_GL_OES_texture_storage_multisample_2d_array },
{ "GL_OES_texture_view", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view), s_GL_OES_texture_view },
+ { "GL_OVR_multiview", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview), s_GL_OVR_multiview },
{ "GL_QCOM_alpha_test", DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test), s_GL_QCOM_alpha_test },
};
return c.get(EGL_CONFIG_CAVEAT) != EGL_NON_CONFORMANT_CONFIG;
}
+static bool notFloat (const eglu::CandidateConfig& c)
+{
+ return c.colorComponentType() != EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT;
+}
+
void getDefaultRenderFilterLists (vector<RenderFilterList>& filterLists, const eglu::FilterList& baseFilters)
{
static const struct
<< notColorBits<4, 4, 4, 4>
<< notColorBits<5, 5, 5, 1>
<< notColorBits<8, 8, 8, 8>
- << isConformant;
+ << isConformant
+ << notFloat;
filterLists.push_back(filters);
}
return c.get(EGL_CONFIG_CAVEAT) != EGL_NON_CONFORMANT_CONFIG;
}
+static bool notFloat (const eglu::CandidateConfig& c)
+{
+ return c.colorComponentType() != EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT;
+}
+
void getDefaultFilterLists (vector<NamedFilterList>& lists, const FilterList& baseFilters)
{
static const struct
<< notColorBits<4, 4, 4, 4>
<< notColorBits<5, 5, 5, 1>
<< notColorBits<8, 8, 8, 8>
- << isConformant;
+ << isConformant
+ << notFloat;
lists.push_back(filters);
}
EGL_SOURCE = khr_util.registry_cache.RegistrySource(
"egl.xml",
- 31042,
- "f5a731f46958a7cb6a5a96c811086fbaede9cc078541a26de009228eb089ae2c")
+ 33315,
+ "19f3b517f0dede56a6a94b820d08149ef5e1726f58202f47d69fa27f6f483bd2")
VERSION = '1.5'
"EGL_EXT_yuv_surface",
"EGL_EXT_buffer_age",
"EGL_KHR_partial_update",
- "EGL_KHR_swap_buffers_with_damage"
+ "EGL_KHR_swap_buffers_with_damage",
+ "EGL_EXT_pixel_format_float"
]
PROTECTS = [
"KHRONOS_SUPPORT_INT64"
"YUV_PLANE_BPP_8_EXT",
"YUV_PLANE_BPP_10_EXT",
]),
+ ("ColorComponentType", ["COLOR_COMPONENT_TYPE_FIXED_EXT", "COLOR_COMPONENT_TYPE_FLOAT_EXT"]),
("SurfaceTarget", ["READ", "DRAW"]),
# ConfigAttrib values