Revert "intel: Make RGB renderbuffers use XRGB8888 like we do for RGB system buffers."
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 8 Dec 2009 01:06:07 +0000 (17:06 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 8 Dec 2009 01:06:07 +0000 (17:06 -0800)
This reverts commit 4598942b1b88a2a7d5af7febae7e79eedf00e385.

XRGB8888 doesn't work as intended.  Revert this for now, and we'll revisit it
for 7.8 or something.

src/mesa/drivers/dri/intel/intel_fbo.c

index b6e0d823ed213398f60f480fd5bc5af24d5632db..5615040946fc4fb9b331a13d38279285e4eb1abe 100644 (file)
@@ -126,7 +126,7 @@ intel_alloc_renderbuffer_storage(GLcontext * ctx, struct gl_renderbuffer *rb,
    case GL_RGB16:
       rb->Format = MESA_FORMAT_ARGB8888;
       rb->DataType = GL_UNSIGNED_BYTE;
-      irb->texformat = MESA_FORMAT_XRGB8888;
+      irb->texformat = MESA_FORMAT_ARGB8888; /* XXX: Need xrgb8888 */
       cpp = 4;
       break;
    case GL_RGBA:
@@ -314,6 +314,10 @@ intel_create_renderbuffer(gl_format format)
       irb->Base.DataType = GL_UNSIGNED_BYTE;
       break;
    case MESA_FORMAT_XRGB8888:
+      /* XXX this is a hack since XRGB surfaces don't seem to work
+       * properly yet.  Reading the alpha channel returns 0 instead of 1.
+       */
+      format = MESA_FORMAT_ARGB8888;
       irb->Base._BaseFormat = GL_RGB;
       irb->Base.DataType = GL_UNSIGNED_BYTE;
       break;