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 8986191..6ecd46e 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 7c21efb..fe2ed22 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 5b7d7c2..f575e74 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 475e93b..4625af1 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 );