Mesa 22.1.0 Release Notes / 2022-05-18

Mesa 22.1.0 is a new development release. People who are concerned with stability and reliability should stick with a previous release or wait for Mesa 22.1.1.

Mesa 22.1.0 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 22.1.0 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

df6270c1371eaa2aa6eb65b95cbbb2a98b14fa4b7ba0ed45e4ca2fd32df60477  mesa-22.1.0.tar.xz

New features

  • d3d12 GL4.2

  • GL_NV_pack_subimage

  • VK_EXT_depth_clip_control on lavapipe and RADV

  • Vulkan 1.3 support on lavapipe

  • VK_EXT_graphics_pipeline_library on lavapipe

  • VK_EXT_primitives_generated_query on lavapipe

  • VK_EXT_image_2d_view_of_3d on ANV and lavapipe

  • VK_KHR_swapchain_mutable_format on lavapipe

  • Intel DG2 support

Bug fixes

  • [radv] DCC causes artifacts in Senran Kagura Shinovi Versus

  • Radeon RX 5700XT crash when using prusa-slicer

  • turnip: gfxbench mh3.1 offscreen crash with ANGLE

  • Radv leaks a descriptor set layout

  • clover: Assertion `NumContainedTys && “Attempting to get element type of opaque pointer”’ failed

  • wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes causes memory leak in Apex Legends

  • freedreno: fragile location packing can break cull/clip distance

  • turnip: dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.generated_args.* 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

  • piglit ext_image_dma_buf_import.ext_image_dma_buf_import* regression

  • Huge amount of anon_inode:sync_file file descriptor created

  • Grid Autosport via proton/vulkan: glitches on the grass on amdgpu, fine on amdgpu-pro

  • NIR validation failed after nir_opt_if

  • 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 Baldur’s Gate Dark Alliance in Xbox emulator CXBX-R under wine with Gallium Nine and RADEON_DEBUG=use_tgsi

  • radv/aco: xfb bug

  • ‘../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. after loading, with ACO on RX 5700 XT

  • Vulkan::Calling vkWaitForFences Timeout

  • Intel (CHT) - Uplink text rendering bugged out in Mesa 22.0

  • gen9atom gpu hang on dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_1

  • bad memory managment on panfrost RK3399 - cannot alocate more ram - fury unleashed

  • radv,aco: Regression with global atomics with negative offsets

  • RADV: Quake 2 RTX v1.6.0 Corrupted Graphics

  • radv: nir validation error with invalid array access

  • [Intel, Iris] Broken rendering in Ryujinx on Tigerlake

  • intel: integer_mad_hi / integer_mad_sat / integer_mul_hi produce invalid results

  • llvmpipe: wrong color on big endian, with 16bits framebuffer.

  • llvmpipe: wrong color on big endian, with 16bits framebuffer.

  • radv: Poor performance in Ghostwire: Tokyo

  • Intel Iris Xe Geometry Flickering/Assets Disappearing

  • Rendering artifacts when playing Outer Wilds [Reproducible with latest ANV driver built from main]

  • ANV: EXT_depth_clip_control broken

  • VA-API accelerated videos are displayed all red w/ Encoder format conversion (EFC) support for AMD VCN2.0 devices patch

  • panfrost: BO importing crash on Android

  • [Intel,ANV] Feature request: a few formats

  • Vulkan wsi leaks vk_sync object on every wsi_AcquireNextImageKHR call

  • radv: Fog effects in Elden Ring broken

  • r300: Set PVS_LAST_VTX_SRC_INST and PVS_XYZW_VALID_INST correctly

  • [bisected] commit “vbo/dlist: use a single buffer object” results in heavy regression with virgl for glxgears

  • llvmpipe: [bisected] ec8104c6b2274 breaks virglrenderer’s vtest_server

  • Textures colors distortion in “Black Geyser: Couriers of Darkness” with radeonsi

  • r300: Anmesia the dark descent corruption

  • ShaderStorageBlocksWriteAccess not set for spir-v shaders?

  • anv: EXT_color_write_enable severely broken

  • ICL gpu hang: dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified.multisample_rbo_16

  • null pointer deref crash in wsi_common_x11.c

  • Error compiling with LLVM-git/15

  • [bisected] panfrost(RK3399/T860): Emulationstation: broken, black or missing menus with v22.0.0

  • Plasma/KDE settings menus disappear on daily build

  • turnip: Unrecoverable hang in Age of Empires IV on A650/A660

  • anv regressions from commit 57445adc891 “anv: Re-enable CCS_E on TGL+”

  • anv: uninit compile warnings

  • VK_IMAGE_CREATE_EXTENDED_USAGE_BIT not accounted for in vkGetPhysicalDeviceImageFormatProperties

  • freedreno: crash in PUBG

  • [regression][bisected] MSVC: Build failure in libmesa_util when targeting x86 32-bit

  • vulkan: cmd queue codegen still needs work

  • Using VAAPI-AMDGPU, RGBA-surface converted to NV12-surface, and UV data is lost, only Y data

  • A crash in radeonsi driver

  • freedreno: deqp cts fails

  • turnip: autotune disabled under zink sometimes

  • radeonsi dEQP-GLES3.functional.buffer.map.write.explicit_flush.* flake crashes

  • [BDW-TGL] Piglit’s ext_image_dma_buf_import-export-tex fails in the Intel CI

  • android: don’t sync_wait() on in fence

  • va: incorrect frame_num logic causes corrupt h.264 encoding

  • Performance slowdown by ~20% in Unigine sanctuary with nir_to_tgsi

  • !15098 broke 4 piglit spec@ext_external_objects tests

  • anv: Unable to import I915_FORMAT_MOD_Y_TILED surfaces produced by iHD vaapi driver

  • anv doesn’t always resolve aux buffers with private bindings on transition to external queue

  • Square Artifacts Dragons Dogma

  • iris: Shared resources are allocated for scanout, but not configured for it

  • [Feature Request] turnip: Support of Gamescope

  • r300: shaders/closed/steam/massive-chalice/1707.shader_test reports absurd results

  • Redraw freeze after upgrade to Xwayland 21.1.3

  • [ANV] Rendering corruption in DOOM Eternal

  • radv: When using VS+PS only, primitive ID is mixed up after NGG culling

  • radv: Fails to build on Unix except Linux

  • [22.0.0_rc{1,2}] radeonsi: broken support for HD7850 (radeon 0000:0b:00.0: ring 0 stalled for more than…)

  • turnip: external memory import does not work

  • lavapipe: dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_3.step fails

  • RADV: Texture seams in The Evil Within 2 (regression)

  • r300: some optimization oportunities when transforming SIN and COS inputs

  • microsoft/compiler: System variables that aren’t VS input or PS output should have interpolation specified

  • ANV: Bad output from TransformFeedback . Regression from Mesa 21. Something to do with VB+XFB -> VB+XFB dependency?

  • undefined reference to `intel_ds_end_dyn_render_pass’

  • radv: CullDistance fail

  • Changing the buffer modifer via Wayland dmabuf-feedback apparently does not reliably reset the buffer age to 0

  • r300: “deadcode” pass for removing unused values ignores “break”

  • turnip: dEQP-VK.pipeline.render_to_image.core.* failures on a618

Changes

Adam Jackson (20):

  • dri: Epoch how no-error context creation works

  • egl: Use the new no-error driver interface

  • glx: Use the new no-error driver interface

  • mesa: Enable GL_NV_pack_subimage

  • wsi/x11: xcb_wait_for_special_event failure is an error

  • dri: Fold away some unused indirection in __DriverAPIRec

  • dri: Implement __DRI_DRIVER_VTABLE

  • dri: Fill in the driver extensions for the legacy createNewScreen paths

  • dri: Remove the globalDriverAPI hacks

  • dri: Remove the megadriver compat stub

  • meson: Define a HAVE_XXXX macro for every gallium driver we build

  • kopper: Define the driver interface

  • egl: Learn about kopper

  • glx: Learn about kopper

  • gallium: Learn about kopper

  • glx/kopper: Wire up a way for SwapBuffers to fail

  • wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes

  • kopper: Grow a swap interval API

  • glx/kopper: Enable GLX_EXT_swap_control etc.

  • egl/kopper: Hook up eglSwapInterval

Adrián Larumbe (1):

  • panfrost: fix segfault in pandecode

Akihiko Odaki (2):

  • virgl/ci: Uprev virglrenderer

  • virgl: Check texture multisample compatibility

Alejandro Piñeiro (4):

  • v3d/drm-shim: remove drm-shim driver

  • v3dv/pipeline: use new helper vk_shader_module_to_nir

  • docs: document v3d/v3dv envvars

  • broadcom: update language on V3D_DEBUG options

Alex Xu (Hello71) (1):

  • r300/compiler/tests: print regoff_t as size_t

Alexey Bozhenko (1):

  • spirv: fix OpBranchConditional when both branches are the same

Alyssa Rosenzweig (345):

  • panfrost: Remove blend shader return value on v9

  • panfrost: Fix alignments on Valhall

  • panfrost: Add Valhall Plane Descriptor XML

  • panfrost: Add remaining ZS/CRC XML

  • panfrost: Fix texel interleave flag on Valhall

  • nir,zink: Make lower_discard_if a common pass

  • agx: Call nir_lower_discard_if

  • asahi: Identify IOGPU_ATTACHMENT::size

  • asahi: Correctly set IOGPU_ATTACHMENT::size

  • agx: Add AUTO_LOD_BIAS mode

  • agx: Translate LOD modes more generically

  • agx: Implement nir_op_txb

  • agx: Handle texture array indices

  • agx: Don’t kill helper threads in ld_var

  • asahi: Fix memory unsafety in delete_sampler_state

  • panfrost: Flesh out Buffer descriptor

  • panfrost: Strip % in GenXML names

  • panfrost: Flesh out tiler heap descriptor

  • panfrost: Update supported job types

  • panfrost: Remove some indexed formats on Valhall

  • panfrost: Remove unused layout enums

  • panfrost: Fix Depth Source enum

  • panfrost: Update primitive descriptor for Valhall

  • panfrost: Add more fields to Attribute Descriptor

  • panfrost: Clarify unknowns in z/stencil descriptor

  • panfrost: Simplify Valhall preload descriptor

  • panfrost: Flesh out the Shader Program Descriptor

  • panfrost: Add Valhall additions to the framebuffer

  • panfrost: Shuffle render target AFBC for Valhall

  • panfrost: Add Valhall fields to tiler descriptor

  • panfrost: Update Shader Environment descriptor

  • panfrost: Flesh out compute jobs

  • panfrost: Fix Malloc Vertex definition

  • nir: Set internal=true in nir_builder_init_simple_shader

  • panfrost,asahi,radv: Don’t set internal=true manually

  • pan/mdg: Pull out skip_internal boolean

  • pan/mdg: Print optimized and scheduled shader

  • pan/mdg: Model zero/sign extension for 8/16-bit loads

  • pan/mdg: Handle 8/16-bit UBO loads

  • pan/mdg: Clarify some ISA unknowns

  • pan/mdg: Delete stray comment

  • pan/mdg: Delete dedicated fdot2 lowering

  • pan/mdg: Assert that we don’t see unknown jumps

  • pan/mdg: Remove todo we’ll probably never get to

  • panvk: Don’t use UBOs for meta_clear

  • pan/va: Parse units from the XML

  • pan/va: Fix some units

  • pan/va: Make subgroup 4-bits

  • pan/va: Fix conservative branch handling

  • pan/va: Identify LEA_TEX_IMM table

  • pan/bi: Avoid *FADD.v2f16 hazard in optimizer

  • pan/bi: Avoid *FADD.v2f16 hazard in scheduler

  • pan/bi: Test avoiding *FADD.v2f16 hazard in optimizer

  • pan/bi: Test avoiding FADD.v2f16 hazards in scheduler

  • nir: Check all sizes in nir_alu_instr_is_comparison

  • asahi: Streamline modifier selection

  • asahi: Don’t redefine MIN2/MAX2

  • asahi: Identify Level field of render target descriptor

  • asahi: Respect mip level when rendering

  • asahi: Add 2D Array and 3D texture dimensions

  • asahi: Handle tiling of 2D arrays and 3D

  • asahi: Add some notes to XML about mipmapping

  • asahi: Dynamically configure tile size

  • asahi: Allow tiling of all bpps

  • asahi: Rename bpp to blocksize

  • asahi: Align allocations to effective tile size

  • asahi: Align linear texture’s strides to 64 bytes

  • asahi: Handle page alignment of miptrees

  • asahi: Pass correct tile shift to tiling routines

  • asahi: Track mipmap state explicitly

  • asahi: Support 2D array and 3D textures

  • asahi: Add agx_map_texture_{cpu,gpu} helpers

  • asahi: Handle reloads of specific cube/mipfaces

  • asahi: Implement texturing with non-zero start level

  • asahi: Add AGX_PUSH_ARRAY_SIZE_MINUS_1

  • agx: Add typed move helper

  • agx: Add agx_size_align_16 helper

  • agx: Naturally align uniform pushes

  • agx: Round and clamp array indices

  • asahi: Allow GenXML to be used in C++

  • asahi: Add LOD type

  • asahi: Add LOD clamp packing unit tests

  • asahi: Identify minimum/maximum LOD fields

  • asahi: Support LOD clamps

  • asahi: Wire in pure integer texture formats

  • pan/bi: Disambiguate IDVS variants in shader-db

  • pan/bi: Lower swizzles on CSEL.i32/MUX.i32

  • pan/bi: Lower swizzles on MUX.v2i16

  • pan/bi: Constant fold swizzles on constants

  • pan/bi: Optimize replication

  • pan/bi: Handle trivial i2i32

  • pan/bi: Handle vectorized u2f16/i2f16

  • pan/bi: Switch to lower_bool_to_bitsize

  • pan/bi: Revert “Fix load_const of 1-bit booleans”

  • pan/bi: Promote MUX to CSEL in the scheduler

  • asahi: Fix use-after-free in shader key

  • panvk: Use more reliable assert for UBO pushing

  • pan/bi: Specialize IDVS in NIR

  • pan/bi: Enable nir_opt_shrink_vectors

  • pan/bi: Clarify requirement for barriers

  • pan/bi: Cull DTSEL_IMM dests in post-RA DCE

  • pan/bi: Do not cull post-RA staging writes

  • pan/bi: Add bi_{start, exit}_block helpers

  • pan/bi: Use bi_exit_block

  • pan/bi: Clean up nits in liveness analysis

  • pan/bi: Add scoreboard state to IR

  • pan/bi: Print scoreboarding state

  • pan/bi: Implement basic scoreboarding pass

  • pan/bi: Add BIFROST_MESA_DEBUG=nosb option

  • pan/mdg: Fix partial execution mode names

  • panfrost: Use pan_shader_prepare_rsd in blitter

  • panfrost: Set defaults for deprecated DCD fields

  • panfrost: Annotate slow clears as such

  • panfrost: Decouple tiler job and DCD emit

  • panfrost: Inline pan_blit_emit_dcd

  • panfrost: Use txl instead of tex in the blitter

  • panfrost: Remove unrelated comment

  • panfrost: Remove pan_emit_fbd thunking

  • panfrost: Inline pan_emit_sfbd_tiler

  • ci: Disable windows-vs2019

  • panfrost: Fix FD resource_get_handle

  • panfrost: Simplify panfrost_resource_get_handle

  • iris,crocus,i915g: Don’t stub flush_frontbuffer

  • pan/mdg: Fix overflow in intra-bundle interference

  • pan/bi: Reorder pushed uniforms to avoid moves

  • panfrost/ci: Move T720 flakes to skips

  • panfrost/ci: Move T860 flake to skip

  • panfrost: Remove Message Preload Descriptor from v6.xml

  • panfrost: Add an unpacked message preload struct

  • panfrost: Pack message preloads from compiler

  • pan/bi: Add bi_before_nonempty_block helper

  • pan/bi: Account for message preloading in shaderdb

  • pan/bi: Support message preloading

  • pan/bi: Unit test message preloading optimization

  • panfrost/ci: Update xfails list

  • panfrost: Fix set_sampler_views for big GL

  • panfrost: Handle NULL sampler views

  • panfrost: Handle NULL samplers

  • panfrost: Flush resources when shadowing

  • pan/va: Remove incorrect TEX test cases

  • pan/va: Add MUX.v2i16 and MUX.v4i8 opcodes

  • pan/va: Allow forcing enums for 1-bit modifiers

  • pan/va: Handle extended staging counts in assembler

  • pan/va: Don’t use staging index as a sideband

  • pan/va: Fix definitions of TEX_SINGLE and TEX_FETCH

  • pan/va: Handle sr_write_count in the disassembler

  • pan/va: Add TEX_FETCH assembler case

  • panfrost: Extend SPD size

  • panfrost: Add Tile Render Order enum to fragment jobs

  • panfrost: Remove Invalidate Cache from Valhall job header

  • panfrost: Clarify contains descriptor? bit

  • panfrost: Make Divisor E an integer on v9

  • panfrost: Add an enum for Valhall resource tables

  • panfrost: Rename prepare_rsd->prepare_shader

  • panfrost: Add PAN_MESA_DEBUG=dump option

  • panfrost: Generalize some is_bifrost users

  • panfrost: Don’t pack blend constants with blend shaders

  • panfrost: Allow uploading fragment SPDs

  • panfrost: Don’t emit compression tags on Valhall

  • panfrost: Adapt estimate_texture_payload_size to Valhall

  • panfrost: Set texel_interleave on Valhall

  • panfrost: Unify barrier+helper handling

  • pan/bi: Mark NOP as having no destinations

  • pan/bi: Use a progress loop for constant folding

  • pan/bi: Allow CSE of preloaded registers

  • pan/bi: Support standalone Valhall disassembly

  • pan/bi: Wire Valhall disassembler into compiler

  • pan/bi: Add BI_SUBGROUP_SUBGROUP16 option

  • pan/bi: Trade off registers/threads on Valhall

  • pan/bi: Adapt bi_lower_branch for Valhall

  • pan/bi: Extract INSTRUCTION_CASE macro

  • pan/va: Add missing copyright notice

  • pan/va: Handle force_enum differing from name

  • pan/va: Add modifiers required for gathers

  • pan/va: Add TEX_DUAL instruction

  • pan/va: Add TEX_GATHER instruction

  • pan/va: Fix definitions of LD_VAR_BUF_IMM

  • pan/va: Fix LEA_BUF_IMM definition

  • pan/va: Remap “store segment” to “memory access”

  • pan/va: Add memory access modifier to LOADs

  • pan/bi: Model Valhall texture instructions

  • pan/bi: Extend BLEND to take a register format

  • pan/bi: Generalize I->table for Valhall

  • pan/bi: Add LD_VAR_BUF_IMM.f16/f32 instructions

  • pan/bi: Model LEA_BUF_IMM in the IR

  • pan/bi: Model pos/vary segments in STORE instructions

  • pan/bi: Model offset for LOAD/STORE

  • pan/bi: Model LD_BUFFER instructions

  • pan/bi: Add BRANCHZI instruction

  • pan/bi: Extend LD_TILE with a register format

  • pan/bi: Add arithmetic flag to RSHIFT ops

  • pan/bi: Run CSE after lowering FAU

  • panfrost: Push twice as many uniforms

  • mesa: Remove unused framebuffer validation

  • panfrost: Emulate GL_CLAMP on Bifrost

  • pan/bi: Handle non-2D arrays

  • panfrost: Handle txs of cube arrays

  • pan/va: Fix typo in BLEND text

  • pan/va: Add start property to source

  • pan/va: Handle 64-bit sources in message instrs

  • pan/va: Fix BLEND instruction

  • pan/va: Rewrite FAU handling in dis/assembler

  • pan/va: Handle uniforms from page 1

  • pan/va: Rename imm_mode -> fau_page

  • pan/va: Use 64-bit special FAU for pages 1 and 3

  • pan/va: Remove immediate modes from XML/asm

  • pan/va: Use boring names for FAU special pages 1/3

  • pan/va: Use XML for special FAU page 0

  • pan/decode: Handle blend arrays on Valhall

  • pan/decode: Unify tiler job handling

  • panfrost: Correct ASTC decode mode XML

  • panfrost: Fix primitive restart with 32-bit indices

  • panfrost: Fix definition of DCD on v9

  • panfrost: Refactor XML to permit non-IDVS jobs

  • panfrost: Add Tiler Job to v9 XML

  • pan/va: Correct definition of ZS_EMIT

  • pan/va: Model LEA_TEX_IMM more accurately

  • pan/va: Add LEA_ATTR_IMM instruction

  • pan/va: Add missing .auto32 register format

  • pan/va: Align error messages in disassembler tests

  • pan/va: Fix ST_CVT definitions

  • pan/bi: Add helpers to get vertex/instance ID

  • pan/bi: Use vertex/instance ID helpers

  • pan/bi: Print Valhall-specific FAU indices

  • pan/bi: Don’t analyze helper reqs in !frag shaders

  • pan/bi: Add Valhall-specific zero builder

  • pan/bi: Model Valhall action on bi_instr

  • pan/bi: Emit arch-specific code for bi_dontcare

  • pan/bi: Use bi_dontcare for ZS_EMIT

  • asahi: Identify IOGPU Clear Z/S structure

  • asahi: Identify aux framebuffer data structure

  • asahi: Identify IOGPU Internal Pipelines structure

  • asahi: Add stencil buffer attachment type

  • asahi: Identify IOGPU_MISC data structure

  • asahi: Add size field to slices

  • asahi: Add separate_stencil, internal_format fields

  • asahi: Generate IOGPU attachments dynamically

  • asahi: Wire in u_transfer_helper

  • asahi: Handle flushes of depth-only rendering

  • asahi: Don’t clobber clear colours

  • asahi: Port driver to macOS 12.x ABI

  • panfrost: Process scissor state earlier

  • pan/va: Allow forcing staging flags to read-write

  • pan/va: Allow omitting staging registers

  • pan/va: Add atomic instructions

  • pan/bi: Use consistent modifier lists in packing

  • pan/bi: Gate late DCE/CSE on “optimize”

  • pan/bi: Rename PATOM_C to ATOM

  • pan/bi: Add ATOM_RETURN pseudo-instruction

  • pan/bi: Model Valhall-style A(CMP)XCHG

  • pan/bi: Allow branch_offset on BLEND

  • pan/bi: Check return addresses in blend shaders

  • pan/bi: Augment ST_TILE with register format

  • pan/bi: Model LD_VAR_BUF instructions

  • pan/bi: Rename I->action to I->flow

  • pan/va: Add ST_TILE instruction

  • pan/va: Add LD_VAR_BUF instructions

  • pan/va: Add Bifrost-style LD_VAR instructions

  • pan/va: Unify flow control

  • pan/va: Permit encoding more flags

  • pan/va: Build opcode info structures

  • pan/va: Generate header containing enums

  • pan/va: Add helpers for swapping bitwise sources

  • pan/va: Add packing routines

  • pan/va: Optimize add with imm to ADD_IMM

  • pan/va: Add unit tests for ADD_IMM optimizations

  • pan/va: Add FAU validation

  • pan/va: Validate FAU before packing

  • pan/va: Add constant lowering pass

  • pan/va: Add instruction selection lowering pass

  • pan/va: Lower branch offsets

  • pan/va: Test instruction selection lowerings

  • pan/va: Implement the cycle model

  • pan/va: Add shader-db support

  • pan/va: Add packing unit tests

  • pan/va: Lower BLEND to call blend shaders

  • pan/bi: Add .shadow modifier to TEX_GATHER

  • pan/bi: Fix write_mask size

  • pan/bi: Call Valhall backend passes on v9

  • pan/bi: Use nir_tex_instr_has_implicit_derivative

  • pan/bi: Split out load/store to thread storage

  • pan/bi: Use ID accessors for LEA_ATTR

  • pan/bi: Preload r60/r61 for MSAA + blend shader

  • panfrost: Disable AFBC on Valhall

  • panfrost: Handle Valhall IDVS in job_uses_tiling

  • panfrost: Restrict Z/S formats for Valhall

  • panfrost: Add Valhall compressed formats

  • pan/bi: Model Valhall image loads

  • pan/va: Add indirect LEA_{ATTR, TEX}

  • pan/va: Pack LEA_TEX_IMM

  • pan/va: Model image load instructions

  • pan/va: Don’t truncate slots

  • pan/va: Add flow control lowering pass

  • pan/va: Allow small constants in register pairs

  • panfrost: Add a table for images

  • pan/bi: Mark LD_TILE as w=format

  • pan/bi: Fix spilling on Valhall

  • pan/bi: Waits before tilebuffer access on Valhall

  • pan/bi: Specialize BLEND emit for Valhall

  • pan/bi: Emit Valhall texture instructions

  • pan/bi: Handle Valhall texturing in helper analysis

  • pan/bi: Track whether the malloc IDVS flow is used

  • pan/bi: Emit Valhall-style varying loads

  • pan/bi: Emit Valhall-style varying stores

  • pan/bi: Set table for Valhall LD_ATTR

  • pan/bi: Force psiz to mediump

  • pan/bi: Lower gl_PointSize to FP16 on Valhall

  • pan/bi: Make psiz variants

  • pan/bi: Generate LD_BUFFER on Valhall

  • pan/bi: Avoid masked writes for now

  • pan/bi: Report whether workgroups can be merged

  • pan/bi: Don’t lower vertex_id for malloc IDVS

  • pan/bi: Consider flow control in DCE

  • pan/va: Add LD_TILE.v3.f16 packing test

  • panfrost: Handle Valhall texturing

  • panfrost: Handle stencil texturing on Valhall

  • panfrost: Control tiler memory usage

  • panfrost: Hide parts of pan_encoder.h for Valhall

  • panfrost: Add panfrost_make_resource_table helper

  • panfrost: Add shader_stage helper

  • panfrost: Adapt pan_shader.h for Valhall

  • panfrost: Hide AFBC on Valhall

  • panfrost: Move assign_vertex_buffer to pan_helpers

  • panfrost: Make alpha=0 NOP / 1 store Bifrost only

  • panfrost: Disable PIPE_CAP_PRIMITIVE_RESTART on v9

  • panfrost: Add helpers to set batch masks

  • panfrost: Split out image access tracking

  • panfrost: Don’t check alpha test in fs_required on Bifrost+

  • panfrost: Don’t set a default for blend count

  • panfrost: Adapt panfrost_rasterizer for v9

  • panfrost: Add a pool to sampler_view

  • panfrost: Specialize vertex state for Valhall

  • panfrost: Split out panfrost_get_blend_shaders

  • panfrost: Split out allow_fpk helper

  • panfrost: Add Valhall fields to panfrost_batch

  • panfrost: Add valhall_has_blend_shader field

  • panfrost: Hide some Bifrost-specific functions

  • panfrost: Adapt viewport/scissor to Valhall

  • panfrost: Add helpers to emit Valhall data structures

  • panfrost: Use track_image_access on Bifrost

  • pan/bi: Don’t use funny round modes in tests

  • pan/bi: Mark some opcodes as default round-to-zero

  • pan/bi: Use should_skip in bi_builder generation

  • pan/bi: Imply round mode most of the time

  • nir: Don’t set writes_memory for reading XFB

Andrey Konovalov (1):

  • ir3: set local_size for shaders of MESA_SHADER_KERNEL type

Andrii Pauk (1):

  • venus: Allow usage of virtio-mmio based device

Andrii Simiklit (1):

  • glsl: add member’s location layout qualifier rules for `arrayed` in/out blocks

Anuj Phogat (3):

  • anv, iris: Add Wa_16011411144 for DG2

  • include/uapi: Update drm_fourcc.h from kernel

  • isl,iris: Add I915_FORMAT_MOD_4_TILED support for XeHP

Autumn on Tape (4):

  • gallivm: add subgroup shuffle support

  • lavapipe: enable subgroup shuffle operations

  • gallivm: use shufflevector for shuffles when index is constant data

  • gallivm: use VPERMPS (x86/AVX2) for 32-bit 8-element shuffles

Bas Nieuwenhuizen (9):

  • radv: Add submit locking with trace bo.

  • radv: Use larger arena sizes.

  • radv: Fix preamble argument order.

  • radv: Only wait on CS/PS to finish if we wait on a semaphore.

  • vk: Update xml and headers to 1.3.207.

  • radv: Expose VK_VALVE_descriptor_set_host_mapping for vkd3d only.

  • radv: Fix vk_queue_to_radv for radv_image_queue_family_mask.

  • radv: Add more BVH vertex formats.

  • vulkan/wsi/x11: Ensure we have the required number of images for acquire.

Benjamin Cheng (3):

  • vulkan/queue: Destroy wait temps if they are skipped

  • anv: drop from_wsi bit from anv_image

  • radv: fix memory leak of descriptor set layout

Boris Brezillon (81):

  • pan/midg: Add intra-bundle interferences

  • pan/midg: Remove spurious printf() in print_vector_constants()

  • pan/midg: Prefix scalar immediates with ‘#’ instead of ‘<’

  • pan/midg: Fix swizzling on 8-bit sources

  • pan/midg: Fix 64-bit swizzle printer

  • pan/midg: Fix the upper/lower limit on 8bit vectors

  • pan/midg: Fix swizzle packing on 64bit instructions with src-expansion + dst-shrinking

  • pan/midg: Add a pass to lower non-logbase2 global/shared loads

  • pan/midg: Support 8/16 bit load/store

  • vulkan/wsi: Use ALIGN_POT() instead of open-coding it

  • vulkan/wsi: Don’t open-code vk_format_get_blocksize()

  • panvk: Add support for push constants

  • panvk: Add support for storage buffers

  • panvk: Support creation of compute pipelines

  • panvk: Add support for storage/uniform buffers with dynamic offsets

  • panvk: Move dummy attribute buffer emission out of emit_{attribute,varying}_bufs

  • panvk: Add support for storage image

  • panvk: Implement vkCmdDispatch()

  • vulkan/cmd_queue: Constify vk_cmd_queue.alloc

  • vulkan/cmd_queue: Remove duplicate entries in MANUAL_COMMANDS

  • vulkan/cmd_queue: Properly deconstify array of pointers

  • lavapipe: Re-use auto-generated vk_cmd_enqueue entrypoints

  • panvk: Add a dummy sampler for NIR tex operations that don’t take one

  • panvk: Add support for texel buffers

  • panvk: No-op zero-vertex draws

  • panvk: Fix per-instance attribute handling

  • panvk: Implement indexed rendering

  • vulkan/cmd_queue: Track allocation errors in vk_cmd_queue

  • vulkan/cmd_queue: Fix the allocation scope

  • panvk: Refcount the descriptor set and pipeline layouts

  • aco: Fix an MSVC warning

  • amd: Fix ac_gpu_info.c compilation on windows

  • radv: Don’t use VK_OUTARRAY_MAKE()/vk_outarray_append()

  • lavapipe: Don’t use VK_OUTARRAY_MAKE()/vk_outarray_append()

  • Revert “ci: Disable windows-vs2019”

  • vulkan/runtime: Add vk_cmd_queue.h to idep_vulkan_runtime_headers

  • v3dv: Stop using VK_OUTARRAY_MAKE()

  • turnip: Stop using VK_OUTARRAY_MAKE()

  • pvr: Stop using VK_OUTARRAY_MAKE()

  • anv: Stop using VK_OUTARRAY_MAKE()

  • panvk: Stop using VK_OUTARRAY_MAKE()

  • venus: Stop using VK_OUTARRAY_MAKE()

  • vulkan/device_select: Stop using VK_OUTARRAY_MAKE()

  • vulkan/wsi: Stop using VK_OUTARRAY_MAKE()

  • vulkan/util: Get rid of VK_OUTARRAY_MAKE()

  • vulkan/image: Make MSVC C++ compiler happy

  • vulkan/util: Make STACK_ARRAY() work for arrays of pointers

  • dzn: Compile-test the driver

  • dzn: Add Missing return type to dzn_translate_sampler_filter()

  • dzn: Remove the dzn_cmd_exec_functions file

  • dzn: Make a bunch of functions private

  • dzn: Fix alpha blend factor translation

  • dzn: Properly support static blend constants

  • dzn: Pass a NULL ralloc context to dxil_create_validator()

  • dzn: Fix pipeline creation when rasterization is disabled

  • dzn: Fix dzn_translate_viewport() when height < 0

  • dzn: Don’t crash when EndCommandBuffer() returns an error

  • dzn: Align the default case in dzn_image_view_prepare_dsv_desc()

  • dzn: Replace C++ references by pointers

  • dzn: Fix dzn_image_get_rtv_desc() for 3D views

  • dzn: Support 2Darray views on 3D images for color attachments

  • dzn: Fix 3D <-> 2D image copies

  • dzn: Return a valid imageFormatProperties.maxMipLevels

  • dzn: Make sure the properties are all zero when the format is not supported

  • dzn: Set bufferFeatures to zero on depth/stencil formats

  • dzn: 3D array images don’t exist

  • dzn: Get rid of dzn_GetPhysicalDeviceFeatures()

  • dzn: Get rid of dzn_GetPhysicalDeviceProperties()

  • dzn: Force sampleCounts to 1 for bgra4 images

  • dzn: Check image view usage instead of image usage when creating an image view

  • dzn: Drop extra blank line in dzn_CmdCopyImage2()

  • vulkan/util: Make STACK_ARRAY() C++-friendly

  • dzn: Lower partial copy of multisample resources to blits

  • dzn: Fix 2D <-> 3D blits

  • dzn: Support independent depth/stencil access

  • dzn: Fix loop condition in dzn_descriptor_set_copy()

  • dzn: Pass the right type to CreateCommandList() in the reset path

  • dzn: Add missing VKAPI_{ATTR,CALL} specifiers to BeginCommandBuffer()

  • dzn: Pass the dzn_event pointer to _mesa_hash_table_insert()

  • dzn: Fix the STATIC_ASSERT() in dzn_meta_blits_get_context()

  • ci/windows: Add a variable to globally disable jobs using windows runners

Brian Paul (1):

  • vulkan/wsi/x11: add null pointer check for the has_dri3_v1_2 test

Caio Oliveira (7):

  • anv: Enable requiredSubgroupSize for Task/Mesh

  • intel/compiler: Lower Task/Mesh I/O before SIMD specific lowering

  • intel/compiler: Use pass helper in brw_nir_adjust_offset_for_arrayed_indices

  • intel/fs: Initialize the sample mask in flags register when using demote

  • intel/fs: Fix IsHelperInvocation for the case no discard/demote are used

  • intel/compiler: Use nir_var_mem_task_payload

  • intel/compiler: Inline TUE map computation into TUE Input lowering

Chad Versace (1):

  • intel/tools: Fix build without drivers

Charles Baker (2):

  • zink: Fix MSVC RTC in zink_get_framebuffer_imageless()

  • mesa: align constant/uniform uploads to driver expected alignment

Charlie Turner (8):

  • ci, valve: Add support scripts for the Valve bare-metal farm.

  • amd, ci: Remove unused runners.

  • amd, ci: Drop log level in SPIRV -> NIR code generator.

  • amd, ci: Categorize the sections of the CI file.

  • ci, valve: Add the dEQP runners for Valve CI

  • ci, valve: Show real kernel addresses in KFENCE reports.

  • ci, valve: Bump the trigger container

  • ci, radv: Update flake expectations

Charmaine Lee (1):

  • mesa: fix misaligned pointer returned by dlist_alloc

Chia-I Wu (20):

  • zink: set dma-buf bit for shared resources

  • zink: always chain wsi_image_create_info for scanout images

  • zink: set needs_mesa_flush_wsi for venus

  • venus: fix two VN_TRACE_SCOPE’s in the same scope

  • venus: use 64KB alignment for suballocations

  • venus: cache VkFormatProperties

  • venus: trace vn_ring_wait_space

  • venus: abort when stuck

  • venus: fix properties of unsupported external fences/semaphores

  • venus: update venus-protocol headers

  • venus: add VK_EXT_shader_demote_to_helper_invocation

  • venus: add VK_EXT_conservative_rasterization

  • venus: add VK_EXT_depth_clip_enable

  • venus: add VK_EXT_robustness2

  • venus: add VK_EXT_shader_stencil_export

  • venus: add VK_EXT_vertex_attribute_divisor

  • venus: add vn_extension_get_spec_version

  • venus: update venus-protocol headers

  • util: Keep quiet NaNs quiet when converting to half float.

  • anv: advertise rectangularLines only for Gen10+

Christian Gmeiner (3):

  • etnaviv: drop TGSI based backend compiler

  • Revert “nir: make tgsi_varying_semantic_to_slot(..) public”

  • nir: Use const for nir_shader_get_entrypoint(..)

Connor Abbott (57):

  • ir3/spill: Fix simplify_phi_nodes with multiple loop nesting

  • nir/serialize: Don’t access blob->data directly

  • util/blob: Clarify rules on blob::data

  • spirv: Rewrite determinant calculation

  • ir3: Use CAN_REORDER instead of NON_WRITEABLE

  • freedreno: Replace A6XX_IBO with A6XX_TEX_CONST

  • freedreno/fdl: Set swizzle on storage descriptor

  • ir3: Don’t always set bindless_tex with readonly images

  • ir3/nir: Fix 1d array readonly images

  • tu: Call nir_opt_access

  • ir3: Use isam for bindless images

  • ir3/cp_postsched: Support multiple destinations

  • ir3/dce: Support multiple destinations

  • ir3/sched: Support multiple destinations

  • ir3/ra: Fix tied destination handling with multiple destinations

  • ir3/ra: Fix ra_foreach_dst_n

  • ir3/ra: Sanitize parallel copy flags better

  • ir3/ra: Add proper support for multiple destinations

  • ir3/ra: Add IR3_REG_EARLY_CLOBBER

  • ir3/spill: Mark reload destination as early-clobber

  • util/bitset: Fix off-by-one in __bitset_set_range

  • ir3: Track physical edges when inserting (ss) for shared regs

  • ir3: Add support for subgroup arithmetic

  • tu: Expose subgroup arithmetic

  • tu: Rewrite dynamic descriptor handling

  • tu: Handle UBO/SSBO descriptors with different sizes

  • tu: Add an extra storage descriptor for isam

  • ir3/parser: Don’t use right recursion

  • ir3/lower_spill: Fix corner case with oob offsets

  • ir3: Actually use wrmask in emit_sam

  • ir3: Use isam for bindless readonly ssbo loads

  • nir: Add preamble functions

  • nir: Add a “deep” instruction clone

  • nir: Add a preamble optimization pass

  • ir3: Fix scan.macro valid flags

  • ir3: Don’t count reserved user consts in ubo_state::size

  • ir3: Implement basic shader preamble intrinsics

  • ir3: Better assemble/disassemble stc

  • ir3: Plumb through store_uniform_ir3 intrinsic

  • ir3/legalize: Handle inserting (ei) with preamble

  • ir3: Support prefetching with preambles

  • ir3: Insert frag coord code after preamble

  • ir3: Don’t include preamble instructions in stats

  • ir3: Add preamble optimization pass

  • ir3: Implement and document ldc.k

  • ir3: Refactor ir3_compiler_create() to take an options struct

  • ir3, turnip: Use ldc.k to push UBOs

  • tu: Enable UniformBufferUpdateAfterBind

  • tu: Trivially implement VK_EXT_texel_buffer_alignment

  • tu: Actually expose VK_EXT_texel_buffer_alignment

  • tu: Correctly handle VK_IMAGE_CREATE_EXTENDED_USAGE_BIT

  • freedreno/ci: Fix skip comment

  • tu: Implement GetDevice*MemoryRequirements()

  • tu: Fill out maxBufferSize

  • tu: Remove tu_pipeline::layout

  • tu: Expose VK_KHR_maintenance4

  • freedreno/a6xx: Fix SP_DS_CTRL_REG0 definition

Corentin Noël (6):

  • ci: Uprev virglrenderer and crosvm

  • virgl: Update virgl_protocol and use the provided constants

  • nir_to_tgsi: Require the block index to always be populated

  • nir_to_tgsi: Handle blocks defined as arrays of arrays

  • ci: Only apply patches with the build-skqp prefix

  • virgl/ci: Uprev virglrenderer and crosvm

Cristian Ciocaltea (29):

  • ci: Ensure Mesa Shader Cache resides on tmpfs

  • ci: Add socat utility

  • ci: Enable kernel virtio transport for Virtual Sockets

  • virgl/ci: Setup virtio-vsock based IPC

  • ci: Increase limit of concurrent crosvm instances per runner

  • ci: Improve interrupt signal handling in crosvm-runner.sh

  • ci/zink: Report flake test

  • radeonsi/ci: Mark a bunch of flaky tests on stoney

  • ci: Avoid altering EXTRA_CARGO_ARGS environment variable

  • ci: Convert generate-env.sh to a POSIX compliant script

  • ci: Set CI_JOB_JWT_FILE to a fixed path outside /tmp

  • ci: Build crosvm for LAVA runners

  • ci: Add crosvm runtime dependencies for LAVA

  • ci: Enable KVM_AMD and KVM_INTEL kernel modules

  • ci: Load KVM kernel module for LAVA runners

  • ci: Make kernel image available in LAVA for KVM use cases

  • ci: Use script relative paths in crosvm-runner

  • ci: Add PIGLIT_REPLAY_LOOP_TIMES to generate-env.sh

  • ci: Remove obsolete CROSVM_TEST_SCRIPT env var

  • ci: Provide consistent results location in LAVA

  • ci: Allow specifying any shell command via HWCI_TEST_SCRIPT

  • ci: Dynamically adjust LIBGL_ALWAYS_SOFTWARE for crosvm

  • virgl/ci: Add jobs for running trace tests on LAVA

  • ci: Make bash available in LAVA rootfs

  • Revert “ci: Convert generate-env.sh to a POSIX compliant script”

  • virgl/ci: Add support for dEQP GL vtest-ing

  • ci: Add Intel GPU frequency utility

  • ci: Provide intel-gpu-freq.sh in LAVA and bare-metal rootfs

  • ci: Lock Intel GPU frequency for performance tests

Daniel Schürmann (39):

  • aco: emit nir_intrinsic_discard() as p_discard_if()

  • aco: remove block_kind_discard

  • aco: make Preserve_WQM independent from block_kind_uses_discard_if

  • aco: merge block_kind_uses_[demote|discard_if]

  • aco: optimize discard_if when WQM is not needed afterwards

  • radv: remove exports without color attachment or writemask

  • nir: split nir_opt_shrink_stores from nir_opt_shrink_vectors

  • nir/opt_shrink_vectors: Remove shrinking of store intrinsics data source

  • radv: move nir_opt_shrink_stores from radv_optimize_nir()

  • aco/insert_exec_mask: stay in WQM while helper lanes are still needed

  • aco: don’t propagate WQM for p_as_uniform

  • aco: don’t emit WQM for bool_to_scalar_condition

  • aco/insert_exec_mask: remove Preserve_WQM flag

  • aco/insert_exec_mask: remove some unnecessary WQM loop handling code

  • aco/insert_exec_mask: remove ever_again_needs and Exact_Branch

  • aco/insert_exec_mask: refactor and simplify get_block_needs()

  • aco/insert_exec_mask: refactor and remove some unnecessary WQM handling code

  • aco: relax condition to remove branches in case of few instructions

  • aco/ra: don’t immediately assign a register for p_branch

  • nir/opt_shrink_vectors: shrink load_const properly

  • nir/opt_shrink_vectors: remove duplicate components from vecN

  • nir/opt_shrink_vectors: update docstring

  • aco/ra: count constant moves in get_reg_create_vector()

  • aco/ra: special-case get_reg_for_create_vector_copy()

  • aco/ra: refactor find_vars() to return a vector

  • aco/ra: refactor collect_vars() to return a sorted vector

  • nir: rename nir_src_is_dynamically_uniform to nir_src_is_always_uniform

  • aco/optimizer: fix call to can_use_opsel() in apply_insert()

  • aco: remove ‘high’ parameter from can_use_opsel()

  • aco: use branch definition as scratch register for SSA lowering

  • aco/ra: fix stride check on subdword parallelcopies for create_vector

  • aco/optimizer: check recursively if we can eliminate s_and exec

  • aco/ra: only use VCC if program->needs_vcc == true

  • aco/ra: create VCC-affinities during RA

  • aco/ra: omit VCC affinity on VOPC_SDWA for GFX9+

  • aco: make program->needs_vcc independent of VCC hints

  • aco: remove occurences of VCC hint

  • aco: remove register hints entirely

  • aco/ra: fix live-range splits of phi definitions

Daniel Stone (11):

  • egl/wayland: Reset buffer age when destroying buffers

  • egl/wayland: Don’t replace existing backbuffer in get_buffers

  • ci: Disable Windows for now

  • Revert “ci: Disable Windows for now”

  • CI: Disable panfrost-t760

  • CI: Disable Panfrost T720 jobs

  • Revert “CI: Disable panfrost-t760”

  • Revert “CI: Disable Panfrost T720 jobs”

  • ci: Add new Panfrost G52 skip

  • CI: Disable Windows jobs

  • ci: Also disable Windows container builds when down

Danylo Piliaiev (37):

  • turnip: Add TU_GMEM envvar to test different gmem sizes

  • turnip: Do not use hw binning if tiles per pipe are over the limit

  • turnip/doc: Update turnip extension list

  • turnip: Use the shared helpers to expose 1.3 core extensions/limits

  • turnip: Expose VK_EXT_image_robustness

  • turnip: Implement VK_KHR_zero_initialize_workgroup_memory

  • turnip: Expose VK_KHR_shader_non_semantic_info

  • turnip: Unconditionaly remove descriptor set from pool’s list on free

  • tu: Implement VK_AMD_buffer_marker to support Graphics Flight Recorder

  • turnip: Depth/stencil formats should not expose any bufferFeatures

  • freedreno/pps: Expose same counters as blob

  • ir3: Limit the maximum imm offset in nir_opt_offset for shared vars

  • turnip: Add a refcount mechanism to BOs

  • turnip: Use LATE_Z when there might be depth/stencil feedback loop

  • turnip: Merge LRZ and DEPTH_PLANE draw states

  • turnip: Implement VK_ARM_rasterization_order_attachment_access

  • turnip: Always use GMEM for feedback loops in autotuner

  • turnip: Set drmFormatModifierTilingFeatures

  • turnip: Implement VK_EXT_physical_device_drm

  • turnip: Add “rast_order” debug option to force rast order access

  • tu: Refactor VS DECODE/DEST to be emitted in two pkt4

  • turnip: Make autotuner work with reusable command buffers

  • tu: Implement VK_EXT_depth_clip_control

  • turnip: Force linear mode for non-ubwc R8G8 formats

  • turnip: Disallow non-linear tiling when casting R8G8 to other fmts

  • turnip: Fix the lack of WFM before indirect draws

  • turnip: enable has_ccu_flush_bug workaround for a660

  • turnip: Use correct type for OUTARRAY in FormatProperties2

  • turnip: Correctly store separate stencil in gmem store

  • turnip: Ignore aspectMask for D32S8 framebuffer attachment

  • turnip: Add “unaligned_store” debug option to better test gmem stores

  • turnip: Fix subpassLoad from CUBE input attachments

  • ci/freedreno: Add fractional test of forced unaligned gmem store

  • turnip: Implement VK_EXT_primitives_generated_query

  • tu: Do not flush ccu in clear/blits during renderpass

  • pps: Open writable renderer node in DrmDevice::create

  • tu: Fix indices of drm_msm_gem_submit_cmd when filling them

