Module: Mesa Branch: master Commit: aa4001b6075a5ca0c695f196e912f09ea12aed44 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa4001b6075a5ca0c695f196e912f09ea12aed44
Author: Brian Paul <[email protected]> Date: Mon Dec 16 09:41:09 2013 -0700 mesa: add API/extension checks for 3-component texture buffer formats The GL_RGB32F, GL_RGB32UI and GL_RGB32I texture buffer formats are only supposed to be allowed if the GL_ARB_texture_buffer_object_rgb32 extension is supported. Note that the texture buffer extensions require a core profile. This patch adds those checks. Fixes the soon-to-be-added arb_clear_buffer_object-negative-bad-internalformat piglit test. --- src/mesa/main/teximage.c | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 6bcabd3..211fc79 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -3967,6 +3967,20 @@ get_texbuffer_format(const struct gl_context *ctx, GLenum internalFormat) } } + if (ctx->API == API_OPENGL_CORE && + ctx->Extensions.ARB_texture_buffer_object_rgb32) { + switch (internalFormat) { + case GL_RGB32F: + return MESA_FORMAT_RGB_FLOAT32; + case GL_RGB32UI: + return MESA_FORMAT_RGB_UINT32; + case GL_RGB32I: + return MESA_FORMAT_RGB_INT32; + default: + break; + } + } + switch (internalFormat) { case GL_RGBA8: return MESA_FORMAT_RGBA8888_REV; @@ -4031,13 +4045,6 @@ get_texbuffer_format(const struct gl_context *ctx, GLenum internalFormat) case GL_R32UI: return MESA_FORMAT_R_UINT32; - case GL_RGB32F: - return MESA_FORMAT_RGB_FLOAT32; - case GL_RGB32UI: - return MESA_FORMAT_RGB_UINT32; - case GL_RGB32I: - return MESA_FORMAT_RGB_INT32; - default: return MESA_FORMAT_NONE; } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
