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>
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 1edb310..b07161e 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -418,6 +418,15 @@
          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 @@
    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;