Mesa (master): r600g: simplify framebuffer state size computation
Marek Olšák
mareko at kemper.freedesktop.org
Sat May 10 12:03:01 UTC 2014
Module: Mesa
Branch: master
Commit: 58c659703bed86ea004a2e64ee231e3ba99b3d45
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=58c659703bed86ea004a2e64ee231e3ba99b3d45
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue May 6 13:53:59 2014 +0200
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 <michel.daenzer at amd.com>
---
src/gallium/drivers/r600/evergreen_state.c | 30 ++++------------------------
1 file changed, 4 insertions(+), 26 deletions(-)
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index f7a63a8..7b1a44b 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;
More information about the mesa-commit
mailing list