diff options
author | Andres Gomez <[email protected]> | 2018-01-29 18:25:30 +0200 |
---|---|---|
committer | Andres Gomez <[email protected]> | 2018-01-31 22:50:06 +0200 |
commit | 5a7aba2e0a7fb3414a94d04d5970a2ed10c1f63e (patch) | |
tree | 9760eb0b18b93283267037b8de2d9a8059fd92ae /src/mesa/math/m_translate.h | |
parent | ab1f2e6bc401636202f93efad3677f26d028e412 (diff) |
i965: perform 2 uploads with dual slot *64*PASSTHRU formats on gen<8
The emission of vertex attributes corresponding to dvec3 and dvec4
vertex shader input variables was not correct when the <size> passed
to the VertexAttribL* commands was <= 2.
In 61a8a55f557 ("i965/gen8: Fix vertex attrib upload for dvec3/4
shader inputs"), for gen8+ we needed to determine if the attrib was
dual slot to emit 128 or 256-bit, independently of the VAO size.
Similarly, for gen < 8 we also need to determine whether the attrib is
dual slot to force the emission of 256-bits through 2 uploads.
Additionally, we make use of the ISL_FORMAT_R32_FLOAT format in this
second upload to fill these unspecified components with zeros, as we
also do for gen8+.
Fixes the following test on Haswell:
KHR-GL46.vertex_attrib_binding.basic-inputL-case1
v2: Added more inline comments to explain why we are using
ISL_FORMAT_R32_FLOAT and its consequences, as requested by
Alejandro and Antía.
Fixes: 75968a668e4 ("i965/gen7: expose OpenGL 4.2 on Haswell when
supported")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103006
Cc: Alejandro Piñeiro <[email protected]>
Cc: Juan A. Suarez Romero <[email protected]>
Cc: Antia Puentes <[email protected]>
Cc: Rafael Antognolli <[email protected]>
Cc: Kenneth Graunke <[email protected]>
Signed-off-by: Andres Gomez <[email protected]>
Reviewed-by: Alejandro Piñeiro <[email protected]>
Reviewed-by: Antia Puentes <[email protected]>
Reviewed-by: Rafael Antognolli <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/math/m_translate.h')
0 files changed, 0 insertions, 0 deletions