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

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Ian Romanick
2011-10-02 14:50:21 -07:00
parent 3db309aece
commit 7e4cb32d05
2 changed files with 6 additions and 28 deletions
-27
View File
@@ -3217,15 +3217,6 @@
<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
</desc>
<desc name="attachment">
<value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/>
<value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/>
<value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/>
<value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/>
<value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/>
<value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/>
</desc>
<desc name="renderbuffertarget">
<value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/>
<value name="GL_RENDERBUFFER" category="GLES2.0"/>
@@ -3247,15 +3238,6 @@
<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
</desc>
<desc name="attachment">
<value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/>
<value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/>
<value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/>
<value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/>
<value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/>
<value name="GL_STENCIL_ATTACHMENT" 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"/>
@@ -3292,15 +3274,6 @@
<value name="GL_FRAMEBUFFER" category="GLES2.0"/>
</desc>
<desc name="attachment">
<value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/>
<value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/>
<value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/>
<value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/>
<value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/>
<value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/>
</desc>
<desc name="textarget" error="GL_INVALID_OPERATION">
<value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
</desc>
+6 -1
View File
@@ -239,17 +239,22 @@ _mesa_get_attachment(struct gl_context *ctx, struct gl_framebuffer *fb,
case GL_COLOR_ATTACHMENT14_EXT:
case GL_COLOR_ATTACHMENT15_EXT:
i = attachment - GL_COLOR_ATTACHMENT0_EXT;
if (i >= ctx->Const.MaxColorAttachments) {
if (i >= ctx->Const.MaxColorAttachments
|| (i > 0 && ctx->API != API_OPENGL)) {
return NULL;
}
return &fb->Attachment[BUFFER_COLOR0 + i];
case GL_DEPTH_STENCIL_ATTACHMENT:
if (ctx->API != API_OPENGL)
return NULL;
/* fall-through */
case GL_DEPTH_BUFFER:
/* fall-through / new in GL 3.0 */
case GL_DEPTH_ATTACHMENT_EXT:
return &fb->Attachment[BUFFER_DEPTH];
case GL_STENCIL_BUFFER:
if (ctx->API != API_OPENGL)
return NULL;
/* fall-through / new in GL 3.0 */
case GL_STENCIL_ATTACHMENT_EXT:
return &fb->Attachment[BUFFER_STENCIL];