Dave Airlie (85):

  • llvmpipe: optimise triangle setup a bit.

  • llvmpipe: inline retry_triangle_ccw

  • llvmpipe/setup: remove opaque from setup triangle

  • llvmpipe: refactor lp_rast_shader_inputs.

  • llvmpipe: just move opaque alpha lookup closer to use.

  • llvmpipe/triangle: don’t store area in fixed_position.

  • crocus: find correct relocation target for the bo.

  • lavapipe: fix sampler + sampler view leaks.

  • ci/lavapipe: update lvp asan results after leak fixes.

  • gallivm: add coroutine attribute that llvm requires.

  • gallivm/st/lvp: add flags arg to get_query_result_resource api.

  • gallivm: fix missing cast in 4-bit blending paths.

  • llvmpipe: fix linear rast samples check.

  • lavapipe: reference gallium fences correctly.

  • crocus: fix leak on gen4/5 stencil fallback blit path.

  • drisw: fence drawing to the swap/copy buffers.

  • lavapipe: fix pipeline statistic query results with availability.

  • lavapipe: handle endless fence timeout properly.

  • lavapipe: execute a finish in pipeline barrier and event waiting.

  • lavapipe: don’t flush on transfer operations.

  • lavapipe: handle non-timeline semaphores wait/signal.

  • llvmpipe: convert texture barrier to a finish.

  • llvmpipe/flush: always finish whether for cpu/gpu access.

  • llvmpipe/scene: move to slab allocated objects for scenes.

  • llvmpipe: base the scene queue size of the max number of scenes.

  • llvmpipe: handle dynamically creating scenes when needed

  • llvmpipe: size initial allocation and free scenes

  • llvmpipe: add writeable resource tracking to the scene.

  • llvmpipe: pass ssbo write mask down into setup.

  • llvmpipe: add ssbo to resources reference by scenes.

  • llvmpipe: add images to the scene resource tracker.

  • llvmpipe: check framebuffer resources for all scenes for references.

  • gallium: add partial bit to the query flags.

  • llvmpipe/query: add support for partial query waits.

  • lavapipe: pass partial results flags through.

  • llvmpipe: add support for fence_server_sync.

  • llvmpipe: allow vertex processing and fragment processing in parallel

  • ci/lavapipe: fixup results after proper reference counting.

  • draw/so: don’t use pre clip pos if we have a tes either.

  • vulkan/wsi: handle queue families properly for non-concurrent sharing mode.

  • lavapipe: always set read/write on ssbo/images.

  • llvmpipe/linear: fix disk caching.

  • gallivm/nir: split load_const out into backend helper.

  • gallivm/llvmpipe: add support for NIR to the linear/aos paths.

  • crocus: change the line width workaround for gfx4/5

  • gallivm/nir: extract a valid texture index according to exec_mask.

  • zink: workaround depth texture mode alpha.

  • lavapipe: remove broken workaround for zink depth texturing.

  • crocus: don’t map scanout buffers as write-back

  • radv: abstract queue family away from queue family index.

  • intel: add some missing debug recompile info.

  • crocus: force ignore_sample_mask_out on gen4/5 for precompile

  • radv: try and fix internal transfer queue mapping

  • radv/winsys: complete ring/ip translations.

  • radv/winsys: add nop packets for uvd and vcn dec.

  • radv/winsys: add a ring level detection for ib bo usage.

  • radv/winsys: add support for queues without user fences.

  • llvmpipe/fs: add missing depth_clamp key printing

  • vulkan: update vk video headers for new vulkan headers.

  • clover/nir: respect lower to scalar options.

  • lavapipe: add EXT_texel_buffer_alignment support.

  • gallivm/sample: detect if rho is inf or nan and flush to zero.

  • zink: update resource layout in copy_scanout

  • util/format: add new z24/s8 packing helper to pack z32/s8.

  • u_transfer: refactor out code to check interleave/deinterleave path.

  • u_transfer_helper: add a new option for handling z24 stored in z32

  • lavapipe: add loop unrolling.

  • Reinstate: llvmpipe: allow vertex processing and fragment processing in parallel

  • zink/query: consolidate xfb_buffers into one array.

  • zink/query: collapse the xfb_query_pool array into the normal one.

  • zink: refactor out number of vk queries per gallium query helper

  • zink/query: use a single query pool for XFB queries.

  • zink/query: refactor get_query_result to map upfront.

  • zink/query: only reset the range of queries in use.

  • zink/query: rewrite the query handling code to pass validation.

  • llvmpipe: fix nr_sampler_view in key creation.

  • radv: use flush vgt streamout like PAL does.

  • zink: fix tessellation shader key matching.

  • zink/query: refactor out vk queries and allow sharing them

  • draw: handle tess eval shader when getting num outputs

  • u_blitter/stencil: take dstbox x/y into accounts for dst fb width

  • util/stencil: fix stencil fallback blit shader texture types.

  • vulkan/wsi: keep allocate queue families in image, just don’t fill them

  • llvmpipe: add user memory resources to the debug global list.

  • meson: add build-id to pipe libraries

Dmitry Baryshkov (2):

  • freedreno/registers: add new register for 7nm DSI PHY v4.3 (sm8450)

  • freedreno/regs: remove 5nm DSI PHY regs

Dylan Baker (56):

  • VERSION: bump version for 22.0 release

  • docs: reset new_features.txt

  • docs: update calendar for 22.0.0-rc1

  • meson: add support for `meson devenv` with vulkan

  • meson: add LIBGL_DRIVERS_PATH to the devenv

  • meson: add radv to meson devenv

  • docs: update calendar for 22.0.0-rc2

  • docs: update calendar and link releases notes for 22.0.0

  • docs: Add calendar entries for 22.0 release.

  • docs: add release notes for 22.0.0

  • util/list.h: Add docstrings for list_add and list_addtail

  • mesa/main: replace use of simple_list with util/list

  • gallium/opencl: set OCL_ICD_FILENAMES with devenv

  • docs: Add calendar entries for 22.1 release candidates.

  • docs: add release notes for 22.0.1

  • docs: add sah256 sum for mesa 22.0.1

  • docs: update calendar and link releases notes for 22.0.1

  • VESRION: bump for 22.1.0-rc1 release

  • .pick_status.json: Update to e509598470c000498c3e1328e012142d9047e292

  • VERSION: bump for 22.1.0-rc2

  • .pick_status.json: Update to 9f44a264623461c98368185b023d99446676e039

  • .pick_status.json: Update to fbece25a451bb7915891851ee5c72724974ae5e2

  • .pick_status.json: Update to a6a4bf0f1eae36cb68d5c67653ac013fe0fbde8a

  • .pick_status.json: Update to f329f67243d671965d73bd2243cffc4e1e68c4a3

  • VERSION: bump for 22.1.0-rc3

  • .pick_status.json: Update to f17d3a125126dd7e0f1c2072545976cec1eeb1c8

  • .pick_status.json: Update to 1dc697942af7254798f83583f5788e1abf136d27

  • .pick_status.json: Update to 2505afc430c6b151e7e4243503953ba0b0a2c842

  • .pick_status.json: Mark c025cb9ee9d79ebfb66a577556e04deecfe012ed as backported

  • .pick_status.json: Update to 575068a1656ab4303647ade1491da7d711d36db7

  • VERSION: bump for 22.1.0-rc4 release

  • .pick_status.json: Update to 7f91e8fad94dd34f83c6a124dbbe5d210be7715f

  • .pick_status.json: Update to 17c98393f9f3cb0801b73b2d4c62442859417368

  • .pick_status.json: Update to 14b1ed1ce105d42652f70e2fd13c90fc4f2e7ffc

  • .pick_status.json: Mark 6317f88b044501354a052064478d5b43dfe41809 as backported

  • .pick_status.json: Mark 5ff3fa5912778adb8117fa26bfe4786b583e741b as backported

  • .pick_status.json: Mark 9a412c10b7a96adf71c9a2ca44a0abca75de1c49 as backported

  • .pick_status.json: Mark 0e49ef5c9f2ec34567613226ad498edca28bce88 as backported

  • .pick_status.json: Mark ae369e9f6d4f2c826f1f2a748c32a14f9d5f1f54 as backported

  • .pick_status.json: Mark 8b28d1751c76b0ba72dae1f6b916cb7f2bbc1c0c as backported

  • .pick_status.json: Mark 8daf8ff730b777bb512a237a36783d781cbf9de9 as backported

  • .pick_status.json: Mark 8c1d9c7b744b2e5b40fd42cfd51256b16deea6a8 as denominated

  • VERSION: bump for 22.1.0-rc5

  • .pick_status.json: Update to 57293dee2b11ba7e52052edc4d0437f08db19144

  • .pick_status.json: Mark 5a3aee78cbb70918b413cdd40dffcae7c9e97d8c as denominated

  • .pick_status.json: Update to 5c90eb1c53f46e86717c6bf4d5253dd23c4dac1f

  • .pick_status.json: Update to 07eba9a15a06ceda3469892822e8b539effc6788

  • .pick_status.json: Update to 29a8f1f03bed317370e07288fd9d4b85a24562e6

  • .pick_status.json: Mark 07efe6f129956d0cce0fb167d08b5f8af25d0c95 as backported

  • .pick_status.json: Mark 1c17502ab38a238efe5d9aa4bc0ff07c967adb80 as backported

  • .pick_status.json: Mark b6eec12327b65038dd56742dbe272c21c63a3844 as backported

  • .pick_status.json: Mark 7057a363591279c3f65a3c4af41687e6f8142649 as backported

  • .pick_status.json: Mark 9924fecee6412f1cad65d7d7347681856e3a525c as backported

  • .pick_status.json: Mark 7aee9f12b9c1f17ae2662c8043c8679ce698b731 as backported

  • .pick_status.json: Mark 5e4009fe6c91c34a7cdf8c16aa5aa53c3ff41222 as backported

  • .pick_status.json: Mark b18448e7acfc765ee95505c7cd5e2ce6e6fc36cc as backported

Emma Anholt (145):

  • r300: Fix missing \n in an error message.

  • r300: Set up shadow sampler lowering in precompiles.

  • r300: Simplify DCE by assuming all output writes are used.

  • ci/freereno: Reduce run-by-default a630-vk coverage.

  • ci/turnip: Extend the full-vk-run job timeouts.

  • ci/freedreno: Reduce concurrency for a618 vk_full.

  • ci/i915: Update rendering hash for plot3d trace.

  • llvmpipe: Disable an assertion that may not be quite right.

  • ci: Uprev vulkan-cts to 1.2.8.0

  • ci/softpipe,llvmpipe: Disable Xvfb server reset on piglit runs.

  • ci/crocus: Add recent flakes from #intel-ci

  • ci/iris: Add skips and flakes notes for recent #intel-ci logs.

  • ci/freedreno: Add another unsizedArrayLength flake.

  • ci/panfrost: Add a flake a few of us have run into in the last couple days.

  • ci/broadcom: Remove unused v3dv xfails file.

  • ci: Bump VK-GL-CTS to 1.3.1.0.

  • r300: Request that nir-to-tgsi avoid generating TGSI_OPCODE_CMP.

  • r300: Demote a compiler assert(0) to a compile failure.

  • r300: Throw a compile error instead of an assert in r300 swizzle rewrites.

  • nir: Split the flag for lowering of fabs and fneg to source modifiers.

  • nir_to_tgsi: Add a flag for lowering fabs, and use it in r300/i915.

  • i915g: Report the temps usage

  • tgsi: Refactor out a tgsi_util_get_src_usage_mask().

  • nir_to_tgsi: Track our TGSI insns in blocks before emitting tokens.

  • nir_to_tgsi: Replace the NIR SSA liveness with TGSI reg-level liveness.

  • nir: Delete the per-instr SSA liveness impl.

  • ci/r300: Drop xfails that were fixed with the VK-GL-CTS 1.3.1.0 uprev.

  • ci/lvp: Add a flake that’s shown up a couple of times since VKCTS 1.3.1.

  • ci/freedreno: Try to detect a wedged MMU that’s happened recently.

  • tgsi_translate: Make the procType public when translating.

  • virgl: Work around old virglrenderer’s BARRIER counting bug.

  • virgl: Add a workaround for virglrenderer output writemask bugs.

  • virgl: Apply TGSI transforms to compute shaders, too.

  • virgl: Add workarounds for virglrenderer input/sv signedness bugs.

  • virgl: Move tex immediate operands to a temp to avoid virglrenderer bug.

  • virgl: Move double operands to a temp to avoid double-swizzling bugs.

  • nir_to_tgsi: Don’t vectorize 64-bit instructions, to keep virgl happy.

  • nir_to_tgsi: Add support for FBFETCH.

  • r300: Delete the loop unrolling.

  • i915g: Initialize the rest of the “from_nir” temporary VS struct.

  • draw: Don’t look at .nir if !IR_NIR.

  • nv30/40: Switch to using NIR-to-TGSI by default.

  • nir: Add some notes about const/uniform array access rules in GL.

  • ci/freedreno: Move a 60s timeout test to skips instead of flakes.

  • ci/freedreno: Cut down pre-merge a630 VK coverage.

  • ci/freedreno: Add a known spilling hangcheck flake.

  • turnip: Request no implicit sync when we have no implicit-sync WSI BOs.

  • ci: Stash the ldd and ccache stats output under collapsed sections.

  • ci/llvmpipe: Move most of testing to shared 64-core runners at Google.

  • ci/lavapipe: Test 1/3 of lavapipe on the shared 64-core google runners.

  • ci/softpipe: Move most of testing to shared 64-core runners at Google.

  • ci/virgl: Drop the bvec4_from_mat4x2_vs xfail.

  • ci/lvp: Update the asan fails list.

  • ci/zink: Move testing to shared 64-core runners at Google.

  • ci/zink: Add testing of dEQP GLES3.1/3.2.

  • nir: Allow the _replicates opcodes to have num_components != 4.

  • freedreno: Use the resource size rather than BO size for VFD_FETCH[].SIZE.

  • freedreno: Fix start_slot handling in set_vertex_buffers.

  • freedreno: Improve robustness behavior for VBs with offset > size.

  • ir3: Don’t assert on not finding the VS output for an FS input.

  • ci/freedreno: Consolidate some information about an a630 flake.

  • nir: Introduce a nir_vec_scalars() helper using nir_ssa_scalar.

  • nir: Add a helper for setting up a nir_ssa_scalar struct.

  • nir: Switch to using nir_vec_scalars() for things that used nir_channel().

  • intel/perf: Move some static blocks of C code out of the python script.

  • ci/bare-metal: Drop the BM_POE_USERNAME/PASSWORD env var checks.

  • ci/bare-metal: Increase maximum retry count for POE boots.

  • ci: Stop xz-compressing firmware for ramdisks.

  • ci/nouveau: Add nouveau support to the rootfs.

  • ci/nouveau: Add a manual run for the Jetson Nano (GM20B).

  • docs/ci: Update some bare-metal CI docs.

  • docs/ci: Add docs for using a POE switch to control boards, like nouveau.

  • turnip: Enable VK_EXT_display_control using the common code.

  • turnip: use vk_shader_module_to_nir().

  • ci: Drop skips of spv-stable-pillars-volatile-nontemporal-store

  • ci/lvp: Stop skipping spv-stable-maze-flatten-copy-composite

  • ci/freedreno: Drop the skips of spirv_ids_abuse in pre-merge.

  • ci/freedreno: Remove some xfails for tests that now skip.

  • turnip: Use the DRM or KGSL GPU reset status ioctls to report device loss.

  • ci/turnip: Drop alpha_to-coverage flake note on a618.

  • vulkan: Make sure we’ve loaded our connectors when querying plane props.

  • ci/turnip: Increase the hangcheck timer to 2 seconds.

  • ci/traces: Make sure we have no pre-existing traces-db before starting.

  • nouveau/nir: Enable nir_opt_move/sink.

  • r600: Drop nr_ps_max_color_exports

  • r600: Update the PS state before checking for cb_misc update.

  • r600: Update the PS state when MSAA-ness changes, too.

  • r600: Add shader precompile and shader-db support.

  • ci/r600: Check in some expectation files for rv770 and Turks.

  • r600: Add shader-compiler debug knobs to the shader cache key.

  • r600: Drop unused sbcl debug option.

  • r600: Drop unused debug options from the fork off of radeonsi.

  • r600: Fix ordering of SSBO loads versus texturing.

  • r600: Add a workaround and explanation for shadowcubearray TG4.

  • r600: Disable SB in the presence of indirection on temp arrays.

  • r600: Disable SB when INTERP_SAMPLE is used.

  • r600: Implement memoryBarrier() in the non-SFN path.

  • glsl: Delete unused EmitNoPow path.

  • glsl: Delete dont_lower_swz path of lower_quadop_vector.

  • nir_to_tgsi: Add support for nir_intrinsic_image_samples.

  • turnip: Add support for VK_KHR_format_feature_flags2.

  • freedreno/a6xx: Set the color_swap field for storage descriptors.

  • turnip: Disable tiling on 1D images.

  • turnip: Allow image access on swapped formats.

  • util/log: Don’t print an extra \n if the format string had one.

  • spirv: Silence “Decoration not allowed on struct members: SpvDecorationRestrict”

  • ci/deqp: Add gitlab-ci sections to deqp-runner.sh.

  • ci/deqp: Move the set +e just before the deqp-runner invocation.

  • ci/lava: Simplify passthrough of the request to upload results/ to minio.

  • util/log: Add support for logging once.

  • gallivm/nir: Don’t do uniform-and-broadcast access on inactive invocations.

  • gallivm/nir: Pull some repeated exec_mask computation out of loops.

  • gallivm/nir: Refactor out some repeated logic for SSBO/shared access.

  • gallivm/nir: Refactor out some repeated code to generate 0 values.

  • gallivm/nir: Add a short circuit uniform-offset mode for load_global.

  • gallivm/nir: Add a short circuit uniform-offset mode for load_ssbo/load_shared.

  • ci/turnip: Drop xfails for create_list_modifiers.

  • ci: Uprev deqp-runner and piglit.

  • freedreno: Fix the cpu-prep wait to be “infinite”.

  • Revert “ci/freedreno: Reduce concurrency when replaying traces on a630”

  • virgl: Disable nir_op_ffloor to avoid sending DFLR to virglrenderer.

  • nir_to_tgsi: Fix emitting the sample number for non-array MSAA image access.

  • r600: Stop using ArrayID to look up atomic counters.

  • r600: Add a helper function for rat_index_mode, with documentation and assert.

  • nir_to_tgsi: Extract const components of atomic counter offsets into Index.

  • nir_to_tgsi: Fix the address reg mapping for images and SSBOs to match G-T-T.

  • tgsi/transform: Make tgsi_transform_shader() manage token allocation.

  • tgsi/transform: Drop a stale comment.

  • ci/iris: Disable pixmark-piano trace testing.

  • ci/crocus: Disable pixmark-piano trace testing.

  • st/glsl-to-tgsi: Fix handling of csel(bool, vec, vec).

  • ci/softpipe: Mark some flakes that have appeared across a few MRs.

  • ci/zink: Mark a new GLX flake that hit an innocent MR.

  • turnip: Track refcounts on BOs in kgsl as well.

  • turnip: Stop allocating unused pvtmem space in the pipeline CS.

  • turnip: Sub-allocate pipelines out of a device-global BO pool.

  • turnip: Skip telling the kernel the BO list when we don’t need any.

  • turnip: Reduce the pipeline’s CS allocation a bit.

  • turnip: Get autotune off of ralloc destructors.

  • turnip: Move autotune buffers to suballoc.

  • nir_to_tgsi: Do the required cleanup for nir_opt_find_array_copies().

  • Revert “ci: Disable Google’s lab”

  • nir: Add lowering for fround_even on r300.

  • nouveau/nir: Fix the inverted sense of usesSampleMaskIn.

  • nouveau/nir: Move FS output stores to the end of the last block.

Enrico Galli (1):

  • microsoft/spirv_to_dxil: Add missing ralloc_free

Eric Engestrom (7):

  • docs: add release notes for 21.3.6

  • docs: update calendar and link releases notes for 21.3.6

  • docs: add release notes for 21.3.7

  • docs: update calendar and link releases notes for 21.3.7

  • Revert “glx: Fix build errors with –enable-mangling (v2)”

  • docs: add release notes for 21.3.8

  • docs: update calendar and link releases notes for 21.3.8

Erico Nunes (14):

  • lima/gpir: clean up override-init warnings

  • lima/ppir: clean up override-init warnings

  • lima/ppir: avoid ppir_codegen_outmod implicit conversion

  • lima/ppir: initialize spill_costs array in regalloc

  • lima: fix warning of garbage value access

  • lima: add some checks for potential null pointer dereference

  • lima: remove an unneeded lima_job_get assignment

  • lima/gpir: avoid invalid write in regalloc

  • lima/ppir: initialize slots array for dummy/undef

  • lima/ppir: refactor bitcopy to use unsigned char

  • lima/ci: update deqp results

  • lima/ci: enable CI again

  • lima/ci: enable piglit in lima CI

  • lima: fix vector const src referenced multiple times

