r600: proper fix for 15601835361e2fdd34b38b265cfc3007749ee24d
authorAlex Deucher <alexdeucher@gmail.com>
Wed, 24 Feb 2010 16:43:33 +0000 (11:43 -0500)
committerAlex Deucher <alexdeucher@gmail.com>
Wed, 24 Feb 2010 16:43:33 +0000 (11:43 -0500)
PRE_EMIT_STATE_BUFSZ accounts for the start 3d, idle, cd/db flush
not for state.  The relocs for CB_COLOR0_FRAG & CB_COLOR0_TILE
are part of the render target state.

src/mesa/drivers/dri/r600/r700_chip.c
src/mesa/drivers/dri/r600/r700_render.c

index a742dbcf129c51351ad36d27951aeebc8d20a9af..63614b160ccbaf3ff7e183691b16306162e348ad 100644 (file)
@@ -1349,7 +1349,7 @@ void r600InitAtoms(context_t *context)
        ALLOC_STATE(poly, always, 10, r700SendPolyState);
        ALLOC_STATE(cb, cb, 18, r700SendCBState);
        ALLOC_STATE(clrcmp, always, 6, r700SendCBCLRCMPState);
-       ALLOC_STATE(cb_target, always, 25, r700SendRenderTargetState);
+       ALLOC_STATE(cb_target, always, 29, r700SendRenderTargetState);
        ALLOC_STATE(blnd, blnd, (6 + (R700_MAX_RENDER_TARGETS * 3)), r700SendCBBlendState);
        ALLOC_STATE(blnd_clr, always, 6, r700SendCBBlendColorState);
        ALLOC_STATE(sx, always, 9, r700SendSXState);
index fdd02fac237846dc37772d48ebcc81abcd53ce1b..1d7a94cbb2843fc94cd873a5b517c317d4e8056a 100644 (file)
@@ -419,7 +419,7 @@ static void r700RunRenderPrimitiveImmediate(GLcontext * ctx, int start, int end,
 }
 
 /* start 3d, idle, cb/db flush */
-#define PRE_EMIT_STATE_BUFSZ 5 + 5 + 18
+#define PRE_EMIT_STATE_BUFSZ 5 + 5 + 14
 
 static GLuint r700PredictRenderSize(GLcontext* ctx,
                                    const struct _mesa_prim *prim,