Skip to content
Snippets Groups Projects
Commit a08cb25d authored by Kenneth Graunke's avatar Kenneth Graunke Committed by Emil Velikov
Browse files

glsl: Handle attribute aliasing in attribute storage limit check.


In various versions of OpenGL and GLSL, it's possible to declare
multiple VS input variables with aliasing attribute locations.

So, when computing the storage requirements for vertex attributes,
we can't simply add up the sizes.  Instead, we need to look at the
enabled slots.

This patch begins tracking which attributes are double types that
are larger than 128-bits (i.e. take up two vec4 slots).  We then
count normal attributes once, and count the double-size attributes
a second time.

Fixes deQP functional.attribute_location.bind_aliasing.max_cond_* tests
on i965, which regressed with commit ad208d97.

No Piglit changes on llvmpipe (which actually supports dvecs).

Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
Tested-by: default avatarMark Janes <mark.a.janes@intel.com>
Reviewed-by: default avatarIlia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
Signed-off-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit c3294ca5)
parent fc654a37
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment