Mesa (master): mesa/es: Validate FBO target enum in Mesa code rather than the ES wrapper

Ian Romanick idr at kemper.freedesktop.org
Tue Oct 4 12:31:13 PDT 2011


Module: Mesa
Branch: master
Commit: 6dd8e7686955e9fdb56f13a1511133d9ed2d7604
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6dd8e7686955e9fdb56f13a1511133d9ed2d7604

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Sep 20 15:10:50 2011 -0700

mesa/es: Validate FBO target enum in Mesa code rather than the ES wrapper

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/main/APIspec.xml |   30 ------------------------------
 src/mesa/main/fbobject.c  |    6 ++++--
 2 files changed, 4 insertions(+), 32 deletions(-)

diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index 2b277a0..cb94a5c 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -3114,11 +3114,6 @@
 		<param name="target" type="GLenum"/>
 		<param name="framebuffer" type="GLuint"/>
 	</proto>
-
-	<desc name="target">
-		<value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
-		<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
-	</desc>
 </template>
 
 <template name="DeleteFramebuffers">
@@ -3212,11 +3207,6 @@
 		<param name="renderbuffer" type="GLuint"/>
 	</proto>
 
-	<desc name="target">
-		<value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
-		<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
-	</desc>
-
 	<desc name="renderbuffertarget">
 		<value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/>
 		<value name="GL_RENDERBUFFER" category="GLES2.0"/>
@@ -3233,11 +3223,6 @@
 		<param name="level" type="GLint"/>
 	</proto>
 
-	<desc name="target">
-		<value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
-		<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
-	</desc>
-
 	<desc name="textarget" error="GL_INVALID_OPERATION">
 		<value name="GL_TEXTURE_2D"/>
 		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
@@ -3269,11 +3254,6 @@
 		<param name="zoffset" type="GLint"/>
 	</proto>
 
-	<desc name="target">
-		<value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
-		<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
-	</desc>
-
 	<desc name="textarget" error="GL_INVALID_OPERATION">
 		<value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
 	</desc>
@@ -3284,11 +3264,6 @@
 		<return type="GLenum"/>
 		<param name="target" type="GLenum"/>
 	</proto>
-
-	<desc name="target">
-		<value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
-		<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
-	</desc>
 </template>
 
 <template name="GetFramebufferAttachmentParameter" direction="get">
@@ -3300,11 +3275,6 @@
 		<vector name="params" type="GLtype *" size="dynamic"/>
 	</proto>
 
-	<desc name="target">
-		<value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
-		<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
-	</desc>
-
 	<desc name="pname">
 		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" category="OES_framebuffer_object"/>
 		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" category="OES_framebuffer_object"/>
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 2e0af97..6e54c09 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -194,9 +194,11 @@ get_framebuffer_target(struct gl_context *ctx, GLenum target)
 {
    switch (target) {
    case GL_DRAW_FRAMEBUFFER:
-      return ctx->Extensions.EXT_framebuffer_blit ? ctx->DrawBuffer : NULL;
+      return ctx->Extensions.EXT_framebuffer_blit && ctx->API == API_OPENGL
+	 ? ctx->DrawBuffer : NULL;
    case GL_READ_FRAMEBUFFER:
-      return ctx->Extensions.EXT_framebuffer_blit ? ctx->ReadBuffer : NULL;
+      return ctx->Extensions.EXT_framebuffer_blit && ctx->API == API_OPENGL
+	 ? ctx->ReadBuffer : NULL;
    case GL_FRAMEBUFFER_EXT:
       return ctx->DrawBuffer;
    default:



More information about the mesa-commit mailing list