mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
mesa: added _mesa_meta_check_generate_mipmap_fallback()
This commit is contained in:
parent
f9f7646fe6
commit
f1cab802b8
2 changed files with 28 additions and 3 deletions
|
|
@ -1948,6 +1948,29 @@ _mesa_meta_Bitmap(GLcontext *ctx,
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if the call to _mesa_meta_GenerateMipmap() will require a
|
||||
* software fallback. The fallback path will require that the texture
|
||||
* images are mapped.
|
||||
*/
|
||||
GLboolean
|
||||
_mesa_meta_check_generate_mipmap_fallback(GLcontext *ctx, GLenum target,
|
||||
struct gl_texture_object *texObj)
|
||||
{
|
||||
struct gl_texture_image *baseImage =
|
||||
_mesa_select_tex_image(ctx, texObj, target, texObj->BaseLevel);
|
||||
|
||||
/* check for fallbacks */
|
||||
if (!ctx->Extensions.EXT_framebuffer_object ||
|
||||
target == GL_TEXTURE_3D ||
|
||||
!baseImage ||
|
||||
baseImage->IsCompressed) {
|
||||
return GL_TRUE;
|
||||
}
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called via ctx->Driver.GenerateMipmap()
|
||||
* Note: texture borders and 3D texture support not yet complete.
|
||||
|
|
@ -1976,9 +1999,7 @@ _mesa_meta_GenerateMipmap(GLcontext *ctx, GLenum target,
|
|||
GLuint dstLevel;
|
||||
GLuint border = 0;
|
||||
|
||||
/* check for fallbacks */
|
||||
if (!ctx->Extensions.EXT_framebuffer_object ||
|
||||
target == GL_TEXTURE_3D) {
|
||||
if (_mesa_meta_check_generate_mipmap_fallback(ctx, target, texObj)) {
|
||||
_mesa_generate_mipmap(ctx, target, texObj);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,6 +60,10 @@ _mesa_meta_Bitmap(GLcontext *ctx,
|
|||
const struct gl_pixelstore_attrib *unpack,
|
||||
const GLubyte *bitmap);
|
||||
|
||||
extern GLboolean
|
||||
_mesa_meta_check_generate_mipmap_fallback(GLcontext *ctx, GLenum target,
|
||||
struct gl_texture_object *texObj);
|
||||
|
||||
extern void
|
||||
_mesa_meta_GenerateMipmap(GLcontext *ctx, GLenum target,
|
||||
struct gl_texture_object *texObj);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue