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