From: Marek Olšák Date: Tue, 6 May 2014 11:53:59 +0000 (+0200) Subject: r600g: simplify framebuffer state size computation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=58c659703bed86ea004a2e64ee231e3ba99b3d45;p=mesa.git r600g: simplify framebuffer state size computation Take the upper bound. The number doesn't have to absolutely correct, only safe. Reviewed-by: Michel Dänzer --- diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index f7a63a8e710..7b1a44b635c 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -1394,32 +1394,10 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, rctx->framebuffer.atom.num_dw = 4; /* SCISSOR */ /* MSAA. */ - if (rctx->b.chip_class == EVERGREEN) { - switch (rctx->framebuffer.nr_samples) { - case 2: - case 4: - rctx->framebuffer.atom.num_dw += 6; - break; - case 8: - rctx->framebuffer.atom.num_dw += 10; - break; - } - rctx->framebuffer.atom.num_dw += 4; - } else { - switch (rctx->framebuffer.nr_samples) { - case 2: - case 4: - rctx->framebuffer.atom.num_dw += 12; - break; - case 8: - rctx->framebuffer.atom.num_dw += 16; - break; - case 16: - rctx->framebuffer.atom.num_dw += 18; - break; - } - rctx->framebuffer.atom.num_dw += 7; - } + if (rctx->b.chip_class == EVERGREEN) + rctx->framebuffer.atom.num_dw += 14; /* Evergreen */ + else + rctx->framebuffer.atom.num_dw += 25; /* Cayman */ /* Colorbuffers. */ rctx->framebuffer.atom.num_dw += state->nr_cbufs * 23;