diff --git a/lib/mesa/.pick_status.json b/lib/mesa/.pick_status.json index b8d3c95f6..867eb75d5 100644 --- a/lib/mesa/.pick_status.json +++ b/lib/mesa/.pick_status.json @@ -1,4 +1,4765 @@ [ + { + "sha": "e94c22429b64f419d9a66f04fa5ecdad33f7f5ef", + "description": "anv: refresh cached current batch bo after emitting some commands", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "34a0ce58c7f85ea3ec3f1026469ce06602f38a5b" + }, + { + "sha": "a1c2bd6ce8981b34c0cf9333699b0ce75be6cb55", + "description": "radeonsi: use radeonsi_clamp_div_by_zero for SPECviewperf13, Road Redemption", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b8445520cba818dbc53db95ce99e2beb00d8884e", + "description": "radeonsi,driconf: add clamp_div_by_zero option", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "32f46a55c8229b2a8d67d895be18651a81f8e6ff", + "description": "ac/llvm: add option to clamp division by zero", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f8c0e20152b7f3f0b8d881648083a271ca528c28", + "description": "radeonsi: enable PIPE_CAP_NO_CLIP_ON_COPY_TEX", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d94bec5c49d926069f97a4b12fb2532611a9080c", + "description": "mesa/st: introduce PIPE_CAP_NO_CLIP_ON_COPY_TEX", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "54fed1cf95ea8cbbdc18c6c82e8f766444a12ac3", + "description": "gallium/swr: Fix compilation TCS/TES compilation issues", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "639605e5ba947bb947313a6584ef7fbb8619e9c2", + "description": "gallium/swr: Fix compilation with LLVM 12", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "abbfc5b8db7412fa2e6f8c1b66ff97b886c4ac70", + "description": "spirv: fix retrieving dest type for OpFragmentMaskFetchAMD", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "a196f05fc22620be5809f7b28ce7f2671b1ef32c" + }, + { + "sha": "4500e6e460dca068157862b95c7534d7d163c42c", + "description": "vulkan: make VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT conditional", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "67a2c1493c068281936fecba9fa6784becf08f8e" + }, + { + "sha": "7fbeb2623f309c9966945a104f35b5c9f2034092", + "description": "radv: remove seccomp includes", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "7324977e420260cea0627e3381a9f3ae4e62af0f" + }, + { + "sha": "b30bd6fe5f254d895c1dec780f24518b3e880ed4", + "description": "util/os_misc: os_get_available_system_memory() for OpenBSD", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "b80930a6fea075d2ef283ceac5a2a64e65fd7bc4" + }, + { + "sha": "5b1ed09ff023ff98fed0c78a5ea609821cb92a8c", + "description": "anv: use os_get_available_system_memory()", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "b80930a6fea075d2ef283ceac5a2a64e65fd7bc4" + }, + { + "sha": "033dcb2978c6d95d42da944b8147228d239d32f4", + "description": "util/os_misc: add os_get_available_system_memory()", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "b80930a6fea075d2ef283ceac5a2a64e65fd7bc4" + }, + { + "sha": "81b163fb73ae73709d257badf4f5aaf3b63fca4a", + "description": "anv: use os_get_total_physical_memory()", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "060a6434eca9fb05ca2dfd612f8abd4786ee4549" + }, + { + "sha": "0369dd907778d8636e2b074717846bb658d76d90", + "description": "freedreno/a6xx: Add ARB_depth_clamp and separate clamp support.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5c0d34cee45f77ebfbe374fc565e53497a290177", + "description": "ci: Enable KHR-GL30 CTS testing on freedreno a630.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ef807a52f132d789063ba3d5b8b090c6816c4915", + "description": "ci: Use the same VK-GL-CTS tree for GL/GLES as VK.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "eb02b311234b71b155496681f294954f3de61823", + "description": "ci: Bump vulkan CTS version to 1.2.3.2, and keep the GL CTS around.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b9df3fef4d5a25ae040a7d784fe0578788f71252", + "description": "panfrost: Drop PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER/BUFFERS", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d7b6d2e792ef736aa41291815f9d32cf68d84d0b", + "description": "panfrost: add support for atomics", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8e221f58a66fe3bbb2f3354a1c7b888f5248bcd6", + "description": "panfrost: add atomic ops infrastructure", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "703b03bd452bab26406077cf553508a0d80c8e92", + "description": "panfrost: add support for src[3] in LOAD_STORE ops", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f61190024e3837e5cadd412741892ece88247414", + "description": "panfrost: introduce LDST_ATOMIC property", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "16664fc641801225878589f72ee3ae6f0cb28bac", + "description": "panfrost: add LDST_ADDRESS property to atomic ops", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8e8805b212dd7e21b1ec28888ef7fbf477c5213f", + "description": "panfrost: add atomic_cmpxchg opcode", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "11012611d7fb6b26e0959bc462d47131699be6e2", + "description": "panfrost: fix undefined value access on mir_set_intr_mask()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "526f3566332e6fdf3bc413471a1a6e5ad091f0c5", + "description": "clover: Use 64-bit offsets for shader_in on 64-bit GPUs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c93ade93fb98b3eca45ee42ec0638ec055f39e7a", + "description": "nir/lower_explicit_io: Assert that compute address sizes match derefs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6678f1e81cc19522d9ac064cb0a6e8b3da553ac3", + "description": "spirv: Drop the constant_as_global as option", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "26a4c8f375e66e8e2ddf2bbde205baa929578599", + "description": "clover/nir: Use nir_var_mem_constant for __constant memory", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "dfa63f26561c9735fbd1926ae01dd98b2b5d3235", + "description": "llvmpipe: Add support for load_global_constant", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4087b5343d8d85f46ead6656f58c94cec0289cb0", + "description": "nouveau/nir: Implement load_global_constant", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ff2f44d86585e842d2e412e0730a5742441fafe2", + "description": "intel/fs: Implement nir_intrinsic_load_global_constant", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1bdf8506384fce4c9dc13504e1b3272d1ddc1097", + "description": "spirv: Use nir_var_mem_constant for UniformConstant data in CL", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bb8d8ba9c7f73e14f4053756bc1feab8cbf3b0d6", + "description": "nir: Allow opt_large_constants to be run with constant_data_size > 0", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4360a8a2b3fce819e93c2844077ac0b26d234ead", + "description": "nir/lower_io: Add support for nir_var_mem_constant", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ef142c68e1161bfa1fbe1ff19419a54cb1e8ea73", + "description": "nir/lower_io: Add a build_addr_for_var helper", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "965c2688657016cc313baac8b26de5141d5684c0", + "description": "nir/lower_io: Use the variable mode for load_scratch_base_ptr checks", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ff124e3fe3e89c594b91e62d3e233cfc2af3ef34", + "description": "nir: Add a load_global_constant intrinsic", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e4f07f8bdc602bae665fd57bb69e293a69d89bef", + "description": "nir: Add a new nir_var_mem_constant variable mode", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b9927c8c8d0c105699306a68773c015930ff9509", + "description": "nir/serialize: fix serialization of system values", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5c45eaf9b3578094c36911cbbd085097642d3b13", + "description": "clover/spirv: fix vec3 alignment", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6e52c6dfcc93aa801d1ac86796492fc325d997d2", + "description": "nvc0/cl: hande 64 bit pointers in nvc0_set_global_handle", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5eacaa95a782eb1e63f6c51dc3f1ace1960ab958", + "description": "spirv: fix 64 bit atomic inc and dec", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1c9efcd7a6faa2e12361f5aa3007311563792095", + "description": "nvc0/ir: fix load propagation for sub 4 byte addressing", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "036f1c29fc704288ceb6f7d35485ec5f86ea443a", + "description": "clover/llvm: undefine __IMAGE_SUPPORT__ for devices without image support", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7dc39838edb6927bfb093c367fad4340a72eab70", + "description": "clover/nir: use offset for temp memory", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d7b65cf7d3d51124be590a1b66fb89f94f723fe3", + "description": "nv50/ir: fix cas lowering for 64 bit", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d421af3a99374da72c1e661c15d9a46177b745d0", + "description": "clover/nir: Lower function_temp to scratch.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8e259dad4cf4848883d1e349c6fdd2f3ed1fdcdc", + "description": "egl/x11: simplify dri2_initialize_x11()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bd385c424bdda6ffe38ea9100c77e43337dd34b8", + "description": "egl/wayland: simplify dri2_initialize_wayland()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f7e0cdcf1a5b639b4df610be600fa5d8db100289", + "description": "egl/surfaceless: simplify dri2_initialize_surfaceless()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "83b5c1abc6ccaa5807f931e914842d181ab2410a", + "description": "egl/android: simplify dri2_initialize_android()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "cccb497d3c3bbc8f615fe79d774eb42a48e5a95c", + "description": "intel/fs: Fix MOV_INDIRECT and BROADCAST of Q types on Gen11+", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "49c21802cbca8240b272318759b1e472142929e6" + }, + { + "sha": "70cbddc4a7967c8889f8b10d8a31d7b8bdbde2fb", + "description": "nir: use enum operator helper for nir_variable_mode and nir_metadata", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "76a1fb3b42c245a425fde55b97a393d3e1984112", + "description": "util: add helpers to define bitwise operators on enums for C++", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "24dfd798d6205fd545dd988eb6c9dd2eae5b7929", + "description": "nir: use nir_var_all to get rid of casting", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "15da98365388983eb9ef1a65c2e7da6ef2ab89e0", + "description": "nir: Improve the comment on num_inputs and friends", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4d18e71fea908ca64b23ee28d36fec780970e9b2", + "description": "nir: Rename num_shared to shared_size", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "471f260ef361282d01f15d9462933a3f3f6af4af", + "description": "spirv: Delete some dead workgroup variable handling code", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1459cce7ec739717eed7c23aed641100ac6cb3fc", + "description": "spirv: add some tests for volatile/available/visible", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fb6b243c113a2bab9bd63ea98381e1eeeecc8421", + "description": "spirv: Support big-endian strings", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a8d8fbb9ce193944c769f90388f67432efa74757", + "description": "spirv: implement SpvMemoryAccessVolatileMask", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f81e1d2824e7fee7f28c6b3bcdc564265c3658c0", + "description": "spirv: implement Volatile image operand", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2ba3ffa76c608fc6929b22d16731cc42202cacca", + "description": "spirv: implement Volatile memory semantic", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "23bfba8663cadeb5167c0b30d9b64cf01a913911", + "description": "spirv: implement MakePointerAvailable/MakePointerVisible for OpCopyMemory", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e01d1a9f16da86788c1bdc47d84fb630f46218eb", + "description": "spirv: add vtn_emit_make_{visible,available}_barrier helpers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b85c38a86f98ed0614afdaf31a8a66c20a7b51fb", + "description": "spirv: make OpLoad/OpStore visibility/availablity barriers acquire/release", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5b92392c483c8f15599ed48abc824e606e859b02", + "description": "spirv: fix Uniform and Output MemoryAccessMakePointer{Visible,Available}", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "857b9c50276141c874c0dba2475afe73ce62a013", + "description": "spirv: Add a vtn_get_mem_operands() helper", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "959539fbbd1fc18fab85b23bb93e0716c170d010", + "description": "intel/isl: Drop unnecessary check on 16bpp depth format", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "829699ba632b2b78e4de372baf42ae01095158a7", + "description": "anv: implement shareable timeline semaphores", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a965ffad21d41f14e09babd18896bb962b326da4", + "description": "anv: add new gem/drm helpers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a0c07e41e5234cc79bb18edb3a34954e74d07680", + "description": "include/drm-uapi: bump headers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a6291b1b1177f5728e2e1998225f0b8676c6e710", + "description": "freedreno/ir3: rework setup_{input,output} to make struct varyings work", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c694af40bf341b08ddf74f62fde66c9030e1ac80", + "description": "freedreno/ir3: improve handling of aliased inputs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "acb6163d5e683087bbfdea93ec13d02bd1a4ed59", + "description": "freedreno/ir3: remove indirect input load", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "00973542ffe93224949ca9654757f8b0581e2ef9", + "description": "radv: Allow triggering thread traces by file.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0d862da17060a73952aa7c3ce05666dc9ab229b6", + "description": "radv: Centralize enabling thread trace.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b7a6333ee400009e4a39d79c72088c37cc94aa0d", + "description": "amd/registers: switch to new generated register definitions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e492a3195c2619fe3813a882c27bf29e5d5454d9", + "description": "amd/registers: add non-gfx10 register files generated from kernel headers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "48a7a24a69f324641f49d9c5e66cf2114745861b", + "description": "amd/registers: add a script that generates json from kernel headers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b2f23afe668ff7f83d2c31ba0115d47a4cb12565", + "description": "amd/registers: sort registers by offset in json", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "843b4e631f050248efd7e761fe6a79099c7fc485", + "description": "amd/registers: expose the canonicalize.py program as a function", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ec5e918ef4911d09b5611773bc58952b13ccef38", + "description": "vulkan/wsi/x11: wait for acquirable images in FIFO mode", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d0bc1ad3776bce7d4b356e2a3d8bdbb9ae64e588", + "description": "vulkan/wsi/x11: add sent image counter", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "68957a82562d13b3f0d21a04ce633ffd236e6036", + "description": "aco: Add README which explains about what ACO is and how it works.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b4d4c548eb5824843f070239a874e55a2cb8b7b2", + "description": "aco: Fixup markdown formatting of the README-ISA.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "086fafc4e00912c045091bfc1b45997c9bd935d0", + "description": "aco: Move README to README-ISA", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bc123c396a99b2f6ff845792374d6a8d5de5d15e", + "description": "nir/algebraic: mark some optimizations with fsat(NaN) as inexact", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a6c4db9798b3a4b496ad18430dcba1839986b896", + "description": "ci: Restrict \"success\" job to pipelines for MRs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d383133ce1ddd16e3099615fcd31e6f28c11b17b", + "description": "docs: Stop claiming to implement OpenVG", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0308e639cf7ab30eef15fe5529138675a5e616e8", + "description": "ci: Don't exclude \"success\" job from mesa/mesa pipelines for MRs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f13f32f83f379b777a7665ffd7d2a1e7aaaf3a62", + "description": "ci: Create test-docs job in mesa/mesa pipelines for MRs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "52cac068621a5998f486f8e44f9c2d9d045d1c31", + "description": "gallivm: fix build on LLVM 12 due to LLVMAddConstantPropagationPass removal", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8b1ab78985b54623200bc5e90c7149685bb4b7ce", + "description": "radv: dump GPU info into the hang report", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "aa675cdc91fe1d317650c279b3470c0081e85527", + "description": "radv: improve reporting faulty pipelines when a GPU hang is detected", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "dd1f035f6e74bab568782ec8753eaf234f25a104", + "description": "radv: force RADV_DEBUG=syncshaders when RADV_TRACE_FILE is used", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "004119d5b7d4b1679e6dd691e9ab2ab7d65f8516", + "description": "vulkan: Fix memory leaks.", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "9bc5b2d169d3a3c9d52fc30987eaba52e3b7dc00" + }, + { + "sha": "50e14c3d258f5be887b4101cc3b01bb16ad50caa", + "description": "radv/winsys: Fix memory leak.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b778e7bd6c1d82ce739d7e278de00ee600532cd5", + "description": "nir/vtn: Convert constant samplers to variables with data", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "397730edd5bac440853af8018dda76e0807bc51c", + "description": "nir/vtn: Add intrinsics for CL image format/order queries", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5ce6821900f67f677cf7c7ec0ed6246893fdfdc9", + "description": "nir/vtn: ImageSizeLod op can be applied to images", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "701cb9d60c0350b0134e52cb1b51eefbbf27bd22", + "description": "nir/vtn: Handle integer sampling coordinates", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a196f05fc22620be5809f7b28ce7f2671b1ef32c", + "description": "nir/vtn: Use return type rather than image type for tex ops", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "de36b5b805be1732e6798afd1a12743df8d32718", + "description": "nir/vtn: Add support for kernel images to SPIRV-to-NIR.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ce6f66242ad33be84c0a34519f18bdc15c195950", + "description": "nir/vtn: Add type constant to image intrinsics", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "865a2ad0866e271adda3cd18c46f74514131da11", + "description": "clover/nir/spirv: Use uniform rather than shader_in for kernel inputs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "41d0a81c2a3f09701e8c694b520c8d900f6ac2f1", + "description": "pan/mdg: Fix perspective combination", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c8ac01af33a5bc63822915f08f89a7dbaf7d433f", + "description": "pan/mdg: Fix discard encoding", + "nominated": true, + "nomination_type": 0, + "resolution": 0, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9efdbb2af475ac119f5e5bb1eb128d842ee52998", + "description": "anv: fix robust buffer access", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "957bbc6ad907ec3b439bb3cae578001f49a4d6fc" + }, + { + "sha": "73d2c6cdce8c12e87e387bc958c720f9d8f6b9b4", + "description": "nir: Switch the indexing of block->live_in/out arrays.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5d2b2b59c451915c0b11184ae47c0673fdff3146", + "description": "nir: Invalidate live SSA def information when making new SSA defs.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d3b652f13d89726757a0fd0d2d9c07084dd90a16", + "description": "ci: Switch to using gold as the linker.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8c4fb19f0963c5b831bb854f92818342542ada30", + "description": "pipe-loader: Use real galliumvl if radeonsi is being linked.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "221aa00eeb33938dab06b26c8a770ecae3698825", + "description": "turnip: Make sure we include the build id.", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "f97acb4bb4b18f127b62aa8eeb57cdf3d8fe3aa2" + }, + { + "sha": "2d1c60700528e17ca5693ff3943d7662577b3d26", + "description": "ci: Make a missing device name correctly bail out of deqp-runner.sh.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ee288f293b37b7acab93d552400a4667b5f41118", + "description": "nir: add shared/global atomics to nir_get_io_offset_src()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e281ee04dfe3d035f0da4ad37240392ddf41220c", + "description": "nir: Look up the shader when printing a single instruction.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a3a8322dcd7aaede8dedff131c7d73bdbe3f06f9", + "description": "nir: Fix printing of individual instructions with io semantics.", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "2b1ef5df4eacae2a1c4028655c8b1f35412e0a3b" + }, + { + "sha": "4c050f222fd4a330413bc24fae447782b35df3fe", + "description": "panfrost: enable DrawTransformFeedback*", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e8b3bc1d5530f3979b2a5053bba026c4804147e8", + "description": "intel/nir: Lower things with > 4 components in lower_mem_access_bit_sizes", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "55ae7045135f430db579c4457f49854f34498e67", + "description": "intel/fs: Add support for vec8 and vec16 ops", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b6a013ccab0f5545bdc2e63dae1c93e688a93eaa", + "description": "anv: VK_INTEL_performance_query interaction with VK_EXT_private_data", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "51c6bc13ce3a70b1948ce5c4edbc1d29c5460986" + }, + { + "sha": "5d52c26e78b50fe2c1a4893bd4214f95136e6e32", + "description": "vulkan: Don't pointlessly depend on libxcb-dri2", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8239fe5d74216218796872de040834e41da0e93d", + "description": "zink: add note about buffer<->image copy functions not handling multisample", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d84a75466c9d0df78370675421472afe5663b4e9", + "description": "zink: use u_transfer_helper to split/merge interleaved depth/stencil formats", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7059708dcdb7d594579b941edcd03d57762183d3", + "description": "broadcom/qpu_instr: wait is not a read or write vpm instruction", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "efd29d429ea71cb31641e6602a087f537124a417", + "description": "docs/features: Add missing Panfrost extensions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8ff6e7c7399822a07a3b5f1ff71a848e6e092389", + "description": "panfrost: Set PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7dab5749c89181bc71b8d1635ab1a9b1a7928163", + "description": "pan/mdg: Implement texture gathers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "661123bb19d4f17c895a3fe166b3f87ddb2191eb", + "description": "pan/mdg: Add disassembly for shadow gathers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f6e19dd3f45de7bc9edfe0aa9254abc3412c2610", + "description": "pan/mdg: Refactor texture op/mode handling", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "80ebf110aed77ec4fdf05ed2266fd3736fa55040", + "description": "pan/mdg: Implement nir_intrinsic_load_sample_mask_in", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "41184f89eb90735b9423d1fed579d952697c978f", + "description": "pan/mdg: Bounds check swizzle writing globals", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2486fe6761d4d365b03870171a747bd06a840ad0", + "description": "pan/mdg: Scalarize 64-bit", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3e2cb21e53cf9d5a3ef984ef5abbfd9683e516a8", + "description": "pan/mdg: Implement i/umul_high", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fd41dece39c7d6110951e0fd6fc1693663e7c10d", + "description": "panfrost: Emit texture/sampler points for compute", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "55765f80b9ce7cce4ec6a1c2bed6476776d9cbed", + "description": "util/u_thread: include pthread_np.h if found", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "dcf9d91a80ee76f46e162afef9bd1b2ddb53ecc3" + }, + { + "sha": "c66c5b38e0ad136aa9301fd60aafea736d433c57", + "description": "util: futex fixes for OpenBSD", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "c91997b6c4395831a8de2b84e6ea2ff981a00e4b" + }, + { + "sha": "0398caa97fa6ab9a0eac29dfca38b3fceb2cc026", + "description": "meson: conditionally include -ldl in gbm pkg-config file", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "816bf7d1644b9b14df253c5d54f595514aa34703" + }, + { + "sha": "c97af23b13c55c27f5fe381793ee9a3d6f3a2280", + "description": "meson: don't build with USE_ELF_TLS on OpenBSD", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "a47c525f3281a2753180e076c7e9b7772aff8f06" + }, + { + "sha": "9ac16864227cc63ca6b23eeab39fdcc7f85beca5", + "description": "meson: don't advertise TLS support if glx wasn't build with it", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "a47c525f3281a2753180e076c7e9b7772aff8f06" + }, + { + "sha": "f9a7e6e854ddedafd3c85f7eaeca1a00ee7bced5", + "description": "meson: build with _ISOC11_SOURCE on OpenBSD", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "e3a8013de8ca854d21225be00f123ccf63f9060f" + }, + { + "sha": "6e9c0661f8538cdabe7d7de73af11b4165f51f93", + "description": "util/anon_file: add OpenBSD shm_mkstemp() path", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "c0376a123418df0050dc45d3e1e84f6b29a6a1f3" + }, + { + "sha": "7eab6845e9dd49f0ef0bf9a7d986aaf685e77981", + "description": "util: unbreak endian detection on OpenBSD", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "cbee1bfb34274668a05995b9d4c78ddec9e5ea4c" + }, + { + "sha": "8301a43f272df7aa8c28e4143be1549bbef74e42", + "description": "radv: dump shader stats with VK_KHR_pipeline_executable_properties", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "35a42ff9c599bb617e889269c36cbb025d6383b9", + "description": "vallium: disable VK_KHR_shader_float16_int8.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8f6eb35e0972e95127ab8ea984f915f7c3526544", + "description": "gallivm/nir: add some f16 support", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b31e8460a6bef37063bb9dfb55e4df3298cd533f", + "description": "gallivm/nir: allow 64-bit arit ops", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "dc6313b0982638ce985db7a0b6fc4dbc60cefa60", + "description": "llvmpipe/fs: multisample depth/stencil bad ir generated", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6d60cd44f3fc9fbecee3e6f587eaa0c08ccdf3de", + "description": "llvmpipe: add array/3d clearing support", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2d6385715da3368597671046368ff4fe11c1ca8e", + "description": "llvmpipe: blend has effects even if no colorbuffers.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "727bb217be680ba7de4e8821fbe409921952cd93", + "description": "gallivm: use common code to select texel type", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6596957641ff1e070d4790669a449e1d1d550e86", + "description": "gallivm/nir: add subpass sampler type support", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "21324c40366eeeeacc29ac496e646491ebe3412f", + "description": "gallivm/nir: lower frexp/ldexp", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d7aed02bccae41c68c06002bab42c9efe166e68e", + "description": "gallivm/nir: fix const compact", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "96a5ced65f6cfb666d040f3d75f40c6c5878946b", + "description": "gallivm/nir: add quantize to f16 support", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1d4a560ba263ebeaf104dd1131f427c3c95510c3", + "description": "gallivm/nir: add indirect swizzle output loading support", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5177ffed6562a06b3e6ab83c31baad3cc0f21db6", + "description": "gallivm/nir: lower tg4 offsets.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "87a638dc1f65c4de4317f9cea2d28e73438f46e0", + "description": "gallium/nir/tgsi: fix nir->tgsi info conversion for samplers/image", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "668e4c235657ba230eab326d5001f60f37e403c3", + "description": "vallium: limit buffer allocations to gallium max.", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "b38879f8c5f57b7f1802e433e33181bdf5e72aef" + }, + { + "sha": "857008850f37886f3febeaaf3b4e42f3db4e7603", + "description": "vallium: handle 3D image views properly.", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "b38879f8c5f57b7f1802e433e33181bdf5e72aef" + }, + { + "sha": "99330e50c9e08532f5d9c3568be938c7e9d8fd93", + "description": "llvmpipe: add reference counting to fragment shaders.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ac6b8e42ce20e5003af0846602af3f5caec182fa", + "description": "nir: Take a variable remap parameter in nir_inline_function_impl", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b6f31898a24adda853d8ac2ce3dff211a819c1cf", + "description": "nir: Use a switch in nir_inline_function_impl", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b7db9ee320fac97cd890f1fb331e6c8059069461", + "description": "intel/nir: Clean up lower_alpha_to_coverage a bit", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b6fdb1405ee2688ffc15acdf0476dece8bc8846b", + "description": "intel/nir: Rewrite the guts of lower_alpha_to_coverage", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "7ecfbd4f6d407460ae47c598f07627b2b8468811" + }, + { + "sha": "72dc06e07e3f8b9ed5bb46e3927b8f87dd24e42b", + "description": "intel/nir: Pass the nir_builder by reference in lower_alpha_to_coverage", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "7ecfbd4f6d407460ae47c598f07627b2b8468811" + }, + { + "sha": "373e25e6b53338c6fa6c5757a878e10398241c47", + "description": "ci: Add a release build with -Werror enabled.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "60fb460f9d7154c8080b0be2d59013917ff4ad6f", + "description": "virgl: Fix unused var warnings in release build from assertions.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c24f792c8b4e64a8ea968f958240088965e2f192", + "description": "lima: Fix uninitialized var warning from using assert() as unreachable().", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f6456d74ed0b303a7136a3d22309fb73b56eb8a0", + "description": "lima: Fix unused var/function warnings in release build from assertions.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "65f484198a3c36ec35b34b09b1a7880f06fbc214", + "description": "etnaviv: Fix unused var warning in release build from assertions.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ab6a09f25b978b22142a6b00e6126c968d6789b9", + "description": "zink: Fix unused var warnings in release build from assertions.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ca73c3bc596eae86aaeb03d0064568e8c0540e07", + "description": "nv50: Fix uninitialized var warnings from using assert() as unreachable().", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "689e36ebfe4a12240dbb8caa4618f303bbd968d6", + "description": "vc4: Fix unused var warnings in release builds from assertions.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "26471264bf7f4628814f038d518d36aad705e1a8", + "description": "nvc0: Fix compiler warning about unused var that gets asserted.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b9972fb6f5825977f40fbdc57f635bdc0985ea78", + "description": "gallium/tests: Fix compiler warning about unused vars in trivial tests.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4c24c8239a5da7fc09ee43155e66f5d71c68ccba", + "description": "panfrost: Fix remaining release-build warnings.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ecab580d48f150d798ee82ff943ba3c30b9d8a65", + "description": "panfrost: Fix OOB array access compiler warning.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ccb5e0b02b258e728cd4afb64ba7a75cefad2f09", + "description": "drm-shim: Fix unused variable warnings from asserts in release build.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8d1d0c126fdf4e65cef9d140c3254331549847fa", + "description": "freedreno/a6xx: move ubwc clear to blitter", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8d9ab0a33bb17a7f2eebe4369d8b130548ecbac4", + "description": "freedreno/a5xx+a6xx: use sysmem path for nondraw batches", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "21b90708a4ca0c2ea162dd143ef0c4156e8fb718", + "description": "freedreno/batch: replace lrz_clear with prologue", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "28079970f2ce151673701c84ad765a235ab5ba50", + "description": "freedreno/batch: split out helper for rb alloc", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9522eb7be14841f72ca2daf533f705d7546b8007", + "description": "panfrost: Store transient BOs in a dynamic array", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d87ab72ce95dce2d5b0e5116b66e8df6dc3f51c5", + "description": "panfrost: Avoid accessing pan_pool fields directly", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4047c691bff192fdcac20a16fb9a4f4071de4af9", + "description": "panfrost: Rename panfrost_create_pool() into panfrost_pool_init()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b8f2d71c4045e1ddb630c2f989e4b397b5b97099", + "description": "CI: Disable Windows again", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7fbded8b5821a47c26245b181446f972f920a96e", + "description": "pan/decode: Drop prefix braces", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "eb261a801876e35536fcedaeac1fb82da0e3cc7a", + "description": "panfrost: Remove mali_vertex_tiler_postfix", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "760289174b8166ceef7e328b8007745f27ca7d77", + "description": "pan/decode: Use unpack for vertex_tiler_postfix_pre", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2425bac8fee69db464adfe24a0fcb38737f28b4f", + "description": "pan/decode: Use generation for vertex_tiler_postfix", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "80049069265fe6457eba24949fc48e67c2a3d087", + "description": "pan/decode: Fix awkward syntax", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c088a3b5542a24ee0725007594f4afde7cf99b04", + "description": "pan/decode: Print shader-db even for compute", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6855228726151410aed520c2a4042a7a36076e51", + "description": "pan/decode: Drop mali_vertex_tiler_postfix arg", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "38ae08856546ce1f23f4ab100a74c4a57728c114", + "description": "pan/decode: Drop scratchpad size dump", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c92be29a477a2262349f484d4a511dce435726b3", + "description": "panfrost: Use nir_builder_init_simple_shader for blits", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4467e792c5169de628c049cf87bc0756fab6ec0c", + "description": "panfrost: Inline bifrost_tiler_only", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0c1f44bab74f06a379b6d668dce01f0044ca642c", + "description": "panfrost: Drop bifrost_payload_fused", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "02e768e6a96e1a0aad6d1cbb002bfb883078ad40", + "description": "panfrost: XMLify invocations", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0225ed4d72ce2e8aba3b2d05d4360d6a18c6a1d0", + "description": "panfrost: Add invocation XML", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b60d567edd6fe2149440a0365e3d9b7f899c7057", + "description": "panfrost: XMLify primitive information", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3bae493d1a15796ba579d97fabe26063dea70bca", + "description": "panfrost: Drop point sprite from shader key", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b17b6cca362a1ab8aa5cfce92f22b91a0f0fff08", + "description": "panfrost: Cleanup point sprite linking", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7d328e7ba9b842b09c5e11610e2424d69acc129b", + "description": "panfrost: Simplify ZSA bind", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "90cc8156289e5b58934ec3c428d9a0471ce551fb", + "description": "panfrost: Use pack for draw descriptor", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "33895ac2c8a19ba86cc887a1e6ac33dd4391e8f0", + "description": "panfrost: Use draw pack for compute jobs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e5c77cbead98cfed0cd84723c7cac8796a2bfa66", + "description": "panfrost: Detangle postfix from varying emits", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3a4d9305715e1a45ec25bac2114ec22c19cfae79", + "description": "panfrost: Inline panfrost_vt_set_draw_info", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3f61da79c3611e2c8bbb253b07c77f84dc101797", + "description": "panfrost: Inline panfrost_vt_init", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "136fd5cd2e857cc455113aff3c7c931183484774", + "description": "panfrost: Don't call panfrost_vt_init for compute", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1513392e776317892a074fd350497370dae7ee58", + "description": "panfrost: Avoid postfix dep for vertex_data", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8b5f9fc08af32ab68dab1d18a51e21ec686107fa", + "description": "panfrost: Remove postfix parameter from UBO upload", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1357eec801c0b19b383b2a21e35a4fb95407e289", + "description": "panfrost: Inline vt_update_{rasterizer, occlusion}", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b7169367fd677e230aa33a7b4f87962371fde2b3", + "description": "panfrost: Separate postfix from emits", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "59b6e3c98ce5279fb9dc19e0754eb4ade248cf43", + "description": "panfrost: Use draw pack for blit", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d6a5df0db0bb0c2c1fb5e5baa3d2ab906683f331", + "description": "panfrost: Add XML for mali_vertex_tiler_postfix", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e213a864e5758be5698f0383d677d94e1db27e59", + "description": "panfrost: Add padded type for instance fields", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "45c59db732528652ec70a7409af1f77d48b23325", + "description": "panfrost: Drop blend indirection", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "87e35102ddf3593ba4d06297eba5784a12a6ed0e", + "description": "panfrost: Emit explicit REPLACE for disabled colour writeout", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "75a274de061485c0f0e74de5325cf98e7cea5e1d", + "description": "panfrost: Add opaque midgard_blend XML", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0e13f803afac1a2d5e06e0c0670d1d82821ed7a0", + "description": "CI: Re-enable VS2019 build", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a2808108e8052efc7c51236117155e7478464c8b", + "description": "CI: Windows: Use separate config file for Docker", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f4c1c21306060c904210fd596421cf077b2eb613", + "description": "egl: simplify eglSwapInterval() fallback logic", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1d3fb7a7a7d47be640f7603de33cf5a685ee3aac", + "description": "egl: inline eglSwapInterval() fallback", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "957bbc6ad907ec3b439bb3cae578001f49a4d6fc", + "description": "anv: simplify push constant emissions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7953402e5751b4179fe778f86a60f385eb766e0e", + "description": "anv: move push constant allocation tracking into gfx pipeline state", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8076c7596db88333a13a72f097dba7769f176e87", + "description": "aco: fix wrong source position for constant with nir_op_cube_face_coord", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f4d861696dfb11dc2b6242a683a13238981f705f", + "description": "radv: set BIG_PAGE to improve performance on GFX10.3", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d6bc0f26c918a67ebf85595d06628e8092e271d0", + "description": "radv: emit {CB,DB}_RMI_L2_CACHE_CONTROL at framebuffer time", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "31f75aaeefe0e1bce48a00efef2c153c0f5b8be7", + "description": "nir/lower_discard_to_demote: Use nir_shader_instructions_pass().", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "265dcb383673822686a3855225b49f376e51ebeb", + "description": "nir/nir_lower_wrmasks: Use the nir_lower_instructions_pass() helper.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c5e64c041fdf825dbb27c64cd0ccc391ccf28fff", + "description": "nir/lower_io_to_scalar: Convert to use nir_shader_instructions_pass().", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "dfb8465341707970e557a96f7989cfc17bba4edc", + "description": "nir/opt_undef: Convert to use nir_shader_instructions_pass().", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e5d4bbd840622d43c25cf125aad2440abda3ccdc", + "description": "nir/lower_vec_to_movs: Convert to use nir_shader_instructions_pass().", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a62098fff202f5e6c689aa6e78ace67c50f17c8e", + "description": "nir: Add a helper for general instruction-modifying passes.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a82f664d0a4968cfc123be03e1608f430a99231b", + "description": "nir/opt_copy_prop_vars: Quiet valgrind warning about overlapping memcpy.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "98222db0da56018f4f61c742d8a7a1b7fb3cd986", + "description": "egl: document which driver hooks are only required by extensions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "cf663d0d11c669780326e08ab9c49371d0c0afe3", + "description": "egl: move extension driver functions after core functions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "12c941808ff6b9fabdb447b65724ddf49c611b5b", + "description": "docs/egl: correct/update DRI2 mention with the shiny new DRI3", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ab2e59750f28b5e861f9a2a114ea28f5bc3f9975", + "description": "docs/egl: add some more documentation", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7897c315d4f4978257a59271ce156d07ed678566", + "description": "docs/egl: add haiku driver", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c84d3049b01a2d3ce527e81a908fa31c4a867ac3", + "description": "docs/egl: complete list of dri2 platforms", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3909e9d1ac91158b36f524e1297aad8df58b87ca", + "description": "docs/egl: move section around", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3704b0250c9d8ec1cc0d5821495676a9d03be664", + "description": "docs/egl: fix typo", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "608c87afdddb9524bce3d2ccd95c2297b453072b", + "description": "nir/vtn: SPIR-V bit count opcodes (core and extension) dest size mismatches nir", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a54695ddcb26b4437c361d7df8c93f6b8a990e27", + "description": "nir: Add bit_count to lower_int64 pass", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d91f85f16e0b5cb75eddb3344343b9dc9a58d83a", + "description": "nir: Remove 32bit restriction for uadd_carry optimization", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9232887c6991151df267d835668c64ba25754240", + "description": "nir: Implement mul_high lowering for bit sizes other than 32", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ea715741b5b31044d00959b61bbc96db913e958e", + "description": "nir_lower_bit_size: Support lowering ops with differing source/dest sizes", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0d595f72b2ccea462d01923e02957f1458acdd35", + "description": "nir: Relax opt_if logic to prevent re-merging 64bit phis for loop headers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "43d22c8f2011b780467df97e58981522edccfa21", + "description": "nir: Add a lowering pass to split 64bit phis", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6b1a56b908e702c06f55c63b19b695a47f607456", + "description": "iris: Drop stale syncobj references in fence_server_sync", + "nominated": true, + "nomination_type": 1, + "resolution": 0, + "master_sha": null, + "because_sha": "f459c56be6bf33439cccc11e932b2b5b52ba7ad8" + }, + { + "sha": "e98c7a66347a05fc166c377ab1abb77955aff775", + "description": "iris: Reorder the loops in iris_fence_await() for clarity.", + "nominated": true, + "nomination_type": 1, + "resolution": 0, + "master_sha": null, + "because_sha": "f459c56be6bf33439cccc11e932b2b5b52ba7ad8" + }, + { + "sha": "45793c00d29507c6de0193fbd6c627191ba50bed", + "description": "ci: Fix up rules for post-merge / main project branch pipelines", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "502b9daa7aaee27f63cc1fa8f755fdf0a0fedcfa", + "description": "aco: add ACO_DEBUG=novn,noopt,nosched for debugging purposes", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4d40a719b07670b64d6ed4313818ac8d309bb77f", + "description": "radv: Fix 3d blits.", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "003ea78b774b82dd93948d226d4fd4d9a19ccae0", + "description": "st/mesa: remove useless code for lowered IO in st_nir_assign_vs_in_locations", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "868406197582da862e5a0e788fc49be8373dd12d", + "description": "ci: Test the KHR-GL* CTS cases with softpipe.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d2cf6a8399e38f2c26564aeb6d0646c6c6198518", + "description": "aco: sink get_alu_src() in bfe lowering", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "14d748eb28efa57507a3a84b7ef157b27ab27752", + "description": "aco: fix sgpr ubfe/ibfe if the offset is too large", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "454bc595d184da6f9567b6a3451c87616ddb6e79", + "description": "aco: remove 64-bit SGPR ubfe/ibfe", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "eb3c16e1f8fc2103cd1302a829af502679631661", + "description": "aco/tests: add tests for long jumps", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "192b9f43039eee21288145e940502de5eca1a69b", + "description": "aco: shorten disassembly for repeated instructions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ae6330d955ed9e5a6c9a0ce12a11a08b95830bff", + "description": "aco/tests: add test for GFX10 0x3f bug", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fe2dc41258b1d868b59c44256ef8397f301ed7da", + "description": "aco: create long jumps", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "156fd58cdacb28a7fca88fc9ffc84c3cdfbbb8f3", + "description": "aco: reserve 2 sgprs for each branch", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e8ac14527a2fd384c1f2cce56e44a9e93e0a13ec", + "description": "aco: keep loop live-through variables spilled", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "75d6c30572ce78952f76ee62a71332a424ca886a", + "description": "aco: fix spills_entry heuristic for branch blocks in init_live_in_vars()", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fc9f502a5bd853128a9c2932c793180035883efc", + "description": "aco: fix regclass checks when fixing to vcc/exec with Builder", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a537c9e73f86d8cb3f4a2b48b4143708b146f0fe", + "description": "aco: don't fix break condition for break+discard to exec", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1a5444b90013213fa1f1108dc74e17c5e596e5a0", + "description": "aco: don't consider the first partial spill if it's the wrong type", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8f6a900d5e5decd54f71ca89c950548089086c14", + "description": "aco: consider branch definitions in spiller", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "cacb388b3b720b63d17e08aabf2bd86d116f4506", + "description": "radv: print a warning when RADV_TRAP_HANDLER is used", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "60975ebe58ddb05beebbdd3850dc9d866aee5420", + "description": "etnaviv: Add lock around pending_ctx", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "e5cc66dfad0a811338ef088b9b4be17cadc01dea" + }, + { + "sha": "da660c90bf94527c3d54a9a59e7f7df935480479", + "description": "etnaviv: Remove etna_resource_get_status()", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "785e2707b0d181967ca8986346fa7482d4fbed0b", + "description": "etnaviv: Fix disabling early-z rejection on GC7000L (HALTI5)", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0d8ae4ac15034cf91e53a7258aae920532e72abd", + "description": "radv: fix setting EXCP_EN for different shader stages", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "05a0349949921406aefe1d99e9d2af84629997e1", + "description": "v3d: set instance id to 0 at start of tile", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2e8b6f64decc1bfdf53dc4846fc29070d0115844", + "description": "v3d/packet: fix typo on Set InstanceID/PrimitiveID packet", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "276d22c52dd9c50a2b2becd13c702fbb801a7e17" + }, + { + "sha": "15bdbf34c4f3303f4eb7b7de7c1217cbdbfa704f", + "description": "freedreno/a5xx: Don't set the VARYING flag for fragcoord-only programs.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "36bd3e986830bbf7435389cdd68e593b8b43f234", + "description": "gallium/dri2: Report correct YUYV and UYVY plane count", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "d5c857837aae205c0e1fddee30300b4419e2bb3f" + }, + { + "sha": "7323062a872674ca7868453f62ad883d32dab929", + "description": "ci: Mark the rest of compswap as flaky on freedreno.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "27e6117ee9f77ef40721f7757e181ddf93fc60dd", + "description": "nir: Report progress properly in nir_lower_bool_to_*", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "39d00722b22a0059bbc58f0158a22f384519cd39", + "description": "freedreno/a6xx: fix hang with large render target", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0f3c12c0ab05bd4f481f2b4c3397e1ddae1fb95d", + "description": "freedreno: add env var to override tiles-per-pipe", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "688ca541e7bc0f5791afe0bc3f2fd2692634b281", + "description": "freedreno: add env var to override GMEM size", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "758fdb9f3315d9ee4c31ed90e379f98928acd8b5", + "description": "freedreno/gmemtool: add tile_alignw/h and a650", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "f6f8a19092027ab0248e216997a5529565ce2e12" + }, + { + "sha": "a61890883ddb993cce1b94ccff20b638acd0a4f7", + "description": "radeonsi: fix tess levels coming as scalar arrays from SPIR-V", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "75ce078a0aff7fa0f4d6467bea787327da3a4b69" + }, + { + "sha": "e512f2cef9200af31340b1451e80da3e8b2ad4bb", + "description": "mesa: add NV_copy_depth_to_color support for nir", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "da9d721323dc8b68984dda55a7814d4f9c970963", + "description": "nvc0: Add shader disk caching", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "82dd683a3ce83461c374aa2332d2db2ff589b741", + "description": "nv50/ir: Add nv50_ir_prog_info serialize", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3e99af66b4e4ba658072e93f4de519dd271913e0", + "description": "nv50/ir: Add prog_info_out print", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f20a210dc8552daadfe403d899a9ba6cdd21560b", + "description": "nv50/ir: Add nv50_ir_prog_info_out serialize and deserialize", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5ecc06ef20efd70f35f7100b4e42bb22dc262b38", + "description": "nv50/ir: Use a bit field in info_out structure", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f2924994bd3e0389446c2ca6bc23d4712a7742de", + "description": "nv50/ir: add nv50_ir_prog_info_out", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fa8e62824075d8481d1e63ff057be7cd966c4149", + "description": "nv50/ir: remove symbol table support for compute shaders", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "83139aca59a6d7da4c4b0abfcc1371f6fc076729", + "description": "radv: Update CTS version.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4e30191c9d3e5cdb1b65d4563f2b74e9bfdcf243", + "description": "radv: Remove conformance warnings with ACO.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2a9ffc24cc7a8d782c60265e6a28f0a0067b292c", + "description": "nir: Move new edgeflag assert into the io_lowered case", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "484a60d54742a13a3b7bf8fcaa9c57ccddcb7fe9" + }, + { + "sha": "2fcfcca842a6c3ca77f38791da88b185839f064a", + "description": "nir: Copy semantics to nir_intrinsic_load_fs_input_interp_deltas", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "01ab308edc78cda777bc66f2e8110fbd8c21aa18" + }, + { + "sha": "3cda33360e7daada224b66eabbe0d497fcabf9af", + "description": "panfrost: Drop mali_shader_meta", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3d7ce1341670285b849844abd4bc55122e79da82", + "description": "pan/decode: Use unpacks for state descriptor", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1b377c2e591db4cf641bf24977829075cc64cbc2", + "description": "panfrost: Use pack for fragment shaders", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c86b51a7fa7495a36de900410f53862cbd0dabcc", + "description": "panfrost: Use opaque pack for vertex shaders", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "100b15cdc827feb5b9339502af9a3b10cc31a059", + "description": "panfrost: Add optional opaque packs to GenXML", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a7b2317d0a06c0c4c7f0fb2d7ab0c72f68ce6383", + "description": "panfrost: Use pack for Bifrost test state", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5b3b2a6697900191ed86057373253c6bea9a83bc", + "description": "panfrost: Use pack for blit shaders", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a36ac2b9b058228e3c0a4180536838924c504985", + "description": "panfrost: Inherit default values from structs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "754d54382952802b2c32b07add110d80c8261c94", + "description": "panfrost: XMLify the rest of shader_meta", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "80f1d611c5ddca6a719e0a470d3967a3d20ebcda", + "description": "panfrost: Use preuploaded shader descriptors", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1e4c49e0b5db350528e9fbc730803338ad4995fb", + "description": "panfrost: Upload shader descriptors at CSO create", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8c14482cdf134a9dcae6807671106bbc54e5aadb", + "description": "panfrost: Allocate a state uploader", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "da677a438f2a9e6c2412e9962b53068716001d9e", + "description": "panfrost: Ensure shader-db state is zero-initialized", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e0a6af9d7b73ee3bf32ba471406810dfc6cfd435", + "description": "panfrost: Simplify shaderless packing", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "55d9c25b5a9001b314c73921d7b21051c0c6505e", + "description": "panfrost: Prepack fragment properties/preload", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a29fb64c168b1659d28de495407d594d3200c5fe", + "description": "panfrost: Pack vertex properties when compiling", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5393d734a85da28a7466ae840d205bbb172de4b9", + "description": "panfrost: Derive UBO count from shader_info", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "661b46958d770a101462bb47840b485d6a183111", + "description": "panfrost: XMLify beginning of shader descriptor", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3bb61e21f8bf290773897778fbf391775ba706b9", + "description": "panfrost: Derive texture/sampler_count from shader", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d353b15beecd30dd0a4f162041afcd652bbc69a4", + "description": "panfrost: Quiet pandecode error", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a0857e9d9ebf01334a0aca731bb622cb445e670e", + "description": "panfrost: Support SHADERLESS mode everywhere", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c9858fb941ce7e903f608e537b3657c946f86980", + "description": "panfrost: Identify additional SFBD flags", + "nominated": true, + "nomination_type": 1, + "resolution": 2, + "master_sha": null, + "because_sha": "a64599a303ee8ded4bd6b3cef1f720bb7c308127" + }, + { + "sha": "7a95ed2ecf4883bb637dc865aeb28ff393480ecc", + "description": "panfrost: XMLify Bifrost preload", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1574866233ad20958f96c76feec18346642ca9ab", + "description": "panfrost: Group SFBD code tighter", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "518537d1c8c8958db97bc08bf28182cc9e43921b", + "description": "panfrost: Drop redundant NULL check", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "acf77cbb3980a9918b2dd476efbcacadeebc6a88", + "description": "panfrost: XMLify bifrost1", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1b7d4f1940ca1609c511902c33f49a3fa8069328", + "description": "panfrost: Remove midgard1 bitfield", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0268e8481e3793e8078723afd3b7dee89e6d8f09", + "description": "panfrost: Simplify bind_blend_state", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "96a9153036801249114b7a23716bda141240c341", + "description": "panfrost: Fold work_count packing for blend shaders", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "41aad9aff9d72b5ea4228b58872407ea22d2dca9", + "description": "panfrost: Use pack for shaderless", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "19ded1e1212b859c5af67613dc66ce10e2c74ee1", + "description": "panfrost: Use packs for fragment properties", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d47541285965b4f255d1e8c686d38f6e4b96fd0e", + "description": "panfrost: Pack compute Midgard properties", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "87c59514e95fa8a7d066b1003fe22c3fdd1c04a4", + "description": "panfrost: XMLify Midgard properties", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "68503f3dd5c952aaf8bf8b007a0394d127642404", + "description": "panfrost: Group SFBD state together", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "58ae50f1b186212e58a426c34fbef8aafe7bf7e5", + "description": "panfrost: Clean up blend shader errata handling", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8073e27d02b2263bc48a1bb1fd4b2eae3f03e8d6", + "description": "panfrost: Rename shader emit functions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9a2df304edbe7976c5cd7c522e06dc66b8b08b6e", + "description": "panfrost: Specialize compute vs frag shader init", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9f83217bc8c1561cb8e5d3941ebce9e9a61ee769", + "description": "panfrost: Bake the initial tag into the shader pointer", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "606f05b9ab3c54acd1a7a0a6d8ad805e9d2bf7fc", + "description": "panfrost: Clamp shader->uniform_count", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e45142113c8fa12db8f8847f8dee22fff54b9c6d", + "description": "panfrost: Size UBO#0 accurately", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e5689a5713520477b39502b68204ffc88501678d", + "description": "panfrost: Combine frag_shader_meta_init functions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bf6d548787091cc31f80e8e2e1c0d6995cca5afc", + "description": "panfrost: XMLify blend equation", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6beac11868c3656d37e383238ec007d0bcead0fa", + "description": "panfrost: Honour load_dest/opaque flags", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "919818a8a0056bbd539566e930563218e2e30fd9", + "description": "panfrost: Simplify make_fixed_blend_mode prototype", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "94c9f87df1a56864db1e2e64038ca8f9dec1825f", + "description": "panfrost: XMLify blend flags", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bbec4ff9464abc0e4eb8f496d0bb473e5307af43", + "description": "panfrost: Separate shader/blend descriptor emits", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "cfef6de429d40785a306ef2a2db7092c4ce0388a", + "description": "panfrost: Hoist blend finalize calls", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6fd62215fabf55688ec84d29efb102d8dc2be5a9", + "description": "panfrost: Decode nested structs correctly", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "75cc5b8c2922e192dd8c3e6dc33d6e691f2485fe" + }, + { + "sha": "aac5a559cc281f0a375cdf81d4b1441d165ee6f4", + "description": "pan/decode: Drop legacy 32-bit job support", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bc6d6fd0ed57c667377d9aae5cc4a7b4d56b1b6f", + "description": "scons: bump c++ standard to 14 to match meson", + "nominated": false, + "nomination_type": null, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0fd33207b7793772e60f6ad2c25a0fa97babfd54", + "description": "radv: allocate the TMA BO into 32-bit addr space", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d243d21ffc9596140800812e26feeb5d35d13d29", + "description": "radv: align the TMA BO size to 256", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2dbb87282fe0beaa692ead6f00a2a5ef1fb6b417", + "description": "gitlab-ci: Test the traces from bgfx", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "88b935bb0c0c31523fa34cbec389b8200d91a8c9", + "description": "mesa: fix formatting of messages printed using _mesa_log", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fd10cb8cfccb8882e33a1ade047fc467b9716f54", + "description": "anv: fix transform feedback surface size", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "36ee2fd61c8f943be1d1e2b0354f7a121ffef28f" + }, + { + "sha": "5e4d69ec786e56794a995be869b5a9b80d050f2d", + "description": "st/mesa: Fix EGLImageTargetTexture2D for GL_TEXTURE_2D", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "855afe01449690e1ed21f9085718551e5ea09bbd", + "description": "meson: Fix lmsensors warning message.", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "138c003d22739b0d1e6860ed398dd511a44cde04" + }, + { + "sha": "c6861b9f755e4a6b0dfe0afeaeaf8c5880e42312", + "description": "freedreno: Drop UNIFORM_BUFFER_OFFSET_ALIGNMENT to 32", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a79dad950b1f10ddeca2c907025a0f649b470cb9", + "description": "nir,amd: remove trinary_minmax opcodes", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1fa43a4a8ec37aacac4d333a4c72987819188e69", + "description": "freedreno: handle case of shadowing current render target", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "743ad7bf6b8023c9bfdc98e793ed937d0f567d07", + "description": "freedreno: add debug helper to dump buffers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6f9bb6c26ac20a816ebf95744377a948adc42441", + "description": "freedreno/a6xx: refactor debug logging", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "440aab95c3deac65d1ece587ff33ae7c3bb507cd", + "description": "gallium/tgsi: add helper tgsi_get_interp_mode", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2519472845a7eccd9ff2bfc8a3061ec2ae00de06", + "description": "st/mesa: handle lowered IO in st_nir_assign_vs_in_locations", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2424485fb436b2abeca2dc801ffda156e3d1fe78", + "description": "st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "5d0630e5043fc25aea3788c6a94059e2aceedf06" + }, + { + "sha": "493fdcf44647ee471e934de3e63d193c6a3b6ff0", + "description": "st/mesa: don't pass NIR to draw module if IO is lowered", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "484a60d54742a13a3b7bf8fcaa9c57ccddcb7fe9", + "description": "nir: generate lowered IO in nir_lower_passthrough_edgeflags", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7980f3e519f91508787b9dab3bc1e79169a77c48", + "description": "nir: add interpolation qualifiers for color sysvals into shader_info", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4d36dceeabcc59155f2fa4acaf171ce2f3d4418c", + "description": "nir: add shader_info::io_lowered", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "844167d10094099e2fdc1fa47ea22f800da305ad", + "description": "nir: properly identify texcoords for lowered IO in nir_lower_drawpixels", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2b1ef5df4eacae2a1c4028655c8b1f35412e0a3b", + "description": "nir: print IO semantics (v2)", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "01ab308edc78cda777bc66f2e8110fbd8c21aa18", + "description": "nir: update IO semantics in nir_io_add_const_offset_to_base", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "17af07024dfc8302b37a270cea4ef3eae06fe5e2", + "description": "nir: gather all IO info from IO intrinsics", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "502abfce7f5df1811b619657e2e973916699dbc0", + "description": "nir: save IO semantics in lowered IO intrinsics", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ec1fa1d51ff614c19d08c949482b40c060de48c9", + "description": "intel/perf: fix raw query kernel metric selection", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f1da3bb3d5ef8a7d11b8abc8534fc7d5ca875faa", + "description": "intel/perf: store query symbol name", + "nominated": false, + "nomination_type": null, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a9019d14aed7a6f76fc764afd1e200c816df06b1", + "description": "nir/load_store_vectorizer: Clean up unit test swizzle assertions.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2b2524099379b96a6dbeab037a25cbf5d71da7df", + "description": "freedreno/ir3: Replace our custom vec4 UBO intrinsic with the shared lowering.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "73616598bd25764789f858fdadf7c6cd9dccb49c", + "description": "nir: Add a lowering pass for backends wanting load_ubo with vec4 offsets.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d84a16e4817c33eb8cf7d47cc15e6a3ee6385cd1", + "description": "nir: Add nir_[iu]shr_imm and nir_udiv_imm helpers and use them.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e78b887f76706ed0667457079474c31ac08374d0", + "description": "nir: Make the nir_builder *_imm helpers consistently handle bit size.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f820dde201f82763b5165dfe6516f20e9c80795b", + "description": "aco: Fix convert_to_SDWA when instruction has 3 operands.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0d194a70c6497ea77bb57aa22e229c4fceabb653", + "description": "aco: Fix unused variable warning by adding ASSERTED.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "089bc22de530a1ff251bb1e809f77de9cd578142", + "description": "r300: Use util_blend_factor_uses_dest", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7a776f43d20d436a493222291a8243f3ff1bcd88", + "description": "si: Use util_blend_factor_uses_dest", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e0554634592b4dd616bcc51d3e941f86e7bec044", + "description": "gallium: Add util_blend_uses_dest helper", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e05930511b7d3dafa36cc8d2dca51767edeff3b9", + "description": "gallium: Add util_blend_factor_uses_dest helper", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "48a910d1f9344ed46822b9a969c200e606613cf3", + "description": "radv: use the trap handler to detect faulty shaders/instructions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8e97a61cfbb50e427159877a2b8110ec0f5ce8ef", + "description": "radv: enable the trap handler and configure the shader exceptions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "af3230e39e9a4fe848e8c859095db8dab6869ccf", + "description": "radv: add initial trap handler support with RADV_TRAP_HANDLER=1", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8fd2f5c16d902708136764f7121aad471559fb23", + "description": "radv: add a small interface for creating the trap handler shader", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a0814a873d50f65484b17927379fbb47cf90372e", + "description": "aco: skip unnecessary compiler pass for the trap handler program", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9c46e6fca323390f3cb74d6e865d2883a4fbd453", + "description": "aco: add a helper for building a trap handler shader", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a6146aa5980f972a11ee054a49bba9dc79b8bbd4", + "description": "aco: validate that SMEM operands can use fixed registers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "baa9268eb68500e66c3d151f7c97da354552fa91", + "description": "aco: add TBA/TMA/TTMP0-11 physical registers definitions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7e493e510b7722ea54138906e7bb3b05b58637e7", + "description": "amd/registers: add some SQ_WAVE_* register definitions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3aa71a61ddebce731205caac079372501f2f8ccd", + "description": "amd/registers: add missing TBA registers on GFX6-GFX8", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5e841e8b4fd689c50e5ff870ccd64788c6181c9e", + "description": "nir: add iabs-lowering code", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9e5e3be412271ff700c9ad7c0c51453ea1e95007", + "description": "egl: drop invalid shebang", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "32dc71b23acc996198ecf429018a12326689ae01", + "description": "clover: Call clang with -O0 for the SPIR-V path", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e3e45e2456d2dc7eccf03d7c93bc9cee823a1eec", + "description": "clover/spirv: Don't call llvm::regularizeLlvmForSpirv", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "2043c5f37cf1f1b64a8f5d9ae04bbf8e7860f616" + }, + { + "sha": "c84e2784eb205c7cf9c74b9dbcd5a1b657f93aa4", + "description": "intel/nir: Allow splitting a single load into up to 32 loads", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "febe7622468cf71c14a471d2939b9ee80b04466c", + "description": "intel/fs: Fix an assert in load_scratch", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "63dd1e980c6855cbfe4cc0ea71779b52c03631ca", + "description": "iris: Always re-upload sysvals when we have kernel inputs", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b4b39b802bda1a9cc91ee3192c8c23c9eba2e155", + "description": "iris: Normalize all compute shaders to MESA_SHADER_COMPUTE", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d0a8ad77e99385175b8266f4dc4d66dd2baa85e7", + "description": "iris: ref/unref the GLSL type singleton in screen_create/destroy", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b9678aa17d3dc0abca6db4ed9d7102dcb9a7d899", + "description": "iris: Stop advertising clover-only caps", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6ec286935aee9d095d06a23669dec02c60439eb7", + "description": "iris: Stop advertising PIPE_SHADER_IR_NIR_SERIALIZED", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4fd2a452675c8b302128f0b9224f175364ce33b6", + "description": "clover/nir: add support for global invocation id offsets", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "47e52d84ea3d4c1830bf942a41151aaabbf320d3", + "description": "nir: fix nir_variable_create for kernels", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "368e9a0b545633ca352596964657a334b88e0473", + "description": "spirv: Use new global invocation offset system value", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d3faac7a155969722cd5c1e7806c141762c39757", + "description": "nir: Add options to nir_lower_compute_system_values to control compute ID base lowering", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2e1df6a17ff82c4a456caa8be4bfae1fac009b6a", + "description": "nir: Move compute system value lowering to a separate pass", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "58074143f540925da92f85a5fb314929648f6dca", + "description": "compiler/nir: make lowering global-id to local-id optional", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "41e4eb9948d0ca62e9586b491c720a1a05904802", + "description": "nir: Add new system values and intrinsics for dealing with CL work offsets", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6b1515cb849d29cb93e9c4be23723770e26f2409", + "description": "nir: Populate some places where existing system values were missing", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2da1178bf3eccf985c4f7e73a8ee382d12d55f6f", + "description": "ci/bare-metal: Try rebooting chezas again if they get stuck during tftp.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c27075e9e15d114ceec1f51a2882ef3700652c0c", + "description": "ci/bare-metal: Retry booting chezas instead of failing when !POWER_GOOD", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c63648121e189945e04c4a9963aaeb46db9403ec", + "description": "ci/bare-metal: Convert the main cros-servo boot code to python", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b4374080d7ab26c7ed390e8d63fb4722386376b6", + "description": "ci/bare-metal: Use a new serial buffer tool.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ca7d66e847d08914cec0a5e003b400da9c0a2695", + "description": "virgl: update protocol headers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "42e29feb8bdaf2854da69f9b5d779a891ffa5d71", + "description": "virgl: move protocol headers to a common place", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a4c708dd24e5ba8ac381973c14db8d23f4ac97bf", + "description": "util/ralloc: fix ralloc alignment.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fd7e1ed86d856cc4bb12bf550ef43e1cb81d0c0c", + "description": "svga: fix draw elements with 8-bits indices", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "2122b902b8003719c739db718a97463bbf99ebb3" + }, + { + "sha": "f41848a9df3c6eb81059edfd63347584790e0a3a", + "description": "winsys/svga: fix display corruption after surface_init", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "090239ea6b7fee79643960cbc361e4ec577c7be9", + "description": "st/mesa: increase size of gl_register_file bitfields", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e5899c1e8818f7cfdd23c06c504009e5659794b7", + "description": "nir: rename nir_op_fne to nir_op_fneu", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "85b7403909d2458f17986674811daf1de3fc1947", + "description": "bifrost: use nir_intrinsic_has_type", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2133e6420377f29052a60efd9471f4a946040515", + "description": "aco: use nir_intrinsic_has_access", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7530f66c1625388041877fea216ee89b659efd94", + "description": "nir: add and use nir_intrinsic_has_ helpers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9c1e0d86a813af7609acf42cfe6bec7401d6405f", + "description": "aco: fix non-rtz pack_half_2x16", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "df645fa369d12be4d5e0fd9e4f6d4455caf2f4c3" + }, + { + "sha": "e802bff69ee74983215d0c2b7e213fca6d68a97d", + "description": "glsl: Eliminate out-of-bounds triop_vector_insert", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5922d57a184fcb27955d959e949e1ef68873bd19", + "description": "glsl: Eliminate assigments to out-of-bounds elements of vector", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e93979ba599355c42df01a89073362b970489a3a", + "description": "ir_constant: Return zero on out-of-bounds vector accesses", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b243a74768ed86410b27617f81880b24a84eda89", + "description": "anv: support fd==-1 in ImportSemaphoreFdKHR", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f15315173032714b1cc4c1820e50b95ae29dd88c", + "description": "aco: add ACO_DEBUG=force-waitcnt to emit wait-states", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "258ef4d4a4b6c11b141e12e6736b01f408461c1d", + "description": "wgl: Switch to Win10 version defines to enable usage of Win10 WGL callbacks", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f811ddf5d1fac8a857aadc51278546d5b46d5a2b", + "description": "radv: ignore BB labels when splitting the disassembly string", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "89b56f19412e4794ec2ecfc1578fbfdb9e183bea", + "description": "anv: take depth in to account in anv_GetImageSubresourceLayout", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3dd1a81aa0e5389659826d9ab6327e3091a24552", + "description": "iris: Add missing newline to debug log message", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fb525ada148b7c95123c7ce0baf10191d85ef266", + "description": "ci/freedreno: List more common flakes reported recently.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c19b7fc0240e5a2f6e0ff04009c34ec095c8d16d", + "description": "ci/freedreno: Move our skips lists over to being known-flakes lists.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "30da82c74c2175dd8ad09fd5d1a8aee8885d150a", + "description": "ci/deqp-runner: Add a post-deqp-run filter list for known flakes.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4bb59fcee9c0c3ddfe681e80800d08689625c90b", + "description": "ci/deqp-runner: Drop unused \"count\" variable", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "32fd2ee02365e36b2826d3f9fee610e757c3b06a", + "description": "ci/deqp-runner: Drop stale comment from deqp-runner.sh.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "42d7bbfc2286428de6a12a5071c12314f41b9178", + "description": "nir: Use 'unsigned' instead of enum types in nir_variable::data", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1ccd681109e80516430a3be489dca1be15316d50", + "description": "nir: Add an LOD parameter to image_*_size", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a104902590512f30c55e6a2e4f7b75627c056e27", + "description": "broadcom/compiler: Enable PER_QUAD for UBO and SSBO loads.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c3258f927c462cc2e24106e7841138452f7fec10", + "description": "broadcom/compiler: Add a constant folding pass after nir_lower_io", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bd87cdad18138d36c6d9aca61270ffd2ddfd81e5", + "description": "broadcom/compiler: support nir_intrinsic_load_sample_id", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "adda97c98bfb5122a261561b3103023e7c21b381", + "description": "clover/spirv: pass list of supported extensions to the translator", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a624faeef98cf06e6effb67f95dc92e70e33f165", + "description": "clover/nir: Register callback for translation messages (v2)", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2402466a08c370adb19319162ee67ead9024d57b", + "description": "clover/llvm: Use the highest supported SPIR-V version (v4)", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6ed87594b12e5f794d5b19b197a5013b84cdcba8", + "description": "meson: Raise minimum version for SPIR-V OpenCL deps (v4)", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ec6bad140b780aaa10f7c02c8e2eb46f12671d4d", + "description": "clover/spirv: Print linked SPIR-V module if asked", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a9ca73730e4bba775463ca75949660abbf59b73f", + "description": "clover/spirv: Remove unused tuple header", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "2147386505015e3089d51e3e5bf58489ab912aa6" + }, + { + "sha": "e9ddb9b2ae89bb8811ac154d18d336c05d02b932", + "description": "clover/spirv: rework handling of spirv extensions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1cfbc5cff5907aa690d7c5f6514af34c438c25a6", + "description": "panfrost: Fix alignment on Bifrost", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "373a204bdd7b6bd0d3bd1b052ef67824d1b81fa7" + }, + { + "sha": "b708a1acb8404e31bfc9a1495b22f2dea17c21f6", + "description": "tu: Enable VK_KHR_multiview", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c0c7dbd103481b9a07a0f5b56040b1cfadafd89f", + "description": "tu: Implement multiview pipeline state", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c884afc6f71d5c0d30d1edc49026ed9d3c32542e", + "description": "tu: Add multiview lowering pass", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "7b53ac1c1f46046d31577fbc866931ec54a5c4eb", + "description": "tu: Implement multiview query interactions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ff5f46098041bad8d80109b092279b9d1707113a", + "description": "tu: Improve timestamp queries", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6c446fe650b80301a5c5d1ab74a0560b4183d7e9", + "description": "tu: Implement multiview clear/resolve interactions", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "99a87e5e0ec84c4680755c4ae8c48cc9104c8eb7", + "description": "tu: Parse multiview render pass info", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "f01a0dc27ad2bb26e627e45b2a87986beb40e8b9", + "description": "tu: Translate VkRenderPassMultiviewCreateInfo to VkRenderPassCreateInfo2", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5ef960e93cd0321c92c324274c77e7ebf4b1bb86", + "description": "ir3: Add support for gl_ViewIndex in VS & FS", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4b163ff1eb3c1bf54e22565de4725050812e025a", + "description": "freedreno/a6xx: Add multiview registers", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "6a8aaf7c00743a5c184960b0e275f319a16a4433", + "description": "freedreno/a6xx: disable LRZ when color channels are masked", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4de027d6bf018912747d37316fe7521bd36c1ac8", + "description": "freedreno/cffdump: add arg to filter by process name", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b440c28b78fc5e6f319f988f21a7470254b00f06", + "description": "nir: Shrink store intrinsic num_components to the size used by the writemask.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "5f26c21e62466783cd031c45a39544c992cee202", + "description": "nir: Expand opt_undef to handle undef channels in a store intrinsic.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "a29b7b6ff5c2a3531cf6cac4aa8bda4f76d801ee", + "description": "nir/opt_undef: Handle a couple more normal store intrinsics.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b3c822a0a8665ae84452208e94006f7df802f196", + "description": "radv: Move nir_opt_shrink_vectors() into the opt loop.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "94f4ecba8dd8611133b94154a28b6e85cc9903de", + "description": "panfrost: Reduce attribute buffer allocations", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9a6934d67f413e719f07c82e36221287ca8b1538", + "description": "panfrost: Don't reserve for NPOT w/o instancing", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "09ea7c09cc47917379d8a0792e5887f8f3d09e26", + "description": "panfrost: Don't overallocate attributes", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3df90c7c27e1149d250bb74923ee63af47b0e1f6", + "description": "panfrost: Fix attribute buffer underallocation", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "e646c861fc62d4163d9a94f910d3bb97731ed0b7" + }, + { + "sha": "373a204bdd7b6bd0d3bd1b052ef67824d1b81fa7", + "description": "panfrost: Pass alignments explicitly", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "1cb47f8eea0af26b9573ac973ae3d9852cbabe6a", + "description": "panfrost: Free batch->dependencies", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "680fb05f99d701d2156d231f6b5ae614b146c7ce", + "description": "panfrost: Use memctx for sysvals", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8dd38e5a3e68d67d6050f8bcba28cf3514ef1eef", + "description": "pan/mdg: Free previous liveness", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "62637a913ab67dc3ade1af3c2d4ae724ab677836", + "description": "panfrost: Free hash_to_temp map", + "nominated": true, + "nomination_type": 0, + "resolution": 1, + "master_sha": null, + "because_sha": null + }, + { + "sha": "da6d0e3facfe0eb5c7db2d75d6992643d929caff", + "description": "panfrost: Free NIR of blit shaders", + "nominated": true, + "nomination_type": 0, + "resolution": 2, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9146f596ed1e8854a2a6c9137396a902bc92946c", + "description": "panfrost: Free cloned NIR shader", + "nominated": true, + "nomination_type": 0, + "resolution": 2, + "master_sha": null, + "because_sha": null + }, + { + "sha": "ba4fc67812cd052a4c89cac0f376326f52da1fda", + "description": "panfrost: Fix blend leak for render targets 5-8", + "nominated": true, + "nomination_type": 1, + "resolution": 1, + "master_sha": null, + "because_sha": "375d4c2c74d5a7003e03c4e610b466bd0d7d1a53" + }, + { + "sha": "4ff4b04b50d808e7cd6a3b42561a0f68ba2dabf4", + "description": "panfrost: Keep finalized blend state constant", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "93200ce4c6f543808e768c379a04bea577d55c72", + "description": "panfrost: Drop depth-only case in blend finalize", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8249e2b9a23dfa45e8e235a188fb183d609eac96", + "description": "panfrost: Explicitly handle nr_cbufs=0 case", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "dc7fbe114bac338e7075efdb325053ef41dad91c", + "description": "panfrost: Drop implicit blend pooling", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "d8deb1eb6a2244e765a1789c87b32ff43bd5349c", + "description": "panfrost: Share tiler_heap across batches/contexts", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "01d12c353e2d6cbfff11c566940b3f68f7ac11b3", + "description": "pan/decode: Don't try to dereference heap mapping", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b41692caf427fc2335121e762bb3a539ef7506cb", + "description": "panfrost: Avoid minimum stack allocations", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "17c617cdb7f9710651b10f5b00669fc31c372c50", + "description": "panfrost: Introduce invisible pool", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "40c0d7a13df02ee15e2e0e14ed4ab53c7e866a53", + "description": "panfrost: Pre-allocate memory for pool", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "3fed1c75ef4d165a3c96f3a9ac0295268c16c6be", + "description": "iris: Fix headerless sampler messages in compute shaders with preemption", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "58817bda8bccc7d5803f69fb029ae741dbf2a814", + "description": "aco: fix file leak in ra_fail()", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "c2b1978aa47c5b8876a589aa035a670d55e87c2e" + }, + { + "sha": "74ac8f3f648183739e00717acf030a35682eb71d", + "description": "nir/opt_large_constants: Fix a type/deref_type typo", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "df9596353a60bd38bc0185501750a7f4da5a06c5" + }, + { + "sha": "e5bac3c669c1773ce8dbfeff271e7d7d444a39bc", + "description": "gitlab: ask for more detailed info about GPU", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b553c7dd96af6f79b94cf1729c5e151e5b857e6b", + "description": "radv: fix null memcpy and zero-sized malloc", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b50ae770144ef6622591c7cc23aa96e45933cf37", + "description": "radv: align pipeline cache entry and header sizes", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "4f08af6766c23295922a08a95d0183820f7bc702", + "description": "radv: don't pass null to _mesa_sha1_update", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "30fca3b2e65c6125c24894ed11b15e09a52b42e6", + "description": "nir: fix memory leak in nir_cf_list_clone", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "27ec38d746824046f780efa934d4f25c1c8b32a8", + "description": "nir: fix potential left shift of a negative value", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "391eeb744356353e96ce34f23b8b16b718a02d61", + "description": "util: add a alignof() macro", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "721cb6cc07978259e055c5c7ff7093819b18e8b5", + "description": "gitlab: ask inxi output to be in code blocks", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "e901b901cb61519514271ffc76a8c784c5e37d2a", + "description": "radv,aco: report ACO errors/warnings back via VK_EXT_debug_report", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c2b1978aa47c5b8876a589aa035a670d55e87c2e", + "description": "aco: rework the way various compilation/validation errors are reported", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bc723dfda7b3e6b4671b068785c50bd49aa27ee8", + "description": "aco: rename DEBUG_VALIDATE to DEBUG_VALIDATE_IR", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "709dffa856682b706e516dd324e2f5129a127e8e", + "description": "anv: null check for buffer before reading size", + "nominated": false, + "nomination_type": 1, + "resolution": 4, + "master_sha": null, + "because_sha": "b9a05447a1976101c04a02f5588c51de0b0f6573" + }, + { + "sha": "8d38b25788c9f9bcc1c8bf2a422162328ac663d1", + "description": "util: Explicitly call the unpack functions from inside bptc pack/unpack.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "edf0aeb3cd264a431cd9d6bf7a758fe37bfbef04", + "description": "util: Expose rgba unpack/fetch functions as external functions as well.", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "9d503b36ca24e1747e99a034e05700ad80c0682c", + "description": "iris: Drop buffer support in resource_from_handle", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "c54bb23967b3cbd0954adac9e6155d3a56812900", + "description": "iris: Add and use iris_resource_configure_main", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "51e42e218398da818fc223e2f5da61017fb31f8a", + "description": "iris: Move size/offset calculations out of configure_aux", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8b2fc9195988ba59f629a8e720ccba0d9bf0d532", + "description": "iris: Drop old comment on clear color BO allocation", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "fd3c20674ea957901a6ff7c1bd62026243fd5e78", + "description": "iris: Drop unused resource allocation optimization", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "2555321a109b216756c275f7201b6d71def1439e", + "description": "iris: Drop iris_resource_alloc_separate_aux", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "0dc0a79a581b91aec301991706242f11aeb1473b", + "description": "egl: drop another indentation level in _eglFindDisplay() by inverting an if", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8b2fc1d1b5a822692321af1a2a01dddbc9cff356", + "description": "egl: drop an indentation level in _eglFindDisplay() by replacing break/if with a goto", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "b5d36e9cb6c73c6e4eea4df247ded96535abae18", + "description": "gitlab-ci: fix quoting of variables passed down to bare-metal runners", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "72fac11ca37c67a13225dbe8c04e73cdca36ae5f", + "description": "gitlab-ci: fix testing whether a variable with a given name is set or not", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "64fb3e6def2b71df2766fabfeddadcc732155775", + "description": "docs: update calendar and link releases notes for 20.1.6", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "8be321f30abcc8f72feda8ff48ea25dfd60e4c08", + "description": "docs: add release notes for 20.1.6", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, + { + "sha": "bd38ea77e80d1d8f10097c4484ecf5f370effd03", + "description": "v3d/compiler: add v3dv_prog_data_size helper", + "nominated": false, + "nomination_type": null, + "resolution": 4, + "master_sha": null, + "because_sha": null + }, { "sha": "a880f97d593a461bdcce27e526423a9b1d6834b4", "description": "compiler/types: Allow interfaces in get_explicit_type_for_size_align", @@ -373,7 +5134,7 @@ "description": "radv: restrict exported symbols with static llvm", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "master_sha": null, "because_sha": null }, @@ -6313,7 +11074,7 @@ "description": "freedreno/a6xx: fixup draw state earlier", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 2, "master_sha": null, "because_sha": "4d8f42c85125fa86008553ddaf48f44498d8bddc" }, @@ -16708,7 +21469,7 @@ "description": "loader/dri3: Check for window destruction in dri3_wait_for_event_locked", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 2, "master_sha": null, "because_sha": null }, @@ -16717,7 +21478,7 @@ "description": "loader/dri3: Use dri3_wait_for_event_locked in loader_dri3_wait_for_msc", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 2, "master_sha": null, "because_sha": "7b0e8264dd21ae05521d08d41fecd84139401fef" }, @@ -16726,7 +21487,7 @@ "description": "loader/dri3: Add dri3_wait_for_event_locked full_sequence out parameter", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 2, "master_sha": null, "because_sha": null }, @@ -22783,7 +27544,7 @@ "description": "nir: Add a nir_metadata_all enum value", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/lib/mesa/docs/relnotes/20.1.6.html b/lib/mesa/docs/relnotes/20.1.6.html index 0ce65bd85..e6615f72c 100644 --- a/lib/mesa/docs/relnotes/20.1.6.html +++ b/lib/mesa/docs/relnotes/20.1.6.html @@ -36,7 +36,7 @@ depends on the particular driver being used.

SHA256 checksum

-TBD.
+23bed40114b03ad640c95bfe72cc879ed2f941d0d481b77b5204a1fc567fa93c  mesa-20.1.6.tar.xz
 
diff --git a/lib/mesa/docs/relnotes/20.1.7.html b/lib/mesa/docs/relnotes/20.1.7.html new file mode 100644 index 000000000..e01b23471 --- /dev/null +++ b/lib/mesa/docs/relnotes/20.1.7.html @@ -0,0 +1,169 @@ + + + + + +Mesa Release Notes + + + + +
+

The Mesa 3D Graphics Library

+
+ + +
+ +

Mesa 20.1.7 Release Notes / 2020-09-02

+ +

+ Mesa 20.1.7 is a bug fix release which fixes bugs found since the 20.1.6 release. +

+

+Mesa 20.1.7 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 20.1.7 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

+ + + +

Bug fixes

+ + + +

Changes

+ + + +
+ + diff --git a/lib/mesa/src/amd/llvm/ac_nir_to_llvm.c b/lib/mesa/src/amd/llvm/ac_nir_to_llvm.c index 0fcd5934a..c6f612f58 100644 --- a/lib/mesa/src/amd/llvm/ac_nir_to_llvm.c +++ b/lib/mesa/src/amd/llvm/ac_nir_to_llvm.c @@ -701,6 +701,9 @@ static void visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr) result = emit_intrin_1f_param(&ctx->ac, "llvm.amdgcn.rcp", ac_to_float_type(&ctx->ac, def_type), src[0]); } + if (ctx->abi->clamp_div_by_zero) + result = ac_build_fmin(&ctx->ac, result, + LLVMConstReal(ac_to_float_type(&ctx->ac, def_type), FLT_MAX)); break; case nir_op_iand: result = LLVMBuildAnd(ctx->ac.builder, src[0], src[1], ""); @@ -847,6 +850,9 @@ static void visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr) case nir_op_frsq: result = emit_intrin_1f_param(&ctx->ac, "llvm.amdgcn.rsq", ac_to_float_type(&ctx->ac, def_type), src[0]); + if (ctx->abi->clamp_div_by_zero) + result = ac_build_fmin(&ctx->ac, result, + LLVMConstReal(ac_to_float_type(&ctx->ac, def_type), FLT_MAX)); break; case nir_op_frexp_exp: src[0] = ac_to_float(&ctx->ac, src[0]); @@ -888,7 +894,7 @@ static void visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr) case nir_op_ffma: /* FMA is better on GFX10, because it has FMA units instead of MUL-ADD units. */ result = emit_intrin_3f_param(&ctx->ac, ctx->ac.chip_class >= GFX10 ? "llvm.fma" : "llvm.fmuladd", - ac_to_float_type(&ctx->ac, def_type), src[0], src[1], src[2]); + ac_to_float_type(&ctx->ac, def_type), src[0], src[1], src[2]); break; case nir_op_ldexp: src[0] = ac_to_float(&ctx->ac, src[0]); diff --git a/lib/mesa/src/amd/llvm/ac_shader_abi.h b/lib/mesa/src/amd/llvm/ac_shader_abi.h index 18f85a791..337414eff 100644 --- a/lib/mesa/src/amd/llvm/ac_shader_abi.h +++ b/lib/mesa/src/amd/llvm/ac_shader_abi.h @@ -186,6 +186,9 @@ struct ac_shader_abi { /* Whether bounds checks are required */ bool robust_buffer_access; + + /* Clamp div by 0 (so it won't produce NaN) */ + bool clamp_div_by_zero; }; #endif /* AC_SHADER_ABI_H */ diff --git a/lib/mesa/src/amd/vulkan/meson.build b/lib/mesa/src/amd/vulkan/meson.build index efcf2dd6c..eec026e8f 100644 --- a/lib/mesa/src/amd/vulkan/meson.build +++ b/lib/mesa/src/amd/vulkan/meson.build @@ -157,6 +157,16 @@ if with_platform_android ] endif +# When static linking LLVM, all its symbols are public API. +# That may cause symbol collision, so explicitly demote everything. +libvulkan_radeon_ld_args = [] +libvulkan_radeon_link_depends = [] + +if with_llvm and with_ld_version_script + libvulkan_radeon_ld_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'vulkan.sym')] + libvulkan_radeon_link_depends += files('vulkan.sym') +endif + libvulkan_radeon = shared_library( 'vulkan_radeon', [libradv_files, radv_entrypoints, radv_extensions_c, amd_vk_format_table_c, sha1_h, radv_gfx10_format_table_h], @@ -173,7 +183,8 @@ libvulkan_radeon = shared_library( ], c_args : [c_vis_args, no_override_init_args, radv_flags], cpp_args : [cpp_vis_args, radv_flags], - link_args : [ld_args_bsymbolic, ld_args_gc_sections], + link_args : [ld_args_bsymbolic, ld_args_gc_sections, libvulkan_radeon_ld_args], + link_depends : [libvulkan_radeon_link_depends,], install : true, ) diff --git a/lib/mesa/src/amd/vulkan/vulkan.sym b/lib/mesa/src/amd/vulkan/vulkan.sym new file mode 100644 index 000000000..c85a22e90 --- /dev/null +++ b/lib/mesa/src/amd/vulkan/vulkan.sym @@ -0,0 +1,11 @@ +{ + global: + vk_icdGetInstanceProcAddr; + vk_icdGetPhysicalDeviceProcAddr; + vk_icdNegotiateLoaderICDInterfaceVersion; + + local: + # When static linking LLVM, all its symbols are public API. + # That may cause symbol collision, so explicitly demote everything. + *; +}; diff --git a/lib/mesa/src/broadcom/cle/v3d_packet_v33.xml b/lib/mesa/src/broadcom/cle/v3d_packet_v33.xml index a5bac1091..e0955f8bd 100644 --- a/lib/mesa/src/broadcom/cle/v3d_packet_v33.xml +++ b/lib/mesa/src/broadcom/cle/v3d_packet_v33.xml @@ -630,11 +630,11 @@ - + - + diff --git a/lib/mesa/src/compiler/glsl/lower_vector_derefs.cpp b/lib/mesa/src/compiler/glsl/lower_vector_derefs.cpp index 0c09630fa..8a37e35b6 100644 --- a/lib/mesa/src/compiler/glsl/lower_vector_derefs.cpp +++ b/lib/mesa/src/compiler/glsl/lower_vector_derefs.cpp @@ -136,15 +136,31 @@ vector_deref_visitor::visit_enter(ir_assignment *ir) ir->write_mask = (1 << new_lhs->type->vector_elements) - 1; ir->set_lhs(new_lhs); } - } else if (new_lhs->ir_type != ir_type_swizzle) { - ir->set_lhs(new_lhs); - ir->write_mask = 1 << old_index_constant->get_uint_component(0); } else { - /* If the "new" LHS is a swizzle, use the set_lhs helper to instead - * swizzle the RHS. - */ - unsigned component[1] = { old_index_constant->get_uint_component(0) }; - ir->set_lhs(new(mem_ctx) ir_swizzle(new_lhs, component, 1)); + unsigned index = old_index_constant->get_uint_component(0); + + if (index >= new_lhs->type->vector_elements) { + /* Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says: + * + * In the subsections described above for array, vector, matrix and + * structure accesses, any out-of-bounds access produced undefined + * behavior.... Out-of-bounds writes may be discarded or overwrite + * other variables of the active program. + */ + ir->remove(); + return visit_continue; + } + + if (new_lhs->ir_type != ir_type_swizzle) { + ir->set_lhs(new_lhs); + ir->write_mask = 1 << index; + } else { + /* If the "new" LHS is a swizzle, use the set_lhs helper to instead + * swizzle the RHS. + */ + unsigned component[1] = { index }; + ir->set_lhs(new(mem_ctx) ir_swizzle(new_lhs, component, 1)); + } } return ir_rvalue_enter_visitor::visit_enter(ir); diff --git a/lib/mesa/src/compiler/glsl/lower_vector_insert.cpp b/lib/mesa/src/compiler/glsl/lower_vector_insert.cpp index ceaa5887c..81ef0491c 100644 --- a/lib/mesa/src/compiler/glsl/lower_vector_insert.cpp +++ b/lib/mesa/src/compiler/glsl/lower_vector_insert.cpp @@ -32,7 +32,8 @@ namespace { class vector_insert_visitor : public ir_rvalue_visitor { public: vector_insert_visitor(bool lower_nonconstant_index) - : progress(false), lower_nonconstant_index(lower_nonconstant_index) + : progress(false), lower_nonconstant_index(lower_nonconstant_index), + remove_assignment(false) { factory.instructions = &factory_instructions; } @@ -43,11 +44,13 @@ public: } virtual void handle_rvalue(ir_rvalue **rv); + virtual ir_visitor_status visit_leave(ir_assignment *expr); ir_factory factory; exec_list factory_instructions; bool progress; bool lower_nonconstant_index; + bool remove_assignment; }; } /* anonymous namespace */ @@ -68,6 +71,21 @@ vector_insert_visitor::handle_rvalue(ir_rvalue **rv) ir_constant *const idx = expr->operands[2]->constant_expression_value(factory.mem_ctx); if (idx != NULL) { + unsigned index = idx->value.u[0]; + + if (index >= expr->operands[0]->type->vector_elements) { + /* Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says: + * + * In the subsections described above for array, vector, matrix and + * structure accesses, any out-of-bounds access produced undefined + * behavior.... Out-of-bounds writes may be discarded or overwrite + * other variables of the active program. + */ + this->remove_assignment = true; + this->progress = true; + return; + } + /* Replace (vector_insert (vec) (scalar) (index)) with a dereference of * a new temporary. The new temporary gets assigned as * @@ -136,6 +154,19 @@ vector_insert_visitor::handle_rvalue(ir_rvalue **rv) base_ir->insert_before(factory.instructions); } +ir_visitor_status +vector_insert_visitor::visit_leave(ir_assignment *ir) +{ + ir_rvalue_visitor::visit_leave(ir); + + if (this->remove_assignment) { + ir->remove(); + this->remove_assignment = false; + } + + return visit_continue; +} + bool lower_vector_insert(exec_list *instructions, bool lower_nonconstant_index) { diff --git a/lib/mesa/src/gallium/auxiliary/util/u_screen.c b/lib/mesa/src/gallium/auxiliary/util/u_screen.c index ae024f0e6..ed6e31b38 100644 --- a/lib/mesa/src/gallium/auxiliary/util/u_screen.c +++ b/lib/mesa/src/gallium/auxiliary/util/u_screen.c @@ -433,6 +433,9 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen, case PIPE_CAP_ALPHA_TO_COVERAGE_DITHER_CONTROL: return 0; + case PIPE_CAP_NO_CLIP_ON_COPY_TEX: + return 0; + default: unreachable("bad PIPE_CAP_*"); } diff --git a/lib/mesa/src/gallium/drivers/panfrost/pan_blend_cso.c b/lib/mesa/src/gallium/drivers/panfrost/pan_blend_cso.c index d0824ed48..52575cb03 100644 --- a/lib/mesa/src/gallium/drivers/panfrost/pan_blend_cso.c +++ b/lib/mesa/src/gallium/drivers/panfrost/pan_blend_cso.c @@ -166,7 +166,7 @@ panfrost_delete_blend_state(struct pipe_context *pipe, { struct panfrost_blend_state *blend = (struct panfrost_blend_state *) cso; - for (unsigned c = 0; c < 4; ++c) { + for (unsigned c = 0; c < PIPE_MAX_COLOR_BUFS; ++c) { struct panfrost_blend_rt *rt = &blend->rt[c]; _mesa_hash_table_u64_clear(rt->shaders, panfrost_delete_blend_shader); } diff --git a/lib/mesa/src/gallium/drivers/panfrost/pan_job.c b/lib/mesa/src/gallium/drivers/panfrost/pan_job.c index 27745c742..1ef4de1bb 100644 --- a/lib/mesa/src/gallium/drivers/panfrost/pan_job.c +++ b/lib/mesa/src/gallium/drivers/panfrost/pan_job.c @@ -178,6 +178,8 @@ panfrost_free_batch(struct panfrost_batch *batch) panfrost_batch_fence_unreference(*dep); } + util_dynarray_fini(&batch->dependencies); + /* The out_sync fence lifetime is different from the the batch one * since other batches might want to wait on a fence of already * submitted/signaled batch. All we need to do here is make sure the diff --git a/lib/mesa/src/gallium/drivers/radeonsi/si_debug_options.h b/lib/mesa/src/gallium/drivers/radeonsi/si_debug_options.h index 83c7425e0..febb31357 100644 --- a/lib/mesa/src/gallium/drivers/radeonsi/si_debug_options.h +++ b/lib/mesa/src/gallium/drivers/radeonsi/si_debug_options.h @@ -7,5 +7,6 @@ OPT_BOOL(halt_shaders, false, "Halt shaders at the start (will hang)") OPT_BOOL(vs_fetch_always_opencode, false, "Always open code vertex fetches (less efficient, purely for testing)") OPT_BOOL(prim_restart_tri_strips_only, false, "Only enable primitive restart for triangle strips") +OPT_BOOL(clamp_div_by_zero, false, "Clamp div by zero (x / 0 becomes FLT_MAX instead of NaN)") #undef OPT_BOOL diff --git a/lib/mesa/src/gallium/drivers/radeonsi/si_get.c b/lib/mesa/src/gallium/drivers/radeonsi/si_get.c index 9a10a82e0..9b47fe236 100644 --- a/lib/mesa/src/gallium/drivers/radeonsi/si_get.c +++ b/lib/mesa/src/gallium/drivers/radeonsi/si_get.c @@ -162,6 +162,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES: case PIPE_CAP_ALPHA_TO_COVERAGE_DITHER_CONTROL: case PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE: + case PIPE_CAP_NO_CLIP_ON_COPY_TEX: return 1; case PIPE_CAP_QUERY_SO_OVERFLOW: diff --git a/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm.c b/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm.c index 63c9c033a..e200114ef 100644 --- a/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm.c +++ b/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm.c @@ -452,6 +452,7 @@ bool si_nir_build_llvm(struct si_shader_context *ctx, struct nir_shader *nir) ctx->abi.inputs = &ctx->inputs[0]; ctx->abi.clamp_shadow_reference = true; ctx->abi.robust_buffer_access = true; + ctx->abi.clamp_div_by_zero = ctx->screen->options.clamp_div_by_zero; if (ctx->shader->selector->info.properties[TGSI_PROPERTY_CS_LOCAL_SIZE]) { assert(gl_shader_stage_is_compute(nir->info.stage)); diff --git a/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm_tess.c b/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm_tess.c index 5dba98599..26b0d0cb5 100644 --- a/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm_tess.c +++ b/lib/mesa/src/gallium/drivers/radeonsi/si_shader_llvm_tess.c @@ -513,7 +513,7 @@ static void si_nir_store_output_tcs(struct ac_shader_abi *abi, const struct nir_ { struct si_shader_context *ctx = si_shader_context_from_abi(abi); struct si_shader_info *info = &ctx->shader->selector->info; - const unsigned component = var->data.location_frac; + unsigned component = var->data.location_frac; unsigned driver_location = var->data.driver_location; LLVMValueRef dw_addr, stride; LLVMValueRef buffer, base, addr; @@ -521,6 +521,12 @@ static void si_nir_store_output_tcs(struct ac_shader_abi *abi, const struct nir_ bool skip_lds_store; bool is_tess_factor = false, is_tess_inner = false; + if (var->data.compact) { + component += const_index; + writemask <<= const_index; + const_index = 0; + } + driver_location = driver_location / 4; ubyte name = info->output_semantic_name[driver_location]; ubyte index = info->output_semantic_index[driver_location]; diff --git a/lib/mesa/src/gallium/drivers/v3d/v3dx_rcl.c b/lib/mesa/src/gallium/drivers/v3d/v3dx_rcl.c index 0582e9aba..739088ec3 100644 --- a/lib/mesa/src/gallium/drivers/v3d/v3dx_rcl.c +++ b/lib/mesa/src/gallium/drivers/v3d/v3dx_rcl.c @@ -440,6 +440,13 @@ v3d_rcl_emit_generic_per_tile_list(struct v3d_job *job, int layer) fmt.primitive_type = LIST_TRIANGLES; } +#if V3D_VERSION >= 41 + /* PTB assumes that value to be 0, but hw will not set it. */ + cl_emit(cl, SET_INSTANCEID, set) { + set.instance_id = 0; + } +#endif + cl_emit(cl, BRANCH_TO_IMPLICIT_TILE_LIST, branch); v3d_rcl_emit_stores(job, cl, layer); diff --git a/lib/mesa/src/gallium/state_trackers/clover/spirv/invocation.cpp b/lib/mesa/src/gallium/state_trackers/clover/spirv/invocation.cpp index 01ced45c1..a37f42fc7 100644 --- a/lib/mesa/src/gallium/state_trackers/clover/spirv/invocation.cpp +++ b/lib/mesa/src/gallium/state_trackers/clover/spirv/invocation.cpp @@ -22,7 +22,6 @@ #include "invocation.hpp" -#include #include #include #include diff --git a/lib/mesa/src/intel/compiler/brw_nir_lower_alpha_to_coverage.c b/lib/mesa/src/intel/compiler/brw_nir_lower_alpha_to_coverage.c index 660d218e7..d31384e56 100644 --- a/lib/mesa/src/intel/compiler/brw_nir_lower_alpha_to_coverage.c +++ b/lib/mesa/src/intel/compiler/brw_nir_lower_alpha_to_coverage.c @@ -56,114 +56,134 @@ * 1.0000 1111111111111111 */ static nir_ssa_def * -build_dither_mask(nir_builder b, nir_intrinsic_instr *store_instr) +build_dither_mask(nir_builder *b, nir_ssa_def *color) { - nir_ssa_def *alpha = - nir_channel(&b, nir_ssa_for_src(&b, store_instr->src[0], 4), 3); + assert(color->num_components == 4); + nir_ssa_def *alpha = nir_channel(b, color, 3); nir_ssa_def *m = - nir_f2i32(&b, nir_fmul_imm(&b, nir_fsat(&b, alpha), 16.0)); + nir_f2i32(b, nir_fmul_imm(b, nir_fsat(b, alpha), 16.0)); nir_ssa_def *part_a = - nir_iand(&b, - nir_imm_int(&b, 0xf), - nir_ushr(&b, - nir_imm_int(&b, 0xfea80), - nir_iand(&b, m, nir_imm_int(&b, ~3)))); + nir_iand(b, + nir_imm_int(b, 0xf), + nir_ushr(b, + nir_imm_int(b, 0xfea80), + nir_iand(b, m, nir_imm_int(b, ~3)))); - nir_ssa_def *part_b = nir_iand(&b, m, nir_imm_int(&b, 2)); + nir_ssa_def *part_b = nir_iand(b, m, nir_imm_int(b, 2)); - nir_ssa_def *part_c = nir_iand(&b, m, nir_imm_int(&b, 1)); + nir_ssa_def *part_c = nir_iand(b, m, nir_imm_int(b, 1)); - return nir_ior(&b, - nir_imul_imm(&b, part_a, 0x1111), - nir_ior(&b, - nir_imul_imm(&b, part_b, 0x0808), - nir_imul_imm(&b, part_c, 0x0100))); + return nir_ior(b, + nir_imul_imm(b, part_a, 0x1111), + nir_ior(b, + nir_imul_imm(b, part_b, 0x0808), + nir_imul_imm(b, part_c, 0x0100))); } -void +bool brw_nir_lower_alpha_to_coverage(nir_shader *shader) { assert(shader->info.stage == MESA_SHADER_FRAGMENT); + nir_function_impl *impl = nir_shader_get_entrypoint(shader); - /* Bail out early if we don't have gl_SampleMask */ - bool is_sample_mask = false; - nir_foreach_variable(var, &shader->outputs) { - if (var->data.location == FRAG_RESULT_SAMPLE_MASK) { - is_sample_mask = true; - break; + const uint64_t outputs_written = shader->info.outputs_written; + if (!(outputs_written & BITFIELD64_BIT(FRAG_RESULT_SAMPLE_MASK)) || + !(outputs_written & (BITFIELD64_BIT(FRAG_RESULT_COLOR) | + BITFIELD64_BIT(FRAG_RESULT_DATA0)))) + goto skip; + + nir_intrinsic_instr *sample_mask_write = NULL; + nir_intrinsic_instr *color0_write = NULL; + bool sample_mask_write_first = false; + + nir_foreach_block(block, impl) { + nir_foreach_instr_safe(instr, block) { + if (instr->type != nir_instr_type_intrinsic) + continue; + + nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); + if (intrin->intrinsic != nir_intrinsic_store_output) + continue; + + /* We call nir_lower_io_to_temporaries to lower FS outputs to + * temporaries with a copy at the end so this should be the last + * block in the shader. + */ + assert(block->cf_node.parent == &impl->cf_node); + assert(nir_cf_node_is_last(&block->cf_node)); + + /* See store_output in fs_visitor::nir_emit_fs_intrinsic */ + const unsigned store_offset = nir_src_as_uint(intrin->src[1]); + const unsigned driver_location = nir_intrinsic_base(intrin) + + SET_FIELD(store_offset, BRW_NIR_FRAG_OUTPUT_LOCATION); + + /* Extract the FRAG_RESULT */ + const unsigned location = + GET_FIELD(driver_location, BRW_NIR_FRAG_OUTPUT_LOCATION); + + if (location == FRAG_RESULT_SAMPLE_MASK) { + assert(sample_mask_write == NULL); + sample_mask_write = intrin; + sample_mask_write_first = (color0_write == NULL); + } + + if (location == FRAG_RESULT_COLOR || + location == FRAG_RESULT_DATA0) { + assert(color0_write == NULL); + color0_write = intrin; + } } } - if (!is_sample_mask) - return; + /* It's possible that shader_info may be out-of-date and the writes to + * either gl_SampleMask or the first color value may have been removed. + * This can happen if, for instance a nir_ssa_undef is written to the + * color value. In that case, just bail and don't do anything rather + * than crashing. + */ + if (color0_write == NULL || sample_mask_write == NULL) + goto skip; - nir_foreach_function(function, shader) { - nir_function_impl *impl = function->impl; - nir_builder b; - nir_builder_init(&b, impl); + /* It's possible that the color value isn't actually a vec4. In this case, + * assuming an alpha of 1.0 and letting the sample mask pass through + * unaltered seems like the kindest thing to do to apps. + */ + assert(color0_write->src[0].is_ssa); + nir_ssa_def *color0 = color0_write->src[0].ssa; + if (color0->num_components < 4) + goto skip; - nir_foreach_block(block, impl) { - nir_intrinsic_instr *sample_mask_instr = NULL; - nir_intrinsic_instr *store_instr = NULL; + assert(sample_mask_write->src[0].is_ssa); + nir_ssa_def *sample_mask = sample_mask_write->src[0].ssa; - nir_foreach_instr_safe(instr, block) { - if (instr->type == nir_instr_type_intrinsic) { - nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); - nir_variable *out = NULL; - - switch (intr->intrinsic) { - case nir_intrinsic_store_output: - nir_foreach_variable(var, &shader->outputs) { - int drvloc = var->data.driver_location; - if (nir_intrinsic_base(intr) == drvloc) { - out = var; - break; - } - } - - if (out->data.mode != nir_var_shader_out) - continue; - - /* save gl_SampleMask instruction pointer */ - if (out->data.location == FRAG_RESULT_SAMPLE_MASK) { - assert(!sample_mask_instr); - sample_mask_instr = intr; - } - - /* save out_color[0] instruction pointer */ - if ((out->data.location == FRAG_RESULT_COLOR || - out->data.location == FRAG_RESULT_DATA0)) { - nir_src *offset_src = nir_get_io_offset_src(intr); - if (nir_src_is_const(*offset_src) && nir_src_as_uint(*offset_src) == 0) { - assert(!store_instr); - store_instr = intr; - } - } - break; - default: - continue; - } - } - } - - if (sample_mask_instr && store_instr) { - b.cursor = nir_before_instr(&store_instr->instr); - nir_ssa_def *dither_mask = build_dither_mask(b, store_instr); - - /* Combine dither_mask and reorder gl_SampleMask store instruction - * after render target 0 store instruction. - */ - nir_instr_remove(&sample_mask_instr->instr); - dither_mask = nir_iand(&b, sample_mask_instr->src[0].ssa, dither_mask); - nir_instr_insert_after(&store_instr->instr, &sample_mask_instr->instr); - nir_instr_rewrite_src(&sample_mask_instr->instr, - &sample_mask_instr->src[0], - nir_src_for_ssa(dither_mask)); - } - } - nir_metadata_preserve(impl, nir_metadata_block_index | - nir_metadata_dominance); + if (sample_mask_write_first) { + /* If the sample mask write comes before the write to color0, we need + * to move it because it's going to use the value from color0 to + * compute the sample mask. + */ + nir_instr_remove(&sample_mask_write->instr); + nir_instr_insert(nir_after_instr(&color0_write->instr), + &sample_mask_write->instr); } + + nir_builder b; + nir_builder_init(&b, impl); + + /* Combine dither_mask and the gl_SampleMask value */ + b.cursor = nir_before_instr(&sample_mask_write->instr); + nir_ssa_def *dither_mask = build_dither_mask(&b, color0); + dither_mask = nir_iand(&b, sample_mask, dither_mask); + nir_instr_rewrite_src(&sample_mask_write->instr, + &sample_mask_write->src[0], + nir_src_for_ssa(dither_mask)); + + nir_metadata_preserve(impl, nir_metadata_block_index | + nir_metadata_dominance); + return true; + +skip: + nir_metadata_preserve(impl, nir_metadata_all); + return false; } diff --git a/lib/mesa/src/intel/perf/gen_perf.c b/lib/mesa/src/intel/perf/gen_perf.c index 189f71f65..77b7f4d81 100644 --- a/lib/mesa/src/intel/perf/gen_perf.c +++ b/lib/mesa/src/intel/perf/gen_perf.c @@ -621,6 +621,19 @@ load_oa_metrics(struct gen_perf_config *perf, int fd, else enumerate_sysfs_metrics(perf); + /* Select a fallback OA metric. Look for the TestOa metric or use the last + * one if no present (on HSW). + */ + for (int i = 0; i < perf->n_queries; i++) { + if (perf->queries[i].symbol_name && + strcmp(perf->queries[i].symbol_name, "TestOa") == 0) { + perf->fallback_raw_oa_metric = perf->queries[i].oa_metrics_set_id; + break; + } + } + if (perf->fallback_raw_oa_metric == 0) + perf->fallback_raw_oa_metric = perf->queries[perf->n_queries - 1].oa_metrics_set_id; + return true; } diff --git a/lib/mesa/src/intel/perf/gen_perf.h b/lib/mesa/src/intel/perf/gen_perf.h index a39091658..05029bc91 100644 --- a/lib/mesa/src/intel/perf/gen_perf.h +++ b/lib/mesa/src/intel/perf/gen_perf.h @@ -170,6 +170,7 @@ struct gen_perf_query_info { GEN_PERF_QUERY_TYPE_PIPELINE, } kind; const char *name; + const char *symbol_name; const char *guid; struct gen_perf_query_counter *counters; int n_counters; @@ -227,6 +228,11 @@ struct gen_perf_config { */ struct hash_table *oa_metrics_table; + /* When MDAPI hasn't configured the metric we need to use by the time the + * query begins, this OA metric is used as a fallback. + */ + uint64_t fallback_raw_oa_metric; + /* Location of the device's sysfs entry. */ char sysfs_dev_dir[256]; diff --git a/lib/mesa/src/intel/perf/gen_perf.py b/lib/mesa/src/intel/perf/gen_perf.py index 9cdbfaaab..750b2537f 100644 --- a/lib/mesa/src/intel/perf/gen_perf.py +++ b/lib/mesa/src/intel/perf/gen_perf.py @@ -667,6 +667,7 @@ def main(): c(".kind = GEN_PERF_QUERY_TYPE_OA,\n") c(".name = \"" + set.name + "\",\n") + c(".symbol_name = \"" + set.symbol_name + "\",\n") c(".guid = \"" + set.hw_config_guid + "\",\n") c(".counters = {0}_{1}_query_counters,".format(gen.chipset, set.underscore_name)) diff --git a/lib/mesa/src/intel/perf/gen_perf_query.c b/lib/mesa/src/intel/perf/gen_perf_query.c index b9744913b..fb6e5d33e 100644 --- a/lib/mesa/src/intel/perf/gen_perf_query.c +++ b/lib/mesa/src/intel/perf/gen_perf_query.c @@ -423,7 +423,7 @@ get_metric_id(struct gen_perf_config *perf, if (!gen_perf_load_metric_id(perf, query->guid, &raw_query->oa_metrics_set_id)) { DBG("Unable to read query guid=%s ID, falling back to test config\n", query->guid); - raw_query->oa_metrics_set_id = 1ULL; + raw_query->oa_metrics_set_id = perf->fallback_raw_oa_metric; } else { DBG("Raw query '%s'guid=%s loaded ID: %"PRIu64"\n", query->name, query->guid, query->oa_metrics_set_id); diff --git a/lib/mesa/src/panfrost/bifrost/bifrost_compile.c b/lib/mesa/src/panfrost/bifrost/bifrost_compile.c index a5e86d816..9b35a901e 100644 --- a/lib/mesa/src/panfrost/bifrost/bifrost_compile.c +++ b/lib/mesa/src/panfrost/bifrost/bifrost_compile.c @@ -1076,7 +1076,7 @@ bifrost_compile_shader_nir(nir_shader *nir, panfrost_program *program, unsigned bi_optimize_nir(nir); nir_print_shader(nir, stdout); - panfrost_nir_assign_sysvals(&ctx->sysvals, nir); + panfrost_nir_assign_sysvals(&ctx->sysvals, ctx, nir); program->sysval_count = ctx->sysvals.sysval_count; memcpy(program->sysvals, ctx->sysvals.sysvals, sizeof(ctx->sysvals.sysvals[0]) * ctx->sysvals.sysval_count); ctx->blend_types = program->blend_types; diff --git a/lib/mesa/src/panfrost/midgard/compiler.h b/lib/mesa/src/panfrost/midgard/compiler.h index 5158ea6a8..66f4bcae0 100644 --- a/lib/mesa/src/panfrost/midgard/compiler.h +++ b/lib/mesa/src/panfrost/midgard/compiler.h @@ -257,8 +257,6 @@ typedef struct compiler_context { /* Constants which have been loaded, for later inlining */ struct hash_table_u64 *ssa_constants; - /* Mapping of hashes computed from NIR indices to the sequential temp indices ultimately used in MIR */ - struct hash_table_u64 *hash_to_temp; int temp_count; int max_hash; diff --git a/lib/mesa/src/panfrost/midgard/midgard_compile.c b/lib/mesa/src/panfrost/midgard/midgard_compile.c index 83221a31c..11a741fe9 100644 --- a/lib/mesa/src/panfrost/midgard/midgard_compile.c +++ b/lib/mesa/src/panfrost/midgard/midgard_compile.c @@ -2562,7 +2562,6 @@ midgard_compile_shader_nir(nir_shader *nir, panfrost_program *program, bool is_b /* Initialize at a global (not block) level hash tables */ ctx->ssa_constants = _mesa_hash_table_u64_create(NULL); - ctx->hash_to_temp = _mesa_hash_table_u64_create(NULL); /* Lower gl_Position pre-optimisation, but after lowering vars to ssa * (so we don't accidentally duplicate the epilogue since mesa/st has @@ -2598,7 +2597,7 @@ midgard_compile_shader_nir(nir_shader *nir, panfrost_program *program, bool is_b /* Assign sysvals and counts, now that we're sure * (post-optimisation) */ - panfrost_nir_assign_sysvals(&ctx->sysvals, nir); + panfrost_nir_assign_sysvals(&ctx->sysvals, ctx, nir); program->sysval_count = ctx->sysvals.sysval_count; memcpy(program->sysvals, ctx->sysvals.sysvals, sizeof(ctx->sysvals.sysvals[0]) * ctx->sysvals.sysval_count); diff --git a/lib/mesa/src/panfrost/midgard/midgard_opt_perspective.c b/lib/mesa/src/panfrost/midgard/midgard_opt_perspective.c index 4af8c4535..601fa259c 100644 --- a/lib/mesa/src/panfrost/midgard/midgard_opt_perspective.c +++ b/lib/mesa/src/panfrost/midgard/midgard_opt_perspective.c @@ -88,6 +88,7 @@ midgard_opt_combine_projection(compiler_context *ctx, midgard_block *block) } if (!frcp_found) continue; + if (frcp_from != ins->src[0]) continue; if (frcp_component != COMPONENT_W && frcp_component != COMPONENT_Z) continue; if (!mir_single_use(ctx, frcp)) continue; diff --git a/lib/mesa/src/panfrost/midgard/mir_squeeze.c b/lib/mesa/src/panfrost/midgard/mir_squeeze.c index e5bf078b3..4684bdd00 100644 --- a/lib/mesa/src/panfrost/midgard/mir_squeeze.c +++ b/lib/mesa/src/panfrost/midgard/mir_squeeze.c @@ -30,13 +30,14 @@ * as such */ static unsigned -find_or_allocate_temp(compiler_context *ctx, unsigned hash) +find_or_allocate_temp(compiler_context *ctx, struct hash_table_u64 *map, + unsigned hash) { if (hash >= SSA_FIXED_MINIMUM) return hash; unsigned temp = (uintptr_t) _mesa_hash_table_u64_search( - ctx->hash_to_temp, hash + 1); + map, hash + 1); if (temp) return temp - 1; @@ -45,7 +46,7 @@ find_or_allocate_temp(compiler_context *ctx, unsigned hash) temp = ctx->temp_count++; ctx->max_hash = MAX2(ctx->max_hash, hash); - _mesa_hash_table_u64_insert(ctx->hash_to_temp, + _mesa_hash_table_u64_insert(map, hash + 1, (void *) ((uintptr_t) temp + 1)); return temp; @@ -57,10 +58,10 @@ find_or_allocate_temp(compiler_context *ctx, unsigned hash) void mir_squeeze_index(compiler_context *ctx) { + struct hash_table_u64 *map = _mesa_hash_table_u64_create(NULL); + /* Reset */ ctx->temp_count = 0; - /* TODO don't leak old hash_to_temp */ - ctx->hash_to_temp = _mesa_hash_table_u64_create(NULL); /* We need to prioritize texture registers on older GPUs so we don't * fail RA trying to assign to work registers r0/r1 when a work @@ -68,14 +69,16 @@ mir_squeeze_index(compiler_context *ctx) mir_foreach_instr_global(ctx, ins) { if (ins->type == TAG_TEXTURE_4) - ins->dest = find_or_allocate_temp(ctx, ins->dest); + ins->dest = find_or_allocate_temp(ctx, map, ins->dest); } mir_foreach_instr_global(ctx, ins) { if (ins->type != TAG_TEXTURE_4) - ins->dest = find_or_allocate_temp(ctx, ins->dest); + ins->dest = find_or_allocate_temp(ctx, map, ins->dest); for (unsigned i = 0; i < ARRAY_SIZE(ins->src); ++i) - ins->src[i] = find_or_allocate_temp(ctx, ins->src[i]); + ins->src[i] = find_or_allocate_temp(ctx, map, ins->src[i]); } + + _mesa_hash_table_u64_destroy(map, NULL); } diff --git a/lib/mesa/src/panfrost/util/pan_ir.h b/lib/mesa/src/panfrost/util/pan_ir.h index 6f1b60dea..55ce59343 100644 --- a/lib/mesa/src/panfrost/util/pan_ir.h +++ b/lib/mesa/src/panfrost/util/pan_ir.h @@ -77,7 +77,7 @@ struct panfrost_sysvals { }; void -panfrost_nir_assign_sysvals(struct panfrost_sysvals *ctx, nir_shader *shader); +panfrost_nir_assign_sysvals(struct panfrost_sysvals *ctx, void *memctx, nir_shader *shader); int panfrost_sysval_for_instr(nir_instr *instr, nir_dest *dest); diff --git a/lib/mesa/src/panfrost/util/pan_liveness.c b/lib/mesa/src/panfrost/util/pan_liveness.c index a46a11d9d..de69dec63 100644 --- a/lib/mesa/src/panfrost/util/pan_liveness.c +++ b/lib/mesa/src/panfrost/util/pan_liveness.c @@ -128,11 +128,13 @@ pan_compute_liveness( _mesa_hash_pointer, _mesa_key_pointer_equal); - /* Allocate */ + /* Free any previous liveness, and allocate */ + + pan_free_liveness(blocks); list_for_each_entry(pan_block, block, blocks, link) { - block->live_in = rzalloc_array(NULL, uint16_t, temp_count); - block->live_out = rzalloc_array(NULL, uint16_t, temp_count); + block->live_in = rzalloc_array(block, uint16_t, temp_count); + block->live_out = rzalloc_array(block, uint16_t, temp_count); } /* Initialize the work list with the exit block */ diff --git a/lib/mesa/src/panfrost/util/pan_sysval.c b/lib/mesa/src/panfrost/util/pan_sysval.c index 5f67e71f6..2789c52da 100644 --- a/lib/mesa/src/panfrost/util/pan_sysval.c +++ b/lib/mesa/src/panfrost/util/pan_sysval.c @@ -124,10 +124,10 @@ panfrost_nir_assign_sysval_body(struct panfrost_sysvals *ctx, nir_instr *instr) } void -panfrost_nir_assign_sysvals(struct panfrost_sysvals *ctx, nir_shader *shader) +panfrost_nir_assign_sysvals(struct panfrost_sysvals *ctx, void *memctx, nir_shader *shader) { ctx->sysval_count = 0; - ctx->sysval_to_id = _mesa_hash_table_u64_create(NULL); + ctx->sysval_to_id = _mesa_hash_table_u64_create(memctx); nir_foreach_function(function, shader) { if (!function->impl) continue; diff --git a/lib/mesa/src/util/00-mesa-defaults.conf b/lib/mesa/src/util/00-mesa-defaults.conf index 68c6b7425..9e6fd2911 100644 --- a/lib/mesa/src/util/00-mesa-defaults.conf +++ b/lib/mesa/src/util/00-mesa-defaults.conf @@ -637,6 +637,12 @@ TODO: document the other workarounds. + + + +