Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. For use with systems equipped with AMD Radeon discrete desktop graphics, mobile graphics, or AMD processors with Radeon graphics. mesa/st: Clean up a bit of st_prepare_vertex_program(). ac/nir/ngg: Use mesh shader scratch ring when outputs dont fit LDS. Features The feature-level of Zink depends on two things; whats implemented in Zink, as well as the capabilities of the Vulkan driver. * failures, Panfrost: wrong textures and lighting in Thief games in wine (not happening when using Software render), [Bisected] r600: Big performance regression on some games, turnip: report corresponding drmFormatModifierPlaneCount for planar format, piglit ext_image_dma_buf_import.ext_image_dma_buf_import* regression, Huge amount of anon_inode:sync_file file descriptor created, enable warnings for GNU extensions we dont want, Grid Autosport via proton/vulkan: glitches on the grass on amdgpu, fine on amdgpu-pro, Etnaviv: The triangle is lost during linking together triangle strips with degenerate triangles, intel: integer_mad_hi / integer_mad_sat / integer_mul_hi produce invalid results, Aperture Desk Job rendering artifacts Intel TGL, intel: integer_sub_sat produces stack corruption / OpISubBorrow compilation issue, r300/rv530: Black rendering of Baldurs Gate Dark Alliance in Xbox emulator CXBX-R under wine with Gallium Nine and RADEON_DEBUG=use_tgsi, ../src/amd/common/ac_surface.c:1575: void ac_copy_dcc_equation(const struct radeon_info *, ADDR2_COMPUTE_DCCINFO_OUTPUT *, struct gfx9_meta_equation *): assertion dcc->equation.gfx9.num_bits <= ARRAY_SIZE(equation->u.gfx9.bit) failed, Occasional flicker corruption in Rage 2, e.g. * fails with angle, intel_pps_driver.cc:308:74: error: too many arguments to function void intel_perf_query_result_accumulate_fields(intel_perf_query_result*, const intel_perf_query_info*, const void*, const void*, bool), radv: no nir validation in radv_link_shaders, r300: deqp regressions from glsl: enable the use of the nir based varying linker, [crocus] glmark2 -b jellyfish rendering issues, radeonsi-stoney: Failing jobs during a CI bug, turnip: use-after-free in shader compilation, anv: EXT_primitives_generated_query fails, r300: vs predicate logic fails in vs-loop-complex-unroll-with-else-break.shader_test, [Intel/Vulkan] White blinking artifacts in Wolfenstein Youngblood, [radv] DCC causes artifacts in Senran Kagura Shinovi Versus, Radeon RX 5700XT crash when using prusa-slicer, glcts proxy_textures_invalid_samples tests assert on iris, turnip: gfxbench mh3.1 offscreen crash with ANGLE, dEQP-GLES31.functional.shaders.builtin_functions.integer.[i|u]mulextended. The Linux experience is quite decent, actually. radv/amdgpu: Group queue submit info into a structure. Mesa 22.2.0 implements the Vulkan 1.3 API, but the version reported by fix(gallivm): Replace LLVMConstF* with LLVMBuild* methods. mesa: Remove unused Mesa IR PROGRAM_* register files. Actual performance and rendering quality may vary depending on the complexity of your project. vkd3d-proton that translates Direct3D 12 to Vulkan has the latest development work pulled in. meson/rtti: Using get_argument_syntax to check msvc compatible compiler, meson/clover: Getting clover can be built with no-rtti llvm in mingw, ci/vs2019: Upgrade Windows 10 SDK version to 20348, docs: Update windows build requirement with Visual Studio, d3d12: Use static_cast instead of dynamic_cast in d3d12_video_enc_h264.cpp, d3d12: Convert #include to #include for mingw on linux, d3d12: Fixes compiling error in d3d12/wgl/d3d12_wgl_framebuffer.cpp with gcc, microsoft/clc: Fixes narrowing error in clc_compiler_test.cpp with mingw/gcc, microsoft/clc: Disable clc_compiler_test on non-windows platform, dzn: Fixes incompatible pointer type error, ci/x86_build: Getting pushd popd be paired, avoid using cd, ci: Prepare the container for building all mesa components with mingw under linux, ci: Trigger the new mingw/linux dockers to be build, d3d12: Turn d3d12_format.h to include d3d12_common.h, ci: Building all mesa functional with mingw on debian, gallium: Move -DHAVE_PIPE_LOADER_DRI and -DHAVE_PIPE_LOADER_KMS to be pre_args, gallium: Do not call to pipe_loader_sw_probe_kms when not present, glx: __glX_tls_Context should use __THREAD_INITIAL_EXEC, util: thread_local doesnt support to be exported on OSX, glx: Convert tab to space in applegl_glx.c, dri: Trim trailing space in dri/dri_util. aco: Print r128/a16 MIMG bits separately. nir: Skip fround_even on already-integral values. Should IT Professionals Be Liable for Ransomware Attacks. nir: Add optional lowering for mul_32x16. radv: Minor formatting fix in radv_device.c file. ac: port radeonsi tess factor calculations to common code. tgsi_scan: Remove unused input_array_last/output_array_last. Intel's the worst though. Mesa 22.2.0 implements the Vulkan 1.3 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used. In fact, that very thing you lament, people using nVidia extensions, grew out of nVidia being far more stable and API compliant, and those extensions were allowed for in the OpenGL API. The layers can gallium: Rename PIPE_CAP_TGSI_LEGACY_MATH_RULES to drop TGSI, Revert nine: Disable optional use of TTN when MUL_ZERO_WINS is available.. Zink - driver providing OpenGL on top of Khronos Vulkan API. Thank you, The Mgt. turnip: Add a TU_DEBUG=perf debug option. r600/sb: Avoid causing an exception when getting the reciprocal of 0u. spirv: Fix array length of buffers larger than INT32_MAX. aco/ra: Optimize some SOP2 instructions with literal to SOPK. radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments. Use pure subproject without wrap for DirectX headers discovery. llvmpipe: make opaque field a 1-bit field, llvmpipe: minor whitespace clean-up in lp_state_fs.h, llvmpipe: pass frontfacing param to jit_function() call, llvmpipe: asst. intel/fs: Make logical URB write instructions more like other logical instructions, intel/fs: Make logical URB read instructions more like other logical instructions, intel/fs: Dont pass flags to lower_urb_read_logical_send or lower_urb_write_logical_send, intel/fs: Eliminate masked and per slot offset URB messages, intel/fs: Use canonical form for work around tags, nir: spirv: Allow 32-bit version of nir_intrinsic_is_sparse_texels_resident, radeonsi: r600: d3d12: st: Use NIR lowering for tg4 offset arrays instead of GLSL lowering, clc: Use stringstream for printing spirv errors, panfrost: Stop overallocating compressed textures, panfrost: Enable NIR lowering of half float packing, panfrost: Fix pack_32_2x16 implementation, pan/bi: Use texture index instead of sampler for message preloading, pan/va: Improvements to LEA_TEX instructions, pan/va: Add more transcendental operations, pan/va: Add absneg modifier to V2F32_TO_V2F16, nir/lower_tex: Copy more fields in lower_tex_to_txd and friends, pan/mdg: Keep min_bound at 16 when alignment requires it, pan/mdg: Fix mask usage when filling before a spill, pan/mdg: Fix disassembly of store instructions, pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled, pan/mdg: Fix multiple spilt writes in the same bundle, panfrost: Copy blend constant into variant even when reusing it, panfrost: Increase the limit for blend shader variants, panfrost: Move patched_s out of the pan_blitter_views struct, nir: Add store_combined_output_pan BASE back, panfrost: Only write depth / stencil once if MRT is used, pan/bi: Use nodearrays for linear constraints, panfrost: Constant stencil value tracking, panfrost: Stop using sparse_array for batch BOs, panfrost: Use a macro for checking for a shared bind type, panfrost: Remove sync arguments from panfrost_batch_submit, panfrost: Enable QUAD_STRIP and POLYGON on v6, pan/va: Use the _safe iterator when adding blend shader calls, pan/decode: fflush buffers after dumping and before aborts, pan/decode: Use tag bits for resource entry count, pan/decode: Change indent when decoding resources, panfrost: Only emit images when they are present, panfrost: Emit the correct number of attributes, panfrost: Clear the GENERAL varying buffer field if unused, panfrost: Correctly calculate prefetch suppresion varying index, panfrost: Add a debug option for checking overflows on pool uploads, panfrost: Dont unbind recently bound streamout targets, nine: Only enable thread_submit by default on x86, venus: Add support to VK_KHR_maintenance4 extension, venus: Use maintenance4 to get max_size_buffer, Revert radeon: add EFC support to only VCN2.0 devices, vulkan/runtime: repair thread safety in method vk_queue_start_submit_thread(), radeonsi: save the fs constant buffer to the util blitter context, gallium/u_blitter: clear color buffers using color from a constant buffer, mesa/st: add nir shader to clear color buffers using constant value, mesa/st: clear color buffers using color from a constant buffer, mesa/st: call pipe->link_shader even if ir loaded from cache when linking, vulkan/wsi/wayland: Fix double free on error condition, anv: re-alloc push constants after secondary command buffers, anv: do not get rid of empty/useless fragment shaders, anv: emit scissors when the pipeline changes, anv: pipelineStageCreationFeedbackCount is allowed to be 0, amd: update headers to support decode software ring, radeonsi/gfx11: update codec support for gfx11, radeonsi/vcn: add decode software ring support for gfx11, radeonsi/vcn: add jpeg decode support for gfx11, amd/common: some ASICs with gfx9 use compute rings for render, vulkan/wsi: treat EBADF as missing DMA_BUF_IOCTL_{EXPORT,IMPORT}_SYNC_FILE, nir,microsoft: Move scale_fdiv into a common NIR pass, nir/opcodes: fisfinite32 should return bool32, util/set: Respect found in search_or_add_pre_hashed, vulkan: Add a common VkPipelineCache implementation, vulkan/pipeline_cache: Add helpers for storing NIR in the cache, anv: Switch to the new common pipeline cache, anv: Clean up pipeline cache helpers a bit, vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping, vulkan: Use ALL_COMMANDS_BIT for waits/signals instead of ~0, spirv: Handle Op*MulExtended for non-32-bit types, vulkan/log: Allow but warn if called with a NULL object, vulkan/log: Allow but warn for client-invisible objects, nir/constant_folding: Break TXB folding into a helper function, nir: Constant fold sampler/texture offsets, panvk: Take buffer offsets into account in BindVertexBuffers, panvk: Eliminate unused vertex attributes, nir/deref: Add an alu-of-cast optimization, panvk: Add address/range helpers for panvk_buffer, vulkan/wsi: Close file descriptors in wsi_destroy_image, vulkan/wsi: Only use a single fd per wsi_image, vulkan/wsi: Reset the image fence right before vkQueueSubmit, vulkan/wsi: Set the right stage flags for semaphore waits, vulkan/wsi: Add signal_fence/semaphore_for_image helpers, nir/cf: Return a cursor from nir_cf_extract as well, nir: Fix constant folding for non-32-bit ifind_msb and clz, nir: Set image_buffers and msaa_images in lower_samplers_as_deref, nir: Stop assuming shader_info::textures_used is 32-bit, nir: Gather samplers_used separately from textures, util/bitset: Support larger ranges in BITSET_TEST/CLEAR_RANGE, shader_info: Bump the number of images and textures supported, gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers, mesa/st: Clamp MaxImageUniforms to MAX_IMAGE_UNIFORMS, gallium: Bump PIPE_MAX_SHADER_IMAGES to 64, panvk: Call nir_lower_io_arrays_to_elements_no_indirects, nir/lower_blend: Be more explicit about deref assumptions, nir/lower_blend: Stop passing the whole options object around, nir/lower_blend: Support SNORM and integer formats for logic ops, nir/builder: Add a nir_trim_vector helper, nir/builder: Add a nir_resize_vector helper. ARMv7 with Neon Support (32-bit) or ARM64, For development and debugging: see the Apple documentation on, Windows 7 (SP1+), Windows 10 and Windows 11. x86, x64 architecture with SSE2 instruction set support. glsl: Retire the non-NIR GLSL linking paths. Install mesa to target folder ~/mesa-local. Rewritten OpenGL Drivers Make AMD's GPUs 'Up To 72%' Faster in Some Pro Apps, Companies Are Having Trouble Enforcing Return-to-Office Policies, Canada's Major Banks Go Offline in Mysterious Hours-long Outage, Federal Investigators Say They Used Encrypted Signal Messages To Charge Far-Right Militia Group Leader, San Francisco's Mayor is Urging Employers to Return Workers to Downtown Offices. aco/radv: provide a vs prolog callback from aco to radv. radv: Flush descriptors and push constants for task shaders. The most important components you'll need for developing Vulkan applications on Linux are the Vulkan loader, validation layers, and a couple of command-line utilities to test whether your machine is Vulkan-capable: sudo apt install vulkan-tools or sudo dnf install vulkan-tools: Command-line utilities, most importantly vulkaninfo and vkcube. Phoronix.com was founded in June of 2004 by Michael Larabel and over the past nearly two decades has become the leading resource for Linux news, especially as it pertains to Linux hardware support, graphics drivers, and other enthusiast topics. ir3: Retire the cp postsched pass now that we do RA in SSA. If you experience issues with default SNA (e.g. Mesa 19.1.8 Release Notes / October 21, 2019, Mesa 19.1.7 Release Notes / September 17, 2019, Mesa 19.1.6 Release Notes / September 3, 2019, Mesa 19.1.5 Release Notes / August 23, 2019, Mesa 19.1.4 Release Notes / August 7, 2019, Mesa 19.1.3 Release Notes / July 23, 2019, Mesa 19.0.8 Release Notes / June 26, 2019, Mesa 19.1.1 Release Notes / June 25, 2019, Mesa 19.0.7 Release Notes / June 24, 2019, Mesa 19.1.0 Release Notes / June 11, 2019, Mesa 19.0.3 Release Notes / April 24, 2019, Mesa 19.0.2 Release Notes / April 10, 2019, Mesa 18.3.6 Release Notes / April 5, 2019, Mesa 19.0.1 Release Notes / March 27, 2019, Mesa 18.3.5 Release Notes / March 18, 2019, Mesa 18.3.4 Release Notes / February 18, 2019, Mesa 18.3.3 Release Notes / January 31, 2019, Mesa 18.3.2 Release Notes / January 17, 2019, Mesa 18.2.8 Release Notes / December 27, 2018, Mesa 18.2.7 Release Notes / December 13, 2018, Mesa 18.3.1 Release Notes / December 11, 2018, Mesa 18.3.0 Release Notes / December 7, 2018, Mesa 18.2.6 Release Notes / November 28, 2018, Mesa 18.2.5 Release Notes / November 15, 2018, Mesa 18.2.4 Release Notes / October 31, 2018, Mesa 18.2.3 Release Notes / October 19, 2018, Mesa 18.2.2 Release Notes / October 5, 2018, Mesa 18.1.8 Release Notes / September 24 2018, Mesa 18.2.1 Release Notes / September 21, 2018, Mesa 18.2.0 Release Notes / September 7, 2018, Mesa 18.1.8 Release Notes / September 7 2018, Mesa 18.1.7 Release Notes / August 24 2018, Mesa 18.1.6 Release Notes / August 13 2018, Mesa 18.0.2 Release Notes / April 28, 2018, Mesa 18.0.1 Release Notes / April 18, 2018, Mesa 17.3.9 Release Notes / April 18, 2018, Mesa 17.3.8 Release Notes / April 03, 2018, Mesa 18.0.0 Release Notes / March 27 2018, Mesa 17.3.7 Release Notes / March 21, 2018, Mesa 17.3.6 Release Notes / February 27, 2018, Mesa 17.3.5 Release Notes / February 19, 2018, Mesa 17.3.4 Release Notes / January 15, 2018, Mesa 17.3.3 Release Notes / January 18, 2018, Mesa 17.3.2 Release Notes / January 8, 2018, Mesa 17.2.8 Release Notes / December 22, 2017, Mesa 17.3.1 Release Notes / December 21, 2017, Mesa 17.2.7 Release Notes / December 14, 2017, Mesa 17.3.0 Release Notes / December 8. But theres also support for Windows, other flavors of Unix and other systems such as Haiku. desktop OpenGL support on devices that only support Vulkan. radv: Implement CmdExecuteGeneratedCommandsNV. nir: add 16 and 64 bit fisnormal lowering, vtn: clamp SpvOpImageQuerySize dest to 32 bit, llvmpipe: PIPE_COMPUTE_CAP_GRID_DIMENSION is uint64_t, llvmpipe/fence: make the fence id counter atomic, iris/cs: take buffer offsets into account for CL, nir: add a nir_remove_non_entrypoints helper, clc: speed up compilation by not relying on opencl-c.h, clc: fix compiler features_macro CTS Test, clc: disable opaque pointers until they are supported, nir/gather_info: allow to run it before inlining, nouveau: use the contexts pushbuf and client where possible, nv50/ir: fix OP_UNION resolving when used for vector values, d3d12: Reduce cost of shader key comparisons, mesa/main: Correct alloca() use without #include c99_alloca.h, intel/decoder: Fix binding table pointer decoding with large offsets, iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS, Revert st/mesa: Transcode ASTC to BC7 (BPTC) where possible, intel: Drop Wa_1409226450 (stall before instruction cache invalidation), intel: Fix analysis invalidation in eliminate_find_live_channel, intel/compiler: Move spill/fill tracking to the register allocator, mesa: Split tx_compress_dxtn into per-format functions, mesa: Avoid temp images in _mesa_texstore_rgb_dxt1 for GL_RGBA source, mesa: Require temp images in _mesa_texstore_*_dxt* with SkipImages, mesa: Avoid temp images in _mesa_texstore_*_dxt* for stride = 0. isl: Add an isl_format_supports_typed_atomics() helper. ci/vc4: Turn on deqp-egl testing by default. svga: Add support for requesting NIR and translating to TGSI. https://unity3d.com/unity/whats-new/2021.2.0. ci/bare-metal: Get rid of servos serial feed threads. radv: Implement task shader draw and payload rings. I also have both the relevant openGL (mesa) and vulkan-intel drivers installed. r600: Elide downloads for discarded and immutable compute memories. Revert ci/freedreno: Switch a630 to manual/disabled for lab maintenance.. Install the mesa package, which provides the DRI driver for 3D acceleration. Over the summer were various stories how the Intel Arc Graphics with OpenGL on Windows wasn't in the best of shape with Intel focusing on newer Direct3D 12 support. OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU). Devices supporting these forms of interactive applications can be referred to as XR devices. Misc: Support adding more compiler flags as needed; MinGW: Use Meson --prefer-static to link zlib, zstd and regex statically; Disable shared glapi when no Mesa3D OpenGL driver is built; Mesa3D pkg-config files are now relocatable. VK_EXT_custom_border_color with customBorderColorWithoutFormat. nouveau: Enable the NIR backend by default. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. See the OpenXR Plugin documentation for a list of compatible runtimes. nouveau/nir: Fix the inverted sense of usesSampleMaskIn. * Requires Vulkan * AMD graphics cards require Mesa 17.3.5 or later. Last week with the release of Blender 3.2 bringing AMD HIP support for Linux to provide for Radeon GPU acceleration, I posted some initial benchmarks of AMD Radeon RX 6000 series with HIP against NVIDIA RTX with OptiX.There was interest by some Phoronix readers in also seeing NVIDIA CUDA results even though OptiX is in good shape with RTX GPUs, so with that nir/lower_io: Fix array length of buffers larger than INT32_MAX. crocus: fail query begin if upload allocation fails. ci/freedreno: Filter when we run test jobs for VK or GL changes. ci: Remove .build-rules from core test job definitions. radv, aco: Round texture array layer in NIR. nouveau/nv50: Print the number of loops in shader-db output. AMD, and before them ATI, have a history of poor OpenGL performance or even compliance/compatibility, which has historically been mitigated by Mesa etc. nouveau: move codegen into a standalone library. Platforms and Drivers Mesa is primarily developed and used on Linux systems. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium. changing the descriptor manager may improve performance: Automatically detect best mode. X64 architecture with SSE2 instruction set support, X64 architecture with SSE2 instruction set support (Intel processors). freedreno/ir3: Fold 16-bit conversions into image load/store src/dsts. aco/ir: Add swapped opcode for v_cmp_u/v_cmp_o. Comments owned by the poster. radv: Lower mesh shader 3D workgroup ID to 1D index. Build mesa ninja. turnip: Split the tiling config into separate layouts based on CCU usage. ci: Pull common zink frontend rules to a shared rule list. This section lists the minimum requirements to run the Unity Editor. ci/bare-metal: Collapse artifacts wget by default. nir/lower_blend: Expand or shrink output variables as needed, iris: Set BindingTableEntryCount for compute shaders, nir: Mark negative re-distribution on fadd as imprecise, clover: Set images/samplers_used when lowering images, gallium: Set shader_info::samplers_used in pstipple_fs, mesa/st: Set samplers_used in lower_tex_src_plane, gallium/draw: Properly handle nr_samplers != nr_sampler_views in keys, llvmpipe: Fill out samplers even if nr_samplers = 0, lavapipe: Set images_used in lvp_lower_pipeline_layout, ntt: Dont gather samplers_declared twice, panvk: Move CreateDescriptorSetLayout to per-arch, panvk: Break descriptor lowering into its own file, panvk: Add a buffer to each descriptor set, panfrost,panvk: Make fixed_sysval_ubo < 0 mean compiler-assigned, panfrost: Add some sanity checking for sysvals, bifrost,midgard: Allow providing a fixed sysval layout, panvk: Get rid of the per-pipeline sysvals BO, panvk: Stop calling lower_uniforms_to_ubo, panvk: Put the sysval and push const UBOs at fixed indices, panvk: Interleave UBOs with multiple descriptor sets, panvk: Put SSBO addresses in the descriptor buffer, vulkan: Start collecting enabled features in vk_device, panvk: Advertise VK_KHR_variable_pointers, panvk: Add an elems field to panvk_buffer_view, pavnk: Pass bind layouts to texture and image descriptor helpers, FIXUP: Use 16-bit things for texture sizes, panvk: Re-arrange descriptor set functions, panvk: Rewrite the write portion of vkUpdateDescriptorSets, panvk: Set immutable samplers properly up-front, panvk: Implement descriptor copies properly, panvk: Round FillBuffer sizes down to a multiple of 4, nir: Preserve metadata if remove_dead_derefs makes no progress, nir: Add a var set version of lower_indirect_derefs, mesa/st: Use nir_shader_instructions_pass for st_nir_lower_builtin, mesa/st: Check deref modes in lower_builtin_instr, mesa/st: Use lower_indirect_var_derefs in st_nir_lower_builtin, nir: Put the builder first in lower_input_attachments helpers, nir: Use nir_shader_instructions_pass in nir_lower_input_attachments, bifrost: Run nir_lower_global_vars_to_local before nir_lower_vars_to_scratch, panvk: So more nir_lower_tex before descriptor lowering, panvk: Lower blending after lower_var_copies, v3dv: Add a create_image_view helper for internal views, vulkan: Only be clever about vk_image_view::view_format for normal views, v3dv: Dont use color aspects for depth/stencil images, v3dv: Drop the region temporary from blit_shader, vulkan,v3dv: Add a driver_internal flag to vk_image_view_init/create, radv: Only use PLANE_0 in meta when actually needed, radv: Use vk_image as the base for radv_image, radv: Use vk_image_view as the base for radv_image_view, vulkan/pipeline_cache: Implement deserialize for raw objects, v3dv: Loosen an assert in copy_buffer_to_image_shader, vulkan: Fall back to raw data objects when deserializing if ops == NULL, lavapipe: Use the correct ICD path on Win32, vulkan,anv,turnip: Add a common CmdBindVertexBuffers wrapper, radv: Add a sqtt entrypoint for CmdBindVertexBuffers2, radv: Use the common CmdBindVertexBuffers wrapper, lavapipe: Use the common BindVertexBuffers wrapper, nir/algebraic: Add two more pack/unpack rules, intel/fs: Drop fs_visitor::emit_alpha_to_coverage_workaround(), intel/fs: Copy color_outputs_valid into wm_prog_data, anv: Drop alpha_to_coverage from the NULL FS optimization, anv: Handle the null FS optimization after compiling shaders, anv: Dont disable the fragment shader if XFB is enabled, intel: Only set VectorMaskEnable when needed, vulkan/runtime: Add min_lod to vk_image_view, intel/isl: Add isl_view::min_lod_clamp for IVB+, isl: Add some asserts about multisampled surfaces, nir: Handle register sources in lower_phis_to_regs_block, nir: Add a correctness note for nir_lower_phis_to_regs_block, nir: Rename nir_gather_xfb_info to nir_shader_get_xfb_info, glsl/nir: Populate nir_shader::xfb_info after linking varyings, glsl/nir: Stash the xfb_info in the nir_shader when linking XFB, st,nir: Use nir_shader::xfb_info in nir_lower_io_passes, ttn: Populate the images/textures/samplers_used fields in shader_info, vulkan,anv: Move the image offset/extent sanitize helpers to common code, radv: Use the common image offset/extent sanitize helpers, vulkan,radv: Move vk_format_get_plane_format to common code, vulkan/format: Add a vk_format_get_aspect_format helper, vulkan: Add a helper for image<->buffer copies, anv: Use the common image<->buffer copy helper, vulkan,radv: Steal some image offset/extent helpers from radv, lavapipe: Use vk_image_buffer_copy_layout, nir/deref: Break out a helper for compare_deref_paths, nir/deref: Use an index in compare_deref_paths, nir/deref: Make compare_deref_paths take a stop callback, nir/deref: Re-arrange variable checks in compare_deref_paths, nir: Increase nir_variable_data::mode to 16 bits, nir/vars_tests: Use nir_var_mem_global instead of ssbo, nir/deref: Handle SSBO array bindings specially, nir/deref: Handle RESTRICT for SSBO deref bindings, compiler/types: Dont place members in the previous substructs end padding, vulkan/wsi: Fix a signal_semaphore_with_memory check, wsi: Always signal semaphores and fences in wsi_common_acquire_next_image, panvk: Use the common AcquireNextImage implementation, v3dv: Use the common AcquireNextImage implementation, lavapipe: Use the common AcquireNextImage implementation, pvr: Use the common AcquireNextImage implementation, turnip: Use the common AcquireNextImage implementation, turnip: Use the common QueuePresent implementation, turnip: Set supported_sync_types before wsi_init, vulkan/wsi: Use a STACK_ARRAY for stage_flags, vulkan/wsi: Reset fences earlier in wsi_common_queue_present, vulkan/wsi: Re-arrange QueueSubmit code in wsi_common_queue_present, vulkan/wsi: Set memory ownership after signaling fences and semaphores, vulkan/wsi: Signal semaphores and fences from the dma-buf, anv: Properly clamp attachment layer counts, vulkan/wsi: Use HAVE_LIBDRM to detect DRM instead of !_WIN32, lavapipe: Use the new border color helper, vulkan/nir: Make spirv_data const in vk_spirv_to_nir, vulkan: Add a vk_pipeline_shader_stage_to_nir helper, gallium: Add a u_default_clear_buffer helper, nir/opt_memcpy: lower copies to/from tightly packed types, nir: Add an options parameter to deref_instr_has_complex_use, nir/opt_memcpy: Add another case for function_temp, vulkan/render_pass: Add a better helper for render pass inheritance, anv: Use CmdBeginRendering for resumes in BeginCommandBuffer when possible, vulkan/render_pass: Use a special layout for self-dependencies, vulkan/render_pass: Pass sample locations to barriers, vulkan/render_pass: Allow for mixed sample counts, vulkan/render_pass: Support VkAttachmentSampleCountInfoAMD, vulkan: Add a base struct for descriptor set layouts, vulkan: Add a common implementation of pipeline layouts, lavapipe: Use the vk_descriptor_set_layout base struct, lavapipe: Use the vk_pipeline_layout base struct, panvk: Use the vk_descriptor_set_layout base struct, panvk: Use the vk_pipeline_layout base struct, vulkan: Depend on vk_pipeline_layout in vk_cmd_enqueue, anv: Replace an assert() with unreachable(), util: Re-indent util_sign_extend, comment, and add asserts, util: Use util_sign_extend in fast_idiv_by_const, util,nir: Move mask_sign_extend from opt_load_store_vectorize to util, intel/decoder: Use util_mask_sign_extend(), panfrost,asahi: Use util_sign_extend for unpacking, nir: Use util_mask_sign_extend when serializing constants, vulkan/wsi: Pass the size to MapMemory in the SW path, vulkan/wsi/wayland: Use a single memcpy in the SW path, vulkan/wsi: Move select_memory_type to common and rework it a bit, vulkan/wsi: Add a helper for creating CPU images, vulkan/wsi/x11: Use wsi_configure_cpu_image, vulkan/wsi/wayland: Use wsi_configure_cpu_image, vulkan/wsi: Delete SW support from configure_native_image, vulkan/wsi: Compute stride and size in configure_buffer_image, vulkan/wsi: Align buffer image strides to optimalBufferCopyRowPitchAlignment, vulkan/wsi/x11: Dont leak shm_reply if we dont have dri3 or present, vulkan/wsi/x11: Only use MIT_SHM if the device supports EXT_external_memory_host, vulkan/wsi/wayland: Use host pointer import when available, dozen: Increase optimalBufferCopy*Alignment, dozen: Stop asking for semaphore/fence signaling, vulkan/wsi/wayland: Only memcpy if the swapchain is actually software, vulkan/wsi: Fix structure chaining in wsi_create_buffer_image_mem, shader_info: Move subgroup_size out of cs and make it an enum, spirv,vulkan: Set shader_info::subgroup_size, mesa,glsl,ttn: Set subgroup_size to UNIFORM, anv: Drop unnecessary parameters to anv_pipeline_compile_cs, anv: Put a VkPipelineShaderStageCreateInfo* in anv_pipeline_stage, vulkan: Add a vk_pipeline_shader_stage_is_null() helper, anv: Use vk_pipeline_shader_stage_is_null(), intel,anv,iris,crocus: Drop subgroup size from the shader key, anv: Implement VK_EXT_shader_module_identifier, anv: Init supported extensions before WSI, vulkan/wsi/wayland: Add a BUFFER_TYPE flag, vulkan/wsi: Add debug variables to force the SW and PRIME buffer blit paths, intel/blorp: Set uses_sample_shading for MSAA blit shaders, radv: Set uses_sample_shading for copy shaders, intel/fs: Use shader_info::fs::uses_sample_shading, nir: Add a pass for lowering shaders to single-sampled, glsl/nir: Set uses_sample_shading from glsl_to_nir, spirv/nir: Set uses_sample_shading from spirv_to_nir, nir/gather_info: Stop gathering uses_sample_shading, glsl/nir: Set sample_shading if a FS output ever shows up as an rvalue, intel/fs,anv: Rework handling of coarse and sample shading, anv: Stop compacting surface state tables, vulkan: Detect pNext chain loops in vk_foreach_struct(), Revert vulkan: Detect pNext chain loops in vk_foreach_struct(), vulkan: Add a vk_limits.h file for runtime limits, vulkan: Add an enum for all dynamic graphics states, vulkan: Add data structures to store all graphics state, vulkan: Add a common data structure for dynamic states, vulkan: Add a common implementation of vkCmdSet*, vulkan: Copy the depth/stencil state optimization code from ANV, vulkan: Detect pNext chain loops in vk_foreach_struct() (v2), anv: Add an instance multiplier to anv_pipeline, anv: Handle vertex buffer sizes in anv_CmdBindVertexBuffers2, anv: Stop recording sample locations per-sample-count, anv: Convert to using vk_graphics_pipeline_state, anv: Switch to using common dynamic state tracking, vulkan/graphics_state: Improve the depth/stencil optimization code, anv: Do depth/stencil optimization for dynamic depth/stencil, vulkan: Call lower_clip_cull_distance_arrays in vk_spirv_to_nir, vulkan/nir: Dont remove dead XFB outputs, vulkan: Call gather_xfb_info in vk_spirv_to_nir, vulkan: Allow up to 12 pointers in multialloc, vulkan: Record shader stages in vk_graphics_pipeline_state, vulkan: Multisample state isnt always included in fragment shader state, vulkan: Depth/stencil isnt fragment output state but multisample is, vulkan: Add a fully_dynamic_state_groups() helper, vulkan: Fix pipeline libraries with dynamic-only VI or FSR state, vulkan: Input assembly and depth/stencil can also be fully dynamic, vulkan: Dont assert VkGraphicsPipelineLibraryCreateInfoEXT::Flags == 0, zink: Mark depth/stencil visual tests as flakes, lavapipe: Use shader_info::uses_sample_shading, lavapipe: Use the vk_graphics_pipeline_state, vulkan: Append subpass structures to VkRenderingInfo last, vulkan: Include self-dep info in rendering continues, intel/eu: Dont throw validation errors on float MOV_INDIRECT, lima: Lower undefs to zero and run DCE after from_ssa, vulkan: Always populate vk_render_pass_state::render_pass, vulkan: Improve the docs for vk_subpass_info, radv: Use both aspects for depth/stencil blit destinations, vulkan: Dirty VP_VIEWPORTS/SCISSORS when copying viewports/scissors.