diff options
author | Kenneth Graunke <[email protected]> | 2015-10-26 01:03:12 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2015-10-28 22:05:08 -0700 |
commit | b94cdcdada251bb8e866cb7af0f2ff222b55a918 (patch) | |
tree | d0ffa2100911d8481fe7dab8c65556e814cd39d5 /src/mesa | |
parent | 6ae47a3eb4e30fa92dd60e4a16e016e8585c3c48 (diff) |
i965/fs: Properly check for PAD in fragment shaders with > 16 varyings.
Commit 268008f98c3810b9f276df985dc93efc0c49f33e changed unused VUE map
slots to be initialized with BRW_VARYING_SLOT_PAD, not COUNT. I missed
updating this. It also means that commit message was wrong, as some
code *did* rely slots being initialized to COUNT.
This may fix a bug with SSO programs with > 16 FS input varyings.
I think we probably just emitted extra pointless code, but probably
didn't break anything. We might also just have no tests for that.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Chris Forbes <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 75f1a926c1d..2eef7af4e11 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1456,10 +1456,7 @@ fs_visitor::calculate_urb_setup() for (int slot = first_slot; slot < prev_stage_vue_map.num_slots; slot++) { int varying = prev_stage_vue_map.slot_to_varying[slot]; - /* Note that varying == BRW_VARYING_SLOT_COUNT when a slot is - * unused. - */ - if (varying != BRW_VARYING_SLOT_COUNT && + if (varying != BRW_VARYING_SLOT_PAD && (nir->info.inputs_read & BRW_FS_VARYING_INPUT_MASK & BITFIELD64_BIT(varying))) { prog_data->urb_setup[varying] = slot - first_slot; |