mesa: implement EXT_texture_shared_exponent

swrast support done.

There is no renderbuffer support in swrast, because it's not required
by the extension.

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák
2011-04-26 02:18:24 +02:00
parent 1d5f16ff8f
commit 9d7698c468
13 changed files with 438 additions and 11 deletions

View File

@@ -418,6 +418,15 @@ _mesa_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
case GL_RG:
fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED;
return;
case GL_RGB:
switch (rb->Format) {
case MESA_FORMAT_RGB9_E5_FLOAT:
fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED;
return;
default:;
}
break;
default:
/* render buffer format is supported by software rendering */
;
@@ -1175,6 +1184,8 @@ _mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat)
case GL_INTENSITY32F_ARB:
return ctx->Extensions.ARB_texture_float &&
ctx->Extensions.ARB_framebuffer_object ? GL_INTENSITY : 0;
case GL_RGB9_E5:
return ctx->Extensions.EXT_texture_shared_exponent ? GL_RGB : 0;
/* XXX add integer formats eventually */
default:
return 0;