summaryrefslogtreecommitdiff
path: root/lib/mesa/src/gallium/drivers/zink
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2022-02-24 02:30:08 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2022-02-24 02:30:08 +0000
commit1d35364040c0ffa99133522fa5ab3bd6131d8bf7 (patch)
tree0ea3d9ca4ad10692c6477168b67e98cb50ea6bd3 /lib/mesa/src/gallium/drivers/zink
parentb24b5b9049e889ee4eb39b565bcc8d48bd45ab48 (diff)
Merge Mesa 21.3.7
Diffstat (limited to 'lib/mesa/src/gallium/drivers/zink')
-rw-r--r--lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt160
-rw-r--r--lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-flakes.txt0
-rw-r--r--lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-skips.txt1
-rw-r--r--lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt258
-rw-r--r--lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-flakes.txt5
-rw-r--r--lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt22
-rw-r--r--lib/mesa/src/gallium/drivers/zink/zink_draw.c312
7 files changed, 0 insertions, 758 deletions
diff --git a/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt b/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt
deleted file mode 100644
index f1e384b62..000000000
--- a/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt
+++ /dev/null
@@ -1,160 +0,0 @@
-dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail
-dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
-dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail
-dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_x_and_neg_y_neg_z_and_pos_y_pos_z,Fail
-dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z,Fail
-dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z,Fail
-dEQP-GLES2.functional.polygon_offset.default_displacement_with_units,Fail
-dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units,Fail
-dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center,Fail
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z,Fail
-dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag,Fail
-dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x,Fail
-dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r16i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r16i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r16i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r32i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r32i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r32i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r8i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r8i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.r8i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg16i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg16i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg16i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg32i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg32i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg32i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg8i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg8i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rg8i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba16i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba16i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba16i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba32i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba32i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba32i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba8i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba8i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.int.rgba8i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r16ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r16ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r16ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r32ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r32ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r32ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r8ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r8ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.r8ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg16ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg16ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg16ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg32ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg32ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg32ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg8ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg8ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rg8ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgb10_a2ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgb10_a2ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgb10_a2ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba16ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba16ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba16ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba32ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba32ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba32ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba8ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba8ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.array.uint.rgba8ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r16i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r16i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r16i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r32i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r32i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r32i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r8i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r8i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.r8i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg16i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg16i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg16i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg32i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg32i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg32i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg8i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg8i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rg8i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba16i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba16i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba16i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba32i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba32i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba32i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba8i_highp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba8i_lowp_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.int.rgba8i_mediump_ivec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r16ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r16ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r16ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r32ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r32ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r32ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r8ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r8ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.r8ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg16ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg16ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg16ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg32ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg32ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg32ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg8ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg8ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rg8ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgb10_a2ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgb10_a2ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgb10_a2ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba16ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba16ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba16ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba32ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba32ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba32ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba8ui_highp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba8ui_lowp_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.basic.uint.rgba8ui_mediump_uvec3,Fail
-dEQP-GLES3.functional.fragment_out.random.10,Fail
-dEQP-GLES3.functional.fragment_out.random.18,Fail
-dEQP-GLES3.functional.fragment_out.random.22,Fail
-dEQP-GLES3.functional.fragment_out.random.2,Fail
-dEQP-GLES3.functional.fragment_out.random.30,Fail
-dEQP-GLES3.functional.fragment_out.random.34,Fail
-dEQP-GLES3.functional.fragment_out.random.38,Fail
-dEQP-GLES3.functional.fragment_out.random.42,Fail
-dEQP-GLES3.functional.fragment_out.random.50,Fail
-dEQP-GLES3.functional.fragment_out.random.54,Fail
-dEQP-GLES3.functional.fragment_out.random.58,Fail
-dEQP-GLES3.functional.fragment_out.random.62,Fail
-dEQP-GLES3.functional.fragment_out.random.66,Fail
-dEQP-GLES3.functional.fragment_out.random.6,Fail
-dEQP-GLES3.functional.fragment_out.random.70,Fail
-dEQP-GLES3.functional.fragment_out.random.78,Fail
-dEQP-GLES3.functional.fragment_out.random.82,Fail
-dEQP-GLES3.functional.fragment_out.random.86,Fail
-dEQP-GLES3.functional.fragment_out.random.90,Fail
-dEQP-GLES3.functional.fragment_out.random.94,Fail
-dEQP-GLES3.functional.fragment_out.random.98,Fail
-dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units,Fail
-dEQP-GLES3.functional.polygon_offset.fixed24_displacement_with_units,Fail
-dEQP-GLES3.functional.rasterization.flatshading.lines,Fail
-KHR-GL32.transform_feedback.capture_geometry_separate_test,Fail
-KHR-GL32.transform_feedback.capture_vertex_interleaved_test,Fail
-KHR-GL32.transform_feedback.capture_vertex_separate_test,Fail
-KHR-GL32.transform_feedback.discard_vertex_test,Fail
-KHR-GL32.transform_feedback.draw_xfb_instanced_test,Crash
-KHR-GL32.transform_feedback.draw_xfb_stream_instanced_test,Crash
-KHR-GL32.transform_feedback.query_geometry_separate_test,Fail
-KHR-GL32.transform_feedback.query_vertex_interleaved_test,Fail
-KHR-GL32.transform_feedback.query_vertex_separate_test,Fail
diff --git a/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-flakes.txt b/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-flakes.txt
deleted file mode 100644
index e69de29bb..000000000
--- a/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-flakes.txt
+++ /dev/null
diff --git a/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-skips.txt b/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-skips.txt
deleted file mode 100644
index 39aa35934..000000000
--- a/lib/mesa/src/gallium/drivers/zink/ci/deqp-zink-lvp-skips.txt
+++ /dev/null
@@ -1 +0,0 @@
-KHR-GL32.texture_size_promotion.functional
diff --git a/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt b/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt
deleted file mode 100644
index 8be40aa1e..000000000
--- a/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-glx@extension string sanity,Fail
-glx@glx-copy-sub-buffer,Fail
-glx@glx-copy-sub-buffer samples=2,Fail
-glx@glx-copy-sub-buffer samples=4,Fail
-glx@glx-multi-window-single-context,Fail
-glx@glx-multithread-buffer,Fail
-glx@glx-multithread-texture,Fail
-glx@glx-swap-copy,Fail
-glx@glx-swap-pixmap-bad,Fail
-glx@glx-tfp,Crash
-glx@glx-visuals-depth,Crash
-glx@glx-visuals-depth -pixmap,Crash
-glx@glx-visuals-stencil,Crash
-glx@glx-visuals-stencil -pixmap,Crash
-glx@glx-query-drawable-glx_fbconfig_id-window,Fail
-glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail
-glx@glx_ext_import_context@free context,Fail
-glx@glx_ext_import_context@get context id,Fail
-glx@glx_ext_import_context@get current display,Fail
-glx@glx_ext_import_context@import context- multi process,Fail
-glx@glx_ext_import_context@import context- single process,Fail
-glx@glx_ext_import_context@imported context has same context id,Fail
-glx@glx_ext_import_context@make current- multi process,Fail
-glx@glx_ext_import_context@make current- single process,Fail
-glx@glx_ext_import_context@query context info,Fail
-shaders@glsl-bug-110796,Fail
-shaders@glsl-fs-flat-color,Fail
-shaders@glsl-fs-pointcoord,Fail
-shaders@point-vertex-id divisor,Fail
-shaders@point-vertex-id gl_instanceid,Fail
-shaders@point-vertex-id gl_instanceid divisor,Fail
-shaders@point-vertex-id gl_vertexid,Fail
-shaders@point-vertex-id gl_vertexid divisor,Fail
-shaders@point-vertex-id gl_vertexid gl_instanceid,Fail
-shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Fail
-spec@!opengl 1.0@gl-1.0-dlist-materials,Fail
-spec@!opengl 1.0@gl-1.0-dlist-shademodel,Fail
-spec@!opengl 1.0@gl-1.0-edgeflag,Fail
-spec@!opengl 1.0@gl-1.0-edgeflag-quads,Fail
-spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
-spec@!opengl 1.0@gl-1.0-swapbuffers-behavior,Fail
-spec@!opengl 1.1@clipflat,Fail
-spec@!opengl 1.1@line-flat-clip-color,Fail
-spec@!opengl 1.1@linestipple,Fail
-spec@!opengl 1.1@max-texture-size,Crash
-spec@!opengl 1.1@polygon-mode,Fail
-spec@!opengl 1.1@polygon-mode-facing,Fail
-spec@!opengl 1.1@polygon-mode-offset,Fail
-spec@!opengl 1.1@polygon-offset,Fail
-spec@!opengl 1.1@read-front,Fail
-spec@!opengl 1.1@read-front clear-front-first,Fail
-spec@!opengl 1.1@read-front clear-front-first samples=2,Fail
-spec@!opengl 1.1@read-front clear-front-first samples=4,Fail
-spec@!opengl 1.1@read-front samples=2,Fail
-spec@!opengl 1.1@read-front samples=4,Fail
-spec@!opengl 1.1@texwrap 1d bordercolor,Fail
-spec@!opengl 1.1@texwrap 1d proj bordercolor,Fail
-spec@!opengl 1.1@texwrap 2d bordercolor,Fail
-spec@!opengl 1.1@texwrap 2d proj bordercolor,Fail
-spec@!opengl 1.1@texwrap formats bordercolor,Fail
-spec@!opengl 1.1@texwrap formats bordercolor-swizzled,Fail
-spec@!opengl 1.2@copyteximage 3d,Fail
-spec@!opengl 1.2@texwrap 3d bordercolor,Fail
-spec@!opengl 1.2@texwrap 3d proj bordercolor,Fail
-spec@!opengl 1.3@gl-1.3-texture-env,Fail
-spec@!opengl 1.3@tex-border-1,Fail
-spec@!opengl 1.3@tex3d-depth1,Fail
-spec@!opengl 1.4@gl-1.4-polygon-offset,Fail
-spec@!opengl 2.0@depth-tex-modes-glsl,Fail
-spec@!opengl 2.0@gl-2.0-edgeflag,Fail
-spec@!opengl 2.0@gl-2.0-edgeflag-immediate,Fail
-spec@!opengl 2.0@max-samplers border,Fail
-spec@!opengl 2.1@pbo,Fail
-spec@!opengl 2.1@polygon-stipple-fs,Fail
-spec@!opengl 3.0@sampler-cube-shadow,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims cull-back pv-first,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims cull-back pv-last,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims cull-front pv-first,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims cull-front pv-last,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims line cull-back pv-first,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims line cull-back pv-last,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims line cull-front pv-first,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims line cull-front pv-last,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims pv-first,Fail
-spec@!opengl 3.2@gl-3.2-adj-prims pv-last,Fail
-spec@!opengl es 2.0@glsl-fs-pointcoord,Fail
-spec@!opengl es 3.0@gles-3.0-transform-feedback-uniform-buffer-object,Fail
-spec@arb_depth_buffer_float@texwrap formats bordercolor,Fail
-spec@arb_depth_buffer_float@texwrap formats bordercolor-swizzled,Fail
-spec@arb_depth_texture@depth-tex-modes,Fail
-spec@arb_depth_texture@texwrap formats bordercolor,Fail
-spec@arb_depth_texture@texwrap formats bordercolor-swizzled,Fail
-spec@arb_es2_compatibility@texwrap formats bordercolor,Fail
-spec@arb_es2_compatibility@texwrap formats bordercolor-swizzled,Fail
-spec@arb_fragment_program@fp-abs-01,Crash
-spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail
-spec@arb_framebuffer_object@fbo-gl_pointcoord,Fail
-spec@arb_get_program_binary@restore-sso-program,Fail
-spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail
-spec@arb_pipeline_statistics_query@arb_pipeline_statistics_query-frag,Fail
-spec@arb_point_parameters@arb_point_parameters-point-attenuation,Fail
-spec@arb_point_sprite@arb_point_sprite-checkerboard,Fail
-spec@arb_point_sprite@arb_point_sprite-mipmap,Fail
-spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail
-spec@arb_provoking_vertex@arb-provoking-vertex-clipped-geometry-flatshading,Fail
-spec@arb_provoking_vertex@arb-provoking-vertex-render,Fail
-spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail
-spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail
-spec@arb_sample_shading@interpolate-at-sample-position 2,Fail
-spec@arb_sample_shading@interpolate-at-sample-position 4,Fail
-spec@arb_sample_shading@samplemask 2,Fail
-spec@arb_sample_shading@samplemask 2 all,Fail
-spec@arb_sample_shading@samplemask 4,Fail
-spec@arb_sample_shading@samplemask 4 all,Fail
-spec@arb_seamless_cube_map@arb_seamless_cubemap,Fail
-spec@arb_shader_storage_buffer_object@array-ssbo-binding,Crash
-spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgrad,Fail
-spec@arb_tessellation_shader@arb_tessellation_shader-tes-gs-max-output -small -scan 1 50,Crash
-spec@arb_texture_buffer_object@indexed,Fail
-spec@arb_texture_buffer_object@render-no-bo,Crash
-spec@arb_texture_buffer_range@ranges-2 compat,Fail
-spec@arb_texture_compression@texwrap formats bordercolor,Fail
-spec@arb_texture_compression@texwrap formats bordercolor-swizzled,Fail
-spec@arb_texture_compression_bptc@texwrap formats bordercolor,Fail
-spec@arb_texture_compression_bptc@texwrap formats bordercolor-swizzled,Fail
-spec@arb_texture_cube_map_array@arb_texture_cube_map_array-sampler-cube-array-shadow,Fail
-spec@arb_texture_float@fbo-blending-formats,Fail
-spec@arb_texture_float@texwrap formats bordercolor,Fail
-spec@arb_texture_float@texwrap formats bordercolor-swizzled,Fail
-spec@arb_texture_rectangle@texwrap rect bordercolor,Fail
-spec@arb_texture_rectangle@texwrap rect proj bordercolor,Fail
-spec@arb_texture_rg@multisample-fast-clear gl_arb_texture_rg-int,Fail
-spec@arb_texture_rg@texwrap formats bordercolor,Fail
-spec@arb_texture_rg@texwrap formats bordercolor-swizzled,Fail
-spec@arb_texture_rg@texwrap formats-float bordercolor,Fail
-spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled,Fail
-spec@arb_texture_rg@texwrap formats-int bordercolor,Fail
-spec@arb_texture_rg@texwrap formats-int bordercolor-swizzled,Fail
-spec@arb_texture_rgb10_a2ui@texwrap formats bordercolor,Fail
-spec@arb_texture_rgb10_a2ui@texwrap formats bordercolor-swizzled,Fail
-spec@arb_texture_stencil8@texwrap formats bordercolor,Fail
-spec@arb_texture_stencil8@texwrap formats bordercolor-swizzled,Fail
-spec@arb_texture_view@rendering-formats,Fail
-spec@arb_texture_view@sampling-2d-array-as-cubemap-array,Fail
-spec@arb_uniform_buffer_object@maxblocks,Crash
-spec@egl 1.4@egl-copy-buffers,Fail
-spec@egl 1.4@eglterminate then unbind context,Fail
-spec@egl_khr_gl_image@egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_component24,Fail
-spec@egl_khr_surfaceless_context@viewport,Fail
-spec@egl_mesa_configless_context@basic,Fail
-spec@ext_framebuffer_blit@fbo-blit-check-limits,Fail
-spec@ext_framebuffer_multisample@blit-mismatched-formats,Fail
-spec@ext_framebuffer_multisample@clip-and-scissor-blit 2 msaa,Fail
-spec@ext_framebuffer_multisample@clip-and-scissor-blit 2 upsample,Fail
-spec@ext_framebuffer_multisample@clip-and-scissor-blit 4 msaa,Fail
-spec@ext_framebuffer_multisample@clip-and-scissor-blit 4 upsample,Fail
-spec@ext_framebuffer_multisample@enable-flag,Fail
-spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail
-spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail
-spec@ext_framebuffer_multisample@interpolation 2 centroid-edges,Fail
-spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail
-spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail
-spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail
-spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
-spec@ext_framebuffer_multisample@interpolation 4 centroid-edges,Fail
-spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
-spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
-spec@ext_framebuffer_multisample@sample-coverage 2 non-inverted,Fail
-spec@ext_framebuffer_multisample@sample-coverage 4 non-inverted,Fail
-spec@ext_framebuffer_object@fbo-blending-format-quirks,Fail
-spec@ext_framebuffer_object@fbo-blending-formats,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export-tex,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-intel_external_sampler_only,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-invalid_attributes,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-invalid_hints,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-missing_attributes,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-ownership_transfer,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-refcount,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_argb8888,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_ayuv,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_nv12,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_p010,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_p012,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_p016,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_uyvy,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_xrgb8888,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_xyuv,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yuv420,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yuyv,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_yvu420,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-transcode-nv12-as-r8-gr88,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-unsupported_format,Fail
-spec@ext_packed_depth_stencil@texwrap formats bordercolor,Fail
-spec@ext_packed_depth_stencil@texwrap formats bordercolor-swizzled,Fail
-spec@ext_packed_float@query-rgba-signed-components,Fail
-spec@ext_packed_float@texwrap formats bordercolor,Fail
-spec@ext_packed_float@texwrap formats bordercolor-swizzled,Fail
-spec@ext_provoking_vertex@provoking-vertex,Fail
-spec@ext_texture_compression_rgtc@texwrap formats bordercolor,Fail
-spec@ext_texture_compression_rgtc@texwrap formats bordercolor-swizzled,Fail
-spec@ext_texture_compression_s3tc@texwrap formats bordercolor,Fail
-spec@ext_texture_compression_s3tc@texwrap formats bordercolor-swizzled,Fail
-spec@ext_texture_integer@multisample-fast-clear gl_ext_texture_integer,Fail
-spec@ext_texture_integer@texwrap formats bordercolor,Fail
-spec@ext_texture_integer@texwrap formats bordercolor-swizzled,Fail
-spec@ext_texture_shared_exponent@texwrap formats bordercolor,Fail
-spec@ext_texture_shared_exponent@texwrap formats bordercolor-swizzled,Fail
-spec@ext_texture_snorm@fbo-blending-formats,Fail
-spec@ext_texture_snorm@texwrap formats bordercolor,Fail
-spec@ext_texture_snorm@texwrap formats bordercolor-swizzled,Fail
-spec@ext_texture_srgb@texwrap formats bordercolor,Fail
-spec@ext_texture_srgb@texwrap formats bordercolor-swizzled,Fail
-spec@ext_texture_srgb@texwrap formats-s3tc bordercolor,Fail
-spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled,Fail
-spec@ext_texture_swizzle@depth_texture_mode_and_swizzle,Fail
-spec@ext_transform_feedback2@counting with pause,Fail
-spec@ext_transform_feedback@generatemipmap prims_generated,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_line_loop ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_line_loop other,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_line_strip_adjacency ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_line_strip_adjacency other,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_lines ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_lines other,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_lines_adjacency ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_lines_adjacency other,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_points ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_points other,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_triangle_strip_adjacency ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_triangle_strip_adjacency other,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_triangles ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_triangles other,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_triangles_adjacency ffs,Fail
-spec@glsl-1.50@execution@geometry@primitive-id-restart gl_triangles_adjacency other,Fail
-spec@glsl-1.50@execution@geometry@primitive-types gl_triangle_fan,Fail
-spec@glsl-1.50@execution@geometry@primitive-types gl_triangle_strip,Fail
-spec@glsl-1.50@execution@geometry@primitive-types gl_triangle_strip_adjacency,Fail
-spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip ffs,Fail
-spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip other,Fail
-spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency ffs,Fail
-spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency other,Fail
-spec@glsl-1.50@gs-max-output,Crash
-spec@intel_performance_query@intel_performance_query-issue_2235,Fail
-spec@khr_texture_compression_astc@array-gl,Fail
-spec@khr_texture_compression_astc@miptree-gl ldr,Fail
-spec@khr_texture_compression_astc@miptree-gl srgb,Fail
-spec@khr_texture_compression_astc@miptree-gl srgb-fp,Fail
-spec@khr_texture_compression_astc@miptree-gl srgb-sd,Fail
-spec@khr_texture_compression_astc@miptree-gles ldr,Fail
-spec@khr_texture_compression_astc@miptree-gles srgb,Fail
-spec@khr_texture_compression_astc@miptree-gles srgb-fp,Fail
-spec@khr_texture_compression_astc@miptree-gles srgb-sd,Fail
-spec@khr_texture_compression_astc@sliced-3d-miptree-gl ldr,Fail
-spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb,Fail
-spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
-spec@khr_texture_compression_astc@sliced-3d-miptree-gles ldr,Fail
-spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb,Fail
-spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
diff --git a/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-flakes.txt b/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-flakes.txt
deleted file mode 100644
index bb3f8db32..000000000
--- a/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-flakes.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-spec@nv_primitive_restart@primitive-restart-disable_vbo
-spec@nv_primitive_restart@primitive-restart-vbo_combined_vertex_and_index
-spec@nv_primitive_restart@primitive-restart-vbo_index_only
-spec@nv_primitive_restart@primitive-restart-vbo_separate_vertex_and_index
-spec@nv_primitive_restart@primitive-restart-vbo_vertex_only
diff --git a/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt b/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt
deleted file mode 100644
index fa384e24b..000000000
--- a/lib/mesa/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-# Note: skips lists for CI are just a list of lines that, when
-# non-zero-length and not starting with '#', will regex match to
-# delete lines from the test list. Be careful.
-
-# ignores copied from the old runner script
-spec@arb_map_buffer_alignment@arb_map_buffer_alignment-map-invalidate-range
-glx@glx-make-current
-spec@arb_timer_query.*
-spec@arb_sample_shading@builtin-gl-sample-mask
-spec@glsl-1.30@execution@tex-miplevel-selection.*
-
-# only supported if Piglit is using GLUT
-spec@!opengl 1.1@windowoverlap
-
-# WGL is Windows-only
-wgl@.*
-
-# This test doesn't even seem to exist, but piglit adds it to a group...?
-spec@arb_vertex_type_2_10_10_10_rev@attrib-p-type-size-match
-
-# This one seems to have a typo in the name, and doesn't really ever run?
-spec@egl_ext_protected_content@conformance
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_draw.c b/lib/mesa/src/gallium/drivers/zink/zink_draw.c
deleted file mode 100644
index 553579acf..000000000
--- a/lib/mesa/src/gallium/drivers/zink/zink_draw.c
+++ /dev/null
@@ -1,312 +0,0 @@
-#include "zink_compiler.h"
-#include "zink_context.h"
-#include "zink_program.h"
-#include "zink_resource.h"
-#include "zink_screen.h"
-#include "zink_state.h"
-
-#include "indices/u_primconvert.h"
-#include "util/hash_table.h"
-#include "util/u_debug.h"
-#include "util/u_helpers.h"
-#include "util/u_inlines.h"
-#include "util/u_prim.h"
-
-static VkDescriptorSet
-allocate_descriptor_set(struct zink_screen *screen,
- struct zink_batch *batch,
- struct zink_gfx_program *prog)
-{
- assert(batch->descs_left >= prog->num_descriptors);
- VkDescriptorSetAllocateInfo dsai;
- memset((void *)&dsai, 0, sizeof(dsai));
- dsai.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
- dsai.pNext = NULL;
- dsai.descriptorPool = batch->descpool;
- dsai.descriptorSetCount = 1;
- dsai.pSetLayouts = &prog->dsl;
-
- VkDescriptorSet desc_set;
- if (vkAllocateDescriptorSets(screen->dev, &dsai, &desc_set) != VK_SUCCESS) {
- debug_printf("ZINK: failed to allocate descriptor set :/");
- return VK_NULL_HANDLE;
- }
-
- batch->descs_left -= prog->num_descriptors;
- return desc_set;
-}
-
-static void
-zink_bind_vertex_buffers(struct zink_batch *batch, struct zink_context *ctx)
-{
- VkBuffer buffers[PIPE_MAX_ATTRIBS];
- VkDeviceSize buffer_offsets[PIPE_MAX_ATTRIBS];
- const struct zink_vertex_elements_state *elems = ctx->element_state;
- for (unsigned i = 0; i < elems->hw_state.num_bindings; i++) {
- struct pipe_vertex_buffer *vb = ctx->buffers + ctx->element_state->binding_map[i];
- assert(vb);
- if (vb->buffer.resource) {
- struct zink_resource *res = zink_resource(vb->buffer.resource);
- buffers[i] = res->buffer;
- buffer_offsets[i] = vb->buffer_offset;
- zink_batch_reference_resoure(batch, res);
- } else {
- buffers[i] = zink_resource(ctx->dummy_buffer)->buffer;
- buffer_offsets[i] = 0;
- }
- }
-
- if (elems->hw_state.num_bindings > 0)
- vkCmdBindVertexBuffers(batch->cmdbuf, 0,
- elems->hw_state.num_bindings,
- buffers, buffer_offsets);
-}
-
-static struct zink_gfx_program *
-get_gfx_program(struct zink_context *ctx)
-{
- if (ctx->dirty_program) {
- struct hash_entry *entry = _mesa_hash_table_search(ctx->program_cache,
- ctx->gfx_stages);
- if (!entry) {
- struct zink_gfx_program *prog;
- prog = zink_create_gfx_program(zink_screen(ctx->base.screen),
- ctx->gfx_stages);
- entry = _mesa_hash_table_insert(ctx->program_cache, prog->stages, prog);
- if (!entry)
- return NULL;
- }
- ctx->curr_program = entry->data;
- ctx->dirty_program = false;
- }
-
- assert(ctx->curr_program);
- return ctx->curr_program;
-}
-
-static bool
-line_width_needed(enum pipe_prim_type reduced_prim,
- VkPolygonMode polygon_mode)
-{
- switch (reduced_prim) {
- case PIPE_PRIM_POINTS:
- return false;
-
- case PIPE_PRIM_LINES:
- return true;
-
- case PIPE_PRIM_TRIANGLES:
- return polygon_mode == VK_POLYGON_MODE_LINE;
-
- default:
- unreachable("unexpected reduced prim");
- }
-}
-
-void
-zink_draw_vbo(struct pipe_context *pctx,
- const struct pipe_draw_info *dinfo)
-{
- struct zink_context *ctx = zink_context(pctx);
- struct zink_screen *screen = zink_screen(pctx->screen);
- struct zink_rasterizer_state *rast_state = ctx->rast_state;
-
- if (dinfo->mode >= PIPE_PRIM_QUADS ||
- dinfo->mode == PIPE_PRIM_LINE_LOOP ||
- dinfo->index_size == 1) {
- if (!u_trim_pipe_prim(dinfo->mode, (unsigned *)&dinfo->count))
- return;
-
- util_primconvert_save_rasterizer_state(ctx->primconvert, &rast_state->base);
- util_primconvert_draw_vbo(ctx->primconvert, dinfo);
- return;
- }
-
- struct zink_gfx_program *gfx_program = get_gfx_program(ctx);
- if (!gfx_program)
- return;
-
- VkPipeline pipeline = zink_get_gfx_pipeline(screen, gfx_program,
- &ctx->gfx_pipeline_state,
- dinfo->mode);
-
- enum pipe_prim_type reduced_prim = u_reduced_prim(dinfo->mode);
-
- bool depth_bias = false;
- switch (reduced_prim) {
- case PIPE_PRIM_POINTS:
- depth_bias = rast_state->offset_point;
- break;
-
- case PIPE_PRIM_LINES:
- depth_bias = rast_state->offset_line;
- break;
-
- case PIPE_PRIM_TRIANGLES:
- depth_bias = rast_state->offset_tri;
- break;
-
- default:
- unreachable("unexpected reduced prim");
- }
-
- unsigned index_offset = 0;
- struct pipe_resource *index_buffer = NULL;
- if (dinfo->index_size > 0) {
- if (dinfo->has_user_indices) {
- if (!util_upload_index_buffer(pctx, dinfo, &index_buffer, &index_offset, 4)) {
- debug_printf("util_upload_index_buffer() failed\n");
- return;
- }
- } else
- index_buffer = dinfo->index.resource;
- }
-
- VkWriteDescriptorSet wds[PIPE_SHADER_TYPES * PIPE_MAX_CONSTANT_BUFFERS + PIPE_SHADER_TYPES * PIPE_MAX_SHADER_SAMPLER_VIEWS];
- VkDescriptorBufferInfo buffer_infos[PIPE_SHADER_TYPES * PIPE_MAX_CONSTANT_BUFFERS];
- VkDescriptorImageInfo image_infos[PIPE_SHADER_TYPES * PIPE_MAX_SHADER_SAMPLER_VIEWS];
- int num_wds = 0, num_buffer_info = 0, num_image_info = 0;
-
- struct zink_resource *transitions[PIPE_SHADER_TYPES * PIPE_MAX_SHADER_SAMPLER_VIEWS];
- int num_transitions = 0;
-
- for (int i = 0; i < ARRAY_SIZE(ctx->gfx_stages); i++) {
- struct zink_shader *shader = ctx->gfx_stages[i];
- if (!shader)
- continue;
-
- for (int j = 0; j < shader->num_bindings; j++) {
- int index = shader->bindings[j].index;
- if (shader->bindings[j].type == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER) {
- assert(ctx->ubos[i][index].buffer_size > 0);
- assert(ctx->ubos[i][index].buffer_size <= screen->props.limits.maxUniformBufferRange);
- assert(ctx->ubos[i][index].buffer);
- struct zink_resource *res = zink_resource(ctx->ubos[i][index].buffer);
- buffer_infos[num_buffer_info].buffer = res->buffer;
- buffer_infos[num_buffer_info].offset = ctx->ubos[i][index].buffer_offset;
- buffer_infos[num_buffer_info].range = ctx->ubos[i][index].buffer_size;
- wds[num_wds].pBufferInfo = buffer_infos + num_buffer_info;
- ++num_buffer_info;
- } else {
- struct pipe_sampler_view *psampler_view = ctx->image_views[i][index];
- assert(psampler_view);
- struct zink_sampler_view *sampler_view = zink_sampler_view(psampler_view);
-
- struct zink_resource *res = zink_resource(psampler_view->texture);
- VkImageLayout layout = res->layout;
- if (layout != VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL &&
- layout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL &&
- layout != VK_IMAGE_LAYOUT_GENERAL) {
- transitions[num_transitions++] = res;
- layout = VK_IMAGE_LAYOUT_GENERAL;
- }
- image_infos[num_image_info].imageLayout = layout;
- image_infos[num_image_info].imageView = sampler_view->image_view;
- image_infos[num_image_info].sampler = ctx->samplers[i][index];
- wds[num_wds].pImageInfo = image_infos + num_image_info;
- ++num_image_info;
- }
-
- wds[num_wds].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
- wds[num_wds].pNext = NULL;
- wds[num_wds].dstBinding = shader->bindings[j].binding;
- wds[num_wds].dstArrayElement = 0;
- wds[num_wds].descriptorCount = 1;
- wds[num_wds].descriptorType = shader->bindings[j].type;
- ++num_wds;
- }
- }
-
- struct zink_batch *batch;
- if (num_transitions > 0) {
- batch = zink_batch_no_rp(ctx);
-
- for (int i = 0; i < num_transitions; ++i)
- zink_resource_barrier(batch->cmdbuf, transitions[i],
- transitions[i]->aspect,
- VK_IMAGE_LAYOUT_GENERAL);
- }
-
- batch = zink_batch_rp(ctx);
-
- if (batch->descs_left < gfx_program->num_descriptors) {
- ctx->base.flush(&ctx->base, NULL, 0);
- batch = zink_batch_rp(ctx);
- assert(batch->descs_left >= gfx_program->num_descriptors);
- }
-
- VkDescriptorSet desc_set = allocate_descriptor_set(screen, batch,
- gfx_program);
- assert(desc_set != VK_NULL_HANDLE);
-
- for (int i = 0; i < ARRAY_SIZE(ctx->gfx_stages); i++) {
- struct zink_shader *shader = ctx->gfx_stages[i];
- if (!shader)
- continue;
-
- for (int j = 0; j < shader->num_bindings; j++) {
- int index = shader->bindings[j].index;
- if (shader->bindings[j].type == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER) {
- struct zink_resource *res = zink_resource(ctx->ubos[i][index].buffer);
- zink_batch_reference_resoure(batch, res);
- } else {
- struct zink_sampler_view *sampler_view = zink_sampler_view(ctx->image_views[i][index]);
- zink_batch_reference_sampler_view(batch, sampler_view);
- }
- }
- }
-
- vkCmdSetViewport(batch->cmdbuf, 0, ctx->num_viewports, ctx->viewports);
- if (ctx->rast_state->base.scissor)
- vkCmdSetScissor(batch->cmdbuf, 0, ctx->num_viewports, ctx->scissors);
- else if (ctx->fb_state.width && ctx->fb_state.height) {
- VkRect2D fb_scissor = {};
- fb_scissor.extent.width = ctx->fb_state.width;
- fb_scissor.extent.height = ctx->fb_state.height;
- vkCmdSetScissor(batch->cmdbuf, 0, 1, &fb_scissor);
- }
-
- if (line_width_needed(reduced_prim, rast_state->hw_state.polygon_mode)) {
- if (screen->feats.wideLines || ctx->line_width == 1.0f)
- vkCmdSetLineWidth(batch->cmdbuf, ctx->line_width);
- else
- debug_printf("BUG: wide lines not supported, needs fallback!");
- }
-
- vkCmdSetStencilReference(batch->cmdbuf, VK_STENCIL_FACE_FRONT_BIT, ctx->stencil_ref.ref_value[0]);
- vkCmdSetStencilReference(batch->cmdbuf, VK_STENCIL_FACE_BACK_BIT, ctx->stencil_ref.ref_value[1]);
-
- if (depth_bias)
- vkCmdSetDepthBias(batch->cmdbuf, rast_state->offset_units, rast_state->offset_clamp, rast_state->offset_scale);
- else
- vkCmdSetDepthBias(batch->cmdbuf, 0.0f, 0.0f, 0.0f);
-
- if (ctx->gfx_pipeline_state.blend_state->need_blend_constants)
- vkCmdSetBlendConstants(batch->cmdbuf, ctx->blend_constants);
-
- if (num_wds > 0) {
- for (int i = 0; i < num_wds; ++i)
- wds[i].dstSet = desc_set;
- vkUpdateDescriptorSets(screen->dev, num_wds, wds, 0, NULL);
- }
-
- vkCmdBindPipeline(batch->cmdbuf, VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline);
- vkCmdBindDescriptorSets(batch->cmdbuf, VK_PIPELINE_BIND_POINT_GRAPHICS,
- gfx_program->layout, 0, 1, &desc_set, 0, NULL);
- zink_bind_vertex_buffers(batch, ctx);
-
- if (dinfo->index_size > 0) {
- assert(dinfo->index_size != 1);
- VkIndexType index_type = dinfo->index_size == 2 ? VK_INDEX_TYPE_UINT16 : VK_INDEX_TYPE_UINT32;
- struct zink_resource *res = zink_resource(index_buffer);
- vkCmdBindIndexBuffer(batch->cmdbuf, res->buffer, index_offset, index_type);
- zink_batch_reference_resoure(batch, res);
- vkCmdDrawIndexed(batch->cmdbuf,
- dinfo->count, dinfo->instance_count,
- dinfo->start, dinfo->index_bias, dinfo->start_instance);
- } else
- vkCmdDraw(batch->cmdbuf, dinfo->count, dinfo->instance_count, dinfo->start, dinfo->start_instance);
-
- if (dinfo->index_size > 0 && dinfo->has_user_indices)
- pipe_resource_reference(&index_buffer, NULL);
-}