Mesa (master): i965: Update gen6 SF state on fragment program change too.
Eric Anholt
anholt at kemper.freedesktop.org
Sun Dec 5 00:29:23 UTC 2010
Module: Mesa
Branch: master
Commit: 8f23039f0014eafec8b9d3fa06ce5fcba655a39b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f23039f0014eafec8b9d3fa06ce5fcba655a39b
Author: Eric Anholt <eric at anholt.net>
Date: Fri Dec 3 18:20:42 2010 -0800
i965: Update gen6 SF state on fragment program change too.
SF state depends on what inputs there are to the fragment program, not
just the outputs of the VS.
---
src/mesa/drivers/dri/i965/gen6_sf_state.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/gen6_sf_state.c b/src/mesa/drivers/dri/i965/gen6_sf_state.c
index 06ac5d4..476bf53 100644
--- a/src/mesa/drivers/dri/i965/gen6_sf_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_sf_state.c
@@ -67,6 +67,7 @@ upload_sf_state(struct brw_context *brw)
struct gl_context *ctx = &intel->ctx;
/* CACHE_NEW_VS_PROG */
uint32_t num_inputs = brw_count_bits(brw->vs.prog_data->outputs_written);
+ /* BRW_NEW_FRAGMENT_PROGRAM */
uint32_t num_outputs = brw_count_bits(brw->fragment_program->Base.InputsRead);
uint32_t dw1, dw2, dw3, dw4, dw16;
int i;
@@ -247,7 +248,8 @@ const struct brw_tracked_state gen6_sf_state = {
_NEW_BUFFERS |
_NEW_POINT |
_NEW_TRANSFORM),
- .brw = BRW_NEW_CONTEXT,
+ .brw = (BRW_NEW_CONTEXT |
+ BRW_NEW_FRAGMENT_PROGRAM),
.cache = CACHE_NEW_VS_PROG
},
.emit = upload_sf_state,
More information about the mesa-commit
mailing list