summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2015-12-30 02:33:00 -0800
committerKenneth Graunke <[email protected]>2015-12-30 16:04:12 -0800
commit7cdc2b9ca0ab60b282416b975a2ac6d7abcd42ad (patch)
treedebe7beedbc1ebc6534f127cbe1b29d19e0c12d4 /src/util
parent4acf71c89b5ef5e2fe8c1a3d7ecf6031e191463c (diff)
glsl: Fix varying struct locations when varying packing is disabled.
varying_matches::record tries to compute the number of components in each varying, which varying_matches::assign_locations uses to assign locations. With varying packing, it uses glsl_type::component_slots() to come up with a reasonable value. Without varying packing, it fell back to an open-coded computation that didn't bother to handle structs at all. I believe we can simply use 4 * glsl_type::count_attribute_slots(false), which already handles these cases correctly. Partially fixes rendering in GFXBench 4.0's tessellation benchmark. (NVE0 is almost right after this, but i965 is still mostly garbage.) Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Cc: "11.0 11.1" <[email protected]>
Diffstat (limited to 'src/util')
0 files changed, 0 insertions, 0 deletions