Module: Mesa Branch: master Commit: 6d6a29018119fd414973ad051fc2271c784ef0f1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d6a29018119fd414973ad051fc2271c784ef0f1
Author: Ian Romanick <[email protected]> Date: Mon Jan 13 15:18:23 2014 -0800 mesa: Fix extension dependency for half-float TexBOs Half-float TexBOs should require both GL_ARB_half_float_pixel and GL_ARB_texture_float. This doesn't matter much in practice. Every driver that supports GL_ARB_texture_buffer_object already supports GL_ARB_half_float_pixel. We only expose the TexBO extension in core profiles, and those require GL_ARB_texture_float. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> --- src/mesa/main/teximage.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 4d635fe..07ac1e1 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -4186,7 +4186,18 @@ _mesa_validate_texbuffer_format(const struct gl_context *ctx, if (datatype == GL_FLOAT && !ctx->Extensions.ARB_texture_float) return MESA_FORMAT_NONE; - if (datatype == GL_HALF_FLOAT && !ctx->Extensions.ARB_half_float_pixel) + /* The GL_ARB_texture_buffer_object spec says: + * + * "If ARB_texture_float is not supported, references to the + * floating-point internal formats provided by that extension should be + * removed, and such formats may not be passed to TexBufferARB." + * + * As a result, GL_HALF_FLOAT internal format depends on both + * GL_ARB_texture_float and GL_ARB_half_float_pixel. + */ + if (datatype == GL_HALF_FLOAT && + !(ctx->Extensions.ARB_half_float_pixel + && ctx->Extensions.ARB_texture_float)) return MESA_FORMAT_NONE; if (!ctx->Extensions.ARB_texture_rg) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