Erik Faye-Lund (81):

  • vulkan/util: Add extern “C” to allow inclusion from c++

  • vulkan/util: Add explicit casts to make c++ happy

  • vulkan/util: simplify multialloc init

  • zink: do not copy colors through floats

  • nir/spirv: guard macros in case of redefinition

  • vulkan/wsi: pass win32-swapchain directly

  • vulkan/wsi: untangle buffer-images from prime

  • vulkan/wsi: add transition to/from transfer-src state

  • vulkan/wsi: use buffer-image code-path on Windows

  • docs: add license to the redirects script

  • docs: remove incorrect drivers from extension

  • docs: import virgl docs

  • docs: remove a few repeated words

  • docs: add missing get

  • docs: qemu -> QEMU

  • docs: Virgl -> VirGL

  • docs: master -> main

  • docs: link to gitlab instead of cgit

  • docs: update virgl description

  • docs: mark virgl gles2 renderer as done

  • docs: update irc channel

  • docs: fix a broken link

  • docs: match build-flags markup with meson docs

  • docs: fixup zink gl 4.3 requirements

  • docs: improve language in zink article

  • Revert “ci: downgrade sphinx to v3.x”

  • gallium: rename pack half-float cap

  • gallium: rename vs instance id cap

  • gallium: rename layer-viewport caps

  • gallium: rename pixel-coord caps

  • gallium: rename fine derivative cap

  • gallium: rename sysval caps

  • gallium: rename array-components cap

  • gallium: rename read-outputs cap

  • gallium: rename texture query samples cap

  • gallium: rename group-vote cap

  • gallium: rename clock cap

  • gallium: rename ballot cap

  • gallium: rename window-space position cap

  • gallium: rename image atomic float-add cap

  • gallium: rename image atomic inc-wrap cap

  • pvr: use zloadformat instead of zstoreformat

  • pvr: fixup typos when allocating object

  • microsoft/compiler: ralloc incoming phi-values

  • microsoft/compiler: remove phi-value limit

  • pvr: use a helper to translate compare-ops

  • pvr: use a helper to translate stencil-ops

  • pvr: zero-initialize variable

  • docs: fixup breakage in release-calendar

  • docs: add a minimal docs page for radv

  • pvr: do not use fallthrough for unreachable code

  • pvr: do not use fallthrough for unreachable code

  • microsoft: Initial vulkan-on-12 driver

  • vbo/dlist: do not try to pad an empty draw

  • aco: do not use designated initializers

  • nir/tests: do not use designated initializers in c++ code

  • dozen: require c++20 for designated initializers

  • ci: do not specify c_std and cpp_std for windows-build

  • d3d12: fix return-code without dxcompiler.dll

  • microsoft/compiler: add common dxil-validator API

  • d3d12: use dxil_validator

  • microsoft/spirv_to_dxil: use dxil_validator

  • dzn: use dxil_validator

  • clc/tests: use dxil_validator

  • dzn: remove needless using

  • dzn: remove unused struct

  • dzn: drop needless includes

  • dzn: add D3D12_IGNORE_SDK_LAYERS define

  • dzn: fixup indent

  • dzn: remove unused variable

  • dzn: drop unused header

  • dzn: drop incorrect return statement

  • dzn: drop unused include

  • dzn: add missing space

  • wgl: rename force-msaa env-var

  • util: limit error-dialogs to win32

  • wgl: do not disable error-dialogs by default

  • vulkan: explicitly cast object-type enum

  • meson: remove unused defines

  • gallium/xlib: fix stale comment

  • mesa: add missing error-path

Ernst Sjöstrand (1):

  • intel/compiler: Fix non-trivial designated initializer

Felix DeGrood (4):

  • anv/measure: Fix INTEL_MEASURE for ANV

  • anv: add indirect draw to INTEL_MEASURE

  • intel: increase INTEL_MEASURE batch/buffer sizes

  • intel: change INTEL_MEASURE output to microseconds

Filip Gawin (2):

  • r300: fix swizzle handling in transformation of abs

  • r300: Print warning when stubbing derivatives

Francisco Jerez (5):

  • iris: Demote all callers of iris_flush_and_dirty_for_history() to iris_dirty_for_history().

  • iris: Remove remaining history flushes.

  • iris: Replace unconditional QBO flush with iris_dirty_for_history().

  • intel/perf: Fix OA report accumulation on Gfx12+.

  • intel/dev: Compute pixel pipe information based on geometry topology DRM query.

Frank Binns (2):

  • pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs

  • pvr: fix clang unused function warning

Ganesh Belgur Ramachandra (1):

  • radeonsi: NIR equivalent of si_create_clear_buffer_rmw_cs()

Georg Lehmann (20):

  • nir/lower_mediump: Treat u2u16 like i2i16.

  • radv, aco: Add u_foreach_bit to .clang-format.

  • nir: Fix source type for fragment_fetch_amd.

  • radv: Don’t hash ycbcr sampler base object.

  • nir/fold_16bit_sampler_conversions: Don’t fold dest upcasts.

  • nir/fold_16bit_sampler_conversions: Fix dest type mismatches.

  • nir/fold_16bit_sampler_conversions: Fix src type mismatches.

  • nir/legalize_16bit_sampler_srcs: Don’t guess source type.

  • radv: Add a vkCmdBuildAccelerationStructuresIndirectKHR stub.

  • radv: Add more RT pipeline stubs.

  • aco: Remove 0 data components from image stores.

  • nir: Move lower_usub_sat64 to nir_lower_int64_options.

  • nir: Add an option to lower 64bit iadd_sat.

  • aco: Implement 64bit uadd_sat.

  • aco: Implement scalar iadd_sat.

  • radv: Lower 64bit iadd_sat.

  • radv, aco: Packed iadd_sat/uadd_sat.

  • radv: Enable global bo list if 1.2 features are used.

  • wsi/x11: Don’t leak xcb_get_geometry_reply_t.

  • nir/opt_algebraic: Fix mask in shift by constant combining.

Gert Wollny (24):

  • virgl: Enable PIPE_CAP_TGSI_TEXCOORD when the host supports it

  • virgl: Fix texture transfers by using a staging resource

  • virgl: Add a few more formats to the format table

  • Revert “llvmpipe: allow vertex processing and fragment processing in parallel”

  • Revert “virgl: Enable PIPE_CAP_TGSI_TEXCOORD when the host supports it”

  • virgl: re-enable PIPE_CAP_TGSI_TEXCOORD with new host versions

  • virgl: Don’t support QUADS natively

  • r600: Only emit the NOP group triggered by dest.rel after a full group

  • virgl: Propagate precice flag through moves

  • virgl: Always make some extra temps available for transformations

  • virgl: Add an extra mov for int outputs from constant and immediate inputs

  • r600: Don’t limit scheduling of PARAM_SRC values

  • r600: ignore dest sel for non-write targets when counting registers

  • r600: don’t reschedule INTERP_LOAD_P0

  • r600: Force last instruction of group when starting a new CF

  • r600: Set the last bit if an alu group is split by kcache allocation

  • r600: make r600_load_ar available to driver code

  • ntt: translate nir_intrinsic_shader_clock

  • r600: Assign shader type when creating a new CS state

  • virgl: Apply integer op fix only for ALU ops and clear modifiers

  • virgl: Fix relocating the re-writing the transformation code

  • r600/sfn: Fix store_shared_r600 write masks

  • virgl: don’t move input gl_SampleMaskIn to a temp

  • r600: Allow eight bit, three channel formats for vertex buffers

Guilherme Gallo (5):

  • ci: Make LAVA jobs fail CI job when retry is exhausted

  • ci: Install pytest and freezegun plugin

  • ci: Add unit tests for lava_job_submitter

  • ci: skqp: Build skqp from android-cts-10.0_r11 tag with Clang

  • ci: skqp: Add Vulkan support for a630_skqp job

Gurchetan Singh (1):

  • zink: emulate some more memory

Hans-Kristian Arntzen (1):

  • radv: Implement VK_VALVE_descriptor_set_host_mapping.

Henry Goffin (1):

  • frontends/va: ignore incoming frame_num from VA picture parameters

Iago Toral Quiroga (50):

  • broadcom/compiler: fix offset alignment for ldunifa when skipping

  • broadcom/compiler: allow ldunifa with read-only SSBOs

  • broadcom/compiler: choose compile strategy with lowest spilling

  • broadcom/compiler: define max number of tmu spills for compile strategies

  • broadcom/compiler: fix end of TMU sequence check

  • broadcom/compiler: reset spill/fill counts after lowering thread count.

  • broadcom/compiler: do not rebuild the interference graph after each spill

  • broadcom/compiler: drop spill_count and add spilling boolean

  • broadcom/compiler: document that spill_base is used for spills and scratch

  • broadcom/compiler: only patch temps that existed before the current spill

  • broadcom/compiler: fix register class patching for postponed spills

  • nir/nir_opt_move: allow to move uniform loads

  • nir: add a nir_instr_def_is_register helper

  • nir/nir_opt_move: handle non-SSA defs

  • broadcom/compiler: move uniforms right before their first use after scheduling

  • broadcom/compiler: increase cost of TMU spills to 10

  • broadcom/compiler: disallow TMU spills if max tmu spills is 0

  • broadcom/compiler: move constants before their first user

  • broadcom/compiler: sink uniform loads

  • broadcom/compiler: don’t sort nodes for register allocation

  • broadcom/compiler: simplify node/temp translation during register allocation

  • broadcom/compiler: stop moving UBO loads before NIR scheduling

  • nir/schedule: fix handling of generic memory barrier

  • nir/schedule: handle nir_intrinsic_group_memory_barrier

  • nir/schedule: use larger delay for non-filtered memory reads

  • nir/schedule: allow drivers to decide about instruction latency

  • broadcom/compiler: define v3d-specific delays for NIR instructions

  • broadcom/compiler: add a strategy to disable scheduling of general TMU reads

  • broadcom/compiler: adjust register threshold for 2-thread compiles

  • broadcom/compiler: add comment on why we don’t use r5 with ldunifa

  • broadcom/compiler: don’t always assign r5 if available

  • broadcom/compiler: remove unused functions

  • v3dv: expose VK_EXT_image_drm_format_modifier

  • v3dv: TFU destination must be UIF

  • v3dv: return early on image to buffer blit copies if image is linear

  • v3dv: don’t expose image load/store features for linear images

  • v3dv: fix temporary imports of semaphores and fences with multisync

  • v3dv: don’t signal semaphores/fences from a wait thread

  • v3dv: fix semaphore wait from CPU job

  • v3dv: lock around noop job submits

  • v3dv: support importing external semaphores

  • v3dv: implement VK_EXT_inline_uniform_block

  • broadcom/compiler: allow ldunifa with indirect uniform loads

  • v3dv: fix sampler array addressing in v3dv_descriptor_set_layout

  • v3dv: drop unnecessary memset

  • v3dv: add reference counting for descriptor set layouts

  • broadcom/compiler: always enable per-quad on spill operations

  • v3dv: fix limits for inline uniform blocks

  • broadcom/compiler: prefer reconstruction over TMU spills when possible

  • v3dv: fix bogus VkDrmFormatModifierProperties2EXT usage

Ian Romanick (40):

  • gallivm/nir: Call nir_lower_bool_to_int32 after nir_opt_algebraic_late

  • nir: Constify def parameter to nir_ssa_def_bits_used

  • nir/search: Constify instr parameter to nir_search_expression::cond

  • nir: All set-on-comparison opcodes can take all float types

  • intel/fs: Don’t optimize out 1.0*x and -1.0*x

  • spriv: Produce correct result for GLSLstd450Step with NaN

  • spirv: Produce correct result for GLSLstd450Modf with Inf

  • spirv: Produce correct result for GLSLstd450Tanh with NaN

  • nir: Properly handle various exceptional values in frexp

  • nir: Produce correct results for atan with NaN

  • glsl/lower_vector_derefs: Don’t emit conditional assignments

  • glsl: Use csel in do_vec_index_to_cond_assign

  • glsl: Don’t try to emit the “linear sequence” in lower_variable_index_to_cond_assign

  • glsl/ir_builder: Eliminate unused conditional assignment builders

  • glsl: Lower if to conditional select instead of conditional assignment

  • glsl: Add ir_assignment constructor that takes just a write mask

  • glsl: Remove the ability to read text IR with conditional assignments

  • glsl: Eliminate unused conditional assignment constructor

  • glsl: Don’t clone assignment conditions

  • glsl: Don’t constant-fold the condition of an assignment

  • glsl: Remove unused condition parameter from ir_assignment constructor

  • glsl: Don’t dead-built-in varying eliminate in the condition of an assignment

  • glsl: Don’t tree graft in the condition of an assignment

  • glsl: Don’t split arrays in the condition of an assignment

  • glsl: Don’t split structures in the condition of an assignment

  • glsl: Don’t lower vector indexing in the condition of an assignment

  • glsl: Don’t visit rvalues in the condition of an assignment

  • glsl: Make ir_assignment::condition private

  • glsl: Eliminate ir_assignment::condition

  • Re-indentation after the previous commit

  • nir: Add missing dependency on nir_opcodes.py

  • i915g/ci: update piglit fails

  • nir/algebraic: Optimize some cases of (sXX(a, b) != 0.0)

  • i915g: Handle constants composed exclusively of 0 or ±1 specially

  • i915g: Emit better code for SEQ(x, 0) and SNE(x, 0)

  • iris/ci: Mark amd_performance_monitor tests as flakes.

  • intel/fs: Force destination types on DP4A instructions

  • nir: intel/compiler: Lower TXD on array surfaces on DG2+

  • intel/compiler: Fix sample_d messages on DG2

  • intel/fs: Better handle constant sources of FS_OPCODE_PACK_HALF_2x16_SPLIT

Icecream95 (31):

  • pan/mdg: Use util_logbase2 instead of C99 log2

  • panfrost: Set PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION

  • panfrost: Update point size limits to match hardware behaviour

  • panfrost: Disable point size upper limit clamping

  • pan/bi: Add interference between destinations

  • pan/bi: Check dependencies of both destinations of instructions

  • panfrost: Set dirty state in set_shader_buffers

  • panfrost: Re-emit descriptors after resource shadowing

  • pan/bi: Make disassembler build reproducibly

  • pan/bi: Add documentation for bifrost_nir_lower_store_component

  • panfrost: Improve comment for emit_fragment_job

  • panfrost: Fix ubo_mask calculation

  • pan/bi: Skip psuedo sources in ISA.xml

  • pan/bi: Don’t assign slots for the blend second source

  • panfrost: Don’t initialise the trampolines array

  • panfrost: Optimise recalculation of max sampler view

  • panfrost: Remove BO mapping from import

  • util/hash_table: Remove Unicode byte order mark

  • drm-shim: Add a function for mmap64 rather than using an alias

  • drm-shim: Return fake render nodes in /dev/dri first

  • drm-shim: Explicitly use off64_t for the offset to drm_shim_mmap

  • drm-shim: Implement a shim function for close

  • panfrost: Stop overallocating compressed textures

  • panfrost: Fix pack_32_2x16 implementation

  • pan/bi: Use texture index instead of sampler for message preloading

  • 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: Use MAX2 to set min_alignment

  • pan/mdg: Fix mask usage when filling before a spill

  • pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled

  • pan/mdg: Fix multiple spilt writes in the same bundle

Igor Torrente (13):

  • venus: Exposes VK_EXT_4444_formats extension

  • venus: venus-protocol groundwork to VK_EXT_custom_border_color

  • venus: add VK_EXT_custom_border_color extension

  • venus: add macros to help with future extensions

  • Venus: Add `vn_physical_device_{features, properties}` for better organization

  • Venus: Add VN_CMD_ENQUEUE macro with vkCmd* common code

  • Venus: Adjust VN_CMD_ENQUEUE to set VN_COMMAND_BUFFER_STATE_INVALID

  • Venus: add VN_CMD_ENQUEUE to vn_cmd_encode_memory_barriers

  • venus: move vkGetCalibratedTimestamps to vn_protocol_driver_device.h

  • venus: add VK_EXT_calibrated_timestamps extension

  • venus: add VK_EXT_extended_dynamic_state2 extension

  • venus: Update venus-protocol to add two new extensions

  • venus: add VK_EXT_{conditional_rendering,index_type_uint8} extensions

Ilia Mirkin (30):

  • glsl: simplify conditions for setting various allowed flags

  • glsl: only validate xfb_buffer values when we have enhanced layouts

  • st/mesa: only enable ARB_enhanced_layouts if there are xfb buffers

  • rtasm: fix printf specifier for ptrdiff_t

  • rtasm: add pcmpgtd operation

  • translate: improve sse2 32-bit unsigned -> float conversion

  • isaspec: fix gen_max to be 2^32-1

  • isaspec: add gen-based leaf bitset separation

  • freedreno/ir3: split up load/store/atomic by generation

  • freedreno/a4xx: use correct macro for color

  • freedreno/a4xx: make luminance formats renderable, add missing L8A8_SNORM

  • freedreno/ir3: document GETINFO’s x/y results

  • nouveau: add dEQP/GLCTS run failure info for GF108/GT215

  • mesa: enable GL_EXT_texture_sRGB_RG8 on desktop

  • nvc0: disable EXT_texture_sRGB_RG8

  • freedreno/ir3: remove bogus tg4 -> tex lowering pass

  • nir: remove bogus logic to allow cube + offset to work

  • freedreno/a4xx: move tex_type to header

  • freedreno/a4xx: add swizzles to shader keys for tg4 workaround

  • freedreno/a4xx: fix integer tg4

  • freedreno/ir3: support a4xx in load/store buffer/image emission

  • freedreno/ir3: support a4xx compute differences

  • a4xx: add logic to emit image/ssbo state

  • a4xx: add emission of compute state, and compute dispatch

  • freedreno/a4xx: extend astc and tg4 workarounds to compute shaders

  • freedreno/a4xx: improve condition for disabling early z

  • freedreno/ir3: no need to count bits 16b at a time for a4xx

  • freedreno/ir3: disable conversion folding on a4xx

  • freedreno/a4xx: expose shaders and images, as well as ES 3.1

  • freedreno: add a420 deqp-runner files

Indrajit Das (1):

  • ac/gpu_info: disallow displayable DCC for Navi12 and Navi14

Iván Briano (7):

  • anv: make the pointer valid before we assign stuff into it

  • intel/compiler: remove what looks like a bad rebase

  • anv: only advertise 64b atomic floats if 64b floats are supported

  • intel/compiler: make CLUSTER_BROADCAST always deal with integers

  • intel/fs: handle interpolation modes for at_sample and at_offset too

  • vulkan/wsi/wayland: Fix double free on error condition

  • anv: re-alloc push constants after secondary command buffers

Jakob Bornecrantz (1):

  • vulkan-device-select: Don’t leak xcb_query_extension_reply_t

Faith Ekstrand (179):

  • vulkan,lavapipe: Simplify command recording code-gen

  • zink: Re-interpret formats when using vkCmdClearColorImage()

  • anv: Call vk_command_buffer_finish if create fails

  • vulkan: Add a common vk_command_pool base struct

  • anv: Use vk_command_pool

  • radv: Use vk_command_pool

  • panvk: Use vk_command_pool

  • lavapipe: Use vk_command_pool

  • v3dv: Use vk_command_pool

  • turnip: Use vk_command_pool

  • vulkan: Take a vk_command_pool in vk_command_buffer_init()

  • vulkan/queue: Assert command buffers have the right queue family

  • vulkan: Implement of a bunch of VkCommandPool functions

  • anv: Don’t use vk_alloc/free2 for command buffers

  • anv: Drop anv_cmd_buffer::pool

  • anv: Don’t call DestroyCommandBuffers in AllocateCommandBuffers

  • anv: Use the common vk_command_pool

  • v3dv: Don’t use vk_alloc/free2 for command buffers

  • v3dv: Use the common command pool implementation

  • vulkan: Rename vk_image_view::format to view_format

  • vulkan: Add back vk_image_view::format

  • anv: use vk_image_view::format for creating dynamic renderpasses

  • anv: Don’t assume depth/stencil attachments have depth

  • panvk: Advertise VK_KHR_get_physical_device_properties2

  • panvk: Advertise zero sparse format properties

  • panvk: Non-destructively stub GetRenderAreaGranularity

  • blorp: Add a binding_table_offset_to_pointer helper

  • vulkan/cmd_queue: Re-flow MANUAL_COMMANDS

  • vulkan/cmd_queue: Stop generating enqueue helpers for INTEL perf queries

  • vulkan/cmd_queue: Generate enqueue entrypoints

  • lavapipe: Reset the free_cmd_buffers list in TrimCommandPool

  • vulkan,lavapipe: Move some enqueue helpers to common code

  • vulkan/cmd_queue: Add a driver_free_cb hook

  • vulkan/cmd_queue: Add a common vk_cmd_enqueue_CmdBindDescriptorSets

  • lavapipe: Allocate descriptor set layouts with DEVICE scope

  • lavapipe: Reference count pipeline layouts

  • lavapipe: Use the common vk_enqueue_CmdBindDescriptorSets

  • vulkan/cmd_queue: Properly support non-array pointer members

  • lavapipe: Use the auto-generated vk_enqueue_BeginRendering

  • anv: Allow MSAA resolve with different numbers of planes

  • bifrost: Lower usub_borrow

  • bifrost: Simplify derivatives a bit

  • bifrost: Implement fine and coarse derivatives

  • bifrost: Handle nir_op_frexp* and nir_op_ldexp

  • bifrost: Constant fold after lower_explicit_io

  • panvk: Stop advertising Vulkan 1.1

  • panvk: Make panvk_image derive from vk_image

  • panvk: Make panvk_image_view derive from vk_image_view

  • panvk: Skip ZS setup if there is no depth/stencil attachment

  • panvk: Rework texture, sampler, and image binding index calculation

  • panvk: Use the correct integer border colors

  • vulkan: Add a vk_shader_module_to_nir() helper

  • anv: Use vk_shader_module_to_nir()

  • panvk: Use vk_shader_module

  • panvk: Use vk_shader_module_to_nir()

  • panvk: Require 16B alignment for UBOs

  • panvk: Fix SSBO buffer offsets

  • panvk: Implement VK_EXT_vertex_attribute_divisor

  • vulkan: Add a common vk_framebuffer struct

  • anv: Convert to vk_framebuffer

  • vulkan: Add a common vk_render_pass struct

  • vulkan: Add a common CmdBegin/EndRederPass implementation

  • vulkan: Add helpers for getting rendering info from a renderpass

  • vulkan/render_pass: Provide self-dependeny information

  • vulkan/render_pass: Support fragment shading rate

  • vulkan/render_pass: Add an optimization for UNDEFINED+LOAD_OP_CLEAR

  • vulkan/framebuffer: Add a flags field

  • anv: Fix handling of null depth/stencil attachments with dynamic rendering

  • anv: Better null surface state size for dynamic rendering

  • anv/pass: Make unused color attachments VK_ATTACHMENT_UNUSED

  • anv: Stop treating color input attachments specially

  • anv/pipeline: Stop pretending we’re the validator

  • anv: Drop pipeline pass/subpass in favor of rendering_info

  • anv: Convert to 100% dynamic rendering

  • docs: Add the start of Vulkan runtime docs

  • docs: Add high-level documentation for Vulkan render passes

  • intel/guardband: Take min/max instead of total size

  • anv: Calculate the real guardband based on render area

  • anv: Move viewport/scissor emit to genX_cmd_buffer.c

  • anv: Include scissors in viewport calculations

  • panvk: Convert to the common sync/submit framework

  • panvk: Re-arrange GetPhysicalDeviceFeatures2

  • panvk: Add a 1.3 features struct

  • panvk: Re-arrange GetPhysicalDeviceProperties2

  • panvk: Move core properties into their respective core structs

  • panvk: Implement VK_KHR_synchronization2

  • panvk: Implement VK_KHR_copy_commands2

  • panvk: Drop BindImage/BufferMemory

  • panvk: Drop QueueBindSparse

  • panvk: Only implement Get*MemoryRequirements2

  • anv: Use layerCount for clears and transitions in BeginRendering

  • vulkan: Add a 2 wrapper for vkGetPhysicalDeviceQueueFamilyProperties

  • anv: Drop GetPhysicalDeviceQueueFamilyProperties

  • radv: Drop GetPhysicalDeviceQueueFamilyProperties

  • turnip: Drop tu_legacy.c

  • v3dv: Drop GetPhysicalDeviceQueueFamilyProperties

  • panvk: Drop GetPhysicalDeviceQueueFamilyProperties

  • lavapipe: Use VK_OUTARRAY for GetPhysicalDeviceQueueFamilyProperties[2]

  • lavapipe: Drop GetPhysicalDeviceQueueFamilyProperties

  • vulkan/cmd_queue: Add a vk_cmd_queue_execute() helper

  • vulkan/cmd_queue: Generate enqueue_if_not_primary entrypoints

  • vulkan/cmd_queue: Auto-generate more vk_cmd_enqueue_unless_primary_Cmd*

  • vulkan/runtime: Add emulated secondary command buffer support

  • panvk: Hook up emulated secondary command buffers

  • spirv: Properly mangle generic pointers

  • nir/print: Add support for generic pointers

  • intel/nir: Add optimizations to help OpenCL-style kernels

  • intel/debug: Dump KERNEL source when INTEL_DEBUG=cs

  • intel/compiler: Add code for compiling CL-style SPIR-V kernels

  • intel/kernel: Implement some Intel built-in functions

  • intel: Add a little OpenCL C compiler binary

  • nir: Allow nir_var_mem_global variables

  • spirv: Implement the function portion of the Linkage capability

  • i915: Use the sin/cos lowering in nir_opt_algebraic.py

  • vulkan: Add a vk_image_view_subresource_range helper

  • lavapipe: Use vk_image_view

  • lavapipe: Use vk_image_subresource_layer/level_count

  • lavapipe: Delete render passes

  • v3dv/queue: Rework multisync_free

  • spirv/libclc: Add generic versions of arithmetic functions

  • vulkan: Add more VU comments to justify framebuffer asserts

  • vulkan/queue: Add a submit mode enum

  • vulkan/queue: Rework submit thread enabling

  • vulkan/queue: Rework vk_queue_submit()

  • vulkan: Replace various uses of device->timeline_mode

  • vulkan: Allow the driver to manually enable threaded submit

  • intel/isl: Add a helper for swizzling color values

  • anv: Disallow blending on swizzled formats

  • anv: Generalize border color swizzles

  • anv: Advertise two more formats

  • util/timespec: Return overflow from timespec_add_[mn]sec()

  • vulkan: Use timespec_add_nsec in vk_sync_timeline

  • lavapipe: Switch to the common sync framework

  • v3dv: Enable VK_EXT_debug_utils

  • turnip: Enable VK_EXT_debug_utils

  • lavapipe: Enable VK_EXT_debug_utils

  • anv: Enable VK_EXT_debug_utils

  • panvk: Enable VK_EXT_debug_report and VK_EXT_debug_utils

  • lavapipe: Go back to manually signaling in lvp_AcquireNextImage2()

  • iris: Account for BO offsets in iris_set_global_binding()

  • iris: Handle range tracking for global bindings

  • iris: Take offsets into account when mapping resources

  • iris: Allow non-page-aligned userptr

  • iris: Allow userptr on 1D and 2D images

  • anv/formats: Relax usage checks if EXTENDED_USAGE_BIT is set

  • vulkan: vk_object_base_init/finish have no unused parameters

  • vulkan,docs: Document vk_object_base

  • vulkan,docs: Document vk_instance

  • vulkan,docs: Document vk_physical_device

  • vulkan,docs: Document vk_device

  • vulkan,docs: Add documentation for Vulkan dispatch

  • nir: Dont set coord_components on txs

  • nir/lower_int64: Fix [iu]mul_high handling

  • intel/fs: Implement 16-bit [ui]mul_high

  • intel/nir: Lower 8 and 16-bit bitwise unops

  • iris: Don’t leak scratch BOs

  • vulkan/drm_syncobj: Implement WAIT_PENDING with a sync_file lookup

  • v3dv: Stop directly setting vk_device::alloc

  • v3dv: Put indirect compute CSD jobs in the job list

  • v3dv: Don’t use pthread functions on c11 mutexes

  • v3dv: Destroy the device mutex on the teardown path

  • v3dv: Switch to the common device lost tracking

  • v3dv: Use util/os_time helpers

  • v3dv: Add a condition variable for queries

  • v3dv: Always wait on last_job_syncs if job->serialize

  • v3dv: Switch to the common submit framework

  • v3dv: Use the core version feature helpers

  • v3dv: Use the core version property helpers

  • v3dv: Add emulated timeline semaphore support

  • iris: More gracefully fail in resource_from_user_memory

  • nir/opcodes: fisfinite32 should return bool32

  • util/set: Respect found in search_or_add_pre_hashed

  • nir: Lower all bit sizes of usub_borrow

  • vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping

  • spirv: Handle Op*MulExtended for non-32-bit types

  • vulkan/wsi: Set the right stage flags for semaphore waits

  • nir/cf: Return a cursor from nir_cf_extract as well

  • gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers

  • nir: Preserve metadata if remove_dead_derefs makes no progress

