summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/mesa/.pick_status.json4960
-rw-r--r--lib/mesa/docs/drivers/zink.rst15
-rw-r--r--lib/mesa/docs/relnotes/21.3.8.rst183
-rw-r--r--lib/mesa/meson_options.txt23
-rw-r--r--lib/mesa/src/amd/common/ac_nir_lower_ngg.c48
-rw-r--r--lib/mesa/src/amd/vulkan/00-radv-defaults.conf148
-rw-r--r--lib/mesa/src/amd/vulkan/meson.build4
-rw-r--r--lib/mesa/src/amd/vulkan/radv_shader.h1
-rw-r--r--lib/mesa/src/egl/main/egldefines.h4
-rw-r--r--lib/mesa/src/egl/meson.build2
-rw-r--r--lib/mesa/src/freedreno/ci/freedreno-a630-fails.txt2
-rw-r--r--lib/mesa/src/freedreno/ir3/ir3_compiler_nir.c21
-rw-r--r--lib/mesa/src/freedreno/ir3/ir3_ra.c14
-rw-r--r--lib/mesa/src/freedreno/vulkan/tu_cmd_buffer.c5
-rw-r--r--lib/mesa/src/freedreno/vulkan/tu_pass.c4
-rw-r--r--lib/mesa/src/freedreno/vulkan/tu_pipeline.c5
-rw-r--r--lib/mesa/src/freedreno/vulkan/tu_private.h6
-rw-r--r--lib/mesa/src/gallium/auxiliary/driver_trace/tr_context.c2
-rw-r--r--lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c24
-rw-r--r--lib/mesa/src/gallium/drivers/crocus/crocus_state.c4
-rw-r--r--lib/mesa/src/gallium/drivers/iris/iris_program.c3
-rw-r--r--lib/mesa/src/gallium/drivers/iris/iris_state.c7
-rw-r--r--lib/mesa/src/gallium/drivers/llvmpipe/lp_state_surface.c6
-rw-r--r--lib/mesa/src/gallium/drivers/panfrost/pan_context.c35
-rw-r--r--lib/mesa/src/gallium/drivers/panfrost/pan_resource.c39
-rw-r--r--lib/mesa/src/gallium/drivers/panfrost/pan_screen.c1
-rw-r--r--lib/mesa/src/gallium/drivers/radeonsi/ci/navi10-piglit-quick-fail.csv4
-rw-r--r--lib/mesa/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt4
-rw-r--r--lib/mesa/src/gallium/drivers/radeonsi/ci/raven-piglit-quick-fail.csv4
-rw-r--r--lib/mesa/src/gallium/drivers/radeonsi/ci/sienna_cichlid-piglit-quick-fail.csv4
-rw-r--r--lib/mesa/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml96
-rw-r--r--lib/mesa/src/gallium/drivers/radeonsi/si_state_viewport.c2
-rw-r--r--lib/mesa/src/gallium/drivers/zink/zink_compiler.c17
-rw-r--r--lib/mesa/src/gallium/drivers/zink/zink_context.c22
-rw-r--r--lib/mesa/src/gallium/drivers/zink/zink_descriptors.c21
-rw-r--r--lib/mesa/src/gallium/drivers/zink/zink_draw.cpp2
-rw-r--r--lib/mesa/src/gallium/drivers/zink/zink_program.c2
-rw-r--r--lib/mesa/src/gallium/drivers/zink/zink_screen.c2
-rw-r--r--lib/mesa/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c1
-rw-r--r--lib/mesa/src/gallium/frontends/lavapipe/lvp_execute.c70
-rw-r--r--lib/mesa/src/gallium/frontends/lavapipe/lvp_formats.c4
-rw-r--r--lib/mesa/src/gallium/frontends/lavapipe/lvp_pipeline.c2
-rw-r--r--lib/mesa/src/loader/meson.build12
-rw-r--r--lib/mesa/src/mesa/drivers/dri/meson.build2
-rw-r--r--lib/mesa/src/panfrost/bifrost/bifrost_compile.c2
-rw-r--r--lib/mesa/src/panfrost/bifrost/gen_disasm.py2
-rw-r--r--lib/mesa/src/panfrost/ci/panfrost-g52-fails.txt226
-rw-r--r--lib/mesa/src/panfrost/midgard/midgard_compile.c2
-rw-r--r--lib/mesa/src/util/00-mesa-defaults.conf90
-rw-r--r--lib/mesa/src/util/bitset.h2
-rw-r--r--lib/mesa/src/util/slab.h2
51 files changed, 5619 insertions, 544 deletions
diff --git a/lib/mesa/.pick_status.json b/lib/mesa/.pick_status.json
index fcb2ccc0e..4f8bdd044 100644
--- a/lib/mesa/.pick_status.json
+++ b/lib/mesa/.pick_status.json
@@ -1,5 +1,4955 @@
[
{
+ "sha": "2106c3bab6bdea736c468fb1866fd0f372cc0baa",
+ "description": "lavapipe: ci updates",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cf5c32a4b2d839305ef2104ab0acf973e63b940a",
+ "description": "lavapipe: run nir_opt_copy_prop_vars during optimization loop",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c94c8a70292f80461b978c15882929fce4f1c53c",
+ "description": "lavapipe: ci updates",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6a4c7ef7286f50b5396ffc68bcf6ad33eb67de07",
+ "description": "lavapipe: skip format checks for EXTENDED_USAGE",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c40dc39b5a87911cd6467b3ec647f382653a9b97",
+ "description": "lavapipe: use the correct value for dynamic render resolve attachment indexing",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "8a6160a35428264fa3b4722d8c72b9c8aa4b8256"
+ },
+ {
+ "sha": "938488f43986e21a22be5c8b8c7be4fcc60af989",
+ "description": "lavapipe: remove broken workaround for zink depth texturing.",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "30cb63bead12ad0d7ff66a6a267400c3a07c4f86",
+ "description": "zink: workaround depth texture mode alpha.",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cdee38a57b497d4c572f50a88e84b6dd5101b7c3",
+ "description": "tu: Expose subgroup arithmetic",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1a78604d201d1e1e54da814ccf8f4f5a24b19ca3",
+ "description": "ir3: Add support for subgroup arithmetic",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a433db60c194c894d8f197a58b4a8e9053211165",
+ "description": "ir3: Track physical edges when inserting (ss) for shared regs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "410e746198b498efdb9c37a63a0b8aad67469a4c",
+ "description": "util/bitset: Fix off-by-one in __bitset_set_range",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "b3b03e33c9f11adb0c4d84311a651ea6016a0885"
+ },
+ {
+ "sha": "72b32d83fbf7d195310ef5aecba4a136f305aed5",
+ "description": "ir3/spill: Mark reload destination as early-clobber",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2ff5826f09d39104ddc33e89ffd6c4d8d47584d3",
+ "description": "ir3/ra: Add IR3_REG_EARLY_CLOBBER",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "34803d15abc0675bf9e37607687e16b9ac44436d",
+ "description": "ir3/ra: Add proper support for multiple destinations",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ab0ed4ff3f2eed6610597a0f0b42b8ca829790f9",
+ "description": "ir3/ra: Sanitize parallel copy flags better",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "0ffcb19b9d9fbe902224542047c389a661fbf816"
+ },
+ {
+ "sha": "0135660dfc022996d20aa89faaaa7439fabf04a3",
+ "description": "ir3/ra: Fix ra_foreach_dst_n",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "077d07a983eceefca990ba78a0d8ed5c85b5c963",
+ "description": "ir3/ra: Fix tied destination handling with multiple destinations",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9cc42242d5defc917fc0d4d1123db3a2c7cf7d96",
+ "description": "ir3/sched: Support multiple destinations",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a6be8fd0ea68b0af615258d41b9b6f23c218d523",
+ "description": "ir3/dce: Support multiple destinations",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "89217f636c23fb3fa3022b1e8f9d3cfa4ac32df3",
+ "description": "ir3/cp_postsched: Support multiple destinations",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cc4f0e804e6feee17a657d052f4f2ee32ebe53d0",
+ "description": "vulkan,lavapipe: Move some enqueue helpers to common code",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b98cfe9cb4ad87af194bc3948f8b864cee7f9073",
+ "description": "lavapipe: Re-use auto-generated vk_cmd_enqueue entrypoints",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "66cb64c8ad339848e7538faa24800755dc6221f8",
+ "description": "lavapipe: Reset the free_cmd_buffers list in TrimCommandPool",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "b38879f8c5f57b7f1802e433e33181bdf5e72aef"
+ },
+ {
+ "sha": "719b949575dabfddd56bedbffb7a188555401a31",
+ "description": "vulkan/cmd_queue: Generate enqueue entrypoints",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "47fc0b39c79c26e14e58a4206f580e1ae94e2c24",
+ "description": "vulkan/cmd_queue: Properly deconstify array of pointers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0d5dc6ef6a6d20e51992ff5517d4d856cf504ddc",
+ "description": "vulkan/cmd_queue: Stop generating enqueue helpers for INTEL perf queries",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cf8cf8a827bc4af9803219e3aacfaf5e53092b1d",
+ "description": "vulkan/cmd_queue: Re-flow MANUAL_COMMANDS",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "290e33ab20c8c3cc0b2249f214addc17b4edf5d9",
+ "description": "vulkan/cmd_queue: Remove duplicate entries in MANUAL_COMMANDS",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6bd8a3c7e434e269ef972c49e8189a0003a9f8ee",
+ "description": "vulkan/runtime: Add a vk_cmd_queue object to vk_command_buffer",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ad4d2da90a7b0cacb5c1bd1543dd8440e47e294c",
+ "description": "vulkan/cmd_queue: Add an initializer for the vk_cmd_queue object",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dd0f6cb45bc6d5dcd7b256b6a10affa104a28434",
+ "description": "vulkan/cmd_queue: Constify vk_cmd_queue.alloc",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a3d096f4ba18fca7efbec1360490675279b91983",
+ "description": "lavapipe: add the full list of cts fails",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b70f14188df98cec1aa0741e015367e516dbfd6f",
+ "description": "virgl: Check texture multisample compatibility",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "571c5e8fdcce9857e053e76782501de61bd131d5",
+ "description": "virgl/ci: Uprev virglrenderer",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c4703cd8465a83aac1858d3fd376c9cf1485fad9",
+ "description": "tu: Implement VK_EXT_depth_clip_control",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "49b54311975306125f10ecf93e8f9542712c41f4",
+ "description": "broadcom/compiler: remove unused functions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "45770ac286b41b60a9eb165eea70bf1560917414",
+ "description": "docs: add release notes for 22.0.0",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "84748172539d521e6f328799aa64ed493bdc837f",
+ "description": "docs: Add calendar entries for 22.0 release.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b7e1df14f03d042b8d030aa6388b709a904738e9",
+ "description": "docs: update calendar and link releases notes for 22.0.0",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "75a783ea73e8c0ae61a0b0680a27f993ac2e740d",
+ "description": "ac: Query the amdgpu MEC firmware version.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f4ec900953ba61188ecf58c3f648b11f8ef64764",
+ "description": "mesa: Fix discard_framebuffer for fbo vs winsys",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "db2ae51121067b66d4ee8313ba7f74cecb201a03"
+ },
+ {
+ "sha": "d5d8519cb5526c8fa0aba4cf360dd97fc1fa1080",
+ "description": "docs/ci: Add docs for using a POE switch to control boards, like nouveau.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e8da28d5e88308e7381af74315fde6383de96292",
+ "description": "docs/ci: Update some bare-metal CI docs.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5497d60639809444637a950974276187ea6c4387",
+ "description": "ci/nouveau: Add a manual run for the Jetson Nano (GM20B).",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1b374f8c91692a191ba8ec0696aa07fb8a5cf69f",
+ "description": "ci/nouveau: Add nouveau support to the rootfs.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a9e67738d61e04b2d71623b18222b6876268c63d",
+ "description": "ci: Stop xz-compressing firmware for ramdisks.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9b918c4df2b09fe1d6d7429e69aa0cfa7913b3fb",
+ "description": "ci/bare-metal: Increase maximum retry count for POE boots.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "45b7648cb1b302905083f72b71f20541a6720415",
+ "description": "ci/bare-metal: Drop the BM_POE_USERNAME/PASSWORD env var checks.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c24bca2d3a0e4255dbe155cfb7d942bfb104a2ad",
+ "description": "zink: lower dmod on AMD hardware",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "5fae35fb17d6d89c4fe1d9d5a19d827caf25b9fc"
+ },
+ {
+ "sha": "1845957a31b02313a9a4b9d182c3344b74896a2d",
+ "description": "zink: add another radv fail",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e70b6be11724b22400a51f074a20f555c2d18b81",
+ "description": "zink: update radv fails",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "889d0507391a7a6b365cee6d5eb24a03fa091f98",
+ "description": "venus: add VK_EXT_vertex_attribute_divisor",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4752429e364bb0de8d979dcd748b42a524efbedc",
+ "description": "venus: add VK_EXT_shader_stencil_export",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1ecd481bd7d8a86840d703714aa20f602e1f46fe",
+ "description": "venus: add VK_EXT_robustness2",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "25795308efcf229e0ac893937c4d6811e99baf11",
+ "description": "venus: add VK_EXT_depth_clip_enable",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bebe5e39254671e22c375aef35ca6441bbed62de",
+ "description": "venus: add VK_EXT_conservative_rasterization",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f0e0daf46b60b0d622ce4825b3cf75e0b24aef8e",
+ "description": "venus: add VK_EXT_shader_demote_to_helper_invocation",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "99473f610a7109ffe94699df7c76a0f0fc3b9cbf",
+ "description": "venus: update venus-protocol headers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "823cffbe1cb728a832a9c30330e94ba0e173eaa0",
+ "description": "anv: include Primitive Header in mesh shader per-primitive output",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f410c1142fb71f4af0e0903179298f88e3da4327",
+ "description": "anv: set number of viewports in clip state (mesh)",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "81df66bfff65751ad40ede3fa31415d06f17abe4",
+ "description": "intel/compiler: mark some variables as per-primitive in FS if they come from MS",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8c16ce53a990e57ce4fa7209e07ced58916a683d",
+ "description": "intel/compiler: handle ViewportIndex, PrimitiveID and Layer in MUE setup",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bc4f8c073a2cf35227df85a1edfce9848b9cdfae",
+ "description": "intel/compiler: inject MUE initialization",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "333a490e32d03586a7eff09a2abc0402ad3fe251",
+ "description": "intel/compiler: shift mesh urb read/write window when offset is too large",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6c1c9067d92d0364d414893adcfe63368d78fca6",
+ "description": "aco: always emit vk_cvt_pkrtz_f16_f32 for nir_op_pack_half_2x16_split",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fa41bd06879423f91b52829ee679fc94c3e3ffab",
+ "description": "docs: improve language in zink article",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e66613497567026ce421057939d027e5913462b5",
+ "description": "docs: fixup zink gl 4.3 requirements",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "29f8f21bff69019671f96e3c9aef6a17dbe3ba94"
+ },
+ {
+ "sha": "44feff93c2d67e52699ace7002f3a2319d5ef6d5",
+ "description": "broadcom/compiler: don't always assign r5 if available",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "77f58b46d9f20af89e74d1301e4220b5e48fa8be",
+ "description": "broadcom/compiler: add comment on why we don't use r5 with ldunifa",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5b140428b062ae22945d203a3ae6e51f85b68512",
+ "description": "broadcom/compiler: adjust register threshold for 2-thread compiles",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a35b47a0b1aff2407dc3274b45afb27d7cf7cf47",
+ "description": "broadcom/compiler: add a strategy to disable scheduling of general TMU reads",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f783bd0d2a75a1244fdbb4a1754f072891e87af6",
+ "description": "broadcom/compiler: define v3d-specific delays for NIR instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fed51585c4acf4e4d10a466e2ad198f4009e9e85",
+ "description": "nir/schedule: allow drivers to decide about instruction latency",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e7a4e97076a259bbbea9b02cc804494a8eef9fd8",
+ "description": "nir/schedule: use larger delay for non-filtered memory reads",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3bd041e2fbfd9f846d4fea9ce612d4d6c4c0f57a",
+ "description": "nir/schedule: handle nir_intrinsic_group_memory_barrier",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "46e330c07e4f2140b3ae3e919994f03f36dbb4bf",
+ "description": "nir/schedule: fix handling of generic memory barrier",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9ef499b315392d5c1ac853917b7c7eaaa098ad4a",
+ "description": "broadcom/compiler: stop moving UBO loads before NIR scheduling",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bf7777a5d4f42515a1bd9f681e28f74bfa2cc1de",
+ "description": "lavapipe: set non-zero device/driver uuid",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2e878293f4cf20df21aded2446ef9a3f91b27e68",
+ "description": "turnip: Make autotuner work with reusable command buffers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d9e400b9b60e2c43c958ec817fd052e5decd9458",
+ "description": "virgl: Add a few more formats to the format table",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8b9045e7a45f9de402fd841ef72cbf52170b7fce",
+ "description": "intel: Use 3DSTATE_BINDING_TABLE_POOL_ALLOC exclusively on Gfx11+",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e3a0e97300c877ec95e88efa35d90ad5e319273a",
+ "description": "intel: Limit Wa_1607854226 to Gfx12.0 only",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ab47cad4fb0840bd309247ba0eba6f391c592962",
+ "description": "iris: Rename surface_base_address to binder_address in a few places",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "db34c715139e4ebe0bb51d6cb1e1e21ecedfbb24",
+ "description": "iris: Use more efficient binding table pointer formats on Icelake+.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a83c91a2613e2e3cd6ecb03eda8b3ba4e373171b",
+ "description": "blorp: Add a binding_table_offset_to_pointer helper",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3c3a8f853dd8b43bfd51794f2a7d632feda396c4",
+ "description": "gallium/tc: zero alloc transfers",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "caeec6262df31fd0f5e9c0be233c2b1aed5380c0",
+ "description": "util/slab: add slab_zalloc",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2cd30266f155a7b4edc0b9f653d773e709b021b8",
+ "description": "tu: Refactor VS DECODE/DEST to be emitted in two pkt4",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fa323cb93a128676beda5654d1691f8f5a62f7b5",
+ "description": "mesa/st: make export_point_size shader key clobber existing psiz",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9ae0cdc4539e9a64d12c59d1450d865da579e9e0",
+ "description": "mesa/st: check max output components for adding pointsize during precompile",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "070a7b506df98c598ad4ea1cc43f1ef887ec2c75",
+ "description": "mesa/st: count FF shaders as needing psiz export for precompile",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1183988d74f1116dad280bd332601dc024c0c32f",
+ "description": "mesa/st: precompile with API pointsize only if the shader doesn't have pointsize",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "96098d7c2531d0da1a447ff8f61707c7665abb02",
+ "description": "mesa/st: simplify pointsize precompile conditional",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "882abacde3694c3bf3b0cfd0d124e7dda49d1977",
+ "description": "mesa/st: simplify pointsize shader update conditional",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b73663c51ed75998c64ead09a1bc94a559bbc48e",
+ "description": "mesa: always set PointSizeEnabled for API_OPENGLES2",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9d98bc238e19ec07e82b3420b80edc59279709c7",
+ "description": "mesa/st: only add pointsize output if it doesn't exceed max component limit",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0d80aed363c3d8d149b6ad8323374a8e19b50be6",
+ "description": "nir/gather_info: check copy_deref instrs for writing outputs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fdee7240ffba60ba4d4176b9e47f240e2c0bde38",
+ "description": "mesa/st: conditionally add pointsize outputs to ES tess/geom shaders",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "597bd11b7b328b13dde8051e57388e08a9e9a4b2",
+ "description": "mesa/st: add a gl_program struct flag to skip psiz exports for xfb",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "53cbba83eb66b3bcacbfc467af495b86d63dad68",
+ "description": "glsl: store OES/EXT point_size extension enablement to shader struct",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "02906baba745e6a6d2f27c1654e361665db4ac77",
+ "description": "panvk: Implement vkCmdDispatch()",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1056b3e39ecfc8d755ef81b60b106ed85d3b28ab",
+ "description": "panvk: Add support for storage image",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "eca0a0e29ed1dcb58043add3e3f20f830427b89d",
+ "description": "panvk: Move dummy attribute buffer emission out of emit_{attribute,varying}_bufs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0e7e1b64fcdaf2f1c7977a979d8744fe64650b82",
+ "description": "panvk: Add support for storage/uniform buffers with dynamic offsets",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "13378e41295a00990b166a15d7c6726559f6201f",
+ "description": "panvk: Support creation of compute pipelines",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b05ffc9feca72de7ae3e4ea74c8cdee400e39084",
+ "description": "panvk: Add support for storage buffers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9a20467cf29fef1acc5f58dc1acf53c2c62991c6",
+ "description": "panvk: Add support for push constants",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3634063b08a4272f9d21b0fac23ba3e509992dc9",
+ "description": "zink: handle spirv xfb insanity",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dfbb7c1f735992ee2b2ddb194200db739b36955a",
+ "description": "zink: store shader to ntv_context",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "76fe6f72358c5919e85206a6c365ffede9677fd1",
+ "description": "zink: handle remaining xfb corner cases during analysis",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3f7da0c58447979976eb2928625b1f93154f6c57",
+ "description": "zink: fix xfb analysis variable finding for arrays",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4ed7329236a576b6b6f615787bb722b960f32c6b",
+ "description": "zink: correctly set xfb packed output offsets",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "432700fc61a33e0c040d47d9b7bd8cfe970d35cc",
+ "description": "zink: store the correct number of components for xfb packing outputs",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a5c7d34fdf8403b0115d5eead7ca67027e93efc7",
+ "description": "zink: use 64bit mask for xfb analysis",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a0feafbcc85c0a6d0119c2b1a776f9d20a57ceb9",
+ "description": "ci: more stoney flakes",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ddfa9e7cc97c2db352611b1d1f8c764d09dfc250",
+ "description": "ci: add another stoney flake",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6ab720f1f495e6e768d8254b0bf005e79aacb8f9",
+ "description": "aux/cso: stop tracing during cso_unbind()",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0e51c478162e9f711d42cd479de677e539e88ded",
+ "description": "aux/trace: dump more rasterizer state members",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ec45b7ed32df086efe3a00504cdd75212aff1f34",
+ "description": "aux/trace: dump clear_texture colors",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "296e26eec84a36a7c512eb333a1a98248fe0da25",
+ "description": "aux/trace: dump clear colors as uints",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8142fc5a455e010abf2ce55d0ad938f7ae88bb32",
+ "description": "aux/trace: rzalloc the context struct",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f1cdaf36df75617645ce315f5c089558c04dea46",
+ "description": "aux/trace: more screen methods",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "204ea77b0674fb611155bd3ba2e6169cc8646b3f",
+ "description": "lavapipe: fix pipeline creation for blend and zs states",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7114490115f1f1c95b647a0c400274f6f886ebf5",
+ "description": "lavapipe: update multisample state after blend state",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "711f0d1df4f81e0701974b4471929f095b2ba940",
+ "description": "turnip: Don't call getenv() directly",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c9d99b7eec7ec14d6d71d381a424b6280d75a882",
+ "description": "virgl: Fix texture transfers by using a staging resource",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "cdc480585c9be368ddfdc33e2eb73e3582f25fe7"
+ },
+ {
+ "sha": "165a880f1ae1f528d597bf3de138a29445b01a48",
+ "description": "llvmpipe: clamp surface clear geometry",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2d1b506acfe55165511a2bb83acb013353e531ab",
+ "description": "lavapipe: clamp clear attachments rects",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4c76a19ca35ded99a2f13eef59a0cd161e3c43b0",
+ "description": "llvmpipe: fix debug print iterating in set_framebuffer_state",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3ef093f697ad9027ba514c7a4a6a10b7bd95bd47",
+ "description": "zink: ci updates",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5fae35fb17d6d89c4fe1d9d5a19d827caf25b9fc",
+ "description": "zink: fix 64bit float shader ops",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9579df6a7ffc2116623cd3d2d9517dabe770cfe4",
+ "description": "zink: run nir_lower_phis_to_scalar in optimization loop",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "342e6f83321a91816358dee82178809b2a8aeeaa",
+ "description": "radv,aco,llvm: lower post shuffle vertex in NIR",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4b99b528f502f09bff8a9032f79dcd152485b725",
+ "description": "nir: Introduce workgroup_index and ability to lower workgroup_id to it.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6a4c01f3efe19b15c9231afab1f936dc4bd4898e",
+ "description": "nir: Extract lower_id_to_index into a separate function.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "64acec0ef9f640ad27d6fa0fe7622ec63c6900a9",
+ "description": "nir: Fix lowering terminology of compute system values: \"from\"->\"to\".",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "541f08cd4cd74ed424d34e7b050f6d911946274a",
+ "description": "panvk: Non-destructively stub GetRenderAreaGranularity",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "afe2ef9afc912bd695fe9ef65ecb0b02bbccb6d6",
+ "description": "panvk: Advertise zero sparse format properties",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8feed1f1143290b6fb0f86be1b95b8de671865b0",
+ "description": "panvk: Advertise VK_KHR_get_physical_device_properties2",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3937c47c482c742938dca70aff06d87550d6bfd6",
+ "description": "gallium/dri: Add missing in_fence_fd initialization",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3332fcd9c0b987202d7a38ad0451f3022ce886a8",
+ "description": "vulkan/device_select: add has_vulkan11 flag with has_pci_bus flag",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1cc549949d4f61375034f27e134d3dc0ecd07fc6",
+ "description": "vulkan/device_select: for vulkan 1.0 use vid/did for boot_vga",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5b9bf3434fc509b9061dd4e79930e4b65c186be4",
+ "description": "nir: Fix handling of NV_mesh_shader PRIMITIVE_INDICES output.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d068eb53e84ca1e44ad96c31dab63476880b3c72",
+ "description": "aco/insert_exec_mask: optimize top-level transition to exact before demote",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "42a5be975adc51d1029f25719b979bf2b3bae8a9",
+ "description": "aco/insert_exec_mask: use get_exec_op",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "aa55ecc2961523cde276f556f6d8fa523bbbabfe",
+ "description": "aco/insert_exec_mask: fix top-level to-exact with non-global exact mask",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ded789fcafdc76e8f0c09f10fe2d752d07403f09",
+ "description": "radeonsi/ci: Mark a bunch of flaky tests on stoney",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "090f6f1b33a0cf93ceec9424ca264553c922167e",
+ "description": "ci/zink: Report flake test",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e8882f0ef832ba3707101c6de1e8f59ddb5fff87",
+ "description": "ci: Improve interrupt signal handling in crosvm-runner.sh",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1f0a0839eb6bc312dfc88c74d13deb3dfa28e17e",
+ "description": "ci: Increase limit of concurrent crosvm instances per runner",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8346983775499119b8534d829c1db75e23c4097d",
+ "description": "gallivm/nir: extract a valid texture index according to exec_mask.",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "e168d148d76d780eda6f9aaa6c66608c4df3096c"
+ },
+ {
+ "sha": "e449acac9d4ad5de95aea3f37bcb73be37e4ca66",
+ "description": "radv/ci: remove unused files",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "cc327a0fe45911cb694d2de56e9dd7dba1fa0f12"
+ },
+ {
+ "sha": "4e45847d0ad69c40f2bc1408468264b4d34c6199",
+ "description": "freedreno: add a420 deqp-runner files",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "08db7f456a4b2ac6669eb1e6a3f1edd6c671983c",
+ "description": "freedreno/a4xx: expose shaders and images, as well as ES 3.1",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0277f491aec79f9fdb288f28268090146165d1bc",
+ "description": "freedreno/ir3: disable conversion folding on a4xx",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4684425150bdd7907fbbc37caa01a01551bb2cc6",
+ "description": "freedreno/ir3: no need to count bits 16b at a time for a4xx",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f628fd30de1fef5d65ba6de81d19d14aef443d5b",
+ "description": "freedreno/a4xx: improve condition for disabling early z",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d11543ec52244a941afc879100a3b0a2b4586312",
+ "description": "freedreno/a4xx: extend astc and tg4 workarounds to compute shaders",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4a03619d81171fdf88fef40330af1a51b333a46f",
+ "description": "Revert \"lavapipe: accurately set image/ssbo access based on shader usage\"",
+ "nominated": false,
+ "nomination_type": 2,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "821a49981ff386559f8a8fdf6bf3526b8deb2415"
+ },
+ {
+ "sha": "8860ff33105bc756b077a3fefaced892cd867dc8",
+ "description": "intel/perf: Destination array calculation into function",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d80d3c6760a8d029c7af8c8ad5ec5e623f6d413a",
+ "description": "intel/perf: Fix mistake in description string",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7024b8e0eb15100bc73b9d5f931ba678b8cc1e5a",
+ "description": "intel/perf: Mark intel_perf_counter_* enums as PACKED",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6c0246dcf4f2d4e2ccdaa97d52833cf9f11ffa4b",
+ "description": "intel/perf: Store indices to strings rather than pointers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "df5e743c80ce96f510cc6d4d6b7b52fb8ae0eb3e",
+ "description": "intel/perf: Use slimmer intel_perf_query_counter_data struct",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bbbbb0325b6da31298a493ab3e9c3cb1648481d8",
+ "description": "intel/perf: Use a function to initialize perf counters",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5e6c7a572ea881db42440dd2dca8a34b2971faed",
+ "description": "intel/perf: Deduplicate perf counters",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3172b5bbb89ff80f50252752175d402d283429bf",
+ "description": "intel/perf: Don't print leading space from desc_units()",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "12e065ddecd50885158c724a2ccfa453c445ce74",
+ "description": "intel/perf: Move some static blocks of C code out of the python script.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c795ae8b88144172502728605cd6baf4dbfa2808",
+ "description": "venus: fix properties of unsupported external fences/semaphores",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "63d399b3fbbfdae7c158abaad82b0b4a0c3ad9ac",
+ "description": "iris/ci: Mark amd_performance_monitor tests as flakes.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e2fc99b1886c9e882f869da01309fed76da6c7b2",
+ "description": "turnip: Add \"rast_order\" debug option to force rast order access",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "52ceb9dcb6f161295c28d37fa17dfe06d838fcaa",
+ "description": "gallium/tc: warn if an app is incompatible with cpu_storage",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a5a8e197413ec0189435139006a7c7026840efc2",
+ "description": "radeonsi: enable tc cpu_storage by default",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cd0ef9b3f420bc0ee70a16f720786b174e78bb78",
+ "description": "gallium/u_threaded: late alloc cpu_storage",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7070178dfd0d36e94a7061fe2eccd0ac0c6ca7ee",
+ "description": "radeonsi: use 1 shader compilation thread if NIR_PRINT is used",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6731460194722d7971093939e006277659976290",
+ "description": "nir: Fix source type for fragment_fetch_amd.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "50be6922534187aedfe1b7d274a18c099378109f",
+ "description": "radeonsi/tests: always add the --gpu argument",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "21b01538331a4bfc0258da0bdb00a149e0f1289d"
+ },
+ {
+ "sha": "9c49550163ffd0753c55117f7ac2e800b1691e1c",
+ "description": "radeonsi: change rounding mode to round to even",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4c3f8d3af8a48addd642e1a88701d1be3d8dcaf2",
+ "description": "egl/wayland: fix crash in dri2_initialize_wayland_swrast",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "43258dc802e07894ae3edd9ea98337a9dc7a0e8e",
+ "description": "egl/wayland: fix crash in dri2_initialize_wayland_drm",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a0bfd65d0fd3c2b0e0cada77aa26b5a52bef3b85",
+ "description": "zink: hide descriptor debug behind #ifdef",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e0030bc39f87dde018add3dfb256d2cfd1a7859e",
+ "description": "zink: invalidate non-punted recycled descriptor sets that are not valid",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d63f3c31b74f26217cc8f8be9baff91043cde85c",
+ "description": "zink: stop leaking descriptor sets",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9a91a520de76df3c192eeefbbcba6f955a9d5672",
+ "description": "zink: mark fbfetch push sets as non-cached",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ab3725f533ecb0d4ecf7cefc6511fbcf15214b62",
+ "description": "zink: fix descriptor cache pointer array allocation",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c5f585f45afdde8c453c57dad744fd51caf6a699",
+ "description": "zink: wait on program cache fences before destroying programs",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "382798ddbde040b4900f47cbc2509a6338add011",
+ "description": "zink: use a fence for pipeline cache update jobs",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cbd9a91f64a96a11a95e05163108e9a95ef5b981",
+ "description": "zink: add function for refcounting zink_program structs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9a6c58b2f7da74c5c20258f9a0b2c3681e79ef17",
+ "description": "zink: always update shader variants when rebinding a gfx program",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "821a49981ff386559f8a8fdf6bf3526b8deb2415",
+ "description": "lavapipe: accurately set image/ssbo access based on shader usage",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bfae16ca34b697b7a5787fa69856286f559c1877",
+ "description": "lavapipe: scan shaders for image/ssbo access and generate per-stage masks",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fcf58e75d00a32db772d4107946a5fc8b304f196",
+ "description": "lavapipe: heap-allocate rendering_state struct",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c82dcdf598f7b78c4a0106a71e008b482cf8f70b",
+ "description": "gallivm: avoid division by zero when computing cube face",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cf9454bb2a1f2869ea07d53eb2d96ed8fc507362",
+ "description": "gallivm: fix debug prints for halfs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ba18799ca12628f2346a3bb0f28dc5124c66072a",
+ "description": "pan/bi: Don't assign slots for the blend second source",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "795638767d142a58b76c91a0719e42536435320f"
+ },
+ {
+ "sha": "66a604efb5237d62020d278c596fc13643cdfe8f",
+ "description": "pan/bi: Skip psuedo sources in ISA.xml",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "795638767d142a58b76c91a0719e42536435320f"
+ },
+ {
+ "sha": "9d4441c71aa60b275ae1fccfc11b37705b02c118",
+ "description": "panfrost: Fix ubo_mask calculation",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "c246af0dd805033b743dfe0be96c1077f35e0934"
+ },
+ {
+ "sha": "0b232b86598285a55f0b1d7d826ad08cd541ea46",
+ "description": "panfrost: Improve comment for emit_fragment_job",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "24101d944b70b45913f6d1bee40daa76f72f5457",
+ "description": "pan/bi: Add documentation for bifrost_nir_lower_store_component",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "42caddcf6ba9b358e26258eb195161d948c99bac",
+ "description": "pan/bi: Make disassembler build reproducibly",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d6c431c2e3eecc6de73bc302f93290766c4c4f04",
+ "description": "panfrost: Re-emit descriptors after resource shadowing",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "cd2c1ef9da6c71c2d5f11e2b0843147b4c7069e3"
+ },
+ {
+ "sha": "b164ee0d7b1777f40bb3c5b26236ee5dde53536d",
+ "description": "panfrost: Set dirty state in set_shader_buffers",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "c34b760b9f99ecbf1218e7b612a32ce43c7283bf"
+ },
+ {
+ "sha": "cb8c47b15e4acecd0cacda8a3d9d20b578f1b4f2",
+ "description": "pan/bi: Check dependencies of both destinations of instructions",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "a303076c1ab71f92907b1967c4b542af0c847198"
+ },
+ {
+ "sha": "9e714f7455d581bf20ec7a72ee84ab4e381c08a9",
+ "description": "pan/bi: Add interference between destinations",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "9146bafbb422dc535c04e5f177a44e8ea82031db"
+ },
+ {
+ "sha": "198cb4a77ad409631ba8450b20e3b798f456aff3",
+ "description": "panfrost: Disable point size upper limit clamping",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "66684339d5f5206d3213c023e576b771344f1347",
+ "description": "panfrost: Update point size limits to match hardware behaviour",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d54efebf04313d7fb6e5971aa89f10442a2bc0a7",
+ "description": "panfrost: Set PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "948300da27931a1eea38c7d71f62866766a6aad1",
+ "description": "pan/mdg: Use util_logbase2 instead of C99 log2",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e42a8a5b92a0abae2bc3f9457f4703f73d46f450",
+ "description": "a4xx: add emission of compute state, and compute dispatch",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "63bba1dc6c46e8ec246f76a6ad7570158d7cd439",
+ "description": "a4xx: add logic to emit image/ssbo state",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "aac7028b583097eb67080d5dec59fd1b3693e843",
+ "description": "freedreno/ir3: support a4xx compute differences",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6fb5e64eadbfc57fb087ca1b0b14b3c5ae3e2922",
+ "description": "freedreno/ir3: support a4xx in load/store buffer/image emission",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e9cd4fba6f9fffab7d7662703cecc2ede0a898a4",
+ "description": "freedreno/perfetto+fdperf: Set SYSPROF param",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "af4b7f74b2c9aca637f6da33b6594ab2bfc2ded3",
+ "description": "freedreno/drm: Add SYSPROF param",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f925794b16d2b8f882ac5a3b5110e9c890337aba",
+ "description": "freedreno: Update uapi header",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d2e498b6a5db61e27a44c1db55ec657d5396558b",
+ "description": "egl+libsync: Add helper to complain about invalid fence fd's",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1e25f3b2825d416d4cf49e7b7a97582ce3af64fd",
+ "description": "android: Push in-fence-fd down to driver",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dfac374220d80b741b56fd9f31211902d8fa033e",
+ "description": "gallium/dri: Extend image extension to support in-fence",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "af2951dde843238c2a3052cb1fabefe7289d4210",
+ "description": "radv/ci: update list of expected failures",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "51c6fdf708f921019da5f6fd9f203eb1c420dfcf",
+ "description": "radv/ci: skip dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7ffee7f1ab3c7f7f652f73d0c33f4504ffba5e89",
+ "description": "v3d: rebind sampler view if resource changed the BO",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7bda838c56111bde0d27d208a725abf215ed85bb",
+ "description": "panfrost: Push twice as many uniforms",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "d4dccea0ba37d6b8f91b689dd441ba6a4c8ff58c"
+ },
+ {
+ "sha": "e7cfe18099a29cfc09a738e2b9fa5e1ab28a263a",
+ "description": "pan/bi: Run CSE after lowering FAU",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c8f644ec4432089a212c192f71d30bc6addf06fe",
+ "description": "frontends/va: ignore incoming frame_num from VA picture parameters",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d28b6b6856864f75e82bd5c63b877d1f1a40df9a",
+ "description": "aco: rework removal of jumps over branches",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "f030b75b7d2c359b90c18ee4ed83fa05265c12e0"
+ },
+ {
+ "sha": "059f870d74e90835361e4b8a5596c9aacd979c07",
+ "description": "ac/nir: implement nir_op_pack_{uint,sint}_2x16",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9b113f1b6cee2b08ec0d93a3a34c8c38380b90d4",
+ "description": "aco: implement nir_op_pack_{uint,sint}_2x16",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6532307555775550ae92db62f983ecb65e15b0cd",
+ "description": "nir: introduce nir_pack_{sint,uint}_2x16 instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4d81c60e11e3b73b6e2f52637291858ac08cf982",
+ "description": "iris: Mark a dirty update when vs_needs_sgvs_element value changed",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "aaa25cda0b925c6e60cc91a23070408b297feb6a",
+ "description": "venus: add VK_EXT_image_robustness support",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ba212bf88828efa1eb5d331fd4cc1254a8d2c524",
+ "description": "venus: add VK_EXT_provoking_vertex support",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "33ba61b059ba531a99e5d5e6cf8649c435a26ac9",
+ "description": "venus: add VK_EXT_line_rasterization support",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "58182eb096e05d159eda2f5ae48cf50ac2fcde45",
+ "description": "venus: update to latest venus protocol",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "20efd9eff30fd4baaa2ad45b8bf3242c93a98d6c",
+ "description": "venus: group extensions promoted to 1.3",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fe3815b7faaacd1afa3fca8151ee78641c4c84c8",
+ "description": "venus: clean up physical device features and properties",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ca4595e01abf1d6ff15be6e762f55bb76e29196a",
+ "description": "nir/opt_shrink_vectors: update docstring",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "405829cd8592076c03ac62f3f35ea1ace8b45322",
+ "description": "nir/opt_shrink_vectors: remove duplicate components from vecN",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e5963478c2f75d503d0acaeb2b20a4cb266670cc",
+ "description": "nir/opt_shrink_vectors: shrink load_const properly",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a10b5d7086b92a681c657d7ad24d49d30b072a36",
+ "description": "crocus: change the line width workaround for gfx4/5",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "6b7a68b7c21eeff1aa037b68b6fb9ab971fe9982"
+ },
+ {
+ "sha": "bbbbf39559402dae7c2458049e09179c3671231a",
+ "description": "venus: abort when stuck",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ccf4bcd162cae2b5df9b47caf00f198beaf2c4a3",
+ "description": "aco/ra: don't immediately assign a register for p_branch",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c3070773f886f1238c7cade3e4c068b73546399d",
+ "description": "aco/tests: add test for branch definition RA",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "32d0bae8ec382b5f604d75b2375e75ffec986fa7",
+ "description": "aco: fix branch definition validation",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bed5a310053f576503bc9c3300e2c7ec7db08e74",
+ "description": "aco: add validate_instr_defs()",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d5349a99c2065f294b50fcc957ad9606191acb73",
+ "description": "aco/ra: fix register allocation of branch definitions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "608d48b78725bfc13f13f700392d2683f1113c00",
+ "description": "aco/ra: add get_reg_phi() helper",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ceca5e68c4d646a069728d6c49135793f0e5a09e",
+ "description": "aco: remove vcc hint from branch definitions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "558f6329676f53b7869367ff296a4f8153647031",
+ "description": "r300: schedule TEX instructions before OUT instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "aff1a85c0919e679b031d5085f295e4229435ec5",
+ "description": "r300: remove some dead logic in tex pair scheduling",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "688b23885be84c929fe0a36281e2889de49ead60",
+ "description": "Venus: Add `vn_physical_device_{features, properties}` for better organization",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "539fae796a547a174c1bb92951dbbb132493a01d",
+ "description": "freedreno/a4xx: fix integer tg4",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "96211adf771da5211b9d5d8178f1cee0626a0792",
+ "description": "freedreno/a4xx: add swizzles to shader keys for tg4 workaround",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "68a2d25d0db2031e5bba37b2981179e795dd504e",
+ "description": "freedreno/a4xx: move tex_type to header",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8ed07c0da90b98cc53fbed1b387027a34d09b042",
+ "description": "nir: remove bogus logic to allow cube + offset to work",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "37306ba3f1363e43c232abf9215d48e6a0a47cf4",
+ "description": "freedreno/ir3: remove bogus tg4 -> tex lowering pass",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "80bf9c7b978ac273ef979b6bafc351153669694d",
+ "description": "r300/compiler/tests: print regoff_t as size_t",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "516aee64cca36a6e2408bae0cf026a1c86aedc78",
+ "description": "radv,aco: do not lower nir_op_pack_{unorm,snorm}_2x16",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f1f1b3d7f8cab50d7c6e05ff9a81f1d17d15deff",
+ "description": "vulkan/wsi: drop unused wsi_create_win32_image",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "ed391d2a469f1a17ef8768baa919436166d5b27b"
+ },
+ {
+ "sha": "ddf2778269e4a5315964ee043abace895084aaa2",
+ "description": "glsl: add member's location layout qualifier rules for `arrayed` in/out blocks",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0313110c9203b200425351ce8d4caf7b589c2bb1",
+ "description": "zink: ci updates",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "712ce86bd19628038ccc9157169cf0d604d32bc5",
+ "description": "zink: split primitives generated queries if xfb/gs states change",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0cb3ae949cbf2c5ec0edcb88d943cec754fbfa12",
+ "description": "zink: split out query suspending into util function",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5aecec48ee51453945d21d8e338f3ea87ae4958a",
+ "description": "zink: update query states before starting renderpass during draw",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "965ab44c5017897acd3aefc7900950b7f7ad0760",
+ "description": "nvc0: disable EXT_texture_sRGB_RG8",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "897a7fbbf1e72384b78af0a29a9e379cbeb6e3c7",
+ "description": "mesa: enable GL_EXT_texture_sRGB_RG8 on desktop",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "af5f49f663d29abfd840e5c258b422107ae38f01",
+ "description": "zink: remove loop from generated tcs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7e63fa2bb13cf14b765ad06d046789ee1879b5ef",
+ "description": "freedreno/registers: Add a couple regs we need for kernel",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "34379a937fff7f0edf784ec58877122b611d0892",
+ "description": "gallivm/llvmpipe: add support for NIR to the linear/aos paths.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6efd489ac980851466eaef937a833c49b8126dea",
+ "description": "gallivm/nir: split load_const out into backend helper.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "65c7ca617fb524a57d0bbeabe518038828d10b09",
+ "description": "llvmpipe/linear: fix disk caching.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "503362f008441bac6b8e6b68337b56b27e80d3fe",
+ "description": "zink: switch to u_foreach_bit for ntv image access decorations",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fcdcfd9967767e923fa99a9160f937b67afdf595",
+ "description": "zink: emit Aliased decorations for any image that isn't explicitly marked restrict",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "351378ae8011c43010370825209a65e738a3a959",
+ "description": "zink: remove a bunch of flakes",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e1e9a44a69f327fd99edaff4eb4db867a39da370",
+ "description": "lavapipe: always set read/write on ssbo/images.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b48236ea3efebf942ba7c225c023a52d71558c16",
+ "description": "pan/bi: Add arithmetic flag to RSHIFT ops",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0b0e74ae8277ba2ec89d950af9816a8a8e275078",
+ "description": "pan/bi: Extend LD_TILE with a register format",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "74107abfc665d8713cbdd5a5accba4f3983c72c3",
+ "description": "pan/bi: Add BRANCHZI instruction",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3dc2095b079f1ac890cbf6ca2f525841a2dab5ba",
+ "description": "pan/bi: Model LD_BUFFER instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "579677788974f4012f313265e42d558d70b35597",
+ "description": "pan/bi: Model offset for LOAD/STORE",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "039bb4e68c3864b0a40bdf9d4ae7c06badfe926a",
+ "description": "pan/bi: Model pos/vary segments in STORE instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "aaa39f0e60a6855e9ea7274cf708fbeeaf40d582",
+ "description": "pan/bi: Model LEA_BUF_IMM in the IR",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "eba9ef4c2529fc88ed5bdf88a5b22d6f13e73faa",
+ "description": "pan/bi: Add LD_VAR_BUF_IMM.f16/f32 instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "48a398bf5b1b5c07d0eac15b4c6af68fe07b5c99",
+ "description": "pan/bi: Generalize I->table for Valhall",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "20891e75c263039e9103c006c5b744a0355a1f76",
+ "description": "pan/bi: Extend BLEND to take a register format",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3c817ed511c084fdffc011963c0efcc607369669",
+ "description": "pan/bi: Model Valhall texture instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "234d3efb9b5ba026c3c25085e79993639353899b",
+ "description": "pan/va: Add memory access modifier to LOADs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "79aa4af078c8c089c1973dc8444f79bb46774f43",
+ "description": "pan/va: Remap \"store segment\" to \"memory access\"",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "254a6412909057d809d361b297510aed9414554c",
+ "description": "pan/va: Fix LEA_BUF_IMM definition",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7c798fbb9f5e6dd9a3631674576270b174a714f8",
+ "description": "pan/va: Fix definitions of LD_VAR_BUF_IMM",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c62836661ea25a01eaf485ed67ba24db2e7a73c9",
+ "description": "pan/va: Add TEX_GATHER instruction",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "65cb3af38a045ff2b33eef03663b885c7420feec",
+ "description": "pan/va: Add TEX_DUAL instruction",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "47b70ca5843269c83e949b1cbc1d2c111e2234a1",
+ "description": "pan/va: Add modifiers required for gathers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "431e7e54a614a45117424c6be1e1b7e9910f62a9",
+ "description": "pan/va: Handle force_enum differing from name",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0a6c6dcb00847a0f413ab4fae0d83900deb27167",
+ "description": "i915g: Emit better code for SEQ(x, 0) and SNE(x, 0)",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "374da6fc41e955c261b7888a2809b7025fdf0f97",
+ "description": "i915g: Handle constants composed exclusively of 0 or \u00b11 specially",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "06eb9fb12599cf792f9bec36f5c5149258fde1dc",
+ "description": "nir/algebraic: Optimize some cases of (sXX(a, b) != 0.0)",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7d055c93e014d947b2b495450cd0968c32de6dd1",
+ "description": "i915g/ci: update piglit fails",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d506d910e43e00095246161786de6f49e9cbda2c",
+ "description": "nir: Switch to using nir_vec_scalars() for things that used nir_channel().",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "16c064dfaf98d36777a73aa140d3e8c46b8c4611",
+ "description": "nir: Add a helper for setting up a nir_ssa_scalar struct.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d95f9d189a46ecd6fecb54cd7c733fff89f3d85a",
+ "description": "nir: Introduce a nir_vec_scalars() helper using nir_ssa_scalar.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "48b3ef625e1909c1be31fbe10adb53734af38eb4",
+ "description": "vulkan/wsi: handle queue families properly for non-concurrent sharing mode.",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "5b13d74583513ddd029e30c989838b96993545a0"
+ },
+ {
+ "sha": "221ce1b35ae3db012e40c307fcc3027c59a0bca4",
+ "description": "ci/freedreno: Consolidate some information about an a630 flake.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a64408dcd5121d7bab74d43241ac035d5bf86cb4",
+ "description": "ir3: Don't assert on not finding the VS output for an FS input.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "feb7e30e2d40e1ab06823120288de131a86f88c5",
+ "description": "radv: include disable_aniso_single_level and adjust_frag_coord_z in key",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2de15273d5b332eb116841cab546464236dffc1d",
+ "description": "freedreno: Improve robustness behavior for VBs with offset > size.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "92945825f5fcb59ef3787d21a21a61c07ade7588",
+ "description": "freedreno: Fix start_slot handling in set_vertex_buffers.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "35ddb65ea6b5310c56e75f274a2456e49ef04f55",
+ "description": "freedreno: Use the resource size rather than BO size for VFD_FETCH[].SIZE.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b21e7e1ef7ba2c2cf97f073a8a01d6bc43835622",
+ "description": "docs: match build-flags markup with meson docs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "23d3fb6da26093621ab13372ac80f76f2ea74368",
+ "description": "docs: fix a broken link",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "96c8880900e3351dfb88c43b0e3e324539436bc0",
+ "description": "intel/fs: fix total_scratch computation",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5b43075888612d12b7f367a5c32a3e42a9ff0e0a",
+ "description": "v3d: enable texture filtering anisotropic",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dc77542ed2226173286f4c9b37425efd101dc51c",
+ "description": "intel/compiler: Use pass helper in brw_nir_adjust_offset_for_arrayed_indices",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f761f8fd9e2a72dd41d8c013dfb376ad3a108176",
+ "description": "broadcom/compiler: simplify node/temp translation during register allocation",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "871b0a7f6a35133516158b3c148f264a791dd942",
+ "description": "broadcom/compiler: don't sort nodes for register allocation",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4483cd24af5ea20c4f2aef06dc758ffeccf60e08",
+ "description": "broadcom/compiler: sink uniform loads",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e228642cf50ef850c94cab2efb69aa0b5f9dba7c",
+ "description": "broadcom/compiler: move constants before their first user",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a1998a9f43e8c1442f191bdd7a4db8c276f53e1a",
+ "description": "broadcom/compiler: disallow TMU spills if max tmu spills is 0",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cbb4d0dded229101dbf83beaf391d5035b562f6a",
+ "description": "broadcom/compiler: increase cost of TMU spills to 10",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a02dd17cb36efe9bc2ff2d675357988ded914a02",
+ "description": "radeonsi: fix an assertion failure with register shadowing",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0f96948dfab3b9d7cbda1d8cac1308e976a35eff",
+ "description": "radeonsi: fix register shadowing after the pm4 state size was decreased",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "946bd90a097e8bf4f060f7a18d04f1df1c23275f"
+ },
+ {
+ "sha": "66e20d2bf70ab32087e71b1fba9a231d7c58d134",
+ "description": "ac: add an environment variable that parses IBs in files",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3394f0ae14e373d668312a61a1703cc77aaf50db",
+ "description": "ac: define PKT3_ATOMIC_MEM",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ff9e4409c13418f249b7130f8ae644dc1922a4d0",
+ "description": "ac: parse SET_SH_REG_INDEX packet",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0cae7a59c08698fd822c4a50e98531f631dcb741",
+ "description": "ac/llvm: update LLVM processor names for gfx10.3",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "87d83f4103b10b058a248bfbdb7339c8b9438cc8",
+ "description": "ci: add point coord failures to d3d12",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5ca7c20cf7b106bff2cafb1e63c71a283a01e9ec",
+ "description": "st/mesa: do nir_lower_io() for inputs & outputs with transform feedback info",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ee4c5b1699397662f069e2e9958b406a5628e03a",
+ "description": "gallium/aux: add helper nir_gather_stream_output_info",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2a708efec337234b039aa182b32543fa57230642",
+ "description": "gallium/util: add util_dump_stream_output_info",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1dcd1eac6a584d7c9bbe39f533dbcfa27a5342fe",
+ "description": "nir: pass nir_shader into nir_recompute_io_bases instead of func_impl",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "606811bded21e2c01096c50f0bf6c627167abf00",
+ "description": "nir: add nir_print_xfb_info",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ad68a1ee5a563bcc2013214826a7ab5724a3a018",
+ "description": "nir: add nir_gather_xfb_info_from_intrinsics for lowered IO",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d4c051b0479998dc1a95cff6b5e8b8aaa9530a2a",
+ "description": "nir: add nir_lower_io_passes() with new transform feedback",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3528dcdfa18d688ec3fc69132095e93a8fe380c4",
+ "description": "nir: add nir_io_semantics::no_varying, no_sysval_output, and helpers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "548b2d47b2879f8dbb4362d03c3428801dae3260",
+ "description": "nir: scalarize transform feedback info in nir_lower_io_to_scalar",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cc5505088b9212371c44e6b25235bd48104cd244",
+ "description": "nir: add shader_info::xfb_strides",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4636fa7f384dc06f3e1d94adbfc70b3e986c2cb2",
+ "description": "nir: add transform feedback info into nir_intrinsic_store_output",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2c6e41bfe1d4261fdf37ba59d71d961d664cffc4",
+ "description": "nir: fix nir_io_semantics::gs_streams in nir_lower_io_to_scalar",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "73ef225fc277cd7ccc996a0306cc3e9a30c46fa3",
+ "description": "nir: validate write_mask for all intrinsics that have it",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dd733fa52e49f790d59ba848c29fe47f3b289957",
+ "description": "radeonsi: fix broken VK-GL buffer interop",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "ad9b5ac0a181aa0acd5c02640614d8a69e9b3566"
+ },
+ {
+ "sha": "c1a7d520f3ffe720dfb949ee651d7299167a2924",
+ "description": "anv: Disable aux if the explicit modifier lacks it",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cada519482eb553dbebeafbfe97b731996cf9063",
+ "description": "anv: Refactor anv_image_init_from_create_info",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8d2b7e558b43ac1e07ec4802666f0880d914f6d7",
+ "description": "anv: Change a parameter of the implicit layout fn",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c3eee6327c85f65da88ea09d0c0a78aa8495c290",
+ "description": "pan/va: Add missing copyright notice",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "eda00fd39d26eac6228ef1d7b04d9cfa23bdfb9e",
+ "description": "pan/bi: Extract INSTRUCTION_CASE macro",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ffde1f359bf42566df0740c93004fb3017101b82",
+ "description": "pan/bi: Adapt bi_lower_branch for Valhall",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f3937d98747c23676aea268c5ab56dc3e1cd5eae",
+ "description": "pan/bi: Trade off registers/threads on Valhall",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7637502c8d734d054a815b9b2f81f1bd8c239f4e",
+ "description": "pan/bi: Add BI_SUBGROUP_SUBGROUP16 option",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ec9c1f8fa603b6213ab4ba172ce413c63b4249c3",
+ "description": "pan/bi: Wire Valhall disassembler into compiler",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "31e991d801cc096ad5742ee8131d2e2a8a22ad80",
+ "description": "pan/bi: Support standalone Valhall disassembly",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "600f689a98638975b43a0c381c5f897718ff182f",
+ "description": "pan/bi: Allow CSE of preloaded registers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3154df232b7d75ea1a3f2c5e9a8ccf0ebcd6814b",
+ "description": "pan/bi: Use a progress loop for constant folding",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e5582710f3e3f895cb4544e0e5480ab071049dac",
+ "description": "pan/bi: Mark NOP as having no destinations",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2604c6517472a107d3f3034e5693e9aba4159649",
+ "description": "panfrost: Unify barrier+helper handling",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "30d0c2e39059e938a9ddd64dba1508af0e5273c3",
+ "description": "panfrost: Set texel_interleave on Valhall",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "407bda4d8cfaa2a1390730e67a65aaea8eb26223",
+ "description": "panfrost: Adapt estimate_texture_payload_size to Valhall",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "469a36d071e04a9007ad978f1597decc76dfcd3a",
+ "description": "panfrost: Don't emit compression tags on Valhall",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "087b63cb07717e83ea606648f2551fc9586b9165",
+ "description": "panfrost: Allow uploading fragment SPDs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e42b0c68f448fa0a57591ab6ef2aa9e2017551a5",
+ "description": "panfrost: Don't pack blend constants with blend shaders",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "111f5af303104e0321e418feb1ad93a5f53e2969",
+ "description": "panfrost: Generalize some is_bifrost users",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "36a2b8d0398a8842fc35b0e43722aae14fc13abe",
+ "description": "panfrost: Add PAN_MESA_DEBUG=dump option",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "28743a5556ff36ac8905753da270328774bbc4c4",
+ "description": "panfrost: Rename prepare_rsd->prepare_shader",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "631c01fc421cf60a81cd0af26f64520180685b18",
+ "description": "panfrost: Add an enum for Valhall resource tables",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f3c971e0fe2d31dc985fc86ef9d0c6b182cc86ad",
+ "description": "panfrost: Make Divisor E an integer on v9",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b19afaf307b9b9958e60b26a6590fa562c6390a2",
+ "description": "panfrost: Clarify contains descriptor? bit",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1df6b0d7e2fe7ffdaf200c58494de465396ef186",
+ "description": "panfrost: Remove Invalidate Cache from Valhall job header",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "217e038289b00008b21a8a4ef84c4b4ab6ae9079",
+ "description": "panfrost: Add Tile Render Order enum to fragment jobs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "52ccd21e6bc64b23e698b5c3e5dbe39f206e3e5e",
+ "description": "panfrost: Extend SPD size",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0136545d169adb75e4f9f6b4de38eef0817c1241",
+ "description": "radeonsi: add check for graphics to si_try_normal_clear",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "214092da879252c3935eaee47b0b2ac42b682268",
+ "description": "anv: fix fast clear type value with external images",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "02fab4cf9e3a7fd824dc2fc99e5b1abea02ec8ce",
+ "description": "venus: Implement guest vram blob type.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fd3451babd6cded6794561d74c8919576ba1f97d",
+ "description": "amd: update addrlib",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f8cf5ea982adc4e1d5b6a531f83eea938583c830",
+ "description": "amd: add support for gfx1036 and gfx1037 chips",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "48046d5bd83e51bb203c70fc0c51a5b8177395bf",
+ "description": "ac: set correct cache size per TCC for Yellow Carp",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4380916b761d2ebbe5b1d36b9162810b66a727fc",
+ "description": "radv: disable DCC for Fable Anniversary, Dragons Dogma, GTA IV and more",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dc921f73779e90e1514191d87cbe133c61b15b19",
+ "description": "iris: Do not apply SCANOUT allocation flags for SHARED-only requests",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "93087f71e64b6ebfaa44b25a6afe2f5ed5c1d595",
+ "description": "ac/nir: Extract final mesh shader output counts to a separate function.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "11957d386335ff9822f3fbc67d4a16ae6c2cd500",
+ "description": "aco: Remove superfluous code for mesh shader workgroup ID.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2d5aae032b97de7c25b97514c08f9b642a1d2ddf",
+ "description": "ac/nir: Properly invalidate mesh shader metadata.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3a3bd9cff1b9d6d5f7b3d771c64ca362d6056157",
+ "description": "ac/nir: Fix workgroup ID in mesh shader waves other than the first.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "57775dd76a2064c7baec2a500a27536e41302f0d",
+ "description": "ac/nir: Store mesh shader API and HW workgroup size in lowering state.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d0f45c7c4986013ffd6ee391c76f51113b7ae767",
+ "description": "ac/nir: Reuse existing nir_builder for emit_ms_finale.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "74f1e7965e1811333386b502217dfb393cea1156",
+ "description": "ac/nir: Use vertex count minus 1 to determine max index in mesh shaders.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "16b417b8d617df418ad197341a7af1f87bacaefc",
+ "description": "ci, valve: Add the dEQP runners for Valve CI",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f0aee991bfae7a45d20831b9cfad5e083135be93",
+ "description": "amd, ci: Categorize the sections of the CI file.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "58186df32c813c9bdfb54a3977efc046f67565f9",
+ "description": "amd, ci: Drop log level in SPIRV -> NIR code generator.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cc327a0fe45911cb694d2de56e9dd7dba1fa0f12",
+ "description": "amd, ci: Remove unused runners.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "befe3a9e48b4bfd1f76193589aec23a86a2097f2",
+ "description": "ci, valve: Add support scripts for the Valve bare-metal farm.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1e010348ee6f7d40470aa65797e74752c90ac692",
+ "description": "radv: remove color exports in presence of holes",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f800af2231401641abed2a6d90a9fc22ba5ef60f",
+ "description": "ac/nir: remove TCS nir_var_shader_out memory barrier",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7460199a2fb52e9f356b5ee0e895c44d339b4f43",
+ "description": "intel/compiler: Lower Task/Mesh I/O before SIMD specific lowering",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "549e861dc1f9e9fed5b6b5897c154273e2233658",
+ "description": "turnip: Implement VK_EXT_physical_device_drm",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bb6ba8f21fc79121ac9b988cf1134be915059dd6",
+ "description": "radeonsi/drirc: use force_gl_vendor for Maya",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d3196bac510aa2343f34ebabadc176285dc681b5",
+ "description": "nouveau: add dEQP/GLCTS run failure info for GF108/GT215",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dc05615ec175cc4630291a2f1cc21ccda6cd08e1",
+ "description": "Revert \"anv: Require the local heap for CCS on XeHP\"",
+ "nominated": false,
+ "nomination_type": 2,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "382f6ccda8869f72134dbfa9c3cc68a229e01138"
+ },
+ {
+ "sha": "203c8be09f7894600add91109060ed44f92702b0",
+ "description": "anv: Add a perf warning in anv_BindImageMemory2",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "74e446b45ba72b45563a33a379d7b25e76c9a073",
+ "description": "anv: Fall back to HiZ when disabling CCS on HiZ+CCS",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ffbde42b9374c1b70b9caefa981e3c09bea0e7b1",
+ "description": "anv: Don't disable HiZ/MCS in anv_BindImageMemory2",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ed9a0d48a9756249a77a0c7926d8bb155bd03b24",
+ "description": "ir3: Use isam for bindless images",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "06485f7d3dff0841052a7e7473fc3ee71c974735",
+ "description": "tu: Call nir_opt_access",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "58d72f45e58969dcd45e953487b1bd2338dbb05a",
+ "description": "ir3/nir: Fix 1d array readonly images",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "0bb0cac8dcd0d8907282242e548321f318a64536"
+ },
+ {
+ "sha": "21ac044c3e25888eb9f1bc72ed09da825e257ae7",
+ "description": "ir3: Don't always set bindless_tex with readonly images",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "274f3815a5efaf1b82f6c2d29122f7aac2fc9a19"
+ },
+ {
+ "sha": "bb1e0eba08dbd05626bc307aab1dd3faeb12c867",
+ "description": "freedreno/fdl: Set swizzle on storage descriptor",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "00be8c46197f53a63e3683a28423a34db8ed765b",
+ "description": "freedreno: Replace A6XX_IBO with A6XX_TEX_CONST",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e1c4c2ac60e47a8841eb5d0a2714f87a3dc4fa49",
+ "description": "ir3: Use CAN_REORDER instead of NON_WRITEABLE",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "aa93896156c7f076e5de1831292297084655cda3"
+ },
+ {
+ "sha": "95fabff8dea94eb8dfb49871034df8fc390d0e68",
+ "description": "turnip: Set drmFormatModifierTilingFeatures",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "473f48863904084b087d8cca0c6e6032be2e9d32",
+ "description": "zink: add layer asserts for 3d imageview creation",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8e67928862de069d3e6892a1ecbb7ca8d1a648b6",
+ "description": "zink: more accurately clamp 3d fb surfaces to corresponding 2d target",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "59b0105e658b757b152a55dc6f062b16b7324ef4",
+ "description": "zink: clamp 3d/array shader images to lower dimensionality using layer counts",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "26d05e5a38e69c37748578ffe583756026fda51b",
+ "description": "zink: directly create surfaces for shader images",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "69ec429c00ee32d5bf51e549876b9ca2daf2cbf6",
+ "description": "zink: restrict clear flushing on sampler/image bind to compute binds",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b7b494299d556de5ac01db28769d881e927cf0b9",
+ "description": "zink: use VK_EXT_depth_clip_control when available",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "95708c13ee6d932542933f8811ec6887b124d91f",
+ "description": "glx/drisw: handle GL_RESET_NOTIFICATION_STRATEGY",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fba13486df5acd7c5f5c3407d2085448f592c3b4",
+ "description": "zink: update psiz handling to fix xfb output",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b28cff9f4a7524bd4188278cbe9058ec98e8c40b",
+ "description": "nir/lower_psiz_mov: stop clobbering existing exports",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3267417c222ea50927bff0a9aa098154f1e8b0c7",
+ "description": "nir/lower_psiz: create the store instruction more accurately",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6250a3bc18d06b6f609dc1eff8599432edbfc3c8",
+ "description": "util: use correct type in sysctl argument",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "01bd21eef8f572944c09771f44e3006e2991280e"
+ },
+ {
+ "sha": "0536b691338f2759b850f9ec94634033a5d1f9e1",
+ "description": "util: fix build with clang 10 on mips64",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "dc94a0506f1d267a761961d3ac905d77de3dae2e"
+ },
+ {
+ "sha": "f12c107b030b0aacc0c8b11c99fdce13f38bc98f",
+ "description": "util/u_atomic: fix build on clang archs without 64-bit atomics",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "a6a38a038bd62e6d9558905f00bef81b5e7e6fcc"
+ },
+ {
+ "sha": "d07df90bf4442492d5f94190484793cb52f23860",
+ "description": "Revert \"CI: Disable Panfrost T720 jobs\"",
+ "nominated": false,
+ "nomination_type": 2,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "35209b94a6c7d88fb67b6446fda8f8daf556c911"
+ },
+ {
+ "sha": "bd55458304f6499aff1e21137b643c4870cc2b28",
+ "description": "Revert \"CI: Disable panfrost-t760\"",
+ "nominated": false,
+ "nomination_type": 2,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "b9b444e0b8bc318cea2a93ec04b0a383c444180e"
+ },
+ {
+ "sha": "6d0824abccbddc8b8480990ac49c542f6680c2a4",
+ "description": "panfrost: fix segfault in pandecode",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "af0f9a31b3ab1a2a212fa419d6f7739f809fa926",
+ "description": "CI: Disable Panfrost T720 jobs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "114e48e923d9492a4be7308807a87c1c7e835325",
+ "description": "CI: Disable panfrost-t760",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f2dee2ea55546b03528e5bd91da9d96f27cae2a5",
+ "description": "docs: update irc channel",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5558f7de59dcc3d5197ef5904002d9040ffea7f7",
+ "description": "docs: mark virgl gles2 renderer as done",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5cce0d1d9d3a706282731a59001bfa1d1d8c4e9f",
+ "description": "docs: update virgl description",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ca4ad9c2cb37efe5e26c345275a38c7bae433ca9",
+ "description": "docs: link to gitlab instead of cgit",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "32de503b02234f2c882a09a80a4c668f4ec7eec2",
+ "description": "docs: master -> main",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "76ee3eeae95be427dfb3a661d8dbe8d05a5bbec3",
+ "description": "docs: Virgl -> VirGL",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4ebd3b041bb8f7b922f8e75481171742b3466afb",
+ "description": "docs: qemu -> QEMU",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5494b6869475abd8346e4525e7e1cb286ce8da54",
+ "description": "docs: add missing get",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2015d458b6e2ce5d113a4e4995546742d79c1b06",
+ "description": "docs: remove a few repeated words",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6897266ce01776fa49ea6178d05a707dad4a6ec1",
+ "description": "docs: import virgl docs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e1964e1dde7bf44ceeaf3fa8b3869e791af4a369",
+ "description": "zink: don't free non-fbfetch dsl structs when switching to fbfetch",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "03a80490a47b0b616566c6f56581560694976b1a",
+ "description": "zink: free push descriptor pools on deinit",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "698ae34844b7199b8acc3b4d74a9cad3b903bdef",
+ "description": "zink: fix cached descriptor set invalidation for array bindings",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "62b8daa889daefb2f191a63f370541bf2b807e88",
+ "description": "zink: set shader key size to 0 for non-generated tcs",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 2,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "861fc10bfc76f3f4286d36fdbb0707883b8c090c",
+ "description": "zink: skip extra descriptor lookups for images during barrier updates",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cd7ea80e70f7557e4cd2bfd1572ae69c3fe52ee0",
+ "description": "zink: add layout to sampler descriptor hash",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7431c30999872774af896d39e7c233d8fae04c67",
+ "description": "zink: fix typo for image descriptor rebinds",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a179977b8e33c4f920a1b15268b37122caf4bce1",
+ "description": "zink: update descriptor refs after starting renderpass",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f0398180a592e12eefc58e9580d7c0d71fbae450",
+ "description": "radv: use MAJOR_IN_SYSMACROS for sysmacros.h include",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "7aaa54feb53a9d0cf3277bef31547312ee56b277"
+ },
+ {
+ "sha": "afece589dc6c5227ac61502f809184090fe83da1",
+ "description": "util: fix util_cpu_detect_once() build on OpenBSD",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "5623c75e40b38017873df09954b5f65dc84dcde5"
+ },
+ {
+ "sha": "623ff4ec4295dc67bc0c99ed5336eaae1ad76cc9",
+ "description": "util: fix u_print.cpp build on OpenBSD",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7d609431d4f69903648f6bbb5b3bfc87b807ab17",
+ "description": "util: unbreak non-linux mips64 build",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "88b234d7a7cd71fcb4955428010f238ec9530431"
+ },
+ {
+ "sha": "e5c39bc427f3eb4ddfe0c55530136b6a14290d7c",
+ "description": "intel/compiler: optimize flat inputs mask calculation",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e2cb562dd1bd79f0e4b1b2597cfb0fa6b5f8c22a",
+ "description": "intel/compiler: ignore per-primitive attrs when calculating flat input mask",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "be89ea3231c92960cf9b23b37ce6402e4612a207"
+ },
+ {
+ "sha": "216da26b3f323ce61e2355ad4a6f5e3bbe3e874c",
+ "description": "pan/va: Add TEX_FETCH assembler case",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "794836daf06043a6d7201274b4496ce57f2478e8",
+ "description": "pan/va: Handle sr_write_count in the disassembler",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "eee6dad0c97960d98f5785997e1e42ba583ba40b",
+ "description": "pan/va: Fix definitions of TEX_SINGLE and TEX_FETCH",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a58807fa9555aaf81bcbacec148be2a53f66fb24",
+ "description": "pan/va: Don't use staging index as a sideband",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "49a4cc6af868ea23f343ab3f5485b2de29fab567",
+ "description": "pan/va: Handle extended staging counts in assembler",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "142ba9fea6f559fc6a218b8d0d5b712c52fa58bf",
+ "description": "pan/va: Allow forcing enums for 1-bit modifiers",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "20fce28dfd5e41cc6e455e83d569475df74990f5",
+ "description": "pan/va: Add MUX.v2i16 and MUX.v4i8 opcodes",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "97f8fad37b2d652543090169e83392d9b8c6e068",
+ "description": "pan/va: Remove incorrect TEX test cases",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b1f349dff4565f9d659bbc7b2ab48139cb165226",
+ "description": "nir: Allow the _replicates opcodes to have num_components != 4.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f030b75b7d2c359b90c18ee4ed83fa05265c12e0",
+ "description": "aco: relax condition to remove branches in case of few instructions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "53ca85ac2a1acf1476c4b494f5fdfa2cc39c644c",
+ "description": "radv,drirc: move RADV workarounds to 00-radv-defaults.conf",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1ca6b2f216017ca24b5488c8e9989efb44febdfe",
+ "description": "aco: Support memory modes properly with load/store_buffer_amd.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ba4b48e787667bc99aa5dea4fddde95920aee852",
+ "description": "aco: Support task_payload with barriers, refactor allowed storage class.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cd0dd5d6b7416bd68a2bdc9d50c2d3fa8e2d5a69",
+ "description": "aco: Add storage class for Task Shader payload.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "962b2fe214de502d5c6326abf33483e08a17cfe8",
+ "description": "spirv: Use task_payload mode for generic task outputs and mesh inputs.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f629fbd77807f9f91725dbf6c0f44baf5f699afa",
+ "description": "nir: Add new variable mode for task/mesh payload.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d2d6eca0817972a9d08f348f3a22354ce572c15b",
+ "description": "radv: Refactor mesh shader draws and add num_workgroups.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bf519a7d4778b9d678f312dfbe7d6758cd09676e",
+ "description": "ac/nir: Refactor mesh shader output code to smaller functions.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a84789f7959834085c42e0b9c55d3bf5963d6614",
+ "description": "ac/nir: Make sure to exclude special outputs from arrayed output masks.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "3956c03b053ffa60a8f5a8943d34357585108ec5",
+ "description": "ac/nir: Sanitize mesh shader primitive indices using umin.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0746b98f4a7fd0c4b332a084ba4461724a31fa5f",
+ "description": "ac/nir: Properly handle when mesh API workgroup size is smaller than HW.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d88516a23fe6df117b7e55a175286fb3d6016aa4",
+ "description": "ac/nir: Move LDS area for primitive count to the beginning.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9cc9cf77a8f7dd5548509ae2b67ac7c79fa87253",
+ "description": "aco: Fix multiview view index for mesh shaders.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "082b691141a5aa088afb532a2ca909ddca16b654",
+ "description": "aco: Fix workgroup_id.y and .z for NV_mesh_shader.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "10ebfb3bf22e0524f3b119711fafcaadcf1bcb60",
+ "description": "aco: Allow 1-byte loads and stores with load/store_buffer_amd",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1ee3d49e3e39cb3f1d7cbf08ed3523b6a38ef539",
+ "description": "radv: Better exclude special MS outputs from driver location assignment.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d1c6185b5a1055bde0a5ac51b20e4af7863dc64d",
+ "description": "ci: skqp: Add Vulkan support for a630_skqp job",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8bfef8bf6b7f8d109e3543427fed417f9a407f73",
+ "description": "ci: skqp: Build skqp from android-cts-10.0_r11 tag with Clang",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5ffed2a2991fc13ab6cd4846f11a802ab69de24f",
+ "description": "features: VK_EXT_depth_clip_control for lavapipe",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "07c0801e608e491a47a5d35af8a074b31c96f401",
+ "description": "lavapipe: EXT_depth_clip_control",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f458c7f200fb993de458ab7294395effc78f3cef",
+ "description": "ci/zink: Add testing of dEQP GLES3.1/3.2.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b4132bd026fc40480299aa54f654f4c89e861b70",
+ "description": "ci/zink: Move testing to shared 64-core runners at Google.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "834db3aa8d0f9c6c7587dff1a632223c38e7602c",
+ "description": "docs: remove incorrect drivers from extension",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "da23a31726f4f0486319e900207c31f2815e9119"
+ },
+ {
+ "sha": "988d5aae74d61d1416b369172ef286b4aac933d0",
+ "description": "panfrost: Flush resources when shadowing",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "cecb889481db23dc2b945dc3904f58f41a45fdfc"
+ },
+ {
+ "sha": "5536852d60e59dad52feb63e1e88150ece1fec15",
+ "description": "panfrost: Handle NULL samplers",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "53ef20f08d4340c1bad0b45a2501f4daba7fb479",
+ "description": "panfrost: Handle NULL sampler views",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "304851422a4610170e870a5315fefaa5ec42917f",
+ "description": "panfrost: Fix set_sampler_views for big GL",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "4b2769493ed4932a019ad8623c940f177a50fc07",
+ "description": "panfrost/ci: Update xfails list",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "97f18d29292ada87469fe90fe5d49ee2dccd0ee5",
+ "description": "blorp: Add blorp_measure hooks to the blitter codepaths",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "31eeb72e45be6ef943df0b60f3cd7a646fa7b349"
+ },
+ {
+ "sha": "e6b7e743083f5f71ff004b3c753e07e482c815d7",
+ "description": "iris: Set MI_FLUSH_DW::PostSyncOperation correctly",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "604d97671b663501195644f2a5f12535e88c563f"
+ },
+ {
+ "sha": "c393753daa4de92f3a5937cc4abd53881efa098a",
+ "description": "r300: add predicate instructions to statistics of vertex shaders",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8eb9bffdfc1cebaf2f69ee4b7a7ed7e78d6a9788",
+ "description": "r300: report number of loops in shader statistics",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "517b37a08c3f71a01ed35303611fcdae633c5b7f",
+ "description": "r300: use %u specifiers when printing unsigned stats values",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "e7978412c3f83642d8d0cdf6610b0ac6f7b86308",
+ "description": "r300: only print shader statistics when compilation succeeds",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b124f83bc2722dd8cfbfb17d830751a636c50278",
+ "description": "zink: add a flake channel",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "cd2a4cc47c341576e131e26117d9caef2f9b4f62",
+ "description": "pan/bi: Unit test message preloading optimization",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "eb1479bda22bf80b553a87ab781956dc068d5b19",
+ "description": "pan/bi: Support message preloading",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c8437cd415c79ad597b44c9d3c24540c772c5a59",
+ "description": "pan/bi: Account for message preloading in shaderdb",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "19541dc8c86801aab5d764d27ce7a6f11ebb94be",
+ "description": "pan/bi: Add bi_before_nonempty_block helper",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6618697e0e7224b1759047578138ffd4e7d96db3",
+ "description": "panfrost: Pack message preloads from compiler",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bd06a26662345897a15efa6cf5c709242cccfeed",
+ "description": "panfrost: Add an unpacked message preload struct",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "2d0c4973dc1da428339a739fe59757499622b35f",
+ "description": "panfrost: Remove Message Preload Descriptor from v6.xml",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b130f8f4cfceb5a3f8e22851026f346ecd8e2105",
+ "description": "venus: add macros to help with future extensions",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "43bbe367ea5239439a2f480c7b82b0ebfef2e826",
+ "description": "panfrost/ci: Move T860 flake to skip",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5c07f7c427c5bec71665a9c0fd192c2e16376283",
+ "description": "panfrost/ci: Move T720 flakes to skips",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "eecc62ccbd86503db8f10f949eca95fccf188ccf",
+ "description": "Revert \"ci: Disable jobs to the Collabora lab\"",
+ "nominated": false,
+ "nomination_type": 2,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "f692bda484384a5932dc42ce940ad3ea6b9a8741"
+ },
+ {
+ "sha": "cf99584f51099a23e7ecc6db40709b4fead22220",
+ "description": "broadcom/compiler: move uniforms right before their first use after scheduling",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f1d20ec67c3f186886b97de94f74484650f8fda1",
+ "description": "nir/nir_opt_move: handle non-SSA defs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "fe2249eac504471306f8f0d2ff3f4ba759b91e28",
+ "description": "nir: add a nir_instr_def_is_register helper",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0a0446870404c5d4b259f51cdfffac903fd80dc1",
+ "description": "nir/nir_opt_move: allow to move uniform loads",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "f692bda484384a5932dc42ce940ad3ea6b9a8741",
+ "description": "ci: Disable jobs to the Collabora lab",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c0695bb47337870581bdacd635e931b416cea7d4",
+ "description": "ci: Allow disabling the whole of the Collabora farm",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a5fa7e04d7ac3bf482aac6f120ad3f2ce8717a39",
+ "description": "ci/lvp: Update the asan fails list.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6b2eda6b729215ca61617943dc540a8c690f2f72",
+ "description": "pan/bi: Reorder pushed uniforms to avoid moves",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6eec8fcbfa6e90431d47919479debf76fb04b8b0",
+ "description": "glsl/nir: free GLSL IR right after we convert to NIR",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0fda2ac4f09b81bc0dcd63ba9dd1c7134ffdb511",
+ "description": "ci/virgl: Drop the bvec4_from_mat4x2_vs xfail.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9e710af830cf506a942a498381603e2d780f5f9f",
+ "description": "ci/softpipe: Move most of testing to shared 64-core runners at Google.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "73b37f9ff0b1a580716340e714b7bb689910ecd1",
+ "description": "ci/lavapipe: Test 1/3 of lavapipe on the shared 64-core google runners.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0f64f4bdb5110503a4ca129ff61ef686f8a0916a",
+ "description": "ci/llvmpipe: Move most of testing to shared 64-core runners at Google.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6859b614a285ad19bc67161820a361dc579bad81",
+ "description": "ci: Stash the ldd and ccache stats output under collapsed sections.",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a2c1fa91377dbc6e742eb4dd62e836d8f6637e64",
+ "description": "radv: initialize extra state for internal pipelines at one place",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "959e8586aa916ffdab305b155b9155864cb11a25",
+ "description": "radv: remove useless radv_blend_state::single_cb_enable field",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8347d3dfd74c29c31d5299ca7835e0200571d96e",
+ "description": "radv: initialize VGT_GS_OUT_PRIM_TYPE earlier",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9fb0831ca1b341cb87c8a905762103c1db4e746d",
+ "description": "radv: initialize more depth/stencil states earlier",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b4bef890ee49508c4cfcb0ed1a3d9a2dd01fe62b",
+ "description": "freedreno/regs: remove 5nm DSI PHY regs",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c9e6d3ba733140f61c764b839a339899ebbbaa6b",
+ "description": "docs: update calendar and link releases notes for 21.3.7",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "9bb16991b81aa3413d7648f2550f6ea8b8a6decf",
+ "description": "docs: add release notes for 21.3.7",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b77ef4dd60d1d8fad0cb4d50740f1b8afc9e02f9",
+ "description": "draw/so: don't use pre clip pos if we have a tes either.",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "dacf8f5f5c82c18e841050af37db54ca21c026ee"
+ },
+ {
+ "sha": "31b7ebcbc7fdbef3b26e714443b1f7840b7982e6",
+ "description": "pan/mdg: Fix overflow in intra-bundle interference",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "0fffaa9fca93f6e9e8934b43d4aeb4594aea2202",
+ "description": "anv: Align state pools to 2MiB on XeHP",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "c17e2216dd5f2ace77e44a8008b2b177d633b05e"
+ },
+ {
+ "sha": "5a28d2482f65209d376521be37e1ff0024fee4b1",
+ "description": "anv: Align GENERAL_STATE_POOL_MIN_ADDRESS to 2MiB",
+ "nominated": false,
+ "nomination_type": 1,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": "c17e2216dd5f2ace77e44a8008b2b177d633b05e"
+ },
+ {
+ "sha": "d986731da97ed1013c071d2acdffde4301c56560",
+ "description": "iris,crocus,i915g: Don't stub flush_frontbuffer",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "51689a2b80b4daf5e78532304df311be8e627715",
+ "description": "panfrost: Simplify panfrost_resource_get_handle",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "b5734cc1c4666b4f21446649d2aba85c0c19350e",
+ "description": "panfrost: Fix FD resource_get_handle",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "7da251fc721360fc28b984507959ebfa0c88c8b2"
+ },
+ {
+ "sha": "22efeec399fb55dcb364dabd65afab137d6f3fc3",
+ "description": "freedreno/registers: add new register for 7nm DSI PHY v4.3 (sm8450)",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "04b80489d575dab7ed2cd3714d60d32e91e26589",
+ "description": "ci: Disable windows-vs2019",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ded9cb904f02cfe4206f88f8a41f49258f09f2b0",
+ "description": "anv: Enable nir_opt_access",
+ "nominated": true,
+ "nomination_type": 0,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "abb7f04674fa947a212053e235c5f347a037e2c6",
+ "description": "panfrost: Inline pan_emit_sfbd_tiler",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "910d4f8245cbe943d658783f63c29d9c07a84ca9",
+ "description": "panfrost: Remove pan_emit_fbd thunking",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "8dc7757754bb4f3d144ba2ed336b670cd15337ed",
+ "description": "panfrost: Remove unrelated comment",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "099d61c95d0961804ff08ac1ea32437bb43f1740",
+ "description": "panfrost: Use txl instead of tex in the blitter",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "5b1a00c5659a9dd824966e7ebcafe7e23c8916e2",
+ "description": "panfrost: Inline pan_blit_emit_dcd",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "c9784c9512e83796097d9a6c14e77d0baa123b42",
+ "description": "panfrost: Decouple tiler job and DCD emit",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "a13d87c4849f5e9d22646f163139a4cc8d82b241",
+ "description": "panfrost: Annotate slow clears as such",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "1eb3dbafdb2ece83f13a62b0762885ccc2a36898",
+ "description": "panfrost: Set defaults for deprecated DCD fields",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "bd3d7e33b6b53c2f0c9c73403ea9e85e4fa725de",
+ "description": "panfrost: Use pan_shader_prepare_rsd in blitter",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "6fc81f163e8508bca7006ea00f0759e9426a6fe7",
+ "description": "pan/mdg: Fix partial execution mode names",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "7e703e4428c096fcf12019ba0f4f75940c1fa1f4",
+ "description": "turnip: Always use GMEM for feedback loops in autotuner",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "ebc23ac963db2710553118de5b86caa7681ba774",
+ "description": "turnip: Implement VK_ARM_rasterization_order_attachment_access",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "d6c89e1e4ab983afbb641341e674e868efa09b52",
+ "description": "turnip: Merge LRZ and DEPTH_PLANE draw states",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
+ "sha": "dab34bd5c80b7daf4c54efd457eafeec5dc2caa7",
+ "description": "turnip: Use LATE_Z when there might be depth/stencil feedback loop",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "71595a189a0c372efd520ad51866ca57aa83298c"
+ },
+ {
+ "sha": "d10fd5b7c9a695565c009c446882bed49bc20fdd",
+ "description": "iris: fix register spilling on compute shaders on XeHP",
+ "nominated": true,
+ "nomination_type": 1,
+ "resolution": 1,
+ "main_sha": null,
+ "because_sha": "ae18e1e707c4be005256305a30b747ab1bdf55d8"
+ },
+ {
+ "sha": "c46d3acf0e3624f110c6d49f3eeef70fa1795855",
+ "description": "anv: Raise vertex input bindings and attributes limits slightly",
+ "nominated": false,
+ "nomination_type": null,
+ "resolution": 4,
+ "main_sha": null,
+ "because_sha": null
+ },
+ {
"sha": "dabba7d7263be6ffb6f3676465e92c65952fa824",
"description": "zink: ci updates",
"nominated": false,
@@ -31,7 +4981,7 @@
"description": "ac/nir/ngg: Fix mixed up primitive ID after culling.",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "e97f0463a8f55d5d407178f74b0cdb916a42aef8"
},
@@ -481,7 +5431,7 @@
"description": "amd: add a workaround for an SQ perf counter bug",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": null
},
@@ -2038,7 +6988,7 @@
"description": "anv: Don't assume depth/stencil attachments have depth",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "0d8b9c529ce34347032912d73c14c245919a3d37"
},
@@ -4657,7 +9607,7 @@
"description": "tc: CPU storage needs to be freed with align_free",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 2,
"main_sha": null,
"because_sha": null
},
@@ -4864,7 +9814,7 @@
"description": "anv: fix conditional render for vkCmdDrawIndirectByteCountEXT",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "2be89cbd826f9ac2703127025714a55595de33d3"
},
diff --git a/lib/mesa/docs/drivers/zink.rst b/lib/mesa/docs/drivers/zink.rst
index 3942d7c16..fea88bafd 100644
--- a/lib/mesa/docs/drivers/zink.rst
+++ b/lib/mesa/docs/drivers/zink.rst
@@ -129,11 +129,17 @@ supported:
OpenGL 4.1
^^^^^^^^^^
-For OpenGL 4.1 support, the following additional ``VkPhysicalDeviceLimits``
-are required:
+For OpenGL 4.1 support, the following additional requirements needs to be
+supported:
+
+* ``VkPhysicalDeviceFeatures``:
-* ``maxImageDimension2D`` ≥ 16384
-* ``maxViewports`` ≥ 16
+ * ``multiViewport``
+
+* ``VkPhysicalDeviceLimits``
+
+ * ``maxImageDimension2D`` ≥ 16384
+ * ``maxViewports`` ≥ 16
OpenGL 4.2
^^^^^^^^^^
@@ -177,7 +183,6 @@ supported:
* ``VkPhysicalDeviceFeatures``:
* ``robustBufferAccess``
- * ``multiViewport``
* Formats requiring ``VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT``:
diff --git a/lib/mesa/docs/relnotes/21.3.8.rst b/lib/mesa/docs/relnotes/21.3.8.rst
new file mode 100644
index 000000000..a1664284d
--- /dev/null
+++ b/lib/mesa/docs/relnotes/21.3.8.rst
@@ -0,0 +1,183 @@
+Mesa 21.3.8 Release Notes / 2022-03-18
+======================================
+
+Mesa 21.3.8 is a bug fix release which fixes bugs found since the 21.3.7 release.
+
+Mesa 21.3.8 implements the OpenGL 4.6 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 4.6. OpenGL
+4.6 is **only** available if requested at context creation.
+Compatibility contexts may report a lower version depending on each driver.
+
+Mesa 21.3.8 implements the Vulkan 1.2 API, but the version reported by
+the apiVersion property of the VkPhysicalDeviceProperties struct
+depends on the particular driver being used.
+
+SHA256 checksum
+---------------
+
+::
+
+ TBD.
+
+
+New features
+------------
+
+- None
+
+
+Bug fixes
+---------
+
+- freedreno: deqp cts fails
+- radeonsi dEQP-GLES3.functional.buffer.map.write.explicit_flush.* flake crashes
+- Square Artifacts Dragons Dogma
+- radv: When using VS+PS only, primitive ID is mixed up after NGG culling
+- Redraw freeze after upgrade to Xwayland 21.1.3
+- anv doesn't always resolve aux buffers with private bindings on transition to external queue
+- [ANV] Rendering corruption in DOOM Eternal
+
+
+Changes
+-------
+
+Adam Jackson (1):
+
+- meson: Add "amber" option for automatic LTS build configuration
+
+Alyssa Rosenzweig (6):
+
+- panfrost: Fix FD resource_get_handle
+- panfrost: Handle NULL sampler views
+- panfrost: Handle NULL samplers
+- panfrost: Flush resources when shadowing
+- panfrost: Push twice as many uniforms
+- panfrost: Fix set_sampler_views for big GL
+
+Connor Abbott (4):
+
+- ir3: Don't always set bindless_tex with readonly images
+- ir3/nir: Fix 1d array readonly images
+- ir3/ra: Sanitize parallel copy flags better
+- util/bitset: Fix off-by-one in __bitset_set_range
+
+Danylo Piliaiev (1):
+
+- turnip: Use LATE_Z when there might be depth/stencil feedback loop
+
+Dave Airlie (5):
+
+- draw/so: don't use pre clip pos if we have a tes either.
+- crocus: change the line width workaround for gfx4/5
+- gallivm/nir: extract a valid texture index according to exec_mask.
+- zink: workaround depth texture mode alpha.
+- lavapipe: remove broken workaround for zink depth texturing.
+
+Eric Engestrom (14):
+
+- .pick_status.json: Update to 2106c3bab6bdea736c468fb1866fd0f372cc0baa
+- .pick_status.json: Mark 7ec0e2b89351e6e56cb112e00e6c68c6bbc6faea as denominated
+- .pick_status.json: Mark 0136545d169adb75e4f9f6b4de38eef0817c1241 as denominated
+- .pick_status.json: Mark 62b8daa889daefb2f191a63f370541bf2b807e88 as denominated
+- .pick_status.json: Mark 698ae34844b7199b8acc3b4d74a9cad3b903bdef as denominated
+- .pick_status.json: Mark 03a80490a47b0b616566c6f56581560694976b1a as denominated
+- .pick_status.json: Mark e1964e1dde7bf44ceeaf3fa8b3869e791af4a369 as denominated
+- .pick_status.json: Mark 3ef093f697ad9027ba514c7a4a6a10b7bd95bd47 as denominated
+- .pick_status.json: Mark 2d1b506acfe55165511a2bb83acb013353e531ab as denominated
+- .pick_status.json: Mark 204ea77b0674fb611155bd3ba2e6169cc8646b3f as denominated
+- .pick_status.json: Mark a5c7d34fdf8403b0115d5eead7ca67027e93efc7 as denominated
+- .pick_status.json: Mark 432700fc61a33e0c040d47d9b7bd8cfe970d35cc as denominated
+- .pick_status.json: Mark 4ed7329236a576b6b6f615787bb722b960f32c6b as denominated
+- .pick_status.json: Mark 3f7da0c58447979976eb2928625b1f93154f6c57 as denominated
+
+Erik Faye-Lund (2):
+
+- docs: remove incorrect drivers from extension
+- docs: fixup zink gl 4.3 requirements
+
+Icecream95 (6):
+
+- panfrost: Set PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
+- pan/bi: Check dependencies of both destinations of instructions
+- panfrost: Set dirty state in set_shader_buffers
+- panfrost: Re-emit descriptors after resource shadowing
+- pan/bi: Make disassembler build reproducibly
+- panfrost: Fix ubo_mask calculation
+
+Jason Ekstrand (2):
+
+- anv: Don't assume depth/stencil attachments have depth
+- lavapipe: Reset the free_cmd_buffers list in TrimCommandPool
+
+Jonathan Gray (6):
+
+- util: unbreak non-linux mips64 build
+- util: fix util_cpu_detect_once() build on OpenBSD
+- util/u_atomic: fix build on clang archs without 64-bit atomics
+- util: fix build with clang 10 on mips64
+- util: use correct type in sysctl argument
+- radv: use MAJOR_IN_SYSMACROS for sysmacros.h include
+
+Lionel Landwerlin (3):
+
+- anv: fix conditional render for vkCmdDrawIndirectByteCountEXT
+- anv: fix fast clear type value with external images
+- intel/fs: fix total_scratch computation
+
+Marek Olšák (2):
+
+- amd: add a workaround for an SQ perf counter bug
+- radeonsi: fix an assertion failure with register shadowing
+
+Mike Blumenkrantz (16):
+
+- gallivm: avoid division by zero when computing cube face
+- zink: always update shader variants when rebinding a gfx program
+- zink: use a fence for pipeline cache update jobs
+- zink: wait on program cache fences before destroying programs
+- zink: fix descriptor cache pointer array allocation
+- zink: mark fbfetch push sets as non-cached
+- zink: stop leaking descriptor sets
+- zink: invalidate non-punted recycled descriptor sets that are not valid
+- zink: fix 64bit float shader ops
+- llvmpipe: fix debug print iterating in set_framebuffer_state
+- llvmpipe: clamp surface clear geometry
+- lavapipe: update multisample state after blend state
+- aux/trace: rzalloc the context struct
+- zink: lower dmod on AMD hardware
+- lavapipe: skip format checks for EXTENDED_USAGE
+- lavapipe: run nir_opt_copy_prop_vars during optimization loop
+
+Paulo Zanoni (1):
+
+- iris: fix register spilling on compute shaders on XeHP
+
+Pierre-Eric Pelloux-Prayer (3):
+
+- radeonsi: change rounding mode to round to even
+- util/slab: add slab_zalloc
+- gallium/tc: zero alloc transfers
+
+Rhys Perry (2):
+
+- anv: Enable nir_opt_access
+- radv: include adjust_frag_coord_z in key
+
+Rob Clark (1):
+
+- mesa: Fix discard_framebuffer for fbo vs winsys
+
+Samuel Pitoiset (2):
+
+- radv,drirc: move RADV workarounds to 00-radv-defaults.conf
+- radv: disable DCC for Fable Anniversary, Dragons Dogma, GTA IV and more
+
+Timur Kristóf (1):
+
+- ac/nir/ngg: Fix mixed up primitive ID after culling.
+
+Xiaohui Gu (1):
+
+- iris: Mark a dirty update when vs_needs_sgvs_element value changed
diff --git a/lib/mesa/meson_options.txt b/lib/mesa/meson_options.txt
index 32c7593ee..688964659 100644
--- a/lib/mesa/meson_options.txt
+++ b/lib/mesa/meson_options.txt
@@ -302,8 +302,9 @@ option(
)
option(
'glvnd',
- type : 'boolean',
- value : false,
+ type : 'combo',
+ value : 'auto',
+ choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
description : 'Enable GLVND support.'
)
option(
@@ -321,7 +322,7 @@ option(
option(
'glvnd-vendor-name',
type : 'string',
- value : 'mesa',
+ value : 'auto',
description : 'Vendor name string to use for glvnd libraries'
)
option(
@@ -457,14 +458,16 @@ option(
)
option(
'prefer-iris',
- type : 'boolean',
- value : true,
+ type : 'combo',
+ value : 'auto',
+ choices : ['auto', 'true', 'false'],
description : 'Prefer new Intel iris driver over older i965 driver'
)
option(
'prefer-crocus',
- type : 'boolean',
- value : false,
+ type : 'combo',
+ value : 'auto',
+ choices : ['auto', 'true', 'false'],
description : 'Prefer new crocus driver over older i965 driver for gen4-7'
)
option('egl-lib-suffix',
@@ -530,3 +533,9 @@ option(
value : false,
description : 'Build gallium VMware/svga driver with mksGuestStats instrumentation.'
)
+option(
+ 'amber',
+ type : 'boolean',
+ value : false,
+ description : 'Configure LTS build to coexist with Mesa >= 22.0'
+)
diff --git a/lib/mesa/src/amd/common/ac_nir_lower_ngg.c b/lib/mesa/src/amd/common/ac_nir_lower_ngg.c
index 9bf628381..8836c91d6 100644
--- a/lib/mesa/src/amd/common/ac_nir_lower_ngg.c
+++ b/lib/mesa/src/amd/common/ac_nir_lower_ngg.c
@@ -45,6 +45,7 @@ typedef struct
nir_variable *prim_exp_arg_var;
nir_variable *es_accepted_var;
nir_variable *gs_accepted_var;
+ nir_variable *gs_vtx_indices_vars[3];
struct u_vector saved_uniforms;
@@ -317,11 +318,16 @@ emit_pack_ngg_prim_exp_arg(nir_builder *b, unsigned num_vertices_per_primitives,
return arg;
}
-static nir_ssa_def *
-ngg_input_primitive_vertex_index(nir_builder *b, unsigned vertex)
+static void
+ngg_nogs_init_vertex_indices_vars(nir_builder *b, nir_function_impl *impl, lower_ngg_nogs_state *st)
{
- return nir_ubfe(b, nir_build_load_gs_vertex_offset_amd(b, .base = vertex / 2u),
- nir_imm_int(b, (vertex & 1u) * 16u), nir_imm_int(b, 16u));
+ for (unsigned v = 0; v < st->num_vertices_per_primitives; ++v) {
+ st->gs_vtx_indices_vars[v] = nir_local_variable_create(impl, glsl_uint_type(), "gs_vtx_addr");
+
+ nir_ssa_def *vtx = nir_ubfe(b, nir_build_load_gs_vertex_offset_amd(b, .base = v / 2u),
+ nir_imm_int(b, (v & 1u) * 16u), nir_imm_int(b, 16u));
+ nir_store_var(b, st->gs_vtx_indices_vars[v], vtx, 0x1);
+ }
}
static nir_ssa_def *
@@ -333,13 +339,8 @@ emit_ngg_nogs_prim_exp_arg(nir_builder *b, lower_ngg_nogs_state *st)
} else {
nir_ssa_def *vtx_idx[3] = {0};
- vtx_idx[0] = ngg_input_primitive_vertex_index(b, 0);
- vtx_idx[1] = st->num_vertices_per_primitives >= 2
- ? ngg_input_primitive_vertex_index(b, 1)
- : nir_imm_zero(b, 1, 32);
- vtx_idx[2] = st->num_vertices_per_primitives >= 3
- ? ngg_input_primitive_vertex_index(b, 2)
- : nir_imm_zero(b, 1, 32);
+ for (unsigned v = 0; v < st->num_vertices_per_primitives; ++v)
+ vtx_idx[v] = nir_load_var(b, st->gs_vtx_indices_vars[v]);
return emit_pack_ngg_prim_exp_arg(b, st->num_vertices_per_primitives, vtx_idx, NULL, st->use_edgeflags);
}
@@ -358,12 +359,20 @@ emit_ngg_nogs_prim_export(nir_builder *b, lower_ngg_nogs_state *st, nir_ssa_def
arg = emit_ngg_nogs_prim_exp_arg(b, st);
if (st->export_prim_id && b->shader->info.stage == MESA_SHADER_VERTEX) {
- /* Copy Primitive IDs from GS threads to the LDS address corresponding to the ES thread of the provoking vertex. */
- nir_ssa_def *prim_id = nir_build_load_primitive_id(b);
- nir_ssa_def *provoking_vtx_idx = ngg_input_primitive_vertex_index(b, st->provoking_vtx_idx);
- nir_ssa_def *addr = pervertex_lds_addr(b, provoking_vtx_idx, 4u);
-
- nir_build_store_shared(b, prim_id, addr, .write_mask = 1u, .align_mul = 4u);
+ nir_ssa_def *prim_valid = nir_ieq_imm(b, nir_ushr_imm(b, arg, 31), 0);
+ nir_if *if_prim_valid = nir_push_if(b, prim_valid);
+ {
+ /* Copy Primitive IDs from GS threads to the LDS address
+ * corresponding to the ES thread of the provoking vertex.
+ * It will be exported as a per-vertex attribute.
+ */
+ nir_ssa_def *prim_id = nir_build_load_primitive_id(b);
+ nir_ssa_def *provoking_vtx_idx = nir_load_var(b, st->gs_vtx_indices_vars[st->provoking_vtx_idx]);
+ nir_ssa_def *addr = pervertex_lds_addr(b, provoking_vtx_idx, 4u);
+
+ nir_build_store_shared(b, prim_id, addr, .write_mask = 1u, .align_mul = 4u);
+ }
+ nir_pop_if(b, if_prim_valid);
}
nir_build_export_primitive_amd(b, arg);
@@ -747,6 +756,7 @@ compact_vertices_after_culling(nir_builder *b,
nir_ssa_def *vtx_addr = nir_load_var(b, gs_vtxaddr_vars[v]);
nir_ssa_def *exporter_vtx_idx = nir_build_load_shared(b, 1, 8, vtx_addr, .base = lds_es_exporter_tid, .align_mul = 1u);
exporter_vtx_indices[v] = nir_u2u32(b, exporter_vtx_idx);
+ nir_store_var(b, nogs_state->gs_vtx_indices_vars[v], exporter_vtx_indices[v], 0x1);
}
nir_ssa_def *prim_exp_arg = emit_pack_ngg_prim_exp_arg(b, 3, exporter_vtx_indices, NULL, nogs_state->use_edgeflags);
@@ -1142,7 +1152,7 @@ add_deferred_attribute_culling(nir_builder *b, nir_cf_list *original_extracted_c
/* Load vertex indices from input VGPRs */
nir_ssa_def *vtx_idx[3] = {0};
for (unsigned vertex = 0; vertex < 3; ++vertex)
- vtx_idx[vertex] = ngg_input_primitive_vertex_index(b, vertex);
+ vtx_idx[vertex] = nir_load_var(b, nogs_state->gs_vtx_indices_vars[vertex]);
nir_ssa_def *vtx_addr[3] = {0};
nir_ssa_def *pos[3][4] = {0};
@@ -1320,6 +1330,8 @@ ac_nir_lower_ngg_nogs(nir_shader *shader,
nir_cf_extract(&extracted, nir_before_cf_list(&impl->body), nir_after_cf_list(&impl->body));
b->cursor = nir_before_cf_list(&impl->body);
+ ngg_nogs_init_vertex_indices_vars(b, impl, &state);
+
if (!can_cull) {
/* Allocate export space on wave 0 - confirm to the HW that we want to use all possible space */
nir_if *if_wave_0 = nir_push_if(b, nir_ieq(b, nir_build_load_subgroup_id(b), nir_imm_int(b, 0)));
diff --git a/lib/mesa/src/amd/vulkan/00-radv-defaults.conf b/lib/mesa/src/amd/vulkan/00-radv-defaults.conf
new file mode 100644
index 000000000..4cf35218d
--- /dev/null
+++ b/lib/mesa/src/amd/vulkan/00-radv-defaults.conf
@@ -0,0 +1,148 @@
+<?xml version="1.0" standalone="yes"?>
+<!--
+
+============================================
+Application bugs worked around in this file:
+============================================
+
+-->
+
+<!DOCTYPE driconf [
+ <!ELEMENT driconf (device+)>
+ <!ELEMENT device (application | engine)+>
+ <!ATTLIST device driver CDATA #IMPLIED
+ device CDATA #IMPLIED>
+ <!ELEMENT application (option+)>
+ <!ATTLIST application name CDATA #REQUIRED
+ executable CDATA #IMPLIED
+ executable_regexp CDATA #IMPLIED
+ sha1 CDATA #IMPLIED
+ application_name_match CDATA #IMPLIED
+ application_versions CDATA #IMPLIED>
+ <!ELEMENT engine (option+)>
+
+ <!-- engine_name_match: A regexp matching the engine name -->
+ <!-- engine_versions: A version in range format
+ (version 1 to 4 : "1:4") -->
+
+ <!ATTLIST engine engine_name_match CDATA #REQUIRED
+ engine_versions CDATA #IMPLIED>
+
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option name CDATA #REQUIRED
+ value CDATA #REQUIRED>
+]>
+
+<driconf>
+ <device driver="radv">
+ <!-- Engine workarounds -->
+ <engine engine_name_match="vkd3d">
+ <option name="radv_zero_vram" value="true" />
+ </engine>
+
+ <engine engine_name_match="Quantic Dream Engine">
+ <option name="radv_zero_vram" value="true" />
+ <option name="radv_lower_discard_to_demote" value="true" />
+ <option name="radv_disable_tc_compat_htile_general" value="true" />
+ </engine>
+
+ <!-- Game workarounds -->
+ <application name="Shadow Of The Tomb Raider (Native)" application_name_match="ShadowOfTheTomb">
+ <option name="radv_report_llvm9_version_string" value="true" />
+ <option name="radv_invariant_geom" value="true" />
+ </application>
+
+ <application name="Shadow Of The Tomb Raider (DX11/DX12)" application_name_match="SOTTR.exe">
+ <option name="radv_invariant_geom" value="true" />
+ <option name="radv_split_fma" value="true" />
+ </application>
+
+ <application name="RAGE 2" executable="RAGE2.exe">
+ <option name="radv_enable_mrt_output_nan_fixup" value="true" />
+ </application>
+
+ <application name="Path of Exile (64-bit, Steam)" executable="PathOfExile_x64Steam.exe">
+ <option name="radv_no_dynamic_bounds" value="true" />
+ <option name="radv_absolute_depth_bias" value="true" />
+ </application>
+ <application name="Path of Exile (32-bit, Steam)" executable="PathOfExileSteam.exe">
+ <option name="radv_no_dynamic_bounds" value="true" />
+ <option name="radv_absolute_depth_bias" value="true" />
+ </application>
+ <application name="Path of Exile (64-bit)" executable="PathOfExile_x64.exe">
+ <option name="radv_no_dynamic_bounds" value="true" />
+ <option name="radv_absolute_depth_bias" value="true" />
+ </application>
+ <application name="Path of Exile (32-bit)" executable="PathOfExile.exe">
+ <option name="radv_no_dynamic_bounds" value="true" />
+ <option name="radv_absolute_depth_bias" value="true" />
+ </application>
+
+ <application name="The Surge 2" application_name_match="Fledge">
+ <option name="radv_disable_shrink_image_store" value="true" />
+ <option name="radv_zero_vram" value="true" />
+ </application>
+
+ <application name="World War Z (and World War Z: Aftermath)" application_name_match="WWZ|wwz">
+ <option name="radv_override_uniform_offset_alignment" value="16" />
+ <option name="radv_disable_shrink_image_store" value="true" />
+ <option name="radv_invariant_geom" value="true" />
+ </application>
+
+ <application name="DOOM VFR" application_name_match="DOOM_VFR">
+ <option name="radv_no_dynamic_bounds" value="true" />
+ </application>
+
+ <application name="DOOM Eternal" application_name_match="DOOMEternal">
+ <option name="radv_zero_vram" value="true" />
+ </application>
+
+ <application name="No Man's Sky" application_name_match="No Man's Sky">
+ <option name="radv_lower_discard_to_demote" value="true" />
+ </application>
+
+ <application name="Monster Hunter World" application_name_match="MonsterHunterWorld.exe">
+ <option name="radv_invariant_geom" value="true" />
+ </application>
+
+ <application name="DOOM (2016)" application_name_match="DOOM$">
+ <option name="radv_disable_dcc" value="true" />
+ </application>
+
+ <application name="Wolfenstein II" application_name_match="Wolfenstein II The New Colossus">
+ <option name="radv_disable_dcc" value="true" />
+ </application>
+
+ <application name="RDR2" application_name_match="Red Dead Redemption 2">
+ <option name="radv_report_apu_as_dgpu" value="true" />
+ </application>
+
+ <application name="Resident Evil Village" application_name_match="re8.exe">
+ <option name="radv_invariant_geom" value="true" />
+ </application>
+
+ <application name="F1 2021" application_name_match="F1_2021_dx12.exe">
+ <option name="radv_disable_htile_layers" value="true" />
+ </application>
+
+ <application name="Fable Anniversary" application_name_match="Fable Anniversary.exe">
+ <option name="radv_disable_dcc" value="true" />
+ </application>
+
+ <application name="Dragon's Dogma Dark Ariser" application_name_match="DDDA.exe">
+ <option name="radv_disable_dcc" value="true" />
+ </application>
+
+ <application name="Grand Theft Auto IV" application_name_match="GTAIV.exe">
+ <option name="radv_disable_dcc" value="true" />
+ </application>
+
+ <application name="Star Wars: The Force Unleashed II" application_name_match="SWTFU2.exe">
+ <option name="radv_disable_dcc" value="true" />
+ </application>
+
+ <application name="Starcraft 2" application_name_match="SC2_x64.exe">
+ <option name="radv_disable_dcc" value="true" />
+ </application>
+ </device>
+</driconf>
diff --git a/lib/mesa/src/amd/vulkan/meson.build b/lib/mesa/src/amd/vulkan/meson.build
index 186f19606..942cb7114 100644
--- a/lib/mesa/src/amd/vulkan/meson.build
+++ b/lib/mesa/src/amd/vulkan/meson.build
@@ -87,6 +87,10 @@ libradv_files = files(
'vk_format.h',
)
+files_drirc = files('00-radv-defaults.conf')
+
+install_data(files_drirc, install_dir : join_paths(get_option('datadir'), 'drirc.d'))
+
if not with_platform_windows
libradv_files += files(
'winsys/amdgpu/radv_amdgpu_bo.c',
diff --git a/lib/mesa/src/amd/vulkan/radv_shader.h b/lib/mesa/src/amd/vulkan/radv_shader.h
index 9cabbfc21..29c1b3b00 100644
--- a/lib/mesa/src/amd/vulkan/radv_shader.h
+++ b/lib/mesa/src/amd/vulkan/radv_shader.h
@@ -60,6 +60,7 @@ struct radv_pipeline_key {
uint32_t optimisations_disabled : 1;
uint32_t invariant_geom : 1;
uint32_t use_ngg : 1;
+ uint32_t adjust_frag_coord_z : 1;
struct {
uint32_t instance_rate_inputs;
diff --git a/lib/mesa/src/egl/main/egldefines.h b/lib/mesa/src/egl/main/egldefines.h
index c925e0ca5..791f44354 100644
--- a/lib/mesa/src/egl/main/egldefines.h
+++ b/lib/mesa/src/egl/main/egldefines.h
@@ -46,7 +46,11 @@ extern "C" {
#define _EGL_MAX_PBUFFER_WIDTH 4096
#define _EGL_MAX_PBUFFER_HEIGHT 4096
+#ifdef AMBER
+#define _EGL_VENDOR_STRING "Mesa Project (Amber)"
+#else
#define _EGL_VENDOR_STRING "Mesa Project"
+#endif
#ifdef __cplusplus
}
diff --git a/lib/mesa/src/egl/meson.build b/lib/mesa/src/egl/meson.build
index 65faf6077..b6f7d1cf3 100644
--- a/lib/mesa/src/egl/meson.build
+++ b/lib/mesa/src/egl/meson.build
@@ -165,7 +165,7 @@ else
files_egl += [g_egldispatchstubs_h, g_egldispatchstubs_c]
files_egl += files('main/eglglvnd.c', 'main/egldispatchstubs.c')
glvnd_config = configuration_data()
- glvnd_config.set('glvnd_vendor_name', get_option('glvnd-vendor-name'))
+ glvnd_config.set('glvnd_vendor_name', glvnd_vendor_name)
configure_file(
configuration: glvnd_config,
input : 'main/50_mesa.json',
diff --git a/lib/mesa/src/freedreno/ci/freedreno-a630-fails.txt b/lib/mesa/src/freedreno/ci/freedreno-a630-fails.txt
index 43aa7b469..cdcb762dd 100644
--- a/lib/mesa/src/freedreno/ci/freedreno-a630-fails.txt
+++ b/lib/mesa/src/freedreno/ci/freedreno-a630-fails.txt
@@ -262,8 +262,6 @@ spec@arb_texture_rg@texwrap formats-int bordercolor-swizzled@GL_RG32UI- swizzled
spec@arb_texture_rg@texwrap formats-int bordercolor-swizzled@GL_RG8I- swizzled- border color only,Fail
spec@arb_texture_rg@texwrap formats-int bordercolor-swizzled@GL_RG8UI- swizzled- border color only,Fail
-spec@arb_texture_view@rendering-layers-image,Fail
-spec@arb_texture_view@rendering-layers-image@layers rendering of image1DArray,Fail
spec@arb_timer_query@timestamp-get,Fail
spec@arb_transform_feedback3@arb_transform_feedback3-ext_interleaved_two_bufs_vs,Fail
spec@arb_transform_feedback3@gl_skipcomponents1-1,Fail
diff --git a/lib/mesa/src/freedreno/ir3/ir3_compiler_nir.c b/lib/mesa/src/freedreno/ir3/ir3_compiler_nir.c
index 62c6e8494..9451b7789 100644
--- a/lib/mesa/src/freedreno/ir3/ir3_compiler_nir.c
+++ b/lib/mesa/src/freedreno/ir3/ir3_compiler_nir.c
@@ -1130,10 +1130,10 @@ get_image_samp_tex_src(struct ir3_context *ctx, nir_intrinsic_instr *intr)
struct ir3_block *b = ctx->block;
struct tex_src_info info = {0};
nir_intrinsic_instr *bindless_tex = ir3_bindless_resource(intr->src[0]);
- ctx->so->bindless_tex = true;
if (bindless_tex) {
/* Bindless case */
+ ctx->so->bindless_tex = true;
info.flags |= IR3_INSTR_B;
/* Gather information required to determine which encoding to
@@ -1235,11 +1235,20 @@ emit_intrinsic_load_image(struct ir3_context *ctx, nir_intrinsic_instr *intr,
}
info.flags |= flags;
- for (unsigned i = 0; i < ncoords; i++)
- coords[i] = src0[i];
-
- if (ncoords == 1)
- coords[ncoords++] = create_immed(b, 0);
+ /* hw doesn't do 1d, so we treat it as 2d with height of 1, and patch up the
+ * y coord. Note that the array index must come after the fake y coord.
+ */
+ enum glsl_sampler_dim dim = nir_intrinsic_image_dim(intr);
+ if (dim == GLSL_SAMPLER_DIM_1D || dim == GLSL_SAMPLER_DIM_BUF) {
+ coords[0] = src0[0];
+ coords[1] = create_immed(b, 0);
+ for (unsigned i = 1; i < ncoords; i++)
+ coords[i + 1] = src0[i];
+ ncoords++;
+ } else {
+ for (unsigned i = 0; i < ncoords; i++)
+ coords[i] = src0[i];
+ }
sam = emit_sam(ctx, OPC_ISAM, info, type, 0b1111,
ir3_create_collect(b, coords, ncoords), NULL);
diff --git a/lib/mesa/src/freedreno/ir3/ir3_ra.c b/lib/mesa/src/freedreno/ir3/ir3_ra.c
index 0c8ece6f0..813d0affc 100644
--- a/lib/mesa/src/freedreno/ir3/ir3_ra.c
+++ b/lib/mesa/src/freedreno/ir3/ir3_ra.c
@@ -1328,7 +1328,8 @@ insert_parallel_copy_instr(struct ra_ctx *ctx, struct ir3_instruction *instr)
struct ra_parallel_copy *entry = &ctx->parallel_copies[i];
struct ir3_register *reg =
ir3_dst_create(pcopy, INVALID_REG,
- entry->interval->interval.reg->flags & ~IR3_REG_SSA);
+ entry->interval->interval.reg->flags &
+ (IR3_REG_HALF | IR3_REG_ARRAY));
reg->size = entry->interval->interval.reg->size;
reg->wrmask = entry->interval->interval.reg->wrmask;
assign_reg(pcopy, reg, ra_interval_get_num(entry->interval));
@@ -1338,7 +1339,8 @@ insert_parallel_copy_instr(struct ra_ctx *ctx, struct ir3_instruction *instr)
struct ra_parallel_copy *entry = &ctx->parallel_copies[i];
struct ir3_register *reg =
ir3_src_create(pcopy, INVALID_REG,
- entry->interval->interval.reg->flags & ~IR3_REG_SSA);
+ entry->interval->interval.reg->flags &
+ (IR3_REG_HALF | IR3_REG_ARRAY));
reg->size = entry->interval->interval.reg->size;
reg->wrmask = entry->interval->interval.reg->wrmask;
assign_reg(pcopy, reg, ra_physreg_to_num(entry->src, reg->flags));
@@ -1774,8 +1776,9 @@ insert_liveout_copy(struct ir3_block *block, physreg_t dst, physreg_t src,
pcopy->dsts[pcopy->dsts_count++] = old_pcopy->dsts[i];
}
- struct ir3_register *dst_reg =
- ir3_dst_create(pcopy, INVALID_REG, reg->flags & ~IR3_REG_SSA);
+ unsigned flags = reg->flags & (IR3_REG_HALF | IR3_REG_ARRAY);
+
+ struct ir3_register *dst_reg = ir3_dst_create(pcopy, INVALID_REG, flags);
dst_reg->wrmask = reg->wrmask;
dst_reg->size = reg->size;
assign_reg(pcopy, dst_reg, ra_physreg_to_num(dst, reg->flags));
@@ -1784,8 +1787,7 @@ insert_liveout_copy(struct ir3_block *block, physreg_t dst, physreg_t src,
pcopy->srcs[pcopy->srcs_count++] = old_pcopy->srcs[i];
}
- struct ir3_register *src_reg =
- ir3_src_create(pcopy, INVALID_REG, reg->flags & ~IR3_REG_SSA);
+ struct ir3_register *src_reg = ir3_src_create(pcopy, INVALID_REG, flags);
src_reg->wrmask = reg->wrmask;
src_reg->size = reg->size;
assign_reg(pcopy, src_reg, ra_physreg_to_num(src, reg->flags));
diff --git a/lib/mesa/src/freedreno/vulkan/tu_cmd_buffer.c b/lib/mesa/src/freedreno/vulkan/tu_cmd_buffer.c
index 0d9ab2328..81fee2edf 100644
--- a/lib/mesa/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/lib/mesa/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -293,7 +293,7 @@ tu6_emit_mrt(struct tu_cmd_buffer *cmd,
* setting the SINGLE_PRIM_MODE field to the same value that the blob does
* for advanced_blend in sysmem mode if a feedback loop is detected.
*/
- if (subpass->feedback) {
+ if (subpass->feedback_loop_color || subpass->feedback_loop_ds) {
tu_cond_exec_start(cs, CP_COND_EXEC_0_RENDER_MODE_SYSMEM);
tu_cs_emit_write_reg(cs, REG_A6XX_GRAS_SC_CNTL,
A6XX_GRAS_SC_CNTL_CCUSINGLECACHELINESIZE(2) |
@@ -3831,7 +3831,8 @@ tu6_build_depth_plane_z_mode(struct tu_cmd_buffer *cmd)
bool depth_write = tu6_writes_depth(cmd, depth_test_enable);
bool stencil_write = tu6_writes_stencil(cmd);
- if (cmd->state.pipeline->lrz.fs_has_kill &&
+ if ((cmd->state.pipeline->lrz.fs_has_kill ||
+ cmd->state.pipeline->subpass_feedback_loop_ds) &&
(depth_write || stencil_write)) {
zmode = cmd->state.lrz.valid ? A6XX_EARLY_LRZ_LATE_Z : A6XX_LATE_Z;
}
diff --git a/lib/mesa/src/freedreno/vulkan/tu_pass.c b/lib/mesa/src/freedreno/vulkan/tu_pass.c
index d7bb48374..ed4f816c2 100644
--- a/lib/mesa/src/freedreno/vulkan/tu_pass.c
+++ b/lib/mesa/src/freedreno/vulkan/tu_pass.c
@@ -448,7 +448,7 @@ tu_render_pass_check_feedback_loop(struct tu_render_pass *pass)
continue;
for (unsigned k = 0; k < subpass->input_count; k++) {
if (subpass->input_attachments[k].attachment == a) {
- subpass->feedback = true;
+ subpass->feedback_loop_color = true;
break;
}
}
@@ -458,7 +458,7 @@ tu_render_pass_check_feedback_loop(struct tu_render_pass *pass)
for (unsigned k = 0; k < subpass->input_count; k++) {
if (subpass->input_attachments[k].attachment ==
subpass->depth_stencil_attachment.attachment) {
- subpass->feedback = true;
+ subpass->feedback_loop_ds = true;
break;
}
}
diff --git a/lib/mesa/src/freedreno/vulkan/tu_pipeline.c b/lib/mesa/src/freedreno/vulkan/tu_pipeline.c
index a4a9f9202..d55fcfb51 100644
--- a/lib/mesa/src/freedreno/vulkan/tu_pipeline.c
+++ b/lib/mesa/src/freedreno/vulkan/tu_pipeline.c
@@ -273,6 +273,8 @@ struct tu_pipeline_builder
VkFormat depth_attachment_format;
uint32_t render_components;
uint32_t multiview_mask;
+
+ bool subpass_feedback_loop_ds;
};
static bool
@@ -3077,6 +3079,7 @@ tu_pipeline_builder_build(struct tu_pipeline_builder *builder,
return VK_ERROR_OUT_OF_HOST_MEMORY;
(*pipeline)->layout = builder->layout;
+ (*pipeline)->subpass_feedback_loop_ds = builder->subpass_feedback_loop_ds;
(*pipeline)->executables_mem_ctx = ralloc_context(NULL);
util_dynarray_init(&(*pipeline)->executables, (*pipeline)->executables_mem_ctx);
@@ -3190,6 +3193,8 @@ tu_pipeline_builder_init_graphics(
const struct tu_subpass *subpass =
&pass->subpasses[create_info->subpass];
+ builder->subpass_feedback_loop_ds = subpass->feedback_loop_ds;
+
builder->multiview_mask = subpass->multiview_mask;
builder->rasterizer_discard =
diff --git a/lib/mesa/src/freedreno/vulkan/tu_private.h b/lib/mesa/src/freedreno/vulkan/tu_private.h
index cd45a6bc9..20f47d36e 100644
--- a/lib/mesa/src/freedreno/vulkan/tu_private.h
+++ b/lib/mesa/src/freedreno/vulkan/tu_private.h
@@ -1262,6 +1262,8 @@ struct tu_pipeline
struct tu_lrz_pipeline lrz;
+ bool subpass_feedback_loop_ds;
+
void *executables_mem_ctx;
/* tu_pipeline_executable */
struct util_dynarray executables;
@@ -1610,8 +1612,8 @@ struct tu_subpass
uint32_t resolve_count;
bool resolve_depth_stencil;
- /* True if there is any feedback loop at all. */
- bool feedback;
+ bool feedback_loop_color;
+ bool feedback_loop_ds;
/* True if we must invalidate UCHE thanks to a feedback loop. */
bool feedback_invalidate;
diff --git a/lib/mesa/src/gallium/auxiliary/driver_trace/tr_context.c b/lib/mesa/src/gallium/auxiliary/driver_trace/tr_context.c
index 7e28a4028..b3a367a5e 100644
--- a/lib/mesa/src/gallium/auxiliary/driver_trace/tr_context.c
+++ b/lib/mesa/src/gallium/auxiliary/driver_trace/tr_context.c
@@ -2191,7 +2191,7 @@ trace_context_create(struct trace_screen *tr_scr,
if (!trace_enabled())
goto error1;
- tr_ctx = ralloc(NULL, struct trace_context);
+ tr_ctx = rzalloc(NULL, struct trace_context);
if (!tr_ctx)
goto error1;
diff --git a/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
index b771b7cc7..daed647ba 100644
--- a/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
+++ b/lib/mesa/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
@@ -1438,6 +1438,7 @@ static void emit_tex(struct lp_build_nir_context *bld_base,
{
struct lp_build_nir_soa_context *bld = (struct lp_build_nir_soa_context *)bld_base;
struct gallivm_state *gallivm = bld_base->base.gallivm;
+ LLVMBuilderRef builder = bld_base->base.gallivm->builder;
params->type = bld_base->base.type;
params->context_ptr = bld->context_ptr;
@@ -1491,10 +1492,25 @@ static void emit_tex(struct lp_build_nir_context *bld_base,
return;
}
- if (params->texture_index_offset)
- params->texture_index_offset = LLVMBuildExtractElement(bld_base->base.gallivm->builder,
- params->texture_index_offset,
- lp_build_const_int32(bld_base->base.gallivm, 0), "");
+ if (params->texture_index_offset) {
+ struct lp_build_loop_state loop_state;
+ LLVMValueRef exec_mask = mask_vec(bld_base);
+ LLVMValueRef outer_cond = LLVMBuildICmp(builder, LLVMIntNE, exec_mask, bld_base->uint_bld.zero, "");
+ LLVMValueRef res_store = lp_build_alloca(gallivm, bld_base->uint_bld.elem_type, "");
+ lp_build_loop_begin(&loop_state, gallivm, lp_build_const_int32(gallivm, 0));
+ LLVMValueRef if_cond = LLVMBuildExtractElement(gallivm->builder, outer_cond, loop_state.counter, "");
+
+ struct lp_build_if_state ifthen;
+ lp_build_if(&ifthen, gallivm, if_cond);
+ LLVMValueRef value_ptr = LLVMBuildExtractElement(gallivm->builder, params->texture_index_offset,
+ loop_state.counter, "");
+ LLVMBuildStore(builder, value_ptr, res_store);
+ lp_build_endif(&ifthen);
+ lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, bld_base->uint_bld.type.length),
+ NULL, LLVMIntUGE);
+ LLVMValueRef idx_val = LLVMBuildLoad(builder, res_store, "");
+ params->texture_index_offset = idx_val;
+ }
params->type = bld_base->base.type;
bld->sampler->emit_tex_sample(bld->sampler,
diff --git a/lib/mesa/src/gallium/drivers/crocus/crocus_state.c b/lib/mesa/src/gallium/drivers/crocus/crocus_state.c
index 4c3574216..61820ed22 100644
--- a/lib/mesa/src/gallium/drivers/crocus/crocus_state.c
+++ b/lib/mesa/src/gallium/drivers/crocus/crocus_state.c
@@ -1983,9 +1983,9 @@ get_line_width(const struct pipe_rasterizer_state *state)
* "Grid Intersection Quantization" rules as specified by the
* "Zero-Width (Cosmetic) Line Rasterization" section of the docs.
*/
- line_width = 0.0f;
+ /* hack around this for gfx4/5 fps counters in hud. */
+ line_width = GFX_VER < 6 ? 1.5f : 0.0f;
}
-
return line_width;
}
diff --git a/lib/mesa/src/gallium/drivers/iris/iris_program.c b/lib/mesa/src/gallium/drivers/iris/iris_program.c
index a5e1dc137..973999bcc 100644
--- a/lib/mesa/src/gallium/drivers/iris/iris_program.c
+++ b/lib/mesa/src/gallium/drivers/iris/iris_program.c
@@ -2820,7 +2820,8 @@ iris_bind_vs_state(struct pipe_context *ctx, void *state)
if (ice->state.vs_uses_draw_params != uses_draw_params ||
ice->state.vs_uses_derived_draw_params != uses_derived_draw_params ||
- ice->state.vs_needs_edge_flag != info->vs.needs_edge_flag) {
+ ice->state.vs_needs_edge_flag != info->vs.needs_edge_flag ||
+ ice->state.vs_needs_sgvs_element != needs_sgvs_element) {
ice->state.dirty |= IRIS_DIRTY_VERTEX_BUFFERS |
IRIS_DIRTY_VERTEX_ELEMENTS;
}
diff --git a/lib/mesa/src/gallium/drivers/iris/iris_state.c b/lib/mesa/src/gallium/drivers/iris/iris_state.c
index 40dc2d062..de553f320 100644
--- a/lib/mesa/src/gallium/drivers/iris/iris_state.c
+++ b/lib/mesa/src/gallium/drivers/iris/iris_state.c
@@ -6922,10 +6922,9 @@ iris_upload_compute_walker(struct iris_context *ice,
iris_emit_cmd(batch, GENX(CFE_STATE), cfe) {
cfe.MaximumNumberofThreads =
devinfo->max_cs_threads * devinfo->subslice_total - 1;
- if (prog_data->total_scratch > 0) {
- cfe.ScratchSpaceBuffer =
- iris_get_scratch_surf(ice, prog_data->total_scratch)->offset >> 4;
- }
+ uint32_t scratch_addr = pin_scratch_space(ice, batch, prog_data,
+ MESA_SHADER_COMPUTE);
+ cfe.ScratchSpaceBuffer = scratch_addr >> 4;
}
}
diff --git a/lib/mesa/src/gallium/drivers/llvmpipe/lp_state_surface.c b/lib/mesa/src/gallium/drivers/llvmpipe/lp_state_surface.c
index 9c698383e..58aea7bed 100644
--- a/lib/mesa/src/gallium/drivers/llvmpipe/lp_state_surface.c
+++ b/lib/mesa/src/gallium/drivers/llvmpipe/lp_state_surface.c
@@ -67,13 +67,13 @@ llvmpipe_set_framebuffer_state(struct pipe_context *pipe,
const struct util_format_description *depth_desc =
util_format_description(depth_format);
- if (lp->framebuffer.zsbuf && lp->framebuffer.zsbuf->context != pipe) {
+ if (fb->zsbuf && fb->zsbuf->context != pipe) {
debug_printf("Illegal setting of fb state with zsbuf created in "
"another context\n");
}
for (i = 0; i < fb->nr_cbufs; i++) {
- if (lp->framebuffer.cbufs[i] &&
- lp->framebuffer.cbufs[i]->context != pipe) {
+ if (fb->cbufs[i] &&
+ fb->cbufs[i]->context != pipe) {
debug_printf("Illegal setting of fb state with cbuf %d created in "
"another context\n", i);
}
diff --git a/lib/mesa/src/gallium/drivers/panfrost/pan_context.c b/lib/mesa/src/gallium/drivers/panfrost/pan_context.c
index 69bbc43f8..81722f05c 100644
--- a/lib/mesa/src/gallium/drivers/panfrost/pan_context.c
+++ b/lib/mesa/src/gallium/drivers/panfrost/pan_context.c
@@ -628,32 +628,35 @@ panfrost_set_sampler_views(
struct panfrost_context *ctx = pan_context(pctx);
ctx->dirty_shader[shader] |= PAN_DIRTY_STAGE_TEXTURE;
- unsigned new_nr = 0;
unsigned i;
- assert(start_slot == 0);
-
- if (!views)
- num_views = 0;
-
for (i = 0; i < num_views; ++i) {
- if (views[i])
- new_nr = i + 1;
+ struct pipe_sampler_view *view = views ? views[i] : NULL;
+ unsigned p = i + start_slot;
+
if (take_ownership) {
- pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][i],
+ pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][p],
NULL);
- ctx->sampler_views[shader][i] = (struct panfrost_sampler_view *)views[i];
+ ctx->sampler_views[shader][i] = (struct panfrost_sampler_view *)view;
} else {
- pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][i],
- views[i]);
+ pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][p],
+ view);
}
}
- for (; i < ctx->sampler_view_count[shader]; i++) {
- pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][i],
+ for (; i < num_views + unbind_num_trailing_slots; i++) {
+ unsigned p = i + start_slot;
+ pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][p],
NULL);
}
- ctx->sampler_view_count[shader] = new_nr;
+
+ /* Recalculate sampler view count */
+ ctx->sampler_view_count[shader] = 0;
+
+ for (i = 0; i < ARRAY_SIZE(ctx->sampler_views[shader]); ++i) {
+ if (ctx->sampler_views[shader][i])
+ ctx->sampler_view_count[shader] = i + 1;
+ }
}
static void
@@ -668,6 +671,8 @@ panfrost_set_shader_buffers(
util_set_shader_buffers_mask(ctx->ssbo[shader], &ctx->ssbo_mask[shader],
buffers, start, count);
+
+ ctx->dirty_shader[shader] |= PAN_DIRTY_STAGE_SSBO;
}
static void
diff --git a/lib/mesa/src/gallium/drivers/panfrost/pan_resource.c b/lib/mesa/src/gallium/drivers/panfrost/pan_resource.c
index 5cf783945..f12f1c19c 100644
--- a/lib/mesa/src/gallium/drivers/panfrost/pan_resource.c
+++ b/lib/mesa/src/gallium/drivers/panfrost/pan_resource.c
@@ -153,31 +153,15 @@ panfrost_resource_get_handle(struct pipe_screen *pscreen,
return true;
}
} else if (handle->type == WINSYS_HANDLE_TYPE_FD) {
- if (scanout) {
- struct drm_prime_handle args = {
- .handle = scanout->handle,
- .flags = DRM_CLOEXEC,
- };
+ int fd = panfrost_bo_export(rsrc->image.data.bo);
- int ret = drmIoctl(dev->ro->kms_fd, DRM_IOCTL_PRIME_HANDLE_TO_FD, &args);
- if (ret == -1)
- return false;
-
- handle->stride = scanout->stride;
- handle->handle = args.fd;
-
- return true;
- } else {
- int fd = panfrost_bo_export(rsrc->image.data.bo);
-
- if (fd < 0)
- return false;
+ if (fd < 0)
+ return false;
- handle->handle = fd;
- handle->stride = rsrc->image.layout.slices[0].line_stride;
- handle->offset = rsrc->image.layout.slices[0].offset;
- return true;
- }
+ handle->handle = fd;
+ handle->stride = rsrc->image.layout.slices[0].line_stride;
+ handle->offset = rsrc->image.layout.slices[0].offset;
+ return true;
}
return false;
@@ -917,6 +901,9 @@ panfrost_ptr_map(struct pipe_context *pctx,
}
if (create_new_bo) {
+ /* Make sure we re-emit any descriptors using this resource */
+ panfrost_dirty_state_all(ctx);
+
/* If the BO is used by one of the pending batches or if it's
* not ready yet (still accessed by one of the already flushed
* batches), we try to allocate a new one to avoid waiting.
@@ -943,6 +930,12 @@ panfrost_ptr_map(struct pipe_context *pctx,
panfrost_bo_unreference(bo);
rsrc->image.data.bo = newbo;
+ /* Swapping out the BO will invalidate batches
+ * accessing this resource, flush them but do
+ * not wait for them.
+ */
+ panfrost_flush_batches_accessing_rsrc(ctx, rsrc, "Resource shadowing");
+
if (!copy_resource &&
drm_is_afbc(rsrc->image.layout.modifier))
panfrost_resource_init_afbc_headers(rsrc);
diff --git a/lib/mesa/src/gallium/drivers/panfrost/pan_screen.c b/lib/mesa/src/gallium/drivers/panfrost/pan_screen.c
index 3633ad366..8d39cac21 100644
--- a/lib/mesa/src/gallium/drivers/panfrost/pan_screen.c
+++ b/lib/mesa/src/gallium/drivers/panfrost/pan_screen.c
@@ -121,6 +121,7 @@ panfrost_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_SAMPLE_SHADING:
case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES:
case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT:
+ case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
return 1;
case PIPE_CAP_MAX_RENDER_TARGETS:
diff --git a/lib/mesa/src/gallium/drivers/radeonsi/ci/navi10-piglit-quick-fail.csv b/lib/mesa/src/gallium/drivers/radeonsi/ci/navi10-piglit-quick-fail.csv
index b937a49fa..d560732b6 100644
--- a/lib/mesa/src/gallium/drivers/radeonsi/ci/navi10-piglit-quick-fail.csv
+++ b/lib/mesa/src/gallium/drivers/radeonsi/ci/navi10-piglit-quick-fail.csv
@@ -115,10 +115,6 @@ spec@egl_chromium_sync_control@conformance,Fail
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test,Fail
spec@egl_ext_protected_content@conformance,Fail
spec@ext_framebuffer_blit@fbo-blit-check-limits,Fail
-spec@ext_framebuffer_multisample@turn-on-off 2,Fail
-spec@ext_framebuffer_multisample@turn-on-off 4,Fail
-spec@ext_framebuffer_multisample@turn-on-off 6,Fail
-spec@ext_framebuffer_multisample@turn-on-off 8,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_yuyv,Fail
spec@ext_texture_integer@fbo-integer,Fail
diff --git a/lib/mesa/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt b/lib/mesa/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt
index f56ce121a..6311e2f78 100644
--- a/lib/mesa/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt
+++ b/lib/mesa/src/gallium/drivers/radeonsi/ci/radeonsi-stoney-fails.txt
@@ -54,10 +54,6 @@ spec@egl_ext_protected_content@conformance,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@turn-on-off 2,Fail
-spec@ext_framebuffer_multisample@turn-on-off 4,Fail
-spec@ext_framebuffer_multisample@turn-on-off 6,Fail
-spec@ext_framebuffer_multisample@turn-on-off 8,Fail
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_y216,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_uyvy,Fail
diff --git a/lib/mesa/src/gallium/drivers/radeonsi/ci/raven-piglit-quick-fail.csv b/lib/mesa/src/gallium/drivers/radeonsi/ci/raven-piglit-quick-fail.csv
index fe4bde09b..03d97002b 100644
--- a/lib/mesa/src/gallium/drivers/radeonsi/ci/raven-piglit-quick-fail.csv
+++ b/lib/mesa/src/gallium/drivers/radeonsi/ci/raven-piglit-quick-fail.csv
@@ -201,10 +201,6 @@ spec@egl_chromium_sync_control@conformance,Fail
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test,Fail
spec@egl_ext_protected_content@conformance,Fail
spec@ext_framebuffer_blit@fbo-blit-check-limits,Fail
-spec@ext_framebuffer_multisample@turn-on-off 2,Fail
-spec@ext_framebuffer_multisample@turn-on-off 4,Fail
-spec@ext_framebuffer_multisample@turn-on-off 6,Fail
-spec@ext_framebuffer_multisample@turn-on-off 8,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_yuyv,Fail
spec@ext_texture_integer@fbo-integer,Fail
diff --git a/lib/mesa/src/gallium/drivers/radeonsi/ci/sienna_cichlid-piglit-quick-fail.csv b/lib/mesa/src/gallium/drivers/radeonsi/ci/sienna_cichlid-piglit-quick-fail.csv
index 6a8e45a45..b35f7db44 100644
--- a/lib/mesa/src/gallium/drivers/radeonsi/ci/sienna_cichlid-piglit-quick-fail.csv
+++ b/lib/mesa/src/gallium/drivers/radeonsi/ci/sienna_cichlid-piglit-quick-fail.csv
@@ -116,10 +116,6 @@ spec@egl_chromium_sync_control@conformance,Fail
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test,Fail
spec@egl_ext_protected_content@conformance,Fail
spec@ext_framebuffer_blit@fbo-blit-check-limits,Fail
-spec@ext_framebuffer_multisample@turn-on-off 2,Fail
-spec@ext_framebuffer_multisample@turn-on-off 4,Fail
-spec@ext_framebuffer_multisample@turn-on-off 6,Fail
-spec@ext_framebuffer_multisample@turn-on-off 8,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_yuyv,Fail
spec@ext_texture_integer@fbo-integer,Fail
diff --git a/lib/mesa/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml b/lib/mesa/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml
index cbf5d0974..a9b47090e 100644
--- a/lib/mesa/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml
+++ b/lib/mesa/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml
@@ -5,19 +5,19 @@ traces:
- path: glmark2/desktop:windows=4:effect=blur:blur-radius=5:passes=1:separable=true.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: d8c9bf6295525e65e318adeff02520e2
+ checksum: 740fa8f8e9a9d815cf160b1893370755
- path: glmark2/jellyfish.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: f68bf374e535ad4a43a08786b0d536d8
+ checksum: 5bc7d5c250b7d568313c4afd064082f6
- path: glxgears/glxgears-2.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: eb9b3d497be567f02a6e039fa32f2b13
+ checksum: ef3653f50d4853d3e9cb3244c799565a
- path: 0ad/0ad.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 8fb8cd54f1ff908952fe0b6dd9f28999
+ checksum: 1a089d8584a9e68e7ab08eada954741b
- path: pathfinder/demo.trace
expectations:
- device: gl-radeonsi-stoney
@@ -33,7 +33,7 @@ traces:
- path: gputest/furmark.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 84c499203944cdc59e70450c324bb8df
+ checksum: 4ceea12000bb5995b915228d2d4b49c7
- path: gputest/pixmark-piano.trace
expectations:
- device: gl-radeonsi-stoney
@@ -45,47 +45,47 @@ traces:
- path: humus/Portals.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: fc7d00efe380cacbd4e9ef9b231aea2f
+ checksum: 5b96333495b794691e4ed071ae92ff19
- path: glmark2/buffer:update-fraction=0.5:update-dispersion=0.9:columns=200:update-method=map:interleave=false.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 5af6e31cc78320cb3f9db483c7a426e0
+ checksum: 5db05161041946e8971f39f12bbd847c
- path: glmark2/buffer:update-fraction=0.5:update-dispersion=0.9:columns=200:update-method=map:interleave=true.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 6e9dc5a7dc5a9cbb2b396bfce88a2084
+ checksum: e2154c522fcdb4f43b31b31c17adda74
- path: glmark2/buffer:update-fraction=0.5:update-dispersion=0.9:columns=200:update-method=subdata:interleave=false.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 35e384f833f37411f15bf8ef80ca1914
+ checksum: 70298e48479147af2d848a5441fb5f47
- path: glmark2/bump:bump-render=height.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 526cf3805b9b64bb8edea1b7d86b9cae
+ checksum: f5129b06e401a5fefa18a9895b18deec
- path: glmark2/bump:bump-render=high-poly.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: e026d36eaa71ecd957b47c7e6a5a100b
+ checksum: 3fc1adf0caa289b3296a80c2c13834ca
- path: glmark2/bump:bump-render=normals.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 4508a1be8c33a63fbfa695b141edf48b
+ checksum: 596fd7a084d3a7a6b61b322593385f45
- path: glmark2/conditionals:vertex-steps=0:fragment-steps=0.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: d12ecac5894705295e4fa076d77a72ab
+ checksum: fb2eda378ace8ca8b81d73d20cbfbbf7
- path: glmark2/conditionals:vertex-steps=0:fragment-steps=5.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 8999ff7eda7d7cf25440b96ab0efd4ee
+ checksum: b8575de0e043f540b12f13209054d000
- path: glmark2/conditionals:vertex-steps=5:fragment-steps=0.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: e65fdae9fe7bbd95c5cc0fb0c3eb7bf4
+ checksum: f70625a1f9bd9d2c211e330032b86f85
- path: glmark2/desktop:windows=4:effect=shadow.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 2aff87605464dd3f61aefd4e1dc0bffd
+ checksum: 384015de55daf7dd406c9463576018e9
- path: glmark2/effect2d:kernel=0,1,0;1,-4,1;0,1,0;.trace
expectations:
- device: gl-radeonsi-stoney
@@ -97,87 +97,87 @@ traces:
- path: glmark2/function:fragment-steps=5:fragment-complexity=low.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 13149880306d2183703a5c327f4d750a
+ checksum: 9efd8bb5df15f9483a18a00f9650caa9
- path: glmark2/function:fragment-steps=5:fragment-complexity=medium.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: c6983ffb3a74e234f84e5d817f876f54
+ checksum: 9bdd506c0404cb11a7148cb08b429d1b
- path: glmark2/build:use-vbo=false.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 203a0205580b2c39ed8dcbed57b18f3c
+ checksum: 506b1910317b04e5d32aacf2bd70bd0d
- path: glmark2/build:use-vbo=true.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 437034f264c469757683e51e3e25beca
+ checksum: 793dc29115ae442b279276adb89d0999
- path: glmark2/ideas:speed=10000.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 381d973b00b46fcc15f72808eabb6237
+ checksum: 1ae057093620f868aad846167f04c6e0
- path: glmark2/loop:vertex-steps=5:fragment-steps=5:fragment-loop=false.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 5a32f7917c130581fae23e58b71fd740
+ checksum: 6fb2f9bce414879e3751bb51d1a8d481
- path: glmark2/loop:vertex-steps=5:fragment-steps=5:fragment-uniform=false.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 20586c936a7051ce63503df6f9785d01
+ checksum: 27fabda45ca2a989c21b4ec386a2e8f6
- path: glmark2/loop:vertex-steps=5:fragment-steps=5:fragment-uniform=true.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 255e412701afdc4a7b62654e93b92cc9
+ checksum: 05ac8be6e2e0c03ea1caec85f037cddd
- path: glmark2/pulsar:quads=5:texture=false:light=false.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 42f913c6119a685da4450ea116060614
+ checksum: 0b62b9c04e4c00f44eba64b366c47783
- path: glmark2/refract.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 9d0a2d2fce0b80a265fbcee5107c9e82
+ checksum: c711f3a07f6aa9e0f19c544c6d7c2000
- path: glmark2/shading:shading=blinn-phong-inf.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 4a2cf8a13b248f470e58f785d0a9207d
+ checksum: 429c6bbdf99d573cc4eaaee3c0471257
- path: glmark2/shading:shading=cel.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 8325ce4073135c03eec241087e51a584
+ checksum: 330d9a8375970e42ba5ddc3142dc6477
- path: glmark2/shading:shading=gouraud.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: fbe5b7d038866f6cd4fc801b062e4ce5
+ checksum: e22908309d41af8c9753c5c7cae73b29
- path: glmark2/shading:shading=phong.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 65f9468a37d683b4c1f38d34f09a97db
+ checksum: 2ac9f1b6ba39f8924b374d18181edeeb
- path: glmark2/shadow.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: abd705b0ae76cf6f19905bfea1d3db76
+ checksum: 9215a1525dfe5b12999652b3a3ba05d8
- path: glmark2/terrain.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 59690f1438a1e44fc655d16ce8bb348b
+ checksum: 80a1bba6ff969c9a82c68de0306f2b61
- path: glmark2/texture:texture-filter=linear.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 54bf32b499f3ebfe0e727e5716e54b1a
+ checksum: 928479421abda4823a673393cd59ff81
- path: glmark2/texture:texture-filter=mipmap.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 3a3abce164eef2be10f58604b22583f2
+ checksum: cb94bca58ed8f41c5f6f6dda3fb15600
- path: glmark2/texture:texture-filter=nearest.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 311c394eb4afd48bd8330d0e69470b87
+ checksum: 63762536d93048c0dadb19b22381cb90
- path: godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc
expectations:
- device: gl-radeonsi-stoney
- checksum: 02f654ad77c0c1106e1b31e1c86c93bb
+ checksum: 0e7441a7f2c86c75eeac72269786e7a1
- path: gputest/gimark.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 4442dbd44a9704c499da4817fffce306
+ checksum: 3e021c1c5f2900e53c3375e0366eeda9
- path: gputest/pixmark-julia-fp32.trace
expectations:
- device: gl-radeonsi-stoney
@@ -193,44 +193,44 @@ traces:
- path: gputest/plot3d.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 667078b0f51ac8e0469ef9a20326c616
+ checksum: 2832d2190df232bcbde71a4b720303e1
- path: gputest/tessmark.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: cdcf984e81f2cda9ca7f56e3a4addaa7
+ checksum: b4bc7998ff804bf25aac9f9609b8acbf
- path: humus/AmbientAperture.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 664ea58a62b27737b7d0ae9e86ab85c0
+ checksum: 679dc88e5f0d3b3608e0490b4b39fbea
- path: humus/CelShading.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 7d30dbe3470873c327464ea7ebe6bcf0
+ checksum: ebd3f460386b9461aab6adef04dc0547
- path: humus/DynamicBranching3.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 5a5addfb1c7acc22104c0ecb29f45174
+ checksum: 9f932808ccce10a2bf7568ddafe1a1cf
- path: humus/HDR.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: b44ce4cb377321f6423a5a62a9083794
+ checksum: fddf642f7a4e3946f1975e33cf773220
- path: humus/RaytracedShadows.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 2e2e58e0b32329d6cf90ab0ec71108fd
+ checksum: 743ce9c218b87404cfe615ed7951d5b8
- path: humus/VolumetricFogging2.trace
expectations:
- device: gl-radeonsi-stoney
- checksum: 1a9b3aa90d2c4a0d3937ecacca2da052
+ checksum: e3eb8d6934c23cbef7133ba501821698
- path: supertuxkart/supertuxkart-antediluvian-abyss.rdc
expectations:
- device: gl-radeonsi-stoney
- checksum: fd717f0214c2e5d08538d2de30bfe180
+ checksum: 112f203971d0f1ae46bc8268683480a2
- path: supertuxkart/supertuxkart-menu.rdc
expectations:
- device: gl-radeonsi-stoney
- checksum: bc851bb8808b311c2df9c36a6c289e6e
+ checksum: e17f3125683d8b2acac8bc0b4b8e1b44
- path: supertuxkart/supertuxkart-ravenbridge-mansion.rdc
expectations:
- device: gl-radeonsi-stoney
- checksum: f2e730f7378af65abbf82cc30e4ba64d
+ checksum: 60f74020451e9beaf586b4551541b763
diff --git a/lib/mesa/src/gallium/drivers/radeonsi/si_state_viewport.c b/lib/mesa/src/gallium/drivers/radeonsi/si_state_viewport.c
index 3c753c618..3a7df5d95 100644
--- a/lib/mesa/src/gallium/drivers/radeonsi/si_state_viewport.c
+++ b/lib/mesa/src/gallium/drivers/radeonsi/si_state_viewport.c
@@ -366,7 +366,7 @@ static void si_emit_guardband(struct si_context *ctx)
S_028234_HW_SCREEN_OFFSET_Y(hw_screen_offset_y >> 4));
radeon_opt_set_context_reg(
ctx, R_028BE4_PA_SU_VTX_CNTL, SI_TRACKED_PA_SU_VTX_CNTL,
- S_028BE4_PIX_CENTER(rs->half_pixel_center) |
+ S_028BE4_PIX_CENTER(rs->half_pixel_center) | S_028BE4_ROUND_MODE(V_028BE4_X_ROUND_TO_EVEN) |
S_028BE4_QUANT_MODE(V_028BE4_X_16_8_FIXED_POINT_1_256TH + vp_as_scissor.quant_mode));
radeon_end_update_context_roll(ctx);
}
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_compiler.c b/lib/mesa/src/gallium/drivers/zink/zink_compiler.c
index d34c7a47a..bbb7bde24 100644
--- a/lib/mesa/src/gallium/drivers/zink/zink_compiler.c
+++ b/lib/mesa/src/gallium/drivers/zink/zink_compiler.c
@@ -379,7 +379,7 @@ zink_screen_init_compiler(struct zink_screen *screen)
.lower_unpack_32_2x16_split = true,
.lower_vector_cmp = true,
.lower_int64_options = 0,
- .lower_doubles_options = ~nir_lower_fp64_full_software,
+ .lower_doubles_options = 0,
.lower_uniforms_to_ubo = true,
.has_fsub = true,
.has_isub = true,
@@ -397,6 +397,21 @@ zink_screen_init_compiler(struct zink_screen *screen)
screen->nir_options.lower_flrp64 = true;
screen->nir_options.lower_ffma64 = true;
}
+
+ /*
+ The OpFRem and OpFMod instructions use cheap approximations of remainder,
+ and the error can be large due to the discontinuity in trunc() and floor().
+ This can produce mathematically unexpected results in some cases, such as
+ FMod(x,x) computing x rather than 0, and can also cause the result to have
+ a different sign than the infinitely precise result.
+
+ -Table 84. Precision of core SPIR-V Instructions
+ * for drivers that are known to have imprecise fmod for doubles, lower dmod
+ */
+ if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_RADV ||
+ screen->info.driver_props.driverID == VK_DRIVER_ID_AMD_OPEN_SOURCE ||
+ screen->info.driver_props.driverID == VK_DRIVER_ID_AMD_PROPRIETARY)
+ screen->nir_options.lower_doubles_options = nir_lower_dmod;
}
const void *
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_context.c b/lib/mesa/src/gallium/drivers/zink/zink_context.c
index 2babcf3b2..e29d2c810 100644
--- a/lib/mesa/src/gallium/drivers/zink/zink_context.c
+++ b/lib/mesa/src/gallium/drivers/zink/zink_context.c
@@ -745,10 +745,24 @@ zink_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *pres,
ivci.subresourceRange.aspectMask = sampler_aspect_from_format(state->format);
/* samplers for stencil aspects of packed formats need to always use stencil swizzle */
if (ivci.subresourceRange.aspectMask & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) {
- ivci.components.r = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_r));
- ivci.components.g = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_g));
- ivci.components.b = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_b));
- ivci.components.a = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_a));
+ if (sampler_view->base.swizzle_r == PIPE_SWIZZLE_0 &&
+ sampler_view->base.swizzle_g == PIPE_SWIZZLE_0 &&
+ sampler_view->base.swizzle_b == PIPE_SWIZZLE_0 &&
+ sampler_view->base.swizzle_a == PIPE_SWIZZLE_X) {
+ /*
+ * When the state tracker asks for 000x swizzles, this is depth mode GL_ALPHA,
+ * however with the single dref fetch this will fail, so just spam all the channels.
+ */
+ ivci.components.r = VK_COMPONENT_SWIZZLE_R;
+ ivci.components.g = VK_COMPONENT_SWIZZLE_R;
+ ivci.components.b = VK_COMPONENT_SWIZZLE_R;
+ ivci.components.a = VK_COMPONENT_SWIZZLE_R;
+ } else {
+ ivci.components.r = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_r));
+ ivci.components.g = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_g));
+ ivci.components.b = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_b));
+ ivci.components.a = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_a));
+ }
} else {
/* if we have e.g., R8G8B8X8, then we have to ignore alpha since we're just emulating
* these formats
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_descriptors.c b/lib/mesa/src/gallium/drivers/zink/zink_descriptors.c
index 6fd529009..0ec3a73ca 100644
--- a/lib/mesa/src/gallium/drivers/zink/zink_descriptors.c
+++ b/lib/mesa/src/gallium/drivers/zink/zink_descriptors.c
@@ -696,13 +696,13 @@ allocate_desc_set(struct zink_context *ctx, struct zink_program *pg, enum zink_d
#endif
switch (type) {
case ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW:
- zds->sampler_states = (struct zink_sampler_state**)&samplers[i * pool->key.layout->num_descriptors];
+ zds->sampler_states = (struct zink_sampler_state**)&samplers[i * num_resources];
FALLTHROUGH;
case ZINK_DESCRIPTOR_TYPE_IMAGE:
- zds->surfaces = &surfaces[i * pool->key.layout->num_descriptors];
+ zds->surfaces = &surfaces[i * num_resources];
break;
default:
- zds->res_objs = (struct zink_resource_object**)&res_objs[i * pool->key.layout->num_descriptors];
+ zds->res_objs = (struct zink_resource_object**)&res_objs[i * num_resources];
break;
}
zds->desc_set = desc_set[i];
@@ -790,20 +790,28 @@ zink_descriptor_set_get(struct zink_context *ctx,
simple_mtx_lock(&pool->mtx);
if (last_set && last_set->hash == hash && desc_state_equal(&last_set->key, &key)) {
+ bool was_recycled = false;
zds = last_set;
*cache_hit = !zds->invalid;
if (zds->recycled) {
struct hash_entry *he = _mesa_hash_table_search_pre_hashed(pool->free_desc_sets, hash, &key);
- if (he)
+ if (he) {
+ was_recycled = true;
_mesa_hash_table_remove(pool->free_desc_sets, he);
+ }
zds->recycled = false;
}
if (zds->invalid) {
if (zink_batch_usage_exists(zds->batch_uses))
punt_invalid_set(zds, NULL);
- else
+ else {
+ if (was_recycled) {
+ descriptor_set_invalidate(zds);
+ goto out;
+ }
/* this set is guaranteed to be in pool->alloc_desc_sets */
goto skip_hash_tables;
+ }
zds = NULL;
}
if (zds)
@@ -828,6 +836,8 @@ zink_descriptor_set_get(struct zink_context *ctx,
zds = (void*)he->data;
*cache_hit = !zds->invalid;
if (recycled) {
+ if (zds->invalid)
+ descriptor_set_invalidate(zds);
/* need to migrate this entry back to the in-use hash */
_mesa_hash_table_remove(pool->free_desc_sets, he);
goto out;
@@ -1419,6 +1429,7 @@ zink_descriptors_update(struct zink_context *ctx, bool is_compute)
if (pg->dd->push_usage) {
if (pg->dd->fbfetch) {
/* fbfetch is not cacheable: grab a lazy set because it's faster */
+ cache_hit = false;
desc_set = zink_descriptors_alloc_lazy_push(ctx);
} else {
zds = zink_descriptor_set_get(ctx, ZINK_DESCRIPTOR_TYPES, is_compute, &cache_hit);
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_draw.cpp b/lib/mesa/src/gallium/drivers/zink/zink_draw.cpp
index e97713e99..e7c6af72a 100644
--- a/lib/mesa/src/gallium/drivers/zink/zink_draw.cpp
+++ b/lib/mesa/src/gallium/drivers/zink/zink_draw.cpp
@@ -193,6 +193,8 @@ update_gfx_program(struct zink_context *ctx)
prog = (struct zink_gfx_program*)entry->data;
u_foreach_bit(stage, prog->stages_present & ~ctx->dirty_shader_stages)
ctx->gfx_pipeline_state.modules[stage] = prog->modules[stage]->shader;
+ /* ensure variants are always updated if keys have changed since last use */
+ ctx->dirty_shader_stages |= prog->stages_present;
} else {
ctx->dirty_shader_stages |= bits;
prog = zink_create_gfx_program(ctx, ctx->gfx_stages, ctx->gfx_pipeline_state.vertices_per_patch + 1);
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_program.c b/lib/mesa/src/gallium/drivers/zink/zink_program.c
index 6e69c0cb4..a6c697979 100644
--- a/lib/mesa/src/gallium/drivers/zink/zink_program.c
+++ b/lib/mesa/src/gallium/drivers/zink/zink_program.c
@@ -557,6 +557,7 @@ void
zink_destroy_gfx_program(struct zink_screen *screen,
struct zink_gfx_program *prog)
{
+ util_queue_fence_wait(&prog->base.cache_fence);
if (prog->base.layout)
VKSCR(DestroyPipelineLayout)(screen->dev, prog->base.layout, NULL);
@@ -601,6 +602,7 @@ void
zink_destroy_compute_program(struct zink_screen *screen,
struct zink_compute_program *comp)
{
+ util_queue_fence_wait(&comp->base.cache_fence);
if (comp->base.layout)
VKSCR(DestroyPipelineLayout)(screen->dev, comp->base.layout, NULL);
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_screen.c b/lib/mesa/src/gallium/drivers/zink/zink_screen.c
index 042c63fd3..9530202c0 100644
--- a/lib/mesa/src/gallium/drivers/zink/zink_screen.c
+++ b/lib/mesa/src/gallium/drivers/zink/zink_screen.c
@@ -184,7 +184,7 @@ zink_screen_update_pipeline_cache(struct zink_screen *screen, struct zink_progra
if (!screen->disk_cache)
return;
- util_queue_add_job(&screen->cache_put_thread, pg, NULL, cache_put_job, NULL, 0);
+ util_queue_add_job(&screen->cache_put_thread, pg, &pg->cache_fence, cache_put_job, NULL, 0);
}
static void
diff --git a/lib/mesa/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c b/lib/mesa/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c
index cb2d58226..152283ae5 100644
--- a/lib/mesa/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c
+++ b/lib/mesa/src/gallium/frontends/lavapipe/lvp_cmd_buffer.c
@@ -265,6 +265,7 @@ VKAPI_ATTR void VKAPI_CALL lvp_TrimCommandPool(
&pool->free_cmd_buffers, pool_link) {
lvp_cmd_buffer_destroy(cmd_buffer);
}
+ list_inithead(&pool->free_cmd_buffers);
}
VKAPI_ATTR void VKAPI_CALL lvp_CmdDrawMultiEXT(
diff --git a/lib/mesa/src/gallium/frontends/lavapipe/lvp_execute.c b/lib/mesa/src/gallium/frontends/lavapipe/lvp_execute.c
index 30d7bf3c0..1ca094ad8 100644
--- a/lib/mesa/src/gallium/frontends/lavapipe/lvp_execute.c
+++ b/lib/mesa/src/gallium/frontends/lavapipe/lvp_execute.c
@@ -573,40 +573,6 @@ static void handle_graphics_pipeline(struct vk_cmd_queue_entry *cmd,
state->rs_dirty = true;
}
- state->disable_multisample = pipeline->disable_multisample;
- if (pipeline->graphics_create_info.pMultisampleState) {
- const VkPipelineMultisampleStateCreateInfo *ms = pipeline->graphics_create_info.pMultisampleState;
- state->rs_state.multisample = ms->rasterizationSamples > 1;
- state->sample_mask = ms->pSampleMask ? ms->pSampleMask[0] : 0xffffffff;
- state->blend_state.alpha_to_coverage = ms->alphaToCoverageEnable;
- state->blend_state.alpha_to_one = ms->alphaToOneEnable;
- state->blend_dirty = true;
- state->rs_dirty = true;
- state->min_samples = 1;
- state->sample_mask_dirty = true;
- fb_samples = ms->rasterizationSamples;
- if (ms->sampleShadingEnable) {
- state->min_samples = ceil(ms->rasterizationSamples * ms->minSampleShading);
- if (state->min_samples > 1)
- state->min_samples = ms->rasterizationSamples;
- if (state->min_samples < 1)
- state->min_samples = 1;
- }
- if (pipeline->force_min_sample)
- state->min_samples = ms->rasterizationSamples;
- state->min_samples_dirty = true;
- } else {
- state->rs_state.multisample = false;
- state->sample_mask_dirty = state->sample_mask != 0xffffffff;
- state->sample_mask = 0xffffffff;
- state->min_samples_dirty = state->min_samples;
- state->min_samples = 0;
- state->blend_dirty |= state->blend_state.alpha_to_coverage || state->blend_state.alpha_to_one;
- state->blend_state.alpha_to_coverage = false;
- state->blend_state.alpha_to_one = false;
- state->rs_dirty = true;
- }
-
if (pipeline->graphics_create_info.pDepthStencilState) {
const VkPipelineDepthStencilStateCreateInfo *dsa = pipeline->graphics_create_info.pDepthStencilState;
@@ -710,6 +676,40 @@ static void handle_graphics_pipeline(struct vk_cmd_queue_entry *cmd,
state->blend_dirty = true;
}
+ state->disable_multisample = pipeline->disable_multisample;
+ if (pipeline->graphics_create_info.pMultisampleState) {
+ const VkPipelineMultisampleStateCreateInfo *ms = pipeline->graphics_create_info.pMultisampleState;
+ state->rs_state.multisample = ms->rasterizationSamples > 1;
+ state->sample_mask = ms->pSampleMask ? ms->pSampleMask[0] : 0xffffffff;
+ state->blend_state.alpha_to_coverage = ms->alphaToCoverageEnable;
+ state->blend_state.alpha_to_one = ms->alphaToOneEnable;
+ state->blend_dirty = true;
+ state->rs_dirty = true;
+ state->min_samples = 1;
+ state->sample_mask_dirty = true;
+ fb_samples = ms->rasterizationSamples;
+ if (ms->sampleShadingEnable) {
+ state->min_samples = ceil(ms->rasterizationSamples * ms->minSampleShading);
+ if (state->min_samples > 1)
+ state->min_samples = ms->rasterizationSamples;
+ if (state->min_samples < 1)
+ state->min_samples = 1;
+ }
+ if (pipeline->force_min_sample)
+ state->min_samples = ms->rasterizationSamples;
+ state->min_samples_dirty = true;
+ } else {
+ state->rs_state.multisample = false;
+ state->sample_mask_dirty = state->sample_mask != 0xffffffff;
+ state->sample_mask = 0xffffffff;
+ state->min_samples_dirty = state->min_samples;
+ state->min_samples = 0;
+ state->blend_dirty |= state->blend_state.alpha_to_coverage || state->blend_state.alpha_to_one;
+ state->blend_state.alpha_to_coverage = false;
+ state->blend_state.alpha_to_one = false;
+ state->rs_dirty = true;
+ }
+
if (!dynamic_states[conv_dynamic_state_idx(VK_DYNAMIC_STATE_VERTEX_INPUT_EXT)]) {
const VkPipelineVertexInputStateCreateInfo *vi = pipeline->graphics_create_info.pVertexInputState;
int i;
@@ -1011,8 +1011,6 @@ static void fill_sampler_view_stage(struct rendering_state *state,
*/
if (iv->subresourceRange.aspectMask == VK_IMAGE_ASPECT_DEPTH_BIT ||
iv->subresourceRange.aspectMask == VK_IMAGE_ASPECT_STENCIL_BIT) {
- if (templ.swizzle_a == PIPE_SWIZZLE_X)
- templ.swizzle_r = PIPE_SWIZZLE_X;
fix_depth_swizzle(templ.swizzle_r);
fix_depth_swizzle(templ.swizzle_g);
fix_depth_swizzle(templ.swizzle_b);
diff --git a/lib/mesa/src/gallium/frontends/lavapipe/lvp_formats.c b/lib/mesa/src/gallium/frontends/lavapipe/lvp_formats.c
index b30853a9d..6831a6587 100644
--- a/lib/mesa/src/gallium/frontends/lavapipe/lvp_formats.c
+++ b/lib/mesa/src/gallium/frontends/lavapipe/lvp_formats.c
@@ -230,6 +230,9 @@ static VkResult lvp_get_image_format_properties(struct lvp_physical_device *phys
break;
}
+ if (info->flags & VK_IMAGE_CREATE_EXTENDED_USAGE_BIT)
+ goto skip_checks;
+
if (info->usage & VK_IMAGE_USAGE_SAMPLED_BIT) {
if (!(format_feature_flags & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)) {
goto unsupported;
@@ -273,6 +276,7 @@ static VkResult lvp_get_image_format_properties(struct lvp_physical_device *phys
}
}
+skip_checks:
*pImageFormatProperties = (VkImageFormatProperties) {
.maxExtent = maxExtent,
.maxMipLevels = maxMipLevels,
diff --git a/lib/mesa/src/gallium/frontends/lavapipe/lvp_pipeline.c b/lib/mesa/src/gallium/frontends/lavapipe/lvp_pipeline.c
index 80551d4c4..6a4ed65a7 100644
--- a/lib/mesa/src/gallium/frontends/lavapipe/lvp_pipeline.c
+++ b/lib/mesa/src/gallium/frontends/lavapipe/lvp_pipeline.c
@@ -602,6 +602,8 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline,
NIR_PASS(progress, nir, nir_opt_deref);
NIR_PASS(progress, nir, nir_lower_vars_to_ssa);
+ NIR_PASS(progress, nir, nir_opt_copy_prop_vars);
+
NIR_PASS(progress, nir, nir_copy_prop);
NIR_PASS(progress, nir, nir_opt_dce);
NIR_PASS(progress, nir, nir_opt_peephole_select, 8, true, true);
diff --git a/lib/mesa/src/loader/meson.build b/lib/mesa/src/loader/meson.build
index 927f4af11..15818c070 100644
--- a/lib/mesa/src/loader/meson.build
+++ b/lib/mesa/src/loader/meson.build
@@ -41,11 +41,19 @@ loader_c_args = [
'-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path),
]
-if get_option('prefer-iris')
+_prefer_iris = get_option('prefer-iris')
+if _prefer_iris == 'auto'
+ _prefer_iris = amber ? 'false' : 'true'
+endif
+if _prefer_iris == 'true'
loader_c_args += ['-DPREFER_IRIS']
endif
-if get_option('prefer-crocus')
+_prefer_crocus = get_option('prefer-crocus')
+if _prefer_crocus == 'auto'
+ _prefer_crocus = 'false'
+endif
+if _prefer_crocus == 'true'
loader_c_args += ['-DPREFER_CROCUS']
endif
diff --git a/lib/mesa/src/mesa/drivers/dri/meson.build b/lib/mesa/src/mesa/drivers/dri/meson.build
index 239ca962c..b4d22a61c 100644
--- a/lib/mesa/src/mesa/drivers/dri/meson.build
+++ b/lib/mesa/src/mesa/drivers/dri/meson.build
@@ -51,7 +51,7 @@ endif
if _dri_drivers != []
libmesa_dri_drivers = shared_library(
- 'mesa_dri_drivers',
+ '@0@_dri_drivers'.format(glvnd_vendor_name),
[],
link_whole : _dri_drivers,
link_with : [
diff --git a/lib/mesa/src/panfrost/bifrost/bifrost_compile.c b/lib/mesa/src/panfrost/bifrost/bifrost_compile.c
index fabdb2bd6..35c0b1853 100644
--- a/lib/mesa/src/panfrost/bifrost/bifrost_compile.c
+++ b/lib/mesa/src/panfrost/bifrost/bifrost_compile.c
@@ -3834,7 +3834,7 @@ bifrost_compile_shader_nir(nir_shader *nir,
/* TODO: pack flat */
}
- info->ubo_mask = ctx->ubo_mask & BITSET_MASK(ctx->nir->info.num_ubos);
+ info->ubo_mask = ctx->ubo_mask & ((1 << ctx->nir->info.num_ubos) - 1);
if (bifrost_debug & BIFROST_DBG_SHADERS && !skip_internal) {
disassemble_bifrost(stdout, binary->data, binary->size,
diff --git a/lib/mesa/src/panfrost/bifrost/gen_disasm.py b/lib/mesa/src/panfrost/bifrost/gen_disasm.py
index 01ab6290c..505c61cc0 100644
--- a/lib/mesa/src/panfrost/bifrost/gen_disasm.py
+++ b/lib/mesa/src/panfrost/bifrost/gen_disasm.py
@@ -238,7 +238,7 @@ def build_lut(mnemonic, desc, test):
key_set = find_context_keys(desc, test)
ordered = 'ordering' in key_set
key_set.discard('ordering')
- keys = list(key_set)
+ keys = sorted(list(key_set))
# Evaluate the deriveds for every possible state, forming a (state -> deriveds) map
testf = compile_derived(test, keys)
diff --git a/lib/mesa/src/panfrost/ci/panfrost-g52-fails.txt b/lib/mesa/src/panfrost/ci/panfrost-g52-fails.txt
index 7518f80fe..0d507eda7 100644
--- a/lib/mesa/src/panfrost/ci/panfrost-g52-fails.txt
+++ b/lib/mesa/src/panfrost/ci/panfrost-g52-fails.txt
@@ -87,7 +87,6 @@ spec@arb_depth_texture@texwrap formats bordercolor-swizzled@GL_DEPTH_COMPONENT24
spec@arb_depth_texture@texwrap formats bordercolor-swizzled@GL_DEPTH_COMPONENT32- swizzled- border color only,Fail
spec@arb_direct_state_access@gettextureimage-formats,Crash
spec@arb_direct_state_access@gettextureimage-formats init-by-rendering,Fail
-spec@arb_direct_state_access@texture-buffer,Fail
spec@arb_draw_buffers@fbo-mrt-new-bind,Crash
spec@arb_es2_compatibility@fbo-blending-formats,Fail
spec@arb_es2_compatibility@fbo-blending-formats@GL_RGB565,Fail
@@ -95,8 +94,6 @@ spec@arb_es2_compatibility@texwrap formats bordercolor,Fail
spec@arb_es2_compatibility@texwrap formats bordercolor@GL_RGB565- border color only,Fail
spec@arb_es2_compatibility@texwrap formats bordercolor-swizzled,Fail
spec@arb_es2_compatibility@texwrap formats bordercolor-swizzled@GL_RGB565- swizzled- border color only,Fail
-spec@arb_fragment_program@fp-fragment-position,Crash
-spec@arb_fragment_program@sparse-samplers,Crash
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth_stencil gl_depth32f_stencil8,Fail
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit stencil gl_depth32f_stencil8,Fail
@@ -110,7 +107,6 @@ spec@arb_pixel_buffer_object@texsubimage array pbo,Fail
spec@arb_pixel_buffer_object@texsubimage cube_map_array pbo,Fail
spec@arb_point_sprite@arb_point_sprite-checkerboard,Fail
spec@arb_point_sprite@arb_point_sprite-mipmap,Fail
-spec@arb_provoking_vertex@arb-provoking-vertex-render,Fail
spec@arb_sample_shading@samplemask 2@0.250000 mask_in_one,Fail
spec@arb_sample_shading@samplemask 2@0.500000 mask_in_one,Fail
spec@arb_sample_shading@samplemask 2@1.000000 mask_in_one,Fail
@@ -135,7 +131,6 @@ spec@arb_sample_shading@samplemask 4 all@sample mask_in_one,Fail
spec@arb_sample_shading@samplemask 4,Fail
spec@arb_sample_shading@samplemask 4@noms mask_in_one,Fail
spec@arb_sample_shading@samplemask 4@sample mask_in_one,Fail
-spec@arb_shader_atomic_counters@respecify-buffer,Fail
spec@arb_shader_draw_parameters@drawid-indirect-baseinstance,Fail
spec@arb_shader_draw_parameters@drawid-indirect-basevertex,Fail
spec@arb_shader_draw_parameters@drawid-indirect,Fail
@@ -147,11 +142,9 @@ spec@arb_shader_texture_lod@execution@tex-miplevel-selection *projgradarb 2drect
spec@arb_shader_texture_lod@execution@tex-miplevel-selection *projgradarb 2drect_projvec4,Crash
spec@arb_shader_texture_lod@execution@tex-miplevel-selection *projgradarb 2drectshadow,Crash
spec@arb_shading_language_420pack@active sampler conflict,Crash
-spec@arb_texture_buffer_object@data-sync,Fail
spec@arb_texture_buffer_object@formats (fs- arb),Crash
spec@arb_texture_buffer_object@formats (vs- arb),Crash
spec@arb_texture_buffer_object@render-no-bo,Crash
-spec@arb_texture_buffer_object@subdata-sync,Fail
spec@arb_texture_compression@texwrap formats bordercolor,Fail
spec@arb_texture_compression@texwrap formats bordercolor@GL_COMPRESSED_ALPHA- border color only,Fail
spec@arb_texture_compression@texwrap formats bordercolor@GL_COMPRESSED_LUMINANCE_ALPHA- border color only,Fail
@@ -391,9 +384,7 @@ spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled@GL_RG32F- swizzle
spec@arb_texture_view@sampling-2d-array-as-cubemap-array,Crash
spec@arb_texture_view@sampling-2d-array-as-cubemap,Crash
spec@arb_transform_feedback_instanced@draw-auto instanced,Fail
-spec@arb_uniform_buffer_object@rendering-dsa,Fail
spec@arb_uniform_buffer_object@rendering-dsa-offset,Fail
-spec@arb_uniform_buffer_object@rendering,Fail
spec@arb_uniform_buffer_object@rendering-offset,Fail
spec@arb_vertex_program@clip-plane-transformation arb,Fail
spec@egl 1.4@egl-copy-buffers,Crash
@@ -923,223 +914,6 @@ spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
spec@!opengl 1.0@gl-1.0-spot-light,Fail
spec@!opengl 1.0@gl-1.0-user-clip-all-planes,Fail
spec@!opengl 1.0@rasterpos,Crash
-spec@!opengl 1.1@clipflat,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glBegin/End(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawArrays(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUADS)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CCW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_FILL)- quadrant: right top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: center top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: left top PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right bottom PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right middle PV: FIRST,Fail
-spec@!opengl 1.1@clipflat@glDrawElements(GL_QUAD_STRIP)- glFrontFace(GL_CW)- glPolygonMode(GL_LINE)- quadrant: right top PV: FIRST,Fail
spec@!opengl 1.1@getteximage-formats,Crash
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@!opengl 1.1@linestipple@Factor 3x,Fail
diff --git a/lib/mesa/src/panfrost/midgard/midgard_compile.c b/lib/mesa/src/panfrost/midgard/midgard_compile.c
index 69e60f00f..cb007c00c 100644
--- a/lib/mesa/src/panfrost/midgard/midgard_compile.c
+++ b/lib/mesa/src/panfrost/midgard/midgard_compile.c
@@ -3231,7 +3231,7 @@ midgard_compile_shader_nir(nir_shader *nir,
/* Report the very first tag executed */
info->midgard.first_tag = midgard_get_first_tag_from_block(ctx, 0);
- info->ubo_mask = ctx->ubo_mask & BITSET_MASK(ctx->nir->info.num_ubos);
+ info->ubo_mask = ctx->ubo_mask & ((1 << ctx->nir->info.num_ubos) - 1);
if ((midgard_debug & MIDGARD_DBG_SHADERS) &&
((midgard_debug & MIDGARD_DBG_INTERNAL) || !nir->info.internal)) {
diff --git a/lib/mesa/src/util/00-mesa-defaults.conf b/lib/mesa/src/util/00-mesa-defaults.conf
index f4818f782..ae435d40b 100644
--- a/lib/mesa/src/util/00-mesa-defaults.conf
+++ b/lib/mesa/src/util/00-mesa-defaults.conf
@@ -798,96 +798,6 @@ TODO: document the other workarounds.
<option name="vs_position_always_invariant" value="true" />
</application>
</device>
- <device driver="radv">
- <!-- Engine workarounds -->
- <engine engine_name_match="vkd3d">
- <option name="radv_zero_vram" value="true" />
- </engine>
-
- <engine engine_name_match="Quantic Dream Engine">
- <option name="radv_zero_vram" value="true" />
- <option name="radv_lower_discard_to_demote" value="true" />
- <option name="radv_disable_tc_compat_htile_general" value="true" />
- </engine>
-
- <!-- Game workarounds -->
- <application name="Shadow Of The Tomb Raider (Native)" application_name_match="ShadowOfTheTomb">
- <option name="radv_report_llvm9_version_string" value="true" />
- <option name="radv_invariant_geom" value="true" />
- </application>
-
- <application name="Shadow Of The Tomb Raider (DX11/DX12)" application_name_match="SOTTR.exe">
- <option name="radv_invariant_geom" value="true" />
- </application>
-
- <application name="RAGE 2" executable="RAGE2.exe">
- <option name="radv_enable_mrt_output_nan_fixup" value="true" />
- </application>
-
- <application name="Path of Exile (64-bit, Steam)" executable="PathOfExile_x64Steam.exe">
- <option name="radv_no_dynamic_bounds" value="true" />
- <option name="radv_absolute_depth_bias" value="true" />
- </application>
- <application name="Path of Exile (32-bit, Steam)" executable="PathOfExileSteam.exe">
- <option name="radv_no_dynamic_bounds" value="true" />
- <option name="radv_absolute_depth_bias" value="true" />
- </application>
- <application name="Path of Exile (64-bit)" executable="PathOfExile_x64.exe">
- <option name="radv_no_dynamic_bounds" value="true" />
- <option name="radv_absolute_depth_bias" value="true" />
- </application>
- <application name="Path of Exile (32-bit)" executable="PathOfExile.exe">
- <option name="radv_no_dynamic_bounds" value="true" />
- <option name="radv_absolute_depth_bias" value="true" />
- </application>
-
- <application name="The Surge 2" application_name_match="Fledge">
- <option name="radv_disable_shrink_image_store" value="true" />
- <option name="radv_zero_vram" value="true" />
- </application>
-
- <application name="World War Z (and World War Z: Aftermath)" application_name_match="WWZ|wwz">
- <option name="radv_override_uniform_offset_alignment" value="16" />
- <option name="radv_disable_shrink_image_store" value="true" />
- <option name="radv_invariant_geom" value="true" />
- </application>
-
- <application name="DOOM VFR" application_name_match="DOOM_VFR">
- <option name="radv_no_dynamic_bounds" value="true" />
- </application>
-
- <application name="DOOM Eternal" application_name_match="DOOMEternal">
- <option name="radv_zero_vram" value="true" />
- </application>
-
- <application name="No Man's Sky" application_name_match="No Man's Sky">
- <option name="radv_lower_discard_to_demote" value="true" />
- </application>
-
- <application name="Monster Hunter World" application_name_match="MonsterHunterWorld.exe">
- <option name="radv_invariant_geom" value="true" />
- </application>
-
- <application name="DOOM (2016)" application_name_match="DOOM$">
- <option name="radv_disable_dcc" value="true" />
- </application>
-
- <application name="Wolfenstein II" application_name_match="Wolfenstein II The New Colossus">
- <option name="radv_disable_dcc" value="true" />
- </application>
-
- <application name="RDR2" application_name_match="Red Dead Redemption 2">
- <option name="radv_report_apu_as_dgpu" value="true" />
- </application>
-
- <application name="Resident Evil Village" application_name_match="re8.exe">
- <option name="radv_invariant_geom" value="true" />
- </application>
-
- <application name="F1 2021" application_name_match="F1_2021_dx12.exe">
- <option name="radv_disable_htile_layers" value="true" />
- </application>
- </device>
<!--
The android game hall of shame:
diff --git a/lib/mesa/src/util/bitset.h b/lib/mesa/src/util/bitset.h
index 279ad553e..d8ec1af67 100644
--- a/lib/mesa/src/util/bitset.h
+++ b/lib/mesa/src/util/bitset.h
@@ -208,7 +208,7 @@ __bitset_shl(BITSET_WORD *x, unsigned amount, unsigned n)
static inline void
__bitset_set_range(BITSET_WORD *r, unsigned start, unsigned end)
{
- const unsigned size = end - start;
+ const unsigned size = end - start + 1;
const unsigned start_mod = start % BITSET_WORDBITS;
if (start_mod + size <= BITSET_WORDBITS) {
diff --git a/lib/mesa/src/util/slab.h b/lib/mesa/src/util/slab.h
index 969b0ec5c..f6dcbe5c9 100644
--- a/lib/mesa/src/util/slab.h
+++ b/lib/mesa/src/util/slab.h
@@ -55,6 +55,7 @@ struct slab_parent_pool {
simple_mtx_t mutex;
unsigned element_size;
unsigned num_elements;
+ unsigned item_size;
};
struct slab_child_pool {
@@ -81,6 +82,7 @@ void slab_create_child(struct slab_child_pool *pool,
struct slab_parent_pool *parent);
void slab_destroy_child(struct slab_child_pool *pool);
void *slab_alloc(struct slab_child_pool *pool);
+void *slab_zalloc(struct slab_child_pool *pool);
void slab_free(struct slab_child_pool *pool, void *ptr);
struct slab_mempool {