radeon: Define EXT_framebuffer_object constants to match hw.
authorPauli Nieminen <suokkos@gmail.com>
Wed, 10 Feb 2010 01:00:12 +0000 (03:00 +0200)
committerPauli Nieminen <suokkos@gmail.com>
Wed, 10 Feb 2010 01:20:11 +0000 (03:20 +0200)
This hides the assertion failure in glean/fbo test. Underlying
problem when same texture is set twice to different attachments
will cause assertion.

src/mesa/drivers/dri/r200/r200_context.c
src/mesa/drivers/dri/r300/r300_context.c
src/mesa/drivers/dri/r600/r600_context.c
src/mesa/drivers/dri/radeon/radeon_context.c

index 8986191c3937f7c66272e9697f8c2ecc9569e243..6ecd46ecd9e4a75dbed1561cd03cb49b0b827f3e 100644 (file)
@@ -360,6 +360,7 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual,
    ctx->Const.Max3DTextureLevels = 9;
    ctx->Const.MaxCubeTextureLevels = 12;
    ctx->Const.MaxTextureRectSize = 2048;
+   ctx->Const.MaxRenderbufferSize = 2048;
 
    ctx->Const.MaxTextureMaxAnisotropy = 16.0;
 
@@ -390,6 +391,7 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual,
    ctx->Const.VertexProgram.MaxNativeAddressRegs = 1;
 
    ctx->Const.MaxDrawBuffers = 1;
+   ctx->Const.MaxColorAttachments = 1;
 
    _mesa_set_mvp_with_dp4( ctx, GL_TRUE );
 
index 7c21efb1ded2e4eb7fd44d5cfb803feb375d26c0..fe2ed22dc2419e324293f6f9fc63779c7ea57b2b 100644 (file)
@@ -345,11 +345,13 @@ static void r300InitConstValues(GLcontext *ctx, radeonScreenPtr screen)
                ctx->Const.MaxTextureLevels = 13;
                ctx->Const.MaxCubeTextureLevels = 13;
                ctx->Const.MaxTextureRectSize = 4096;
+               ctx->Const.MaxRenderbufferSize = 4096;
        }
        else {
                ctx->Const.MaxTextureLevels = 12;
                ctx->Const.MaxCubeTextureLevels = 12;
                ctx->Const.MaxTextureRectSize = 2048;
+               ctx->Const.MaxRenderbufferSize = 2048;
        }
 
        ctx->Const.MinPointSize = 1.0;
@@ -363,6 +365,7 @@ static void r300InitConstValues(GLcontext *ctx, radeonScreenPtr screen)
        ctx->Const.MaxLineWidthAA = R300_LINESIZE_MAX;
 
        ctx->Const.MaxDrawBuffers = 1;
+       ctx->Const.MaxColorAttachments = 1;
 
        /* currently bogus data */
        if (r300->options.hw_tcl_enabled) {
index 5b7d7c28ec173494e8af5d6befc011dd02f92868..f575e74c3edfcc240e39716af7dfe97682d21f1a 100644 (file)
@@ -270,6 +270,8 @@ static void r600InitConstValues(GLcontext *ctx, radeonScreenPtr screen)
        ctx->Const.MaxLineWidthAA = 0xffff / 8.0;
 
        ctx->Const.MaxDrawBuffers = 1; /* hw supports 8 */
+       ctx->Const.MaxColorAttachments = 1;
+       ctx->Const.MaxRenderbufferSize = 4096;
 
        /* 256 for reg-based consts, inline consts also supported */
        ctx->Const.VertexProgram.MaxInstructions = 8192; /* in theory no limit */
index 475e93bc05feec3cef7c7ada8ac044e2b8b8f72d..4625af14ad8352de32d61f7c2d9d16e01b99288f 100644 (file)
@@ -317,6 +317,8 @@ r100CreateContext( const __GLcontextModes *glVisual,
    rmesa->boxes = 0;
 
    ctx->Const.MaxDrawBuffers = 1;
+   ctx->Const.MaxColorAttachments = 1;
+   ctx->Const.MaxRenderbufferSize = 2048;
 
    _mesa_set_mvp_with_dp4( ctx, GL_TRUE );