summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorAlex Deucher <[email protected]>2011-05-24 22:44:16 -0400
committerAlex Deucher <[email protected]>2011-05-24 22:44:16 -0400
commit017cd5dcc36816e7aef5a7810b8a79d5c8ef777d (patch)
tree7a0dfa322137a2109b2740b16f16dea44c26f72b /src/gallium
parent868c04205c3859a816593595aa513ee603f736ad (diff)
r600g: fix eg/cayman scissor workaround
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/r600/evergreen_state.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index adf93669513..14860af4dd3 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -861,7 +861,7 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx,
struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state);
u32 shader_mask, tl, br, target_mask;
enum radeon_family family;
- int scissor_width, scissor_height;
+ int tl_x, tl_y, br_x, br_y;
if (rstate == NULL)
return;
@@ -892,20 +892,22 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx,
target_mask ^= 0xf << (i * 4);
shader_mask |= 0xf << (i * 4);
}
- scissor_width = state->width;
- scissor_height = state->height;
+ tl_x = 0;
+ tl_y = 0;
+ br_x = state->width;
+ br_y = state->height;
/* EG hw workaround */
- if (scissor_width == 0)
- scissor_width = 1;
- if (scissor_height == 0)
- scissor_height = 1;
+ if (br_x == 0)
+ tl_x = 1;
+ if (br_y == 0)
+ tl_y = 1;
/* cayman hw workaround */
if (family == CHIP_CAYMAN) {
- if (scissor_width == 1 && scissor_height == 1)
- scissor_width = 2;
+ if (br_x == 1 && br_y == 1)
+ br_x = 2;
}
- tl = S_028240_TL_X(0) | S_028240_TL_Y(0);
- br = S_028244_BR_X(scissor_width) | S_028244_BR_Y(scissor_height);
+ tl = S_028240_TL_X(tl_x) | S_028240_TL_Y(tl_y);
+ br = S_028244_BR_X(br_x) | S_028244_BR_Y(br_y);
r600_pipe_state_add_reg(rstate,
R_028240_PA_SC_GENERIC_SCISSOR_TL, tl,