Jesse Natalie (68):

  • microsoft/compiler: Lower mul_2x32_64

  • microsoft/compiler: Only prep phis for the current function

  • microsoft/compiler: Only treat tess level location as special if it’s a patch constant

  • microsoft/compiler: Add never-supported double ops to lower_doubles bitmask

  • microsoft/compiler: It’s possible to have doubles without int64

  • microsoft/compiler: Fix splitdouble struct name

  • microsoft/compiler: Fix make_double and split_double to respect swizzles

  • microsoft/compiler: Fix dxil_nir_lower_double_math_instr pass for vectors

  • microsoft/compiler: Set dx11_1_double_extensions flag for dfma/ddiv

  • microsoft/compiler: Handle b2f64

  • microsoft/compiler: Lower 64bit I/O to 32 and then run lower_pack

  • microsoft/compiler: Handle I/O vars larger than a vec4

  • microsoft/compiler: Process signatures before the shader code

  • microsoft/compiler: Map I/O base locations to input IDs

  • microsoft/compiler: Handle structs in I/O signatures

  • d3d12: Update max input, output, and varying caps

  • d3d12: Use a constant define for max anisotropy

  • d3d12: Use the right constant for GS varying limits

  • d3d12: Cache a modifyable copy of the nir options in d3d12_screen

  • d3d12: Add a driver version to the screen to be used for workarounds

  • d3d12: Get OPTIONS1

  • d3d12: Add int64 support

  • d3d12: Lower [de]construction of doubles via math ops into pack/unpack ops

  • d3d12: Set lower full fp64 compiler options flag when needed

  • d3d12: Handle structs in GS variants

  • d3d12: Handle structs in TCS variants

  • d3d12: ARB_gpu_shader_fp64

  • docs: Update d3d12 features

  • microsoft/compiler: Handle SV_ViewportArrayIndex

  • microsoft/compiler: Set flag for VP/RT array index from VS/DS

  • d3d12: Enable BPTC (BC6/BC7)

  • d3d12: Bind 16 scissor rects when scissor disabled

  • d3d12: Fix linkage for viewport index

  • d3d12: Update depth invert to deal with multi-viewport

  • d3d12: Fix location compares in MSAA disable

  • d3d12: Update nir varying bitmasks when linking stages

  • d3d12: Don’t force a GS to be added for ‘flat’ sysvals

  • d3d12: Don’t add arrayed VS outputs when next stage uses per-vertex inputs

  • d3d12: When adding new output varyings, write 0s

  • d3d12: Allow RGB VS inputs without an alpha channel

  • d3d12: GL4.2

  • docs: Update d3d12 features

  • tc: CPU storage needs to be freed with align_free

  • d3d12: Fix set constant buffers

  • d3d12: Fix range calculation for suballocated buffers in d3d12_bo_unmap

  • d3d12: Always respect offsets when mapping a bo, not just when there’s a range

  • d3d12: Delete make_resource_writeable

  • d3d12: Fix TBOs from suballocated buffers

  • d3d12: Don’t suballocate TBO buffers

  • d3d12: Fix offset for buf/image copies with suballocated buffers

  • d3d12: Actually suballocate and cache buffers

  • d3d12: Add a buffer busy callback to the bufmgr

  • d3d12: Use CPU storage in TC for buffers

  • d3d12: Allow 8bit index buffer conversions by vbuf

  • d3d12: Fix take_ownership semantic for constant buffers

  • d3d12: When mapping a resource used in the current batch without blocking, at least flush

  • d3d12: Forward wait condition from query -> result buffer

  • d3d12: Move ID3D12Fence from context to screen

  • d3d12: Add sampler’s textures to batch bo tracking

  • d3d12: Add residency info to d3d12_bo

  • d3d12: Add a budget/usage callback to the screen

  • d3d12: Implement residency management algorithm

  • d3d12: Default newly-created resources to not-resident

  • d3d12: Don’t add a second dual-source output for Heaven

  • driconf: Add Heaven entries for Windows .exe

  • d3d12: Only force point sampling for emulated shadow samplers

  • microsoft/compiler: Fill interpolation for sysval inputs to non-vertex shader

  • microsoft/compiler: Unload DXIL validator library *after* calling Release()

Jiadong Zhu (1):

  • st/mesa: set GL_DYNAMIC_STORAGE_BIT for GL-VK interop buffers

Jocelyn Falempe (2):

  • llvmpipe: fix color rendering on big endian.

  • llvmpipe: remove unused array

Jonathan Gray (10):

  • util: unbreak non-linux mips64 build

  • util: fix u_print.cpp build on OpenBSD

  • util: fix util_cpu_detect_once() build on OpenBSD

  • radv: use MAJOR_IN_SYSMACROS for sysmacros.h include

  • util/u_atomic: fix build on clang archs without 64-bit atomics

  • util: fix build with clang 10 on mips64

  • util: use correct type in sysctl argument

  • util: fix msvc build

  • intel/dev: sync ADL-S pci ids with linux

  • intel/dev: add RPL-S pci ids from drm-intel-next

Jordan Justen (13):

  • intel/fs: Assert that old pull-const code is not used if devinfo->has_lsc

  • anv: Align GENERAL_STATE_POOL_MIN_ADDRESS to 2MiB

  • anv: Align state pools to 2MiB on XeHP

  • intel/dev: Add ATS-M pci-ids

  • intel/dev: Add device info for RPL-P

  • vulkan/wsi/x11: Use atomic_int with sent_image_count

  • drm-uapi/i915_drm.h: Update from drm-next (2022-04-28)

  • iris: Fix assertion meant to only target the clear-color stride

  • intel/dev: Read hwconfig from i915

  • intel_dev_info: Add –hwconfig command line parameter

  • intel/dev: Add INTEL_PLATFORM_DG2_G12

  • intel/dev: Add DG2 G12 PCI IDs

  • intel/dev: Enable first set of DG2 PCI IDs

Jose Maria Casanova Crespo (1):

  • v3dv/v3d: Fix copyright holder to Raspberry Pi Ltd

José Expósito (2):

  • egl/wayland: fix crash in dri2_initialize_wayland_drm

  • egl/wayland: fix crash in dri2_initialize_wayland_swrast

Juan A. Suarez Romero (23):

  • v3dv/ci: Update failure list

  • vc4/ci: update failing piglit tests

  • vc4/ci: make piglit test mandatory

  • vc4: remove redundant initialization

  • v3d: enable texture filtering anisotropic

  • v3d: rebind sampler view if resource changed the BO

  • v3dv/ci: add test to skip list

  • util/disk_cache: rename MESA_GLSL_CACHE envvar

  • ci: use MESA_SHADER_CACHE envvar

  • radv: change MESA_GLSL_CACHE envvar reference

  • v3dv: change MESA_GLSL_CACHE envvar reference

  • broadcom/ci: Update flake list

  • v3d: add support for on-disk shader cache

  • broadcom: add on-disk cache debug option

  • broadcom: add line rasterization mode to packet definition

  • v3dv: add subpixel precision definition

  • v3dv: implement VK_EXT_line_rasterization

  • v3d: fix some leaks in cache

  • v3d: do not leak BO on query begin

  • ci: enable v3dv arm64 jobs

  • CODEOWNERS: add Broadcom maintainers

  • ci: add Broadcom CI maintainer

  • mesa: unref syncobj after wait_sync

Kai Wasserbäch (2):

  • fix(FTBFS): clover: work around removal of PointerType::getElementType()

  • fix(clover): FTBFS: Added missing include for ConstantInt for LLVM 15

Karmjit Mahil (5):

  • pvr: Fix seg fault in vkAllocateDescriptorSets().

  • pvr: Add stricter type checking in pvr_csb_pack().

  • pvr: Add core count info and pvr_device_runtime_info.

  • pvr: Add pvrsrvkm visibility test heap.

  • pvr: Implement vkCreateQueryPool() and vkDestroyQueryPool().

Karol Herbst (1):

  • nir: fix nir_sweep for printf

Kenneth Graunke (51):

  • iris: Make an iris_foreach_batch macro that skips unsupported batches

  • anv: Increase maxUniformBufferRange to 2^30 when not using the sampler

  • intel/genxml: Add missing MI_FLUSH_DW::Flush CCS field

  • blorp: Assert that blorp_copy() on the blitter can handle it

  • iris: Add support for flushing the blitter (hackily)

  • ci/iris: Mark qbo tests as flakes

  • iris: Allow IRIS_BATCH_BLITTER in iris_copy_region()

  • iris: Use the hardware blitter for DRI PRIME blits

  • iris: Disable PIPE_CAP_PREFER_BACK_BUFFER_REUSE

  • anv: Increase maxBoundDescriptorSets to 32

  • anv: Lower bufferImageGranularity to 1 from 64

  • anv: Raise vertex input bindings and attributes limits slightly

  • iris: Set MI_FLUSH_DW::PostSyncOperation correctly

  • blorp: Add blorp_measure hooks to the blitter codepaths

  • iris: Use more efficient binding table pointer formats on Icelake+.

  • iris: Rename surface_base_address to binder_address in a few places

  • intel: Limit Wa_1607854226 to Gfx12.0 only

  • intel: Use 3DSTATE_BINDING_TABLE_POOL_ALLOC exclusively on Gfx11+

  • iris: Restore flagging of dirty bindings in binder_realloc

  • iris: Fix MOCS for copy regions

  • nir: Print divergence status of SSA values if analysis was ever run.

  • intel: Add INTEL_DEBUG=noccs alias for INTEL_DEBUG=norbc

  • nir: Teach nir_divergence_analysis about Intel-specific intrinsics

  • intel/compiler: Implement nir_intrinsic_last_invocation

  • intel/compiler: Set divergence analysis options

  • intel/compiler: Convert to LCSSA and use divergence analysis.

  • intel/compiler: Use nir_opt_uniform_atomics()

  • intel/decoder: Fix decoder handling of binding table pool alloc on XeHP

  • iris: Properly tell the decoder about inherited binder addresses

  • intel/compiler: Call inst->resize_sources before setting the sources

  • anv: Stop updating STATE_BASE_ADDRESS on XeHP

  • intel/genxml: Add SAMPLER_STATE::Allow Low Quality LOD Calculation field

  • intel/genxml: Add new “Low Quality Filter” field on Gfx12+.

  • intel/genxml: Delete SAMPLER_MODE register definition on Gfx12+

  • intel/genxml: Add SAMPLER_MODE bits for enabling Small PL on Icelake

  • st/mesa: Make transcode_astc also check for non-SRGB format support

  • st/mesa: Transcode ASTC to BC7 (BPTC) where possible

  • iris: Use IRIS_DOMAIN_DEPTH_WRITE for read only depth/stencil.

  • iris: Split out an IRIS_DOMAIN_SAMPLER_READ domain from OTHER_READ

  • iris: Fix UBO cache tracking for the !indirect_ubos_use_sampler case

  • iris: Add an iris_is_domain_l3_coherent helper.

  • iris: Add a separate PIPE_CONTROL_L3_READ_ONLY_CACHE_INVALIDATE bit

  • iris: Extend the cache tracker to handle L3 flushes and invalidates

  • iris: Add pre-draw flushing for stream output targets

  • iris: Use cache-tracker for draw count flushing

  • iris: Emit flushes for push constant source buffers

  • iris: Demote DC flush to HDC flush in cache tracker

  • iris: Add VF_CACHE_INVALIDATE to IRIS_DOMAIN_OTHER_WRITE flush bits

  • anv: Fix INTEL_DEBUG=bat on XeHP

  • iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS

  • Revert “st/mesa: Transcode ASTC to BC7 (BPTC) where possible”

Konstantin Seurer (16):

  • radv: Move common code to seperate file

  • nir,spirv: Preserve ray_query_value

  • radv: Lower ray queries

  • radv: Enable KHR_ray_query

  • radv: Use common GetPhysicalDeviceMemoryProperties

  • venus: Use trivial common entrypoints

  • radv: Fully implement ray primitive culling

  • radv: Advertise ray primitive culling

  • radv: Replace magic constants with enum values

  • radv: Remove radv_util.c

  • radv: Refactor radv_tex_aniso_filter

  • radv: Refactor ray tracing support checks

  • radv: Fix barriers with cp dma

  • radv: Enable rt primitive culling for spirv2nir

  • radv: Fix lowering ignore_ray_intersection

  • ac/nir: Do not set cursor in try_extract_additions

Krunal Patel (1):

  • frontend/va: Create decoder once the max_references is updated

Lionel Landwerlin (104):

  • anv: flush utrace before at device destroy

  • anv: add dynamic rendering traces

  • intel/ds: fix compilation with perfetto

  • nir: change intel dss_id intrinsic to topology_id

  • intel/fs: rework dss_id opcode into generic opcode

  • intel/fs: add support for Eu/Thread/Lane id

  • intel/nir/rt: add a new number of SIMD lanes per DSS helper

  • intel/fs: name sources for A64 opcodes

  • intel/fs: add support for ACCESS_ENABLE_HELPER

  • intel/fs: don’t set allow_sample_mask for CS intrinsics

  • intel/fs: load more fields from BVH instance leafs

  • intel/compiler: tracker number of ray queries in prog_data

  • intel/fs: limit FS dispatch to SIMD16 when using ray queries

  • intel/nir: fix shader call lowering

  • intel/nir: use a single intel intrinsic to deal with ray traversal

  • nir/builder: add nir_ior_imm() helper

  • intel: add a new intrinsic to get the shader stage from bindless shaders

  • intel/nir/rt: load bvh_level value off mem_hit structure

  • intel/fs: make trivial shader complete tracing operations with missing shaders

  • intel/nir: document committed argument

  • intel/nir/rt: make RT manipulation helpers helper invocations ready

  • intel/nir/rt: add more helpers for ray queries

  • nir/lower_shader_calls: consider relocated constants as rematerializable

  • intel/nir: document RT builder

  • intel/fs: lower ray query intrinsics

  • anv: enable ray queries

  • anv: fix conditional render for vkCmdDrawIndirectByteCountEXT

  • anv: update limit for maxVertexInputBindingStride

  • intel/dev: provide some default values for no_hw

  • nir: fix lower_memcpy

  • anv: add a custom AcquireNextImage2KHR func

  • anv/genxml/intel/fs: fix binding shader record entry

  • anv: fix fast clear type value with external images

  • intel/fs: fix total_scratch computation

  • anv: fix acceleration structure descriptor copies

  • anv: don’t lazy allocate surface states in descriptor sets

  • anv: rename host only descriptor internal flag

  • anv: make a couple of descriptor function private

  • anv: silence compiler warning

  • anv: silence compiler warnings

  • anv: fix variable shadowing

  • anv: zero-out anv_batch_bo

  • anv: emit timestamp & availability using the same part of CS

  • anv: flush tile cache with query copy command

  • intel/nir/fs: replace COMPUTE || KERNEL by gl_shader_stage_is_compute()

  • intel/fs: handle inline data on OpenCL style kernels

  • meson: try to find clang-cpp before going through each module

  • intel/clc: allow multiple CL files to be compiled together

  • intel/clc: allow producing SPIRV files

  • intel/clc: specify supported extensions

  • intel/clc: disable tool prior to Gfx12.5 platforms

  • ci: add clang/spirv-tools/llvm-spirv packages to fedora container

  • ci: enable llvm on debian-release build

  • ci: enable intel-clc on some platforms

  • vulkan: move EXT_tooling_info implementation to runtime

  • anv: implement EXT_tooling_info

  • intel/dev: default to B stepping on DG2 for offline compiler

  • intel/kernel: enable groups caps

  • intel/kernel: enable linkage cap

  • intel/clc: add option to printout kernel prog_data

  • intel/clc: compile fix

  • intel/clc: fixup shared memory offsets

  • intel/clc: deal with SPIRV-Tools linker new behavior

  • iris: don’t synchronize BO for batch decoding

  • anv: allow baking of 3DSTATE_DEPTH_BOUNDS in pipeline batch

  • anv: fix dynamic state emission

  • anv: fix VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT state

  • anv: fix color write enable interaction with color mask

  • anv: use local dynamic pointer more

  • anv: fix dynamic sample locations on Gen7/7.5

  • anv: don’t store sample location sample count

  • intel/clc: fix missing pointer write

  • anv: disable preemption on 3DPRIMITIVE on gfx12

  • anv: remove unused 3DSTATE_DEPTH_BOUNDS fields

  • blorp: disable depth bounds

  • intel/nir: don’t report progress on rayqueries if no queries

  • nir/lower_shader_calls: name resume shaders

  • intel/fs: fix metadata preserve on trace_ray intrinsic

  • intel/fs: add a note on possible optimization of root node address

  • anv: stop using old entrypoint/struct/enum names for 1.3

  • intel: fix URB programming for GT1s

  • anv: allow getting the address of the beginning of the batch

  • nir/divergence: handle load_global_block_intel

  • intel: fixup number of threads per EU on XeHP

  • anv: fix acceleration structure descriptor template writes

  • anv: skip acceleration structure in binding table emission

  • anv: fix clflush usage on utrace copy batch

  • iris: use new kernel uAPI to compute video memory

  • anv: fix invalid utrace memcpy l3 config on gfx < 11

  • anv: reset all dynamic state after secondary execution

  • anv: add missing logic op set in pipeline dyn state

  • Revert “anv: fix dynamic state emission”

  • anv: rework sample location

  • anv: never emit 3DSTATE_CPS in the pipeline batch

  • anv: don’t emit 3DSTATE_STREAMOUT in pipeline batch

  • anv: don’t emit 3DSTATE_WM in pipeline batch

  • anv: don’t emit 3DSTATE_BLEND_STATE_POINTERS in pipeline batch

  • anv: don’t emit 3DSTATE_DEPTH_BOUNDS in pipeline batch

  • anv: don’t emit 3DSTATE_VF_TOPOLOGY in pipeline batch

  • anv: remove static_state_mask

  • nir/cf: return cursor after insertion of cf_list

  • nir/lower_shader_calls: don’t use nop instructions as cursors

  • nir/lower_shader_calls: don’t insert code after break/continue

  • nir/lower_shader_calls: put inserted instructions into a dummy block

Louis-Francis Ratté-Boulianne (5):

  • vulkan/runtime: Add a level field to vk_command_buffer

  • vulkan/cmd_queue: Add an initializer for the vk_cmd_queue object

  • vulkan/runtime: Add a vk_cmd_queue object to vk_command_buffer

  • dzn: Add a debug flag to enable D3D12 debug layer

  • dzn: Add CI target for vulkan driver

M Henning (2):

  • nouveau: Handle unaligned tlsBase during spills

  • nouveau: Fix out-of-bounds access in AlgebraicOpt

