mesa: introduce and use _mesa_has_texture_buffer_range

This reduces some code-repetition, and makes it a bit easier to reason
about what this actually tests for.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38162>
This commit is contained in:
Erik Faye-Lund 2025-10-31 11:50:06 +01:00 committed by Marge Bot
parent ba3a0c580f
commit 138fbb1c6c
2 changed files with 10 additions and 6 deletions

View file

@ -491,6 +491,13 @@ _mesa_has_texture_buffer_object(const struct gl_context *ctx)
(_mesa_is_desktop_gl(ctx) && ctx->Version >= 31);
}
static inline bool
_mesa_has_texture_buffer_range(const struct gl_context *ctx)
{
return _mesa_has_ARB_texture_buffer_range(ctx) ||
_mesa_has_OES_texture_buffer(ctx);
}
static inline bool
_mesa_has_texture_view(const struct gl_context *ctx)
{

View file

@ -1716,8 +1716,7 @@ _mesa_legal_get_tex_level_parameter_target(struct gl_context *ctx, GLenum target
* GetTexLevelParameter.
*/
return (_mesa_is_desktop_gl(ctx) && ctx->Version >= 31) ||
_mesa_has_OES_texture_buffer(ctx) ||
_mesa_has_ARB_texture_buffer_range(ctx);
_mesa_has_texture_buffer_range(ctx);
case GL_TEXTURE_CUBE_MAP_ARRAY:
return _mesa_has_texture_cube_map_array(ctx);
}
@ -2055,14 +2054,12 @@ get_tex_level_parameter_buffer(struct gl_context *ctx,
/* GL_ARB_texture_buffer_range */
case GL_TEXTURE_BUFFER_OFFSET:
if (!_mesa_has_ARB_texture_buffer_range(ctx) &&
!_mesa_has_OES_texture_buffer(ctx))
if (!_mesa_has_texture_buffer_range(ctx))
goto invalid_pname;
*params = texObj->BufferOffset;
break;
case GL_TEXTURE_BUFFER_SIZE:
if (!_mesa_has_ARB_texture_buffer_range(ctx) &&
!_mesa_has_OES_texture_buffer(ctx))
if (!_mesa_has_texture_buffer_range(ctx))
goto invalid_pname;
*params = (texObj->BufferSize == -1) ? bo->Size : texObj->BufferSize;
break;