summaryrefslogtreecommitdiffstats
path: root/src/mapi
diff options
context:
space:
mode:
authorKristian Høgsberg Kristensen <krh@bitplanet.net>2016-05-23 22:49:51 -0700
committerKristian Høgsberg Kristensen <krh@bitplanet.net>2016-05-25 09:41:44 -0700
commit85008db1d51f923113832394d7f8d6b1868be882 (patch)
tree1d033fbf1ecc53d8f0d0699fae9de52cc7965345 /src/mapi
parentf036eea2cf3012b6b7f9e1c7b317dd78811a1a3a (diff)
downloadexternal_mesa3d-85008db1d51f923113832394d7f8d6b1868be882.zip
external_mesa3d-85008db1d51f923113832394d7f8d6b1868be882.tar.gz
external_mesa3d-85008db1d51f923113832394d7f8d6b1868be882.tar.bz2
i965: Enable GL_KHR_robustness
GL_KHR_robustness adds the GL_CONTEXT_LOST error and five new entry points that we already implement. This patch adds a new dispatch table that returns GL_CONTEXT_LOST from all entry points and implements the GL_LOSE_CONTEXT_ON_RESET strategy by setting that table when we learn that we've lost the context. With the GL_CONTEXT_LOST reporting in place and dispatch for the new entry points we can turn on GL_KHR_robustness. Signed-off-by: Kristian Høgsberg Kristensen <krh@bitplanet.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
Diffstat (limited to 'src/mapi')
-rw-r--r--src/mapi/glapi/gen/KHR_robustness.xml66
-rw-r--r--src/mapi/glapi/gen/KHR_robustness_es.xml63
-rw-r--r--src/mapi/glapi/gen/Makefile.am2
-rw-r--r--src/mapi/glapi/gen/es_EXT.xml2
-rw-r--r--src/mapi/glapi/gen/gl_API.xml3
5 files changed, 136 insertions, 0 deletions
diff --git a/src/mapi/glapi/gen/KHR_robustness.xml b/src/mapi/glapi/gen/KHR_robustness.xml
new file mode 100644
index 0000000..56bcfcc
--- /dev/null
+++ b/src/mapi/glapi/gen/KHR_robustness.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<!-- Note: no GLX protocol info yet. -->
+
+
+<OpenGLAPI>
+
+<category name="GL_KHR_robustness" number="170">
+
+ <enum name="GUILTY_CONTEXT_RESET" value="0x8253"/>
+ <enum name="INNOCENT_CONTEXT_RESET" value="0x8254"/>
+ <enum name="UNKNOWN_CONTEXT_RESET" value="0x8255"/>
+
+ <enum name="RESET_NOTIFICATION_STRATEGY" count="1" value="0x8256">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="LOSE_CONTEXT_ON_RESET" value="0x8252"/>
+ <enum name="NO_RESET_NOTIFICATION" value="0x8261"/>
+
+ <enum name="CONTEXT_FLAG_ROBUST_ACCESS_BIT" value="0x00000004"/>
+
+ <!-- This extension applies to both GL and ES. GL entrypoints have
+ no suffix, ES entrypoints have the KHR suffix. This file
+ defines entry points for GL. -->
+
+ <!-- GL definitions -->
+ <function name="GetGraphicsResetStatus" alias="GetGraphicsResetStatusARB">
+ <return type="GLenum"/>
+ </function>
+
+ <function name="ReadnPixels" alias="ReadnPixelsARB">
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="format" type="GLenum"/>
+ <param name="type" type="GLenum"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="data" type="GLvoid *" output="true"/>
+ </function>
+
+ <function name="GetnUniformfv" alias="GetnUniformfvARB">
+ <param name="program" type="GLuint"/>
+ <param name="location" type="GLint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="params" type="GLfloat *" output="true"/>
+ </function>
+
+ <function name="GetnUniformiv" alias="GetnUniformivARB">
+ <param name="program" type="GLuint"/>
+ <param name="location" type="GLint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="params" type="GLint *" output="true"/>
+ </function>
+
+ <function name="GetnUniformuiv" alias="GetnUniformuivARB">
+ <param name="program" type="GLuint"/>
+ <param name="location" type="GLint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="params" type="GLuint *" output="true"/>
+ </function>
+
+</category>
+
+</OpenGLAPI>
diff --git a/src/mapi/glapi/gen/KHR_robustness_es.xml b/src/mapi/glapi/gen/KHR_robustness_es.xml
new file mode 100644
index 0000000..84f6fd2
--- /dev/null
+++ b/src/mapi/glapi/gen/KHR_robustness_es.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<OpenGLAPI>
+
+<category name="GL_KHR_robustness" number="190">
+
+ <enum name="GUILTY_CONTEXT_RESET_KHR" value="0x8253"/>
+ <enum name="INNOCENT_CONTEXT_RESET_KHR" value="0x8254"/>
+ <enum name="UNKNOWN_CONTEXT_RESET_KHR" value="0x8255"/>
+
+ <enum name="RESET_NOTIFICATION_STRATEGY_KHR" count="1" value="0x8256">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="LOSE_CONTEXT_ON_RESET_KHR" value="0x8252"/>
+ <enum name="NO_RESET_NOTIFICATION_KHR" value="0x8261"/>
+
+ <enum name="CONTEXT_FLAG_ROBUST_ACCESS_BIT_KHR" value="0x00000004"/>
+
+ <!-- This extension applies to both GL and ES. GL entrypoints have
+ no suffix, ES entrypoints have the KHR suffix. This file
+ defines entry points for ES. -->
+
+ <function name="GetGraphicsResetStatusKHR"
+ alias="GetGraphicsResetStatusARB" es2="2.0">
+ <return type="GLenum"/>
+ </function>
+
+ <function name="ReadnPixelsKHR" alias="ReadnPixelsARB" es2="2.0">
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="format" type="GLenum"/>
+ <param name="type" type="GLenum"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="data" type="GLvoid *" output="true"/>
+ </function>
+
+ <function name="GetnUniformfvKHR" alias="GetnUniformfvARB" es2="2.0">
+ <param name="program" type="GLuint"/>
+ <param name="location" type="GLint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="params" type="GLfloat *" output="true"/>
+ </function>
+
+ <function name="GetnUniformivKHR" alias="GetnUniformivARB" es2="2.0">
+ <param name="program" type="GLuint"/>
+ <param name="location" type="GLint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="params" type="GLint *" output="true"/>
+ </function>
+
+ <function name="GetnUniformuivKHR" alias="GetnUniformuivARB" es2="2.0">
+ <param name="program" type="GLuint"/>
+ <param name="location" type="GLint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="params" type="GLuint *" output="true"/>
+ </function>
+
+</category>
+
+</OpenGLAPI>
diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
index 0759819..c511de9 100644
--- a/src/mapi/glapi/gen/Makefile.am
+++ b/src/mapi/glapi/gen/Makefile.am
@@ -192,6 +192,8 @@ API_XML = \
INTEL_performance_query.xml \
KHR_debug.xml \
KHR_context_flush_control.xml \
+ KHR_robustness.xml \
+ KHR_robustness_es.xml \
KHR_texture_compression_astc.xml \
NV_conditional_render.xml \
NV_primitive_restart.xml \
diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml
index ce4c4c4..6886dab 100644
--- a/src/mapi/glapi/gen/es_EXT.xml
+++ b/src/mapi/glapi/gen/es_EXT.xml
@@ -924,6 +924,8 @@
</category>
+<xi:include href="KHR_robustness_es.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<category name="GL_EXT_base_instance" number="203">
<function name="DrawArraysInstancedBaseInstanceEXT" es2="3.0"
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 2fcba0b..766fe3c 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8288,6 +8288,9 @@
<xi:include href="KHR_context_flush_control.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<!-- ARB extension 170 -->
+<xi:include href="KHR_robustness.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<!-- ARB extension 171 -->
<xi:include href="ARB_pipeline_statistics_query.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>