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.
This commit is contained in:
Eric Anholt
2010-12-03 18:20:42 -08:00
parent 65570d0482
commit 8f23039f00
+3 -1
View File
@@ -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,