mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-29 02:20:44 +00:00
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 <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
54b1082828
commit
6d6a290181
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user