summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2010-09-25 16:11:40 +0200
committerJerome Glisse <jglisse@redhat.com>2010-09-26 12:21:02 -0400
commitc622174f73d0113dbba79520028d3a101b116e39 (patch)
tree4503384c7b541ba67567944a122ba02828ce388d
parenta852615946b98de2d832d4907f09649803577db7 (diff)
r600g: set ENABLE_KILL in the shader state in the new design
-rw-r--r--src/gallium/drivers/r600/r600_state2.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_state2.c b/src/gallium/drivers/r600/r600_state2.c
index c4e06a5f52..986ede3f39 100644
--- a/src/gallium/drivers/r600/r600_state2.c
+++ b/src/gallium/drivers/r600/r600_state2.c
@@ -173,6 +173,14 @@ static void r600_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shade
r600_pipe_state_add_reg(rstate, R600_GROUP_CONTEXT,
R_0288CC_SQ_PGM_CF_OFFSET_PS,
0x00000000, 0xFFFFFFFF, NULL);
+
+ if (rshader->uses_kill) {
+ /* only set some bits here, the other bits are set in the dsa state */
+ r600_pipe_state_add_reg(rstate, R600_GROUP_CONTEXT,
+ R_02880C_DB_SHADER_CONTROL,
+ S_02880C_KILL_ENABLE(1),
+ S_02880C_KILL_ENABLE(1), NULL);
+ }
}
static int r600_pipe_shader(struct pipe_context *ctx, struct r600_pipe_shader *shader)