diff options
author | Kenneth Graunke <[email protected]> | 2015-03-12 05:52:13 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2015-10-21 14:27:49 -0700 |
commit | 6ae419b94d7a7d2dfbb9a2908d28ca5aea4724e3 (patch) | |
tree | 635e064daab6b4e5a792b1412c1d87426a872a1e /src | |
parent | 72d84ae7ceaed4e723376a18d09689be183e0155 (diff) |
i965: Make fs_visitor::emit_urb_writes reusable for scalar GS.
GS doesn't have ClampVertexColor, and we don't want to go through VS
structures.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index f825fed4daf..d7c4a6e213d 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -868,13 +868,13 @@ void fs_visitor::emit_urb_writes() { int slot, urb_offset, length; - struct brw_vs_prog_data *vs_prog_data = - (struct brw_vs_prog_data *) prog_data; - const struct brw_vs_prog_key *key = + const struct brw_vue_prog_data *vue_prog_data = + (const struct brw_vue_prog_data *) this->prog_data; + const struct brw_vs_prog_key *vs_key = (const struct brw_vs_prog_key *) this->key; const GLbitfield64 psiz_mask = VARYING_BIT_LAYER | VARYING_BIT_VIEWPORT | VARYING_BIT_PSIZ; - const struct brw_vue_map *vue_map = &vs_prog_data->base.vue_map; + const struct brw_vue_map *vue_map = &vue_prog_data->vue_map; bool flush; fs_reg sources[8]; @@ -961,11 +961,11 @@ fs_visitor::emit_urb_writes() break; } - if ((varying == VARYING_SLOT_COL0 || + if (stage == MESA_SHADER_VERTEX && vs_key->clamp_vertex_color && + (varying == VARYING_SLOT_COL0 || varying == VARYING_SLOT_COL1 || varying == VARYING_SLOT_BFC0 || - varying == VARYING_SLOT_BFC1) && - key->clamp_vertex_color) { + varying == VARYING_SLOT_BFC1)) { /* We need to clamp these guys, so do a saturating MOV into a * temp register and use that for the payload. */ |