Marcin Ślusarz (20):

  • intel/compiler: fix array & struct IO lowering in mesh shaders

  • anv: don’t set color state when input state was requested

  • intel/compiler: remove redundant code from fs_visitor::run_*

  • anv: cleanup begin_subpass & end_subpass

  • intel/compiler: ignore per-primitive attrs when calculating flat input mask

  • intel/compiler: optimize flat inputs mask calculation

  • intel/compiler: shift mesh urb read/write window when offset is too large

  • intel/compiler: inject MUE initialization

  • intel/compiler: handle ViewportIndex, PrimitiveID and Layer in MUE setup

  • intel/compiler: mark some variables as per-primitive in FS if they come from MS

  • anv: set number of viewports in clip state (mesh)

  • anv: include Primitive Header in mesh shader per-primitive output

  • anv: fix push constant lowering for task/mesh

  • anv: initialize 3DMESH_1D.ExtendedParameter0 when ExtendedParameter0Present

  • nir: remove gl_PrimitiveID output from MS when it’s not used in FS

  • anv: invalidate all metadata in anv_nir_lower_ubo_loads

  • intel/compiler: invalidate all metadata in brw_nir_lower_intersection_shader

  • intel/compiler: invalidate metadata in brw_nir_initialize_mue

  • anv: update task/mesh distribution with the recommended values

  • anv: disable streamout before emitting mesh shading state

Marek Olšák (61):

  • gallium: add PIPE_RESOURCE_FLAG_UNMAPPABLE for shared unmappable buffers

  • ci: bump piglit version

  • gallivm: fix build with LLVM 15

  • winsys/radeon: fix a hang due to introducing spi_cu_en

  • amd: remove the _UMD suffix from register definitions

  • amd: add a workaround for an SQ perf counter bug

  • ac: add a gfx9 workaround for high priority compute

  • ac/gpu_info: print units for some radeon_info fields

  • ac/surface: don’t set the display flag for 1D textures

  • ac/llvm: remove unused function dpp_row_sl

  • winsys/amdgpu: fix a warning of defining radeon_screen_create_t twice

  • radeonsi: add assertions to check if buffer_map/texture_map calls are valid

  • radeonsi: always set FLUSH_ON_BINNING_TRANSITION

  • radeonsi: program SQ_THREAD_TRACE_CTRL.AUTO_FLUSH_MODE on gfx10.3

  • radeonsi: change ACCUM_ISOLINE to 12

  • radeonsi: document an unexpected behavior of PS_DONE

  • radeonsi: reduce the max TBO/SSBO binding size to 512 MB to help 32-bit builds

  • radeonsi: more fixes for si_buffer_from_winsys_buffer for GL-VK interop

  • radeonsi: don’t map buffers that VK made unmappable

  • radeonsi: replace SI_RESOURCE_FLAG_UNMAPPABLE with PIPE_RESOURCE_FLAG_UNMAPPABLE

  • radeonsi: remove bit gaps in SI_RESOURCE_FLAG_*

  • radeonsi: increase the tesselation factor ring size

  • radeonsi: fix the unaligned clear_buffer fallback with TC

  • ac,radeonsi: rework and optimize how TMPRING_SIZE is set

  • radeonsi: apply the LLVM discard bug workaround to LLVM 13 only

  • ac/surface/tests: fix missing NUM_PKRS extraction in test_modifier

  • ac/surface: add more elements to meta equations because HTILE can use them

  • radeonsi: use SET_SH_REG_INDEX with index=3 for registers containing CU_EN

  • ac/llvm: replace structured by vindex != NULL in ac_build_tbuffer_store

  • ac/llvm: replace structured by vindex != NULL in ac_build_buffer_store_common

  • radeonsi: move Arcturus code outside the gfx9 branch

  • ac: update shadowed registers

  • ac: set correct cache size per TCC for Yellow Carp

  • amd: add support for gfx1036 and gfx1037 chips

  • amd: update addrlib

  • radeonsi: fix broken VK-GL buffer interop

  • nir: validate write_mask for all intrinsics that have it

  • nir: fix nir_io_semantics::gs_streams in nir_lower_io_to_scalar

  • nir: add transform feedback info into nir_intrinsic_store_output

  • nir: add shader_info::xfb_strides

  • nir: scalarize transform feedback info in nir_lower_io_to_scalar

  • nir: add nir_io_semantics::no_varying, no_sysval_output, and helpers

  • nir: add nir_lower_io_passes() with new transform feedback

  • nir: add nir_gather_xfb_info_from_intrinsics for lowered IO

  • nir: add nir_print_xfb_info

  • nir: pass nir_shader into nir_recompute_io_bases instead of func_impl

  • gallium/util: add util_dump_stream_output_info

  • gallium/aux: add helper nir_gather_stream_output_info

  • st/mesa: do nir_lower_io() for inputs & outputs with transform feedback info

  • ci: add point coord failures to d3d12

  • ac/llvm: update LLVM processor names for gfx10.3

  • ac: parse SET_SH_REG_INDEX packet

  • ac: define PKT3_ATOMIC_MEM

  • ac: add an environment variable that parses IBs in files

  • radeonsi: fix register shadowing after the pm4 state size was decreased

  • radeonsi: fix an assertion failure with register shadowing

  • nir: fix an uninitialized variable valgrind warning in nir_group_loads

  • ac/surface: fix an addrlib race condition on gfx9

  • winsys/amdgpu: fix a mutex deadlock when we fail to create pipe_screen

  • ac/llvm: set the correct cache policy for sparse buffer loads

  • radeonsi: fix a crash when failing to create a context

Mark Janes (1):

  • Revert “intel/fs: handle interpolation modes for at_sample and at_offset too”

Martin Roukala (né Peres) (1):

  • ci/b2c: fix the generation of the IMAGE_UNDER_TEST variable

Matt Coster (2):

  • pvr: Gate offline compiler build behind -Dtools=imagination

  • pvr: ci: Initial freedesktop CI integration

Matt Turner (8):

  • intel/perf: Don’t print leading space from desc_units()

  • intel/perf: Deduplicate perf counters

  • intel/perf: Use a function to initialize perf counters

  • intel/perf: Use slimmer intel_perf_query_counter_data struct

  • intel/perf: Store indices to strings rather than pointers

  • intel/perf: Mark intel_perf_counter_* enums as PACKED

  • intel/perf: Fix mistake in description string

  • intel/perf: Destination array calculation into function

Matti Hamalainen (1):

  • aux/trace: fix dumping of pipe_texture_target

Melissa Wen (1):

  • broadcom/simulator: enable multisync in the simulator

Michael Olbrich (1):

  • crocus: export GEM handle with RDWR access rights

Michel Dänzer (3):

  • ci: Use $CI_COMMIT_BRANCH

  • ci: Use $CI_PIPELINE_SOURCE

  • ci: Remove unused is-for-marge YAML anchor

Michel Zou (4):

  • vulkan/wsi: drop unused wsi_create_win32_image

  • lavapipe: set non-zero device/driver uuid

  • lavapipe: fix i686 mingw build

  • gallium: fix unused symbols warnings

Mihai Preda (12):

  • radeonsi/tests: print PCI-id of GPU device under test

  • radeonsi/tests: update piglit baseline on vega20

  • radeonsi/tests: update glcts baseline on vega20

  • radeonsi/tests: update piglit baseline on vega20

  • amd/ac_gpu_info: fix warning on fread unused result

  • radeonsi/tests: fix file left open in radeonsi-run-tests.py

  • radeonsi/tests: add flakes option to radeonsi-run-tests.py

  • radeonsi/tests: update baseline and flakes on vega20

  • radeonsi: convert copy_image shader to NIR

  • radeonsi: convert copy_image_1d_array shader to NIR

  • radeonsi: merge the copy_image shader generators

  • amd/llvm: Transition to LLVM “opaque pointers”

Mike Blumenkrantz (538):

  • zink: disable PIPE_SHADER_CAP_FP16_CONST_BUFFERS

  • llvmpipe: disable PIPE_SHADER_CAP_FP16_CONST_BUFFERS

  • llvmpipe: ci updates

  • zink: add VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT for query binds

  • zink: add synchronization for conditional render buffer

  • zink: use scanout obj when returning resource param info

  • zink: export PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED

  • zink: fix PIPE_CAP_TGSI_BALLOT export conditional

  • zink: reject invalid draws

  • zink: min/max blit region in coverage functions

  • vk/sync: add asserts for timeline semaphore count matching

  • gallium: add PIPE_CAP_CULL_DISTANCE_NOCOMBINE

  • zink: export PIPE_CAP_CULL_DISTANCE_NOCOMBINE

  • lavapipe: use util_pack_color_union() for generating clear colors

  • zink: ci updates

  • lavapipe: ci updates

  • zink: ci updates

  • zink: add Sample decorations to fragment shader inputs with sample shading

  • zink: ci updates

  • aux/draw: fix llvm tcs lane vec generation

  • zink: anv (icl) ci updates

  • zink: always set VkPipelineMultisampleStateCreateInfo::pSampleMask

  • zink: ci updates

  • zink: break out spirv shader dumping into separate function

  • zink: make spirv_buffer_emit_word() return the word that was written

  • zink: make spirv_builder_emit_exec_mode_literal() return the word for the param

  • zink: store the tcs_vertices_out spirv word

  • zink: store the tcs_vertices_out spirv word to the spirv_shader struct

  • zink: split off CreateShaderModule into util function

  • zink: store the spirv_shader to the zink_shader struct for generated tcs

  • zink: add a tcs shader key

  • zink: move pipeline tcs patch_vertices value to tcs shader key

  • zink: implement generated tcs variants using spirv shortcut

  • zink: ci updates

  • zink: track internal conditional render state

  • zink: always terminate conditional render when flushing a batch

  • zink: restart conditional render when crossing batch boundary

  • zink: activate conditional render for compute dispatch when necessary

  • zink: ci updates

  • zink: map R8G8B8X8_SRGB -> R8G8B8A8_SRGB

  • zink: export PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR

  • zink: always invalidate streamout counter buffer if not resuming

  • zink: ci updates

  • zink: radv ci updates

  • zink: radv ci updates

  • zink: prune ci lists

  • zink: allow null descriptor set layouts

  • zink: remove zink_descriptor_util_init_null_set()

  • zink: ci updates

  • zink: add a flake channel

  • lavapipe: EXT_depth_clip_control

  • features: VK_EXT_depth_clip_control for lavapipe

  • zink: update descriptor refs after starting renderpass

  • zink: fix typo for image descriptor rebinds

  • zink: add layout to sampler descriptor hash

  • zink: skip extra descriptor lookups for images during barrier updates

  • zink: set shader key size to 0 for non-generated tcs

  • zink: fix cached descriptor set invalidation for array bindings

  • zink: free push descriptor pools on deinit

  • zink: don’t free non-fbfetch dsl structs when switching to fbfetch

  • nir/lower_psiz: create the store instruction more accurately

  • nir/lower_psiz_mov: stop clobbering existing exports

  • zink: update psiz handling to fix xfb output

  • glx/drisw: handle GL_RESET_NOTIFICATION_STRATEGY

  • zink: use VK_EXT_depth_clip_control when available

  • zink: restrict clear flushing on sampler/image bind to compute binds

  • zink: directly create surfaces for shader images

  • zink: clamp 3d/array shader images to lower dimensionality using layer counts

  • zink: more accurately clamp 3d fb surfaces to corresponding 2d target

  • zink: add layer asserts for 3d imageview creation

  • zink: remove a bunch of flakes

  • zink: emit Aliased decorations for any image that isn’t explicitly marked restrict

  • zink: switch to u_foreach_bit for ntv image access decorations

  • zink: remove loop from generated tcs

  • zink: update query states before starting renderpass during draw

  • zink: split out query suspending into util function

  • zink: split primitives generated queries if xfb/gs states change

  • zink: ci updates

  • gallivm: fix debug prints for halfs

  • gallivm: avoid division by zero when computing cube face

  • lavapipe: heap-allocate rendering_state struct

  • lavapipe: scan shaders for image/ssbo access and generate per-stage masks

  • lavapipe: accurately set image/ssbo access based on shader usage

  • zink: always update shader variants when rebinding a gfx program

  • zink: add function for refcounting zink_program structs

  • zink: use a fence for pipeline cache update jobs

  • zink: wait on program cache fences before destroying programs

  • zink: fix descriptor cache pointer array allocation

  • zink: mark fbfetch push sets as non-cached

  • zink: stop leaking descriptor sets

  • zink: invalidate non-punted recycled descriptor sets that are not valid

  • zink: hide descriptor debug behind #ifdef

  • Revert “lavapipe: accurately set image/ssbo access based on shader usage”

  • zink: run nir_lower_phis_to_scalar in optimization loop

  • zink: fix 64bit float shader ops

  • zink: ci updates

  • llvmpipe: fix debug print iterating in set_framebuffer_state

  • lavapipe: clamp clear attachments rects

  • llvmpipe: clamp surface clear geometry

  • lavapipe: update multisample state after blend state

  • lavapipe: fix pipeline creation for blend and zs states

  • aux/trace: more screen methods

  • aux/trace: rzalloc the context struct

  • aux/trace: dump clear colors as uints

  • aux/trace: dump clear_texture colors

  • aux/trace: dump more rasterizer state members

  • aux/cso: stop tracing during cso_unbind()

  • ci: add another stoney flake

  • ci: more stoney flakes

  • zink: use 64bit mask for xfb analysis

  • zink: store the correct number of components for xfb packing outputs

  • zink: correctly set xfb packed output offsets

  • zink: fix xfb analysis variable finding for arrays

  • zink: handle remaining xfb corner cases during analysis

  • zink: store shader to ntv_context

  • zink: handle spirv xfb insanity

  • glsl: store OES/EXT point_size extension enablement to shader struct

  • mesa/st: add a gl_program struct flag to skip psiz exports for xfb

  • mesa/st: conditionally add pointsize outputs to ES tess/geom shaders

  • nir/gather_info: check copy_deref instrs for writing outputs

  • mesa/st: only add pointsize output if it doesn’t exceed max component limit

  • mesa: always set PointSizeEnabled for API_OPENGLES2

  • mesa/st: simplify pointsize shader update conditional

  • mesa/st: simplify pointsize precompile conditional

  • mesa/st: precompile with API pointsize only if the shader doesn’t have pointsize

  • mesa/st: count FF shaders as needing psiz export for precompile

  • mesa/st: check max output components for adding pointsize during precompile

  • mesa/st: make export_point_size shader key clobber existing psiz

  • zink: update radv fails

  • zink: add another radv fail

  • zink: lower dmod on AMD hardware

  • lavapipe: add the full list of cts fails

  • lavapipe: use the correct value for dynamic render resolve attachment indexing

  • lavapipe: skip format checks for EXTENDED_USAGE

  • lavapipe: ci updates

  • lavapipe: run nir_opt_copy_prop_vars during optimization loop

  • lavapipe: ci updates

  • llvmpipe: fix occlusion queries with early depth test

  • anv: fix xfb usage with rasterizer discard

  • anv: fix CmdSetColorWriteEnableEXT for maximum rts

  • anv: fix some dynamic rasterization discard cases in pipeline construction

  • lavapipe: make device limits a physical device struct

  • lavapipe: validate per-stage descriptor limits when creating pipeline layouts

  • lavapipe: more descriptor validation

  • zink: remove flake

  • zink: anv ci updates

  • zink: assert that the dynamic state array size is big enough

  • zink: move dynamic state2 pipeline state to substruct in pipeline state

  • zink: use dynamic rasterizer_discard state when possible

  • lavapipe: always clone shader nir for shader states

  • lavapipe: ref/unref pipeline layouts for pipeline creation

  • lavapipe: implement vkGetDevice*MemoryRequirements

  • lavapipe: set maxBufferSize for maintenance4

  • lavapipe: maintenance4

  • gallivm: implement nir_op_pack_32_4x8_split

  • lavapipe: KHR_shader_integer_dot_product

  • zink: add nir_var_function_temp support to ntv

  • zink: add DOUBLE glsl type for streamout export

  • zink: fix unreachable() location in ntv streamout info

  • zink: export indirect io pipe caps

  • lavapipe: strip unneeded scoped barriers

  • llvmpipe: set nir_shader_compiler_options::use_scoped_barrier

  • lavapipe: enable KHR_memory_model support

  • gallium: add flag to draw info to indicate converted draws

  • lavapipe: use VkFormatFeatureFlags2 in format detection

  • lavapipe: KHR_format_feature_flags2

  • llvmpipe: add handling for zeroing cs shared memory

  • lavapipe: KHR_zero_initialize_workgroup_memory

  • lavapipe: EXT_pipeline_creation_feedback

  • lavapipe: EXT_pipeline_creation_cache_control

  • gallivm: fix oob image detection for cube/1dArray/2dArray/cubeArray

  • lavapipe: EXT_image_robustness

  • zink: flag sample locations for re-set on batch flush

  • zink: force-add usage when adding last-ref tracking

  • zink: only update usage on buffer rebind if rebinds occurred

  • zink: set vbo resource usage on bind

  • zink: add some nice docs for batch usage and tracking

  • features: fix some vk extension listings

  • Revert “features: fix some vk extension listings”

  • lavapipe: store number of immutable samplers to pipeline layout

  • lavapipe: break out resolves into separate functions

  • lavapipe: zalloc lvp_image_view structs

  • zink: store vertices statistics query to context

  • zink: handle conversion for vertices statistics query with LINE_LOOP draws

  • nir/lower_is_helper_invocation: create load_helper_invocation instr with bitsize=1

  • lavapipe: run some shader passes for demote handling

  • lavapipe: EXT_shader_demote_to_helper_invocation

  • lavapipe: extend demote->discard pass to handle terminate

  • lavapipe: KHR_shader_terminate_invocation

  • lavapipe: don’t emit compute states during draw

  • lavapipe: zalloc pipeline layout structs

  • lavapipe: add a stream uploader to rendering_state and queue objects

  • lavapipe: save pipeline stages that push constants are active on

  • lavapipe: use stream uploader for push constant upload

  • lavapipe: remove unused struct member

  • lavapipe: implement EXT_inline_uniform_block

  • lavapipe: EXT_inline_uniform_block

  • llvmpipe: fix gl_NumSubgroups

  • llvmpipe: fix subgroup id construction

  • llvmpipe: fix variable naming insanity in cs generator

  • lavapipe: EXT_subgroup_size_control

  • lavapipe: add a GetPhysicalDeviceToolPropertiesEXT stub

  • lavapipe 1.3

  • docs: update lavapipe features and relnotes

  • lavapipe: fix typo in set_event execution

  • lavapipe: add sync2 cmdbuf method implementations

  • lavapipe: add QueueSubmit2 implementation

  • lavapipe: KHR_synchronization2

  • zink: hook up EXT_color_write_enable

  • zink: force disable rasterization discard if primgen query is active

  • zink: start a unified driver workarounds struct

  • zink: disable color_write_enable on ANV

  • zink: use EXT_color_write_enable when possible

  • zink: add an alternate path for EXT_color_write_enable usage

  • zink: use EXT_color_write_enable to mask out primgen+rasterizer_discard output

  • zink: use the right query type for primitives generated

  • zink: ci updates

  • zink: ci updates

  • zink: create compute pipeline after updating shader variants

  • zink: use the current compute shader, not the base one

  • zink: add RADV to list of broken drivers for EXT_color_write_enable

  • draw: fix gs vertex stream counting

  • draw: fix nonzero stream primitives generated queries

  • nir/lower_tex: add txp lowering option for arrays

  • zink: lower txp for cube and ms textures

  • zink: lower txp for array textures

  • zink: update radv ci

  • zink: fix up color_write_enable workaround

  • zink: flush clears before toggling color write

  • zink: update anv icl ci list

  • mesa/st: add special casing for pointsize constant updating during validate

  • zink: update radv fails

  • zink: add anv cts skips from waiver

  • zink: add another radv flake

  • zink: use z24_in_z32f support and radv ci updates

  • radv: fix CmdSetColorWriteEnableEXT(attachmentCount==MAX_RTS)

  • zink: add a couple flakes

  • lavapipe: run optimize loop before krangling pipeline layout

  • zink: run piglit’s gpu profile

  • vulkan: update spec to 1.3.210

  • lavapipe: EXT_primitives_generated_query

  • lavapipe: support KHR_pipeline_library

  • lavapipe: implement EXT_graphics_pipeline_library

  • lavapipe: display EXT_graphics_pipeline_library

  • doc: update extensions for lavapipe

  • zink: fix error logging for 2d z/s checking

  • zink: break out CmdSetColorWriteEnableEXT to util function

  • zink: remove anv workaround for broken color writes

  • zink: update radv baseline

  • zink: more radv fails

  • zink: add in radv passes to baseline

  • intel/isl: fix 2d view of 3d textures

  • crocus: assert that 3d samplerview base_array_layer is zero

  • iris: assert that samplerview base_array_layer is zero for hw < skl

  • vulkan: update more headers to 1.3.210

  • lavapipe: fix shader indexing of sampler arrays with const array index

  • lavapipe: fix xfb availability query copying

  • lavapipe: allow timeline progress in GetSemaphoreCounterValue

  • lavapipe: enforce monotonic timeline incrementing

  • zink: force push descriptors cache update if hashing detects changes

  • llvmpipe: handle sampling from 2d views of 3d images

  • zink: add driver workaround for broken EXT_depth_clip_control

  • mesa/st: rework atom flagging when pointsize changes

  • mesa/st: always flag last vertex stage constants for upload on pointsize change

  • mesa/st: rework pointsize constant uploads

  • mesa/st: don’t add pointsize to ES programs if it already exists

  • zink: update radv ci baseline

  • zink: remove radv cwrite driver workaround

  • lavapipe: add an env var to enable poisoning memory allocations

  • zink: set LVP_POISON_MEMORY for ci

  • lavapipe: set LVP_POISON_MEMORY for ci

  • aux/trace: dump format in set_shader_images

  • vulkan: spec update to 1.3.211

  • vulkan: check 3D image type for VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT

  • lavapipe: expose VK_EXT_image_2d_view_of_3d

  • anv: expose VK_EXT_image_2d_view_of_3d

  • docs: update features for VK_EXT_image_2d_view_of_3d

  • zink: fix barrier generation for ssbo descriptors

  • zink: only uncommit sparse pages that have been committed

  • zink: merge stencil test case for draw-time dynamic state

  • zink: always set stencil dynamic states before draw

  • zink: set Geometry capability for fs if geometry inputs are read

  • zink: handle 1bit xor as OpLogicalNotEqual

  • zink: clamp min viewport width to 1

  • zink: apply fb attachment layout to dummy attachments

  • zink: convert all 64bit vertex attribs to 32bit

  • zink: fix max geometry input component advertising

  • zink: prune shader i/o

  • zink: unset resource layout+access when doing storage setup

  • zink: use EXT_image_2d_view_of_3d

  • zink: refactor zink_descriptor_util_image_layout_eval

  • zink: remove commented code

  • zink: further simplify zs case for zink_descriptor_util_image_layout_eval

  • zink: add a renderpass flag for mixed zs layout

  • zink: add a ctx param to zink_descriptor_util_image_layout_eval

  • zink: delete some code in get_layout_for_binding()

  • zink: use store op NONE when necessary for depth usage

  • zink: update samplerview layouts for zs attachments during renderpass prep

  • zink: use GENERAL layout for mixed zs fb attachments

  • zink: switch warn_missing_feature to mesa_logw

  • zink: add a param to warn_missing_feature() macro

  • zink: fix warning text in missing feature macro

  • zink: rework missing feature warnings

  • zink: run shader optimize loop during initial create

  • zink: prune shader i/o more aggressively

  • zink: use local variable more consistently in producer shader i/o assign

  • zink: use local variable in consumer shader i/o assign to match producer usage

  • zink: simplify shader i/o assignment

  • st/manager: update framebuffer size if texture has been resized

  • zink: move flush queue init down a little further

  • zink: put screen param into flush queue global data

  • zink: move update_framebuffer_state() higher up in file

  • zink: move blit src/dst decls up in function

  • zink: change early returns in zink_blit to gotos

  • zink: use two submits for every queue submit

  • zink: add VK_KHR_swapchain_mutable_format

  • zink: add fail logging for drmPrimeFDToHandle

  • zink: split surface creation more to allow disabling caching

  • zink: move drirc handling up

  • zink: pass index to unbind_fb_surface

  • zink: move variable decl up in unbind_fb_surface

  • zink: check whether clear is enabled before applying in unbind

  • zink: add kopper api

  • zink: it’s kopperin’ time

  • zink: export PIPE_CAP_DEVICE_RESET_STATUS_QUERY

  • driconf: add override for Xwayland

  • zink: handle zombie swapchains

  • zink: ci fixup

  • zink: update ci list

  • radv: improve failure logging for amdgpu on init

  • zink: rename a variable

  • zink: add a gently mangled version of the d3d12 cubemap -> array compiler pass

  • zink: support nir_op_imod

  • zink: specify struct member name when copying inline uniforms for gfx variants

  • zink: handle shader key variants that have nonseamless cubemaps

  • zink: set nonseamless hint for sampler states

  • zink: create an array view for all cube samplerviews

  • zink: handle nonseamless cube sampler binding

  • zink: run the cubemap -> array compiler pass if the shader key is set

  • zink: export PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE

  • zink: ci updates

  • egl: implement more hooks for swrast

  • zink: handle deferred swapchain resource flushing

  • zink: only apply swapchain behavior in flush_resource for swapchain images

  • zink: handle swapchain readbacks when a present is pending

  • kopper: add a dmabuf-free image interface for use with sw drivers

  • zink: set nir_shader_compiler_options::has_txs

  • nir/lower_tex: avoid adding invalid LOD to RECT textures

  • zink: allow lod for RECT sampler types

  • zink: adds refs to user index buffers when tc is not active

  • lavapipe: KHR_swapchain_mutable_format

  • zink: add error logging for SRGB framebuffer without KHR_swapchain_mutable_format

  • zink: ci updates

  • docs: update features for lavapipe

  • mesa: add a bool indicating when pointsize == 1.0

  • nir/lower_point_size_mov: fix check for overwriting existing pointsize

  • mesa/st: declare added pointsize var as hidden

  • mesa/st: always inject a 1.0 pointsize for vertex stages

  • mesa/st: also add pointsize to fixedfunction vertex shaders as needed

  • mesa/st: only use constant upload pointsize variants if pointsize != 1.0

  • mesa/st: only flag pointsize constant uploads if they’re needed

  • mesa/st: don’t precompile the pointsize upload variant anymore

  • mesa/st: simplify st_can_add_pointsize_to_program iterator

  • zink: handle SUBPASS_MS in ntv

  • zink: handle multisampled fbfetch

  • zink: don’t emit SpvCapabilityStorageImageMultisample for fbfetch

  • zink: only trigger deferred present barrier if swapchain has acquired

  • zink: unset deferred present barrier on flush

  • zink: only get swapchain present semaphore on batch flush after acquire

  • zink: only get swapchain present semaphore on batch flush if not presented

  • zink: clamp out partial texels when creating bufferviews

  • zink: bitcast InterpolateAtOffset offset to fvec

  • zink: hook up sync2 extension

  • zink: add handling for !sync2 in renderpass dependencies

  • zink: don’t rely on implicit access for generated barriers

  • zink: don’t generate VK_ACCESS_SHADER_READ_BIT barrier for vertex inputs

  • zink/kopper: don’t use generated include in kopper interface

  • ci: disable v3dv arm64 jobs

  • mesa: set PointSizeIsOne on context creation

  • mesa/st: fix pointsize adding check

  • mesa/st: handle copy_deref cases for adding pointsize

  • nir/lower_point_size_mov: handle case where gl_Position isn’t written

  • mesa/st: handle adding pointsize when gl_Position is never written

  • zink: ci updates

  • zink: clamp cube size queries to 2 return components

  • zink only use zs-specific layout for zs attachments

  • zink: remove compiled conditional for lavapipe usage

  • zink: add a self-dependency for fbfetch renderpasses

  • zink: rework texture_barrier hook

  • zink: force texture barriers when performing in-renderpass clears

  • zink: only do swapchain update during fb setup if swapchain is active

  • zink: update radv ci baseline

  • zink: reorganize radv ci baseline

  • zink: update radv piglit baseline

  • zink: add issue notes for remaining radv fails

  • zink: refactor copy_region path in zink_blit to util function

  • zink: try copy region first for non-resolve blits

  • zink: prune unused st-injected pointsize exports

  • zink: handle 0 ubos and 0 ssbos in pipeline layout

  • zink: create pipeline layout if only bindless descriptor set is used

  • radv: set read/write without format flags for supported texel buffers

  • zink: finish up radv piglit baseline updates

  • features: mark off ARB_seamless_cubemap_per_texture for zink

  • kopper: print better error message if loader not detected

  • egl: don’t make LIBGL_ALWAYS_SOFTWARE and MESA_LOADER_DRIVER_OVERRIDE=zink exclusive

  • zink: ZINK_USE_LAVAPIPE -> LIBGL_ALWAYS_SOFTWARE

  • aux/trace: clean up some zink+lavapipe tracing awfulness

  • zink: rework choose_pdev to (finally) be competent

  • zink: use the calculated last struct member idx for ssbo size in ntv

  • zink: avoid creating ssbo variable types with multiple runtime arrays

  • zink: set optimal tiling on swapchain images

  • nir/lower_tex: fix rect queries with lower_rect set

  • mesa/st: set normalized coords for RECT samplers if rects are unsupported

  • zink: remove tcs patch slot map

  • zink: reject resource creation if format features don’t match attachment

  • zink: use mixed zs renderpass for depth read/write

  • zink: unconditionally set line width on rasterizer state change

  • zink: support restart with PIPE_PRIM_LINES_ADJACENCY if ext is available

  • zink: fix extended restart prim types without dynamic state2

  • zink: make a kopper debug print into an error

  • zink: rework zink_kopper_update() assert

  • zink: set VK_QUERY_RESULT_WAIT_BIT when copying to qbo

  • zink: fix synchronization when drawing from streamout

  • zink: fix xfb counter buffer barriers

  • zink: remove xfb_barrier flag

  • zink: handle device-local unsynchronized maps

  • util/draw: fix map size of indirect buffer in util_draw_indirect_read

  • util/draw: handle draw_count=0 when reading indirect parameters

  • util/draw: fix indirect draw count readback

  • zink: move the kopper present fence to the displaytarget object

  • wgl: support GL 4.6

  • zink: fix tcs control barriers for use without vk memory model

  • zink: fix semantics mask for compute control barriers

  • zink: add synchronization for buffer clears

  • mesa/st: clamp GL_RENDERBUFFER to GL_TEXTURE_2D for sparse queries

  • glsl/nir: set new_style_shadow for sparse tex ops as necessary

  • zink: fix group memory barrier emission

  • vulkan: bump layer api versions to current vk header version

  • kopper: always fetch and store drawable info

  • kopper: move drawable geometry updating up in function

  • kopper: store whether screen has dmabuf support

  • kopper: copy a bunch of code for texture_from_pixmap

  • kopper: add DISPLAY_TARGET bind for depth buffer

  • zink: fix/improve swapchain surface info updating

  • zink: fix up swapchain depth buffer geometry during fb update

  • zink: ci update

  • drisw: remove dead code

  • zink: add a util function for finding swapchain resource

  • zink: flag swapchains when updating fails

  • zink: handle dead swapchains in acquire

  • zink: unset image layout when killing swapchain

  • zink: rework swapchain object check for acquires

  • zink: fix return for zink_kopper_acquire

  • zink: handle swapchain acquire failures more directly

  • zink: flag swapchain resources as swapchains

  • zink/kopper: add a mechanism for checking swapchain status

  • kopper: add some error logging for pixmap->texture failure

  • kopper: check for modifiers to use modifier functionality

  • zink/kopper: add a function for determining if running on software

  • kopper: check whether zink is using sw

  • kopper: rename a confusing variable

  • kopper: implement texture-from-pixmap for software (non-dmabuf)

  • zink: fix dmabuf plane returns

  • zink: export fd info for all 2d images

  • zink: ignore KMS handle types

  • zink: remove drm_fd

  • llvmpipe: disable statistic queries during draw if queries are disabled

  • llvmpipe: disable compute statistics queries if queries are disabled

  • wgl: always set alpha on kopper windows

  • wgl: don’t auto-load zink before software drivers

  • zink: add supported present modes to kopper displaytarget

  • lavapipe: lower quad_broadcast intrinsics

  • kopper: invalidate drawables when resizing textures in place

  • kopper: pass the current context to dri_flush

  • nir/gather_info: flag fbfetch on subpass image loads

  • llvmpipe: never infer early zs tests when fbfetch is active

  • lavapipe: enqueue pipeline destruction

  • zink: fix null buffer/surface formats

  • zink: add more image usage for null surfaces

  • zink: use descriptor surfaces for notemplates ref updating

  • kopper: remove unused zink include

  • zink: remove unused headers/struct members/linkage

  • zink: outdent some code

  • zink: add a flag to indicate whether a resource is exportable

  • zink: break out resource bind-adding into separate function for reuse

  • zink: introduce copy contexts

  • zink: create a copy context for the screen on init

  • Revert “zink: export fd info for all 2d images”

  • zink: always check for fb rebinds when starting renderpass

  • zink: unset pipe_resource::next pointers when creating resource copies

  • zink: add a bind flag to indicate a resource is exported as a dmabuf

  • zink: fix conditional for modifier usage

  • zink: force memory exports if dmabuf bind is specified

  • zink: add a LINEAR drm modifier if rebinding to add dmabuf export

  • zink: rebind resources for export as needed

  • zink: create images with modifiers any time there is an import handle

  • zink: pass sparse backing page offset to binding function

  • zink: pass sparse bind bo offset through for texture binds

  • zink: set all usage flags when querying sparse features

  • zink: fix multisample conditional in sparse image query

  • zink: bump number of image binds that can be batched to 50

  • zink: semi-handle 1D sparse texture rewrites for drivers that don’t support them

  • zink: ci regressions

  • util/blitter: fix sampler restore with 0 saved samplers

  • gallivm: fix ssbo oob reads

  • lavapipe: fix CmdPushDescriptorSetWithTemplateKHR with refcounting

  • st/draw_feedback: set constant buffer stride

  • gallivm/draw: fix oob ubo reads

  • llvmpipe: always set ssbo data pointers for draw

  • gallivm: fix oob txf swizzling

  • zink: fix up sparse texture sampling for shadow samplers

  • zink: clamp out min_lod operands for explicit lod ops

  • zink: fix sparse binding for arrayed textures

  • zink: set sparse flag in cubemap lowering

  • zink: fix sparse texture depth calcs for arrayed textures

  • zink: remove implicit query resets

  • zink: remove refs from shader images

  • zink: reuse local res pointer in set_shader_images

  • zink: simplify dumb update flagging in set_shader_images

  • zink: read shader image r/w usage from incoming data struct

  • zink: copy incoming shader image struct after doing updates

  • zink: stop leaking shader image surfaces

  • zink: fix 3d shader image miplevel calc for depth

  • zink: directly reuse surface ivci when rebinding

  • lavapipe: ignore depth/stencil states if attachment is not present

  • lavapipe: fix pipeline handling for dynamic render zs state with pipeline library

  • spirv: fix barrier scope assert

  • zink: never create a sw context unless sw is requested

  • zink: only reject non-blittable resource creation if it has no other binds

  • zink: add separate error message for push descriptor set alloc fail

  • zink: add extra validation for resource creation

  • zink: remove input attachment usage when pruning surface usage

  • zink: add extended usage and retry if resource creation fails

  • zink: fix surface/bufferview cache comparisons

  • zink: force render target usage for sampler-only resources

  • zink: clamp 1D_ARRAY sparse textures to 2D as needed

  • zink: handle PIPE_BUFFER sparse texture queries

  • zink: fix non-dynamic vertex stride update flagging

