diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/main/extensions.c | 1 | ||||
| -rw-r--r-- | src/mesa/main/texformat.c | 19 | 
2 files changed, 20 insertions, 0 deletions
| diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 7504b8a85d..310740b0dd 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -428,6 +428,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)     ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;     ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;     ctx->Extensions.ARB_texture_rg = GL_TRUE; +   ctx->Extensions.ARB_texture_compression_rgtc = GL_TRUE;     ctx->Extensions.ARB_vertex_array_object = GL_TRUE;  #if FEATURE_ARB_vertex_program     ctx->Extensions.ARB_vertex_program = GL_TRUE; diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c index 2542cea856..72025cf828 100644 --- a/src/mesa/main/texformat.c +++ b/src/mesa/main/texformat.c @@ -602,6 +602,25 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,        }     } +   if (ctx->Extensions.ARB_texture_compression_rgtc) { +      switch (internalFormat) { +         case GL_COMPRESSED_RED_RGTC1: +	    RETURN_IF_SUPPORTED(MESA_FORMAT_RED_RGTC1); +	    break; +         case GL_COMPRESSED_SIGNED_RED_RGTC1: +	    RETURN_IF_SUPPORTED(MESA_FORMAT_SIGNED_RED_RGTC1); +	    break; +         case GL_COMPRESSED_RG_RGTC2: +	    RETURN_IF_SUPPORTED(MESA_FORMAT_RG_RGTC2); +	    break; +         case GL_COMPRESSED_SIGNED_RG_RGTC2: +	    RETURN_IF_SUPPORTED(MESA_FORMAT_SIGNED_RG_RGTC2); +	    break; +         default: +            ; /* fallthrough */ +      } +   } +     _mesa_problem(ctx, "unexpected format in _mesa_choose_tex_format()");     return MESA_FORMAT_NONE;  } | 
