From fe61d5cfe1128690efc3d03ea7d0d97dd79225f4 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 21 Sep 2022 09:16:34 -0700 Subject: [PATCH] docs: add release notes for 22.2.0 Part-of: --- docs/relnotes/22.2.0.rst | 6220 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 6220 insertions(+) create mode 100644 docs/relnotes/22.2.0.rst diff --git a/docs/relnotes/22.2.0.rst b/docs/relnotes/22.2.0.rst new file mode 100644 index 00000000000..cd60edc43d4 --- /dev/null +++ b/docs/relnotes/22.2.0.rst @@ -0,0 +1,6220 @@ +Mesa 22.2.0 Release Notes / 2022-09-21 +====================================== + +Mesa 22.2.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.2.1. + +Mesa 22.2.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.2.0 implements the Vulkan 1.3 API, but the version reported by +the apiVersion property of the VkPhysicalDeviceProperties struct +depends on the particular driver being used. + +SHA256 checksum +--------------- + +:: + + TBD. + + +New features +------------ + +- WGL_ARB_create_context_robustness + +- d3d12 ARB_robust_buffer_access_behavior + +- VK_EXT_robustness2 for lavapipe + +- VK_EXT_image_2d_view_of_3d on RADV + +- zink and d3d12 GL_EXT_memory_object_win32 and GL_EXT_semaphore_win32 support + +- vertexAttributeInstanceRateZeroDivisor support for lavapipe + +- panfrost Valhall support (conformant OpenGL ES 3.1 on Mali-G57) + +- VK_EXT_primitives_generated_query on RADV + +- VK_EXT_non_seamless_cube_map on RADV, ANV, lavapipe + +- VK_EXT_border_color_swizzle on lavapipe, ANV, turnip, RADV + +- VK_EXT_shader_module_identifier on RADV + +- variablePointers on lavapipe + +- VK_EXT_multisampled_render_to_single_sampled on lavapipe + +- VK_EXT_shader_subgroup_vote/ballot on lavapipe + +- EGL_KHR_context_flush_control for all drivers + +- GLX_ARB_context_flush_control for all drivers + +- VK_EXT_attachment_feedback_loop_layout on RADV + +- None + + +Bug fixes +--------- + +- turnip/a660: dEQP-VK.spirv_assembly.instruction.terminate_invocation.terminate.subgroup_ballot failure due to "movmsk" reordered with "kill" +- [radeonsi] Graphical corruption in Valve Source-based games +- Updates to 22.2 RCs cause artifacts on nouveau and blank screen on VirtIO +- nouveau: corruption on NVAC after switching to the NIR backend +- zink: GL_TEXTURE_LOD_BIAS vs mipLodBias, and GTF-GL46.gtf21.GL3Tests.texture_lod_bias.texture_lod_bias_all failure on Turnip +- Gallium OpenGL megadriver fails to build if LLVM is enabled but not required by any component built +- Abort due to "Unknown intrinsic: intrinsic store_deref" (firefox, radeonsi) +- turnip: dEQP-VK.subgroups.vote.graphics.subgroupallequal_*int regression on a635 +- regression from !17949 +- r600/sfn: xonotic shows a big performance regression when using the NIR backend with sb disabled +- r600/sfn: register allocation fails for a number of piglits and deqp tests +- DG2 corruption in gnome desktop from F36 +- radeonsi: error allocating sparse buffers.. bug? +- [BISECTED/radeonsi] Flickering triangles with wayfire cube +- ../src/util/u_queue.c:218: util_queue_fence_destroy: Assertion \`fence->signalled' failed for iris when disabled UTIL_FUTEX_SUPPORTED +- turnip: gfxbench aztec ruins crashes on zink +- glsl: textureGatherOffset param broken +- v3dv: android: VTS big regression after 316728a55bc8fe398be1ac2796a22f8c91fb886c +- radeonsi: driver crashes with kwin-effects-cube +- [Turnip] Final Fantasy X: Incorrect hair rendering +- turnip: gfxbench car chase crash on zink +- [r300] - osu! - Shader optimizations cause black and glitchy rendering +- [Bisected] Microsoft CLC: build failure with MSVC and Dshared-llvm=disabled with AMDGPU target available +- anv: invalid returns from vkCreateDescriptorPool +- [Bisected][RadeonSI] Blender crashes on startup +- turnip: depth/stencil regressions +- llvmpipe: assert in KHR-Single-GL45.enhanced_layouts.xfb_all_stages +- Poor performance/utilization with Splitgate +- freedreno / mesa 22.1.3 crashes Firefox Nightly +- [Bisected][RADV] Rendering issues and performance drop with GFX10 on RPCS3 +- dzn: Build failure when it's the only driver built - 22.2-devel regression +- d3d12: Unresolved external symbols from Version.lib +- turnip: Geometry shader never invoked if there is no EmitVertex and gl_Position is not written +- Trine 4 causing GPU HANG: ecode 12:1:849f7804, in vkr-ring-7 +- turnip: GPU fault on clear +- intel_nullhw.c:179:28: error: passing 'const void \*const' to parameter of type 'void \*' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] +- macOS undefined symbol _glapi_tls_Context build error +- Build on macOS regressed +- Regression: virgl: The switch to NTT breaks "Total War: Warhammer" +- macOS's LIST_ENTRY macro conflicts with ours +- src/util/disk_cache_os.c:234:21: error: too many arguments provided to function-like macro invocation +- [RadeonSI] Teamfortress 2 crashing frequently with mesa 22.1.1 +- Unity game segfaults often +- Alien Isolation segfaulting in radeonsi_dri.so starting with Mesa 22.1.0 +- turnip: dEQP-VK.subgroups.ballot_broadcast.framebuffer.* has failures on older deqp-vk +- !17062 broke XTS xts5/Xlib9/XDrawImageString(16) with Xephyr using glamor on llvmpipe +- DG2 full BAR broken by low BAR? +- crocus: SSBOs regressed +- Homerun Clash game triggers assert in compiler +- radv: line rasterization mode affects multisampling +- turnip: caselist fail +- vtn: mediump_16bit_alu and compatibility +- radv: dynamic vertex input failure +- navi21\\radv\\amdgpu Halo Infinite screen corruption and then hang +- ci/freedreno: a618_vk 1/7 timeouts +- Windows OpenGL32.dll without shared-glapi currently broken +- anv: KHR-GL46.tessellation_shader.single.xfb_captures_data_from_correct_stage fails on TGL +- perfetto: crash on context teardown / driver unload +- panfrost shader classification is wrong in some cases +- kopper: the latest awfulness exposed by piglit glx-multi-window-single-context +- android: r600 building error after commit 79ca456b +- Error compiling gallium-nine on i686 using musl libc +- [anv][regression][bisected][bsw,gen9atom] dEQP-VK.memory.mapping.dedicated_alloc failing on bsw and gen9atom +- anv: GTF-GL46.gtf32.GL3Tests.packed_pixels.packed_pixels_pbo failure +- r600: Tesseract does not render properly with the new NIR backend +- radv: some zink cts fails +- anv: ICL hiz issue +- [RADV, bisected] addrlib changes cause Navi CTS regressions +- r300: Segfault in shaders/closed/steam/kerbal-space-program/1017.shader_test +- Get rid of debug_assert() +- nine: docs? +- d3d12: Gallium d3d12 backend performance is slow +- [RADV][bisected] after commit 124848bf9efa1cc5d8a3cdfc654e0c03d57540e3 the games which use vulkan API not starting +- freedreno: skqp instability from GPU hangs +- ci/a618: intermittent network failure +- turnip: EXT_primitives_generated_query broken +- Godot crashes with RX5500m +- intel: Some Alan Wake shader fails validation due to bad register usage in EOT message +- r600/sfn: Add support for fmulz +- radv: failure in image.sample_texture.*_compressed_format* +- radeonsi: Hang on RX 5500 XT on latest mesa git +- blob_align assert triggers +- radv: Enabling support for instance extensions inside vkCreateInstance does not work +- zink: rendering artifacts in Portal 2 +- a630: AmnesiaTDD trace gpu faults +- freedreno build issue - FAILED: src/freedreno/decode/crashdec.txt +- segfaults under X11 since the Ubuntu update to 22 +- anv: renderdoc explosion on icl +- turnip: EXT_depth_clip_enable broken +- lava: test result parsing fail +- turnip: LRZ fast clear +- [ANV] GTA IV flickering +- [TGL] 25-100% perf impact on SynMark2 with 2GB dynamic pool size +- [Crocus] - Minecraft with Forge and JourneyMap - Graphical glitches +- intel - Minecraft char bar is broken after Mesa upgrade +- [wine] RAGE: texture problems +- "Unsupported modifier, resource creation failed." on stderr +- [RADV/ACO] Star Citizen Flickeriing Lights +- anv: query regressions +- ir3: Infinite loop in scheduler when splitting +- ci/lava: "Listened to connection" spam +- ci: docs build fail +- turnip: 3d copy/clear/... ops should not be counted by occlusion query +- anv: sampleLocationsEnable ignored in VkPipelineSampleLocationsStateCreateInfoEXT +- turnip: wrong border color for Z24S8 +- aco_tests fail with llvm-15 +- Clang 14 issues compiling src/util/u_cpu_detect.c +- eglExportDMABUFImageQueryMESA crashes on amdgpu gallium/drivers/radeonsi +- crocus: GL_SELECT regressed on hsw +- Random texture flickering in Minecraft +- panfrost: Broken interaction between CRC and tile size +- panfrost: allow_forward_to_be_killed is too conservative +- APU downgraded to OpenGL 3.0 since UBO size change in radeonsi +- [anv, bisected, regression] Pipeline statistics query segfaults +- radv/NIR: Suboptimal codegen for AccessChain on buffer device addresses +- Regression - vah264dec + glimagesink causes green taint on entire video with mesa>=22.0.0 +- va: AMD: Wrong buffer size of P010 Luma plane +- 625b352f14b broke glcts on Navi1x +- Use marketing_name for the Vulkan device string in RADV +- Gallium driver crashes due to fd double close in iris driver +- radv: Khronos ray tracing sample issues +- r300: copy propagate does not correctly account for control flow +- r300: Amnesia the Dark Descent slowdown since NIR loop unrolling +- r300: some unused uniforms are not removed with the NIR varying linker (compared to old glsl varying linker) +- Mesa currently FTBFS on x32 architecture +- Runescape randomly crashes. malloc_consolidate(): unaligned fastbin chunk +- tu: viewport assert +- d3d12: point coord regression due to NIR IO changes +- nir_lower_phis_to_regs_block: Assertion \`src->src.is_ssa' failed. +- Redream emulator showing artifacts +- Build failure on sparc +- r600 video playback broken +- r300: hundreds of tests fail since "clear color buffers using color from a constant buffer" +- turnip: shader viewport handling +- Signal 6 (Aborted) when opening GTK3 applications +- radv: Conditional rendering on compute queue +- anv: line failure +- 32 bit build failure +- d3d12 build regression: d3d12video.h: error: expected ‘;’ at end of member declaration +- panfrost midgard - major issues with MelonDS emulator - not able to trace properly too +- Intel/anv: The cloak is flickering in Batman:Arkham Knight +- regression: "NIR based varying linker" breaks some xwayland/glamor applications with etnaviv +- pvr: build failure on archs with unsigned long != uint64_t +- turnip: dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.* fails with angle +- Nheko misrendering on RK3399 (Mali T860) +- intel_pps_driver.cc:308:74: error: too many arguments to function ‘void intel_perf_query_result_accumulate_fields(intel_perf_query_result*, const intel_perf_query_info*, const void*, const void*, bool) +- radv: no nir validation in radv_link_shaders +- r300: deqp regressions from "glsl: enable the use of the nir based varying linker" +- [crocus] glmark2 -b jellyfish rendering issues +- radeonsi-stoney: Failing jobs during a CI bug +- iris: skqp gles_atlastext flake +- turnip: use-after-free in shader compilation +- anv: EXT_primitives_generated_query fails +- r300: vs predicate logic fails in vs-loop-complex-unroll-with-else-break.shader_test +- [Intel/Vulkan] White blinking artifacts in Wolfenstein Youngblood +- radv: Indirect unaligned dispatch +- [radv] DCC causes artifacts in Senran Kagura Shinovi Versus +- Radeon RX 5700XT crash when using prusa-slicer +- glcts proxy_textures_invalid_samples tests assert on iris +- turnip: gfxbench mh3.1 offscreen crash with ANGLE +- dEQP-GLES31.functional.shaders.builtin_functions.integer.[i|u]mulextended.* fail +- Radv leaks a descriptor set layout +- radeonsi: KHR_debug thread safety +- [radeon, rv370] Running piglit shaders@glsl-vs-raytrace-bug26691 test causes hard lockup & reboot +- 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 +- v3d: port v3dv workaround for GFXH-1918 +- 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 +- turnip: report corresponding drmFormatModifierPlaneCount for planar format +- piglit ext_image_dma_buf_import.ext_image_dma_buf_import* regression +- Huge amount of anon_inode:sync_file file descriptor created +- enable warnings for GNU extensions we don't want +- Grid Autosport via proton/vulkan: glitches on the grass on amdgpu, fine on amdgpu-pro +- NIR validation failed after nir_opt_if +- Etnaviv: The triangle is lost during linking together triangle strips with degenerate triangles +- intel: integer_mad_hi / integer_mad_sat / integer_mul_hi produce invalid results +- Aperture Desk Job rendering artifacts Intel TGL +- intel: integer_sub_sat produces stack corruption / OpISubBorrow compilation issue +- r300/rv530: "Black rendering" of 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 +- turnip: bad gmem rendering with PUBG mobile on angle +- 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 + + +Changes +------- + +Adam Jackson (32): + +- docs: Note EGL enum allocation for EGL_EXT_present_opaque +- docs: Update supported drivers for 22.x +- 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 +- wsi/x11: Hook up KHR_incremental_present +- dri: Inline dri2InvalidateDrawable into its one caller +- dri: Move driCopySubBufferExtension into drisw +- dri: move driQueryRendererIntegerCommon near its one caller +- dri: Move driC{reate,oncat}Configs near their only caller +- dri: Move dri{Get,Index}ConfigAttrib near their vtable +- dri: Remove what's left of utils.[ch] +- glx/dri2: Require DRI2 >= 1.3 for working buffer invalidation +- dri2: Require a loader with working buffer invalidation +- zink: Print the VkResult if vkCreateInstance fails +- glx/dri: Fix DRI drawable release at MakeCurrent time +- mesa: Stub out GL_APPLE_object_purgeable +- glx: Remove the remains of GLX_MESA_multithread_makecurrent +- gallium/dri: Remove the memory of GLX_MESA_multithread_makecurrent +- glx: Remove some can't-happen checks from protocolDestroyDrawable +- glx: Remove unused __glXSetupForCommand from __glXIsDirect +- glx: Remove excess screen parameter from CreateContext +- glx/dri2: Stop tracking the protocol version in the display state +- glx: Fix return values from __glXGetDrawableAttribute +- glx: Fix drawable refcounting for naked Windows +- kopper: Implement {EGL,GLX}_EXT_buffer_age +- wsi/x11: Synchronously check for error from xcb_present_pixmap +- mesa: Remove Purgeable fields from texture/buffer/renderbuffer objects +- llvmpipe: Indentation fix +- gallium/dri2: Enable {GLX_ARB,EGL_KHR}_context_flush_control + +Alejandro Piñeiro (22): + +- v3dv/pipeline: fix small comment typo +- v3dv/pipeline_cache: adds check to skip searching for a entry +- v3dv/pipeline_cache: add on disk cache hit stats +- v3dv/pipeline: include pipeline layout on the pipeline sha1 +- v3dv/bo: unmap any bo that goes to the bo cache +- v3dv/format: no need for GetPhysicalDeviceFormatProperties +- v3dv/format: Add support for VK_KHR_format_feature_flags2 +- nir: get res binding using component 0, instead of asssumig an uint +- v3dv/pipeline: call nir_lower_explicit_io after first nir optimization loop +- v3dv/pipeline: expand nir_optimize, drop st_nir_opts +- v3dv/device: add comment on depthClamp feature +- broadcom: add no_merge_jobs debug option +- broadcom: document which debug options are specific for a given driver +- broadcom/compiler: wrap nir_convert_to_lcssa with NIR_PASS_V +- broadcom/compiler: use NIR_PASS for nir_lower_vars_to_ssa at v3d_optimize_nir +- nir: call nir_metadata_preserve at nir_remove_unused_io_vars +- v3dv/pipeline: use nir_shader_instructions_pass when lowering layout +- broadcom/compiler: removed unused function +- broadcom/compiler: make several passes to return a progress +- v3d/v3dv: use NIR_PASS(_ +- vc4/v3d: stop adding NORAST when SHADERDB debug option is used +- vc4/v3d: restore calling debug_get_option_vc4/v3d_debug + +Alessandro Astone (5): + +- kopper: Only include XCB headers on supported platforms +- Android.mk: Cleanup mesa3d-lib +- Android.mk: Make mesa3d-lib work with absolute path meson outputs +- Android.mk: Generate the dummy source in local-generated-sources-dir +- Android.mk: Intermediate output paths may already be absolute + +Alexander Kanavin (1): + +- swrast_kms: use swkmsDRI2Extension instead of driDRI2Extension + +Alexey Bozhenko (2): + +- intel/compiler: fix singleton pointer coverity warning +- spirv: fix OpBranchConditional when both branches are the same + +Alyssa Rosenzweig (454): + +- panfrost: Add 48-bit and 96-bit tiling routines +- panfrost: Remove bpp check for tiling +- panfrost: Only handle 2D in should_linear_convert +- panfrost: Implement tiled 3D resource access +- panfrost: Only tile for 2D dimensions +- panfrost: Allow tiling all texture targets +- panfrost: Assert alignment in tiling routine +- panfrost: Document arguments to tiling routines +- panfrost: Unit test u-interleaved tiling routines +- docs/panfrost: Document u-interleaved tiling +- panfrost: Rework dirty tracking for Valhall +- panfrost: Dirty track batch masks +- panfrost: Rework PAN_GPU_ID mechanism +- docs/panfrost: Document drm-shim usage +- meson: Ignore unused variables in release builds +- pan/bi: Simplify bi_propagate_pass_flags +- panvk: Respect line width +- panvk: Consider primitive restart in index buffer walks +- pan/bi: Implement fquantize2f16 +- panvk: Handle empty shaders gracefully +- panvk: Lower shared memory +- util: Add a generic worklist implementation +- nir: Use u_worklist to back nir_block_worklist +- pan/bi: Implement pack_uvec[24]_to_uint +- panfrost: Add texture features enum to v9.xml +- pan/blit: Compile blit shaders without IDVS +- pan/blit: Generalize texture alignment +- pan/blit: Prepare for Valhall port +- pan/blit: Support v9 data structures +- panfrost: Don't allocate storage for PSIZ on Valhall +- panfrost: Compile libpanfrost for v9 +- panfrost: Add helper to emit UBOs +- panfrost: Port uniform/UBO logic to Valhall +- panfrost: Don't fix up alpha test on Bifrost +- panfrost: Use common state emit for compute jobs +- panfrost: Adapt compute job emit for Valhall +- panfrost: Specialize rasterizer state for Valhall +- panfrost: Simplify attribute format expression +- panfrost: Specialize vertex elements for Valhall +- panfrost: Specialize ZSA state for Valhall +- panfrost: Specialize shader descriptors for Valhall +- panfrost: Use dirty flags to emit v9 descriptors +- panfrost: Generate Valhall Malloc IDVS jobs +- panfrost: Compile for v9 +- panfrost: Kick off v9 support in the driver +- panfrost: Advertise all textures in drm-shim +- panfrost: Split pan_layout.c from pan_texture.c +- panfrost: Always use 64-bit SD with strides +- panfrost: Add afbc_superblock_{size, width, height} helpers +- panfrost: Use panfrost_afbc_superblock_width +- panfrost: Don't pretend to support multiplane AFBC +- panfrost: Extract panfrost_afbc_is_wide helper +- panfrost: Use pan_block_size in layout calculation +- panfrost: Unify panfrost_block_size paths +- panfrost: Unify paths through image_layout_init +- panfrost: Remove unused dev argument +- panfrost: Unit test block size queries +- panfrost: Simplify how image_layout_init is called +- panfrost: Add a test for pan_image_layout_init +- asahi: Workaround broken GLSL compiler +- agx: Implement some shader-db stats +- agx: Note that RA proceeds in dominance-order +- agx: Track write registers more accurately +- agx: Match order for designated initializers +- agx: Use correct types for some IR enums +- agx: Wrap compiler header in extern "C" +- agx: Add unit test infrastructure +- agx: Use pseudo ops for mov/not/and/xor/or +- agx: Implement simple copyprop +- agx: Dynamically allocate agx_instr->src +- agx: Add p_split pseudoinstruction +- agx: Add phi pseudo instruction +- agx: Add a hash table for vector extracts +- agx: Add helper to emit combines +- agx: Add helper to emit splits +- agx: Use a transfer graph for parallel copies +- agx: Lower p_split after RA +- agx: Optimize p_split(kill) specially +- agx: Emit splits for intrinsics +- agx: Use extract helper for tex internally +- agx: Remove else optimization +- agx: Use a dynarray for predecessors +- agx: Add predecessor index helper +- agx: Mark the logical ends of blocks +- agx: Add agx_after_block_logical helper +- agx: Introduce worklist infrastructure +- agx: Adapt liveness analysis for SSA +- agx: Make DCE dumber +- agx: Translate phi nodes +- agx: Copy prop into phi nodes +- agx: Don't lower phis in NIR +- agx: Lower phi nodes to parallel copies +- agx: Split up RA from post-RA lowering +- agx: Always use hash table for extracts +- agx: Unit test parallel copy lowering +- agx: Remove identity moves +- agx: Add validation pass +- agx: Update RA comment +- agx: Remove has_liveness +- agx: Remove nir_register support +- agx: Lower mediump flat shading +- panvk: Ignore point size for !points +- panvk: Use correct point size limits +- panfrost: Only flip point sprites for GL +- panvk: Streamline no shader RSD case +- panvk: Gate rasterization on !discard, not fs req +- panvk: Emit fragment RSDs even with no shader +- panfrost: Remove ancient unused code +- panfrost: Call tgsi_to_nir earlier +- panfrost: Don't subclass pipe_compute_state +- panfrost: Use s->info.stage instead of tgsi stage +- panfrost: Simplify shader key architecture +- panfrost: Refactor variant selection code +- panfrost: Refactor variant rebind code +- panfrost: Lower point sprites on Bifrost +- panfrost: Lower user clip planes +- panfrost: Flip point coords in hardware +- pan/va: Generalize message? check for asm +- pan/va: Add missing TABLE (SFU) instructions +- pan/va: Mark NOT instructions as deprecated +- pan/va: Add VAR_TEX_BUF_GRADIENT instruction +- pan/va: Add non-IDVS VAR_TEX instructions +- panvk: Lower global vars to local +- panvk: Allocate stack for each thread +- pan/bi: Handle texture offset + index +- panvk: Lower image deref atomics +- panvk: Only write depth when depth test enabled +- pan/decode: Print row strides, not line strides +- panvk: Remove unused layout structs +- panvk: Report row_stride in GetImageSubresourceLayout +- panfrost: Add helpers to work with legacy strides +- panfrost: Use row stride for explicit layouts +- panfrost: Rename away from bytes_per_pixel +- panfrost: Use row stride to calculate slice size +- panfrost: Adapt get_param for row strides +- panfrost: Use row_stride even for linear resources +- lima,panfrost: Use row stride for tiling routines +- panfrost: Remove line_stride +- panfrost: Unify row stride and AFBC row stride +- panfrost: Unit test stride calculations +- panfrost: Unit test "from legacy" helper +- pan/bi: Rename bi_block->name to bi_block->index +- pan/bi: Count blocks +- pan/bi: Add u_worklist wrapper macros +- pan/bi: Use bi_worklist in analyze_helper_requirements +- pan/bi: Use bi_worklist for liveness +- pan/bi: Use bi_worklist for post-RA liveness +- pan/bi: Use worklist for scoreboard analysis +- pan/bi: Use a dynarray for predecessors +- nir: Don't set writes_memory for reading XFB +- panfrost: Relax image check +- pan/va: Serialize memory stores +- pan/bi: Align spilled registers on Valhall +- pan/bi: Add option to test spilling +- pan/bi: Assert that blend shaders may not spill +- panfrost: Correct XML for TLS +- panfrost: Use emit_tls +- panfrost: Use packed TLS on Valhall +- panfrost/ci: Smoke test spilling +- panfrost: Don't use VARYING_SLOT_TEX0 internally +- panvk: Don't use VARYING_SLOT_TEX0 internally +- pan/bi: Rework varying linking on Valhall +- panfrost: Increase the maximum tiler heap size +- mesa/st: Fix building tests on macOS +- panvk: Stub pipeline cache using the common code +- panvk: Conform viewport code to Vulkan spec +- panvk: Call nir_opt_trivial_continues +- pan/va: Add some whitespace to Valhall disassembly +- pan/va: Add whitespace after disassembled branches +- agx: Restore Valve copyright header +- pan/bi: Don't analyze td on Valhall +- pan/bi: Emit LEA_TEX on Valhall +- pan/bi: Support image loads on Valhall +- pan/bi: Preserve AXCHG.i32 destination +- pan/bi: Handle shared atomic exchange on Valhall +- pan/bi: Handle shared/scratch on Valhall +- pan/bi: Support atomics on Valhall +- pan/bi: Ensure the end NOP isn't eliminated +- asahi: Fix hangs waiting on the notification queue +- pan/bi: Update bi_count_write_registers for Valhall +- pan/va: Mark more source sizes +- pan/va: Lower split 64-bit sources +- pan/va: Use 64-bit lowering for texturing +- pan/bi: +JUMP can't read same-cycle temp +- pan/bi: Lower phis to scalar +- pan/bi: Use value-based interference with LCRA +- pan/bi: Add source/destination counts +- pan/bi: Add collect and split instructions +- pan/bi: Add bi_before_block cursor +- pan/bi: Lower split/collect before RA +- pan/bi: Fix mov and pack_32_2x16 +- pan/bi: Expand MAX_DESTS to 4 +- pan/bi: Create COLLECT during isel +- pan/bi: Lift split/collect cache from AGX +- pan/bi: Simplfy BLEND emit +- pan/bi: Emit collect and split +- pan/va: Use split for 64-bit lowering +- pan/va: Don't use bi_word in FAU unit test +- pan/bi: Scalarize bi_lower_swizzle +- pan/bi: Scalarize bi_opt_cse +- pan/bi: Scalarize modifier propagation +- pan/bi: Scalarize copyprop +- pan/bi: Remove bi_word and bi_word_node +- pan/bi: Simplify register precolouring in the IR +- pan/bi: Remove liveness metadata tracking +- pan/bi: Don't propagate discard +- pan/bi: Optimize split of collect +- pan/bi: See through splits for var_tex fusion +- pan/bi: Validate preload constraints are satisfied +- pan/bi: Validate vector widths +- pan/va: Handle 2-src blend in lower_split_src +- pan/va: Remove DISCARD.f32 destination +- pan/va: Use ^ instead of ` to indicate last-use +- asahi: Run lower_blend for all fragment shaders +- asahi: Use z24_in_z32f lowering +- asahi: Validate depth/stencil formats +- asahi: Don't store to unbound render targets +- asahi: Handle uncompressed Z32F depth buffers +- asahi: Pass depth/stencil clear values to firmware +- asahi: Flush on partial clears +- asahi: Handle 3rd deflake address +- asahi: Account for every byte of the cmdbuf +- asahi: Identify more depth pipeline fields +- asahi: Dump "unknown 4a" structure +- asahi: Add XML used for visibility tests +- asahi: Relax Draw "command" check +- asahi: Note unknown field +- asahi: Identify depth bias array +- asahi: Identify "set depth bias index" field +- asahi: Identify depth bias enable bit +- asahi: Add a depth bias structure +- asahi: Implement polygon offset +- asahi: Identify partial render pipeline +- asahi: Sync some names with Project Zero +- asahi: Add segment list pretty printer +- asahi: Split unknown field in segment list header +- asahi: Validate segment list length +- asahi: Compute segment list length +- asahi: Align segment list unknowns with Metal +- asahi: Decode resource allocation responses +- asahi: Decode resource allocation requests +- asahi: Identify suballocation mechanism +- asahi: Identify suballocated size +- asahi: Drop some unknowns +- asahi: Sync some more unknown fields +- asahi: Improve render target dumping +- asahi: Fix pipeline decoding +- asahi: Handle RECT textures as 2D +- asahi: Allocate a larger segment list +- asahi: Guard against encoder overflows +- asahi: Add wrap library +- docs/asahi: Add initial driver docs +- panfrost: Simplify the kmsro create path +- panfrost: Don't allocate SHARED as scanout +- pan/bi: Recoalesce tied operands after spilling +- pan/bi: Schedule for pressure pre-RA +- pan/bi: Allow CSEing LEA_BUF_IMM +- panfrost: Fix crash with GALLIUM_HUD +- panfrost: Extract afbc_stride_blocks helper +- panfrost: Extract pan_afbc_row_stride helper +- panfrost: Fix is_wide return type +- panfrost: Add pan_afbc_tile_size helper +- panfrost: Support tiled AFBC in stride helpers +- panfrost: Align layouts to tiles of superblocks +- panfrost: Add AFBC stride unit tests +- panfrost: Add 3D texture layout unit test +- panfrost: Calculate header_size based on row_stride +- panfrost: Add a tiled 16x16 layout unit test +- panfrost: Add 1x1 layout unit tests +- panfrost: Fix AFBC flags on v6 +- panfrost: Put comment in correct #ifdef +- panfrost: Handle AFBC Tiled +- panfrost: Add helper checking tiled AFBC support +- panfrost: Gate tiled AFBC on GPUs that support it +- panfrost: Advertise 16x16 tiled AFBC +- panfrost: Use tiled AFBC textures +- pan/bi: Fuse result types +- pan/bi: Test CMP result_type optimization +- panfrost: Allow FPK on Valhall +- panfrost: Set overdraw_alpha[01] flags +- panfrost: Set allow_rotating_primitives +- pan/bi: Don't allow spilling coverage mask writes +- pan/bi: Add VAR_TEX fusing unit test +- pan/va: Fill in missing src_flat16 enum +- pan/bi: Make LD_VAR w=format instead of w=vecsize +- pan/bi: Model Valhall source formats +- pan/bi: Interpolate varyings at 16-bit +- pan/bi: Extend bi_scoreboard_state for finer tracking +- pan/bi: Add slot to bi_instr +- pan/bi: Preserve flow control for non-psiz variant +- pan/bi: Add ASSERT_SHADER_EQUAL macro +- pan/bi: Add a trivial ctx->inputs for unit tests +- pan/bi: Extract bit_block helper +- pan/bi: Export bi_block_add_successor +- pan/bi: Export helper termination analysis +- pan/bi: Print flow control on instructions +- pan/va: Add pass to insert flow control +- pan/va: Do scoreboard analysis +- pan/va: Terminate helper threads +- pan/va: Add flow control merging pass +- pan/va: Assign slots roundrobin +- pan/va: Respect assigned slots +- pan/va: Unit test flow control insertion +- pan/va: Unit test flow control merging +- pan/bi: Use flow control lowering on Valhall +- pan/mdg: Scalarize with 64-bit sources +- pan/mdg: Remove uppercase write masks +- pan/mdg: Use "<<" instead of "lsl" +- pan/mdg: Only print masked components of swizzle +- pan/mdg: Only print 2 sources for ALU +- pan/mdg: Only print 1 source for moves +- pan/mdg: Distinguish SSA vs reg when printing IR +- pan/mdg: Print outmods when printing IR +- panfrost: Fix XML for AFBC header on v9 +- panfrost: Pass arch instead of dev into afbc_format +- panfrost: Add pan_afbc_compression_mode on Valhall +- panfrost: Support rendering to AFBC on Valhall +- panfrost: Handle texturing from AFBC on Valhall +- panfrost: Allow 2D AFBC on Valhall +- panvk: Use vk_image_subresource_*_count for clears +- pan/bi: Respect swizzles in nir_op_pack_64_2x32_split +- pan/bi: Allow vec6 for collects +- pan/bi: Align 64-bit register sources +- pan/bi: Rework Valhall register alignment +- pan/bi: Fix clper_xor on Mali-G31 +- panfrost/ci: Mark draw_buffers_indexed.* as flakes +- panfrost: Use C11 static_assert for enums +- nir: Add transform feedback system values +- nir: Export nir_io_add_intrinsic_xfb_info +- pan/bi: Add transform feedback lowering pass +- pan/bi: Handle transform feedback intrinsics +- panfrost: Don't allow vertex shaders to have side effects +- panfrost: Wire up transfrom feedback sysvals +- panfrost: Create transform feedback shaders +- panfrost: Launch transform feedback shaders +- pan/va: Do not insert NOPs into empty shaders +- panfrost: Extract panfrost_get_index_buffer helper +- panfrost: Don't calculate min/max indices on v9 +- pan/bi: Extract MUX to CSEL optimization +- pan/va: Implement more lanes +- pan/va: Lower MUX to CSEL where possible +- pan/va: Add MUX lowering tests +- pan/bi: Implement b2i with MUX +- pan/va: Record which instructions are signed +- pan/va: Try negating small constants when lowering +- pan/va: Try widening small constants +- pan/va: Unit test constant lowering pass +- panfrost: Enable Mali-G57 +- docs: Document Mali-G57 conformance +- panfrost: Fix inverted indirect dispatch condition +- pan/bi: Implement load_push_constant +- pan/bi: Don't reorder push with no_ubo_to_push +- panfrost: Use push constants for indirect dispatch +- panfrost: Use push constants for indirect draws +- panvk: Use push constants for clear +- panvk: Use push constants for copy shaders +- panfrost: Deduplicate indirect dispatch structs +- panfrost: Remove redundant first_tag access +- panfrost: Remove is_64b assignments +- panfrost: Add panfrost_query_l2_slices helper +- pan/perf: Fix performance counters on G57 +- mesa,gallium: Make point coord origin a CAP +- asahi,agx: Don't set PIPE_CAP_POINT_COORD_ORIGIN_UPPER_LEFT +- panvk: Drop support for Midgard +- panfrost: Allow pixels using discard to be killed +- panfrost: Inline pan_fbd_has_zs_crc_ext +- panfrost: Disable CRC at <16x16 tile sizes +- panvk: Don't specialize clear shaders for RT +- panvk: Remove unused pushmaps +- panvk: Clear Z/S attachments without a shader +- panvk: Fix stencil clears of combined ZS images +- panvk: Simplify depth clear preload condition +- panvk: Use common CmdBeginRenderPass +- panfrost: Disable QUADS on Valhall +- panfrost: Fix batch state changes on Valhall +- panfrost: Add tristate_is_defined helper +- panfrost: Implement provoking vertices on Valhall +- pan/va: Move VA_NUM_GENERAL_SLOTS to common +- pan/va: Simplify insert flow tests +- pan/va: Workaround quirk of barrier handling +- pan/va: Unit test barrier handling +- pan/bi: Mark bi_postra_liveness_ins as MUST_CHECK +- pan/bi: Constify bi_is_staging_src argument +- pan/va: Add header guards to valhall_enums.h +- pan/va: Move va_flow_is_wait_or_none to common +- pan/va: Include BLEND for va_swap_12 +- pan/va: Use validate_register_pair for BLEND pack +- pan/va: Mark last register reads +- pan/va: Unit test va_mark_last +- pan/bi: Fix LD_BUFFER.i16 definition +- pan/bi: Align accesses with packed TLS +- pan/va: Lower FADD_RSCALE.f32 to FMA_RSCALE.f32 +- pan/va: Implement sample positions FAU packing +- pan/va: Rename RSCALE to LDEXP +- pan/bi: Remove FRSCALE from IR +- pan/bi: Model MKVEC.v2i8 +- pan/bi: Constant fold MKVEC.v2i8 +- pan/va: Pack MKVEC.v2i8 byte lanes +- pan/va: Replace MKVEC.v4i8 with MKVEC.v2i8 +- pan/bi: Tune lower_vars_to_scratch +- panfrost: Enable more FP16 caps on Valhall +- panfrost: Enable CAP_INDIRECT_TEMP_ADDR on Valhall +- panfrost: Bump ESSL_FEATURE_LEVEL on Valhall +- v3d: Drop workaround for u_blitter bug +- agx: Handle loop { if { loop { .. } } } +- r600g: Remove streamout-based buffer copy path +- u_blitter: Remove util_blitter_copy_buffer +- lima,panfrost: Do not ralloc contexts against the screen +- pan/va: Handle terminal barriers +- ttn: Set nir->info.separate_shader +- pan/bi: Fix unpack_32_2x16 definition +- pan/va: Add missing to V2F32_TO_V2F16 +- pan/bi: Implement f2f16{_rtz, _rtne} +- panfrost: Separate core ID range from core count +- panfrost: Move bifrost_lanes_per_warp to common +- panfrost: Fix PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS +- panfrost: Fix PIPE_COMPUTE_CAP_SUBGROUP_SIZE +- panfrost/ci: Disable 0ad trace on T860 +- panfrost: Clear with a quad to avoid flushing +- panfrost/ci: Disable T760 jobs +- nir/opt_shrink_vectors: Round to supported vec size +- panfrost: Revert provoking vertex assertion +- panfrost: Only key points to point coord origin +- pan/va: Dump unencodable instructions +- pan/va: Use invalid_instruction in more places +- pan/va: Print instructions with pack assert fails +- pan/va: Handle BIFROST_MESA_DEBUG=nosb +- panfrost: Make pan_select_max_tile_size O(1) +- panfrost: Use implementation-specific tile size +- panfrost: Protect pandecode by a mutex +- pan/bi: Require ATEST coverage mask input in R60 +- pan/va: Stall after ATEST +- panfrost: Fix shader_modifies_coverage on Valhall +- panfrost: Add decoupled early-ZS helpers +- panfrost: Unit test early-ZS helpers +- panfrost: Add zsa->zs_always_passes flag +- panfrost: Use early-ZS helpers +- util: Enable list_assert in debugoptimized builds +- util: Gate simple_mtx_assert_locked on !NDEBUG +- agx: Port minifloat tests to GTest +- pan/bi: Assert that we use the correct CLPER +- pan/bi: Rename CLPER_V6.i32 to CLPER_OLD.i32 +- pan/decode: Fix overrun decoding planes +- nir/lower_idiv: Be less creative about signs +- agx: Fix packing of samplers in texture instrs +- panfrost: Don't segfault on unknown models +- pan/bi: Don't reorder image loads across stores +- pan/bi: Don't allow ATEST to take a temporary +- pan/mdg: Print 3 sources for CSEL +- pan/bi: Fix dual texturing with uniforms +- pan/bi: Fix out-of-bounds write in va_lower_split_64bit +- pan/bi: Consider all dests in helper_block_update +- agx: Fix float copyprop of neg(neg) case +- panfrost: Respect buffer offset for OpenCL + +Andres Calderon Jaramillo (2): + +- nir: Account for YUV range. +- mesa/st: Account for YUV color space and range. + +Andres Gomez (5): + +- radv/ci: update vkd3d-proton results for AMD's Kabini +- ci: install a more recent version of Wine in the test-vk image +- ci: install gfxinfo-mupuf in the test-vk image +- ci: move b2c artifacts to its own directory +- ci: add wrapper script for Valve's traces runner + +Anuj Phogat (2): + +- include/uapi: Update drm_fourcc.h from kernel +- isl,iris: Add I915_FORMAT_MOD_4_TILED support for XeHP + +Arvind Yadav (7): + +- nir: Add a lowering pass for polygon and line smoothing +- radeonsi: Add nir_lower_poly_line_smooth pass for polygon and line smoothing +- nir: add load_point_coord_maybe_flipped intrinsics for point smoothing +- nir: Add a lowering pass for point smoothing +- ac/llvm : Adding Number of all interpolated inputs in ac_shader_abi +- ac/llvm: Implement nir_intrinsic_load_point_coord_maybe_flipped opcodes +- radeonsi: Enable nir_lower_point_smooth lowering pass for point smoothing + +Autumn on Tape (5): + +- 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 +- lavapipe: enable subgroup quad operations + +Axel Davy (6): + +- frontend/nine: Skip invalid swvp calls +- frontend/nine: Fix buffer tracking out of bounds +- frontend/nine: Fix ATOC handling +- frontend/nine: Fix cso restore bug +- frontend/nine: Fix shader multi-use crash +- frontend/nine: Fix ff position_t fallback when w = 0 + +Bas Nieuwenhuizen (39): + +- vulkan/wsi/x11: Ensure we have the required number of images for acquire. +- radv: always enable NGG on GFX11 +- radv: Mark all formats as DCC compatible with each other on gfx11. +- radv: gfx11 register changes. +- radv: Adjust for new SWIZZLE_ENABLE. +- radv: Add gfx11 DCC fast clear support. +- radv: Disable transform feedback for gfx11. +- radv: update the initialization of SGPR0/1 registers for HS and GS on GFX11 +- radv: Deal with derefs from opaque types in function parameters. +- radv: Add performance counter reg write. +- radv: move ac_perfcounters to physical_device. +- radv: Add pstate locking for perfcounters. +- radv: Rename SPM functions. +- radv: Make inhibiting clockgating not static. +- radv: Add helper BO for perf counters. +- radv: Add perf counter lock/unlock commandbuffers. +- radv: Add a list of performance counters. +- radv: Implement support for querying performance counters. +- radv: Implement listing performance counters. +- radv: Expose VK_KHR_performance_query. +- radv: Add ability to override the build id for the cache. +- radv: Add a 32bit memory type. +- radv: Skip setting empty index buffers to avoid hang +- radv: Expose function to write vertex descriptors for dgc. +- radv: Always store stride in the vbo descriptor. +- radv: Require 32bit memory for indirect buffers. +- radv: Expose helper for base pa_su_sc_mode_cntl. +- radv: Make radv_get_vgt_index_size non-static. +- radv: Add helper to write scissors. +- radv: Add flushing for DGC. +- radv: Add DGC meta shader. +- radv: Implement DGC generated command layout structure. +- radv: Implement DGC cmdbuffer generation. +- radv: Implement CmdExecuteGeneratedCommandsNV. +- radv: Add stub for vkCmdBindPipelineShaderGroupNV. +- radv: Expose VK_NV_device_generated_commands. +- vulkan/wsi: Take max extent into consideration for modifier selection. +- amd/common: Don't rely on DCN support checks with modifiers. +- amd/common: Disable DCC retile modifiers on RDNA1 + +Ben Skeggs (3): + +- nv50/ir: fix OUT.FINAL on ampere +- nv50/ir: fix scope of memory ops on ampere +- nv50/ir: fix ALD/AST where address comes from AL2P + +Benjamin Cheng (5): + +- radv: fix memory leak of descriptor set layout +- radv: refactor image binding into struct +- radv: consolidate descriptor set buffer counts +- radv: implement disjoint memory for multiplane images +- radv: expose disjoint image support + +Boris Brezillon (159): + +- dzn: Skip binding entries with zero descriptors +- dzn: Make sure sampler heaps don't contain more than 2048 samplers +- microsoft/compiler: Add a dunmmy SV_SampleIndex when needed +- microsoft/spirv_to_dxil: Allow forcing per-sample shading +- dzn: Add support for sampleRateShading +- dzn: Pass the right type to CreateCommandList() in the reset path +- dzn: refactor error-handling +- ci/windows: Add a variable to globally disable jobs using windows runners +- dzn: Use core helpers to fill physical device features/properties +- dzn: Report actual device limits +- d3d12: Move the D3D12ResourceState code to the gallium driver +- ci/windows: Split the windows-related tests +- dzn: Add support for EXT_vertex_attribute_divisor +- dzn: Rename a bunch of dzn_descriptor_set helpers +- dzn: Pass layout objects to various dzn_descriptor_set_ptr_xxx helpers +- dzn: Split the write desc helpers in two halves +- dzn: Add support for KHR_descriptor_update_template +- microsoft/spirv_to_dxil: Add a draw_id field to vertex_runtime_data +- dzn: Fix exec_buf_stride calculation +- dzn: Simplify the triangle_fan_rewrite_index shader +- dzn: Update the draw_id sysval when issuing indirect draws +- dzn: Advertise KHR_shader_draw_parameters +- dzn: Pass an image view to dzn_cmd_buffer_clear_attachment() +- dzn: Set MAX_RTS to D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT +- dzn: Move all render-related states to a substruct +- dzn: Inline dzn_cmd_buffer_clear_attachments() +- dzn: Add support for dynamic rendering +- dzn: Get rid of the render pass logic +- dzn: Allow multiDrawIndirect and drawIndirectFirstInstance +- dzn: Add KHR_draw_indirect_count support +- 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() +- vulkan/wsi: Make wsi_win32_surface_get_capabilities() return the current extent +- dzn: Fix dzn_cmd_buffer_collect_queries() +- dzn: Use the vk_sync_binary abstraction +- spirv: Fix windows build +- dzn: Use the correct ICD path on Win32 +- microsoft/spirv_to_dxil: Fix push_constants type declaration +- microsoft/spirv_to_dxil: Fix the push_constant UBO size calculation +- dzn: Emit missing transition barriers for rendering attachments +- ci/windows: Bump spirv-samples commit-ID +- microsoft/spirv2dxil: Add a debug option +- microsoft/compiler: Make sure all SV_Position components are written +- microsoft/spirv_to_dxil: Extract NIR passes out of spirv_to_dxil() +- microsoft/spirv_to_dxil: Constify the descriptor binding mapping fields +- microsoft/compiler: Make input_mappings immune to driver_location holes +- microsoft/spirv_to_dxil: Remove dead IO vars at the end of dxil_spirv_nir_passes() +- microsoft/spirv_to_dxil: Add a linking helper +- microsoft/compiler: Allow vulkan users to handle varyings linking +- microsoft/spirv_to_dxil: vectorize IOs +- dzn: Fix maxVertexInputAttributes limit +- dzn: Handle varying linking explicitly +- dzn: Fix unitialized var access in dzn_meta_compile_shader() +- dzn: Fix vertex input handling +- microsoft/spirv_to_dxil: Let spirv_to_dxil() handle the linking +- microsoft/compiler: Drop the auto_link parameter passed to nir_to_dxil() +- dzn: Switch to ID3D12Device2 +- dzn: Drop an unused argument passed to dzn_graphics_pipeline_translate_vi() +- dzn: Use CreatePipelineState() +- dzn: Enable depth-bounds testing +- microsoft/compiler: Lower fquantize2f16 +- nir: Fix flat new_var assignment in create_new_io_vars() +- microsoft/compiler: Pick a type that matches interpolation mode for structs +- microsoft/compiler: Truncate function names when needed +- vulkan/util: Fill VkPhysicalDeviceIDProperties::deviceNodeMask +- spirv: Add a dst/src type to image deref loads/stores coming from OpAtomic{Load,Store} +- microsoft/compiler: Images are no longer reprensented by uniform vars +- microsoft/compiler: Set typed_uav_load_additional_formats when appropriate +- microsoft/compiler: s/assert()/unreachable()/ in emit_intrinsic() +- microsoft/compiler: Support load_sample_id_no_per_sample +- dzn: Decorrelate external image info and external image properties +- dzn: Return empty external properties +- dzn: Add a dummy GetDeviceGroupPeerMemoryFeatures() +- dzn: Add a dummy GetImageSparseMemoryRequirements2() +- dzn: Add dummy {Create,Destroy}SamplerYcbcrConversion() implementations +- dzn: Check that no export is requested in the memory allocation path +- dzn: Lower alignment requirements when allocating buffers or single-sample images +- dzn: Add a dzn_desc_type_has_sampler() helper +- dzn: Implement GetDescriptorSetLayoutSupport() +- dzn: Vulkan 1.1 wants maxPerSetDescriptors >= 1024 +- dzn: Prepare support for pipeline variants +- dzn: Fix primitiveRestart support +- dzn: Fix triangle-fan emulation +- dzn: Support dynamic depth testing parameters properly +- dzn: Support dynamic line width +- ci/windows: Allow skipping deqp tests if we have to +- ci/windows: Add dEQP-VK.dynamic_state.* to the test list +- ci/windows: Skip dEQP-VK.api.command_buffers.record_many_draws* +- d3d12: Keep access masks up-to-date when removing vars in d3d12_disable_multisampling() +- microsoft/compiler: Move d3d12_fix_io_uint_type() to dxil_nir.c +- microsoft/compiler: Fix Layer type +- microsoft/compiler: Support gl_Layer +- dzn: Disable rasterization if the last geometry stage doesn't write the position +- dzn: Enable support for geometry shaders +- ci/dzn: Move to a .toml description +- dzn: Fix the 2DMSArray case in dzn_image_get_dsv_desc() +- dzn: Fix CmdPushConstants() +- dzn: Clamp depthBiasConstantFactor when doing the float -> int conversion +- dzn: Transition resource to RENDER_TARGET/DEPTH_WRITE before clears +- microsoft/compiler: Fix emit_ubo_var() +- ci/dzn: Copy testlog.{css,xsl} to the result dir +- nir/serialize: Put dest last in packed_instr::tex +- dzn: Advertise anisotropic filtering support +- dzn: Advertise shaderImageGatherExtended support +- dzn: Enable dynamic indexing on all kind of descriptors +- dzn: Enable shader{Clip,Cull}Distance +- dzn: Enable the depthClamp feature +- nir/serialize: Support texop >= 16 +- nir/serialize: Silence integer-overflow false positive +- vulkan: Add a vk_pipeline_hash_shader_stage() helper +- anv: Use vk_pipeline_hash_shader_stage() +- v3dv: Fix nir_shader leaks in v3dv_meta_{clear,copy}() +- v3dv: Use vk_pipeline_hash_shader_stage() +- tu: Use vk_pipeline_hash_shader_stage() +- radv: Kill unused fs_m local var in radv_create_shaders() +- radv: Use vk_pipeline_hash_shader_stage() +- dzn: Hook-up device-lost detection +- dzn: Fix indentation +- dzn: Initialize UUIDs +- dzn: Drop dzn_pipeline_cache.c +- dzn: Add missing D3D12_CACHED_PIPELINE_STATE to MAX_COMPUTE_PIPELINE_STATE_STREAM_SIZE +- dzn: Fix assertion in d3d12_pipeline_state_stream_new_desc() +- dzn: Use d3d12_compute_pipeline_state_stream_new_desc() in the compute path +- dzn: Pass the maximum stream size to d3d12_pipeline_state_stream_new_desc() +- dzn: Drop useless while(link_mask != 0) +- dzn: Drop unused allocator passed to dzn_graphics_pipeline_create() +- dzn: Let dzn_pipeline_init() initialize the root signature in the stream +- dzn: Fix potential nir_shader leak +- dzn: Use vk_to_mesa_shader_stage() +- dzn: Save a few indentation levels in graphics_pipeline_compile_shaders() +- dzn: Don't delegate binding translation to dxil_spirv_nir_passes() +- dzn: Hash pipeline layout stages +- dzn: Add a generic cached blob wrapper +- dzn: Drop unneeded goto statement in dzn_compute_pipeline_create() +- dzn: Move the compute shader compilation logic to a sub-function +- dzn: Cache NIR shaders +- dzn: Caculate a binding translation hash +- dzn: Cache DXIL shaders +- dzn: Cache pipeline info +- ci/dzn: Add pipeline cache tests to the include list +- dzn: Cache and pack transition barriers +- dzn: Don't call dzn_cmd_buffer_queue_transition_barriers() prematurely +- dzn: Rename dzn_cmd_buffer_queue_image_subres_range_transition() +- dzn: Introduce dzn_cmd_buffer_queue_image_range_state_transition() +- dzn: Allow shaders to read from depth/stencil attachments +- dzn: Fix copies of block-based formats +- dzn: Fix unused var warnings +- dzn: Fix 'statement with no effect' warning +- dzn: Fix printf() format in dxgi_get_factory() error message +- dzn: Fix {back,front}_wr_uses_ref assignment +- dzn: Fix -Wswitch warnings +- dzn: Use the vk_descriptor_set_layout base struct +- dzn: Use the vk_pipeline_layout base struct +- dzn: Mark transition barriers as executed when we execute barriers +- dzn: Query D3D12_FEATURE_D3D12_OPTIONS3 features +- dzn: Provide a helper to check if 2 formats are compatible +- dzn: Support native image copies when formats are compatible +- dzn: Take VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT into account + +Boyuan Zhang (9): + +- radeonsi/vcn: add vcn 4.0 encode support +- radeonsi/vcn: add vcn 4.0 encode fw interface version +- radeonsi/vcn: add encode context ib for vcn 4.0 +- radeonsi/vcn: add session init ib for vcn 4.0 +- radeonsi/vcn: enable vcn 4.0 encode for gfx11 asic +- radeonsi/vcn: use calculated max hierarchy depth for hevc enc +- vl: add cabac init idc for h264 encode +- frontends/va: get entropy mode info for h264 encode +- radeonsi/vcn/enc: enable cabac entropy mode + +Brian Paul (101): + +- gallivm: assorted clean-ups in lp_bld_nir_aos.c +- gallivm: whitespace fixes in lp_bld_tgsi.h +- gallivm: asst. clean-ups in lp_bld_sample.h +- llvmpipe: asst. clean-ups in lp_linear_fastpath.c +- llvmpipe: asst. clean-ups in lp_setup.c +- llvmpipe: asst. clean-ups in lp_state_setup.c +- gallivm: asst. clean-ups in lp_bld_type.[ch] +- gallivm: cleanup lp_bld_arit.c +- gallivm: clean-up in lp_bld_nir.h +- gallivm: add const qualifier in lp_bld_nir_soa.c +- llvmpipe: asst. clean-up in lp_state_derived.c +- llvmpipe: asst. clean-ups in lp_rast_linear.c +- llvmpipe: fix comment typo in lp_linear_fastpath.c +- llvmpipe: asst. clean-ups in lp_rast.c +- llvmpipe: asst. clean-ups in lp_linear.c +- llvmpipe: asst. clean-ups in lp_scene.h +- llvmpipe: asst. clean-up and add comments in lp_state_fs.h +- gallivm: clean-up in lp_bld_sample.c +- llvmpipe: asst. clean-up in lp_setup_context.h +- gallivm: asst. clean-ups in lp_bld_sample_soa.c +- gallivm: clean-ups in lp_bld_tgsi.[ch] +- llvmpipe: asst. clean-ups in lp_state_fs.c +- llvmpipe: minor clean-ups in lp_jit.h +- llvmpipe: asst. clean-ups in lp_state_fs_linear_llvm.c +- llvmpipe: asst. clean-ups in lp_state_fs_linear.c +- llvmpipe: asst. clean-ups in lp_setup_tri.c, lp_setup_rect.c +- llvmpipe: whitespace clean-ups in lp_rast.h +- llvmpipe: minor whitespace/formatting cleanups in lp_state_setup.h +- llvmpipe: minor clean-ups in lp_state_fs_analysis.c +- llvmpipe: misc clean-up in lp_rast_tri.c +- llvmpipe: asst. clean-ups in lp_bld_blend_aos.c +- llvmpipe: asst. clean-ups in lp_rast_tri_tmp.h +- llvmpipe: asst. clean-ups in lp_rast_priv.h +- gallivm: minor clean-ups in lp_bld_sample_soa.c +- llvmpipe: misc clean-ups in lp_bld_interp.c +- gallivm: asst. clean-ups in lp_bld_nir.c +- llvmpipe: fix comment typo in lp_bld_interp.h +- llvmpipe: asst. clean-ups in lp_linear_sampler.c +- llvmpipe: asst. clean-ups in lp_tex_sample.c +- llvmpipe: asst. clean-ups in lp_scene.c +- llvmpipe: minor clean-up in lp_state_blend.c +- llvmpipe: use enum blend types instead of unsigned +- llvmpipe: s/unsigned/enum pipe_compare_func/ +- gallivm: asst. clean-ups in lp_bld_logic. +- llvmpipe: asst. clean-ups in lp_state_fs.c +- draw: s/unsigned/enum pipe_prim_type/ +- draw: asst. clean-up in draw_context.h +- draw: asst. clean-up in draw_gs.h +- draw: asst. clean-up in draw_pipe.c +- draw: asst. clean-up in draw_pipe_validate.c +- draw: asst. clean-up in draw_private.h +- draw: asst. clean-up in draw_pt.h +- draw: asst. clean-up in draw_pt.c +- draw: asst. clean-up in draw_pt_fetch_shader_emit.c +- draw: asst. clean-up in draw_pt_fetch_shader_pipeline.c +- draw: asst. clean-up in draw_pt_util.c +- draw: asst. clean-up in draw_pt_vsplit.c +- draw: asst. clean-up in draw_vbuf.h +- gallivm: use enum types instead of unsigned in lp_bld_sample.[ch] +- llvmpipe: add minor comments in lp_rast.h, lp_setup-rect.c +- llvmpipe: remove lp_rast_cmd_arg::state field +- gallivm: s/unsigned/enum pipe_swizzle/ +- llvmpipe: add simple assertion in generate_fragment() +- util/bitset: add BITSET_SIZE() +- lavapipe: rework code to compute textures_used, samplers_used +- llvmpipe: minor code re-org in lp_state_fs_analysis.c +- nir: add const qualifiers, move some decls in nir_to_tgsi_info.c +- llvmpipe: replace if/then with switch in llvmpipe_nir_fn_is_linear_compat() +- gallivm: s/0/LP_BLD_TEX_MODIFIER_NONE/ +- llvmpipe: replace GET_A0() macro w/ inline function +- llvmpipe: add missing tex_info->texture_unit assignment +- llvmpipe: fix invalid memory used in lp_fs_linear_run +- llvmpipe: fix texcoord analysis in llvmpipe_nir_fn_is_linear_compat() +- llvmpipe: replace LP_RAST_OP\_ #defines with enum type +- gallivm: increase LP_MAX_TGSI_SHADER_IMAGES from 16 to 32 +- lavapipe: fix logicop, independent blend enable/disable +- llvmpipe: don't allow texture/resource swizzles on linear path +- llvmpipe: initialize a local var to fix compiler warning in release build +- lavapipe: fix incorrect sv[] array size +- llvmpipe: fix texcoord analysis regression +- llvmpipe: asst. clean-up in lp_bld_depth.c +- llvmpipe: minor white-space clean-up in lp_setup.h +- llvmpipe: asst. clean-ups in lp_setup_rect.c +- gallivm: asst. clean-ups in lp_bld_const.c +- llvmpipe: asst. clean-ups in lp_linear_interp.c +- llvmpipe: minor optimization in lp_linear_init_interp() +- llvmpipe: asst. clean-ups in lp_state_setup.c +- llvmpipe: remove unneeded casts +- llvmpipe: replace 'unsigned' with enum types +- gallivm: asst. clean-ups in lp_bld_swizzle.c +- gallivm: simplify shuffling in emit_store_reg() +- gallivm: fix incorrect memset() in SOA emit_load_const() +- gallivm: rename 'var' param in emit_store_reg(), emit_store_var(). +- llvmpipe: make opaque field a 1-bit field +- llvmpipe: minor whitespace clean-up in lp_state_fs.h +- llvmpipe: pass frontfacing param to jit_function() call +- llvmpipe: asst. clean-up in lp_rast_linear_fallback.c +- llvmpipe: remove unneeded casts in lp_rast_linear_fallback.c +- llvmpipe: consolidate code in lp_rast_linear_fallback.c +- llvmpipe: tighten up some code in lp_rast_linear_fallback.c +- llvmpipe: add some const qualifiers in lp_rast_linear_fallback.c + +Caio Oliveira (1): + +- intel/compiler: In XeHP prefer <1;1,0> regions before compacting + +Chad Versace (2): + +- venus: Refactor vn_fix_graphics_pipeline_create_info +- venus: Don't encode ignored pTessellationState + +Charlie Turner (4): + +- ci: fix shellcheck violations in the test-vk building script +- ci: add Linux build of apitrace +- ci: upgrade gfxreconstruct build to v0.9.10 +- ci: upgrade to DXVK v1.10.1 + +Charmaine Lee (20): + +- gallium/util: Increase the debug_flush map depth to 64 +- draw: fix double free of NIR IR +- svga: fix shader IR type passed to draw create shader function +- svga/nir: enable PIPE_CAP_TGSI_TEXCOORD +- svga: enable PIPE_CAP_TGSI_TEXCOORD for vgpu10 and up +- svga/tgsi: add translation for DTRUNC +- svga/nir: enable lower double option +- svga: workaround for unexpected double swizzle +- svga: fix clip distance shadow copy writemask +- svga: add a helper function for common shader creation +- svga: create svga_shader_info +- svga: add svga_compile_shader helper function +- svga: add need_texcoord_semantic to tgsi_add_point_sprite & tgsi_add_aa_point +- svga: fix aa point +- svga: fix reference to NULL offset for atomic counter +- svga: fix shared memory index +- svga: fix mksstats build +- mesa/st: fix reference to nir->info after nir_to_tgsi +- svga: support TGSI_SEMANTIC_TEXCOORD in swtnl draw context +- svga: fix invalid component access of domain location + +Chia-I Wu (61): + +- turnip: fix drm modifier support with planar formats +- util: Keep quiet NaNs quiet when converting to half float. +- anv: advertise rectangularLines only for Gen10+ +- turnip: let modifier takes precedence over TU_DEBUG=noubwc +- freedreno/fdperf: make refresh rate configurable +- freedreno/fdperf: support dumping counters +- turnip: fix sampledImageIntegerSampleCounts +- turnip: emit VPC_SO_DISABLE in xfb begin/end +- ir3: fix mem_ctx for ir3_disasm_info::nir +- turnip: fix off-by-one in border color bitset +- turnip: fix tu6_pack_border_color for z24 +- turnip: disable UBWC for SNORM formats +- turnip: if-checks autotune debug macros +- turnip: base pipeline draw costs on colorWriteMask +- turnip: include stencil test for drawcall costs +- turnip: estimate render pass costs +- turnip: consider render pass costs in autotune +- ci/turnip: add a link to VkPhysicalDeviceMemoryProperties failure +- turnip: force sample interpolations for sample shading +- turnip: advertise VK_EXT_border_color_swizzle +- freedreno/fdl: use XYZW swap for PIPE_FORMAT_X24S8_UINT +- vulkan/device_select: remove get_pdevice_proc_addr +- freedreno/drm-shim: add a660 +- turnip: fix an assertion with drm-shim +- ir3: update ir3_const_state comment +- ir3: copy req_local_mem for MESA_SHADER_KERNEL +- ir3: fix output_loc size +- ir3: remove unused patch_vertices_in +- ir3: increment constoff right after it is assigned +- ir3: fix tess param allocation +- ir3: set UL flag before ir3_lower_subgroups +- turnip: remove shared_consts from tu_compiled_shaders +- turnip: shared_consts and push_consts are mutually exclusive +- turnip: add tu_common.h as the common header +- turnip: remove includes that are already in tu_common.h +- turnip: add tu_drm.h +- turnip: add tu_suballoc.h +- turnip: update tu_cs.h +- turnip: add tu_query.h +- turnip: add tu_image.h +- turnip: add tu_formats.h +- turnip: update tu_descriptor_set.h +- turnip: add tu_shader.h +- turnip: add tu_pipeline.h +- turnip: add tu_clear_blit.h +- turnip: add tu_dynamic_rendering.h +- turnip: add tu_lrz.h +- turnip: add tu_pass.h +- turnip: add tu_wsi.h +- turnip: update tu_autotune.h +- turnip: add tu_device.h +- turnip: add tu_cmd_buffer.h +- turnip: add tu_android.h +- turnip: update tu_util.h +- turnip: move away from tu_private.h +- turnip: remove tu_private.h +- turnip: remove headers from libtu_files +- turnip: use SPDX-License-Identifier +- turnip: fix a use-after-free in autotune +- turnip: lower the queue priority to 1 +- ir3: fix predicate splitting in scheduler + +Christian Gmeiner (12): + +- isaspec: Extend split_bits(..) to accept a bitsize +- isaspec: Handle patterns bigger then 64 bit +- nir: Fix unused-variable compile warnings +- freedreno: Wait for async compile jobs to finish +- ir3: Create at least one thread for async shader compile +- gtest: Fix maybe-uninitialized compiler warning +- r600: Switch to unreachable(..) +- svga: Clear query before usage +- ci: Remove -Wno-error=maybe-uninitialized +- etnaviv: factor out shader screen related init/deint +- etnaviv: async shader compile +- etnaviv: Move nir_shader_compiler_options to compiler + +Chuansheng Liu (1): + +- iris,anv: correct the max thread number for DG2+ + +Clément Guérin (1): + +- venus: implement VK_EXT_physical_device_drm + +Connor Abbott (69): + +- tu: Delete unused tu_clear_blit GS handling +- ir3, freedreno, tu: Make ir3_shader_variant store stream_output +- ir3, fd, tu: Copy misc. info from ir3_shader to ir3_shader_variant +- ir3: Use ir3_shader_variant::type more often +- ir3: Allocate disasm_info under variant +- ir3: Add ir3_shader_variant::compiler +- tu: Keep original blit shaders separately +- ir3: Remove ir3_shader_variant::shader +- ir3: Add functions to serialize variants +- ir3: Support disabling the pipeline cache +- ir3: Add ir3_shader_create_variant() +- tu: Hash pipeline layout contents +- tu: Rewrite cache UUID based on radv +- tu: Include turnip debug flags in pipeline cache UUID +- tu: Implement pipeline caching with shared Vulkan cache +- tu: Zero-initialize compute driver key +- tu: Implement VK_EXT_pipeline_creation_feedback +- tu: Implement VK_EXT_pipeline_creation_cache_control +- tu: Convert to sync2 entrypoints +- tu: Expose VK_KHR_synchronization2 +- tu: Implement VK_EXT_image_2d_view_of_3d +- tu: Enable shaderTessellationAndGeometryPointSize +- tu: Enable VK_KHR_swapchain_mutable_format +- tu: Fix partial-write LRZ determination +- tu: Implement extendedDynamicState2LogicOp +- tu: Implement VK_EXT_color_write_enable +- tu: Enable uniform texture buffers with NPOT formats +- freedreno/a6xx: Support more 3-component formats +- tu: Fix 3d GMEM store swizzle in texture descriptor +- tu: Add missing WFI to the 3d GMEM store path +- tu: Save/restore \*_BIN_CONTROL in 3d GMEM store path +- ir3/sched: Fix could_sched() determination +- tu: Fix linemode for tessellation with isolines +- ir3: Fix vectorizer condition for SSBOs +- freedreno: Document a650-specific CP_REG_WRITE flag +- freedreno/a6xx: Document border color/swizzle interaction +- freedreno/a6xx: Fix border color swizzling +- freedreno/a6xx: Use fdl format swizzle +- freedreno/fdl: Note border color constraints +- freedreno/a6xx: Fix border color with Z24UINT_S8UINT +- tu: Fix stencil border color with has_z24uint_s8uint +- mesa/st: Fix border color type for stencil sampling +- nv50/ir/ra: Fix copying compound for moves +- freedreno/a6xx: VPC_SO_NCOMP is actually VPC_SO_BUFFER_STRIDE +- tu: Use incoherent CCU write for buffer accesses +- tu: Support resolving D24S8 -> S8 +- tu: Fix resolving d32s8 into s8 on fast path +- tu/lrz: Do not use framebuffer when inheriting LRZ +- tu: Treat CP_WAIT_FOR_ME as a cache invalidate +- tu: Rewrite tess factor emission +- tu: Move TU_DONT_CARE_AS_LOAD into attachment_set_ops() +- tu: Disable GMEM for multiview inside tu_render_pass_gmem_config +- tu: Move tu_render_pass definition up +- tu: Remove usage of RenderPassBeginInfo +- tu: Initial support for dynamic rendering +- tu: Remove has_subpass_predication +- tu: Update more state with secondaries +- tu: Split out some state into a separate struct +- util/trace: Fix u_trace_*_iterator with no tracepoints +- tu: Add support for suspending and resuming renderpasses +- tu: Use common vk_image struct +- tu: Use common vk_image_view base struct +- tu: Add debug option to use emulated renderpass support +- tu: Restore formatting of tu_clear_blit.c +- tu: Fix sysmem depth attachment clear flushing +- ir3/spill: Fix extracting from a vector at the end of a block +- tu/lrz: Fix multiple subpass case with secondaries +- tu/lrz: Fix multiple depth attachment case with secondaries +- tu: Don't preload variable-count descriptors + +Constantine Shablya (1): + +- anv: set image_read_without_format NIR option on Vulkan 1.3 + +Corentin Noël (5): + +- mesa: Make sure to fallback to handling the original choose texture format +- virgl/ci: Update virglrenderer +- virgl/ci: Update virglrenderer +- virgl: Add support for passing the supported number of components from virgl +- virgl: Only progagate the uniform numbers if the numbers are actually right + +Cristian Ciocaltea (4): + +- virgl/ci: Rename virgl-lava-* jobs to virgl-iris-* +- virgl/ci: Update checksums for some virgl iris traces +- ci: Add CPU frequency adjustment capability +- ci: Limit Intel CPU scaling frequency for performance tests + +Daniel Schürmann (36): + +- nir/lower_alu_to_scalar: don't set the nir_builder cursor +- aco: remove 'max_waves' and use 'num_waves' to adjust for LDS and workgroup size +- aco: split num_waves adjustment into separate function +- aco: adjust num_waves for LDS before scheduling +- aco/optimizer: prevent any overflow between SGPR and const offset on MUBUF +- aco/ra: fix live-range splits of phi definitions +- aco: don't re-create vectors for load_barycentric_* intrinsics +- aco/ra: improve split_vector register assignment if the operand is not killed +- aco/optimizer: re-combine and copy-propagate p_create_vector(p_split_vector) +- radv: move two NIR passes out of tight optimization loop +- radv: call nir_lower_vars_to_ssa later +- aco: fix spilling of phis without temp operands +- nir/opt_vectorize: add callback for max vectorization width +- nir: introduce new nir_alu_alu_width() with nir_vectorize_cb callback +- nir/opt_vectorize: refactor src rewriting to avoid unnecessary mov instructions +- aco: correctly validate v_fma_mixhi_f16 register assignment +- radv: don't lower vectorized instructions to 32bit +- radv: use callback for nir_lower_to_scalar +- radv: vectorize nir_op_fdiv & nir_op_flrp & nir_op_ineg +- radv: vectorize nir_op_fabs +- radv: fix swizzles after nir_opt_algebraic_late +- radv: reorder some NIR passes +- nir/opt_shrink_vectors: fix re-using of components for vecN +- radv/shader_info: fix load_frag_coord and load_sample_pos read masks +- aco: fix packed 16bit fneg/fsat optimization +- aco: avoid unnecessary copies in emit_wqm() +- aco: Avoid live-range splits in Exact mode +- aco: fix assertion in insert_exec_mask +- spirv: handle phis decorated with RelaxedPrecision +- radv: Only create noop-fs for graphics pipelines +- radv: create RT traversal as separate shader +- radv/rt: use derefs for the traversal stack +- radv/rt: use stage ID as handle for general and closestHit shaders +- radv/rt: Don't load ClosestHit SBT on every hit, but only once after traversal +- radv/rt: fix nir_builder cursor in lower_rt_instructions() +- radv/rt: simplify lower_rt_instructions() + +Daniel Stone (10): + +- dzn/ci: Don't spam conformance warnings +- CI: Disable Windows jobs +- ci: Allow lima jobs to be globally disabled +- ci: Also disable Windows container builds when down +- ci/windows: Eliminate duplicate script definition +- ci/zink: Add glx-tfp to skips +- ci/lava: Sleep before, not after, API calls +- ci: freedreno farm is down +- CI: Disable Collabora lab +- Revert "CI: Disable Collabora lab" + +Danylo Piliaiev (53): + +- turnip: Try harder to keep LRZ valid and fix a few edge cases +- freedreno/a6xx: Add UNK fields to CP_REG_TEST and CP_COND_REG_EXEC +- turnip: Skip load/stores for tiles with no geometry +- turnip: Add debug option to print gmem load/store skip stats +- turnip: Fix tu_debug_flags values clashing +- tu: Implement VK_EXT_image_view_min_lod +- 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 +- freedreno/a6xx: Add EARLYPREAMBLE flag to all a6xx_sp_xs_ctrl_reg0 +- util/u_trace: Add json output +- docs/u_trace: document u_trace usage +- ir3: handle gl_Layer and gl_ViewportIndex when there is TES + GS +- ir3: Force late-z if FS has global store/atomic +- tu: Fix D32S8 resolves into D32 or S8 in sysmem mode +- spirv: Workaround for RelaxedPrecision on OpLogical* in 3DMark +- turnip: Allow nested CP_COND_REG_EXEC +- turnip: Fix out-of-bounds builder->shader_iova access +- tu/autotune: Prevent division by zero +- turnip: copy disasm strings for pipeline executables +- tu: Disable sample counting for 3d blits during occlusion query +- tu: Reset xfb_used at the end of a renderpass +- meson: Define _GNU_SOURCE for android host system +- meson/pps: Check if libdrm exists to compile pps +- meson/tu: Don't compile libdrm paths if KGSL is selected +- tu: Do not expose storage image/buffer features for PACK16 formats +- tu: Use hw binning or sysmem with QUERY_TYPE_PRIMITIVES_GENERATED +- tu: Don't count 3d blits in QUERY_TYPE_PRIMITIVES_GENERATED +- freedreno: Document rest of GRAS_LRZ_CNTL, clarify UNK_25 event +- freedreno: document GRAS_UNKNOWN_810A +- tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear +- ir3: Use NIR's info.writes_memory to detect when when to force late-z +- tu,freedreno: Refactored START/STOP events for pipeline stats +- tu: Fix prim gen query and pipeline stats query interaction +- zink: re-enable EXT_primitives_generated_query for Turnip +- util/u_trace: Fix iteration over config_control +- turnip: Refactor tracepoints generation to reduce duplication +- turnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints +- freedreno: Add the rest of tracepoints with start/end to perfetto +- freedreno: Refactor tracepoints generation to reduce duplication +- freedreno: Add FD_GPU_TRACEPOINT envvar to toggle tracepoints +- docs/u_trace: Add documentation for \*_GPU_TRACEPOINT envvars +- turnip: Disable LRZ fast-clear for gen1 and gen2 +- tu: Do not dereference descriptorSetLayout in push descriptors tmpl +- zink/turnip: Add comments to already triaged failures for tu baseline +- turnip: Simple breadcrumbs implementation to debug hangs +- tu: WFI after PC_TESSFACTOR_ADDR update +- freedreno: WFI after PC_TESSFACTOR_ADDR update +- ir3/ra: Always insert interval for precolored inputs +- ir3: Never remove GS_HEADER_IR3 sysval input +- tu: Disable LRZ write when alpha-to-coverage is enabled +- freedreno: Disable LRZ write when alpha-to-coverage is enabled +- ir3: Prevent reordering movmsk with kill + +Dave Airlie (82): + +- clc: add simple llvm initialise API +- clc: initialise one more llvm stage +- u_blitter/stencil: take dstbox x/y into accounts for dst fb width +- util/stencil: fix stencil fallback blit shader texture types. +- llvmpipe: add user memory resources to the debug global list. +- gallium/vl: wrap codec support checks in a common function. +- gallium/omx: add video codec supported hook for decode paths. +- meson: add a video codec support option +- gallium/vl: respect the video codecs configure in meson +- vulkan/wsi: keep allocate queue families in image, just don't fill them +- gallivm: move to new pass manager to handle coroutines change. +- radv: precalculate hs offchip parameters. +- radv: precalculate tess ring sizes/offsets. +- radv/ac: introduce a new common function for hs calcs. +- ac: port radeonsi tess factor calculations to common code. +- radeonsi: port tess ring calcs to the common helper. +- zink: avoid extra submits for empty wait cmdbufs. +- zink: don't finish barriers cmd buffer if not used. +- radv: cache the slab bo pointer in the pipeline. +- radv: only dirty line stipple when necessary. +- radv: optimised command buffer reset of vertex bindings. +- aco: move info pointer to a copy. +- aco: move to a minimal aco shader info struct. +- aco/info: reduce the gs ring info to what is needed. +- aco: remove radv specific streamout info +- aco: convert vs and so info over to aco structs. +- aco/info: add some more fields. +- aco/radv: convert to aco shader info at the radv level. +- aco: remove radv vs prolog key from aco internals. +- aco: drop unused radv include +- ac/radv: drop info pointer from the ac and radv shader structs +- aco/radv: drop radv_nir_compiler_options from aco. +- llvmpipe: align scratch size to 64-bit size. +- meson: add build-id to pipe libraries +- vl: fix codec checks to disable properly +- lavapipe: fix depth bias offset flag enables. +- llvmpipe: flush resources for kms swrast path. +- llvmpipe: handle timespec overflow on fence waits. +- nouveau: move codegen into a standalone library. +- nouveau: move codegen to a common higher level directory. +- nouveau/codegen: drop all ubytes from codegen. +- nouveau/codegen: drop gallium headers from the interface. +- llvmpipe: disable alpha test branch if multisample is enabled. +- egl/x11: split large put image requests to avoid server destroy +- egl/x11: add missing put_image cookie cleanups +- wsi/x11: add xcb_put_image support for larger transfers. +- glx/drisw: use xcb instead of X to query connection +- draw/cliptest: add support for guard band + full Z +- zink: workaround depth sampler border color when z24 is z32 +- aco: refactor the radv binary builder out of the core aco fn. +- aco/radv: provide a callback from aco shader building to build binary +- aco/radv: provide a vs prolog callback from aco to radv. +- aco: drop radv_shader.h include +- radv: add a dynamic vertex format cache. +- lavapipe: drop unreachable pNext checks. +- lavapipe: enable variablePointers +- kms/dri: add mutex lock around map/unmap +- crocus: fail query begin if upload allocation fails. +- lavapipe: state latest conformance tests passed +- llvmpipe: fix aniso cube map arrays. +- crocus: fix leak in query code. +- llvmpipe: make last_fence a screen/rast object not a context one. +- llvmpipe: keep context list and use to track resource usage. +- gallivm: use progress from subgroup lowering. +- gallivm: fix casting around read invocation. +- llvmpipe: export ARB_shader_ballot +- lavapipe: expose some subgroup extensions +- zink: fixup subgroup vote/ballot enables. +- zink/llvmpipe/ci: skip broken CTS ballot test. +- util: add reallocarray wrapper for win32 +- llvmpipe: Allocate scene tiles dynamically +- gallium: add a rasterizer state bit for unrestricted depth values. +- mesa/st: disable unrestricted fragment depth values for GL/GLES +- util/pack_color: clamp depth values outside range for unorm formats. +- llvmpipe/fs: handle unrestricted depth values. +- lavapipe: enable VK_EXT_depth_range_unrestricted. +- util/reallocarray: add errno.h include. +- lavapipe: enable VK_FORMAT_R5G5B5A1_UNORM_PACK16 +- gallivm: fix printf hook for cached shaders. +- draw: don't touch info values that aren't valid. +- nir_to_tgsi_info: drop const_buffers_declared +- llvmpipe: finish rendering before flushing frontbuffer resources. + +David Heidelberg (58): + +- ci: skqp: patch skqp to report also GL results +- ci: skqp: upgrade to skqp based on Android CTS 11.0 (r7) +- ci: skqp: update URL +- ci: intel: Merge anv and iris into src/intel/ci +- ci/iris: Enable SKQP on Tiger Lake boards +- ci: traces: switch to Valve trimmed traces +- ci: traces: re-enable disabled traces which are now trimmed traces +- ci: traces: virgl: reenable previously crashing Godot trace +- ci: uprev piglit 2022-05-10 +- ci/iris: skqp: add default GLES rendertests for TGL +- ci/iris: skqp: remove flaking atlastext for TGL +- ci/virgl: fix checksum for valve traces which run on iris +- ci/freedreno: enable ROR and Nheko traces +- ci/i915: add entries for RoR and Nheko traces +- ci/intel: add RoR and Nheko traces and reenable most of Valve traces +- ci/crocus: add RoR and Nheko traces +- ci/llvmpipe: add RoR and Nheko traces +- ci/radeonsi: add RoR and Nheko traces +- ci/virgl: traces: add RoR and Nheko traces +- ci/panfrost: add RoR and Nheko traces +- ci/iris: skqp: remove flaking atlastext for TGL (gl version) +- ci: traces: temporarily disable nheko trace +- ci/virgl: traces: temporarily disable nheko trace +- ci: uprev piglit 2022-06-09 +- ci/etnaviv: sort fails.txt +- ci/etnaviv: add recent fails and remove 3 unexpected passes +- ci/etnaviv: disable tests which takes too long +- ci/etnaviv: add recent flakes for gc2000 +- ci/etnaviv: gc2000: drop flakes from fails +- ci/freedreno: add Blender, Warzone2100, Freedoom and Unvanquished traces +- ci/freedreno: fix A530 glmark2@ideas:speed=10000 trace +- ci/llvmpipe: add Blender, Warzone2100, Freedoom and Unvanquished traces +- ci/iris: add Blender, Warzone2100, Freedoom and Unvanquished traces +- ci/virgl: add Blender, Warzone2100, Freedoom and Unvanquished traces +- ci/virgl: iris: disable Counter Strike 1.6 trace flaking +- ci/crocus: add Blender, Warzone2100, Freedoom and Unvanquished traces +- ci/panfrost: add Blender, Warzone2100, Freedoom and Unvanquished traces +- ci/iris: disable Blender Diorama trace (incompatible with perf. traces) +- ci/freedreno: update restricted traces to the brotli compressed version +- ci/freedreno: smuggle myself into restricted traces access list +- ci/freedreno: disable non-existing trace +- ci: Uprev apitrace to 790380e05854 +- ci: traces: switch to brotli compressed traces +- ci/freedreno: add more restricted traces +- ci/freedreno: temporary disable AmnesiaTDD +- ci/freedreno: disable Stellaris trace +- ci/freedreno: disable SpecOps trace, each run flaky +- Revert "ci/freedreno: temporary disable AmnesiaTDD" +- ci/traces: piglit, be more verbose +- docs: briefly document Gallium Nine +- ci: add script for manage Mesa CI +- ci: Allow disabling the whole of the Igalia farm +- ci: move apitrace instalation outside of x86_test-vk +- ci: wine-apitrace bump to 11.1 +- ci/freedreno: 3 pixel change in Raven restricted trace +- nine: char can be unsigned on non-x86 platforms +- mailmap: fix order of emails for Axel Davy +- ci: set reasonable amount of wget retries for each download + +Dawn Han (6): + +- Add iub features and properties passthrough +- Refactor the descriptor enums to be extensible +- Add iub type to vn_descriptor_type Verified the pNext VkWriteDescriptorSet is not NULL on iub type +- Add the iub binding count tracking +- Refactor and add template support for iub +- venus: enabled iub in physical device + +Denis Pauk (1): + +- panvk: Return VK_ERROR_INCOMPATIBLE_DRIVER for Midgard + +Dmitry Osipenko (1): + +- virgl: Fix unmapping of blob resources + +Dylan Baker (74): + +- VERSION: bump to 22.2-devel for next cycle +- docs: truncate new_features.txt +- docs: add release notes for 22.0.2 +- docs: Add sha256sums for 22.0.2 +- docs: update calendar and link releases notes for 22.0.2 +- docs: update calendar for 22.1.0-rc1 +- docs: update calendar for 22.1.0-rc2 +- winsys/radeon: remove unused simple_list.h +- r300: remove unused simple_list.h +- gallium/rbug: replace simple_list.h with list.h +- gallium/driver_trace: remove simple_list.h +- util/list.h: add a function to move an item in a list +- gallium/util/u_cache.c: remove trailing whitespace +- gallium/util/u_cache: replace simple_list.h with list.h +- gallium/draw: remove trailing whitespace +- gallium/draw: use list.h instead of simple_list.h +- llvmpipe: cleanup trailing whitespace +- llvmpipe: replace uses of simple_list.h with list.h +- util: remove simple_list +- docs: Extend calendar entries for 22.0 by 1 releases. +- docs: update calendar and link releases notes for 22.0.3 +- docs: Extend calendar entries for 22.1 by 1 releases. +- docs: update calendar for 22.1.0-rc3 +- docs: update calendar for 22.1.0-rc4 +- docs: add release notes for 22.0.3 +- docs: Add sh256sum for mesa 20.0.3 +- docs: update calendar and link releases notes for 22.1.0 +- docs: add release notes for 22.1.0 +- relnotes: Add sha256sum and fix minor formatting issues +- docs: Add calendar entries for 22.1 release. +- docs: add release notes for 22.0.4 +- docs: add sha256sum to 22.0.4 notes +- docs: Extend calendar entries for 22.0 by 1 releases. +- docs: update calendar and link releases notes for 22.0.4 +- docs: add release notes for 22.1.1 +- docs: Add sh256sums for 22.1.1 +- docs: update calendar and link releases notes for 22.1.1 +- docs: add release notes for 22.0.5 +- docs: update sha256 for 22.0.5 +- docs: update calendar and link releases notes for 22.0.5 +- docs: add release notes for 21.3.9 +- docs Add sha256 sums for 21.3.9 +- docs: link releases notes for 21.3.9 +- docs: add release notes for 22.1.2 +- docs: add sha256sum to 22.1.2 notes +- docs: update calendar and link releases notes for 22.1.2 +- docs: drop 22.1.4 calendar entry. +- docs: Add calendar entries for 22.2 release candidates. +- docs: Extend calendar entries for 22.1 by 3 releases. +- docs: add release notes for 22.1.3 +- docs: add sah256sum for mesa 22.1.3 +- docs: update calendar and link releases notes for 22.1.3 +- docs: Bump 22.2 branchpoint by two weeks +- anv: add gfx version 12.5 flushes to CCS path +- iris|anv: gfx version 12.5 data cache flush is not a workaround +- VERSION: bump 22.3.0-devel +- VERSION: bump for 22.2.0-rc1 +- .pick_status.json: Update to 8e6bdb2ed31f27c28d258859ec48e8e67f51ff41 +- .pick_status.json: Update to 0a0205f04552ab21971c431a5f8bb7486d664422 +- .pick_status.json: Update to 1a3b086b06c6c1ff63a4abe3752ca0a7a854dc77 +- .pick_status.json: Update to c67e60ae8fefaeadbe06bf0cbd8ad2ee267a6c0e +- .pick_status.json: Update to 70891edd9728e7dd73115171fdb03622ce6450ba +- VERSION: update to 22.2.0 +- Revert "VERSION: update to 22.2.0" +- VERSION: bump to 22.2.0-rc2 +- .pick_status.json: Update to a3bf0da1cbd4b10043c80bf44609a3024b5fcc36 +- .pick_status.json: Update to 24b9ad7cd5ebc7cfa5d03cf0f243ea4841c971b9 +- .pick_status.json: Update to 74fc367127ccf945f4c649dd6ddff955c802e36e +- .pick_status.json: Mark 11ab6087797f805cf158048915c67945613c9a72 as denominated +- VERSION: bump to 22.2.0-rc3 +- .pick_status.json: Update to 0c6fbfca0c91ef012e8ab767a317c07f1f6dc5e6 +- .pick_status.json: Update to 8eac45b27446cd9b9eaeb147af97fff1e09832cb +- .pick_status.json: Update to baf24dea943202b3a92cad0c9f9648597040955a +- .pick_status.json: Update to 3d4c36a3bcc51ed441b2667d92291bea30ef7449 + +Eli Schwartz (1): + +- meson: add various generated header dependencies as order-only deps + +Ella Stanforth (1): + +- v3dv: Implement VK_KHR_performance_query + +Emil Velikov (1): + +- c11: reinstate the original license and authorship + +Emma Anholt (232): + +- nouveau/nir: Don't try to emit OP_FMA pre-nvc0. +- Revert "ci: Disable Google's lab" +- ci/virgl: Add piglit and GL4.3 testing to the virpipe path. +- nir: Add lowering for fround_even on r300. +- nir: Skip fround_even on already-integral values. +- nir: Avoid generating extra ftruncs for array handling. +- turnip: Add TU_DEBUG=layout for dumping image layouts. +- freedreno/ir3: Make sched nodes before adding deps. +- turnip: Add nir_opt_conditional_discard. +- freedreno/ir3: Call nir_opt_find_array_copies(). +- turnip: Ignore TOP/BOTTOM_OF_PIPE bits in subpass src/dst dep flags. +- turnip: Don't disable LRZ in subpasses after the first in the easy case. +- nir_to_tgsi: Add a workaround for virglrenderer TG4. +- nir_to_tgsi: Fix assertion failures handling 64-bit vec3/vec4 ssa undefs. +- nir_to_tgsi: Don't forget to split 64-bit store_per_vertex_output. +- nir_to_tgsi: Avoid swizzling from undefined channels in load_output. +- nir_to_tgsi: Allocate the primid sysval to num_inputs, not num_outputs. +- tgsi: Emit ureg HW_ATOMIC decls in range order. +- tgsi_to_nir: Emit load_ubo_vec4 instead of load_ubo on non-integer HW. +- nine: Disable optional use of TTN when MUL_ZERO_WINS is available. +- r600: Fix up some mis-indentation of blocks. +- ci/r600: Manual run updates. +- r600: Fix reading back from a temp array immediately after writing on RV770. +- r600/sb: Avoid causing an exception when getting the reciprocal of 0u. +- r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled. +- nouveau/nv50: Print the number of loops in shader-db output. +- ci/nouveau: Add expectations files for GM206. +- ci/nouveau: Add nv92 xfails. +- nouveau/nir: Disable bitfield ops pre-nvc0. +- nouveau/nv50: Enable mesa/st alpha test lowering on nv50 with NIR. +- nouveau/nv50: Set the primid sysval flag if it's in the sysval list, too. +- nouveau/nir: Fix the inverted sense of usesSampleMaskIn. +- nouveau/nir: Fix edgeflag input detection. +- nouveau/nir: Set the input for vertex/instance ID like TGSI does. +- ci/dzn: Cut the runtime by running 1/3 of the enabled tests. +- nir_to_tgsi: Make vec_to_movs avoid unsupported coalescing for 64-bit. +- nir_to_tgsi: Lower FS input array indexing since we don't declare input arrays. +- tgsi: Extend array lengths when merging usage_masks. +- virgl: Switch to nir-to-tgsi by default. +- nir/lower_tex: Make the adding a 0 LOD to nir_op_tex in the VS optional. +- nir_to_tgsi: Drop the txl(lod=0)->tex nir_lower_tex() fixup. +- nouveau/nir: Move FS output stores to the end of the last block. +- ci/nouveau: Add MESA_GLES_VERSION_OVERRIDE=3.1 baseline state. +- nouveau/nir: Add support for pre-GF100 images and ssbos. +- nouveau/nir: Put the UBO offset indirect into the address reg. +- nouveau: Enable the NIR backend by default. +- util: Add some unit tests of the half-float conversions. +- nir: Eliminate out-of-bounds read/writes in local lowering. +- nir: Don't assert on tg4 offset range. +- svga: Add support for requesting NIR and translating to TGSI. +- ci/iris: Demote APL deqp to manual-only for now. +- ci/iris: Add a bunch of APL and KBL flakes recently. +- mesa/st: Always generate NIR from GLSL, and use nir_to_tgsi for TGSI drivers. +- mesa/st: Remove st_glsl_to_tgsi. +- mesa/st: Remove TGSI shader program variant handling. +- mesa/st: Drop the attrib remapping in st_prepare_vertex_program(). +- mesa/st: Remove TGSI-only shader lowering code. +- tgsi_scan: Remove unused input_array_last/output_array_last. +- glsl: Remove UBO reference lowering. +- mesa: Remove unused Mesa IR PROGRAM_* register files. +- gallium/tgsi: Remove tgsi_emulate. +- mesa/st: Remove now unused TGSI paths from disk cache. +- glsl: Retire the non-NIR GLSL linking paths. +- gallium: Remove now-unused shader caps. +- glsl: Remove the unused lower_if_to_cond_assign. +- glsl: Drop the dead MOD_TO_FLOOR path. +- mesa/st: Clean up a bit of st_prepare_vertex_program(). +- compiler/glsl: Remove the dead parts of build_program_resource_list(). +- glsl: Remove EmitNoLoops and the associated lower_jumps(lower_break=true) code. +- glsl: Remove unused lower_variable_index_to_cond_assign. +- svga: Set lower_bitops for vpu9 screen. +- glsl: Stop lowering ir_quadop_vector. +- nouveau: disable fences when running under drm-shim. +- Revert "ci: remove nouveau from shader-db runs" +- ci/iris: Cut the glk-deqp test coverage in half. +- glsl: Make all drivers take the GLSLOptimizeConservatively path. +- turnip: Add a TU_DEBUG=perf debug option. +- ci/crocus: Manual CI updates after CI was down for a bit. +- ci/crocus: Merge the piglit runs with the deqp runs. +- i915g/ci: Add depth-clear-precision-check xfails like everyone else. +- ci/crosvm: Simplify the CID setup. +- ci/crosvm: Rename VSOCK_TEMP_DIR -> VM_TEMP_DIR. +- ci/crosvm: Terminate the previous crosvm after a deqp-runner timeout. +- freedreno/ir3: Fix 16-bit bit_count. +- spirv: Use nir_vec_scalars() to simplify matrix transpose. +- spirv_to_nir: Cast RelaxedPrecision ALU op dests to mediump. +- turnip: Make RelaxedPrecision-decorated ALU ops 16-bit. +- freedreno/ir3: Add support for 16-bit nir_texop_lod. +- freedreno/ir3: Lower texture instructions used only for f2f16 to 16-bit. +- mesa/st: Only scalarize for doubles lowering if we're lowering doubles. +- glsl,nir: Move i/umulExtended lowering to NIR. +- panfrost: always print the bad ALU op if we're failing to translate. +- ci/turnip: Add missing xfails for a618 full VK run +- nir_lower_mediump: Drop assertion about not containing movs. +- freedreno/ir3: Enable load/store vectorization for SSBO access, too. +- freedreno/ir3: Make the types of tex coord padding match. +- freedreno/ir3: Fix validation of half-precision image store values. +- freedreno/ir3: Fold 16-bit conversions into image load/store src/dsts. +- i915g: Ignore the new SEPARABLE_PROGRAM property. +- ci/i915: Merge the piglit and deqp runs. +- ci/i915: Update manual piglit job expectations. +- turnip: Don't bother creating tile_load/store_cs for sysmem rendering. +- turnip: Refactor a bit of tu6_emit_tile_select(). +- turnip: Move binning decisions from FB usage time to FB creation time. +- turnip: Use fb->binning_possible to decide on conditional tile load/stores. +- ci/turnip: Add a little forced touch-testing of XFB with no binning requested. +- turnip: Refactor a bit of repeated code for subpass setup. +- turnip: Include 3d-based CmdClearAttachments() in binning visibility. +- turnip: Refactor a bit of subpass attachment processing. +- turnip: Allow load/store skipping in vkCmdClearAttachments(). +- turnip: Move tile loads back into the draw CS. +- nouveau/nv30: Make sure fsat is lowered in the VS. +- gallium+glsl: Remove EmitNoSat/PIPE_CAP_VERTEX_SHADER_SATURATE +- glsl: Remove stale lower_instructions comments. +- glsl: Move exp/log-to-exp2/log2 lowering to glsl-to-NIR. +- tgsi_exec: Fix inf/nan handling for divide by zero. +- glsl: Drop the div-to-mul-rcp lowering for floats. +- nir: Fix idiv lowering on !NativeIntegers when lower_fdiv is also set. +- glsl: Drop INT_DIV_TO_MUL_RCP lowering. +- ci/crocus: Drop g41's xfail for rgba_half_float_oes. +- ci/iris: Disable skqp until it can be stabilized. +- turnip: Reverse the order of walking pipes or tiles on odd rows. +- mesa/st: Abort the linking on driver link failure. +- .gitignore: Qualify the path for the ignored build directory. +- nir: Rename is_arb_asm to use_legacy_math_rules and document its meaning. +- gallium: Rename MUL_ZERO_WINS to LEGACY_MATH_RULES. +- nir_to_tgsi: Set LEGACY_MATH_RULES cap for use_legacy_math_rules shaders. +- r600/sfn: Implement 0*x=0 behavior for use_legacy_math_rules. +- nouveau/nir: Implement mul_zero_wins behavior for use_legacy_math_rules. +- tgsi_to_nir: Set use_legacy_math_rules for TGSI_PROPERTY_LEGACY_MATH_RULES. +- gallium: Rename PIPE_CAP_TGSI_LEGACY_MATH_RULES to drop "TGSI" +- Revert "nine: Disable optional use of TTN when MUL_ZERO_WINS is available." +- iris: Enable PIPE_CAP_LEGACY_MATH_RULES. +- crocus: Enable PIPE_CAP_LEGACY_MATH_RULES. +- ci/dzn: Skip a test that intermittently times out at a minute. +- ci/iris: Disable blender-demo-cube_diorama on APL. +- ci: Terminate capture-devcoredump before tarring up artifacts. +- turnip: Document some fields about resolves. +- ci/bare-metal: Apply autopep8 to our python scripts. +- ci/bare-metal: Add per-boot-stage timeouts for fastboot and poe. +- ci/bare-metal: Get rid of servo's serial feed threads. +- ci/bare-metal: Add handling of netboot firmwares for servo boards. +- ci/bare-metal: Add test phase timeouts to all boards. +- ci: Remove the unused .test-manual +- ci/vc4: Merge quick_shader in with deqp-gles +- ci/vc4: Turn on deqp-egl testing by default. +- vc4: Propagate txf_ms's dest_type to the lowered txf. +- freedreno/ir3: Disable image/ssbo 16-bit conversion folding pre-a6xx. +- freedreno/a5xx: Set the buffer bit appropriately in XS_CTRL_REG0. +- ci/freedreno: Turn a530 back on by default and update expectations. +- ci/bare-metal: Remove "stage: test" from .baremetal-test. +- ci/bare-metal: Consolidate needs declarations in .baremetal-test-\*. +- ci/bare-metal: Collapse artifacts wget by default. +- ci/traces: GC unused code for DXVK trace replay. +- ci/traces: Drop ZINK_USE_LAVAPIPE ICD override. +- ci/freedreno: Add vulkan+gl integration testing in piglit. +- ci/turnip: Test traces on turnip using zink. +- ci/turnip: Trim the a630 VK run a bit. +- ci: Use "!references" to manage scheduled pipeline rules. +- ci: Pull out farm disables to a reused rule. +- ci: Pull common zink frontend rules to a shared rule list. +- ci/freedreno: Use !references to clean up restricted traces rules. +- ci: Simplify vulkan rules using !references. +- ci: Split core GL from core VK-or-GL rules. +- ci/freedreno: Filter when we run test jobs for VK or GL changes. +- ci/zink: Reuse anv-rules. +- ci/zink: Simplify lavapipe rules setup, and clarify what the rules are for. +- ci: Remove the trailing "when: never"s from rules. +- ir3: Retire the cp postsched pass now that we do RA in SSA. +- ci: Uprev deqp to 1.3.3.0. +- ci/llvmpipe: Skip ssbo.layout.random.all_shared_buffer.36 +- ci: Make the retry policy default for all jobs. +- ci: Rename .ci-run-policy rules to .build-rules. +- ci: Drop .build-rules from container jobs. +- ci: Remove .build-rules from core test job definitions. +- ci: Fix non-freedreno performance jobs running during Marge merges. +- ci: Remove GIT_STRATEGY from .test-manual-mr. +- mesa/st: Disable OES_texture_3D for PIPE_CAP_MAX_TEXTURE_3D_LEVELS==0. +- vc4: Disable OES_texture_3D being exposed. +- vc4: Move previous existing 3D xfails up to the group of 3d xfails. +- vc4: Add notes on the remaining dEQP failures. +- turnip: Account for additional_cs_reserve_size for both bin and render. +- turnip: Fix up per-stage additional size accounting. +- turnip: Fix the reservation for vertex inputs. +- turnip: Refactor vertex input setup a little. +- ir3: Make sure to pass the interp_mode through in our load_bary lowering. +- nir+ir3: Rename load_size_ir3 to load_center_rhw_ir3. +- freedreno: Rename the "SIZE" regs for interpolateAtOffset to "CENTERRHW" +- ir3: Clarify what's happening in the interpolateAtOffset() math. +- ir3: Use non-persp interpolation when appropriate for interpolateAtOffset. +- zink: Do the timestamp-to-ns math in a double to have better precision. +- mesa: Fix the error check for VertexAttrib*. +- vc4: Work around a HW bug with 2-vert line loops. +- vc4: Add links to test bug reports. +- kopper: Fix the return value of kopperSetSwapInterval(). +- kopper: Use the swap interval that was set at swapchain creation time. +- glx: Unify dri2/dri3 vblank_mode logic. +- kopper: Respect the vblank_mode env var. +- egl: Just include driconf.h instead of redefining its values. +- loader: Just include driconf.h instead of redefining its values. +- ci/freedreno: Mark an occasional flake pass that happens on a530. +- ir3: Fix the no-emitted-vertex condition emission in geom lowering. +- mesa/arbprog: Move the GLSLFragCoordIsSysVal handling to prog_to_nir. +- mesa/arbprog: Use nir_lower_io_to_temporaries. +- mesa/arbprog: Stop doing optimization in the ARB program IR. +- ci/crocus: Update portal 2 trace shas for the recent fix. +- ci/crocus: Disable the blender trace. +- ci/crocus: Drop xfails for the recent image external fix. +- freedreno/ir3: Enable core NIR's 16-bit ALU optimizations. +- intel/fs: Simplify brw_barycentric_mode() args. +- ci/bare-metal: Add timeouts to the shell commands called in fastboot. +- ci/freedreno: Switch a630 to manual/disabled for lab maintenance. +- glsl: Use the same NIR path for shared mem lowering as SPIRV does. +- glsl: Remove optimize_swizzles. +- ci/turnip: Add a bit of spilling-vs-ballot testing on a618. +- ci/freedreno: Add some more known flakes for a630 from our IRC logs. +- ci/turnip: Bump up the a630 full run timeout. +- ci/turnip: Add a couple of missing a630 fails. +- Revert "ci/freedreno: Switch a630 to manual/disabled for lab maintenance." +- nir: Split usub_sat lowering flag from uadd_sat. +- ci/crocus: Fix the commented YML for blender-demo-cube_diorama. +- gallivm: Refactor a bit of UBO/SSBO range checking. +- gallivm: Optimize single-invocation SSBO stores. +- ci/virgl: Make the VM-based virgl tests report to #virgl-ci, too. +- nir: Add an opt pass for phis after if choosing between true/false. +- glsl: Remove opt_conditional_discard(). +- nir: Use nir_foreach_phi_src consistently. +- ci/freedreno: Update a630 s8 resolve xfails. +- turnip: Split the tiling config into separate layouts based on CCU usage. +- turnip: Use the GMEM CCU space for attachments when the stores won't. +- zink: Make sure that we keep the existing ici pNext chain on inserts. +- spirv: Mark phis as mediump instead of directly lowering them to 16 bit. + +Enrico Galli (6): + +- microsoft/spirv_to_dxil: Add pass to lower dynamic accesses on ubo[1] +- microsoft/compiler: Fix for arrays of 1 element +- microsoft/compiler: Add support for unnamed ubos +- microsoft/compiler: Fix when using a shadow sampler more than once +- microsoft/spirv_to_dxil: Fix discard semantics +- microsoft/spirv_to_dxil: Fix discard to demote + return pass + +Eric Engestrom (36): + +- meson: replace deprecated dep.get_pkgconfig_variable(...) with dep.get_variable(pkgconfig : ...) +- docs: show and link to the new macOS CI +- broadcom/rpi4-skips: drop duplicated lines +- mailmap: update my email to Igalia +- vulkan: add script to detect & replace identifiers that have been renamed +- vulkan/runtime: use updated tokens from vk.xml +- vulkan: use updated tokens from vk.xml +- nir: use updated tokens from vk.xml +- radv: use updated tokens from vk.xml +- v3dv: use updated tokens from vk.xml +- turnip: use updated tokens from vk.xml +- zink: use updated tokens from vk.xml +- lavapipe: use updated tokens from vk.xml +- pvr: use updated tokens from vk.xml +- anv: use updated tokens from vk.xml +- dzn: use updated tokens from vk.xml +- panvk: use updated tokens from vk.xml +- venus: use updated tokens from vk.xml +- zink: fix portability_subset usage after rename from EXTX to KHR +- zink: drop unused VkPhysicalDevicePortabilitySubsetPropertiesKHR +- zink: add missing guards around \`have_{ext}` +- docs/isl: fix typos & formatting +- vk/util: handful of pythonic cleanups +- vk/util: simplify extensions gen code +- util/list: rename LIST_ENTRY() to list_entry() +- nouveau: use existing list_first_entry() macro instead of re-writing it +- docs/features.txt: mark VK_ANDROID_native_buffer as supported on turnip +- docs/features.txt: mark VK_ANDROID_native_buffer as supported on v3dv +- docs/ci: fix Emma's name +- turnip: expose support for VK_EXT_acquire_drm_display +- ci: add \`--print-errorlogs` to \`meson test` +- bin/gen_release_notes.py: bump advertised vulkan version to 1.3 +- vk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties +- wsi/x11: fix memleak in wsi_x11_connection_create() +- meson: replace manual compiler flags with meson arguments +- broadcom: fix dependencies in static_library() calls + +Erico Nunes (11): + +- ci: put lima farm back online +- docs/ci: fix literalinclude of caching setup files +- lima/ppir: optimize branch comparison when possible +- lima/ppir: merge branch nodes in simple cases +- egl: Fix DETECT_OS macro usage +- ci: update linux kernel to v5.17 +- ci: update docs for linux kernel uprevs +- lima/ci: update piglit ci expectations +- lima/ci: reenable lima-mali450-piglit-gpu:arm64 +- lima/ci: Don't skip piglit opengl 1 tests +- ci: Revert "CI: Lima farm is offline" + +Erik Faye-Lund (157): + +- gallium: rename continue shader-cap +- gallium: rename dround shader-cap +- gallium: rename dfracexp/dldexp shader-cap +- gallium: rename ldexp shader-cap +- vulkan: explicitly cast object-type enum +- meson: turn on -Wno-unused-function project-wide +- nir: introduce and use nir_component_mask +- dzn: fixup indent +- dzn: remove all usage of ComPtr +- dzn: always use ID3D12Device1 +- dzn: always use ID3D12GraphicsCommandList1 +- dzn: use ID3D10Blob instead of ID3DBlob +- dzn: pass IDXGIAdapter1 to d3d12_create_device +- dzn: port to d3d12 c-api +- dzn: add a bunch of missing struct-keywords +- dzn: drop auto usage +- dzn: drop using references +- dzn: no more reinterpret_cast +- dzn: use define instead of constexpr +- dzn: use c-style for-statement +- dzn: use c-style initialization +- dzn: c-style casts +- dzn: do not set unused default member initializer +- dzn: port code to plain c +- dzn: merge util sources +- dzn: remove needless defines +- dzn: remove some needless casts +- dzn: clean up pointer syntax +- dzn: add space before += operator +- dzn: drop needless enum-casts +- dzn: fixup indent +- dzn: remove stale cpp_args +- nir/lower_int64: do not try to clamp floats to int-range +- vulkan: do not depend on alignof(void) +- lavapipe: quiet non-conformant warning on ci +- panvk: quiet non-conformant warning on ci +- vulkan: use c_msvc_compat_args for shared code +- vulkan: drop empty vulkan_wsi_args +- microsoft/clc: fixup indentation +- microsoft/compiler: fixup indentation +- meson: remove unused defines +- meson: deprecate specifying osmesa-bits +- gallium/xlib: fix stale comment +- mesa: add missing error-path +- util: fix test on msvc +- lavapipe: tolerate NULL UBO and SSBO descriptors +- lavapipe: tolerate NULL image view descriptors +- lavapipe: tolerate NULL image-buffer view descriptors +- lavapipe: tolerate NULL sampler-buffer view descriptors +- lavapipe: add support for null-descriptors from EXT_robustness2 +- zink: pass screen to extension getter macro +- zink: initialize dispatch-table before queue-init +- zink: call vk-functions through dispatch-table +- zink: pass screen to zink_create_instance +- zink: dynamically load a few functions +- zink: use run-time linking to loader +- dzn: reset correct list +- vulkan/wsi: unbreak win32-support +- d3d12: add missing cmath includes +- tests/graw: rename shaders from .sh to .txt +- dzn: add a debug-flag to wait for the debugger +- dzn: add debug option to redirect stdout/stderr +- editorconfig: remove scons-ism +- editorconfig: remove html-rule +- editorconfig: remove m4-rule +- editorconfig: remove pl-rule +- radeonsi: port amdgcn_glslc build to meson +- freedreno: remove stale makefile +- intel: remove stale makefile +- meson: modernize win_flex stdint.h logic +- c99_compat.h: remove inline and __func__ shims +- util: add missing c99_compat.h includes +- util: remove needless c99_compat.h includes +- egl: remove needless c99_compat.h includes +- gallium/util: remove needless c99_compat.h includes +- mapi: remove needless c99_compat.h includes +- gallium: remove needless c99_compat.h includes +- include: remove needless c99_compat.h includes +- intel/isl: remove needless c99_compat.h includes +- vulkan/device_select: remove needless c99_compat.h includes +- include: drop c99_math.h +- include: drop c11_compat.h +- pvr: do not use c_msvc_compat_args +- turnip: do not do STATIC_ASSERT on a variable +- freedreno: do not use variable in STATIC_ASSERT +- freedreno: do not do STATIC_ASSERT on variables +- iris: do not do STATIC_ASSERT on variables +- freedreno: degrade STATIC_ASSERT to assert +- v3dv: do not do STATIC_ASSERT on variables +- util: add IS_POT macro +- intel/compiler: use macro for power-of-two check +- broadcom/compiler: use macro for power-of-two check +- util: use static_assert directly +- util: implement STATIC_ASSERT using c++11 / c11 primitives +- meson: add back -Werror=vla to msvc compat flags +- ci/windows: add back build-error detection +- d3d12: move cubemap-lowering to common-code +- microsoft/compiler: mark image-functions as such +- microsoft/compiler: make sampler-lowering optional +- microsoft/spirv_to_dxil: lower cube-images to 2d arrays +- dzn: enable binding_model tests +- dzn: correct assert-condition +- dzn: handle stencil-attachment-optimal layout +- dzn: use a null-rtv to handle no-attachment +- dzn: enable two more exts +- util: sort includes +- llvmpipe: assume c99 +- c99_compat.h: assume c99 support +- util: use c11 alignof instead of our own +- glcpp: remove outdated msvc hack +- vulkan/util: assume c11 +- util: use c11 alignas instead of rolling our own +- gallium: remove stale comment +- gallium: reorganize includes +- llvmpipe: use c11 alignas instead of PIPE_ALIGN_VAR +- gallium: use c11 alignas instead of PIPE_ALIGN_VAR +- gallium: use c++11 alignas instead of PIPE_ALIGN_VAR +- gallium: remove repeated check +- gallium: remove unused macros +- gallium: clean up PIPE_ALIGN_STACK-definition +- docs/zink: correct requirement for tbos +- dzn: correct order of src_subres and dst_subres args +- docs: set language to english +- dzn: fill in driver name and info +- dzn: fill in float-control details +- dzn: fill in non-uniform-indexing props +- dzn: fill in bindless props +- dzn: fill in depth/stencil resolve props +- dzn: fill in minmax props +- dzn: fill misc props +- dzn: expose VK_KHR_driver_properties +- zink: remove pointless test +- zink: remove pointless assert +- zink: drop pointless comment +- llvmpipe: merge all rasterizer-bind functions +- llvmpipe: consolidate legacy_points and multisample state +- llvmpipe: clean up bresenham implementation +- docs/zink: correct name of extension +- docs/zink: document required VK_KHR_swapchain_mutable_format +- docs/zink: document required VK_EXT_border_color_swizzle +- zink: warn about missing image2DViewOf3D feature +- zink: fix EXT_color_write_enable check +- gallium/hud: do not use texture-rect for font +- llvmpipe: remove unused function +- zink: clean up extension emitting +- zink: set dynamic indexing caps +- zink: more accurately set {Sampled,Image}1D caps +- zink: more accurately set {Sampled,Image}Buffer caps +- zink: more accurately set ImageQuery cap +- docs: fixup link to virgl docs +- zink: add have_D32_SFLOAT_S8_UINT boolean +- zink: do not use VK_FORMAT_D32_SFLOAT_S8_UINT without checking +- zink: type_main -> type_void_func +- zink: add spirv_builder_function_call +- zink: wrap discard in a function +- zink: clamp miplodbias when creating sampler +- docs/zink: document rgtc requirement + +Fabrice Fontaine (1): + +- src/util/futex.h: fix build on 32-bit architectures using 64-bit time_t + +Feng Jiang (1): + +- virgl: do not share virgl_screen between different drm_files + +Filip Gawin (5): + +- r300: Print warning when stubbing derivatives +- r300: keep negation if w is an inline constant +- r300: don't check for unitialized reads when rewriting register +- r300: prefer old not native swizzle in constant folding +- r300: don't read from output transform_r300_vertex_SEQ/SNE + +Francisco Jerez (2): + +- intel/dev: Compute pixel pipe information based on geometry topology DRM query. +- intel/fs/xehp+: Emit scheduling fence for all NIR barriers on platforms with LSC. + +Frank Binns (3): + +- pvr: replace p_compiler.h boolean with stdbool +- pvr: shorten error to err in label names +- pvr: Add TI AM62 as a supported device. + +Georg Lehmann (74): + +- aco: Remove some old comments in aco_opcodes.py. +- aco: Reuse previous -1 result in find_msb to avoid using VOP3. +- nir/lower_mediump: Add a new pass to fold 16bit image load/store. +- aco: Implement image_store d16. +- aco: Implement image_load d16. +- radv: Use nir_fold_16bit_image_load_store_conversions. +- radv: Run copy_prop and dce after folding 16bit sampling/load/store. +- aco: Remove D16 zero components from image stores. +- meson: Tell glslang to be quiet. +- radeonsi: Use nir_fold_16bit_image_load_store_conversions. +- wsi/x11: Don't leak xcb_get_geometry_reply_t. +- nir/opt_algebraic: Fix mask in shift by constant combining. +- nir/opt_algebraic: Simple xor/ishr optimizations. +- radv: Don't retile read-only images. +- nir/opt_algebraic: Optimize Doom Eternal's word extract by LSB. +- aco: Implement uclz. +- aco: Implement usub_sat. +- aco: Implement isub_sat. +- ac/llvm: Implement usub_sat and isub_sat. +- ac/llvm: Implement uclz. +- nir: Add optional lowering for mul_32x16. +- radv: Lower mul_32x16. +- radv: Lower hadd/hradd. +- radv: Lower 8bit isub_sat/usub_sat. +- radv: Enable VK_INTEL_shader_integer_functions2. +- radv, aco: Packed usub_sat/isub_sat. +- zink: Use VK_USE_64_BIT_PTR_DEFINES to check for 64bit platforms. +- radv, aco: Lower txf offset in NIR. +- nir/lower_tex: Add lower_array_layer_round_even option. +- radv, aco: Round texture array layer in NIR. +- vulkan: Spec update to 1.3.217. +- radv: Implement VK_EXT_non_seamless_cube_map. +- aco: Print r128/a16 MIMG bits separately. +- aco: Remove r128_a16 MIMG builder option. +- anv: Implement VK_EXT_non_seamless_cube_map. +- radv: Remove redundant memset in radv_descriptor_set_create. +- radv: Check descriptor pool entry count before allocating a new set. +- radv: Don't check if we need to copy immutable samplers for non push templates. +- aco/ra: Static assert that changing instruction type to VOP2 is valid. +- aco/ra: Move mac encoding optimization to its own function. +- aco/ir: Pad SOP2 and SOPC to the same size as SOPK. +- aco/ra: Optimize some SOP2 instructions with literal to SOPK. +- aco/optimizer: Convert s_add_u32 with literals to s_add_i32 if carry is not used. +- aco/optimizer: Optimize SOPC with literal to SOPK. +- r600/sfn: Add missing std::array include. +- aco: Fix swapping sources in SOPC -> SOPK optimization. +- aco/assembler: Fix s_bitreplicate_b64_b32 on GFX9. +- nir_to_tgsi: Lower uadd_sat/usub_sat. +- zink: Lower uadd_sat/usub_sat. +- r600: Lower uadd_sat/usub_sat. +- ir3: Implement [iu]sub_sat. +- nir/lower_io: Fix array length of buffers larger than INT32_MAX. +- nir/opt_algebraic: Optimize [ui](add|sub)_sat with 0. +- radv,aco: Don't lower and vectorize 16bit iabs. +- radv: Remove ineg from lower_bit_size_callback callback. +- radv, aco: Don't lower 16bit isign. +- ir3: Only run 16bit tex NIR passes on a5xx+. +- ir3: Lower alu to scalar if nir_legalize_16bit_sampler_srcs made progress. +- nir: Rewrite and merge 16bit tex folding pass with 16bit image folding pass. +- nir/lower_mediump: Add an option to only fold if all tex sources can be folded. +- ir3: Stop using nir_legalize_16bit_sampler_srcs. +- aco: Add G16 opcodes. +- aco: Support 16bit sources for texture ops. +- radv: Fold 16bit tex sources. +- aco: Add a note about G16 without A16 to README-ISA.md. +- aco/ir: Generalize (un)ordered_swapped. +- aco/ir: Add integer get_cmp_info. +- aco/ir: Fix swapped nle. +- aco/ir: Add vcmpx opcode to get_cmp_info. +- aco/ir: Add v_cmp_class to get_cmp_info. +- aco/ir: Add swapped opcode for v_cmp_u/v_cmp_o. +- radeonsi: Stop using nir_legalize_16bit_sampler_srcs. +- nir/fold_16bit_tex_image: Default to only_fold_all. +- aco: Force tex operand to have the correct sub dword size before packing. + +Gert Wollny (85): + +- virgl: Extend integer write out output fix to all non-move integers ops +- r600/sfn: Fix store_shared_r600 write masks +- ntt: Add option to not optimized register allocation +- nir: Add pass to split 64 bit vec3 and vec4 variable access and phis +- ntt: Split 64 bit vec3 and vec4 local variables and phis +- virgl: Clear all indirect flags when writing to a temporary +- nir: Don't optimize to 64 bit fsub if the driver doesn't support it +- ntt: remove dead input variables before lowering FS IO +- r600/sb: Don't optimize float GT and GE +- r600: tune nir options +- r600: Add support for TGSI_OPCODE_ATOMIMIN and IMAX +- virgl: don't move input gl_SampleMaskIn to a temp +- r600: Allow eight bit, three channel formats for vertex buffers +- nir: honor lower_double options for ffloor and ffract +- r600/sb: Don't create three source ops with all kcache values +- r600/sb: Fall back to un-optimized shader if scheduling fails +- virgl: Don't let ntt optimize the register allocation +- tgsi: Don't bother setting the TGSI_PROPERTY_SEPARABLE_PROGRAM +- virgl: Submit the TGSI_PROPERTY_SEPARABLE_PROGRAM when the host understands it +- r600: Add number of ALU groups to statistics +- r600: Make sure that LDS instructions only use bank swizzle 012 +- r600: Update nir options +- r600/sfn: rewrite NIR backend +- r600: enable sb by default also for NIR +- r600: Cleanup nir options +- r600/sfn: support nir_op_mulz and legazy math rules +- r600/sfn: Add missing copyright information +- r600/sfn: Don't use assert to test success of operation +- r600: limit loops when trying to merge alu groups +- r600/sfn: Never consider an op with register dest as dead +- r600/sfn: Add support for fdph +- r600/sfn: lower CLIPVERTEX to clip planes +- r600/sfn: emulate pmr::monotonic_buffer_resource if needed +- r600/sfn: clean up some commented out code +- r600/sfn: fix storing shader output array locations +- r600/sfn: lower undef to zero +- r600/sfn: count LDS queue pop reads separately in assembler +- r600/sfn: Fix the kcache failure handling +- r600/sfn: Fix emmision of LDS instructions +- r600/sfn: Fix used of local shared write mask +- r600/sfn: Fix streamout with non-zero component write +- r600: don't dump shader info to files on debug +- r600/sfn: make sure the memory pool is released after shader translation +- r600/sfn: lower the right shader variant +- r600: Delete possible old NIR variant when translating from TGSI +- r600: don't clone the nir shader, just use it +- r600ß/sfn: Don't fall through with VS outputs +- r600/dri-tweak: Disable ARB_shader_image_load_store for "Tomb Raider 2013" +- r600/sb: fall back to unoptimized shader if RA fails +- r600: Don't set TES_EVAL UCP dirty when it is not supported +- virgL: lower fneg and fabs +- virgl: honor host caps in shader cash sha evaluation +- r600/sfn: Factor out fragement shader class for EG +- r600/sfn: Support pre-EG style FS input +- r600/sfn: Prepare StreamOut instruction for pre EG opcodes +- r600/sfn: Handle slot differences between pre-EG and EG +- r600/sfn: Handle chipclass with kcache allocation +- r600/sfn: Handle buffer size query on pre-EG +- r600/sfn: Handle pre-EG GS input fetch +- r600/sfn: Handle primitive input handling for pre-EG +- r600/sfn: Handle non-compressed MS texel fetch +- r600/sfn: Set trans flag for flt_to_int on pre-EG +- r600/sfn: Handle pre-EG buffer fetch +- r600/sfn: Disable FP64 for pre-CEDAR +- r600/sfn: Advertise support for fmulz +- r600/sfn: Enable NIR for pre RG hardware +- r600/sfn: remove leftover debug output +- r600/sfn: Handle R600 class sin/cos +- r600: increase possible stack size in binary code +- r600/sfn: Schedule shift instruction on R600 in t-slot +- r600/sfn: Add GS thread fix just like the TGSI code path +- r600/sfn: Sort FS inputs to make interpolated values come first +- r600/sfn: Fix color outputs when color0 writes all +- r600: Force NOPs when loading AR on R600 class hardware +- r600/sfn: Handle R600 scratch read +- r600: Don't use SB with R600 style scratch reads +- r600/sfn: Handle color0 writes all on R700 like on EG +- r600/sfn: Don't tag mem-ring and stream instructions as exports +- r600/sfn: Don't schedule GDS instructions early +- r600/sfn: Don't scan the whole block for ready instructions +- r600/sfn: Use a heuristic to keep SSBO setup and store close +- r600: Fix reporting TGSI IR support +- r600/sfn: Use a low number for unused target register +- virgl: when reading back wait first, then do the transfer +- r600/sfn: override register ID when it doesn't matter + +Glenn Kennard (1): + +- nv30: Fix non-scissored clears after a scissor has been set + +Greg Depoire--Ferrer (5): + +- util/queue: add missing space to comment in util_queue_destroy +- zink: check for error when initializing util_queue +- lavapipe: check for error when initializing lvp_queue +- util/queue: handle thread cration failure in util_queue_adjust_num_threads +- zink: fix crash on dlclose when zink_internal_create_screen failed + +Guilherme Gallo (48): + +- ci/lava: Encapsulate job data in a class +- ci/lava: Filter log lines from LAVA return +- ci/lava: Return test-suite result as exit code +- ci/lava: Fix LAVA job validation +- ci/lava: Set lava-signal to kmsg +- ci/lava: Always validate the lava job +- ci/lava: Use lava-test-case to run custom scripts in LAVA +- ci/lava: Trap init-stage2.sh background processes +- ci/lava: Fix shebang in deqp-runner.sh +- ci/lava: Parse all test cases from 0_mesa suite +- ci/lava: Let LAVA job submitter run without JWT file +- ci/lava: Reduce LAVA boot phase timeout to 3 minutes +- ci/lava: Cancel the job if the script is interrupted +- ci/lava: Improve exception handling +- ci/lava: Retry when data fetching log RPC call is corrupted +- ci: Fix init-stage2 exit code +- ci: Update trace after CI fix +- ci: Fix tests expectations +- ci/lava: Make job submitter parse the job result +- ci/lava: Fix colored LAVA outputs +- ci/lava: Fix Gitlab Section markers +- ci/lava: Add support for more complex color codes +- ci/lava: Filter out undesired messages +- ci/lava: Improve result parsing regex +- ci/lava: Create Gitlab log sections handler +- ci/lava: Create LogFollower and move logging methods +- ci/lava: Follow job execution via LogFollower +- ci/lava: heartbeat: don't consider kernel message logs +- ci/lava: Wrap job info into a collapsed section +- ci/lava: Wrap job definition dump into a collapsed section +- ci/lava: Add an integration test for LAVA jobs +- ci/lava: Don't print LAVA debug messages +- ci/lava: Highlight kernel messages in bold +- ci/lava: Highlight job retrying message +- ci/lava: Stop printing after the result line +- ci/lava: Flexibilize section marker regexes +- ci/lava: Rename console color names +- ci/lava: Update license header +- ci/lava: Split lava_log into modules +- ci/lava: Detect R8152 issues preemptively and retry +- ci/lava: Make hung job status yellow +- ci/lava: Color red for fatal and yellow for warning +- ci/lava: Add \`slow` pytest marker +- ci/lava: Add canceled job status +- ci/lava: Add delay before calling lava-test-case +- ci/lava: Increase boot timeout +- ci/lava: Only parse result within testcase section +- ci/lava: Remove MINIO_RESULTS_UPLOAD if requested + +Hans-Kristian Arntzen (4): + +- radv: Fix RTPSO hashing of pGroups. +- vulkan: Update Vulkan XML and headers to 1.3.219. +- vulkan: Add common code for VK_EXT_shader_module_identifier. +- radv: Implement VK_EXT_shader_module_identifier. + +Hoe Hao Cheng (4): + +- zink/codegen: remember the fields in feats/props structs of extensions +- zink/codegen: do not include compilation structs with extension structs +- zink/codegen: do not automatically consider extensions promoted +- zink/codegen: use the updated identifiers + +Hyunjun Ko (15): + +- radv: fix assertion for the count of xfb output +- turnip: add an assertion for max descriptor set count. +- ir3: handle intrinsic_load_draw_id when scanning driver constants +- turnip: clamp to 1 for negative bottom-right of viewport. +- turnip: fix wrong size for lrz cs when lrz_track_quirk is enabled. +- freedreno,ir3: rename Z_CLAMP_ENABLE to Z_CLIP_DISABLE +- turnip: keep the depth_clip_disable state at the pipeline builder. +- zink: remove the workaround for depth_clip_enable on turnip +- turnip: Remove an unnecessary assert. +- turnip: expose VK_EXT_shader_module_identifier +- ir3: change maximum size of const files. +- ir3: handle shared consts. +- turnip: clean up unused parameters for user consts. +- turnip: Change to use shared consts for PushConstants +- tu: increase maxPushConstantsSize to 256. + +Iago Toral Quiroga (79): + +- v3dv: ignore no-op barriers +- v3dv: drop obsolete comment +- v3dv: don't emit final noop job if we don't have anything to signal +- v3dv: document Vulkan requirements for signaling operations +- v3dv: ignore barriers for image layout transitions from undefined layouts +- v3dv: drop default sampler states if not used +- v3dv: flag BCL barriers for all-graphics and all-commands stages +- v3dv: skip binning sync if binning shaders don't access external resources +- v3dv: use wait stage for wait semaphores to decide about binning syncs +- v3dv: check input attachment usage as sampled usage +- v3dv: implement VK_EXT_separate_stencil_usage +- v3dv: trivially implement VK_KHR_separate_depth_stencil_layouts +- docs/features: flag VK_KHR_timeline_semaphore as implemented +- v3dv: expose separateDepthStencilLayouts +- v3dv: implement vkGetPipelineExecutableInternalRepresentationsKHR +- v3dv: implement vkGetPipelineExecutablePropertiesKHR +- v3d/compiler: add more stats to prog_data +- v3dv: implement vkGetPipelineExecutableStatisticsKHR +- v3dv: expose VK_KHR_pipeline_executable_properties +- v3dv: don't leak variant QPU when pipeline compile fails +- v3dv: drop unsused struct +- v3dv: expose VK_KHR_shader_float_controls +- v3dv: expose VK_KHR_spirv_1_4 +- v3dv: expose VK_KHR_vulkan_memory_model +- v3dv: fix format usage checks when extended usage flag is set +- broadcom/compiler: don't promote early fragment tests when writing sample mask +- v3dv: consume barriers at the right stages +- v3dv: only clear BCL barrier state if we don't have pending graphics barriers +- v3dv: use an explicit struct type to track barrier state +- v3dv: track sources of barriers +- v3dv: limit sync for barriers to hw queues selected by source mask +- v3dv: don't be too aggressive disabling early Z +- v3dv: use the global RCL EZ disable if we don't have any EZ draws in the job +- broadcom/compiler: disable flags optimization for loop conditions +- v3dv: merge pending secondary barrier state into primary command buffers +- v3dv: handle barriers at the end of a command buffer +- v3dv: fix leak +- broadcom/compiler: fix postponed TMU spills with multiple writes +- broadcom/compiler: don't predicate postponed spills +- v3dv: fix pool descriptor count for inline uniform buffers +- v3dv: fix merge jobs +- nir: fix documentation for uadd_carry and usub_borry opcodes +- v3dv: don't lower uadd_carry and usub_borrow +- v3dv: remove obsolete comment +- nir/serialize: fix missing divergence info after deserialization +- broadcom/compiler: don't try to hide TMU latency at QPU scheduling +- broadcom/compiler: don't over-estimate latency of TMU instructions +- v3dv: fix comment in texel buffer shader copy path +- v3dv: remove unused lowering for nir_intrinsic_load_layer_id +- v3dv: fix comment for point_sprite_mask filed in shader key +- v3dv: clean up get_internal_type_bpp_for_image_aspects +- v3d,v3dv: stop hardcoding various image limits +- v3d: stop using a smaller texture limit in OpenGL +- v3d,v3dv: stop copying and pasting the translate_swizzle helper +- v3dv: only save/restore push constant data for meta operations if needed +- v3dv: move push constant data to the command buffer state +- v3dv: limit upload of indirect push constant data +- v3dv: don't allocate MAX_PUSH_CONSTANTS_SIZE bytes for the push constants UBO +- v3dv: stop tracking push constant buffer references +- v3dv: allocate more push constant buffers if needed +- v3dv: add a dirty state for pending push constants UBO updates +- v3dv: explain why we clear certain state after a draw call +- v3dv: remove duplicate condition +- nir: add nir_address_format_2x32bit_global +- broadcom/compiler: implement 2x32 global intrinsics +- broadcom/compiler: track if a shader uses global intrinsics +- v3dv: implement VK_KHR_buffer_device_address +- v3dv: handle VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT +- v3dv: remove assert that poolSizeCount must be larger than 0 +- v3dv: fix offset reported by vkGetImageSubresourceLayout +- v3dv: remove unnecesary FIXME comment +- v3d,v3dv: add a common v3d_hw_prim_type helper +- v3dv: only check binning sync for semaphores for the first CL job +- v3dv: explicitly set sampler min/max filter properties to false +- v3dv: fill in Vulkan 1.2 missing device properties +- v3dv: enable missing Vulkan 1.2 features for supported extensions +- v3dv: enable missing mandatory Vulkan 1.2 features +- broadcom/ci: update list of slow tests +- v3dv: expose Vulkan 1.2 + +Ian Romanick (26): + +- glsl: Fix mixed tabs and spaces in lower_mat_op_to_vec.cpp +- glsl: Add flag to disable part of do_vec_index_to_cond_assign +- nir: Use nir_vector_extract to generate code for ir_binop_vector_extract +- glsl: Delete lower_extracts code +- anv: Remove FS executables when applying the null FS optimization +- intel/fs: Add missing synchronization for WaW dependency +- nir: i32csel opcodes should compare with integer zero +- nir/algebraic: Fix NaN-unsafe fcsel patterns +- nir: Add and use algebraic property "is selection" +- nir/range_analysis: Teach range analysis about fdot opcodes +- intel/compiler: Rename vec4 state URB opcodes to have VEC4\_ prefix +- intel/eu: Validate some aspects of URB messages +- intel/compiler: Move logical-send lowering to a separate file +- intel/fs: Add _LOGICAL versions of URB messages +- intel/fs: Lower URB messages to SEND +- intel/fs: Remove non-_LOGICAL URB messages +- intel/vec4: Set lower_usub_sat +- spirv: Fix array length of buffers larger than INT32_MAX. +- intel/fs: Make logical URB write instructions more like other logical instructions +- intel/fs: Make logical URB read instructions more like other logical instructions +- intel/fs: Don't pass flags to lower_urb_read_logical_send or lower_urb_write_logical_send +- intel/fs: Eliminate "masked" and "per slot offset" URB messages +- intel/fs: Use canonical form for "work around" tags +- nir: spirv: Allow 32-bit version of nir_intrinsic_is_sparse_texels_resident +- radeonsi: r600: d3d12: st: Use NIR lowering for tg4 offset arrays instead of GLSL lowering +- glsl: Remove lower_offset_arrays pass + +Icecream95 (45): + +- clc: Use stringstream for printing spirv errors +- panfrost: Stop overallocating compressed textures +- panfrost: Enable NIR lowering of half float packing +- panfrost: Fix pack_32_2x16 implementation +- pan/bi: Use texture index instead of sampler for message preloading +- pan/va: Improvements to LEA_TEX instructions +- pan/va: Add more transcendental operations +- pan/va: Add SEG_ADD/SEG_SUB operation +- pan/va: Add absneg modifier to V2F32_TO_V2F16 +- pan/va: Improve texture instructions +- 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: Fix disassembly of store instructions +- pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled +- pan/mdg: Fix multiple spilt writes in the same bundle +- panfrost: Copy blend constant into variant even when reusing it +- panfrost: Increase the limit for blend shader variants +- panfrost: Move patched_s out of the pan_blitter_views struct +- nir: Add store_combined_output_pan BASE back +- pan/bi: Read base for combined stores +- pan/mdg: Read base for combined stores +- panfrost: Only write depth / stencil once if MRT is used +- pan/bi: Reverse linear constraint bits +- pan/bi: Add nodearray datastructure +- pan/bi: Use nodearrays for linear constraints +- panfrost: Constant stencil value tracking +- panfrost: Stop using sparse_array for batch BOs +- panfrost: Use a macro for checking for a shared bind type +- panfrost: Remove sync arguments from panfrost_batch_submit +- panfrost: Enable QUAD_STRIP and POLYGON on v6 +- pan/va: Use the _safe iterator when adding blend shader calls +- pan/decode: fflush buffers after dumping and before aborts +- pan/decode: Use tag bits for resource entry count +- pan/decode: Change indent when decoding resources +- panfrost: Only emit images when they are present +- panfrost: Emit the correct number of attributes +- panfrost: Clear the GENERAL varying buffer field if unused +- panfrost: Correctly calculate prefetch suppresion varying index +- panfrost: Add a debug option for checking overflows on pool uploads +- panfrost: Don't unbind recently bound streamout targets +- panfrost: Allow NULL streamout targets +- nine: Make vdecl_index_map always signed +- nine: Only enable thread_submit by default on x86 + +Igor Torrente (2): + +- venus: Add support to VK_KHR_maintenance4 extension +- venus: Use maintenance4 to get max_size_buffer + +Ikshwaku Chauhan (1): + +- Revert "radeon: add EFC support to only VCN2.0 devices" + +Illia Abernikhin (1): + +- vulkan/runtime: repair thread safety in method vk_queue_start_submit_thread() + +Indrajit Das (5): + +- radeonsi/gfx11: VRS changes +- radeonsi: save the fs constant buffer to the util blitter context +- gallium/u_blitter: clear color buffers using color from a constant buffer +- mesa/st: add nir shader to clear color buffers using constant value +- mesa/st: clear color buffers using color from a constant buffer + +Italo Nicola (3): + +- mesa/st: call pipe->link_shader even if ir loaded from cache when linking +- tgsi: Add SEPARABLE_PROGRAM property +- virgl: overpropagate precise flags + +Iván Briano (6): + +- vulkan/wsi/wayland: Fix double free on error condition +- anv: re-alloc push constants after secondary command buffers +- anv: do not get rid of empty/useless fragment shaders +- anv: assert inheritance_info is not NULL +- anv: emit scissors when the pipeline changes +- anv: pipelineStageCreationFeedbackCount is allowed to be 0 + +James Zhu (5): + +- amd: update headers to support decode software ring +- radeonsi/gfx11: update codec support for gfx11 +- radeonsi/vcn: add decode software ring support for gfx11 +- radeonsi/vcn: add jpeg decode support for gfx11 +- amd/common: some ASICs with gfx9 use compute rings for render + +Jan Beich (1): + +- vulkan/wsi: treat EBADF as missing DMA_BUF_IOCTL_{EXPORT,IMPORT}_SYNC_FILE + +Jan Palus (1): + +- pvr: use UINT64_C for 64-bit constant + +Jason Ekstrand (312): + +- clc: Only initialize LLVM once +- clc: Rework logging a bit +- clc: Declare LLVMContexts on the stack +- intel/compiler: Set lower_fisnormal +- nir,microsoft: Move scale_fdiv into a common NIR pass +- nir/opcodes: fisfinite32 should return bool32 +- util: Remove util_cpu_detect +- util/blob: Add align helpers +- util/set: Respect found in search_or_add_pre_hashed +- vulkan: Add a common VkPipelineCache implementation +- vulkan/pipeline_cache: Add helpers for storing NIR in the cache +- anv: Rename a fail label in CreateDevice +- anv: Switch to the new common pipeline cache +- anv: Clean up pipeline cache helpers a bit +- nir: Lower all bit sizes of usub_borrow +- vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping +- vulkan: Use ALL_COMMANDS_BIT for waits/signals instead of ~0 +- spirv: Handle Op*MulExtended for non-32-bit types +- vulkan/log: Allow but warn if called with a NULL object +- vulkan/log: Allow but warn for client-invisible objects +- nir/constant_folding: Break TXB folding into a helper function +- nir: Constant fold sampler/texture offsets +- panvk: Take buffer offsets into account in BindVertexBuffers +- panvk: Eliminate unused vertex attributes +- nir/deref: Add an alu-of-cast optimization +- panvk: Add address/range helpers for panvk_buffer +- vulkan/wsi: Close file descriptors in wsi_destroy_image +- vulkan/wsi: Only use a single fd per wsi_image +- vulkan/wsi: Hang on to file descriptors +- vulkan/wsi: Reset the image fence right before vkQueueSubmit +- vulkan/wsi: Set the right stage flags for semaphore waits +- vulkan/wsi: Add signal_fence/semaphore_for_image helpers +- nir/cf: Return a cursor from nir_cf_extract as well +- nir: Fix constant folding for non-32-bit ifind_msb and clz +- nir: Set image_buffers and msaa_images in lower_samplers_as_deref +- nir: Stop assuming shader_info::textures_used is 32-bit +- shader_info: Make images_used a bitset +- nir: Gather samplers_used separately from textures +- util/bitset: Support larger ranges in BITSET_TEST/CLEAR_RANGE +- shader_info: Bump the number of images and textures supported +- gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers +- mesa/st: Clamp MaxImageUniforms to MAX_IMAGE_UNIFORMS +- gallium: Bump PIPE_MAX_SHADER_IMAGES to 64 +- panvk: Call nir_lower_io_arrays_to_elements_no_indirects +- nir/lower_blend: Be more explicit about deref assumptions +- nir/lower_blend: Stop passing the whole options object around +- nir/lower_blend: Support SNORM and integer formats for logic ops +- nir/builder: Add a nir_trim_vector helper +- nir/builder: Add a nir_resize_vector helper +- midgard: Handle FB fetch from non-vec4 output variables. +- nir/lower_blend: Expand or shrink output variables as needed +- panvk: Advertise support for logicOp +- iris: Set BindingTableEntryCount for compute shaders +- nir: Mark negative re-distribution on fadd as imprecise +- clover: Set images/samplers_used when lowering images +- lavapipe: Set shader_info::samplers_used +- gallium: Set shader_info::samplers_used in pstipple_fs +- ttn: Set shader_info::samplers_used +- mesa/st: Set samplers_used in lower_tex_src_plane +- gallium/draw: Properly handle nr_samplers != nr_sampler_views in keys +- llvmpipe: Fill out samplers even if nr_samplers = 0 +- lavapipe: Set images_used in lvp_lower_pipeline_layout +- ntt: Don't gather samplers_declared twice +- panvk: Move CreateDescriptorSetLayout to per-arch +- panvk: Break descriptor lowering into its own file +- panvk: Add a buffer to each descriptor set +- panfrost,panvk: Make fixed_sysval_ubo < 0 mean compiler-assigned +- panfrost: Add some sanity checking for sysvals +- bifrost,midgard: Allow providing a fixed sysval layout +- panvk: Get rid of the per-pipeline sysvals BO +- panvk: Use a flat sysvals struct +- panvk: Stop calling lower_uniforms_to_ubo +- panvk: Put the sysval and push const UBOs at fixed indices +- panvk: Interleave UBOs with multiple descriptor sets +- panvk: Put SSBO addresses in the descriptor buffer +- vulkan: Start collecting enabled features in vk_device +- panvk: Enable robustBufferAccess +- panvk: Advertise VK_KHR_variable_pointers +- panvk: Add an elems field to panvk_buffer_view +- pavnk: Pass bind layouts to texture and image descriptor helpers +- panvk: Implement texture/image queries +- FIXUP: Use 16-bit things for texture sizes +- panvk: Re-arrange descriptor set functions +- panvk: Rewrite the write portion of vkUpdateDescriptorSets +- panvk: Set immutable samplers properly up-front +- panvk: Implement descriptor copies properly +- panvk: Drop panvk_descriptor +- panvk: Round FillBuffer sizes down to a multiple of 4 +- nir: Preserve metadata if remove_dead_derefs makes no progress +- nir: Add a var set version of lower_indirect_derefs +- mesa/st: Use nir_shader_instructions_pass for st_nir_lower_builtin +- mesa/st: Check deref modes in lower_builtin_instr +- mesa/st: Use lower_indirect_var_derefs in st_nir_lower_builtin +- nir: Put the builder first in lower_input_attachments helpers +- nir: Use nir_shader_instructions_pass in nir_lower_input_attachments +- bifrost: Run nir_lower_global_vars_to_local before nir_lower_vars_to_scratch +- panvk: So more nir_lower_tex before descriptor lowering +- panvk: Lower blending after lower_var_copies +- v3dv: Add a create_image_view helper for internal views +- vulkan: Only be clever about vk_image_view::view_format for normal views +- v3dv: Don't use color aspects for depth/stencil images +- v3dv: Drop the region temporary from blit_shader +- vulkan,v3dv: Add a driver_internal flag to vk_image_view_init/create +- radv: Only use PLANE_0 in meta when actually needed +- radv: Use vk_image as the base for radv_image +- radv: Use vk_image_view as the base for radv_image_view +- glsl: Drop this != NULL assertions +- vulkan/pipeline_cache: Implement deserialize for raw objects +- v3dv: Loosen an assert in copy_buffer_to_image_shader +- vulkan: Fall back to raw data objects when deserializing if ops == NULL +- lavapipe: Use the correct ICD path on Win32 +- vulkan,anv,turnip: Add a common CmdBindVertexBuffers wrapper +- radv: Add a sqtt entrypoint for CmdBindVertexBuffers2 +- radv: Use the common CmdBindVertexBuffers wrapper +- lavapipe: Use the common BindVertexBuffers wrapper +- nir/algebraic: Add two more pack/unpack rules +- intel/fs: Drop fs_visitor::emit_alpha_to_coverage_workaround() +- intel/fs: Copy color_outputs_valid into wm_prog_data +- anv: Drop alpha_to_coverage from the NULL FS optimization +- anv: Handle the null FS optimization after compiling shaders +- anv: Don't disable the fragment shader if XFB is enabled +- intel: Only set VectorMaskEnable when needed +- vulkan: Add a base struct for buffers +- anv: Use the base vk_buffer struct +- panvk: Use the vk_buffer base struct +- vulkan/runtime: Add min_lod to vk_image_view +- intel/isl: Add isl_view::min_lod_clamp for IVB+ +- anv: Implement VK_EXT_image_view_min_lod +- isl: Add some asserts about multisampled surfaces +- nir: Handle register sources in lower_phis_to_regs_block +- nir: Add a correctness note for nir_lower_phis_to_regs_block +- nir: Rename nir_gather_xfb_info to nir_shader_get_xfb_info +- nir: Add a nir_xfb_info to nir_shader +- anv: Use nir_shader_gather_xfb_info +- lavapipe: Use nir_shader_gather_xfb_info +- turnip: Use nir_gather_xfb_info +- radv: Use nir_gather_xfb_info +- nir: Drop nir_shader_get_xfb_info +- glsl/nir: Populate nir_shader::xfb_info after linking varyings +- glsl/nir: Stop leaking varyings_info +- glsl/nir: Stash the xfb_info in the nir_shader when linking XFB +- st,nir: Use nir_shader::xfb_info in nir_lower_io_passes +- nir/glsl: Use rzalloc for nir_xfb_info +- nir: xfb_buffer_info::stride is in bytes +- ttn: Populate the images/textures/samplers_used fields in shader_info +- vulkan,anv: Move the image offset/extent sanitize helpers to common code +- radv: Use the common image offset/extent sanitize helpers +- vulkan,radv: Move vk_format_get_plane_format to common code +- vulkan/format: Add a vk_format_get_aspect_format helper +- vulkan: Add a helper for image<->buffer copies +- anv: Use the common image<->buffer copy helper +- vulkan,radv: Steal some image offset/extent helpers from radv +- radv: Use vk_image_buffer_copy_layout +- panvk: Use vk_image_buffer_copy_layout +- lavapipe: Use vk_image_buffer_copy_layout +- nir/deref: Break out a helper for compare_deref_paths +- nir/deref: Use an index in compare_deref_paths +- nir/deref: Make compare_deref_paths take a stop callback +- nir/deref: Re-arrange variable checks in compare_deref_paths +- nir: Increase nir_variable_data::mode to 16 bits +- nir/vars_tests: Use nir_var_mem_global instead of ssbo +- nir/deref: Handle SSBO array bindings specially +- nir/deref: Handle RESTRICT for SSBO deref bindings +- compiler/types: Don't place members in the previous substruct's end padding +- anv/wsi: Stop resetting semaphores +- vulkan/wsi: Fix a signal_semaphore_with_memory check +- wsi: Always signal semaphores and fences in wsi_common_acquire_next_image +- panvk: Use the common AcquireNextImage implementation +- v3dv: Use the common AcquireNextImage implementation +- radv: Drop create_sync_for_memory +- lavapipe: Use the common AcquireNextImage implementation +- pvr: Use the common AcquireNextImage implementation +- turnip: Use the common AcquireNextImage implementation +- turnip: Use the common QueuePresent implementation +- turnip: Set supported_sync_types before wsi_init +- vulkan/wsi: Use a STACK_ARRAY for stage_flags +- vulkan/wsi: Reset fences earlier in wsi_common_queue_present +- vulkan/wsi: Re-arrange QueueSubmit code in wsi_common_queue_present +- vulkan/wsi: Set memory ownership after signaling fences and semaphores +- vulkan/wsi: Signal semaphores and fences from the dma-buf +- intel/compiler: Use NIR_PASS(_, ...) +- anv: Use NIR_PASS(_, ...) +- anv: Properly clamp attachment layer counts +- vulkan/wsi: Use HAVE_LIBDRM to detect DRM instead of !_WIN32 +- vulkan: Add some border color helpers +- panvk: Use the new border color helpers +- lavapipe: Use the new border color helper +- turnip: Use the new border color helpers +- vulkan/nir: Make spirv_data const in vk_spirv_to_nir +- vulkan: Add a vk_pipeline_shader_stage_to_nir helper +- gallium: Add a u_default_clear_buffer helper +- iris: Use u_default_clear_buffer +- panfrost: Use u_default_clear_buffer +- nir/opt_memcpy: lower copies to/from tightly packed types +- nir: Add an options parameter to deref_instr_has_complex_use +- nir/opt_memcpy: Add another case for function_temp +- vulkan/render_pass: Add a better helper for render pass inheritance +- anv: Use CmdBeginRendering for resumes in BeginCommandBuffer when possible +- vulkan/render_pass: Use a special layout for self-dependencies +- vulkan/render_pass: Pass sample locations to barriers +- vulkan/render_pass: Allow for mixed sample counts +- vulkan/render_pass: Support VkAttachmentSampleCountInfoAMD +- vulkan: Fix a comment +- vulkan: Add a base struct for descriptor set layouts +- vulkan: Add a common implementation of pipeline layouts +- lavapipe: Use the vk_descriptor_set_layout base struct +- lavapipe: Use the vk_pipeline_layout base struct +- panvk: Use the vk_descriptor_set_layout base struct +- panvk: Use the vk_pipeline_layout base struct +- vulkan: Depend on vk_pipeline_layout in vk_cmd_enqueue +- anv: Replace an assert() with unreachable() +- util: Re-indent util_sign_extend, comment, and add asserts +- util: Use shifts in util_sign_extend +- util: Use util_sign_extend in fast_idiv_by_const +- mesa/bptc: Use util_sign_extend +- util,nir: Move mask_sign_extend from opt_load_store_vectorize to util +- isl: Use util_sign_extend +- intel/decoder: Use util_mask_sign_extend() +- panfrost,asahi: Use util_sign_extend for unpacking +- nir: Use util_mask_sign_extend when serializing constants +- vulkan/wsi: Pass the size to MapMemory in the SW path +- vulkan/wsi/wayland: Use a single memcpy in the SW path +- vulkan/wsi: Move select_memory_type to common and rework it a bit +- vulkan/wsi: Add a helper for creating CPU images +- vulkan/wsi/x11: Use wsi_configure_cpu_image +- vulkan/wsi/wayland: Use wsi_configure_cpu_image +- vulkan/wsi: Delete SW support from configure_native_image +- vulkan/wsi: Persistently map CPU images +- vulkan/wsi: Compute stride and size in configure_buffer_image +- vulkan/wsi: Align buffer image strides to optimalBufferCopyRowPitchAlignment +- vulkan/wsi: Support tiled CPU images +- vulkan/wsi/x11: Don't leak shm_reply if we don't have dri3 or present +- vulkan/wsi/x11: Only use MIT_SHM if the device supports EXT_external_memory_host +- vulkan/wsi/wayland: Use host pointer import when available +- dozen: Increase optimalBufferCopy*Alignment +- dozen: Stop asking for semaphore/fence signaling +- vulkan/wsi/wayland: Only memcpy if the swapchain is actually software +- vulkan/wsi: Fix structure chaining in wsi_create_buffer_image_mem +- shader_info: Move subgroup_size out of cs and make it an enum +- vulkan: Re-order pipeline hashing +- vulkan: Constify vk_spirv_version +- spirv,vulkan: Set shader_info::subgroup_size +- mesa,glsl,ttn: Set subgroup_size to UNIFORM +- anv: Drop unnecessary parameters to anv_pipeline_compile_cs +- anv: Put a VkPipelineShaderStageCreateInfo* in anv_pipeline_stage +- anv: Use vk_pipeline_shader_stage_to_nir +- vulkan: Add a vk_pipeline_shader_stage_is_null() helper +- anv: Use vk_pipeline_shader_stage_is_null() +- intel,anv,iris,crocus: Drop subgroup size from the shader key +- anv: Implement VK_EXT_shader_module_identifier +- anv: Init supported extensions before WSI +- vulkan/wsi/wayland: Add a BUFFER_TYPE flag +- vulkan/wsi: Add debug variables to force the SW and PRIME buffer blit paths +- intel/blorp: Set uses_sample_shading for MSAA blit shaders +- radv: Set uses_sample_shading for copy shaders +- intel/fs: Use shader_info::fs::uses_sample_shading +- nir: Add a pass for lowering shaders to single-sampled +- intel/fs: Use nir_lower_single_sampled +- glsl/nir: Set uses_sample_shading from glsl_to_nir +- spirv/nir: Set uses_sample_shading from spirv_to_nir +- nir/gather_info: Stop gathering uses_sample_shading +- glsl/nir: Set sample_shading if a FS output ever shows up as an rvalue +- intel/fs: Simplify persample_dispatch +- intel/fs,anv: Rework handling of coarse and sample shading +- panfrost: Simplify sample_shading +- anv: Stop compacting surface state tables +- vulkan: Detect pNext chain loops in vk_foreach_struct() +- anv: Don't use the wrong ARRAY_SIZE +- Revert "vulkan: Detect pNext chain loops in vk_foreach_struct()" +- vulkan: Add a vk_limits.h file for runtime limits +- vulkan: Add an enum for all dynamic graphics states +- vulkan: Add standard sample locations +- vulkan: Add data structures to store all graphics state +- util: Constify __bitset_test_range +- vulkan: Add a common data structure for dynamic states +- vulkan: Add a common implementation of vkCmdSet* +- vulkan: Copy the depth/stencil state optimization code from ANV +- Use vk_foreach_struct_const where needed +- vulkan: Detect pNext chain loops in vk_foreach_struct() (v2) +- anv: Add an instance multiplier to anv_pipeline +- anv: Handle vertex buffer sizes in anv_CmdBindVertexBuffers2 +- anv: Stop recording sample locations per-sample-count +- anv: Convert to using vk_graphics_pipeline_state +- anv: Rework setting primitive topology +- anv: Stop merging DEPTH_STENCIL state +- anv: Switch to using common dynamic state tracking +- vulkan/graphics_state: Improve the depth/stencil optimization code +- anv: Do depth/stencil optimization for dynamic depth/stencil +- vulkan: Call lower_clip_cull_distance_arrays in vk_spirv_to_nir +- vulkan/nir: Don't remove dead XFB outputs +- vulkan: Call gather_xfb_info in vk_spirv_to_nir +- lavapipe: Use more Vulkan NIR heleprs +- vulkan: Allow up to 12 pointers in multialloc +- vulkan: Record shader stages in vk_graphics_pipeline_state +- vulkan: Multisample state isn't always included in fragment shader state +- vulkan: Depth/stencil isn't fragment output state but multisample is +- vulkan: Add a fully_dynamic_state_groups() helper +- vulkan: Fix pipeline libraries with dynamic-only VI or FSR state +- vulkan: Input assembly and depth/stencil can also be fully dynamic +- vulkan: Don't assert VkGraphicsPipelineLibraryCreateInfoEXT::Flags == 0 +- zink: Mark depth/stencil visual tests as flakes +- lavapipe: Use shader_info::uses_sample_shading +- lavapipe: Use the vk_graphics_pipeline_state +- vulkan: Append subpass structures to VkRenderingInfo last +- vulkan: Include self-dep info in rendering continues +- intel/eu: Don't throw validation errors on float MOV_INDIRECT +- lima: Lower undefs to zero and run DCE after from_ssa +- nir/from_ssa: Ignore undef sources +- vulkan: Always populate vk_render_pass_state::render_pass +- vulkan: Improve the docs for vk_subpass_info +- radv: Use both aspects for depth/stencil blit destinations +- vulkan: Dirty VP_VIEWPORTS/SCISSORS when copying viewports/scissors + +Jason Volk (4): + +- r600: Fix userspace pointer support for evergreen compute. +- r600: Improve compute memory pool performance; reduce fragmentation. +- r600: Elide downloads for discarded and immutable compute memories. +- radeon: Support shared memory user pointers. + +Jeffrey Knockel (1): + +- egl: dereference XCB drawable pointers + +Jesse Natalie (158): + +- d3d12: Don't block DISPLAY based on format for non-Windows +- wgl: Implement WGL_ARB_create_context_robustness +- d3d12: Hook up robustness extensions +- d3d12: Plug context leaks +- d3d12: Plug screen leaks +- d3d12: Attempt screen reset during context create +- d3d12: Add a unit test for context reset recovery +- microsoft/compiler: Unload DXIL validator library \*after* calling Release() +- d3d12: Correctly key off of polygon stipple enable cap +- mesa: Ensure ARB programs end in a newline +- bin: Add a script for filtering/sorting refcount logs +- u_debug_refcnt: Don't loop for initial refcounts if the initial value is huge +- u_debug_symbol: Use correct sizeof for DbgHelp +- u_debug_symbol: Allow re-init of DbgHelp to work around already-initialized issues +- u_debug_stack: Lock around stack dumps to prevent interleaving +- u_primconvert: Refactor to remove recursion from util_primconvert_draw_vbo +- u_primconvert: Handle take_index_buffer_ownership +- d3d12: Use a pipe_reference in d3d12_bo +- d3d12: Fix leaks in map with do-not-wait +- d3d12: Fix a couple over-releases from incorrect take-ownership flag +- d3d12: Destroy empty residency bo set during early-return +- d3d12: Include windows.h on Windows before dxgicommon.h +- d3d12: Don't use VLAs +- d3d12: MSVC warning around operator precedence causing uint32_t==bool +- dzn: Add new parameter to vk_image_view_init call +- d3d12: Fix forward decl for sw_winsys +- microsoft/compiler: Fixup sampler derefs in tex instrs that don't \*need* samplers +- nir_lower_task_shader: Fix return from lower_task_intrin (bool, not void*) +- d3d12: Re-add missed bitmasks to shader key comparison +- CI/d3d12: Add skips and update baselines +- CI/windows: Install Vulkan SDK from LunarG directly isntead of Chocolatey +- CI/windows: Delete comment for installing vulkan-runtime +- CI/windows: Disable chocolatey progress printing to shrink log size +- CI/windows: Disable LLVM CMake developer warnings to shrink log size +- CI/windows: Move --fraction for deqp-runner to run command line +- dzn: Update fails/flakes +- CI: Re-enable Windows builds +- nir: Consider PNTC to be a varying +- wgl, d3d12: Handle front buffer writes for double-buffered MSAA surfaces backed by swapchains +- meson: Use a C99 STDC_VERSION for flex +- d3d12: Report PIPE_CAP_ACCELERATED as 0 on WARP +- d3d12: Properly set HS input control point count +- dzn: Init sync types before wsi +- mesa: Use C11 alignas for cross-platform SSE support +- CI: Lima farm is offline +- dzn: Skip another test that times out occasionally +- util/disk_cache: Implement disk_cache_get_function_identifier for Windows +- microsoft/clc: Enable tests that pass on server 2022 +- microsoft/clc: Fix test double free in the case of compilation failure +- microsoft/clc: Remove dead image vars +- microsoft/clc: Add a unit test for unused image kernel args +- vulkan_entrypoints_gen: For Windows ARM64EC, prefix symbols with '#' +- dzn: Support Vulkan loader interface v5 +- gallium/util: Move u_dl and u_pointer to src/util +- dzn: Annotate sometimes-unused variables. +- dzn: Define COBJMACROS before any includes +- dzn: Use os_time_sleep instead of Win32 Sleep +- dzn: Use u_dl to load D3D12 +- dzn: Add an eventfd sync implementation +- dzn: Fix maybe-uninitialized warning +- dzn: Skip dxil validator and some Windows-only debug flags for Linux +- dzn: Use IUnknown instead of IDXGIAdapter1 as the stored adapter +- dzn: Don't hash adapter LUID as part of device UUID +- dzn: Use a custom adapter desc instead of DXGI adapter desc +- dzn: Move DXGI code to a separate file and only build it on Windows +- dzn: Add a DXCore enumeration path +- dzn: Add ABI helpers for D3D12 functions returning structs +- vulkan/wsi/win32: Use the new helpers and persistent map +- dzn: Fix winsys reporting +- dzn: Only support high/normal queue priorities +- dzn: Add for condition to break nested loop +- dzn: Re-order includes in dzn_nir to prevent TRUE redefinition +- dzn: Only add Werror flags that the compiler supports +- dzn: Disable Wunused-value for C++ files +- dzn: Fix comparison order for format enums +- dzn: Re-order dzn_physical_device_desc so = { 0 } doesn't initialize a struct +- dzn: Use fabs on floating point input +- CI: Add dzn to debian vulkan/clang/release builds +- mesa: Support D3D11/D3D12 memory imports +- mapi: Add more EXT_external_objects_win32 functions/enums +- gallium: Add a 'name' field to winsys_handle +- mesa: Implement ImportMemoryWin32NameEXT +- gallium: Add 'name' field to Win32 semaphore import +- driver_noop: Remove infinite recursion from create_fence_win32 +- gallium: Add a new fence type with a pipe cap to indicate it can be imported +- mesa: Support importing D3D12 fences as timeline semaphores +- mesa: Implement ImportSemaphoreWin32NameEXT +- gallium, mesa: Support setting timeline semaphore values +- d3d12: Store the rest of the device IDs in the screen +- d3d12: Compute UUIDs required by external objects extension +- d3d12: Add pipe getters for Win32 and base external objects device matching +- d3d12: Support B4G4R4A4 format +- d3d12: Get adapter LUID after device creation +- d3d12: PIPE_BIND_SHARED doesn't mean linear and is always on opened resources +- d3d12: Support creating memory objects +- d3d12: Implement resource_from_memobj +- d3d12: Support opening resources and memobj by name +- d3d12: Support importing fences / timeline semaphores +- d3d12: Implement server signal/wait +- d3d12: Implement fence opening and value setting +- d3d12: Fix up resource import validation +- docs: Update features.txt and new_features.txt +- u_atomic: Implement p_atomic_xchg for Windows +- u_atomic: Fix MSVC p_atomic_add_return +- u_atomic: Add p_atomic_fetch_add which returns the old value +- zink: Use p_atomic_fetch_add +- simple_mtx: Replace GCC sync intrinsics with u_atomic ops +- Fix static glapi on Windows +- dzn: Missed ABI fixes for GetCustomHeapProperties +- dzn: Remove the cast when the SDK version is high enough +- d3d12: Add helpers to build with correct ABI for MinGW +- microsoft/clc: Add helpers to build with correct ABI for MinGW +- subprojects: Point DirectX-Headers at a specific tag +- CI: Update DirectX-Headers dependency for MinGW/Debian +- util: Add a Win32 futex impl +- d3d12: Support clip halfz +- d3d12: Add a blank d3d12_resource_state.h/cpp +- d3d12: Move desired resource state to new files +- d3d12: Move current resource state to new files +- d3d12: Give bos a unique identifier to be used for state tracking +- d3d12: Add a list of contexts alive for the current screen +- d3d12: Hold lock when removing resources from residency list +- d3d12: Notify contexts about deletion of bos +- d3d12: Add a context state tracking structure +- d3d12: Treat depth/stencil as planar for plane count helper +- d3d12: Create/free context state entries +- d3d12: Track a global resource state for non-simultaneous-access resources +- d3d12: Record a state fixup command list when necessary +- d3d12: Swap the remainder of state tracking to new method +- d3d12: Rename bind invalidate options to transition flags +- d3d12: Extract core barrier logic +- d3d12: Optimize transition_subresource_states that covers a whole resource +- d3d12: Add a transition flag indicating that state accumulation is needed +- d3d12: Remove state tracking implementation details from header +- nir_lower_io_to_scalar: Support arrayed (per-vertex) I/O +- microsoft/compiler: Add a max shader model option +- microsoft/compiler: Add a max validator version +- microsoft/compiler: Emit metadata based on long-lived signature data +- microsoft/compiler: Split signature processing into two parts +- microsoft/compiler: Ensure 4-component position writes via NIR +- microsoft/compiler: Lower I/O to scalar +- microsoft/compiler: Support DXIL validator version 1.5 +- microsoft/compiler: Compute correct usage masks +- microsoft/compiler: Correctly compute dynamic indexing I/O masks +- microsoft/compiler: DXIL validator 1.6 counts UAVs differently +- microsoft/compiler: Set the barycentrics flag for attribute_at_vertex +- microsoft/compiler: DXIL validator 1.6 uses a new PSV struct version +- microsoft/compiler: DXIL validator 1.6 uses a new PSV resource struct +- microsoft/compiler: Support DXIL validator 1.6 +- microsoft/compiler: Support DXIL validator 1.7 +- microsoft/compiler: Add a getter for a validator version from DXIL.dll +- microsoft/compiler: Blacklist DXIL validator 1.6 from 20348 SDK +- d3d12: Retrieve validator version +- dzn: Retrieve validator version +- egl/wgl: Delete unused variables/code +- egl/wgl: Fix some awkward sizeof formatting +- microsoft/compiler: Discard shouldn't be marked readnone +- microsoft/compiler: Fix PSV struct when numthreads is 0 + +Jiang Feng (1): + +- virgl: Set res->maybe_busy to true when creating resources + +Jonathan Gray (2): + +- intel/dev: sync ADL-S pci ids with linux +- intel/dev: add RPL-S pci ids from drm-intel-next + +Jonathan Marek (2): + +- freedreno/registers: add a7xx registers for drm/msm kernel driver +- freedreno/registers: add missing varset="chip" for new enum values + +Jonathan Weinstein (1): + +- lavapipe: support instance rate zero for VK_EXT_vertex_attribute_divisor + +Jordan Justen (48): + +- 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) +- intel/dev: Read hwconfig from i915 +- intel_dev_info: Add --hwconfig command line parameter +- iris: Fix assertion meant to only target the clear-color stride +- nir/divergence: handle more \*_intel intrinsics +- intel/dev: Add INTEL_PLATFORM_DG2_G12 +- intel/dev: Add DG2 G12 PCI IDs +- intel/dev: Enable first set of DG2 PCI IDs +- intel: Fix build of mi_builder_tests by including c99_compat.h +- intel: Build mi_builder_test whenever build-tests is set +- drm-uapi/i915_drm.h: Update from drm-next (2022-05-06) +- intel/gem: Add support for I915_ENGINE_CLASS_COMPUTE +- anv: Add support for I915_ENGINE_CLASS_COMPUTE in init_device_state() +- anv: Move STATE_BASE_ADDRESS programming into init_common_queue_state() +- anv, iris: Add support for I915_ENGINE_CLASS_COMPUTE +- anv, iris: Enable compute engine with INTEL_COMPUTE_CLASS=1 +- intel/dev: Add devinfo::mem to store i915 regions information +- anv: Use memory info from devinfo +- iris/bufmgr: Use memory info from devinfo +- intel/tools: Print memory info in intel_dev_info +- vulkan/wsi: Disable dma-buf sync file if ENOSYS is returned +- intel/compiler: Don't create vec4 reg-set for gen8+ +- intel/dev: Add vram.unmappable.size region info +- intel/tools: Print unmappable region info in intel_dev_info +- intel/dev: Add intel_vram_all_mappable() +- iris/resource: Assert that DG2 CCS buffers don't also try to set BO_ALLOC_SMEM +- iris/resource: Avoid mapping when not needed in iris_resource_init_aux_buf() +- iris/bufmgr: Add all_vram_mappable which is currently always true +- iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode +- iris: Set clear_color_unknown if the bo is not mappable +- anv/allocator: Add assert and TODO comment for future small BAR uapi +- iris/bufmgr: Add assert and TODO comment for future small BAR uapi +- drm-uapi/i915_drm.h: Update from drm-next (2022-07-22) +- iris/bufmgr: Add I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS for vram mappable buffers +- intel/dev: Use i915 region probed_cpu_visible_size when non-zero +- intel/dev: Determine the amount of free vram using small BAR uapi +- intel/dev: Enable remaining DG2 and ATS-M device IDs +- anv: Fix PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES with large BAR +- intel/dev: Fill in system memory info when using INTEL_DEVID_OVERRIDE +- iris: Drop extra file-descriptor dup in iris_drm_screen_create() +- intel/pci_ids: Update ADL-S strings +- intel/pci_ids: Add 0x468b ADL-S PCI-id +- intel/pci_ids: Update ATS-M device names +- intel/pci_ids: Update DG2 device names +- intel/pci_ids: Add dg2 0x5698 pci-id +- intel/pci_ids: Drop non-upstream dg2 pci-ids + +Jose Maria Casanova Crespo (1): + +- v3dv/ci: increase fraction to 10 on v3dv ci jobs. + +Josh Billingsley (1): + +- driconf: add SD Gundam G Generation Cross Rays + +Joshua Ashton (1): + +- aco: Use movk for AddressHi bits in vertex prolog + +José Fonseca (6): + +- trace: Fix framebuffer state serialization. +- lavapipe: Prevent mapping buffers beyond their size. +- trace: Dump NIR. +- trace: Parse character data more efficiently. +- trace: Bring state dump up to speed. +- trace: Allow to control nir dumping via an environment variable. + +Juan A. Suarez Romero (37): + +- ci/v3dv: remove fixed test +- v3d: report the correct unsupported blit format +- v3d: do not tile 1D textures +- v3d: use surface format defined on pipe_blit +- gallium: add hook on getting canonical format +- v3d: define our own canonical supported formats +- v3d: enable GL_ARB_copy_image extension +- gallium: move get_canonical_format hook to pipe_screen +- v3dv: duplicate key on hashtable insert +- v3dv: store device_id on device init +- v3d/simulator: add support for AMD cards +- mesa: unref syncobj after wait_sync +- v3d: enable early Z/S clears +- v3d: disable early-Z on odd frame dimensions +- v3d: allow TFU blitting for single layer textures +- v3d: add hook to get on-disk shader cache +- v3d: add builtin support for white/black clamp-to-border +- v3dv: check BO mapping result +- docs: update extensions for V3D and VC4 +- ci: bump VK-GL-CTS to 1.3.2.0 +- v3d: fix blending for mixed RT formats +- v3d: expose GL_ARB_draw_buffers_blend +- v3d/ci: Add traces +- v3d: use function to initialize refcount +- v3d: save only required states in blitter +- v3d: release all color buffers on context destroy +- v3d: add ARB_polygon_offset_clamp extension support +- v3dv/ci: Update expected results +- v3d/ci: Add flake test +- v3d/v3dv/ci: update expected results +- v3d/ci: (partially) revert expected list +- v3d/ci: update expected list +- v3dv/ci: Update expected list +- v3d/vc4/ci: Fix typo in skipped list +- v3d/ci: enable ARB_texture_cube_map piglit tests +- vc4: properly restore vc4 debug option +- vc4: store tex sampler in proper register + +Kai Wasserbäch (1): + +- fix(gallivm): Replace LLVMConstF* with LLVMBuild* methods. + +Karmjit Mahil (26): + +- pvr: Fix clang-format errors caused by vk outarrays. +- pvr: Add PVR_WORKGROUP_DIMENSIONS define. +- pvr: Add initial implementation of vkCmdDispatch(). +- pvr: Add compute update shared kernel in vkCmdDispatch(). +- pvr: Add compute update kernel in vkCmdDispatch(). +- pvr: Update pvrsrvkm to fw 1.17 . +- pvr: Add csb enum helper funciton header. +- pvr: Write immutable descriptor words in vkAllocateDescriptorSets(). +- pvr: Fix incorrect samples to cr_isp_aa_mode conversion. +- pvr: Change compute hard coding infrastructure. +- pvr: Remove unused output_selects from vertex shader state. +- pvr: Add graphics pipeline hard coding infrastructure. +- pvr: Enable 33.15.11.3 (AXE-1-16M). +- pvr: Extend hard coding infra to allow per stage per device coding. +- pvr: Fix physical device limits. +- pvr: Handle vdm degen_cull_enable. +- pvr: Fix off by 1 error in buffer_id for ubo pds program. +- pvr: Rename loop iterator variable. +- pvr: Update pvrsrv build version for fixed size fw. +- pvr: Rename uniform pds program to descriptor pds program. +- pvr: Add static consts support in descriptor pds program. +- pvr: Add static consts to hard coding infra. +- pvr: Add initial vkCmdPipelineBarrier skeleton. +- pvr: Add IDF/WDF program for compute pipeline barrier. +- pvr: Add compute pipeline barrier handling. +- pvr: Fix cdm shared reg usage reported to fw. + +Karol Herbst (20): + +- nir: add 16 and 64 bit fisnormal lowering +- vtn: clamp SpvOpImageQuerySize dest to 32 bit +- nv50/nir: align tlsspace to 0x10 +- llvmpipe: PIPE_COMPUTE_CAP_GRID_DIMENSION is uint64_t +- llvmpipe/fence: make the fence id counter atomic +- iris/cs: take buffer offsets into account for CL +- nir: add a nir_remove_non_entrypoints helper +- ntt: make use of new samplers_used field +- clc: parse localSize and localSizeHint +- clc: drop parsingComplete check +- clc: speed up compilation by not relying on opencl-c.h +- clc: fix compiler features_macro CTS Test +- clc: disable opaque pointers until they are supported +- nv50/ir: recoginse Ampere +- nir/gather_info: allow to run it before inlining +- nir/gce: pin call instructions +- nouveau: use the contexts pushbuf and client where possible +- nouveau/mm: make code thread safe +- nv50/ir: fix OP_UNION resolving when used for vector values +- nv50: properly flush the TSC cache on 3D + +Ken Johnson (2): + +- d3d12: Reduce cost of shader key comparisons +- mesa/main: Correct alloca() use without #include "c99_alloca.h" + +Kenneth Graunke (41): + +- anv: Fix INTEL_DEBUG=bat on XeHP +- intel/decoder: Fix binding table pointer decoding with large offsets +- iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS +- Revert "st/mesa: Transcode ASTC to BC7 (BPTC) where possible" +- intel: Drop Wa_1409226450 (stall before instruction cache invalidation) +- intel: Fix analysis invalidation in eliminate_find_live_channel +- intel/compiler: Move spill/fill tracking to the register allocator +- mesa: Split tx_compress_dxtn into per-format functions +- mesa: Avoid temp images in _mesa_texstore_rgb_dxt1 for GL_RGBA source +- mesa: Require temp images in _mesa_texstore_*_dxt* with SkipImages +- mesa: Avoid temp images in _mesa_texstore_*_dxt* for stride = 0 +- isl: Add an isl_format_supports_typed_atomics() helper. +- intel/compiler: Fix uncompaction of signed word immediates on Tigerlake +- intel: Set a more useful fake devinfo->gtt_size in no-hw mode +- intel/compiler: Fix A64 header construction with a uniform address +- iris: Update comment about 2GB dynamic state range +- iris: Use PIPE_* defines rather than ones from main/config.h +- crocus: Use PIPE_* defines rather than ones from main/config.h +- intel/compiler: Stop including src/mesa/main/config.h +- intel/compiler: Fix brw_gfx_ver_enum.h to be a proper header file +- intel/compiler: Split 3DPRIM_* defines out to a separate header. +- intel/tools: Stop malloc'ing device info in i965_disasm +- intel/compiler: Move opcode_desc handling to a separate header +- intel/compiler: Introduce a new brw_isa_info structure +- intel/compiler: Remove use of thread_local for opcode tables +- intel/compiler: Convert brw_eu.cpp back to brw_eu.c +- intel/compiler: Handle split-sends in EOT high-register pinning case +- intel/fs: Opportunistically split SEND message payloads +- intel/compiler: Avoid copy propagating large registers into EOT messages +- intel/compiler: Don't set SBID on EOT send messages +- mesa: Mark render-to-texture as unsafe if there's no pipe_resource +- intel/eu: Handle compaction when inserting validation errors +- intel/eu: Fix XeHP register region validation for hstride == 0 +- intel/eu: Clarify spec citations for XeHP region restrictions +- intel/eu: Mark header present in URB memory fences on XeHP +- intel/compiler: Lower FIND_[LAST\_]LIVE_CHANNEL in IR on Gfx8+ +- intel/compiler: Delete unused Gfx8+ code in brw_find_live_channel() +- iris: Fix PIPE_CAP_UMA +- iris: Use linear for exported resources if we can't convey tiling +- iris: Delete unused iris_screen::aperture_bytes field +- crocus: Fix memory leaks on iris_resource_create failure paths + +Konrad Dybcio (1): + +- freedreno: Enable A619 + +Konstantin Seurer (106): + +- radv: Fix ray queries with !15854 +- radv: Do not discard hits with t=tmax +- radv: Enable rt primitive culling for spirv2nir +- ci: Always install glslangValidator for build jobs +- radv: Use VAs in radv_meta_buffer.c +- radv: Make fill_buffer_shader non-static +- radv: Format radv_acceleration_structure.c +- radv: Add the fuchsia radix sort +- radv: Build accaleration structures using LBVH +- radv: Clean up the accel-struct build shaders +- radv: Fix lowering ignore_ray_intersection +- vulkan: Add a shader module clone helper +- radv: Copy shader modules to avoid use after free +- radv/radix_sort: Add missing entry points +- radv/radix_sort: Make variable names consistent +- radv: Use the entire morton code as sort key +- ac/nir: Do not set cursor in try_extract_additions +- radv: Move RADV_RT_STAGE_BITS to radv_private.h +- radv: Treat rt stages like compute stages +- radv: Use RADV_RT_STAGE_BITS more often +- nir: Add a ray launch size addr intrinsic +- radv: Allow indirect dispatches without bo +- radv: Indirect unaligned dispatches +- radv,aco: Use ray_launch_size_addr +- radv: Implement vkCmdTraceRaysIndirectKHR +- radv: Advertise indirect ray tracing +- radv: Allow radv_fill_buffer to work with VAs only +- radv: Use radv_fill_buffer for accel struct builds +- Revert "radv: Make fill_buffer_shader non-static" +- radv: Add and use radv_bvh_node_type +- radv: Replace nir_vector_extract with nir_channel +- radv/ci: Skip slow/crashing ray tracing tests +- radv: Enable ray queries by default +- radv: Add fail/flake lists for navi22 +- radv: Fix handling of primitiveOffset +- radv: Ignore transformOffset if transformData is 0 +- vulkan: Use the correct enum in vk_buffer +- radv: Use vk_buffer +- radv: Add and use radv_cp_dma_wait_for_stages +- radv: Some acceleration structure cleanups +- radv: Require an alignment of 64 for accel structs +- radv: Fix the accel struct size calculation +- vulkan: Spec update to 1.3.216 +- spirv: Add plumbing for ray_cull_mask +- radv: ray cull mask +- radv: Add accel struct queries for maintenance1 +- radv: ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR +- radv: PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY +- nir: Handle ray_launch_size_addr in opt_preamble +- radv: vkCmdTraceRaysIndirect2KHR +- radv: Advertise VK_KHR_ray_tracing_maintenance1 +- nir,spirv: Preserve inbounds access information +- nir/nir_lower_io: Optimize 32-bit inbounds access +- radv: Move some rt intrinsics to the top +- radv: Introduce an enum for the any hit status +- radv: Fix the t comparison for triangles +- radv: Refactor lower_rt_derefs +- nir: Add a nir_test_mask helper +- radv: Use nir_test_mask instead of i2b(iand) +- nir: Use nir_test_mask instead of i2b(iand) +- d3d12: Use nir_test_mask instead of i2b(iand) +- intel: Use nir_test_mask instead of i2b(iand) +- microsoft: Use nir_test_mask instead of i2b(iand) +- dozen: Use nir_test_mask instead of i2b(iand) +- radv: Use two bools for ahit_status +- radv: Skip pipeline_no_null_shaders_flag tests +- radv: Fix acceleration structure size queries +- radv: Use a global address for ray_launch_size +- radv: Use a global address for sbt_base +- radv: Only set rt stack size for dynamic stacks +- vulkan: Common vk_format_get_component_bits +- nir: Add a common gen_rect_vertices implementation +- radv: Use nir_gen_rect_vertices +- v3dv: Use nir_gen_rect_vertices +- radeonsi: Set vertex_id_zero_based +- aco: Remove dead nir_intrinsic_load_vertex_id case +- ac/llvm: Remove load_vertex_id handling +- util/format: Use an explicit length for the descs +- util/format: Assert that formats are valid +- radv: Remove format desc null checks +- radv: Use desc->format +- v3dv: Remove format desc null asserts +- turnip: Remove format desc null assert +- gallivm: Remove format desc null checks +- tgsi: Remove format desc null check +- util: Remove format desc null check +- agx: Remove format desc null check +- etnaviv: Remove format desc null check +- llvmpipe: Remove format desc null checks +- panfrost: Remove format desc null check +- r300: Remove format desc null check +- r600: Remove format desc null checks +- radeonsi: Remove format desc null checks +- softpipe: Remove format desc null check +- virgl: Remove format desc null checks +- pvr: Remove format desc null check +- util/format: Remove format desc null checks +- gallium/tests: Remove format desc null checks +- radv: Add meta saving/restoring for predicating +- radv: Use RADV_META_SUSPEND_PREDICATING +- radv: Simplify the meta init fail path +- radv: Fix out of bounds access in RTPSO creation +- vulkan: Fix descriptor set layout allocation scope +- vulkan: Handle descriptor set layout alloc fails +- radv: Use vk_descriptor_set_layout +- radv: Fix stack size calculation with stage ids + +Kristian Høgsberg (1): + +- util/u_debug: Use 'initialized' instead of 'first' + +Kyle Russell (1): + +- etnaviv: don't halve max_instructions for GC400 + +Leandro Ribeiro (1): + +- Revert "egl/wayland: deprecate drm_handle_format() and drm_handle_capabilities()" + +Lionel Landwerlin (120): + +- anv: use shadow surface for stencil input attachment on gfx7 +- intel: fix URB programming for GT1s +- intel/fs: require memory fence commit bit on Gfx9 +- anv: improve INTEL_DEBUG for submit +- anv/intel: add a new debug flag for stalling after every draw/dispatch +- anv: implement DEBUG_SYNC +- anv: allow getting the address of the beginning of the batch +- intel/fs: tidy up lower of ray queries +- ci/iris: mark another test as flaky +- anv: implement VK_EXT_primitives_generated_query +- nir/divergence: handle load_global_block_intel +- anv: fix INTEL_DEBUG=sync +- intel: fixup number of threads per EU on XeHP +- anv: remove unused enum +- anv: fix acceleration structure descriptor template writes +- anv: skip acceleration structure in binding table emission +- anv: reemit 3DSTATE_STREAMOUT after memcpy +- anv: fix clflush usage on utrace copy batch +- anv: limit clflush usage +- vulkan/runtime: 0-out pipeline cache object +- 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 +- docs: explain state emission in Anv +- intel: fix stall debug option +- 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 +- anv: fix primitives generated queries values +- intel/perf: add support for new opcodes in code generation +- intel/perf: store a copy of devinfo +- intel/perf: add support for dualsubslice count variable +- intel/perf: add support for GtSlice/GtSliceXDualsubsliceY variables +- intel/perf: stop overriding oa_format +- intel/perf: add OA A counter type +- intel/perf: add support new variable counting the number of EUs in slice0-3 +- intel/perf: add max vfuncs +- intel/perf: add new layout for Gfx12.5 products +- intel/perf: disable sseu setting on Gfx12.5+ +- intel/perf: deal with OA reports timestamp values on DG2 +- intel/ds: fix compilation +- u_trace/anv/iris: drop cs argument for recording traces +- intel/disasm: add missing handling of <1;1,0> +- util/debug: add an enable parsing helper +- util/perf: add options to enable/disable tracepoints +- anv: move internal RT shaders to the internal cache +- nir/divergence: handle load_scratch_base_ptr +- nir/divergence: handle load_ray_num_dss_rt_stacks_intel +- anv: don't expose EXT_border_color_swizzle on gfx7 +- intel/validator: validate dst/src types against devinfo support +- anv: fix index buffer emission +- vulkan/wsi: fix crash with debug names on swapchain +- intel/dev: add a helper to update memory info +- intel/dev: add a fallback when memory regions are not available +- anv: limit RT writes to number of color outputs +- anv: disable perf queries on non RCS engines +- anv: make apply_pipeline_layout/compute_push_layout visible to NIR debug +- anv: silence border color swizzle debug message +- clc: add new feature options for intel_clc +- intel/clc: enable fp16 & subgroups for GRL +- anv: disable non uniform indexing of UBOs +- anv: remove device features handling now in runtime +- anv: use the right helper to invalidate memory +- intel/fs: make sure memory writes have landed for thread dispatch +- intel/nir: temporarly disable opt_uniform_atomics for RT/CL +- anv/utrace: use a bo pool for utrace buffers +- intel/fs: ray query fix for global address +- nir/serialize: restore ray query variables +- isl: add new helper for format component compatibility +- anv: track if images can be fast clear with non-zero color +- anv: move gfx12+ CCS_E clear color restriction +- anv: deal with isl format swizzles for buffer views +- anv: validate image view lowered storage formats for storage +- anv: add a comment about handling buffer view swizzles on gfx7 +- intel: protect against empty invalidate ranges +- anv: skip flush/invalidate faster +- spirv: switch to uint64 for rayquery internal type +- anv: ensure tile flush before streamout writes +- intel/fs: Set NonPerspectiveBarycentricEnable when the interpolator needs it. +- anv: remove local computation of dynamic states +- anv: simplify dynamic buffer count in pipeline layout +- anv: break up anv_pipeline_compile_graphics() +- anv: split graphics nir loading +- anv: rename internal function for consistency +- anv: move CreateGraphicsPipelines to common code +- anv: move CreateComputePipelines to common code +- anv: move CreateRayTracingPipelines to common code +- anv: reorder & document fields of anv_graphics_pipeline +- anv: name non dynamic state fields correctly +- anv: fix primitive topology dynamic state emission on gfx7 +- anv: move restart index to gfx state +- anv: remove pipeline setting dynamic state +- intel/dev: deal with i915 unallocated_size on smem +- anv: allocate RT scratch in local memory +- anv: make use of the new smallbar uAPI +- anv: decode init batch with INTEL_DEBUG=bat +- intel/dev: move verification function to a header +- intel/tools/drm-shim: fixup eu_stride for topology +- intel/tools/stub: fixup parsing of --platform= +- intel/dev: add a test verifying that device override works +- intel/dev: remove INTEL_DEVID_OVERRIDE +- anv: fixup PIPE_CONTROL restriction on gfx8 +- anv: don't return incorrect error code for vkCreateDescriptorPool +- anv: fix GetPipelineExecutableStatistics for ray tracing pipelines +- anv: fixup assertions on lowered storage formats +- anv: fix assert in memory budget code when extension is not supported +- intel/fs: fix load_scratch intrinsic +- intel/fs: fixup scratch load/store handling on Gfx12.5+ +- intel/fs: fixup SEND validation check on overlapping src0/src1 + +Liviu Prodea (7): + +- dzn: Fix incompatible pointer type error affecting MSYS2 MINGW32 Suggested-by: Yonggang Luo Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6807 +- ci/MSVC: LLD is not really used anywhere +- ci/MinGW: LLD is not really used anywhere +- d3d12/dzn/spirv2dxil: Require version library +- Microsoft clc: strip lib prefix Otherwise OpenCLon12 ICD can't load it +- meson: Microsoft / maybe Intel CLC need the all-targets workaround just like clover +- meson: Only draw with llvm depends on native directly Tests, softpipe or AMD drivers don't depend on it directly + +Louis-Francis Ratté-Boulianne (4): + +- d3d12: Move d3d12_nir_lower_vs_vertex_conversion() to a common place +- microsoft/compiler: Add support for more scaled formats +- dzn: Allow some non-native formats to be used as vertex inputs +- dzn: Enable dEQP-VK.pipeline.vertex_input.* test cases + +Lucas Stach (37): + +- etnaviv: update headers from rnndb +- etnaviv: set VIVS_GL_VERTEX_ELEMENT_CONFIG depending on prim type +- etnaviv: don't supertile textures if supertiling is disabled via debug option +- etnaviv: fill all minor GPU features from the kernel +- etnaviv: update headers from rnndb +- etnaviv: correct bits per tile and clear value for HALTI5 +- etnaviv: use new PE pipe address states on >= HALTI0 +- etnaviv: use feature flag to determine which RS states to use +- etnaviv: use feature bit for one const src per instuction limitation +- etnaviv: clean up tiling setup in etna_compile_rs_state +- etnaviv: add support for big tile RS states +- etnaviv: properly set additional DEC400 compression states +- etnaviv: use feature bit to check for big tile support +- etnaviv: add tile size helper +- etnaviv: reinstate accidentially commented assert +- etnaviv: improve single buffer setup +- etnaviv: add linear PE support +- etnaviv: switch depth mode when linear PE is used +- etnaviv: expose real map buffer alignment +- etnaviv: allow mapped buffers during execution +- etnaviv: drm: always use hash to track BO index +- etnaviv: drm: don't cache mmap offset +- etnaviv: drm: make etna_bo_map thread safe +- etnaviv: drm: rename etna_drm_table_lock +- etnaviv: add function to get resource status +- etnaviv: rework resource status tracking (again) +- etnaviv: drop scanout assumption for resources allocated via modifier interface +- kmsro: add 'imx-lcdif' driver support +- etnaviv: move dummy BOs to screen +- etnaviv: add texture descriptor suballocator +- etnaviv: tex_desc: make error handling more consistent +- etnaviv: tex_desc: remove descriptor patch TODO comment +- etnaviv: fix use after free in async shader compile +- etnaviv: remove etna_align_up() function +- etnaviv: move checking for MC2.0 for TS into screen init +- etnaviv: use linear PE rendering only on properly aligned surfaces +- etnaviv: add debug option to disable linear PE feature + +M Henning (7): + +- nouveau/nir: Allow up to 6 nested joins +- nouveau: Emit cctl to flush L1 cache for atomics +- nouveau: Skip cctl for atomic counters in tgsi +- nouveau/nir: Split fewer 64-bit loads +- ttn: Make ttn_optimize_nir match gl_nir_opts +- nv50: Fix tlsSpace alignment +- nouveau: Drop C++03 compat code + +Manas Chaudhary (2): + +- panvk: Add PANVK_DEBUG_DUMP dump mappings +- panvk: Allow PAN_BO_INVISIBLE to be mapped with dump flag + +Manuel Stoeckl (4): + +- dri_interface: add XBGR16161616 format +- gbm: add GBM_FORMAT_[AX]BGR16161616 +- dri: fix incorrect fourcc for R16G16B16A16_UNORM format +- dri: add [ax]bgr16161616 to format lookup tables + +Marcin Ślusarz (40): + +- 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 +- compiler: add VARYING_SLOT_CULL_PRIMITIVE +- intel/compiler: handle VARYING_SLOT_CULL_PRIMITIVE in mesh +- intel/compiler: handle gl_Viewport and gl_Layer in FS URB setup +- anv: update task/mesh distribution with the recommended values +- intel/compiler: print name of the unhandled intrinsic +- anv: disable streamout before emitting mesh shading state +- intel/compiler: implement primitive shading rate for mesh +- anv: handle primitive shading rate for mesh +- intel/tools: add support for GEM_CREATE_EXT in intel_dump_gpu +- intel/tools: clean up mmio regs definitions +- intel/tools: drop wrappers around mmio regs macros +- intel/tools/aubinator: add support for 2 "new" subopcodes +- intel/tools/aubinator: list all platforms in help message +- intel/tools: add macros for gfx12+ variant of VCSUNIT0 +- nir: add load_mesh_inline_data_intel intrinsic to nir_divergence_analysis +- nir: add load_task_payload intrinsic to nir_divergence_analysis +- intel/tools: fix 32-bit build +- anv: remove redundant code calculating dynamic states mask +- anv: remove invalid copy/pasted comment +- anv: mask out not applicable state flags when setting up mesh pipeline +- intel/dev: fixup max_cs_workgroup_threads after hwconfig is read +- nir/opt_load_store_vectorize: handle task payloads +- intel/compiler: vectorize task payload loads/stores +- nir/lower_task_shader: insert barrier before/after shared memory read/write +- intel/compiler: assert that base is 0 for [load|store]_shared intrins +- intel: fix typos found by codespell +- intel/common: allocate space for at least one task urb +- intel/compiler: adjust task payload offsets as late as possible +- anv: disable injection of primitive shading rate for mesh +- intel/compiler: print shaders after nir_remove_unused_varyings +- nir: convert unused mesh outputs to shared memory +- intel/compiler: emit URB fences for TASK/MESH +- intel/compiler: there are 4 types of fences on gfx >= 12.5 +- intel/compiler: insert URB fence before task/mesh termination +- intel/compiler: use NIR_PASS more +- intel/compiler: fix mesh urb write regression +- anv: disable task redistribution + +Marek Olšák (311): + +- gallium: move drivers/radeon/* into drivers/radeonsi/ +- gallium: move radeon_winsys.h into gallium/include/winsys/ +- gallium/winsys: move {amdgpu,radeon_drm}_public.h contents into radeon_winsys.h +- gallium/ddebug: implement pipe_vertex_state callbacks +- nir: fix an uninitialized variable valgrind warning in nir_group_loads +- ac/surface: fix an addrlib race condition on gfx9 +- radeonsi: set more state bits for disabled binning +- radeonsi: don't compile monolithic PS for dual source blending +- radeonsi: add an SQTT workaround for chips with disabled RBs +- radeonsi: set PA_SC_EDGERULE according to bottom_edge_rule state +- radeonsi: initialize line stipple config registers +- radeonsi: fix ALPHA_IS_ON_MSB determination +- radeonsi: handle an out-of-bounds sampler/image index better +- radeonsi: don't treat skipped GS copy shader compilation as successful +- radeonsi: dump shaders after si_shader_binary_upload to fix printed LDS stat +- radeonsi: ignore AMD_DEBUG=nodcc if the texture is imported +- radeonsi: run nir_io_add_const_offset_to_base for TES/TCS as late optimizations +- radeonsi: scalarize IO instructions +- radeonsi: add pipe_stream_output_info into si_shader_context +- radeonsi: use nir_shader_get_entrypoint in si_nir_scan_shader +- radeonsi: apply key.ge.opt.kill_{outputs,pointsize,clipdistance} in NIR +- radeonsi: gather pipe_stream_output_info from NIR intrinsics +- radeonsi: move most "info" fields from si_shader_selector into si_shader_info +- radeonsi: move si_shader_info::stage into si_shader_selector +- ac: add ac_nir_optimize_outputs, a NIR version of ac_optimize_vs_outputs +- radeonsi: assign param export indices before compilation +- ac/llvm: remove LLVM pass ac_optimize_vs_outputs +- amd: document chips +- ac/surface/tests: generalize and extend gfx10 tests +- ac: add more non-shadowed registers to the lists +- ac/llvm: add AC_WAIT_EXP for ac_build_waitcnt +- ac/llvm: remove immoffset parameter from ac_build_tbuffer_store +- ac/llvm: remove immoffset parameter from ac_build_tbuffer_load +- ac/llvm: remove inst_offset parameter from ac_build_buffer_store_dword +- ac/llvm: use soffset correctly in ac_build_buffer_load +- ac/llvm: remove inst_offset parameter from ac_build_buffer_load +- ac/llvm: remove immoffset parameter from ac_build_tbuffer_load_byte/short +- ac/llvm: remove unused code from ac_llvm_build.c/h +- ac/llvm: don't use tbuffer_store as a fallback for swizzled stores +- ac/llvm: rename tbuffer -> buffer where tbuffer instructions are not generated +- ac,radeonsi: rework how scratch_waves is used and move it to ac_gpu_info.c +- ac/gpu_info: remove old and unused fields from radeon_info +- ac/llvm: remove unused LLVM helpers +- ac/llvm: don't create the target machine if the LLVM processor is unsupported +- radeonsi: remove an obsolete comment about LLVM 14 +- radeonsi: fail to create pipe_screen if LLVM doesn't support the GPU +- winsys/amdgpu: fix a mutex deadlock when we fail to create pipe_screen +- radeonsi/ci: add polaris11 baseline +- util: add pipe formats R10G10B10X2_SINT, B10G10R10X2_SINT, G16R16_SINT +- util: change util_format_snorm8_to_sint8 -> snorm_to_sint for radeonsi +- ac/gpu_info: rework how num_se is derived +- ac: remove really_needs_scratch, parameter from ac_parse_shader_binary_config +- ac/llvm: set the correct cache policy for sparse buffer loads +- ac/llvm: don't set ac_dlc in visit_intrinsic +- ac: support GR channel order in ac_choose_spi_color_formats +- ac,radeonsi: report SCALED formats as unsupported by samplers and color buffers +- radeonsi: always print the lower-case GPU name for radeonsi-run-tests.py +- radeonsi: cleanup local includes +- radeonsi: align the tessellation ring address to 2MB +- radeonsi: remove unused si_cs_shader_state::uses_scratch +- radeonsi: simplify setting COMPUTE_PGM_RSRC2.SCRATCH_EN +- radeonsi: code style fix +- radeonsi: add si_can_use_compute_blit +- radeonsi: don't report R64_*INT as a sampler format because it doesn't work +- radeonsi: don't allow broken compute image copies into A8R8_UNORM +- radeonsi: add color buffer support for 2_10_10_10 pipe formats +- radeonsi: add color buffer support for R9G9B9E5_FLOAT on gfx10.3 +- radeonsi: implement compute_copy_image between 1D_ARRAY and other texture types +- radeonsi: cosmetic changes in si_compute_copy_image +- radeonsi: assert format support in si_compute_copy_image +- radeonsi: don't expose formats that CB supports, but not shaders +- radeonsi: rename si_test_blit -> si_test_image_copy_region +- radeonsi/test_image_copy: remove whole image copies +- radeonsi/test_image_copy: remove linear and power-of-two size testing +- radeonsi/test_image_copy: remove special SDMA codepaths +- radeonsi/test_image_copy: simplify texture size generation +- radeonsi/test_image_copy: separate generating a random pipe_resource +- radeonsi/test_image_copy: separate printing pipe_resource into a function +- radeonsi/test_image_copy: test all interesting texture targets +- radeonsi/test_image_copy: test copying a block-compressed format +- radeonsi/test_image_copy: test mipmaps +- radeonsi/test_image_copy: test all formats +- radeonsi/ci: update sienna_cichlid results +- radeonsi: handle compressed formats in si_compute_copy_image +- radeonsi: improve the subsampled copy_image calculation +- radeonsi: remove compressed and subsampled gfx copy from resource_copy_region +- radeonsi: remove si_create_sampler_view_custom and related code +- radeonsi: remove si_create_surface_custom +- mesa: consider the sample count when choosing a texture format +- frontend/dri: allow swapped BGR->RGB channel order for MSAA color buffers +- amd/registers: hardcode GC base offsets in the json generator +- amd/registers: add gfx11 to the json generator +- amd/registers: add gfx11.json +- amd/registers: add gfx11-rsrc.json +- amd: enable gfx11 in header generator, fix drivers with renamed gfx6-10 defs +- amd: add gfx11 to packet definitions +- amd: import gfx11 addrlib +- amd: add Mesa-only addrlib changes +- ac: don't align VGPRs to 8 or 16 for gfx11 +- ac: implement ac_get_tbuffer_format for gfx11 +- ac: scratch buffer register changes for gfx11 +- ac: implement register shadowing for gfx11 +- ac/llvm: export mrt0 instead of null on gfx11 +- ac/llvm: don't set DLC on gfx11 because it means something else there +- ac/llvm: update pknorm and waitcnt for gfx11 +- ac/llvm: don't set GLC for stores on gfx11 +- ac/gpu_info: set cu_mask correctly for gfx11 +- ac/surface: gfx11 changes +- ac/surface: define gfx11 modifiers +- ac/surface: add gfx11 support to modifiers tests +- radeonsi/gfx11: increase the hw screen offset alignment +- radeonsi/gfx11: always allow DCC stores +- radeonsi/gfx11: expect packed threadID VGPRs +- radeonsi/gfx11: enable NGG-only draw paths +- radeonsi/gfx11: enable arbitrary DCC format reinterpretation +- radeonsi/gfx11: use the new TCS WaveID SGPR to compute vs_rel_patch_id +- radeonsi/gfx11: program inst_pref_size for graphics +- radeonsi/gfx11: buffer descriptor changes +- radeonsi/gfx11: add CB deltas +- ac,radeonsi/gfx11: remove FMASK loads +- ac,radeonsi/gfx11: set SWIZZLE_ENABLE correctly +- radeonsi/gfx11: don't set non-existent SPI_SHADER_USER_DATA_VS_x +- radeonsi/gfx11: don't set COMPR for exports, use 0x3 channel mask instead +- radeonsi/gfx11: implement attributes through memory +- radeonsi/gfx11: scattered register deltas +- radeonsi/gfx11: don't set non-existent CP_COHER_START_DELAY +- radeonsi/gfx11: emit SQ_NON_EVENT for tessellation at the end of IBs +- radeonsi/gfx11: don't use FLUSH_AND_INV_DB_META +- radeonsi/gfx11: TF_RING_SIZE changed to a per-SE size +- radeonsi/gfx11: limit MSAA color buffers to the RGBA channel order +- radeonsi/gfx11: update the initialization of SGPR0/1 registers for HS and GS +- radeonsi/gfx11: change LDS allocation granularity for PS +- radeonsi/gfx11: don't count the non-existent scratch_byte_offset SGPR +- radeonsi/gfx11: resolve MSAA using u_blitter +- radeonsi/gfx11: mark streamout as unimplemented for now +- radeonsi/gfx11: limit CP DMA to max 32KB sizes +- radeonsi: inline si_cp_dma_prefetch in si_draw_vbo for lower overhead +- radeonsi/gfx11: add a workaround for CB perf counters +- amd: add chip identification for gfx1100-1103 +- radeonsi: remove tautologies when setting CU_EN +- amd: rename ring_type --> amd_ip_type and match the kernel enum values +- amd: rename RING_* enums to AMD_IP_* +- amd: replace num_rings[type] with ip[type].num_queues +- ac/gpu_info: simplify HW IP querying +- ac/gpu_info: remove dead GDS query code +- ac/gpu_info: print all IP versions reported by the kernel +- ac/gpu_info: fix incorrect IP versions reported by the kernel +- radeonsi: report 10_10_10_2 scaled formats as unsupported on gfx6-9 as well +- radeonsi: report more missing/broken texture formats as unsupported on gfx6-9 +- ac/llvm: implement memory_barrier_tcs_patch properly to fix LLVM 15 +- radeonsi: wait before s_barrier in TCS epilog to fix LLVM 15 +- ac/llvm: inline emit_membar +- ac/llvm: replace LLVMBuildFence with ac_build_waitcnt(VSTORE) +- ac/llvm: add gl_shader_stage parameter into ac_build_s_barrier +- ac/llvm: move the gfx6 optimization for TCS barriers into ac_build_s_barrier +- ac/llvm: fix the remaining s_barriers for LLVM 15 +- radeonsi: add si_get_tcs_epilog_key +- ac/llvm: skip s_barrier if tess patches don't cross a wave boundary +- radeonsi: inline si_nir_build_llvm +- ac/llvm: remove ac_shader_abi::emit_outputs +- radeonsi: cleanups getting rid of the ambigous "epilogue" word +- radeonsi: get rid of the ambiguous "prologue" word +- radeonsi: try to group stage-specific code in si_llvm_translate_nir +- ac: replace 5 ac_shader_abi::load_* callbacks with 1 intrinsic_load callback +- amd: change chip_class naming to "enum amd_gfx_level gfx_level" +- radeonsi: rename RADEON_FLAG_UNCACHED -> RADEON_FLAG_GL2_BYPASS +- winsys/amdgpu-radeon: rework how we describe heaps +- winsys/amdgpu: handle RADEON_FLAG_ENCRYPTED as a heap modifier +- radeonsi: use PIPE_RESOURCE_FLAG_UNMAPPABLE and DRIVER_INTERNAL more +- winsys/amdgpu-radeon: clean up code related to heaps +- include: update amdgpu_drm.h +- radeonsi: use the new flag AMDGPU_GEM_CREATE_DISCARDABLE +- radeonsi: use AMDGPU_VM_PAGE_NOALLOC to disable MALL (infinity cache) +- radeonsi: fix a crash when failing to create a context +- radeonsi: print an error when failing to create a context +- radeonsi/gfx11: set BIG_PAGE for the attribute ring +- ac/gpu_info: silence a valgrind warning due to amdgpu_query_hw_ip_info +- radeonsi: remove GFX9_MERGED_NUM_USER_SGPR definition +- ac/gfx11: fix the scratch buffer +- radeonsi/gfx11: fix alpha-to-coverage with stencil or samplemask export +- radeonsi/gfx11: don't insert shader code for GS_PIPELINE_STATS_EMU +- radeonsi/gfx11: fix the value of VGT_GS_OUT_PRIM_TYPE at the beginning of IBs +- Revert "radeonsi/gfx11: limit MSAA color buffers to the RGBA channel order" +- radeonsi/gfx11: fix VM faults due to the attribute ring +- radeonsi/gfx11: optimize attribute stores +- radeonsi: merge all preamble states into one +- radeonsi: move CS preamble emission into the winsys +- winsys/amdgpu: initialize IB_PREAMBLE in advance +- radeonsi: fix resource_copy_region with ETC formats (e.g. for Stoney) +- Revert "frontend/dri: allow swapped BGR->RGB channel order for MSAA color buffers" +- Revert "mesa: consider the sample count when choosing a texture format" +- amd: rename fishes to Navi21, Navi22, Navi23, Navi24, and Rembrandt +- r300,r600,svga: save the FS constant buffer for u_blitter to fix a regression +- st/mesa: remove unused GENERIC input and output from the clear VS +- ac/gpu_info: always retile DCC on gfx10 and newer chips +- mesa: clamp UINT values greater than INT_MAX for glGetInteger +- mesa: change GL_MAX_COMPUTE_WORK_GROUP_COUNT to UINT +- mesa: change GL_MAX_UNIFORM_BLOCK_SIZE to UINT +- mesa: change GL_MAX_TEXTURE_BUFFER_SIZE to UINT +- mesa: change GL_MAX_SHADER_STORAGE_BLOCK_SIZE to UINT +- st/mesa: limit MaxComputeWorkGroupCount to INT_MAX - 1 due to failing tests +- st/mesa: round down MaxUniformBlockSize to a multiple of 4 for piglit +- gallium: rename PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE to \*_BUFFER0_* +- gallium: add PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT for UBOs +- gallium: rename PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE->MAX_TEXEL_BUFFER_ELEMENTS_UINT +- gallium: rename PIPE_CAP_MAX_SHADER_BUFFER_SIZE -> \*_UINT +- radeonsi: increase the max compute LDS size to 64KB for gfx7+ +- radeonsi: report correct maximum compute grid sizes +- radeonsi: clamp against MAX_TEXEL_BUFFER_ELEMENTS correctly +- radeonsi: change max TBO/SSBO sizes again and rework max alloc size +- radeonsi: compute PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT correctly +- radeonsi: set the max UBO size same as the max SSBO size +- winsys/amdgpu: use AMDGPU_IB_FLAG_PREAMBLE for the CS preamble on gfx10+ +- radeonsi: print LDS size in bytes +- radeonsi: don't use info.gs.invocations if it's not GS +- radeonsi: fix uninitialized wait_mem_scratch_tmz +- radeonsi: remove unused dword from wait_mem_scratch +- radeonsi: fix polygon stippling without color and Z outputs (v2) +- radeonsi: restructure PS no-export fixups +- radeonsi: determine DB_SHADER_CONTROL in si_shader_ps +- radeonsi: set INTERPOLATE_COMP_Z to 0 to work around an EQAA bug +- radeonsi: add BREAK_BATCH at the beginning of IBs +- radeonsi: simplify how pipeline statistic offsets are computed +- radeonsi: rework how VS_STATE_BITS are set for VS, TES, and GS +- radeonsi: rename and regroup VS_STATE definitions +- radeonsi: move GS_STATE bits to the end to make space at the beginning +- radeonsi: rework how vs_state_bits is set and unpacked +- radeonsi: fix an NGG streamout hang with monolithic shaders +- radeonsi: fix a crash in gfx10_sh_query_get_result_resource +- radeonsi: unconditionally enable the streamout overflow query with NGG +- radeonsi: inline gfx10_emit_streamout_begin/end +- radeonsi: fix NGG streamout hang by allocating GDS in the right place +- radeonsi: remove streamout code from shaders if no streamout buffers are bound +- winsys/amdgpu: add a kernel GDS management workaround retrying on -ENOMEM +- radeonsi: allocate GDS only once per process +- radeonsi: allocate only 1 GDS OA counter for gfx10 NGG streamout +- ac,radeonsi: don't export null from PS if it has no effect on gfx10+ +- ac/gpu_info: clamp gart_size_kb and vram_size_kb to fix buggy kernel driver +- gallium/u_threaded: fix buffer busyness tracking +- ac/llvm: fix tcs_wave_id unpacking on gfx11 +- amd/gfx11: add PixelWaitSync packet fields +- radeonsi/gfx11: compile monolithic PS if it writes memory +- radeonsi/gfx11: allocate more space for pipeline statistics +- radeonsi/gfx11: synchronize correctly before setting SPI_ATTRIBUTE_RING_* +- radeonsi/gfx11: don't use memory for waiting for cache flushes +- radeonsi/gfx11: don't allocate unused wait_mem_scratch +- radeonsi/gfx11: drop the ES vertex count requirement +- radeonsi/gfx11: add missing register shadowing code +- radeonsi/gfx11: rework GDS streamout code to single-lane and enable streamout +- amd: update addrlib - trivial changes +- ac/surface: expose all 64K_R_X and 256K_R_X modifiers on gfx11 +- radeonsi: fix random PS wave size +- util: remove our redefinition of assert +- Change all debug_assert calls to assert +- util: remove now unused debug_assert +- ttn: set dest_type for TXQ +- gallium: add pipe_blit_info::dst_sample, update u_blitter to write that sample +- ac/gpu_info: rename info fields to num_cu, memory_bus_width, memory_freq_mhz +- ac/gpu_info: remove tabs +- ac/gpu_info: rework and extend device info to be more informative +- ac/gpu_info: use hw_ip::ip_discovery_version to set IP versions +- ac/gpu_info: use the kernel-reported GFX IP version to set gfx_level +- ac/gpu_info: remove vram_size and gtt_size in favor of \*_kb variants +- ac/gpu_info: remove redundant uvd_decode +- ac/gpu_info: remove redundant jpeg_decode +- ac/gpu_info: remove redundant uvd_encode +- ac/gpu_info: remove redundant vce_encode +- ac/gpu_info: remove redundant vcn_encode +- amd: require amdgpu DRM 3.2.0 from April 2016 +- gallium/radeon: require radeon DRM 2.45.0 from April 2016 +- radeonsi: remove workarounds for radeon DRM < 2.45.0 +- ac/gpu_info: use drm_amdgpu_device_info instead of amdgpu_gpu_info +- ac/gpu_info: remove amdgpu_gpu_info parameter from ac_query_gpu_info +- ac/gpu_info: remove unused has_unaligned_shader_loads +- gallium/radeon: require radeon DRM 2.50.0 (kernel 4.12) from July 2017 +- ac/gpu_info: require amdgpu DRM 3.15.0 (kernel 4.12) from July 2017 +- util/u_threaded: fix a CPU storage crash due to an invalid codepath taken +- glthread: don't ignore glPushAttrib/glPopAttrib when tracking GL_CULL_FACE +- glthread: don't sync on IsEnabled(GL_DEPTH_TEST) by tracking it in glthread +- util/format: add util_format_rgbx_to_rgba helper +- amd/addrlib: fix 3D texture allocation failures on gfx11 +- ac/surface: don't forbid 256KB swizzle modes on smaller gfx11 chips +- radeonsi: unify VGT_TESS_DISTRIBUTION programming +- radeonsi: move SI_MAX_VRAM_MAP_SIZE to si_debug_options.h +- radeonsi: call pipe->blit instead of util_blitter_blit after MSAA resolving +- radeonsi: make si_launch_grid_internal static +- radeonsi: add common helper si_launch_grid_internal_images that is more robust +- radeonsi: remove compute-based DCC decompression because it's broken +- radeonsi: don't do image stores with RGBX, L, LA, I, and SRGB formats +- radeonsi: follow shader_info.float_controls_execution_mode (mostly) +- radeonsi: add need_fmask_expand parameter into si_decompress_subresource +- radeonsi: check for 16-bit hw support instead of relying on options.fp16 +- radeonsi: move compute-related code from si_blit.c to si_compute_blit.c +- radeonsi: fold async_copy into the preceding conditional in si_blit +- radeonsi: cosmetic changes around do_hardware_msaa_resolve +- radeonsi/gfx11: use correct VGT_TESS_DISTRIBUTION settings +- radeonsi/gfx11: set SAMPLE_MASK_TRACKER_WATERMARK = 15 and clean up +- radeonsi/gfx11: use better PRIM_GRP_SIZE_GFX11 setting +- radeonsi/gfx11: skip code in si_update_shaders that has no effect +- radeonsi/gfx11: rename si_calc_inst_pref_size -> si_get_shader_prefetch_size +- radeonsi/gfx11: enable shader prefetch except for initial chip revisions +- radeonsi/gfx11: use a better workaround for the export conflict bug +- radeonsi: make various blit functions non-static +- radeonsi: allow texture_map to upload only 1 sample for MSAA instead of all +- radeonsi: add a randomized blit test +- radeonsi: move the no-AA small prim precision cull constant into an SGPR +- radeonsi: move small prim precision computation out of si_emit_cull_state +- radeonsi: don't assume that TC_ACTION_ENA invalidates L1 cache on gfx9 +- glthread: unbind framebuffers in glDeleteFramebuffers +- glthread: call _mesa_glthread_DeleteBuffers unconditionally +- ac/surface: disallow 256KB swizzle modes on gfx11 APUs + +Marek Vasut (3): + +- dri: Check buffer height and avoid overflow +- etnaviv: Rename etna_emit_tex() args +- etnaviv: Implement TXD + +Mark Collins (1): + +- tu: Clamp priority in DRM submitqueue creation + +Mark Janes (11): + +- intel: parse intel_measure environment without side effects +- intel: relax assertion in INTEL_MEASURE +- anv: fix performance bug in INTEL_MEASURE +- intel: provide a callback to clean up after intel_measure_gather +- iris: provide a callback to INTEL_MEASURE to clean up snapshots +- util: define helpful macros for compiler diagnostic features +- iris: pad all structures used in a shader key +- iris: reorder to minimize padding +- intel/compiler: pad all data structures used by shader cache keys +- intel/compiler: reorder shader cache keys to minimize padding +- intel/dev: drop warning for unhandled hwconfig keys + +Martin Roukala (né Peres) (27): + +- ci/b2c: fix the generation of the IMAGE_UNDER_TEST variable +- ci/b2c: bump the kernel to 5.17.1 +- ci/b2c: update b2c to enable monitoring support +- radv/ci: add a Van Gogh dEQP runner +- ci: add ACO_DEBUG to the list of variables to pass down for testing +- ci/radv: remove amdgpu.gpu_recovery=0 from the kernel cmdline +- radv/ci: reboot the DUTs when hitting a ring timeout +- radv/ci: reduce the execution timeout +- radv/ci: re-enable fossils testing +- radv/ci: enable the experimental support for mesh shaders +- radv/ci: update the list of flakes +- radv/ci: allow polaris10 to retry more times +- radv/ci: bump the timeout of vangogh/renoir +- radv/ci: update the vkcts expectations for the CI machines +- radv/ci: remove an expected fail from all families +- radv/ci: try to guess failure expectations for Fiji/Raven/Navi14/Navi22 +- ci/valve: do not extract the install tarball on the runner +- ci/valve: uprev boot2container +- Revert "ci/valve: uprev boot2container" +- radv/ci: test vkd3d on kabini +- ci/radv: move a test from the fail list to the flake list +- ci/radv: add a missing flake +- ci/radv: enable vkcts testing on kabini +- ci/x86: update to llvm 13 +- radv/ci: test the llvm backend on navi21 +- radv/ci: allow specifying a warning pattern +- radv/ci: do not reboot on soft-recovered hangs, just warn + +Matt Coster (20): + +- pvr: csbgen: Formatting pass (PEP-8 plus other minor changes) +- pvr: csbgen: Add a missing @staticmethod decorator +- pvr: csbgen: Make some loops more pythonic +- pvr: csbgen: Cleanup imports +- pvr: csbgen: Remove "dim" functionality from Group +- pvr: csbgen: Remove unused function parameters +- pvr: csbgen: Add typing information +- pvr: csbgen: Isolate "main" function with __name__ check +- pvr: csbgen: Replace map() and filter() with list comprehension +- pvr: csbgen: Fix "local variable may be undefined" lints +- pvr: csbgen: Add \*_unpack() functions for all generated struct types +- pvr: debug: Implement PVR_DEBUG variable +- pvr: csbgen: Make all generated enums unambiguous +- pvr: Add a const qualifier to inline pvr_csb_*() helpers +- pvr: Remove pvr_cmd_struct() macro +- pvr: Make pvr_cmd_pack() macro clearly internal +- pvr: Split out unioned structs from struct pvr_sub_cmd +- pvr: Implicitly assert that the correct sub-command type is present +- pvr: Split pvr_dev_addr_t into a separate header +- pvr: Add helper macros for creating pvr_dev_addr_t instances + +Matt Turner (3): + +- mesa: Drop dead #include "sparc/sparc.h" +- freedreno/ir3: Move the texture array coord fixup to nir +- freedreno/ir3: Pass 16-bit sampler coordinates when possible. + +Matti Hamalainen (7): + +- gallium/tools: fixes to option handling +- gallium/tools: add option for ignoring junk calls in trace dumper +- gallium/tools: reimplement tracediff completely in Python +- pytracediff: add per-line difference highlighting for blocks +- pytracediff: make -M ("method only") option print arguments for differing calls +- pytracediff: change how 'junk' calls are handled +- pytracediff: implement pager ('less') invocation internally + +Max Kellermann (2): + +- gallium/u_threaded: add missing reference counts for draw_multi slots +- gallium/u_threaded: fix offset calculation for draw_multi slots + +Michael Olbrich (1): + +- crocus: export GEM handle with RDWR access rights + +Michael Skorokhodov (2): + +- glsl: Fix ir_quadop_vector validation +- anv: Update line range + +Michel Zou (7): + +- gallium: fix unused symbols warnings +- meson: call run_command with check=true +- vulkan/wsi: fix missing unistd include +- zink: fix pointer size conversion warning +- lavapipe: allow null handleTypes +- meson: drop dladdr check on win32 +- util/xmlconfig: fix -Wmaybe-uninitialized warning + +Mihai Preda (28): + +- gallium: add opaque pointers shim for LLVM < 8.0 +- gallium: use LLVM opaque pointers in draw_llvm.c +- gallium/llvmpipe: use LLVM opaque pointers in lp_bld_interp.c +- gallium/llvmpipe: use LLVM opaque pointers in lp_bld_depth.c +- gallivm: use LLVM opaque pointers in lp_bld_arit.c +- gallivm: use LLVM opaque pointers in lp_bld_assert.c +- gallivm: use LLVM opaque pointers in lp_bld_format_aos.c +- gallivm: use LLVM opaque pointers in lp_bld_conv.c +- gallivm: use LLVM opaque pointers in lp_bld_coro.c +- gallivm: use LLVM opaque pointers in lp_bld_printf.c +- gallivm: use LLVM opaque pointers in lp_bld_flow.c +- gallivm: use LLVM opaque pointers in lp_bld_intr.c +- gallivm: use LLVM opaque pointers in lp_bld_format_s3tc.c +- gallivm: use LLVM opaque pointers in lp_bld_gather.c +- gallivm: use LLVM opaque pointers in lp_bld_nir_soa.c +- gallivm: use LLVM opaque pointers in lp_bld_sample.c +- gallivm: use LLVM opaque pointers in lp_bld_sample_soa.c +- gallivm: use LLVM opaque pointers in lp_bld_struct.c +- gallivm: use LLVM opaque pointers in lp_bld_tgsi_soa.c +- gallivm: use LLVM opaque pointers in lp_bld_tgsi_aos.c +- gallivm: LLVM opaque pointers small changes +- gallium: refactor a channel loop in draw_llvm.c +- Revert "gallivm: use LLVM opaque pointers in lp_bld_tgsi_soa.c" +- gallium: LLVM-15 contexts use non-opaque pointers +- gallivm: fix a few llvm non-opaque pointers +- gallivm: refactor a bit the cache access in view of LLVM opaque pointers +- gallivm: add lp_build_struct_get() variants that take the LLVM type +- gallivm: push LLVM version guard into assert + +Mike Blumenkrantz (634): + +- nir/lower_tex: fix rect queries with lower_rect set +- mesa/st: set normalized coords for RECT samplers if rects are unsupported +- zink: unset PIPE_CAP_TEXRECT +- zink: radv baseline fix +- zink: nv ci update +- zink: clamp max shader images to 32 +- zink: remove tcs patch slot map +- zink: disable EXT_extended_dynamic_state2 on AMDPRO +- zink: add baseline for amdpro +- 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: do not create fences at all if timeline semaphores are supported +- zink: require timeline semaphores +- zink: remove batch lock +- zink: rename zink_query::batch_id +- zink: remove driver-based max_fences throttling +- zink: hook up VK_KHR_create_renderpass2 +- zink: only use VK_DEPENDENCY_BY_REGION_BIT if sync2 is available +- zink: require renderpass2 +- zink: require KHR_imageless_framebuffer +- zink: delete all non-imageless framebuffer code +- zink: remove framebuffer indirection +- zink: rename imageless framebuffer functions +- zink: remove the worst part of basic framebuffer support +- zink: remove ZINK_NO_TIMELINES +- zink: make a kopper debug print into an error +- zink: rework zink_kopper_update() assert +- zink: always bind gfx pipeline at the top of draw +- zink: store min required stride values on the vertex state +- zink: selectively disable dynamic vertex stride +- nir/fold_16bit_sampler_conversions: add a mask for supported sampler dims +- lavapipe: run nir_fold_16bit_sampler_conversions +- zink: set VK_QUERY_RESULT_WAIT_BIT when copying to qbo +- zink: NV_linear_color_attachment +- zink: nv ci update +- 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 +- gallium: add PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE +- zink: unset PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE +- zink: move the kopper present fence to the displaytarget object +- wgl: support GL 4.6 +- zink: make unsupported blit formats an error +- zink: make update_framebuffer_state() public +- zink: rework clear_depth_stencil hook +- zink: add a stencil blit fallback path +- zink: fix tcs control barriers for use without vk memory model +- zink: fix semantics mask for compute control barriers +- zink: hook up VK_KHR_vulkan_memory_model +- zink: use vulkan memory model shader semantics for tcs barriers +- zink: always use vk mem model for shaders if available +- zink: fix memory_barrier intrinsic +- zink: fix stride=0 for dynamic state vertex stride checking +- zink: add synchronization for buffer clears +- mesa/st: clamp GL_RENDERBUFFER to GL_TEXTURE_2D for sparse queries +- aux/trace: make get_sparse_texture_virtual_page_size useful +- 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 +- vk/cache: unbreak vk_pipeline_cache_create with flags +- 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 +- drisw: remove dead code +- 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 +- zink: add supported present modes to kopper displaytarget +- 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 +- zink: radv ci updates +- ac: remove gallivm header include +- 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: add a ci flake +- llvmpipe: disable statistic queries during draw if queries are disabled +- llvmpipe: remove misleading query comment +- llvmpipe: disable compute statistics queries if queries are disabled +- wgl: always set alpha on kopper windows +- zink: hook up VK_EXT_primitives_generated_query +- zink: pass query object to get_num_queries() +- zink: pass query object to get_num_query_pools() +- zink: pass query object to get_num_results() +- zink: pass screen param to convert_query_type() +- zink: add and use a function to detected emulated primgen queries +- zink: add a flag to zink_query to trigger rasterizer discard workaround +- zink: use VK_EXT_primitives_generated_query when available +- wgl: don't auto-load zink before software drivers +- lavapipe: lower quad_broadcast intrinsics +- zink: add a ci flake +- kopper: invalidate drawables when resizing textures in place +- kopper: pass the current context to dri_flush +- util/blitter: fix sampler restore with 0 saved samplers +- radv: emit fewer framebuffer registers +- zink: restore conditional ordering for query begin/end +- nir/gather_info: flag fbfetch on subpass image loads +- llvmpipe: never infer early zs tests when fbfetch is active +- zink: split renderpasses for TextureBarrierNV() usage +- zink: scale depth bias by factor of 2 +- 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: decouple descriptor templates from layouts +- zink: flatten push descriptor template into normal template array +- zink: implement indirect buffer indexing +- zink: delete nir_lower_dynamic_bo_access +- 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 +- lavapipe: handle null samplerviews +- 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 +- lavapipe: set robustBufferAccess2 and robustImageAccess2 +- lavapipe: ci updates +- docs: EXT_robustness2 for lavapipe +- zink: ci updates +- 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: 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: remove misleading sparse comment +- 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 +- gallium/noop: implement pipe_screen::create_fence_win32 +- aux/trace: screen::create_fence_win32 +- zink: add win32 guards for device extensions with win32 in name +- 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: manually validate shaders in debug builds +- zink: fix init with MESA_SHADER_CACHE_DISABLE enabled +- zink: use copy context to eliminate dependency on EXT_calibrated_timestamps +- zink: move get_timestamp to screen +- zink: add tu baseline for a630 +- zink: add an anv-tgl ci job +- 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 +- zink: add c++ guards for zink_screen.h +- zink: add ZINK_DEBUG=sync +- zink: update radv baseline +- zink: rename a fb surface variables +- zink: always use zink_batch_rp to init renderpass +- zink: use zink_batch_no_rp to end renderpasses +- zink: move renderpass handling to zink_render_pass.c +- zink: use global image rebind counter for dmabuf export +- zink: remove fb rebind check during renderpass begin +- zink: use local variable for getting rt barrier info +- zink: break out sample location updating to separate function +- zink: break up swapchain renderpass update to util function +- zink: remove renderpass state flag for swapchain +- zink: pass rt attrib to zink_render_pass_attachment_get_barrier_info() +- zink: fix indentation +- zink: break out color rt attrib analysis into util function +- zink: break out zs rt attrib analysis into util function +- zink: track whether there's any transient attachments bound +- zink: lift some renderpass mechanics up a level in the api +- zink: split out scissor flagging from framebuffer updating +- zink: use dynamic rendering (most of the time) +- turnip: fix assert for max xfb outputs +- zink: only warn once for SRGB fb without KHR_swapchain_mutable_format +- zink: clamp dynamic render layerCount to 1 +- zink: create all descriptor ref templates at once +- zink: add screen-based indexing to descriptor sets +- zink: use descriptor indices in compiler +- zink: use descriptor set index indirection in program init +- zink: use descriptor set index indirection in cache state updates +- zink: flag descriptor sets as changed before updating hashes +- zink: add a "compact" descriptor mode +- zink: use XOR for descriptor hash accumulation +- zink: radv ci updates +- zink: use a zink_render_pass_pipeline_state bit for fbfetch +- zink: add renderpass bits for color/depth r/w +- zink: update radv piglit fails +- vtn: assert that vector shuffle indices are in-bounds +- vtn: assert that composite members have the same bit size as the result +- zink: require draw params ext/cap in ntv if drawid is used +- zink: emit spirv cap for subgroup vote ops +- zink: use correct scope for subgroup vote ops +- zink: fix subgroup vote detection +- zink: lower subgroup width to 1 for unsupported subgroup vote stages +- zink: remove first_frame stalling +- zink: drop wideLines requirement +- zink: drop largePoints requirement +- st/pbo_compute: do pbo readback directly to the buffer object if it exists +- st/pbo_compute: use different calc for non-3d compute buffer sizing +- st/pbo_compute: make compute download conditional in shader slightly more readable +- st/pbo_compute: fix z coords for compute pbos +- zink: only infer modifiers if winsys handle has a stride +- zink: drop requirement for 6 descriptorsets to use bindless +- zink: store the real (non-compact) binding usage for programs +- zink: fix change flagging for compact descriptor cache +- zink: flag all cached descriptors as needing update on program change +- zink: add a #define for descriptor compaction +- zink: make swapchain kill message more descriptive +- st/texture: use base teximage for compute blits +- st/texture: allow compute blits for (some) non-finalized textures +- lavapipe: fix dynamic patchControlPoints +- mesa: throw a log warning any time a fallback texture is used +- zink: fix radv piglit fails +- zink: force queries to start/end out of renderpass +- zink: tu ci updates +- zink: reorder pipeline dynamic state1 substruct +- zink: improve packing for pipeline dynamic state1 info +- zink: break out dynamic state1 pipeline info to struct +- zink: use memcmp for comparing dynamic state1 info +- zink: use dynamic cull mode +- zink: break out pipeline dynamic state2 into struct +- zink: use dynamic patch vertices if available +- zink: expand patch_vertices pipeline key bitsize +- zink: fix framebuffer attachment usage asserts for dummy attachments +- aux/trace: fix sampler view dumping +- aux/trace: implement pipe_screen::is_compute_copy_faster +- zink: disable compute pbos on turnip +- egl/wayland: manually swap backbuffer when using zink +- egl/wayland: skip buffer creation on zink +- kopper: use get_drawable_info path for non-x11 drawables +- ci: disable unit tests +- zink: fix dmabuf plane layout struct scoping +- zink: represent plane offsets using offset from plane 0 vs size of plane +- zink: rename a variable +- zink: handle aux plane imports +- Revert "zink: remove drm_fd" +- zink: add back kms handling +- mesa: improve relocation problem message +- mesa/st: bump param reservation to 20 +- format_utils: properly parenthesize macro params +- d3d12: skip time-elapsed piglit tests in ci +- virgl: add some ci flakes +- mesa/st: bump param reservation to 28 +- mesa: add statevar for atomic counter offsets +- mesa: conditionally set constants dirty for atomic counter binds +- st/glsl_to_nir: call st_set_prog_affected_state_flags() as late as possible +- mesa: handle atomic counter lowering for drivers with big ssbo offset aligns +- zink: remove ANV depth clip control workaround +- zink: disable EXT_primitives_generated_query on turnip +- zink: track invalidation for image resources +- zink: flag renderpass for change if image resource changes valid state +- zink: rename renderpass attrib value +- zink: split out a dynamic render ternary +- zink: hook up surface invalidation to LOAD_OP_DONT_CARE +- zink: invalidate blit dsts if fully covered +- zink: remove buffer valid range tracking from blit +- mesa/streaming-memcpy: add memcpy fallback +- streaming-memcpy: move to src/util/ and compile unconditionally +- mesa/st: use util_streaming_load_memcpy for compute pbo copying +- zink: break out of zs mixed layout update loop when work is done +- zink: only update layout when doing mixed zs attachment renderpass check +- aux/trace: add pipe_context::link_shader +- aux/tc: handle link_shader +- zink: simplify some compiler bo code +- zink: fix buffer descriptor hashing +- zink: always create descriptor templates +- zink: flag optimization pass after inlining uniforms +- zink: break out nir alu typing in ntv +- zink: run nir_lower_alu_to_scalar in optimizer loop for 64bit lowering +- zink: always scalarize pack/unpack alu ops +- zink: don't lower pack/unpack intrinsics +- zink: run more int64 passes during optimization loop if int64 isn't available +- zink: fix ntv partial stores +- zink: flag all shader i/o variables as !is_xfb +- zink: fix variable locations in manual xfb emission +- zink: if a variable is flagged as being xfb, treat it as manual xfb output +- zink: improve/expand manual xfb emission +- zink: implement nir_op_unpack_64_2x32 in ntv +- zink: rewrite 64bit shader i/o as 32bit +- zink: scalarize when rewriting explicit 64bit io +- zink: avoid adding more 64bit alus during bo rewriting +- zink: fix 32bit bo rewriting +- zink: update tu a630 baseline +- zink: add new flakes +- zink: fix feature requirement +- zink: add feature req for border colors +- zink: more requirement docs +- zink: rewrite atomic ssbo intrinsics as atomic derefs +- zink: run copy_prop_vars during optimization +- zink: warn on missing customBorderColorWithoutFormat +- zink: more lavapipe glcts fails +- zink: cap driver inlining using ssa allocation limit +- zink: use separate pointer for swapchain presents +- zink: keep a count of async presents occuring for a given swapchain +- zink: defer old swapchain destruction +- zink: add implicit sync workaround for non-mesa drivers +- zink: unset res->swapchain upon killing a swapchain +- zink: fix up KILL to a more sensible log message +- lavapipe: VK_EXT_border_color_swizzle +- anv: VK_EXT_border_color_swizzle +- zink: fix dynamic stride conditional in pipeline creation +- zink: fix generated tcs update path +- zink: use the patch_vertices value from the shader key, not the context +- zink: unset generated tcs pointer from tes on deletion +- zink: fix generated tcs deletion +- zink: only add necessary binds during dmabuf export +- zink: avoid uninit values in renderpass state +- zink: don't print VK_EXT_shader_atomic_float warning for nir_intrinsic_image_deref_atomic_exchange +- zink: hook up VK_EXT_non_seamless_cube_map +- zink: use VK_EXT_non_seamless_cube_map when available +- zink: rename nonseamless struct members to emulate_nonseamless +- zink: skip some emulated cube code if the extension is present +- zink: fix cubemap lowering for array samplers +- zink: fix cubemap lowering bit size +- zink: clamp dynamic renderArea to framebuffer size +- zink: check for pending clears to determine write status of zs attachments +- zink: add a function for getting the minimum framebuffer layers +- zink: clamp dynamic fb layers better +- zink: clamp renderpass layers better +- zink: anv ci updates +- zink: use uint64_t for batch_id +- zink: remove thread_queue +- zink: use a dynarray for semaphore wait flags +- zink: add batch api for adding a wait semaphore +- zink: add semaphore handling for sparse binds +- zink: detect sparse-only binding queue +- zink: always bind on the sparse queue +- zink: only enable vtn debugging if validation is active +- zink: tu ci baseline update +- zink: radv baseline updates +- drisw: probe kms if fd is passed +- kmsro: add error message on drm ioctl failure +- zink: rename a variable +- zink: unify actual map calls in buffer mapping +- zink: use only the extents for buffer unmap flushes +- zink: fix buffer transfer flushes with offsets +- zink: store and reuse memory heap flags for buffer placement +- zink: move BAR allocation demotion up the stack +- zink: be a little selective about BAR fallback memory type +- zink: hook up VK_EXT_border_color_swizzle +- zink: use VK_EXT_border_color_swizzle +- zink: print runtime warning on missing EXT_border_color_swizzle +- mesa/st: add PIPE_CAP_DITHERING +- zink: unset PIPE_CAP_DITHERING +- mesa/st: increment num_uniforms for hw accel select shaders +- zink: move draw-time barrier generation down a little +- zink: track vertex buffer bind counts on resources +- zink: rework buffer barrier generation +- zink: track image binds +- zink: add a #define for vk shader bits +- zink: collect gfx stages for all bindings during barrier generation +- zink: don't short-circuit gfx stage finding during barrier generation +- zink: relax zink_resource_buffer_needs_barrier checks +- zink: ci updates +- glx/drisw: store the flush extension to the screen +- glx/drisw: invalidate drawables upon binding context if flush extension exists +- zink: fix dual_src_blend driconf workaround +- nir/lower_point_size: apply point size clamping +- mesa: break out PointSizeIsOne setting to util function +- mesa: rename PointSizeIsOne -> PointSizeIsSet +- mesa: skip pointsize exports if pointsize attenuation is enabled +- mesa: enforce pointsize exports if pointsize is being clamped +- mesa: explicitly disallow multiple pointsize exports from generating +- zink: ci updates +- zink: add flag to indicate if a resource is a dmabuf +- zink: flag dmabufs for foreign queue transition on flush_resource call +- lavapipe: zero out blend info if blend isn't enabled +- lavapipe: copy more pNexts for pipeline creation +- lavapipe: fix renderpass info handling during pipeline creation +- lavapipe: add a pipeline library assert +- lavapipe: skip post-copy pNext checking during pipeline creation for composites +- zink: use the bigger of the variable type and interface type for bo sizing +- zink: track ssbo bind counts +- zink: track overall samplerview bind counts +- zink: fix image bind counting +- zink: track gfx/compute descriptor barrier info +- zink: use tracked barrier info for generated barriers +- zink: remove another zink/tu fail +- zink: fix-ish depth clipping without VK_EXT_depth_clip_enable +- zink: add a turnip driver workaround for EXT_depth_clip_enable +- zink: remove swizzle from fbfetch lowering +- lavapipe: always set point_tri_clip +- zink: fix kopper_acquire return value +- zink: track whether current swapchain has data +- zink: move to AoS for storing swapchain struct data +- zink: move 'acquired' flag onto swapchain struct +- zink: use better determination for handling swapchain acquire submits +- zink: remove broken kopper assert +- zink: remove unnecessary code in kopper readback acquire +- zink: improve no-op acquire detection +- zink: flag batch as having work during frontbuffer flush +- zink: ensure pending present flushes are handled during frontbuffer flush +- zink: delete zink_resource_object::acquire +- zink: no-op pixmap frontbuffer flush calls +- zink: acquire swapchain images on image map +- zink: use kopper_displaytarget type directly +- zink: delete zink_resource_object::dt_has_data +- zink: set PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY for device-local resources +- lavapipe: break out part of shader optimization into function +- lavapipe: streamline xfb shader setup +- nir/types: fix glsl_matrix_type_is_row_major() assert +- zink: store context flags +- zink: don't increment screen->num_contexts for copy context +- zink: disable turnip traces temporarily +- lavapipe: don't remove xfb outputs +- zink: enforce viewport depth clamping +- zink: size uniform_0 ubo accurately +- zink: further improve bo sizing +- zink: force unsized array in bo creation using the last block member type +- zink: move/refactor bo_vars struct creation in compiler +- zink: handle bitsizes in get_bo_vars() analysis +- zink: don't run nir_lower_uniforms_to_ubo repeatedly +- zink: pass zink_shader to optimize_nir during final optimize pass +- zink: add an optimizer pass to enforce bo bounds +- zink: use std430 packing by default +- zink: use a std430 interface for bo types +- mesa: remove incomplete texture warning +- mesa/st: make get_sampler_view_format() public +- mesa/st: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO +- zink: init driver workarounds earlier in screen creation +- zink: disable customBorderColorWithoutFormat on turnip +- zink: don't warn for missing customBorderColorWithoutFormat on turnip +- zink: support PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO +- zink: flush pending clears for fb texture barriers +- mesa: fix SignalSemaphoreEXT behavior +- lavapipe: don't overwrite entire VkFormatProperties3 struct +- lavapipe: don't crash on null xfb buffer pointer +- zink: reject swizzled format blits +- lavapipe: support inlined shader spirv for compute +- zink: allow multiple tex components for depth tg4 +- zink: always use 32bit sample ops +- zink: add a compiler pass to match up tex op dest types +- zink: use sampler_bind_count to simplify some code +- zink: break out samplerview layout reset code +- zink: always update sampler descriptor layouts on fb surface unbind +- zink: always use 32bit floats for so output types +- zink: handle bare matrix types in xfb emission +- zink: split xfb block emission from array/matrix handling +- zink: fix xfb array inlining +- zink: use right glsl length getter for ntv partial stores +- zink: bitcast extracted streamout components to uint before creating uvec +- zink: add a compiler pass to split xfb block outputs +- zink: fix xfb emit check in compiler +- mesa: move is_wrap_gl_clamp() to samplerobj.h and deduplicate +- mesa: track which sampler wrap params use GL_CLAMP +- mesa: update GL_CLAMP emulation when binding/unbinding textures +- zink: remove bogus range tracking from texture clear +- zink: fix transient attachment rp assert +- zink: remove format check from clear texture +- zink: fix coverage check for texture clears +- zink: stop using u_blitter for texture clears +- zink: improve zink_clear_depth_stencil check for current attachment +- zink: massively simplify zink_clear_depth_stencil +- zink: remove non-renderpass clear path from zink_clear_texture +- zink: remove u_blitter usage from zink_clear_render_target +- zink: always use storeOp=STORE for depth renderpass +- zink: track a bitmask of fb attachments with mismatched layer counts +- zink: add explicit (awful) handling for fb layer mismatch clears +- zink: clamp color clear values based on format +- zink: lift clearing on fb state change up a level +- zink: remove out-of-renderpass clears +- zink: delete zink_fb_clear_util_unpack_clear_color +- zink: delete srgb tracking for clears +- zink: simplify zink_framebuffer_clear_data union +- zink: inject a 0,0,0,1 clear for RGBX formats +- zink: break out tc/trace context unwrapping +- zink: nv baseline update +- zink: tu a630 baseline update +- mesa/st: add implicit zeroing of clipdistance array +- zink: move descriptor_mode to be a global +- zink: delete ZINK_DESCRIPTOR_MODE_NOFALLBACK +- zink: add an explicit ZINK_DESCRIPTOR_MODE_CACHED +- zink: default to lazy/templated descriptors +- zink: handle max_vertices=0 in geometry shader +- zink: handle null samplerview in get_imageview_for_binding() +- zink: fix crashing on bo allocation failure +- zink: improve oom error message +- zink: call bind_last_vertex_stage() when binding vs +- zink: fix viewport count tracking +- zink: use gfx_barrier for synchronization when binding buffer descriptors +- vulkan/wsi: fix multiple acquires for sw without mit-shm +- llvmpipe: ignore multisample state for alpha_to_one +- zink: don't try to start a renderpass before CmdClearAttachments +- zink: don't flag renderpass change on depth write change as often +- zink: flag renderpass change if renderpass clears change +- zink: do dynamic render implicit clear updates on rp_changed +- zink: unflag ctx->rp_changed after dynamic render update +- zink: remove redundant renderpass update check for clears +- zink: add an assert to verify that deferred clears aren't added in renderpass +- zink: split out rp_changed to be more granular for dynamic render +- zink: break out renderpass attachment load op calc +- zink: break out zs renderpass layout calc +- zink: break out color rt layout calc +- zink: reuse rt layout functions to refactor zink_render_pass_attachment_get_barrier_info() +- zink: add a bits union for zink_render_pass_state comparisons +- zink: improve granularity of renderpass switching +- zink: allow no-op renderpass updates in zink_batch_rp() +- zink: move layout-setting for dynamic render attachments after no-op case +- zink: handle null samplerview/image rebinds more gracefully +- zink: scale number of shader cache-get threads +- zink: invoke descriptor_program_deinit for programs on context destroy +- vulkan/wsi: return VK_SUBOPTIMAL_KHR for sw/x11 on window resize +- zink: add env var to abort on device-lost if no reset callback is set +- util/vbuf: handle multidraws +- anv: disable dev.i915.perf_stream_paranoid=0 warning +- lavapipe: propagate xfb info for pipeline library rasterization stages +- zink: remove deqp fails for lavapipe +- zink: only flag fbfetch as rp update if fbfetch wasn't already configured +- zink: assert !rp_changed after renderpass has started +- zink: avoid crashing when bindless texture updates aren't used +- lavapipe: EXT_non_seamless_cube_map +- lavapipe: accurately set image/ssbo access based on shader usage +- lavapipe: implement extreme uniform inlining +- lavapipe: remove some skips +- zink: add a ci flake +- lavapipe: move vertex input dynamic states into vertex input block +- lavapipe: make binding/layout helper functions static inline +- lavapipe: use correct offset calculation for flagging ssbo/image write access +- lavapipe: use 64bit masks for shader access +- lavapipe: set image access on pipeline bind, not descriptor bind +- llvmpipe: remove weird clamping for format support with sample counts +- llvmpipe: allow resource_copy_region to perform replicate operations +- lavapipe: fix stencil clears +- llvmpipe: add a shortcut for blitter resolves +- vulkan: hook up VK_EXT_multisampled_render_to_single_sampled +- lavapipe: VK_EXT_multisampled_render_to_single_sampled +- lavapipe: advertise VK_EXT_multisampled_render_to_single_sampled +- util/blitter: respect PIPE_TEXTURE_RECT +- lavapipe: fix shader access stage conversion from mesa -> pipe +- zink: stop ORing unordered barrier access +- zink: convert ZINK_DEBUG to enum +- zink: add doc for ZINK_DEBUG=compact +- zink: add ZINK_DEBUG=noreorder +- zink: zink_resource::unordered_barrier -> unordered_exec +- zink: explicitly unset unordered_exec when resource can't be unordered +- zink: rework unordered_exec handling +- zink: add a second resource param to get_cmdbuf() for unordered promotion +- zink: promote image/buffer copy operations to unordered +- zink: move buffer/image functions down in file +- zink: expand unordered_exec +- zink: make get_cmdbuf() public +- zink: enable unordered blit/resolve ops +- virgl: more ci flakes +- d3dadapter: fix sw pipe loading +- nine: set view_mask=0 +- zink: fix gfx program cache pruning with generated tcs +- zink: don't flag lazy push constant set dirty on batch change +- zink: combine loops for lazy descriptor program deinit +- zink: handle mutable swapchain images with dmabuf +- zink: store VkFormatFeatureFlags on creation +- zink: use modifier feature flags during surface creation when necessary +- zink: init cache_put program fence on program creation +- zink: force flush clears on fb change if fb geometry changes +- zink: force a new framebuffer for clear_depth_stencil if the clear region is big +- zink: drop mode_changed check from linewidth/depthbias draw updates +- zink: handle unscaled depth bias from nine +- zink: handle !half_pixel_center +- zink: fix return for PIPE_CAP_DEPTH_CLIP_DISABLE +- nine: check return on resource_get_handle +- zink: demote dmabuf tiling to linear if modifiers aren't supported +- zink: use modifier_aspect to check for modifier plane in zink_resource_get_param +- zink: don't add modifiers if EXT_image_drm_format_modifier isn't present +- zink: add all format modifiers when adding for dmabuf export +- zink: don't fixup sparse texops +- vulkan: Update the XML and headers to 1.3.224 +- radv: fix return type for meta resolve shaders +- nir/validate: clamp unsized tex dests to 32bit +- mesa: fix blending when using luminance/intensity emulation +- mesa: require render target bind for A/L/I in format selection +- vk/render_pass: don't deref null resolve attachments +- zink: handle nir_intrinsic_sparse_residency_code_and mechanics +- zink: ignore nir_texop_lod for tex dest matching +- tu: fix invalid free on alloc failure +- zink: don't call util_queue_fence_init in zink_screen_get_pipeline_cache() +- zink: don't emit entrypoints for function temp variables +- zink: check the variable mode before taking samplemask path in ntv +- zink: explicitly use unsigned types for bit shifts +- zink: only add srgb mutable for images with modifiers +- zink: don't emit illegal interpolation +- llvmpipe: don't assume pipe_context is always available in flush_frontbuffer +- zink: flag all assigned output slots as mapped +- zink: handle split acquire/present +- st_pbo/compute: fix 1D_ARRAY offsets +- st_pbo/compute: fix 1D coord dimension by pre-trimming vectors + +Mike Lothian (1): + +- util: Fix invalid usage of alignas in u_cpu_detect.c + +Mykhailo Skorokhodov (3): + +- anv: Use sampleLocationsEnable for sample locations +- iris: Move Wa_1806527549 and enable by default +- anv: Move Wa_1806527549 and enable by default + +Nagappa Koppad, Basanagouda (1): + +- iris:Duplicate DRM fd internally instead of reuse. + +Nanley Chery (11): + +- 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 +- mesa: Simplify UNORM8 conversions for sRGB ASTC textures +- mesa: Follow ASTC decode mode extension for RGBA8 output +- iris: Don't leak surface states for compressed resources +- iris: Don't leak compressed resources in iris_create_surface +- iris: Use fill_surface_states for compressed resources +- anv: Make the D16 reg mode single-sampled +- iris: Make the D16 reg mode single-sampled +- iris: Dedent enum iris_depth_reg_mode + +Nicolas Caramelli (1): + +- egl: Fix EGL_EXT_platform_xcb name string to match the registry + +Panagiotis Apostolou (1): + +- util: Don't block SIGSEGV for new threads + +Patrick Lerda (1): + +- panfrost: Fix unwanted valgrind message related to restart_index + +Paulo Zanoni (4): + +- iris: fix race condition during busy tracking +- intel/compiler: compute int64_options based on devinfo->has_64bit_int +- intel/compiler: split handling of 64 bit floats and ints +- intel/compiler: call ordered_unit() only once at update_inst_scoreboard() + +Pavel Asyutchenko (7): + +- gallium: add PIPE_CAP_FBFETCH_ZS and expose extension +- glsl: add language support for GL_ARM_shader_framebuffer_fetch_depth_stencil +- nir_to_tgsi: Don't count ZS fbfetch vars as outputs +- llvmpipe: enable per-sample shading when FB fetch is used +- llvmpipe: simplify early/late zs tests selection +- llvmpipe: implement FB fetch for depth/stencil +- llvmpipe: enable PIPE_CAP_FBFETCH_ZS + +Pavel Ondračka (13): + +- r300: set PIPE_BIND_CONSTANT_BUFFER for const_uploader +- r300: skip draws instead of using a dummy vertex shader +- r300: fix vertex shader control flow in loops +- r300: deduplicate common NIR options +- r300: be less agresive with copy propagate in loops +- r300: don't try to use inline constants instead of constant swizzles +- r300: Update list of RV515 dEQP failures and add some flakes +- r300: merge simple movs with constant swizzles together +- r300: expose PIPE_CAP_LEGACY_MATH_RULES +- r300: only run merge_movs pass on R500 +- r300: Keep rc_rename_regs() from overflowing RC_REGISTER_MAX_INDEX +- r300: disable PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF +- r300: fix variables detection for paired ALU and TEX instructions in different branches + +Pierre-Eric Pelloux-Prayer (81): + +- radeonsi: make si_pc_emit_shaders non static +- radeonsi: add helpers to deal with spm counters +- radeonsi: add spm counters setup code +- radeonsi/sqtt: setup spm bo +- radeonsi/sqtt: enable spm counters on gfx10+ +- radeonsi: make sure profile_peak is used before using sqtt +- ac/spm: setup write broadcasting correctly +- ac/surface: adjust gfx9.pitch[*] based on surf->blk_w +- radeonsi: remove commutative_blend_add option +- radeonsi: drop assume_no_z_fights option +- drirc: remove i965 entry +- gallium: add PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER +- radeonsi: enable PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER +- radeonsi: fix VS kill_outputs handling +- radeonsi: don't always strip NIR debug infos +- radeonsi: generate unique shader name in si_get_nir_shader +- amd: update gfx10_format_table.py for gfx11 +- radeonsi/gfx11: add assert in legacy vs path +- radeonsi/gfx11: register changes +- radeonsi/gfx11: image descriptor changes +- radeonsi/tests: allow empty line and comments in csv files +- radeonsi/tests: add a heuristic to pick the baseline +- radeonsi/tests: reformat with black +- u_threaded: clear non-async debug callback correctly +- radeonsi: flush VGT streamout like PAL +- radeonsi: implement pipeline stats workaround +- gallium: add a union to access queries counters +- gallium: always return the correct pipeline stats index +- gallium: deduplicate target -> stats index code +- radeonsi: deduplicate query offsets +- radeonsi: store the pipeline stats index +- radeonsi: implement GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB in shaders +- radeonsi/test: update sienna_cichlid results +- radeonsi/query: use the qbo correct size +- radeonsi/ngg: reuse the pipeline stats buffer when using atomics +- radeonsi: fix gs_invocation query with NGG +- radeonsi: don't use wave32 for GE on gfx10 if culling is used +- amd: fix ac_build_mbcnt_add in wave32 mode +- util/u_queue: rework UTIL_QUEUE_INIT_SCALE_THREADS to scale faster +- radeonsi: remove unused params from si_shader_select_with_key +- radeonsi: scale the number of shader compiler threads +- radeonsi: store shader variants in an array +- glx: set max values for pbuffer width / height +- radeonsi: fix glTexBuffer max size handling +- radeonsi: wait for PS idle in si_set_framebuffer_state +- radeonsi/tests: add a --slow option +- radeonsi/tests: use a smaller tests-per-group value +- radeonsi: don't use sel->nir in si_check_blend_dst_sampler_noop +- ac: export LLVM c++ ResetCommandLineParser method +- ac: reset LLVM command line parser +- ac/llvm: add use_waterfall_for_divergent_tex_samplers option +- radeonsi: enable use_waterfall_for_divergent_tex_samplers +- st/mesa: use mutex in st_get_texture_sampler_view_from_stobj +- gallium: update winsys_handle documentation +- gallium: add size attribute to winsys_handle +- va/surface: set the correct size in vaExportSurfaceHandle +- radeonsi: set size in si_texture_get_handle +- tradeonsi: fix preamble state producing incorrect packets +- radeonsi: prevent recursion in si_decompress_dcc +- radeonsi: add helper to use si_screen::aux_context +- radeonsi: use helpers to access si_screen::aux_context +- Revert "winsys/amdgpu: use AMDGPU_IB_FLAG_PREAMBLE for the CS preamble on gfx10+" +- dri: store internal_format when known +- mesa/st: don't guess the internal format if it's known +- util/blob: use memcpy in read functions +- mesa: skip draws with invalid indices offset +- vulkan/wsi: define pWaitDstStageMask in the blit submission +- ac: use LLVMContextSetOpaquePointers if available +- radeonsi: use LLVMBuildLoad2 where possible +- ac: add per output is_16bit flag to ac_shader_abi +- ac/llvm: handle opaque pointers in visit_store_output +- ac/llvm: use LLVMBuildLoad2 in visit_load +- radeonsi: use LLVMBuildLoad2 in llvm PS +- radeonsi: use LLVMBuildLoad2 for inter-stage outputs loads +- radeonsi: check last_dirty_buf_counter and dirty_tex_counter +- amdgpu/bo: update uses_secure_bos when importing buffers +- nir: add a nir_opt_if_options enum +- radeonsi: prevent u_blitter recursion in si_update_ps_colorbuf0_slot +- radeonsi: use nir_opt_large_constants earlier +- mesa: avoid reading back textures from VRAM +- radeonsi: invalidate L2 when using dcc stores + +Qiang Yu (63): + +- radeonsi: lower nir_intrinsic_sparse_residency_code_and +- mesa/program: fix nir output reg overflow +- mesa/vbo: remove unused vbo_context->binding +- nir/builder: add load/store array variable helper functions +- mesa: add hardware accelerated select constant +- mesa: add _mesa_bufferobj_get_subdata +- mesa: refine name stack code to prepare for hw select +- mesa: add hw select name stack code path +- mesa/vbo: enclose none-vertex functions with HW_SELECT_MODE +- mapi: add api setup header for hw select mode +- mesa: set CurrentServerDispatch too when glBegin/End +- mesa: add HWSelectModeBeginEnd dispatch table +- mesa: pass select result buffer offset as attribute/varying +- mesa/st: implement hardware accelerated GL_SELECT +- zink: reset PIPE_CAP_ACCELERATED when cpu soft rendering +- virgl: return -1 for PIPE_CAP_ACCELERATED +- mesa: enable HardwareAcceleratedSelect +- ac/llvm: get back nir_intrinsic_load_tess_rel_patch_id_amd +- nir: add nir_intrinsic_load_lshs_vertex_stride_amd +- ac/nir: use nir_intrinsic_load_lshs_vertex_stride_amd +- radeonsi: implement load_lshs_vertex_stride abi +- radeonsi: add tcs_vgpr_only_inputs parameter to si_get_nir_shader +- ac/nir: skip gl_Layer/gl_ViewportIndex write for LS +- radeonsi: replace llvm ls/hs interface lds ops with nir lowered ones +- gallium: disable hardware select for crocus +- ac/llvm: conditionally check wave id in gs sendmsg +- radv: no need to do gs_alloc_req for newer chips in ngg vs/tes +- radeonsi: deserialize nir binary in si_check_blend_dst_sampler_noop +- radeonsi: use si_shader as parameter in si_get_nir_shader +- radeonsi: support multi stage shader state creation in nir shaderlib +- radeonsi: add si_create_passthrough_tcs +- radeonsi: replace llvm based fixed tcs with nir +- radeonsi: implement nir_intrinsic_load_tcs_num_patches_amd +- ac/nir: remove unused parameter in tes input lower +- ac/nir: add nir_intrinsic_load_hs_out_patch_data_offset_amd +- ac/nir: use nir_intrinsic_load_hs_out_patch_data_offset_amd in tess lower +- ac/nir: add pass_tessfactors_by_reg param to hs output lower +- ac/nir: add wave_size parameter to ac_nir_lower_hs_outputs_to_mem +- radeonsi: preload tess offchip ring for tcs +- radeonsi: implement nir_intrinsic_load_ring_tess_offchip(_offset)_amd +- radeonsi: implement nir_intrinsic_load_tess_rel_patch_id_amd for both tcs and tes +- ac/llvm: handle write mask for nir_intrinsic_store_buffer_amd +- ac/nir: add no_input_lds_space param to hs output lower +- radeonsi: replace llvm tcs output with nir lower pass +- radeonsi: enable PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS +- radeonsi: set uses_vmem_load_other for nir_intrinsic_load_buffer_amd +- radeonsi: replace llvm tes input load with nir lowering +- ac/llvm: fix code format alignment in visit_load_local_invocation_index +- radeonsi: implement two esgs ring nir intrinsic +- ac/nir: skip gl_ViewportIndex and gl_Layer write in ES +- radeonsi: set lds for gs/es to handle nir shared memory load/store +- ac/nir: remove unused param num_reserved_es_outputs from gs input lower +- ac/nir: change es output lower param to esgs_itemsize +- radeonsi: replace llvm es output with nir lowering +- ac/nir: add triangle_strip_adjacency_fix to gs input lower +- ac/llvm: get back nir_intrinsic_load_gs_vertex_offset_amd +- radeonsi: replace llvm gs input handle with nir lowering +- ac/nir/ngg: fix nogs culling scratch size +- ac/nir/ngg: add a barrier before prim id export +- ac/nir/ngg: Decouple primitive ID store and primitive export. +- nir/lower_gs_intrinsics: fix primitive count for points +- radeonsi: fix tcs_out_lds_offsets arg alignment +- winsys/amdgpu: fix non-page-aligned sparse buffer creation + +Rajnesh Kanwal (29): + +- pvr: Remove double error reporting in error path. +- pvr: Change phase_rate_change type to bool from uint32_t. +- pvr: Setup common nop shader. +- pvr: Add services winsys transfer context support. +- pvr: Add support to create transfer context and setup required shaders. +- pvr: Add vk_sync support and remove service winsys syncobjs interface. +- pvr: Fix argument comments in render job submission. +- pvr: Pass device info struct in pds generator. +- pvr: Add support for R32G32B32A32_UINT, R32_UINT and R8_UINT formats. +- pvr: Allow signal_sync pointer to be NULL in job submission. +- pvr: Remove vk_format_is_pure_integer and use common helper. +- pvr: Add transfer 3d parameter heap support. +- pvr: Fix ISP_RENDER_MODE_TYPE enum in rogue_cr.xml +- pvr: Restrict argument to dev_info where possible. +- pvr: Fix UTIL_ARCH_BIG_ENDIAN check in vk_format.h. +- pvr: Change ALIGN macro to ALIGN_ATTR. +- pvr: Add services winsys transfer cmd submit interface. +- pvr: Move transfer logic to pvr_job_transfer.[ch] +- pvr: Remove clang-format off comment from vk_format.h +- pvr: Implement vkCmdDraw API. +- pvr: Init and store default sampler in pvr_device. +- pvr: Use common vk_buffer implementation. +- pvr: Implement vkCreateBufferView and vkDestroyBufferView. +- pvr: Move binding related checks in common code. +- pvr: Add support for sampler descriptor. +- pvr: Add support for combined image and sampler descriptor. +- pvr: Add support for image descriptor. +- pvr: Add support for storage and uniform texel descriptor. +- pvr: Add support for input attachment descriptor. + +Renato Pereyra (4): + +- venus: add support for vk_xwayland_wait_ready +- venus: Add driconf option to enable implicit fencing +- Revert "wsi/x11: Don't leak xcb_get_geometry_reply_t." +- Revert "wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes" + +Rhys Perry (94): + +- aco: fix disassembly of SMEM with both SGPR and constant offset +- ac/nir: properly handle large global access constant offsets +- nir/gather_info: fix system_value_read for rt/mesh system values +- nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper +- radv: remove unnecessary align_mul/offset initialization +- radv: initialize meta shader options earlier +- radv: use radv_meta_build_nir_vs_generate_vertices() more +- radv: use nir_op_imm helpers +- radv: use inot(a) instead of ine(a, true)/ieq(a, false) +- ac/nir: fix 64-bit NGG GS output stores +- radv: always use nir_lower_io_lower_64bit_to_32 +- nir/copy_prop_vars: fix non-vector shader call payloads +- radv: fix clearing of TRUNC_COORD with tg4 and immutable samplers +- radv: consider radix sort shaders to be internal/meta +- aco/ra: fix vgpr_limit +- aco: ensure that definitions fixed to operands have matching regclasses +- radv: add radv_has_shader_buffer_float_minmax +- radv: allow LBVH on GFX6+ +- radv: remove subtractions in address calculations +- radv: use SMEM for a few load_global +- aco: split load_sbt_amd result +- aco: skip s_barrier if TCS patches are within subgroup +- ac/nir: skip s_barrier if TCS patches are within subgroup +- aco: fix cmpswap global atomic definition on GFX6 +- nir: allow NIR_PASS(_, ) +- nir: print file when validation fails +- nir: call nir_metadata_preserve in nir_io_add_const_offset_to_base +- nir: call nir_metadata_preserve in nir_vectorize_tess_levels +- nir: call nir_metadata_preserve in nir_lower_memory_model +- radv: call nir_metadata_preserve in various lowering passes +- radv: add missing NIR_PASS() and switch from NIR_PASS_V() +- radv: validate shaders after linking passes +- aco: fix p_constaddr with a non-zero offset +- aco/tests: add test for p_constaddr with a non-zero offset +- aco: only add/subtract low bits of program addresses +- aco/ra: fix usage of invalidated iterator +- aco: use p_parallelcopy for uniform reduction with zero source +- aco: clarify a portion of do_pack_2x16 +- aco/tests: disable regalloc.subdword_alloc.reuse_16bit_operands on GFX11 +- aco/tests: fix gfx11 variants printed as gfx12 +- aco: disable sdwa on gfx11 +- aco: use v_perm_b32 to copy 0xff00/0x00ff/0xff/0x00 +- aco/tests: update for GFX11's removal of SDWA +- radv,aco: disable shader cache when ACO debug options are used +- aco: fix SMEM load_global_amd with non-zero offset +- aco: fix SMEM load_global with VGPR address and non-zero offset +- aco: consider fma with multiplication by power-of-two unfused +- ac: use ResetAllOptionOccurrences instead of ResetCommandLineParser +- gitlab: ask for useful titles +- gitlab: ask that reporters don't include long logs in descriptions +- nir/deref: stop assuming coherent accesses of different SSBOs may alias +- aco: update SMEM offset workaround for LLVM 15 +- aco: don't skip VS->TCS barrier if TCS output vertices doesn't match input +- aco: cleanup force-waitcnt output +- aco/ra: update register file when updating phi definition +- radv/ci: re-enable vega10 fossils testing +- aco: add and use constantValue16() +- aco: don't accept med3 opcodes in get_minmax_info() +- aco: include _e64 variants of 16-bit min/max in minmax optimizations +- aco: ignore precise flag when optimizing integer clamps +- aco: fix single-alignbyte do_pack_2x16() path with fp inline constants +- aco: fix propagate_constants_vop3p with integer vop3p and 16-bit constants +- aco: don't use opsel to fold constants into dot accumulation sources +- aco: fix redirect combine in propagate_constants_vop3p() with negatives +- aco: try sign-extending or shifting constants in propagate_constants_vop3p +- aco: don't use 32-bit fp inline constants for fp16 vop3p literals +- aco/tests: add vop3p constant combine tests +- nir: rename fsin_r600/fcos_r600 to fsin_amd/fcos_amd +- nir/algebraic: optimize bcsel(c, fsin/cos_amd(a), fsin/cos_amd(b)) +- nir: allow 16-bit fsin_amd/fcos_amd +- radv,aco,ac/llvm: use nir_op_f{sin,cos}_amd +- aco: make flat access latency match mtbuf/mubuf/mimg +- aco: include flat-like in vmem clause statistics +- aco: make FLAT_instruction::offset signed +- aco: improve support for scratch_* instructions +- aco: combine additions and constants into scratch load/store +- aco: handle subtractions in parse_base_offset +- aco: refactor VGPR spill/reload lowering +- aco: avoid WAW hazard with BVH MIMG and other VMEM +- aco: include scratch/global in VMEM WAW optimization +- aco: treat flat-like as vmem in some scheduling heuristics +- aco: initialize scratch base registers on GFX9-GFX10.3 +- aco: use scratch_* for scratch load/store on GFX9+ +- aco: use scratch_* for VGPR spill/reload on GFX9+ +- radv: fix vbo_bound_mask indexing +- radv: don't update misaligned_mask in CmdBindVertexBuffers2 +- aco: remove unnecessary exp_cnt increments +- aco: fix LdsBranchVmemWARHazard with 2+ branch chains +- aco: fix hash statistic +- radv: remove claimed support for sRGB vertex buffer formats +- radv: fix 16-bit support in radv_lower_vs_input +- aco: fix 16-bit VS inputs +- aco: don't expand vec3 VS input load to vec4 on GFX6 +- aco: add SCC clobber in build_cube_select + +Ricardo Garcia (1): + +- vulkan: allow null descriptor set layouts in pipeline layouts + +Riteo (1): + +- vulkan/device_select_wayland: fix a memory leak with DRM device handling + +Rob Clark (64): + +- freedreno: Misc indent fixes +- freedreno/drm/virtio: Appease valgrind +- freedreno/drm: Drop FD_PP_PGTABLE +- freedreno/drm: Close bo handle after bo->destroy() +- freedreno/drm: Move bo common init +- freedreno/drm/virtio: Support ring_idx +- freedreno/drm/virtio: Use userspace IOVA allocation +- freedreno/drm/virtio: Drop blocking in host +- freedreno/drm/virtio: Fix SHAREABLE+MAPPABLE +- freedreno/drm/virtio: Protocol updates +- freedreno/drm/virtio: Pass guest handles to execbuf +- freedreno/drm/virtio: Async ccmd batching +- freedreno/drm/virtio: Split up large uploads +- freedreno/a6xx: A couple more FD_BO_NOMAP +- freedreno: Split out helper for staging blit +- freedreno: Use staging transfer if mmap fails +- freedreno/drm: Fix bos_on_stack calculation +- drm-shim: Add GET_UNIQUE support +- freedreno/drm-shim: Update to latest uapi version +- freedreno/drm-shim: Robustify error handling +- drm-shim: Better mmap offsets +- drm-shim: Add error handling for bo_init() +- freedreno/drm-shim: Better iova handling +- drm-shim: Cleanup on device file close +- freedreno/drm: Use DEBUG_GET_ONCE_OPTION() +- freedreno/drm/virtio: Don't try to mmap imported bo's +- freedreno/devices: Add another SKU +- Revert "ci: freedreno farm is down" +- freedreno: Add pkt4 assert +- freedreno/registers: Small cleanup +- freedreno/a6xx: Split VFD_FETCH[] if needed +- freedreno/a6xx: Initialize VFD_FETCH[n].SIZE to zero +- freedreno/a6xx: assert valid vertex_flags reg +- turnip: assert valid vertex_flag reg +- freedreno/ir3: Don't lower_gs multiple times +- freedreno/ir3: Add copy_vars() helper +- freedreno/ir3: Copy vars if needed on EndPrimitive() +- freedreno/ir3: Add more tess varying slots +- freedreno/a6xx: Fix indentation +- freedreno/a6xx: Fix VS const packet size +- freedreno/ir3: Fix GS clip-plane lowering +- freedreno: rename ir3_emit_driver_params() +- freedreno/a6xx: Handle driver-params in GS/DS +- freedreno/a6xx: Do clip-plane lowering in backend +- freedreno/gmem: Reverse order of alternative tile rows +- util: Fix c++ enum casting pickiness +- libsync: Fix compiler warning +- freedreno/a6xx: Remove fd6_format.[ch] +- freedreno/a6xx: Fix enum tag +- freedreno: Extract common helper macros +- freedreno/ir3: Remove unneeded forward declaration +- freedreno/autotune: Make 'offset' macro "private" +- freedreno/drm: Combine upper and lower 32b of OR val +- freedreno/a6xx: De-open-code CACHE_FLUSH enum +- freedreno: Use enum for primtypes table +- freedreno/ci: Update unit test reference decodes +- freedreno/registers: Whitespace fix for gen_header.py +- freedreno/registers: Allow varset to be specified on enum +- freedreno/registers: Move varset to +- freedreno/registers/a6xx: Some reg64 conversion +- freedreno/drm: Fix potential bo cache vs export crash +- freedreno/gmem: Fix col0 calc +- llvmpipe: Add some missing locking +- freedreno: We really don't need aligned vbo's + +Roman Stratiienko (3): + +- Android.mk: Fix c11-related build failures +- v3dv: Enable sync_fd importing/exporting on Android +- v3dv: Limit API version to v1.0 for Android + +Ruijing Dong (6): + +- radeonsi/vcn: Add support of array_mode for gfx11 +- radeonsi/vcn: update av1 decoding to support vcn4 +- radeonsi/vcn: prepare for unified queue in vcn4 +- radeonsi/vcn: support unified queue in vcn4 +- frontends/va: do texture_map when needed +- frontends/va: WA for ffmpeg 10bit encoding crash + +Ryan Neph (5): + +- venus: update venus-protocol with VK_EXT_image_view_min_lod +- venus: enable VK_EXT_image_view_min_lod +- venus: support VK_KHR_copy_commands2 +- venus: refactor VkCommandBufferBeginInfo fixups to function +- venus: add support for VK_KHR_dynamic_rendering + +Sagar Ghuge (1): + +- anv: Disable storage image compression for possible atomic ops + +Sami Kyöstilä (2): + +- subprojects: Roll Perfetto to v27.1 +- util: Shut down Perfetto before driver unload + +Samuel Pitoiset (213): + +- radv: exclude PRIMITIVE_{COUNT,INDICES} from the per-vertex output mask +- radv: use shader_info::writes_memory +- radv: use shader_info::gs::active_stream_mask +- radv: use shader_info::inputs_read/outputs_written for FS IO +- radv: use shader_info::outputs_written/per_primitive_outputs for VS outputs +- radv: use shader_info::system_values_read +- radv: fix enabling adjust_frag_coord_z and apply per-pipeline +- radv: add support for independent descriptor set layouts +- radv: add support for VkShaderModuleCreateInfo as pNext +- radv: fix initializing pipeline_key::topology for GFX9 and older +- radv: mark all active stages earlier in the pipeline creation path +- radv: use the hardware primitive topology everywhere +- radv: initialize the vertex input interface state in only one place +- radv: do not support UNIFORM_TEXEL_BUFFER with SRGB +- radv: only apply enable_mrt_output_nan_fixup for 32-bit float MRTs +- radv/ci: update the flakes list for GFX9 chips +- 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: clarify why STAGE_2_CLEAR_BIT needs to wait for CP DMA to be idle +- radv: remove redundant VK_PIPELINE_STAGE_2_TRANSFER_BIT for CP DMA idle +- radv: add an SQTT workaround for chips with disabled RBs +- 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: use correct push constants range for internal operations +- radv/ci: update list of expected failures for Bonaire (GFX7) +- radv/ci: remove empty flakes lists for GFX9 +- radv: fix the number of generated primitive queries with NGG GS vs legacy +- radv/ci: stop skipping dEQP-VK.synchronization.* on Bonaire +- radv: use 3D views for 3D internal operations on GFX6-8 +- radv: re-emit dynamic line stipple state if the primitive topology changed +- radv/radix: handle intentional allocation failures properly +- ac,radeonsi: add has_sqtt_auto_flush_mode_bug +- radv/sqtt: fix configuring AUTO_FLUSH_MODE on GFX10.3 +- radv: only init acceleration structure if RT is enabled +- radv: disable instance packing to fix pipeline query stats +- radv: remove useless check against nir_texop_samples_identical +- radv/winsys: allow to use RADV_FORCE_FAMILY=gfx1100 +- radv: disable DCC for Senra Kagura Shinovi Versus +- aco: recognize GFX11 in few places +- aco: do not align VGPRS to 8 or 16 on GFX11 +- radv,aco: add support for packed threadID VGPRs on GFX11 +- radv,aco: use the new TCS WaveID SGPR to compute vs_rel_patch_id on GFX11 +- aco: export MRT0 instead of NULL on GFX11 +- aco: do not set DLC for loads on GFX11 +- aco: do not set GLC stores on GFX11 +- aco: update LDS allocation granularity for PS on GFX11 +- aco: update waitcnt on GFX11 +- aco: do not set RESOURCE_LEVEL for buffer descriptors on GFX11 +- aco: do not set COMPR for exports but use 0x3 channel mask on GFX11 +- radv,aco: export alpha-to-coverage via MRTZ on GFX11 +- aco: only retrieve the scratch offset when it's declared +- radv,aco: do not implicitly export the primitive ID for mesh shaders +- aco: remove unreachable code about viewport index/layer and mesh shaders +- radv,aco: add a workaround for binding 2D views of a 3D image on GFX9 +- radv: implement VK_EXT_image_2d_view_of_3d +- radv: advertise VK_EXT_image_2d_view_of_3d +- radv: do not declare the scratch offset on GFX11 +- aco: do not emit the primitive ID twice for NGG VS or TES with GS +- radv: do not align VGPRS to 8 or 16 on GFX11 +- radv: use the new format table on GFX11 +- radv: update scratch buffer registers on GFX11 +- radv: update sampler registers on GFX11 +- radv: update buffer descriptor registers on GFX11 +- radv: update image descriptor registers on GFX11 +- radv: use PIXEL_PIPE_STATE_DUMP event instead of ZPASS_DONE on GFX11 +- radv: configure DB_RENDER_CONTROL on GFX11 +- radv: do not emit non-existent CP_COHER_START_DELAY on GFX11 +- radv: do not emit FLUSH_AND_INV_DB_META on GFX11 +- radv: update TF_RING_size to a per-SE size on GFX11 +- radv: update VRS registers on GFX11 +- radv: apply a workaround for CB perf counters on GFX11 +- radv: limit CP DMA to max 32KB sizes on GFX11 +- radv: more register changes on GFX11 +- radv: do not lower loading TESS/ESGS rings using the ABI for LLVM +- aco: use ac_is_llvm_processor_supported() for checking LLVM asm support +- radv: rename shader compile functions to spirv_to_nir/nir_to_asm +- radv: do not try to dump the NIR of the trap handler shader +- radv: add new pipeline helpers for NIR->ASM compilation +- radv: init states from pTessellationState at only one place +- radv: init states from pViewportState at only one place +- radv: init states from pRasterizationState at only one place +- aco: remove unnecessary intrinsics that are lowered at the ABI level +- radv: determine if shaders use NGG before linking +- radv: export implicit primitive ID in NIR for legacy VS or TES +- radv: constify radv_pipeline in more radv_pipeline_generate_XXX() helpers +- radv: rename radv_pipeline_generate_XXX() to radv_pipeline_emit_XXX() +- radv: remove couple of useless pCreateInfo pointers in the emit path +- radv: remove unused radv_get_conservative_raster_mode() helper +- radv: move gs_table_depth to the physical_device +- radv: cleanup using device/physical_device during pipeline creation +- radv: split radv_pipeline into radv_{graphics,compute,library}pipeline +- radv: introduce radv_graphics_pipeline_info and split existing info structs +- radv/ci: fix fails list for NAVI21 +- radv: move HS info and task_num_entries to the physical device +- radv: rename radv_cmd_state::pipeline to graphics_pipeline +- radv: unify radv_pipeline_has_XXX() helpers +- radv: move streamout_shader to radv_graphics_pipeline +- radv: move active_stages to radv_graphics_pipeline +- radv: rename VERT_GRP_SIZE to VERTS_PER_SUBGRP on GFX11 +- radv: do not emit more non-existent registers on GFX11 +- radv: update framebuffer registers on GFX11 +- radv: update VRS rates on GFX11 +- radv: use the fragment resolve path by default on GFX11 +- radv: report adjusted LDS size for fragment shaders on GFX11 +- radv: fix configuring COLOR_INVALID on GFX11 +- radv: fix VK_BLEND_FACTOR_CONSTANT_COLOR translation on GFX11 +- radv: configure DB_Z_INFO.NUM_SAMPLES correctly on GFX11 +- radv: disable VK_AMD_shader_fragment_mask on GFX11 +- radv: disable attachementFragmentShadingRate on GFX11 +- radv: use pipeline->slab_bo in more places +- radv: fix writing buffer markers with non-zero memory offset +- radv: copy viewport/scissor when initializing radv_viewport_info +- radv: init states from pMultisampleState at only one place +- radv: init states from pDepthStencilState at only one place +- radv: init states from VkPipelineRenderingCreateInfo at only one place +- radv: use AMD values for computing blend related state +- radv: init states from pColorBlendState at only one place +- radv: init states from VkAttachmentSampleCountInfo at only one place +- radv: init states from VkPipelineDiscardRectangleState at only one place +- radv: init states from VkPipelineFragmentShadingRateState at only one place +- radv: ignore DYNAMIC_STENCIL_OP if stencil test isn't enabled +- radv: reduce radv_tessellation_info::patch_control_points to 8-bit +- radv: reduce radv_input_assembly_info::primitive_topology to 8-bit +- radv: reduce radv_rasterization_info::polygon_mode to 8-bit +- radv: reduce radv_discard_rectangle_info::count to 8-bit +- radv: fix lowering GS intrinsics if NGG is disabled per pipeline +- radv/ci: update list of failures for Pitcairn +- radv: enable radv_zero_vram for Hammerting +- radv/winsys: add get_chip_name() to the null winsys +- radv: report the marketing name as part of the device name +- radv: rename ngg_gs_state to ngg_query_state +- radv: track if primitives generated query features are enabled +- radv: add primitives_generated_query to the graphics pipeline key +- radv: declare the NGG query argument for primitives generated query +- ac/nir/ngg: count the number of generated primitives for VS and TES +- radv: flush the NGG query state when the argument is declared +- radv: add few helpers related to streamout +- radv: implement VK_EXT_primitives_generated_query +- radv: advertise VK_EXT_primitives_generated_query +- radv/ci: rename deqp-XXX jobs to vkcts-XXX +- zink/ci: skip two KHR-GL46 tests that timeout most of the time with RADV +- zink/ci: update list of expected failures with RADV +- radv: remove redundant check when importing vertex input info +- radv: update radv_is_vrs_enabled() to use radv_graphics_pipeline_info +- radv: update the check to determine if dynamic discard rectangle is needed +- radv: update the check to determine if dynamic sample location is needed +- radv: update the check to determine if rasterization is enabled +- radv: remove remaining unused pCreateInfo pointers +- ci: bump the hang-detection tool in the test image for Vulkan +- ci: fix passing down MESA_LOADER_DRIVER_OVERRIDE for zink-anv-tgl +- zink/ci: change the surface type used for dEQP +- ci/valve: split .b2c-test into .b2c-test-vk and .b2c-test-gl +- radv/ci: add GLES/GLCTS testing with Zink on NAVI10 +- zink/ci: update list of failures again +- radv/ci: refactor test machines and dEQP rules to reduce copy&paste config +- ci: update vkd3d-proton builder/runner +- ci: print a message when vk3d-proton returns successfully +- ci: add VKD3D_PROTON_RESULTS to the list of variables to pass down for testing +- radv/ci: add vkd3d-proton testing +- radv: advertise VK_EXT_border_color_swizzle on GFX10+ +- ci: uprev vkd3d-proton to 39d07dea2cef34bfb3ed39741f026bc637e3eec4 +- radv/amdgpu: make sure to reset the number of BO when there is no ranges +- radv/amdgpu: do not add "global" BO to the virtual BO list +- aco: fix validation of SOP1 instructions without definitions +- radv,aco: rename radv_prolog_binary/radv_shader_prolog to shader_part +- radv/llvm: always emit a null export even if the FS doesn't discard +- radv: disable small primitive culling for user sample locations +- radv: use RADEON_FLAG_VA_UNCACHED for the trace BO +- radv: fix command line for dumping waves with UMR +- radv: dump UMR waves before UMR rings +- radv: do not emit SQTT user data packets on the SDMA queue +- radv/ci: add CI lists for LLVM on NAVI21 +- radv: use LOAD_CONTEXT_REG to load the opaque buffer size on GFX10+ +- radv: do not abort if SPM isn't supported for the current GPU +- radv: remove old workaround for HTILE layers with F1 2021 +- zink/ci: update list of failures for piglit with RADV +- radv: disable DCC for Melty Blood Actress Again Current Code +- radv: always enable VK_EXT_debug_utils +- zink/ci: update list of failures +- radv/ci: update list of failures against CTS 1.3.3.0 +- aco: fix load_barycentric_at_sample without MSAA +- radv: fix dumping VS prologs assembly +- radv/ci: enable fossils testing for GFX1100 +- radv: remove the radv_report_apu_as_dgpu workaround for Red Dead Redemption 2 +- radv: fix wide points/lines by configuring the guardband correctly +- zink/ci: update list of CTS flakes for RADV +- ci: uprev vkd3d-proton to 5b73139f182d86cd58a757e4b5f0d4cfad96d319 +- radv,aco: track if a fragment shader needs an epilog +- radv,aco: introduce {radv,aco}_ps_epilog_key +- radv: declare a new user SGPR arg in FS for the epilog PC +- radv: add a function that declares PS epilog shader arguments +- aco: add new pseudo instruction p_jump_to_epilog +- aco: emit p_jump_to_epilog if the main fragment shader has an epilog +- aco: do not abort if the FS doesn't export anything but has an epilog +- aco: prevent adding DONE/VM to the last export if the FS has an epilog +- aco: add aco_postprocess_shader() helper +- radv,aco: rename radv_aco_build_prolog to radv_aco_build_shader_part +- aco: refactor export_fs_mrt_color() for PS epilogs preparation +- aco: add support for compiling PS epilogs +- radv: implement PS epilogs +- radv: disable viewport depth clamping only when necessary +- aco: requires Exact for p_jump_to_epilog +- radv: only force 1x sample for Bresenham lines when pipeline draws lines +- vulkan: add support for VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT +- radv: implement VK_EXT_attachment_feedback_loop_layout +- radv: ignore out-of-order rasterization if stencil write mask is dynamic +- radv: fix gathering XFB info if there is dead outputs +- radv: fix cleaning the meta query state if an error occured +- radv: re-emit viewports if negative one to one or depth clamp mode changed +- radv: fix bogus assertion with RADV_FORCE_VRS +- radv: fix pipelineStageCreationFeedbackCount when it's 0 + +Sarah Walker (2): + +- pvr: Update for firmware 1.17@6256262 +- pvr: Move BRN 44079, 48492 and 66011 code into pvrsrvkm specific directory + +Sathishkumar S (2): + +- radeon/vcn: skip create and destroy message for jpeg +- radeon/vcn: engage all available jpeg engines + +Sebastian Keller (1): + +- egl/wayland: Don't try to access modifiers u_vector as dynarray + +Sergi Blanch Torne (1): + +- ci/crosvm: clean crosvm socket + +Sidney Just (19): + +- 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 +- gallium: support for implementing EXT_external_objects_win32 +- mapi: added EXT_external_objects_win32 definitions +- gallium/noop: implement win32 device LUID and node mask getters +- gallium/trace: implement win32 device LUID and node mask getters +- mesa: implement GL_DEVICE_LUID_EXT and GL_DEVICE_NODE_MASK_EXT getters +- mesa: implement import win32 memory and semaphore +- mesa: pipe cap for EXT_memory_object_win32 and EXT_semaphore_win32 +- zink: codegen for Win32 external object extensions +- zink: implement win32 fence import +- zink: implement win32 memory handle import +- zink: implement device LUID and node mask +- zink: enable pipe cap for win32 external memory and fences +- docs: updated zink features and release notes + +Sil Vilerino (39): + +- gallium/vl: Add software winsys and offscreen winsys +- util/u_format: Drop assert that has valid/well-defined behavior +- util/vl_vlc: Support compiling in C++ +- st_vdpau: Pass format when opening resource from handle in st_vdpau_resource_from_description +- d3d12: Add .clang_format file +- gallium/va/radeonsi: Using private as a parameter name conflicts with C++ keywords +- gallium va: VaDeriveImage support stride/offset being different for NV12 planes +- gallium: Add values to pipe_video_cap for multi-slice and multi-reference encode +- gallium va: Handle new VA attributes with new pipe video caps +- gallium: Add multiple slice support to pipe_h264_enc_picture_desc +- gallium va: Add support for multiple slices encoding +- gallium radeon/r600/omx/va: Adds support for multiple reference encoding +- gallium: Add MinLumaBiPredSize8x8 to pipe_h264_sps, pic_init_qs_minus26 to pipe_h264_pps +- gallium omx: Fill out MinLumaBiPredSize8x8 and pic_init_qs_minus26 +- gallium vdpau: Fill out level_idc and MinLumaBiPredSize8x8 +- gallium va: VaHandlePictureParameterBufferH264 fill out new pipe params MinLumaBiPredSize8x8, pic_init_qs_minus26, chroma_format_idc, bit_depth_chroma, bit_depth_chroma_minus8 +- d3d12: Add d3d12_promote_to_permanent_residency +- ci: Update x86 debian build to pick up tag v1.602.0-r1 from DirectX-Headers +- d3d12: Add video decode implementation of pipe_video_codec +- d3d12: Add video encode implementation of pipe_video_codec +- d3d12: Add create_video_codec and create_video_buffer entrypoints +- d3d12: Add util video functions to d3d12_format +- d3d12: Improve planar resource support to handle video requirements +- d3d12: Add support for d3d12 video in d3d12_screen +- d3d12: Add GLSL singleton refcounting to screen for offscreen non-GL rendering +- meson: Support d3d12 as a video-supporting driver +- winsys: Do not use Display type when X11 is not present in build +- meson: Update DirectX-Headers dependency to 1.602.0 version with fallback to the wrap +- meson: Add build option for gallium-d3d12-video feature +- d3d12: Align output buffer offset access to D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS.CompressedBitstreamBufferAccessAlignment +- d3d12: Fix debug_printf format strings for cross platform builds +- d3d12: Video - Remove unused spCopyQueues from enc/dec objects +- pipe/video: Add PIPE_VIDEO_ENTRYPOINT_PROCESSING +- vl: Replace usage of entrypoint UNKNOWN with PROCESSING for VP +- va: Replace usage of entrypoint UNKNOWN with PROCESSING for VP +- gallium/video: Add video post processing interface +- va: Add support for VPP rotation, flip, alpha blend, crop, scaling +- d3d12: Add pipe_video_codec::process_frame implementation +- d3d12: Enable VPP rotation, flip, alpha blend, crop, scaling via pipe_video_codec::process_frame + +SoroushIMG (4): + +- zink: Fix BO size when it's not aligned to 16 bytes +- zink: Fix spirv stream 0 vertex emit for multistream shaders +- Zink: Fix clear being missed when using emulated draws in zink_blit +- zink: Fix incorrect emission of SPIR-V shift ops + +SureshGuttula (4): + +- radeonsi: Set display_remote for non-refernced frames +- radeonsi/vcn : update enc->dpb ref_use for index 0 +- Revert "radeonsi: Set display_remote for non-refernced frames" +- Revert "radeon: hardcode uvd/vce encoder not_referenced value to false" + +Sviatoslav Peleshko (7): + +- mesa: flush bitmap caches when changing scissors or window rects state +- anv: workaround apps that assume full subgroups without specifying it +- intel/blorp/gen6: Set BLEND_STATEChange only if emitting the blend state +- anv: Dirty all dynamic state bits when creating command buffer state +- intel/blorp: Dirty depth bounds dynamic state bits after blorp +- intel/nullhw: Use correct macro to fix build regression +- iris: Always initialize shader compilation queue ready fence + +TSnake41 (1): + +- zink: print result code string on vulkan failure + +Tapani Pälli (5): + +- isl: disable mcs (and mcs+ccs) for color msaa on DG2 +- anv: use anv_cmd_dirty_mask_t type for dynamic state +- intel/fs: setup SEND message descriptor from nir scope +- iris: implement Wa_14015264727 for DG2 +- anv: implement Wa_14015264727 for DG2 + +Tatsuyuki Ishi (9): + +- radv: Fix redundant subpass barriers due to erroneous comparison +- radv/ci: skip dEQP-VK.fragment_operations.transient_attachment_bit +- radv/ci: Move transient_attachment_bit from fail to skip list +- radv/ci: skip image.sample_texture.*_compressed_format* +- radv/ci: Move sample_texture.*_compressed_format_* to faillist for gfx<=9 +- radv: Fix vkCmdCopyQueryResults -> vkCmdResetPool hazard. +- amd: Revert gfx10 addrlib changes +- radv: Only set pstate for the first hw_ctx. +- radv: Implement radv_flush_before_query_copy to workaround UE Vulkan bugs. + +Thomas Debesse (2): + +- gallium/clover: LLVM setLangDefaults moved from clangFrontend to clangBasic +- gallium/clover: pass -no-opaque-pointers to Clang + +Tiago Koji Castro Shibata (2): + +- d3d12: fallback to integrated adapter instead of arbitrary one +- d3d12: add more formats to supported conversions + +Timothy Arceri (71): + +- glsl/st: vectorise interfaces of SSO shader programs +- nir: fix setting varying from uniform as flat +- nir: fix sorting before assigning varying driver locations +- nir: always set the exact_trip_count_unknown loop terminator property +- nir: remove unreachable loop terminators +- svga: remove duplicate nir compile options +- nir/glsl: add glsl_record_compare() wrapper +- nir/glsl: wrapper contains_{double,interger}() +- nir/glsl: wrapper field_index() +- nir/glsl: wrap component_slots_aligned() +- glsl/mesa: move parse_program_resource_name() to common linker_util code +- glsl: add new build program resource helpers +- nir: add variable data fields required for NIR glsl varying linking +- nir: abort io info gathering if location is not set or is a temp value +- nir: skip lowering io to scalar for must_be_shader_input +- glsl: implement lower_packed_varyings() as a NIR pass +- glsl: add a NIR based varying linker +- glsl: implement opt_dead_builtin_varyings() as a NIR pass +- glsl: implement lower_xfb_varying() as a NIR pass +- glsl: enable the use of the nir based varying linker +- glsl: remove now unused GLSL IR varying linker code +- glsl: simplify finding cursor in varying packing code +- nir: add support for forced sampler indirect loop unrolling +- gallium/drivers: set force_indirect_unrolling_sampler for all required drivers +- glsl: move validation of sampler indirects to the nir linker +- i915g: use a valid setting for force_indirect_unrolling +- softpipe: switch to NIR loop unrolling +- asahi: switch to NIR loop unrolling +- d3d12: switch to NIR loop unrolling +- etnaviv: switch to NIR loop unrolling +- i915g: switch to NIR loop unrolling +- r300: disable GLSL IR loop unrolling +- r600: switch to NIR loop unrolling +- vc4: disable GLSL IR loop unrolling +- nir/i915g/r300/nv30: skip marking varyings as flat in some drivers +- etnaviv: assert if etna_shader_io_file reg overrun +- etnaviv: vectorise io +- nir/gcm: fix pushing instructions into if blocks +- ci: uprev piglit 2022-05-31 +- nir: add nir based version of the lower_const_arrays_to_uniforms pass +- glsl/nir: skip adding hidden uniforms to the remap tables +- glsl/nir: allow the nir linker to remove dead uniforms we created +- glsl: move common link time optimisation calls to linker code +- glsl: move gl_nir_link_opts() call out of the st code +- glsl: switch to NIR based implementation of lower_const_arrays_to_uniforms() +- glsl: remove now unused lower_const_arrays_to_uniforms() +- gallivm: disable GLSL IR loop unrolling in LLVMPIPE +- freedreno/ir3: tidy up duplication of common nir options +- freedreno: switch to NIR loop unrolling +- lima: lower all undefs to zero in vs +- lima: fixup nir indirect unroll options to match gallium CAP +- lima: switch to NIR loop unrolling +- nouveau/nv30: disable GLSL IR loop unrolling +- nouveau/nv50: disable GLSL IR loop unrolling +- nouveau/nvc0: disable GLSL IR loop unrolling +- svga: disable GLSL IR loop unrolling +- gallium: remove PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT CAP +- glsl: remove the now unused GLSL IR loop unrolling code +- glsl: drop extra optimise swizzles call +- glsl: tidy up link_varyings_and_uniforms() +- glsl: remove never true do_dead_code() parameter +- glsl: inline do_common_optimization() call +- util: add dri config option to disable GL_MAP_UNSYNCHRONIZED_BIT +- util: use force_gl_map_buffer_synchronized workaround with RAGE +- glsl: merge lower_buffer_access with lower_shared_reference +- glsl: drop non-nir path for atan in builtin functions +- st/glsl: fix broken vertex attrib mapping +- nir/loop_unroll: clean up after complex_unroll_single_terminator() +- glsl: correctly track cross slot component packing +- Revert "nir: Preserve offsets in lower_io_to_scalar_early" +- glsl: dont lower precision for textureGatherOffsets + +Timur Kristóf (119): + +- radv: Minor formatting fix in radv_device.c file. +- radv: Move queue submit sparse bindings to a separate function. +- radv: Move empty queue submit code path to a separate function. +- radv: Move normal (non-empty) queue submit to a separate function. +- radv: Move up early exit for transfer queues in radv_get_preamble_cs. +- radv: Simplify some boolean code in radv_get_preamble_cs. +- radv: Initialize BO pointers when creating preambles. +- radv: Refactor cache flush code for the initial preambles. +- radv: Don't create continue preamble when it's not needed. +- radv: Rename fill_geom_tess_rings to radv_fill_shader_rings. +- radv: Don't use pointers to pointers when updating the preambles. +- radv: Only emit what is appropriate to the queue family for preambles. +- ac/nir: Add ac_nir_load_arg helper for shader arguments. +- radv: Move radv_nggc_settings enum out of radv_cmd_buffer. +- nir: Add upper bound for AMD shader arg intrinsics. +- radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments. +- ac/nir: Remove now-superfluous ac_nir_lower_tess_to_const. +- aco: Remove now-superfluous intrinsics. +- ac/llvm: Remove now-superfluous intrinsics and ABI callbacks. +- radv/amdgpu: Group queue submit info into a structure. +- radv/amdgpu: Initialize semaphore info with a designated initializer. +- radv/amdgpu: Pass new queue submit info structure to internal function. +- radv/amdgpu: Pass correct struct type instead of repeating the cast. +- radv/amdgpu: Use scheduled dependency for submitting to multiple queues. +- ac/nir: Add I/O lowering for task and mesh shaders. +- ac: Add task ring entry shader argument. +- radv: Add radv_pipeline_has_task helper. +- radv: Set user data register for task shaders. +- radv: Set wave size for task shaders. +- radv: Fill task shader info. +- radv: Add task shader arguments. +- radv: Add task ring entry argument for mesh shaders. +- radv: Implement task shader intrinsics in the ABI. +- radv: Enable nir_opt_offsets for task shaders. +- radv: Use I/O lowering for task and mesh shaders. +- radv: Postprocess task shader configuration. +- radv: Allow linking task shaders. +- radv: Lower shared and task_payload variables in task/mesh shaders. +- radv: Print task shader stage name before disasm. +- radv: Fix task shader info. +- radv: Fix loading task shader ring buffer addresses. +- aco: Fix scratch with task shaders. +- radv: Introduce ring info structure for queues, refactor preamble generation. +- radv: Use a ws variable during preamble creation. +- radv: Pass radv_device pointer to some functions. +- radv: Refactor queue state to separate structure. +- radv: Clarify emitting graphics shader pointers. +- nir: Add explicit task payload atomic intrinsics. +- radv: Implement conditional rendering for async compute queue. +- ac: Remove trailing white space. +- aco: Remove trailing whitespace. +- radv: Remove trailing whitespace. +- radv: Disable predication for supass clear and image clears. +- nir: Add new launch_mesh_workgroups intrinsic. +- nir: Add common task shader lowering to make the backend's job easier. +- radv: Add mesh and task stage names to pipeline executable properties. +- nir: Keep track of cross-invocation mesh shader output access. +- radv, ac/nir: Fix multiview layer export for mesh shaders. +- ac/nir/taskmesh: Use task shader lowering from common NIR code. +- ac/nir/taskmesh: Use 3 dimensional workgroup ID. +- ac/nir: Add remappability to tess and ESGS I/O lowering passes. +- ac: Add RDNA2 task+mesh shader draw packet opcodes. +- ac: Add task shader ring information. +- radv: Implement task shader draw and payload rings. +- nir: Introduce new intrinsics for AMD specific mesh shader task ring. +- ac/nir/ngg: Clean up mesh shader output LDS layout. +- ac/nir/ngg: Use mesh shader scratch ring when outputs don't fit LDS. +- ac/nir/ngg: Use variables for outputs without cross-invocation access. +- radv: Implement mesh shader scratch ring. +- radv: Enable NGG wave ID for mesh shader scratch ring. +- ac/nir/ngg: Add mesh shader workgroup index. +- radv: Lower mesh shader 3D workgroup ID to 1D index. +- ac/nir/taskmesh: Preserve workgroup ID Y and Z when applying firstTask. +- radv: Always use 3D block ID and grid size in task shaders. +- gallium/u_blitter: Fix depth. +- zink: Enable the VK_EXT_depth_clip_enable extension. +- zink: Always enable depth clamping, make depth clipping independent. +- nir/lower_task_shader: don't use base index for shared memory intrinsics +- ac/nir/ngg: Refactor LDS instructions in NGG GS vertex emit and export. +- ac/nir/ngg: Ignore driver location for mesh shader outputs. +- radv: Don't assign driver locations to mesh shader outputs. +- radv: Add CULL_PRIMITIVE to special output mask. +- radv: Use NIR optimization to move discards to the top. +- radv: Only initialize DGC state when DGC is enabled. +- radv: Remove trailing whitespace introduced by DGC commits. +- radv: Refactor predication for compute queues. +- radv: Refactor some CP DMA functions to work with radeon_cmdbuf. +- radv: Refactor radv_emit_userdata_address to work with radeon_cmdbuf. +- radv: Refactor radv_emit_descriptor_pointers to work with radeon_cmdbuf. +- radv: Refactor radv_emit_inline_push_consts to work with radeon_cmdbuf. +- radv: Refactor view index emit to use a per-stage function. +- radv: Move inline push constants to a new function. +- radv: Minor cleanup of radv_queue_submit_normal. +- radv: Allow reusing pipeline compute state emit functions. +- radv: Add dispatch_initiator_task field to radv_device. +- radv: Create internal cmdbuf when a graphics pipeline needs compute. +- radv: Flush descriptors and push constants for task shaders. +- radv: Introduce radv_before_taskmesh_draw. +- radv: Implement mesh shading draw calls with task shaders. +- radv: Synchronization for task shaders. +- radv: Support task shaders in secondary cmd buffers. +- radv: Workaround MEC taskmesh dispatch hang when count buffer has zero. +- radv: Submit internal compute cmdbuf. +- radv: Copy BO list to ACE internal CS. +- radv: Enable task shader feature for NV_mesh_shader. +- ac/nir/ngg: Move primitive ID workgroup barrier to proper place. +- aco: Remove hack for primitive ID export. +- ac/nir/ngg: Create output variable for primitive ID export. +- ac/llvm: Implement load_num_subgroups for NGG shaders. +- ac/llvm: Add LLVM bug workaround to ac_build_mbcnt_add. +- ac/llvm: Use gs_prim_id for NGG VS. +- ac/nir/ngg: Copy comment about LDS layout for NGG GS. +- ac/nir/ngg: Remember proper bit sizes of GS output variables. +- ac/llvm: Implement GDS atomic add NIR intrinsic. +- radv/llvm: Remove incorrect hardcoded workgroup size from NGG GS. +- radv: Properly set LDS size for LLVM NGG shaders. +- radv: Use NIR-based NGG lowering with LLVM. +- aco: Fix p_init_scratch for task shaders. +- nir/gather_info: Clear cross-invocation output mask. + +Tomeu Vizoso (4): + +- lima/ci: Disable lima-mali450-piglit-gpu:arm64 +- panvk/ci: Disable CI for a while +- ci: Disable jobs to the Collabora lab +- Revert "ci: Disable jobs to the Collabora lab" + +Vadym Shovkoplias (4): + +- anv: Fix geometry flickering issue when compute and 3D passes are combined +- driconf: Add a limit_trig_input_range option +- drirc: Set limit_trig_input_range option for the Wolfenstein Youngblood +- drirc: Set limit_trig_input_range option for glmark2 + +Vasily Khoruzhick (7): + +- lima: Implement texture_barrier +- lima: enable PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT +- lima: Lower nir_op_idiv with other scalar math operations. +- u_transfer_helper: flush temporary transfer first for MSAA +- lima: implement lima-specific blitter +- lima: wire up MSAA 4x support +- lima: fix buffer overallocation for index, vertex and constant buffers + +Victor Hermann Chiletto (1): + +- radv: always check entry count in descriptor pool when allocating + +Viktoriia Palianytsia (1): + +- anv: Add workaround for sample mask with multisampling + +Vinson Lee (14): + +- panfrost: Fix memory leaks on unit test failures. +- zink: Fix memory leak on error path. +- radeonsi: Move NULL check before dereference. +- dri2: Fix memory leak. +- d3d12: Initialize d3d12_video_encoder_bitstream member m_uiOffset. +- amd: Initialize Gfx11Lib members in constructor. +- d3d12: Remove unnecessary NULL check. +- clc: Fix build with llvm-15. +- microsoft/spirv_to_dxil: Fix missing-prototypes errors. +- radv: Remove unnecessary null check. +- microsoft/compiler: Fix assert. +- tu: Check dereferenced value of rop_reads_dst. +- aco: Initialize spill_ctx members in constructor. +- r600/sfn: Initialize TestShaderFromString member m_instr_factory. + +Vlad Zahorodnii (2): + +- winsys/amdgpu-radeon: Allow specifying context priority +- radeonsi: Add support for EGL_IMG_context_priority + +Yevhenii Kolesnikov (1): + +- nir: Remove single-source phis before opt_if_loop_last_continue + +Yiwei Zhang (51): + +- venus: override aspectMask for internal tiling modifier +- venus: use linear modifier for legacy common wsi path +- venus: fix view format for ahb image +- venus: refactor to add struct vn_env +- venus: add env perf options and introduce no_async_set_alloc +- venus: add VN_PERF option no_async_buffer_create +- venus: add VN_PERF option no_async_queue_submit +- venus: refactor vn_cmd_submit +- venus: flush when batched draw calls reach a threshold +- venus: disable VK_EXT_extended_dynamic_state2 +- venus: refactor android gralloc pieces +- venus: cache front_rendering_usage bit at gralloc init +- venus: update vn_GetSwapchainGrallocUsage2ANDROID for shared present +- venus: enable ANB shared presentable image prop +- venus: add VN_RELAX_BASE_SLEEP_US env var for tuning cpu utils +- venus: log performance envs upon instance creation with debug init +- venus: extend buffer cache to cover layering usage +- vulkan: remove the VkPhysicalDeviceMemoryProperties workaround +- radv: remove VkPhysicalDeviceMemoryProperties2 workaround +- venus: use common entry point for VkPhysicalDeviceMemoryProperties +- venus: resolve AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 to external format +- venus: fix a bug on buffer cache init failure path +- venus: fix the queue init failure path +- venus: fix a missing mtx_destroy in vn_device_init +- venus: adjust device resources init order +- venus: let device track queue families used for device creation +- venus: add vn_feedback_pool backed by coherent buffer (part 1) +- venus: add vn_feedback_pool backed by coherent buffer (part 2) +- venus: add feedback check/set/reset helpers +- venus: add event feedback +- venus: add NO_FENCE_FEEDBACK perf option and disable sparse resource +- venus: create per queue family command pool for feedback cmd +- venus: renderer to store allow_vk_wait_syncs capset +- venus: add fence feedback +- venus: resolve YV12 AHB to VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM +- venus: use narrow range to match up with mesa EGL +- venus: swizzle the chroma channels for YVU420 to match the VkFormat +- venus: GetPhysicalDeviceSparseImageFormatProperties to match sparse support +- venus: suballocate more for layering +- venus: add more tracepoints for perf analysis +- venus: filter out VK_EXT_physical_device_drm on the driver side +- venus: check dynamic state for raster enablement +- venus: reenable VK_EXT_extended_dynamic_state2 +- Revert "venus: suballocate more for layering" +- anv: enable VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM for modifier support +- venus: fix external memory ext filtering +- venus: avoid feedback for external fence +- venus: allow no external memory handle when renderers lacks support +- zink: fix zink_create_fence_fd to properly import +- zink: fix in-fence lifecycle +- venus: ignore pInheritanceInfo if not secondary command buffer + +Yogesh Mohan Marimuthu (12): + +- radeonsi/gfx11: make flat_scratch changes for graphics +- radeonsi/gfx11: make flat_scratch changes for compute +- radeonsi/gfx11: interp changes for 32bit +- radeonsi/gfx11: interp changes for 16bit +- radeonsi/gfx11: instruction cache line size is 128 bytes +- radeonsi/gfx11: program inst_pref_size for compute +- radeonsi/gfx11: program db render control register +- radeonsi/gfx11: export alpha through mrtz for alpha-to-coverage if mrtz is there +- ac,radeonsi/gfx11: swizzle MRT0/1 for dual source blending +- vulkan/wsi: fix extra free if buffer_blit_queue +- radeonsi: remove tabs from code +- radeonsi: no need to call si_pm4_clear_state() in si_pm4_free_state() + +Yogesh Mohanmarimuthu (1): + +- radeonsi/gfx11: use PIXEL_PIPE_STATE_DUMP event instead of ZPASS_DONE + +Yonggang Luo (119): + +- zink: Remove redundant framebuffer_mtx from zink_screen.h +- win32: Fixes 32 bits visual studio module definition files by add script gen_vs_module_defs.py +- win32: Do not use BUILD_GL32, we use def file to export win32 dll symbols. +- misc: Replace \`#ifdef\\t__cplusplus` with \`#ifdef\\s\\s__cplusplus` +- misc: replace \`#ifdef\\s\\s__cplusplus` with \`#ifdef\\s__cplusplus` +- zink: Trim spaces in zink.rst +- zink: Improve zink.rst with links +- st: Improve _mesa_error about GL_OUT_OF_MEMORY in st_cb_texture.c +- llvmpipe: Do not use _Atomic keyword that doesn't support by MSVC +- radv: fixes msvc compiling error +- radv: Fixes compiling error with msvc +- radv: Add losing member hw_ip_version_major and hw_ip_version_minor for win32 +- radv: Add macros for win32 that accessed +- nir: Fixes MSVC compiling error about unused variable \`_` +- egl/wgl: On win32, there is no support for EGL_EXT_device and EGL_EXT_platform_device +- util: Fixes test_util_get_process_exec_path on windows host with msys2/mingw +- util: Fixes typo in test_util_get_process_exec_path +- ci/vs2019: Clear CI_COMMIT_MESSAGE and CI_COMMIT_DESCRIPTION for please meson +- radv: Remove usage of \`cnd_monotonic.h` +- d3d12: Fixes d3d12 compiling errors in \`D3D12ResourceState.h` for mingw +- d3d12: Move shared code that include d3d12 headers into d3d12_common.h +- d3d12: Fixes compiling error by include \`` +- d3d12: \`#include ` instead \`#include ` for building under linux with mingw +- d3d12/wgl/test: Fixes wgl_tests.cpp for d3d12 with mingw +- dzn: Fixes compiling error when build with msys2/mingw +- dzn: Fixes compiling error by include \`` +- microsoft/clc: Fixes compiling of microsoft clc with mingw +- docs: Fixes dispatch.rst with __THREAD_INITIAL_EXEC +- meson: Fixes timespec_get detect code +- c11/threads: Remove the detecting code for \`HAVE_TIMESPEC_GET` in threads_win32.h +- c11: Implement c11/time.h with c11/impl/time.c +- c11: Implement timespec_get on win32 properly when not available +- util: Use timespec_get directly, it's always present +- util: Remove usage of designated initializers in timespec_test.cpp +- util: always enable timespec_test.cpp +- util: Remove unused function timespec_passed +- util: Add unittest for timespec_get +- ci/vs2019: There is no meaning to set $env:ErrorActionPreference +- ci/vs2019: switch to powershell 7 +- ci/vs2019: Update editorconfig for ps1 files +- ci/vs2019: Give each option its own line in mesa_build.ps1 +- ci/vs2019: Rename to vsInstallPath +- ci/vs2019: Do not install subprojects +- ci/vs2019: Ignore cert install output, it's too long +- ci/vs2019: Ignore error when removing directory recursively +- ci/vs2019: Disable progress when install python +- ci/vs2019: Disable progess bar for pip3 install +- ci/vs2019: Use shared VULKAN_SDK_VERSION for install and build vulkan related packages +- ci/vs2019: Add a dedicated script for entering VS dev shell +- ci/vs2019: Split call to C:\\vs_buildtools.exe into multiple lines +- ci/vs2019: Show the total vs2019 install time +- ci/vs2019: Reduce the vs2019 build tools components to be installed +- ci/vs2019: ignore _build and _install directory by write * into .gitignore +- ci/vs2019: Install all build artifacts into C:\\mesa-deps +- ci/vs2019: Split choco install output +- ci/vs2019: Split install of vs2019 and choco into separate Docker image +- ci/vs2019: Remove comment for windows_test_vs2019 that not true +- ci/vs2019: Convert mesa_build.ps1 to using PowerShell 7 && operator +- microsoft/compiler: Include stddef.h before using size_t +- microsoft/compiler: Fix error from double extern +- dxil: Fixes compiling dxcapi.h with mingw. +- dxil: Sync dxil_spirv_shader_stage with gl_shader_stage +- dxil: Fixes warning about comparing different enum value and enum literal +- microsoft/spirv_to_dxil: Delete unused local variable +- microsoft/clc: Delete unused local variables +- microsoft/clc: Add missing void to no-parameter function signature +- microsoft/spirv_to_dxil: Fixes maybe-uninitialized compiling error in dxil_spirv_nir.c +- ci: Building spirv-to-dxil on both mingw and debian/x64 +- intel: using C++11 keyword thread_local +- glx: using C++11 keyword thread_local +- util: Define WIN32_LEAN_AND_MEAN before include of \`windows.h` in u_thread.h +- c11: Move the implementation of threads.h into c source code +- c11: Fixes memory leak of pack in thrd_create on win32 +- c11: Implement thread_local in c11/threads.h +- util/c11: Update function u_thread_create to be c11 conformance +- meson: Using get_argument_syntax as the \`--compiler_id` option for gen_vs_module_defs.py +- meson: Use cc.get_argument_syntax instead cc.get_id when possible. +- meson/rtti: Using get_argument_syntax to check msvc compatible compiler +- meson/clover: Getting clover can be built with no-rtti llvm in mingw +- ci/vs2019: Upgrade Windows 10 SDK version to 20348 +- docs: Update windows build requirement with Visual Studio +- d3d12: Use static_cast instead of dynamic_cast in d3d12_video_enc_h264.cpp +- d3d12: Convert #include to #include for mingw on linux +- d3d12: Fixes compiling error in d3d12/wgl/d3d12_wgl_framebuffer.cpp with gcc +- microsoft/clc: Fixes narrowing error in clc_compiler_test.cpp with mingw/gcc +- microsoft/clc: Disable clc_compiler_test on non-windows platform +- dzn: Fixes incompatible pointer type error +- ci/x86_build: Getting pushd popd be paired, avoid using cd +- ci: Prepare the container for building all mesa components with mingw under linux +- ci: Trigger the new mingw/linux dockers to be build +- d3d12: Turn d3d12_format.h to include d3d12_common.h +- ci: Building all mesa functional with mingw on debian +- meson: Enable wgl tests on mingw +- CODEOWNERS: Update c11 code owners +- CODEOWNERS: evelikov renamed to xexaxo +- gallium: Move -DHAVE_PIPE_LOADER_DRI and -DHAVE_PIPE_LOADER_KMS to be pre_args +- gallium: Do not call to pipe_loader_sw_probe_kms when not present +- gallium: Rename macros HAVE_PIPE_LOADER* +- gallium: Disable dri2 interface on OSX +- glx: __glX_tls_Context should use __THREAD_INITIAL_EXEC +- util: thread_local doesn't support to be exported on OSX +- glx: Convert tab to space in applegl_glx.c +- dri: Trim trailing space in dri/dri_util.* +- ci: Building osmesa on OSX +- util: Disable tests/sparse_array_test.cpp on MacOS as it's too slow +- mapi: Trim trailing spaces in stub.c and u_current.c +- meson: Remove usage of use_elf_tls +- egl: Remove usage of USE_ELF_TLS macro +- mapi: Remove usage of USE_ELF_TLS +- loader: Remove usage of USE_ELF_TLS in loader.c +- glx: Remove usage of USE_ELF_TLS +- util: Remove usage of USE_ELF_TLS in u_thread.h +- meson: Remove pre_args += '-DUSE_ELF_TLS' +- glx: Remove usage of pipe_tsd_set and pipe_tsd_get +- auxiliary: Remove pipe_tsd +- d3d12: Fixes compile error with mingw/gcc-x64 when static linkage to runtime library +- microsoft/clc: Fixes compiling errors with clang/mingw64 in clc/clc_compiler_test.cpp +- util: Fixes invalid assumption that return non null by function util_format_fetch_rgba_func +- c11: #include when the os/platform provide it + +Yurii Kolesnykov (2): + +- Remove Travis CI config +- Init macOS GitHub Action + +Zack Rusin (4): + +- svga: Don't try to build x86/x64 assembly on different arch's +- svga: finish readbacks before mapping resources +- svga: Use direct maps when GB objects are present +- svga: Add support for SVGAv3 + +Zhang, Jianxun (1): + +- iris: Wa_14016820455 for GFX_VERx10 == 12.5 + +illiliti (1): + +- Use proper types for meson objects + +jheaff1 (1): + +- build(glx): Fix build by adding missing deps + +naveen (1): + +- github/ci: Set permissions for GitHub actions + +newbluemoon (1): + +- nine: replace ulimit with sysconf call + +prashanth (1): + +- vulkan/device_select: force default device if environment variable set + +sjfricke (2): + +- isl: fix bug where sb.MOCS is not being set +- anv: fix assert to build with shader cache disabled + +xperia64 (1): + +- wgl: Add driver_zink as a dependency of the wgl frontend + +İlhan Atahan (1): + +- Add Adreno 616 and 620 to use turnip on these GPU's .