Mykhailo Skorokhodov (1):

  • intel/fs: Enable b2f(inot(a)) and b2i(inot(a)) optimization for Gfx12+

Nanley Chery (24):

  • iris: Don’t fast clear with the view format

  • iris: Drop format param from fast_clear_color

  • iris: Drop res param from surf_state_offset_for_aux

  • iris: Add and use iris_surface_state::aux_usages

  • iris: Add and use use_surface_state

  • iris: Add and use fill_surface_states

  • iris: Inline some surface_state.cpu references

  • iris: Avoid making some invalid CCS surface states

  • intel/isl: Add format assertions for surfaces using CCS

  • iris: Use iris_sample_with_depth_aux more often

  • iris: Compute aux.possible_usages from aux.usage

  • iris: Drop the iris_resource aux usage bit fields

  • anv: Don’t disable HiZ/MCS in anv_BindImageMemory2

  • anv: Fall back to HiZ when disabling CCS on HiZ+CCS

  • anv: Add a perf warning in anv_BindImageMemory2

  • Revert “anv: Require the local heap for CCS on XeHP”

  • anv: Change a parameter of the implicit layout fn

  • anv: Refactor anv_image_init_from_create_info

  • anv: Disable aux if the explicit modifier lacks it

  • Revert “anv: Disable CCS_E for some 8/16bpp copies on TGL+”

  • ci/anv: Changes from enabling 8/16bpp CCS more

  • iris: Return a 64B stride for clear color plane

  • intel/isl: Add a score for I915_FORMAT_MOD_4_TILED

  • isl,iris: Add DG2 CCS modifier support for XeHP

Neha Bhende (1):

  • svga: store shared_mem_size in svga_compute_shader instead of svga_context

Oleksandr Gabrylchuk (1):

  • venus: Implement guest vram blob type.

Omar Akkila (7):

  • venus: Implement VK_EXT_extended_dynamic_state commands

  • venus: Advertise VK_EXT_extended_dynamic_state support

  • lavapipe: Lift fence check into dedicated function

  • ci: uprev Fossilize

  • ci: uprev vkd3d-proton to v2.6

  • ci: cherry-pick deqp fix for zlib dependency

  • ci: bump VK-GL-CTS to 1.3.1.1

Otavio Pontes (1):

  • nir: Use proper macro to set bits of variable correctly

Paulo Zanoni (5):

  • iris: handle IRIS_MEMZONE_BINDER with a real vma_heap like the others

  • iris: have a single border color pool per bufmgr

  • iris: use the same VM for every context

  • iris: fix register spilling on compute shaders on XeHP

  • iris: fix race condition during busy tracking

Pavel Ondračka (23):

  • r300: fix deadcode elimination in loops with breaks

  • r300: fix transformation of abs modifiers with negate

  • r300: use nir lowering for sin and cos on R300 and R400

  • r300: transform vs sin and cos input to [-PI,PI] range in NIR

  • r300: transform fs sin and cos input to [0,1) range in NIR

  • r300: only print shader statistics when compilation succeeds

  • r300: use %u specifiers when printing unsigned stats values

  • r300: report number of loops in shader statistics

  • r300: add predicate instructions to statistics of vertex shaders

  • r300: remove some dead logic in tex pair scheduling

  • r300: schedule TEX instructions before OUT instructions

  • r300: set PVS_LAST_VTX_SRC_INST properly to last input read

  • r300: respect output_semantic_index when writing colors

  • r300: don’t move position output to the end when duplicating it for WPOS

  • r300: optimize single write scenarios in rc_copy_output

  • r300: restructure r300_vertex_shader

  • r300: move r300_init_vs_outputs to r300_translate_vertex_shader

  • r300: only output wpos in vertex shaders when needed

  • r300: set PVS_XYZW_VALID_INST properly to last position write

  • r300: don’t assume position is always OUT[0] in rc_copy_output

  • r300: move pointer dereference after a NULL check

  • nine: check hardware support before using vertex texture

  • r300: set PIPE_BIND_CONSTANT_BUFFER for const_uploader

Pierre-Eric Pelloux-Prayer (39):

  • radeonsi: limit loop unrolling for LLVM < 13

  • gallium/dri: add missing PIPE_BIND_DRI_PRIME handling

  • gallium: rename PIPE_BIND_DRI_PRIME

  • radeonsi: create prime buffers as uncached

  • radeonsi/blit: relax conditions to use sdma copy for prime buffers

  • radeonsi: add SI_PROFILE_CLAMP_DIV_BY_ZERO

  • radeonsi: use SI_PROFILE_CLAMP_DIV_BY_ZERO for viewperf

  • radeonsi/drirc: use force_gl_vendor for Maya

  • radeonsi: change rounding mode to round to even

  • radeonsi/tests: always add the –gpu argument

  • radeonsi: use 1 shader compilation thread if NIR_PRINT is used

  • gallium/u_threaded: late alloc cpu_storage

  • radeonsi: enable tc cpu_storage by default

  • gallium/tc: warn if an app is incompatible with cpu_storage

  • util/slab: add slab_zalloc

  • gallium/tc: zero alloc transfers

  • radeonsi: don’t clear framebuffer.state before dcc decomp

  • radeonsi: replace opencoded slab_zalloc

  • r600: replace opencoded slab_zalloc

  • zink: replace opencoded slab_zalloc

  • virgl: replace opencoded slab_zalloc

  • vc4: replace opencoded slab_zalloc

  • v3d: replace opencoded slab_zalloc

  • iris: replace opencoded slab_zalloc

  • lima: replace opencoded slab_zalloc

  • freedreno: replace opencoded slab_zalloc

  • etnaviv: replace opencoded slab_zalloc

  • d3d12: replace opencoded slab_zalloc

  • crocus: replace opencoded slab_zalloc

  • glsl/nir/linker: update shader_storage_blocks_write_access for SPIR-V

  • glsl/nir/linker: fix shader_storage_blocks_write_access

  • drirc: enable radeonsi_zerovram for Black Geyser

  • docs: document useful radeonsi env variables

  • radeonsi: drop LLVM global instruction selector

  • ac: remove LLVM 4.0 workaround

  • ac/surface: adjust gfx9.pitch[*] based on surf->blk_w

  • radeonsi: don’t use wave32 for GE on gfx10 if culling is used

  • amd: fix ac_build_mbcnt_add in wave32 mode

  • glx: set max values for pbuffer width / height

Qiang Yu (10):

  • radeonsi: workaround Specviewperf13 Catia hang on GFX9

  • radeonsi: fix depth stencil multi sample texture blit

  • glx: fix pbuffer refcount init

  • glx: merge drawable release to the same function

  • glx: keep native window glx drawable by driconf option

  • driconf: add Abaqus configs

  • util/util_vertex_state_cache: remove error check when deinit

  • nir/linker: disable varying from uniform lowering by default

  • lima: enable nir lower_varying_from_uniform

  • nir/linker: set varying from uniform as flat

Rajnesh Kanwal (6):

  • pvr: Implement vkCreateSampler and vkDestroySampler APIs.

  • pvr: Use vk_common_GetDeviceQueue API.

  • pvr: Check if the buffer/image was bound before unbinding.

  • amd: Use common u_format.h implementation for vk_format_get_component_bits.

  • vulkan: Move common format function to vulkan/util/vk_format.h

  • pvr: Remove logic to set vk_device::alloc.

Renato Pereyra (2):

  • venus: Increase the base sleep of vn_relax

  • Revert “venus: Increase the base sleep of vn_relax”

Rhys Perry (74):

  • aco/tests: add a bunch more building helpers

  • aco/tests: implement sub-dword program inputs

  • aco: don’t combine fneg/fabs of different bit-size

  • aco: don’t apply omod/clamp of different bit-size

  • aco: don’t combine add/mul of different bit-size

  • aco: fix neg(mul)/abs(mul) optimization with different bit-size

  • aco: add test for optimizations with casts

  • aco: don’t encode src2 for v_writelane_b32_e64

  • radv: fix R_02881C_PA_CL_VS_OUT_CNTL with mixed cull/clip distances

  • nir/validate: don’t validate the GC list by default

  • nir/validate: don’t add instrs not present in shader to shader_gc_list

  • anv: Enable nir_opt_access

  • ac/nir: remove TCS nir_var_shader_out memory barrier

  • radv: include disable_aniso_single_level and adjust_frag_coord_z in key

  • aco: remove vcc hint from branch definitions

  • aco/ra: add get_reg_phi() helper

  • aco/ra: fix register allocation of branch definitions

  • aco: add validate_instr_defs()

  • aco: fix branch definition validation

  • aco/tests: add test for branch definition RA

  • aco: rework removal of jumps over branches

  • aco/insert_exec_mask: fix top-level to-exact with non-global exact mask

  • aco/insert_exec_mask: use get_exec_op

  • aco/insert_exec_mask: optimize top-level transition to exact before demote

  • aco: split and recombine unaligned sgpr inputs

  • radv,aco,ac/llvm: fix indirect dispatches on the compute queue on GFX7-10

  • aco: fix fp16 opcode definitions

  • aco: improve support for v_fma_mix

  • aco: refactor selection of mad/fma

  • aco: use v_fma_mix to combine mul/add/fma input conversions

  • aco: combine add/mul as v_fma_mix into fma

  • aco: apply clamp to v_fma_mix

  • aco: use v_fma_mix to combine mul/add/fma output conversions

  • aco/tests: add v_fma_mix tests

  • nir: add load_{scalar,vector}_arg_amd and load_smem_amd intrinsics

  • aco: implement load_{scalar,vector}_arg_amd and load_smem_amd

  • ac/llvm: implement implement load_{scalar,vector}_arg_amd and load_smem_amd

  • radv: move radv_declare_shader_args() out of shader_variant_compile()

  • nir: allow bindless image/texture/sampler handles to be vectors

  • ac/llvm: remove deref requirement for image fmask loads

  • ac/llvm: implement nir_intrinsic_bindless_image_sparse_load

  • ac/llvm: remove deref chasing for tg4 integer workaround

  • ac/llvm: implement nir_tex_src_{texture,sampler}_handle

  • radv,aco: lower vulkan_resource_index in NIR

  • radv,aco: lower buffer descriptor loads in NIR

  • radv,aco: lower texture descriptor loads in NIR

  • radv,aco: lower image descriptor loads in NIR

  • aco: fix RA validation of 16-bit fma_mix operands

  • aco: don’t use v_mad_mix on GFX9 if 16-bit denormals must be preserved

  • radv: allow inline push constants in more situations

  • radv: allow holes in inline push constants

  • radv,aco: implement 64-bit inline push constants

  • radv: increase inline push constant limit if we can inline all constants

  • radv: don’t require robust vectorization for nir_var_mem_global

  • aco: use vcc for 64-bit vgpr addition

  • aco: use saddr for global access with sgpr address

  • aco: don’t expand smem/mubuf global loads

  • nir: add _amd global access intrinsics

  • ac/llvm: implement _amd global access intrinsics

  • aco: implement _amd global access intrinsics

  • aco: increase global_load_params.max_const_offset_plus_one

  • radv,ac/nir: lower global access to _amd global access intrinsics

  • aco: remove old global access intrinsics

  • nir: add load_shared2_amd and store_shared2_amd

  • nir/opt_load_store_vectorize: fix broken indentation

  • nir/opt_load_store_vectorize: create load_shared2_amd/store_shared2_amd

  • aco: fix signedness of DS_instruction::offset0/1

  • aco: handle read2st64/write2st64 in optimizer

  • aco: implement load_shared2_amd/store_shared2_amd

  • ac/llvm: implement load_shared2_amd/store_shared2_amd

  • radv: use load_shared2_amd/store_shared2_amd

  • ac/nir: properly handle large global access constant offsets

  • radv: fix clearing of TRUNC_COORD with tg4 and immutable samplers

  • aco/ra: fix vgpr_limit

