Mesa (master): panfrost: Fix transform feedback types

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu May 21 20:42:39 UTC 2020


Module: Mesa
Branch: master
Commit: 55da8bcede40ebaf3bb28b381b815ebfe9c4c3b8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=55da8bcede40ebaf3bb28b381b815ebfe9c4c3b8

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Thu May 21 15:27:21 2020 -0400

panfrost: Fix transform feedback types

Don't assume float for everything.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5152>

---

 .gitlab-ci/deqp-panfrost-t860-fails.txt      | 484 ---------------------------
 src/gallium/drivers/panfrost/pan_cmdstream.c |  17 +-
 2 files changed, 2 insertions(+), 499 deletions(-)

diff --git a/.gitlab-ci/deqp-panfrost-t860-fails.txt b/.gitlab-ci/deqp-panfrost-t860-fails.txt
index f8b6623f389..96b0a1f08dd 100644
--- a/.gitlab-ci/deqp-panfrost-t860-fails.txt
+++ b/.gitlab-ci/deqp-panfrost-t860-fails.txt
@@ -974,487 +974,3 @@ dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth24_stencil8
 dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth32f_stencil8_2d_array
 dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth_component16_2d_array
 dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth_component24_2d_array
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_int
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_int
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_int
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.1
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.2
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.3
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.4
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.6
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.7
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.9
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.1
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.2
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.3
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.4
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.5
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.6
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.8
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points.9
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.1
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.3
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.4
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.5
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.6
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.7
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.8
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.9
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.1
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.10
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.2
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.3
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.4
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.5
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.6
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.7
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.8
-dEQP-GLES3.functional.transform_feedback.random.separate.lines.9
-dEQP-GLES3.functional.transform_feedback.random.separate.points.1
-dEQP-GLES3.functional.transform_feedback.random.separate.points.10
-dEQP-GLES3.functional.transform_feedback.random.separate.points.2
-dEQP-GLES3.functional.transform_feedback.random.separate.points.3
-dEQP-GLES3.functional.transform_feedback.random.separate.points.4
-dEQP-GLES3.functional.transform_feedback.random.separate.points.5
-dEQP-GLES3.functional.transform_feedback.random.separate.points.6
-dEQP-GLES3.functional.transform_feedback.random.separate.points.7
-dEQP-GLES3.functional.transform_feedback.random.separate.points.9
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.1
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.10
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.2
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.3
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.4
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.5
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.6
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.7
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.8
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles.9
diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c
index 0d96f842fa8..a6114f7cdc8 100644
--- a/src/gallium/drivers/panfrost/pan_cmdstream.c
+++ b/src/gallium/drivers/panfrost/pan_cmdstream.c
@@ -1689,19 +1689,6 @@ pan_get_so(struct pipe_stream_output_info *info, gl_varying_slot loc)
         unreachable("Varying not captured");
 }
 
-/* TODO: Integers */
-static enum mali_format
-pan_xfb_format(unsigned nr_components)
-{
-        switch (nr_components) {
-                case 1: return MALI_R32F;
-                case 2: return MALI_RG32F;
-                case 3: return MALI_RGB32F;
-                case 4: return MALI_RGBA32F;
-                default: unreachable("Invalid format");
-        }
-}
-
 void
 panfrost_emit_varying_descriptor(struct panfrost_batch *batch,
                                  unsigned vertex_count,
@@ -1887,9 +1874,9 @@ panfrost_emit_varying_descriptor(struct panfrost_batch *batch,
                 struct pipe_stream_output *o = pan_get_so(so, loc);
                 ovs[i].index = o->output_buffer;
 
-                /* Set the type appropriately. TODO: Integer varyings XXX */
                 assert(o->stream == 0);
-                ovs[i].format = pan_xfb_format(o->num_components);
+                ovs[i].format = (vs->varyings[i].format & ~MALI_NR_CHANNELS(4))
+                        | MALI_NR_CHANNELS(o->num_components);
 
                 if (device->quirks & HAS_SWIZZLES)
                         ovs[i].swizzle = panfrost_get_default_swizzle(o->num_components);



More information about the mesa-commit mailing list