From 55da8bcede40ebaf3bb28b381b815ebfe9c4c3b8 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 21 May 2020 15:27:21 -0400 Subject: [PATCH] panfrost: Fix transform feedback types Don't assume float for everything. Signed-off-by: Alyssa Rosenzweig Part-of: --- .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); -- 2.30.2