Rob Clark (28):

  • freedreno/registers: Add a couple regs we need for kernel

  • gallium/dri: Extend image extension to support in-fence

  • android: Push in-fence-fd down to driver

  • egl+libsync: Add helper to complain about invalid fence fd’s

  • freedreno: Update uapi header

  • freedreno/drm: Add SYSPROF param

  • freedreno/perfetto+fdperf: Set SYSPROF param

  • gallium/dri: Add missing in_fence_fd initialization

  • turnip: Don’t call getenv() directly

  • mesa: Fix discard_framebuffer for fbo vs winsys

  • mesa: Easier shader capture for android

  • freedreno/ir3: Remove unused define

  • freedreno/ir3: Don’t try re-swapping cat3 srcs

  • freedreno/drm: Split msm backend into subdir

  • freedreno/drm: Add fd_device_open() helper

  • freedreno/drm: Rework bo creation path

  • freedreno/drm: Add FD_BO_NOMAP hint

  • freedreno/drm: Add FD_BO_SHARED hint

  • freedreno/drm: Add fd_bo_upload()

  • freedreno/drm: Avoid CPU_PREP ioctl if bo is idle

  • freedreno/drm: Move submit_queue to base

  • freedreno/drm: Move bo idx to base

  • freedreno/drm: Move ring_pool slab parent to base

  • freedreno/drm: Extract out “softpin” submit/ringbuffer base class

  • freedreno/drm: Reorder device destroy

  • freedreno/drm: Add virtio backend

  • pipe-loader: Try loading freedreno for virtgpu device

  • freedreno/ci: Update a306 expectations

Rohan Garg (4):

  • anv: Refactor descriptor copy

  • anv: Handle VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE for descriptor sets

  • anv: Drop dead code in anv_UpdateDescriptorSets

  • iris: set a default EDSC flag

Roman Stratiienko (2):

  • panfrost: Don’t crash on panfrost_bo_create() with size==0 invocation

  • android: Set max platform-sdk-version to 10000

Sagar Ghuge (2):

  • intel/fs: Add Wa_22013689345

  • intel/fs: Add Wa_14014435656

Samuel Pitoiset (141):

  • radv: stop setting streamout state when a new pipeline is bound

  • radv: add reference counting for descriptor set layouts

  • Revert “radv: re-apply “Do not access set layout during vkCmdBindDescriptorSets.””

  • radv: allow RADV_FORCE_VRS with pipeline VRS declared as dynamic

  • radv: rewrite RADV_FORCE_VRS directly in NIR

  • radv: do not force per-vertex VRS if there is no pixel shader

  • radv: only emit the per-vertex VRS state if the pipeline forced it

  • radv/ci: update CI lists for CTS 1.3.1.0

  • radv/winsys: fix initializing debug/perftest options if multiple instances

  • radv: fix allocating/uploading the trap handler shader

  • radv: make the trap handler shader BO resident

  • radv: fix finding shaders by PC

  • radv: remove useless NULL checks in vkBind{Buffer,Image}Memory2()

  • radv: remove set but unused radv_buffer::shareable

  • nir: add nir_intrinsic_load_vrs_rates_amd

  • radv: declare a new shader argument for loading the VRS rates

  • ac/llvm: implement nir_intrinsic_load_vrs_rates_amd

  • aco: implement nir_intrinsic_load_vrs_rates_amd

  • radv: rework RADV_FORCE_VRS to make it more dynamic

  • radv: only re-emit the per-vertex VRS rates if necessary

  • radv: rename RADV_FORCE_VRS_NONE to RADV_FORCE_VRS_1x1 and accept 1x1

  • radv: add RADV_FORCE_VRS_CONFIG_FILE to configure per-vertex VRS

  • radv: allow applications to dynamically change RADV_FORCE_VRS

  • radv: allow to force per-vertex VRS if the config file is present

  • radv: enable radv_disable_aniso_single_level for The Evil Within 1&2

  • radv: allow to force per-vertex VRS in the tessellation stage

  • radv: do not enable per-vertex VRS if the FS uses gl_FragCoord

  • ci: upgrade to libdrm 2.4.110

  • meson: bump libdrm_amdgpu version to 2.4.110

  • include/drm-uapi: update amdgpu_drm.h for new CTX OP to set/get stable pstates

  • ac: add ac_gpu_info::has_stable_pstate

  • radv/winsys: add support for new CTX OP to set/get stable pstates

  • radv: set profile_peak when capturing with SQTT

  • radv,aco,llvm: lower adjusting vertex alpha in NIR

  • radv: fix build on BSD

  • radv: initialize more depth/stencil states earlier

  • radv: initialize VGT_GS_OUT_PRIM_TYPE earlier

  • radv: remove useless radv_blend_state::single_cb_enable field

  • radv: initialize extra state for internal pipelines at one place

  • radv,drirc: move RADV workarounds to 00-radv-defaults.conf

  • radv: remove color exports in presence of holes

  • radv: disable DCC for Fable Anniversary, Dragons Dogma, GTA IV and more

  • radv,aco: do not lower nir_op_pack_{unorm,snorm}_2x16

  • nir: introduce nir_pack_{sint,uint}_2x16 instructions

  • aco: implement nir_op_pack_{uint,sint}_2x16

  • ac/nir: implement nir_op_pack_{uint,sint}_2x16

  • radv/ci: skip dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask

  • radv/ci: update list of expected failures

  • radv/ci: remove unused files

  • radv,aco,llvm: lower post shuffle vertex in NIR

  • aco: always emit vk_cvt_pkrtz_f16_f32 for nir_op_pack_half_2x16_split

  • radv: optimize the number of loaded components for VS inputs in NIR

  • radv: fix the CS regalloc hang workaround on GFX6 and few GFX7 chips

  • radv: rework the CS regalloc hang workaround

  • amd: add PKT3_LOAD_SH_REG_INDEX

  • radv: fix indirect dispatches on the compute queue on GFX10.3+

  • radv: stop waiting for DMA to be idle for all transfer operations

  • radv: update inputs_read when lowering the view index

  • radv: fix compatibility with VK_IMAGE_CREATE_EXTENDED_USAGE_BIT

  • radv: remove useless check in radv_cmd_buffer_upload_data()

  • radv: remove unnecessary NULL check in TrimCommandPool()

  • radv: remove unnecessary check in FreeCommandBuffers()

  • radv: move waiting for events to CmdWaitEvents2KHR()

  • radv: stop zeroing radv_sample_locations_state in barriers

  • radv: export the pipeline hash via VK_KHR_pipeline_executable_properties

  • radv: remove VK_AMD_shader_info support

  • radv: fix returning empty drmFormatModifierTilingFeatures

  • radv/winsys: remove old comment about zerovram

  • radv: only clear VRAM for app and descriptor BOs when set via drirc

  • radv: fix missing destruction of the inotify thread

  • radv: do not compute the cache UUID for LLVM if it’s not used

  • radv: enable radv_disable_aniso_single_level for DXVK/vkd3d

  • radv,aco: lower color exports in NIR

  • radv: lower load_sample_mask_in in NIR

  • radv: lower adjusting gl_FragCoord.z for VRS in NIR

  • radv: implement VK_EXT_depth_clip_control

  • radv: advertise VK_EXT_depth_clip_control

  • radv: remove now unused radv_nir_compiler_options::layout

  • radv: fix mismatch between radv_GetPhysicalDeviceMemoryProperties*()

  • radv: drop EXT or KHR suffixes for stuff promoted in Vulkan 1.3

  • radv: lower has_multiview_view_index in NIR

  • radv: save/restore the stencil write mask during internal driver operations

  • radv: suspend/resume queries during internal driver operations

  • radv: rework the workaround that disables DCC for incompatible copies

  • radv: convert the meta depth decompression path to dynamic rendering

  • radv: convert the meta fast clear flush path to dynamic rendering

  • radv: convert the meta blit 2d path to dynamic rendering

  • radv: convert the meta resolve color FS path to dynamic rendering

  • radv: convert the meta resolve depth/stencil FS path to dynamic rendering

  • radv: convert the meta resolve HW path to dynamic rendering

  • radv: convert the meta blit path to dynamic rendering

  • radv: convert the meta clear path to dynamic rendering

  • radv: remove now unused radv_cmd_buffer_{begin,end}_render_pass()

  • radv: use the common vk_framebuffer

  • radv: enable VK_EXT_separate_stencil_usage

  • radv: fix cleaning the image view for CmdCopyImageToBuffer()

  • radv: save/restore the stencil reference during internal driver operations

  • radv/ci: update CI lists against CTS 1.3.1.1

  • radv: save/restore more dynamic states during internal driver operations

  • radv: use radv_dynamic_state for saving/restoring meta operations

  • radv: only declare dynamic states that are used by internal operations

  • radv: enable VK_KHR_pipeline_library

  • radv: fix dynamic raster discard with VK_EXT_depth_clip_control

  • radv: add a new helper to determine if rasterization is enabled

  • radv: mark all states declared dynamic at pipeline creation

  • radv: do not check if VkPipelineRenderingCreateInfo is NULL

  • radv: use radv_pipeline_has_ds_attachments() more

  • radv: remove unused parameters in radv_get_{wave,ballot_bit}_size()

  • radv: add radv_generate_pipeline_key() for common graphics/compute keys

  • radv: add a new helper to initialize various type of pipelines

  • radv: add radv_is_vrs_enabled()

  • radv: assert that the arg is declared when used in get_scalar_arg()

  • radv: lower ycbcr textures just before applying the pipeline layout

  • radv: remove more references to the pipeline layout during compilation

  • radv: copy the spirv module for debugging after compilation

  • radv: drop the module reference in radv_can_dump_shader()

  • radv: drop the module reference in radv_can_dump_shader_stats()

  • radv: drop the module reference for enable_mrt_output_nan_fixup

  • radv: stop passing the module to the compiler debug callback

  • radv: stop relying on shader modules after SPIRV->NIR

  • radv: re-order shader stages directly in radv_create_shaders()

  • radv: rework pipeline and shaders creation feedback

  • radv: add missing multi inclusion define to radv_shader_args.h

  • radv: introduce new radv_pipeline_stage structure

  • radv: replace convert_rt_stage() by vk_to_mesa_shader_stage()

  • radv: store the shader sha1 to radv_pipeline_stage

  • radv: drop the remaining uses of shader modules

  • radv: remove unused radv_pipeline_layout::size field

  • radv: add few helpers to deal with pipeline layout

  • Revert “radv: Disable NGG for GS with suboptimal output vertex count.”

  • radv: fix initializing pipeline_key::topology for GFX9 and older

  • radv: only apply enable_mrt_output_nan_fixup for 32-bit float MRTs

  • aco: fix load_barycentric_at_{sample,offset} on GFX6-7

  • nir: fix marking XFB varyings as always active IO

  • nir: mark XFB varyings as unmoveable to prevent them to be remapped

  • radv: fix handling divisor == 0 with dynamic vertex input state

  • radv: allow to disable sinking of load inputs for FS via drirc

  • radv: enable radv_disable_sinking_load_input_fs for Grid Autosport

  • radv: re-emit dynamic line stipple state if the primitive topology changed

  • radv: disable instance packing to fix pipeline query stats

  • radv: disable DCC for Senra Kagura Shinovi Versus

Shirish S (1):

  • radeonsi: allocate protected buffer only if required

Shmerl (1):

  • docs/features: Mark VK_KHR_ray_query in progress

Sidney Just (6):

  • wgl: add a flag to determine if running on zink

  • wgl: add zink to the list of auto-loaded drivers

  • zink: support VK_KHR_win32_surface

  • kopper: add win32 loader interface

  • zink: support win32 wsi

  • wgl: support kopper

Simon Ser (4):

  • vulkan/wsi/wayland: switch from alpha/opaque bools to bitfield

  • vulkan/wsi/wayland: introduce wsi_wl_display_add_vk_format_modifier

  • vulkan/wsi/wayland: de-duplicate wsi_wl_display_add_wl_shm_format

  • vulkan/wsi/wayland: ensure added formats have flags

Stefan Dirsch (1):

  • meson: restore private requires to libdrm in dri.pc file

Sviatoslav Peleshko (2):

  • mesa: flush bitmap caches when changing scissors or window rects state

  • anv: workaround apps that assume full subgroups without specifying it

Tales Lelo da Aparecida (1):

  • zink: validate and log errors on vulkan calls

Tapani Pälli (9):

  • intel/genxml: add PIPE_CONTROL field for L3 read only cache invalidation

  • anv: invalidate L3 read only cache when VF cache is invalidated

  • iris: invalidate L3 read only cache when VF cache is invalidated

  • iris: fix a leak on surface states

  • mesa/st: always use DXT5 when transcoding ASTC format

  • iris: setup internal_format for memory object resources

  • mesa: check for valid internalformat with glTex[Sub]Image

  • ci: update various ci result files

  • isl: disable mcs (and mcs+ccs) for color msaa on DG2

Thierry Reding (2):

  • tegra: Use private reference count for sampler views

  • tegra: Use private reference count for resources

Thomas Debesse (1):

  • gallium/clover: pass -no-opaque-pointers to Clang

Thomas H.P. Andersen (1):

  • pvr: fix overlapping comparison

Thong Thai (7):

  • radeonsi: add check for graphics to si_try_normal_clear

  • gallium: add parameters for encoder format conversion (EFC) support

  • frontends/va: add encoder format conversion (EFC) support

  • frontends/va: zero-copy efc

  • radeon: add EFC support to only VCN2.0 devices

  • radeonsi: add option to disable EFC

  • frontends/va: fix decode issues introduced by efc change

Timothy Arceri (5):

  • glsl/nir: free GLSL IR right after we convert to NIR

  • glsl: fix needs_lowering() call in varying packing pass

  • glsl/st: use nir pass to lower indirect rather than GLSL IR

  • nir: fix setting varying from uniform as flat

  • nir: fix sorting before assigning varying driver locations

Timur Kristóf (38):

  • compiler: Extract num_mesh_vertices_per_primitive function.

  • spirv: Create PRIMITIVE_INDICES for NV_mesh_shader on-demand.

  • radv: Disable IB2 on compute queues.

  • radv: Don’t disturb dynamic primitive topology with mesh shading.

  • ac/nir/ngg: Fix mixed up primitive ID after culling.

  • radv: Better exclude special MS outputs from driver location assignment.

  • aco: Allow 1-byte loads and stores with load/store_buffer_amd

  • aco: Fix workgroup_id.y and .z for NV_mesh_shader.

  • aco: Fix multiview view index for mesh shaders.

  • ac/nir: Move LDS area for primitive count to the beginning.

  • ac/nir: Properly handle when mesh API workgroup size is smaller than HW.

  • ac/nir: Sanitize mesh shader primitive indices using umin.

  • ac/nir: Make sure to exclude special outputs from arrayed output masks.

  • ac/nir: Refactor mesh shader output code to smaller functions.

  • radv: Refactor mesh shader draws and add num_workgroups.

  • nir: Add new variable mode for task/mesh payload.

  • spirv: Use task_payload mode for generic task outputs and mesh inputs.

  • aco: Add storage class for Task Shader payload.

  • aco: Support task_payload with barriers, refactor allowed storage class.

  • aco: Support memory modes properly with load/store_buffer_amd.

  • ac/nir: Use vertex count minus 1 to determine max index in mesh shaders.

  • ac/nir: Reuse existing nir_builder for emit_ms_finale.

  • ac/nir: Store mesh shader API and HW workgroup size in lowering state.

  • ac/nir: Fix workgroup ID in mesh shader waves other than the first.

  • ac/nir: Properly invalidate mesh shader metadata.

  • aco: Remove superfluous code for mesh shader workgroup ID.

  • ac/nir: Extract final mesh shader output counts to a separate function.

  • nir: Fix handling of NV_mesh_shader PRIMITIVE_INDICES output.

  • nir: Fix lowering terminology of compute system values: “from”->”to”.

  • nir: Extract lower_id_to_index into a separate function.

  • nir: Introduce workgroup_index and ability to lower workgroup_id to it.

  • ac: Query the amdgpu MEC firmware version.

  • radv: Use correct buffer offset for conditional rendering.

  • radv: Disable NGG for GS with suboptimal output vertex count.

  • aco: Fix VOP2 instruction format in visit_tex.

  • nir: Handle out of bounds access in nir_vectorize_tess_levels.

  • radv: Fix gs_vgpr_comp_cnt for NGG VS without passthrough mode.

  • radv: Only use TES vertex offset 2 for triangles and quads.

Tomeu Vizoso (21):

  • iris/ci: Enable Whiskey Lake boards by default

  • ci: Allow disabling the whole of the Collabora farm

  • ci: Disable jobs to the Collabora lab

  • Revert “ci: Disable jobs to the Collabora lab”

  • ci/freedreno: Disable a618 jobs

  • ci/freedreno: Update checksum for GolfWithYourFriends trace

  • ci/iris: Increase console timeout for perf jobs

  • ci/freedreno: Increase console timeout for perf jobs

  • ci/panfrost: Disable some jobs due to a lab failure

  • Revert “ci/panfrost: Disable some jobs due to a lab failure”

  • ci/freedreno: Reduce concurrency when replaying traces on a630

  • Revert “ci/freedreno: Disable a618 jobs”

  • ci: Disable Link Power Management with RTL8153

  • ci: Disable Google’s lab

  • ci: Use CI_PROJECT_NAME instead of hardcoding ‘mesa’

  • ci: Allow specifying a different kernel in LAVA jobs

  • ci: Add env var to add packages to install in rootfs

  • ci: Add env var to add packages to install in debian/arm_build image

  • ci: Allow local installations to build additional stuff into the rootfs

  • ci: Move most stuff out of root .gitlab-ci.yml

  • ci: Disable jobs to the Collabora lab

Vadym Shovkoplias (4):

  • iris: Do not apply SCANOUT allocation flags for SHARED-only requests

  • anv: implement EXT_depth_clip_control

  • anv: fix EXT_depth_clip_control

  • anv: Fix geometry flickering issue when compute and 3D passes are combined

Victor Hermann Chiletto (1):

  • radv: always check entry count in descriptor pool when allocating

Vinod Koul (1):

  • freedreno/registers: update dsi registers to support dsc

Vinson Lee (1):

  • pvr: Remove duplicate variable queue_create.

Vitalii.Lomaka (1):

  • intel/batch-decoder: Fix uninitialized scalar variables

Xaver Hugl (1):

  • gbm: improve documentation about the lifetime of resources

Xiaohui Gu (1):

  • iris: Mark a dirty update when vs_needs_sgvs_element value changed

Yevhenii Kolesnikov (1):

  • nir: Remove single-source phis before opt_if_loop_last_continue

Yiwei Zhang (23):

  • venus: init renderer_info at renderer creation (part 1)

  • venus: init renderer_info at renderer creation (part 2)

  • venus: no roundtrip needed for shmem backed by BLOB_MEM_HOST3D

  • turnip: advertise VK_EXT_queue_family_foreign

  • venus: properly destroy deferred ahb image before real image creation

  • venus: deep copy format list info for deferred image creation

  • venus: clean up android wsi and ahb image builder

  • venus: pass necessary format list at ahb image format query

  • venus: add necessary format list for ahb image creation

  • venus: clean up physical device features and properties

  • venus: group extensions promoted to 1.3

  • venus: update to latest venus protocol

  • venus: add VK_EXT_line_rasterization support

  • venus: add VK_EXT_provoking_vertex support

  • venus: add VK_EXT_image_robustness support

  • venus: update protocol to remove redundant decoders

  • venus: let vn_android use vn_BindImageMemory2 and directly use reqs

  • virgl: fake modifier plane count query support

  • venus: workaround an ANGLE assumption on FORMAT_IMPLEMENTATION_DEFINED

  • venus: store extension mask in renderer info

  • venus: add cs helper stubs to be used by protocol

  • venus: update protocol for mask helper and ignore renderer unknown pNext

  • venus: prepare and feed renderer protocol info into cs

Yogesh Mohan Marimuthu (4):

  • radeonsi: move clamp, alpha test from si_export_mrt_color() to new function

  • radeonsi: prepare clamp, alpha test before mrtz prepare

  • vulkan/device_select: for vulkan 1.0 use vid/did for boot_vga

  • vulkan/device_select: add has_vulkan11 flag with has_pci_bus flag

Yonggang Luo (20):

  • glx/egl: improve dri null screen related error messages.

  • util: trim trailing space for files src/util/**/*

  • llvmpipe: Revise u_sse.h to remove unused _mm_shuffle_epi8 inline function

  • gallium: Remove unused macro PIPE_ARCH_SSSE3

  • util: Fixes unused parameter warnings

  • c11: Fixes unused parameter warnings

  • meson: Add predefined macro -D__MSVCRT_VERSION__=0x0700 only in mingw environment without _UCRT

  • vtn: Fixes compiling error for mingw/ucrt by using setjmp/longjmp function instead compiler builtin

  • nir: Move the define of snprintf to header nir.h

  • util: Should not use ASSERTED in util_thread_get_time_nano

  • vulkan/microsoft: Remove `override_options: [‘cpp_std=c++latest’]` option for visual studio

  • ci: Improve vs2019 mesa_build.ps1 for remove the need of cmd.exe

  • util: Rename pipe_debug_message to util_debug_message

  • util: Rename pipe_debug_callback to util_debug_callback

  • pipe: place `struct util_debug_callback` at the proper place in p_context.h

  • util: Rename pipe_debug_type to util_debug_type

  • util: Rename PIPE_DEBUG_TYPE to UTIL_DEBUG_TYPE

  • util: Getting u_debug.h not depends on pipe/*

  • util: Add tests for u_printf.h

  • util: Convert util/u_printf.cpp to util/u_printf.c

Zoltán Böszörményi (2):

  • crocus: enable GL46 tests for HSW in ci

  • crocus: Enable compat profile the same way as core profile

jiadozhu (1):

  • radeonsi: fix crash in flush_resource when used with buffers

shansheng.wang (1):

  • frontends/va: fix coredump as creating surface with VAConfigAttrib

wingdeans (1):

  • r600: Fix small leak in SfnLog

xperia64 (1):

  • wgl: Add driver_zink as a dependency of the wgl frontend