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:
committed by
Marge Bot
parent
ba3a0c580f
commit
138fbb1c6c
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user