1Mesa 21.3.0 Release Notes / 2021-11-17 2====================================== 3 4Mesa 21.3.0 is a new development release. People who are concerned 5with stability and reliability should stick with a previous release or 6wait for Mesa 21.3.1. 7 8Mesa 21.3.0 implements the OpenGL 4.6 API, but the version reported by 9glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / 10glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. 11Some drivers don't support all the features required in OpenGL 4.6. OpenGL 124.6 is **only** available if requested at context creation. 13Compatibility contexts may report a lower version depending on each driver. 14 15Mesa 21.3.0 implements the Vulkan 1.2 API, but the version reported by 16the apiVersion property of the VkPhysicalDeviceProperties struct 17depends on the particular driver being used. 18 19SHA256 checksum 20--------------- 21 22:: 23 24 a2753c09deef0ba14d35ae8a2ceff3fe5cd13698928c7bb62c2ec8736eb09ce1 mesa-21.3.0.tar.xz 25 26 27New features 28------------ 29 30- VK_EXT_color_write_enable on lavapipe 31- GL_ARB_texture_filter_anisotropic in llvmpipe 32- Anisotropic texture filtering in lavapipe 33- VK_EXT_shader_atomic_float2 on Intel and RADV. 34- VK_EXT_vertex_input_dynamic_state on RADV. 35- VK_KHR_timeline_semaphore on lavapipe 36- VK_EXT_external_memory_host on lavapipe 37- GL_AMD_pinned_memory on llvmpipe 38- GL 4.5 compatibility on llvmpipe 39- VK_EXT_primitive_topology_list_restart on RADV and lavapipe. 40- ES 3.2 on zink 41- VK_KHR_depth_stencil_resolve on lavapipe 42- VK_KHR_shader_integer_dot_product on RADV. 43- OpenGL FP16 support on llvmpipe 44- VK_KHR_shader_float16_int8 on lavapipe 45- VK_KHR_shader_subgroup_extended_types on lavapipe 46- VK_KHR_spirv_1_4 on lavapipe 47- Experimental raytracing support on RADV 48- VK_KHR_synchronization2 on Intel 49- NGG shader based culling is now enabled by default on GFX10.3 on RADV. 50- VK_KHR_maintenance4 on RADV 51- VK_KHR_format_feature_flags2 on RADV. 52- EGL_EXT_present_opaque on wayland 53 54 55Bug fixes 56--------- 57 58- RADV/ACO: Monster Hunter Rise Demo renders wrong results 59- radv: Odd lack of implicit host memory invalidation 60- Regression/Bisected: Crash in Godot games when steam overlay enabled 61- RADV: IsHelperInvocationEXT query is not considered volatile in ACO 62- ANV: error submitting with the same semaphore for wait and signal - regression? 63- [TGL+] anv: some dEQP-VK.drm_format_modifiers.* fails 64- Mesa 21.3rc3 - compile failure 65- iris: subslice assertion failure on some hardware during initialization 66- Final Fantasy V (Old version): Random text characters are not displayed 67- Diagonal rendering artifacts in Tomb Raider 68- dota2 black squares corruption 69- [hsw][bisected][regression] dEQP-VK.reconvergence.*nesting* failures 70- anv: dEQP-VK.wsi.wayland.<various> failures 71- radv_android.c: build errors due to commit 49c3a88 72- dEQP-EGL.functional.sharing.gles2.multithread.* regression with Iris 73- [radeonsi] Euro Truck Simulator 2: broken mimimap 74- [regression][bisected] Launching Valheim OpenGL game leads to GPU Hang 75- Android Meson build regression: hardware/system information apps crash on Raspberry Pi 4 76- radv: format properties are broken with modifiers 77- anv: dEQP-VK.graphicsfuzz.cov-multiple-one-iteration-loops-global-counter-write-matrices fails 78- iris: CCS modifier tests failing with suballocation 79- [RADV] For the game "World War Z: Aftermath" (Vulkan API) should used RADV_DEBUG=invariantgeom param 80- RADV: Resident Evil Village needs invariantgeom when NGG culling is enabled 81- radv: VK_EXT_vertex_input_dynamic_state 82- anv: dynamic state emission is busted 83- radeonsi: out of bounds access/compiler warning 84- RADV: Rendering issues in Resident Evil 2 with NGGC 85- GPU Hang/reset/forced reboot - latest mesa - mesa-demos/gloss 86- crocus: Incorrect stride when used through prime 87- radv: Vulkan games and demo apps are broken since "use DCC compatible with image stores for < 4K resolutions" 88- anv: descriptorBindingUniformBufferUpdateAfterBind feature is not supported 89- Cheza board reboots into another image on retry 90- freedreno: several regressions in org.skia.skqp.SkQPRunner 91- android: radv_android.c building errors after commits 9fc16b6 and 48cae11 92- iris: Implement memory sub-allocation 93- Assault Android Cactus ( STEAM AppID 250110) - Black triangles on Main menu character 94- World War Z - Renders red if FSR is enabled 95- Significant performance drop on Radeon HD 8400 96- turnip/a650: most VK_EXT_filter_cubic tests in dEQP-VK.texture.filtering.* fail 97- Ender Lilies: Turnip: Fails to render in-game 98- [nir][radv] Out of range shift when compiling Resident Evil Village shaders 99- [nir][radv] Out of range shift when compiling Resident Evil Village shaders 100- GL_EXT_disjoint_timer_query glGetInteger64v GL_TIMESTAMP failing with GL_INVALID_ENUM 101- Valgrind errors in VBO display list code since vertex store rework 102- Issue with Turnip compilation on Oneplus 8 103- freedreno: primtype_mask 104- [radv] bufferImageGranularity is 64 105- ../mesa-9999/src/amd/llvm/ac_llvm_helper.cpp:63:14: error: 'class llvm::AttributeList' has no member named 'hasAttribute'; did you mean 'getAttributes'? 106- GPU Reset POLARIS with Unigine Heaven and X4 107- RADV: consistent crash in Splitgate 108- llvmpipe doesn't compile a shader with an inner scope in a for loop 109- llvmpipe doesn't compile the increment of a for a loop 110- Mesa 21.2.1 implementation error: unexpected state[0] in make_state_flags() 111- freedreno: regression in org.skia.skqp.SkQPRunner#gles_localmatriximagefilter 112- [Radeonsi] VA-API Encoding no longer works on AMD PITCAIRN 113- turnip: Geometry flickering in Genshin Impact after 83e9a7fbcf53b90d0de66985dbbf91986fc7b05d 114- i915g: Need to link fail on non-unrolled loops 115- spirv2dxil.c:128:22: error: passing argument 7 of ‘spirv_to_dxil’ from incompatible pointer type [-Werror=incompatible-pointer-types] 116- OSMesa problem resizing 117- iris: Perform busy tracking for resources without GEM_BUSY/GEM_WAIT 118- [RADV] The game "Aliens: Fireteam Elite" start crashing after commit 2e56e2342094e8ec90afa5265b1c43503f662939 119- radeonsi: Smart Access Memory not being enabled by default? 120- Memory leak: si_get_shader_binary_size is missing a call to ac_rtld_close 121- dEQP-GLES3.stress.draw.unaligned_data.random.4 segfault 122- gl_DrawID is incorrect for glMultiDrawElementsBaseVertex/glMultiDrawElementsIndirect 123- iris: Scanout buffers now mapped WB cause glitches on screen 124- turnip: dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_* fails 125- i915g: nir_to_tgsi: Error : CONST[0]: The same register declared more than once 126- i915: GPU hang when doing FB fetch and gl_FragDepth write in one shader 127- ../mesa-9999/src/amd/compiler/aco_instruction_selection.cpp:10009:30: error: 'exchange' is not a member of 'std' 128- radv: disable DCC for displayable images with storage on navi12/14 129- RADV: Menu static/artifacts in Doom Eternal 130- Crash happens when testing GL_PIXEL_PACK_BUFFER 131- Possible miscompilation of an integer division with vulkan 132- panfrost G31 - Cathedral crash- opengl 2.1 game (I guess) 133- freedreno C++14 build error 134- panfrost / armv7 - crash with mesa newer than 21.0.3 135- iris: recursive mutex acquire when re-using BO with aux map 136- llvmpipe doesn't compile a valid shader with an useless switch 137- i915g: dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rgb10_a2 failure 138- i915g: polygon offset CTS failures 139- GetFragDataLocation(prog, "gl_FragColor") generates INVALID_OPERATION, but specs don't say it should 140- anv: VK_EXT_memory_budget doesn't know about device local memory 141- turnip: dEQP-VK.api.version_check.entry_points regression 142- Possible miscompilation of a comparison with unsigned zero 143- i915g: FXT1 support 144- dEQP-VK.wsi.android.swapchain.create#image_swapchain_create_info crash on Android R 145- Nine Regression with util: Switch the non-block formats to unpacking rgba rows instead of rects. 146- Add an Intel NDK Android build job 147- android: anv building error after commit e08370d 148- panfrost G31 Unreal Tournament - various glitches (apitrace) 149- Miscompilation of a switch case 150- ci/virgl: "dEQP error: waiting got error - 16, slow gpu or hang?" flakes 151- [radeonsi][regression] CPU is being used ~10 times more than usual after c5478f9067f. 152- i915g: cos/sin accuracy 153- glGetTexImage with PBO is not accelerated on Gallium 154- radeonsi: bad performance on PBO packs 155- dEQP-VK.wsi.android.swapchain.create#image_swapchain_create_info crash on Android R 156- [kbl] GPU hang launching UE4Editor (unreal engine) 157- turnip: A few dEQP-VK.pipeline.framebuffer_attachment.* tests failing due to "FINISHME: unaligned store of msaa attachment" 158- ci: new freedreno trace job running for lavapipe 159- i915g: Emit TXP 160- The image is distorted while use iGPU(Intel GPU) rendering and output via dGPU (AMD GPU) 161- Radeon 5700XT: Small render glitches around "heat balls" in dhewm3 (Doom 3) 162- lima: regression in plbu scissors cmd 163- freedreno: regression in org.skia.skqp.SkQPRunner#gles_multipicturedraw_*_tiled 164- Incorrect rendering 165- intel/isl: Wrong surface format name in batch 166- Unused graph areas created for device and format in VK_LAYER_MESA_overlay 167- [RADV] FSR in Resident Evil: Village looks very pixelated on Polaris 168- iris: regression in yuzu 169- 21.2.0rc1 Build Failure - GCC6.3 170- Crash in update_buffers after closing KDE "splash screen" downloader 171- Firefox (wayland) crash in wayland_platform 172- Crash in update_buffers after closing KDE "splash screen" downloader 173- Firefox (wayland) crash in wayland_platform 174- radeonsi: persistent, read-only buffer maps are slow to read 175- substance painter flickering with jagged texture and masks shown black 176- radv: FP16 mode in FidelityFX FSR doesn't look right 177- Regression, ACO: DOOM Eternal hangs with ACO 178- Regression in Turnip with KGSL and Zink running opengl in proot 179- [bsw][i965][bisected][regression] waffle crashing after patch 180- Validation crash on wlroots after wl_shm appeared 181- [RADV] Blocky corruption in Scarlet Nexus and vkd3d-proton 2.4 182 183 184Changes 185------- 186 187Adam Jackson (18): 188 189- glx/drisw: Nerf PutImage when loaderPrivate == NULL 190- mesa: (correctly) flush more in _mesa_make_current 191- egl/dri2: Stop disabling pbuffer support on msaa configs 192- dri: Reformat DRI context attribute #defines 193- glx: Fix and simplify the share context compatibility check 194- glx: Store the context vtable on the glx screen 195- glx/dri2: Require the driver to support v4 of __DRI_DRI2 196- glx/drisw: Remove some misplaced error checks 197- glx/dri: Collect the GLX context attributes in a struct 198- glx: Simplify context API profile computation 199- glx: Remove some unused declarations from glxclient.h 200- glx: Move __glFreeAttributeState next to its one caller 201- glx: Clarify a debug message 202- glx: Don't strip off window/pixmap support from float fbconfigs 203- wsi/x11: Fix a misunderstanding about how xcb_get_geometry works 204- wsi/x11: Fetch and discard the SYNC extension info 205- dri: Remove the allow_fp16_configs option, always allow them 206- egl/dri: Enable FP16 for EGL_EXT_platform_device 207 208Adrian Bunk (1): 209 210- util/format: NEON is not available with the soft-float ABI 211 212Alejandro Piñeiro (12): 213 214- broadcom: don't define internal BPP values twice 215- vulkan: add vk_spec_info_to_nir_spirv util method 216- spirv: set medium precision with RelaxedPrecision decorator 217- broadcom/qpu: update/remove comments 218- broadcom/qpu: add new lookup opcode description helper 219- broadcom/qpu: use and expand version info at opcode description 220- broadcom/compiler: remove commented out vir_LOAD_IMM methods 221- broadcom/compiler: remove qpu_acc helper 222- broadcom/common: remove unused debug helper 223- v3d/v3dv: add unlikely for any V3D_DEBUG check 224- v3dv: use NULL for vk_error on initialization failures 225- v3dv/pipeline: don't clone the nir shader at pipeline_state_create_binning 226 227Alyssa Rosenzweig (243): 228 229- panfrost: Add perf_debug macros 230- panfrost: Warn on software conditional rendering 231- panfrost: Warn on going out of AFBC 232- panfrost: Log reasons for flushes 233- panfrost: Warn on get_fresh_batch_for_fbo 234- panfrost: Warn on get_fresh_batch 235- panfrost: Warn on transitions to linear 236- pan/bi: Copy liveness routines back 237- pan/bi: Copy back add_successor 238- pan/bi: Copy back bi_foreach_successor 239- pan/bi: Copy block bi_block 240- pan/bi: Clean up useless casts 241- pan/bi: Clean up liveness freeing 242- pan/bi: Shrink live array to 8-bits 243- meson: Build panfrost with tools=panfrost 244- panfrost: Remove unnecessary bifrost_compiler deps 245- panfrost: Only build libpanfrost with GL/VK 246- pan/bi: Add explicit cast for lod_or_mode 247- pan/bi: Remove duplicate NIR compiler options 248- pan/bi: Mark mod to string as maybe unused 249- panfrost,panvk: Remove broken v4 spilling code 250- targets/graw-xlib: Add missing dep_x11 251- pan/mdg: Garbage collect silly quirk 252- panfrost: Move context initalization to the vtable 253- panfrost: Make sampler view creation private 254- panfrost: Move sysval analysis out of per-gen 255- panfrost: Compile pan_cmdstream per-gen 256- panfrost: Statically determine uses_clamp 257- panfrost: Don't make get_index_buffer_bounded per-gen 258- panfrost: Match sampler "nearest" names 259- panfrost: Share sampler code across archs 260- panfrost: Share blend code across architectures 261- panfrost: #ifdef pan_merge_empty_fs 262- panfrost: #ifdef fragment RSD packing 263- panfrost: Add a concatenation macro for genxml 264- panfrost: Use PAN_ARCH for the rest of pan_cmdstream 265- panfrost: Move init_batch to GenXML vtbl 266- panfrost: Make panfrost_batch_get_bifrost_tiler per-gen 267- panvk: Fix sampler filter modes on Bifrost 268- asahi: Identify texture address field 269- asahi: Fix sampler filtering flag 270- asahi: Identify texture dimension field 271- asahi: Set texture dimension field 272- asahi: Calculate cube map stride 273- asahi: Calculate resource offsets for cube maps 274- asahi: Implement cube map tiling transfers 275- asahi: Use agx_rsrc_offset for linear transfer_map 276- asahi: Allow tiled cube maps 277- asahi: Simplify can_tile type signature 278- asahi: Require tiling for cube maps 279- asahi: Assert texture layer is nonzero 280- agx: Don't set helper invocation kill bit 281- agx: Fix mismatched units in load_ubo 282- agx: Dump register file when failing to allocate 283- agx: Use consistent ncomps 284- agx: Plug memory leak in register allocator 285- asahi: Enable instancing 286- agx: Drop dated /* TODO: RA \*/ 287- agx: Handle load_instance_id 288- agx: Add agx_ushr helper 289- agx: Add udiv-by-constant routine 290- agx: Include divisors in the vertex shader key 291- agx: Implement instanced arrays 292- agx: Define p_extract for type converts 293- asahi: Pass instance_divisor to the compiler 294- agx: Add agx_format_shift routine 295- agx: Shift vertex buffer stride in the compiler 296- asahi: Add integers to agx_vertex_formats 297- asahi: Generalize src_offset for non-4byte formats 298- pan/va: Add initial ISA.xml for Valhall 299- pan/va: Add ISA.xml parser and support code 300- pan/va: Assert no instructions are duplicated 301- pan/va: Add Valhall assembler 302- pan/va: Check for FAU conflicts in the assembler 303- pan/va: Add disassembler generator 304- pan/va: Add dis/assembler test cases 305- pan/va: Add negative test cases for the assembler 306- pan/va: Add assembler test harness 307- pan/va: Add disassembler test harness 308- pan/va: Integrate the tests into meson test 309- pan/bi: Remove unused pointer from bi_instr 310- pan/bi: Remove unused option 311- pan/bi: Parse file names in standalone compiler 312- pan/bi: Zero initialize shader_info 313- pan/bi: Do more mesa/st stuff in standalone compiler 314- pan/bi: Add quirks for Mali G78 315- pan/bi: Only call clause code on Bifrost 316- pan/bi: Output binaries from standalone compiler 317- pan/bi: Add helpers for unit testing 318- pan/bi: Add instruction equality helper 319- pan/bi: Add instruction unit test macro 320- pan/bi: Remove redundant check in clamp fusing 321- pan/bi: Constify BIR manipulation 322- pan/bi: DCE after bifrost_nir_lower_algebraic_late 323- pan/bi: Add discard flag to bi_index 324- pan/bi: Remove unused BIR_FAU_HI 325- pan/bi: Model \*ADD_IMM instructions in IR 326- pan/bi: Model RSCALE for Valhall 327- pan/bi: Model Valhall special values as FAU 328- pan/bi: Fix typo in FAU enum 329- pan/bi: Rename NOP.i32 to NOP 330- pan/bi: Rename CLPER_V7 back to CLPER 331- pan/bi: Add strip_index helper 332- pan/bi: Add helper to swizzle a constant 333- pan/bi: Use bi_apply_swizzle in constant folding 334- pan/bi: Refactor constant folding for testability 335- pan/bi: Add constant folding unit test 336- pan/bi: Fix UBO push with nir_opt_shrink_vectors 337- pan/bi: Garbage collect stuff in bi_layout.c 338- pan/bi: Add branch_offset immediate 339- pan/bi: Clean up and export bi_reconverge_branches 340- pan/bi: Clarify the logic of bi_reconverge_branches 341- pan/bi: Align staging registers on Valhall 342- pan/va: Allow floating-point swizzles on ATEST 343- gallium/tests: Fix warning calculating absdiff 344- pan/bi: Inline away bi_must_last 345- pan/bi: Remove dated ASSERTED properties 346- pan/bi: Expose unit tested scheduler predicates 347- pan/bi: Add BIT_ASSERT helper for unit testing 348- pan/bi: Teach meson about scheduler predicate test 349- pan/bi: Teach meson about Bifrost packing test 350- pan/bi: Teach meson about format pack tests 351- glsl/standalone: Lower COMPUTE shader precision 352- pan/bi: Restrict swizzles on same cycle temporaries 353- pan/bi: Test restrictions on same-cycle temporaries 354- pan/bi: Remove incorrect errata workaround 355- pan/bi: Use getopt for bifrost_compiler 356- pan/bi: Lower fragment output with <4 components 357- pan/bi: Add bi_entry_block helper 358- pan/bi: Handle asymmetric staging in bi_count_read_registers 359- pan/bi: Stub 64-bit in count_write_registers 360- pan/bi: Validate the live set starts empty 361- nir/lower_mediump_io: Don't remap base unless needed 362- nir/lower_mediump: Fix metadata in all passes 363- pan/bi: Make bi_opt_push_ubo optional 364- pan/bi: Add a noopt debug option 365- panfrost: Add LINEAR debug option 366- panfrost: Remove unused #defines 367- panfrost: Use _PU for non-dithered formats 368- panfrost: Add blend helper packing the equation 369- panfrost: Fix is_opaque when blend_enable=false 370- panfrost: Simplify blend_factor_constant_mask 371- panfrost: Add basic fixed-function blending tests 372- panfrost: Leverage Bifrost's 2*src blend factor 373- panfrost: Test src*dst + dst*src blending 374- pan/va: Document IEEE 754 conformance of clamps 375- pan/bi: Constant fold texturing lowerings 376- pan/bi: Unit test new constant folding patterns 377- pan/bi: Simplify bi_compose_clamp 378- pan/bi: Fuse abs/neg more on Valhall 379- pan/bi: Add shader equality helper for unit tests 380- pan/bi: Use FABSNEG pseudo ops for modifier prop 381- pan/bi: Add optimizer unit tests 382- pan/bi: Use FCLAMP pseudo op for clamp prop 383- pan/bi: Add fclamp unit tests 384- pan/bi: Fuse DISCARD with conditions 385- pan/bi: Unit test DISCARD+FCMP fusing 386- docs/panfrost: Update llvm option 387- drm-shim: Support kernels with >4k pages 388- panfrost: Fix leak of render node fd 389- panfrost: Rewrite the clear colour packing code 390- panvk: Use pan_pack_color 391- panfrost: Mark R5G6B5 as blendable 392- panfrost: Unit test clear colour packing 393- panfrost: Add dither state to the clear colour tests 394- panfrost: Handle non-dithered clear colours 395- panfrost: Add unit tests for non-dithered clears 396- panfrost: Disable shader-assisted indirect draws 397- pan/bi: Set eldest_colour dependency for ST_TILE 398- pan/bi: Don't set td in blend shaders 399- pan/bi: Correct the sr_count on +ST_TILE 400- pan/bi: Extract load_sample_id to a helper 401- pan/bi: Set the sample ID for blend shader LD_TILE 402- panfrost: Evaluate blend shaders per-sample 403- pan/bi: Use ST_TILE for multisampled blend output 404- pan/bi: Use CLPER_V6 on Mali G31 405- panfrost: Remove unneeded quirks from T760 406- panfrost: Fix UNORM 10 sizes 407- panfrost: Use blendable check for tib read check 408- panfrost: Delete unpacks for blendable formats 409- pan/mdg: Insert moves before writeout when needed 410- pan/lower_framebuffer: Don't replicate so much 411- pan/lower_framebuffer: Use fmul_imm 412- pan/lower_framebuffer: Unify UNORM handling 413- pan/lower_framebuffer: Don't treat UNORM 4 special 414- pan/lower_framebuffer: Don't open-code pad_vec4 415- pan/lower_framebuffer: Don't open-code pan_unpacked_type_for_format 416- pan/mdg: Handle swapped 565 and 1010102 unorm 417- panfrost: Zero initialize blend_shaders 418- panfrost: Port v5 blend shader issue to blitter 419- panfrost: Fix NULL dereference in allowlist code 420- panfrost: Rip out primconvert code 421- panfrost/ci: Switch to suite support 422- panfrost/ci: Don't skip matrix inverse tests 423- panfrost: Protect the variants array with a lock 424- panfrost: Remove null check in batch_cleanup 425- panfrost: Simplify get_fresh_batch_for_fbo 426- panfrost: Don't use ralloc for resources 427- panfrost: Move bo->label assignment into the lock 428- panfrost: Remove get_fresh_batch 429- panfrost: Inline add_fbo_bos 430- panfrost: Switch resources from an array to a set 431- panfrost: Cache number of users of a resource 432- panfrost: Maintain a bitmap of active batches 433- panfrost: Add foreach_batch iterator 434- panfrost: Prefer batch->resources to rsrc->users 435- panfrost: Remove rsrc->track.users 436- panfrost: Remove writer = NULL assignments 437- panfrost: Replace writers pointer with hash table 438- panfrost: Take a ctx when submitting/destroying 439- panfrost: Raise maximum texture size 440- panfrost: Remove CACHE_LINE_SIZE #define 441- panfrost: Remove stale TODOs and XXXs 442- panfrost: Remove unused functions 443- pan/bi: Simplify condition 444- pan/bi: Assert l != NULL in bi_ra 445- pan/bi: Remove unused clause_start field 446- pan/bi: Fix format specifiers in disassembler 447- docs/panfrost: Remove obsolete note on Android.mk 448- docs/panfrost: We're conformant now! 449- docs/panfrost: Add web chat link 450- panfrost: Fix incorrect test condition 451- panfrost: Add ASTC stretch factor enums 452- panfrost: Assert ASTC/AFBC are not used on v4 453- panfrost: Use ASTC 2D enums 454- panfrost: Encode 3D ASTC dimensions 455- panfrost: Move special_varying to compiler definitions 456- panfrost: Fix off-by-one in varying count assert 457- panfrost: Introduce PAN_MAX_VARYINGS define 458- panfrost: Don't set CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER 459- panfrost: Fix PAN_MESA_DEBUG=sync with INTEL_blackhole_render 460- nir: Add Mali-specific derivative opcodes 461- pan/bi: Optimize abs(derivative) 462- panfrost: Don't allow rendering/texturing 48-bit 463- panfrost: Detect implementations support AFBC 464- panfrost,panvk: Use dev->has_afbc instead of quirks 465- panfrost: Fix gl_FragColor lowering 466- panfrost: Workaround ISSUE_TSIX_2033 467- panfrost: Add internal afbc_formats 468- panfrost: Decompress for incompatible AFBC formats 469- panfrost: Enable AFBC on v7 470- mesa: Require MRT support for GL3/ES3 471- nir/lower_pntc_ytransform: Support PointCoordIsSysval 472 473Andreas Baierl (5): 474 475- lima: CI: Enable GL_R8 and GL_RG8 texture formats 476- lima: Expose GL_EXT_clip_control 477- lima: Remove depth near/far workaround 478- lima: Fix glFrontFace handling 479- lima/parser: add shader disassembly to dump 480 481Andreas Bergmeier (1): 482 483- v3dv: implement VK_EXT_physical_device_drm 484 485Antonio Caggiano (3): 486 487- ci/freedreno: Test with non-redistributable traces 488- freedreno/ci: Add a manual job for tracking performance 489- pps: Restore documentation 490 491Anuj Phogat (1): 492 493- intel/dg2: Add L3 configuration 494 495Arvind Yadav (1): 496 497- radeonsi: remove the use of PKT3_CONTEXT_REG_RMW 498 499Axel Davy (1): 500 501- util: Fix translate from block compressed to rgba 502 503Bas Nieuwenhuizen (72): 504 505- zink: set dedicated allocation when needed 506- util/fossilize_db: Update parsed_offset correctly. 507- util/fossilize_db: Reset file position to parsed_offset on cache_offset read failure. 508- util/fossilize_db: Flush files after header write. 509- util/fossilize_db: Be conservative about header length check for locking. 510- util/fossilize_db: Only allocate entries after full read. 511- util/fossilize_db: Use uint64_t for file size. 512- util/fossilize_db: Unlock the cache file if the entry already exists. 513- util/fossilize_db: Add extra flock mutex. 514- radv: Use correct signedness in misalign test. 515- radv: Allocate space for inline push constants. 516- nir/lower_scratch: Ensure we don't lower vars with unsupported usage. 517- nir/inline_functions: Handle halting functions. 518- radv: Check format before calling depth_only/stencil_only. 519- util/fossilize_db: Don't corrupt keys during entry read. 520- nir: Avoid visiting instructions multiple times in nir_instr_free_and_dce. 521- radv: Expose a bufferImageGranularity of 1. 522- radv: Fix CPU AABB build. 523- radv: Fix arrayOfPointers for instances in accel struct build. 524- radv: Add accel struct build support for the object-to-world matrix. 525- radv: Add more acceleration structure formats. 526- radv: Add optimized CPU BVH builds. 527- radv: Add bvh node definitions to a header. 528- radv: Modify load_sbt_amd intrinsic to get the descriptor. 529- aco: Implement call scope. 530- radv: Refactor some nir_channels usage to use nir_channel. 531- radv: Do more meta shader lowering. 532- radv: Implement NULL accel struct descriptor write. 533- nir: Add AMD rt intrinsics. 534- radv: Add support for ray launch size. 535- aco: Add support for ray launch size. 536- nir: Support ray launch size in divergence analysis. 537- radv: Support nir_intrinsic_load_global_constant. 538- radv: Add RT cache flushes. 539- radv: Add pipeline type. 540- radv: Add group info to pipeline. 541- radv: Add raytracing pipeline properties. 542- radv: Make some pipeline functions non-static. 543- radv: Add scaffolding for RT pipeline compilation incl libraries. 544- radv: Add main loop variables. 545- radv: Add helper to inline shaders into the main shader. 546- radv: Add helper to parse raytracing stages. 547- radv: Add pass to lower anyhit shader into an intersection shader. 548- radv: Add ray traversal loop. 549- radv: Combine all the parts together with a main loop for an RT pipeline. 550- radv: Add support for setting a dynamic stack size. 551- radv: Add caching for RT pipelines. 552- radv: Experimentally enable RT extensions. 553- radv: Add DMA buffer update function for internal use. 554- radv: Add an internal indirect dispatch command. 555- radv: Add an indirect dispatch struct to the header. 556- radv: Add copy/serialization info to accel struct headers. 557- radv: Add acceleration structure queries. 558- radv: Add GPU copy/serialization/deserialization shader. 559- radv: Add CPU copying of acceleration structures. 560- radv: Add GPU copying of acceleration structures. 561- radv: Add CPU serialization of acceleration structures. 562- radv: Add GPU serialization of acceleration structures. 563- radv: Fix Android build for common functions. 564- radv: Don't invalidate VCACHE after clear_htile_mask. 565- radv: Add VK_FORMAT_R16G16B16A16_UNORM for accel. structures. 566- radv: Handle copying zero queries. 567- amd/common: Add fallback for misreported clocks for RGP. 568- radv: Document cache coherency rules. 569- radv: Add hooks after in-renderpass meta operations. 570- radv: Try to do a better job of dealing with L2 coherent images. 571- radv: Fix modifier property query. 572- radv: Add bufferDeviceAddressMultiDevice support. 573- radv: Disable coherent L2 optimization on cards with noncoherent L2. 574- meson: Check arguments before adding. 575- util: Add support for clang::fallthrough. 576- radv: Fix memory corruption loading RT pipeline cache entries. 577 578Boris Brezillon (137): 579 580- panfrost: Fix pan_blitter_emit_bifrost_blend() 581- panfrost: Add explicit padding to pan_blend_shader_key 582- pan/gen_pack: Generalize the PREFIX() trick 583- panvk: Add missing midgard_pack dependency 584- pan/gen_pack: Add pan_size() and pan_align() macros 585- panfrost: Move the polygon list init logic to pan_cmdstream.c 586- pan/gen_macros: Move the TEXTURE definition to gen_macros.h 587- pan/gen_macros: Map {TEXTURE,SAMPLER} to the arch-specific descriptor 588- pan/gen_macros: Include midgard_pack.h from gen_macros.h 589- panfrost: Stop including midgard_pack.h directly 590- panfrost: s/[idep\_]midgard_pack/[idep\_]pan_packers/ 591- panfrost: Get rid of the mali_xxx enum redefinitions 592- panfrost: Add generic mappings for the gen-specific tiler descriptor macros 593- pan/gen_pack: Add parens around packed1/2 vars in pan_merge() 594- panfrost: Get rid of all _packed structs in pan_context.h 595- panfrost: Move panfrost_modifier_to_layout() to pan_texture.c 596- panfrost: Only emit special attribute buffer entries on pre-v6 hardware 597- panvk: Prepare per-gen split 598- panfrost: Prepare indirect dispatch helpers to per-gen XML 599- panfrost: Prepare indirect draw helpers to per-gen XML 600- panfrost: Fix pan_blit_ctx_init() when start > end 601- panfrost: Make pan_blit() return the tiler job pointer 602- panfrost: v7 does not support RGB32_UNORM textures 603- panvk: Make the per-arch static lib depend on panvk_entrypoints.h 604- panvk: Fix panvk_copy_fb_desc() 605- panvk: Don't use pan_is_bifrost() 606- panvk: Fix blend descriptor emission 607- panvk: Only advertise MSAA-4 608- panvk: We don't support linear filtering on integer formats 609- panvk: Don't advertise min/max filter 610- panvk: Fix chan_size calculation in panvk_emit_blend() 611- panvk: Narrow the allow-forward-pixel-kill condition 612- panvk: Clamp blend constants before copying them to the cmdbuf state 613- panvk: Don't allocate an array of blend constants 614- panvk: Close the panfrost device in the panvk_physical_device_init() error path 615- panvk: Reset panvk_pool->transient_bo in panvk_pool_reset() 616- panvk: Fix a BO leak in panvk_pool_alloc_backing() 617- panvk: Initialize clear values to zero when load_op != OP_CLEAR 618- panvk: Don't take a BO reference when binding memory to an image 619- panvk: Only set PAN_DBG_TRACE if PANVK_DEBUG_TRACE is set 620- panvk: Disable the BO cache 621- panfrost: Patch Z32_S8X24 format when creating a sampler view 622- panfrost: Fix the Z32_S8X24 and X32_S8X24 definitions 623- panfrost: RGB10_A2_SNORM is not a valid texture format on v6+ 624- panfrost: Drop the R and T flags on SCALED formats 625- panfrost: RGB332_UNORM is not a valid texture format on v6+ 626- panfrost: Prepare blitter helpers to per-gen XML 627- panfrost: Prepare blend helpers to per-gen XML 628- panfrost: Prepare pan_cs helpers to per-gen XML 629- panfrost: Move panfrost_major_version() to gen_macros.h 630- panfrost: Prepare pandecode to per-gen XML 631- panfrost: Prepare scoreboard helpers to per-gen XML 632- panfrost: Prepare pan_encoder.h to per-gen XML 633- panfrost: Prepare texture helpers to per-gen XML 634- panfrost: Prepare shader helpers to per-gen XML 635- panfrost: Fix indirect draws when vertex or instance count is 0 636- panfrost: Fix collision in the indirect draw shader table 637- panfrost/ci: Skip the indirect_draw+XFB tests 638- pan/bi: Relax check on 8bit swizzles 639- pan/bi: Allow passing RT conversion descriptors to fragment shaders 640- pan/blit: Fix a NULL dereference in the preload path 641- pan/blit: Extend pan_preload_fb() to return emitted jobs 642- panvk: Initialize the blend shader logic 643- panvk: Preload FB attachments when required 644- panvk: Merge identical BO entries before submitting a job 645- panvk: Move copy stubs to a separate file 646- panvk: Move blit/resolve stubs to a separate file 647- panvk: Get rid of panvk_emit_fragment_job() 648- panvk: Don't use the subpass to calculate the FB descriptor size 649- panvk: Don't check the bind_point in panvk_cmd_prepare_fragment_job() 650- panvk: Make panvk_cmd_alloc_tls_desc() more generic 651- panvk: Add a panvk_cmd_prepare_tiler_context() helper 652- panvk: Stop dereferencing the subpass in panvk_cmd_close_batch() 653- panvk: Issue a fragment job if at least one target is cleared 654- panvk: Implement vkCmdClear{DepthStencil,Color}Image() 655- panvk: Implement vkCmdCopyImage() 656- panvk: Implement vkCmdCopyBufferToImage() 657- panvk: Implement vkCmdCopyImageToBuffer() 658- panvk: Implement vkCmdCopyBuffer() 659- panvk: Implement vkCmdFillBuffer() 660- panvk: Implement vkCmdUpdateBuffer() 661- pan/decode: Fix DCD size in Pre frame decoding 662- pan/blit: Let the caller offset the start/end coords passed to the blitter 663- pan/blit: Fix 3D blittering 664- panvk: Implement vkCmdBlitImage() 665- panvk: Always allocate at least one BLEND descriptor for fragment shaders 666- panvk: Fix the static scissor/viewport case 667- panvk: Fix TLS initialization for multi-draw batches 668- panvk: Extend panvk_cmd_close_batch() to handle current_batch == NULL 669- panvk: Make panvk_cmd_open_batch() return the new batch 670- panvk: Use the local batch variable when we have one 671- panvk: Don't invalidate the vertex attributes when binding a new pipeline 672- panvk: Fix the pipeline binding logic 673- panvk: Fix panvk_pipeline_builder_upload_sysval() 674- panvk: Fix multisample image copies 675- panvk: Avoid allocating sysvals UBOs when the pipeline has one 676- panvk: Handle input varyings without previous writes 677- panvk: Fix an overflow on cmdbuf->state.clear 678- panvk: Don't expect subpasses to use all RTs 679- panvk: Only prepare texture descriptors when the image is sampled 680- panvk: Fix 1DArray image to buffer copy 681- panvk: Fix size overflow in GetBufferMemoryRequirements() 682- panvk: Fix stencil clear assignment in panvk_cmd_fb_info_set_subpass() 683- panvk: Handle VK_REMAINING_{MIP_LEVELS,ARRAY_LAYERS) when creating image views 684- panvk: Split var copies before lowering them 685- panvk/ci: Trigger bifrost jobs on vulkan changes 686- pan/bi: Fix 1DArray image coordinate retrieval 687- pan/lower_fb: Support SNORM8 unpacking 688- pan/lower_fb: Re-order components when dealing with raw formats 689- pan/lower_fb: Add support for B10G10R10A2_UINT variants 690- pan/lower_fb: Add support for rgb10a2 _SINT variants 691- panfrost: Use an identity swizzle for RAW formats 692- panfrost: Add a common genxml file so we can share a few definitions 693- panfrost: Split command stream descriptor definitions per-gen 694- panfrost: Move genxml related files to a subdir 695- nir: Make sure src->num_components < dst->num_components in nir_ssa_for_src() 696- nir/lower_blend: Pad src to a 4-component vector 697- nir/lower_blend: Don't lower RTs whose format is set to NONE 698- nir/lower_blend: Make sure we're not passed scaled formats 699- nir/lower_blend: Shrink blended result if needed 700- pan/blend: Allow passing blend constants through a sysval 701- panvk: Fill the blend constants sysval 702- panvk: Lower blend operations when needed 703- panvk/ci: Enable blend tests 704- panvk: Fix allocation of BOs bigger than the slab size 705- panvk: Don't use panfrost_get_default_swizzle() on v7+ 706- panvk: Fix wls_size retrieval 707- panvk: Pass the render target index to panvk_meta_clear_attachment() 708- panvk: Allow clear_attachment of RTs > 0 709- panvk: Support clearing ZS attachments 710- nir: Add a nir_sysvals_to_varyings() helper 711- spirv: Let spirv_to_nir() users turn sysvals into input varyings 712- spirv: Always declare FragCoord as a sysval 713- spirv: Declare PointCoord as a sysval 714- vulkan: Fix weak symbol emulation when compiling with MSVC 715- vulkan: Set unused entrypoints to vk_entrypoint_stub when compiling with MSVC 716- vulkan: Fix entrypoint generation when compiling for x86 with MSVC 717 718Boyuan Zhang (5): 719 720- radeon/vcn: initilize num_temporal_layers for hevc 721- radeon/vcn: track width and height of the last frame 722- radeon/vcn: check frame size change for vp9 header flags 723- radeon/vcn: set min value for num_temporal_layers 724- frontends/va: add num_temporal_layers check 725 726Caio Marcelo de Oliveira Filho (27): 727 728- vulkan/util: Add and use vk_multialloc_zalloc variants 729- anv: Zero initialize pipeline structs 730- spirv: Implement SPV_EXT_shader_atomic_float16_add 731- vulkan: Update XML and headers to 1.2.185 732- anv: Advertise support for VK_EXT_shader_atomic_float2 733- nir/dead_cf: Do not remove loops with loads that can't be reordered 734- nir: Update documentation for location to mention Task/Mesh 735- nir: Add a way to identify per-primitive variables 736- nir: Add per-primitive I/O intrinsics 737- compiler: Add new non-Multiview Task/Mesh builtins 738- compiler: Add Task/Mesh to shader_info 739- nir/lower_io: Identify Mesh output as arrayed 740- nir/divergence_analysis: Handle Task/Mesh shaders 741- nir: Don't lower Task/Mesh I/O to temporaries 742- nir: Allow Task/Mesh to lower compute system values 743- spirv: Implement non-Multiview parts of SPV_NV_mesh_shader 744- anv: Simplify subgroup_size_type rules for compute shaders 745- anv: Refactor subgroup_size_type rules into a single function 746- spirv: Identify non-temporal memory access 747- nir/lower_io_to_vector: Allow Task/Mesh to load from outputs 748- intel: Add and use max_constant_urb_size_kb 749- iris: Document push constants allocation 750- anv: Validate vertex related states only when VS is present 751- anv: Move together primitive pipeline emit calls 752- anv: Identify code paths specific to graphics primitive pipeline 753- intel/compiler: Convert test_eu_compact to use gtest 754- intel/compiler: Remove unused \`ret` declaration 755 756Caio Oliveira (1): 757 758- util/ra: Fix deserialization of register sets 759 760Carsten Haitzler (1): 761 762- panfrost: tidy up GPU naming to be in line with official names 763 764Charlie Turner (5): 765 766- ci: Build libdrm earlier for x86_test-vk 767- ci: Fix syntax error in radv fails files 768- ci: Support per-driver skip lists. 769- radv/ci: Remove duplication in dEQP skip lists. 770- radv/ci: Fix the GPU_VERSION for polaris10 771 772Charmaine Lee (2): 773 774- aux/draw: Check for preferred IR to take nir-to-tgsi path in draw module 775- svga: fix render target views leak 776 777Chia-I Wu (43): 778 779- venus: refactor vn_EndCommandBuffer 780- egl/surfaceless: try kms_swrast before swrast 781- meson: allow egl_native_platform to be specified 782- vulkan/wsi: replace prime_blit_buffer by a bool 783- venus: clean up vn_AllocateMemory 784- venus: suballocate memory in more cases 785- venus: log more WSI messages 786- vulkan/wsi/x11: do not inherit last_present_mode 787- venus: print warnings when stuck in busy waits 788- iris, crocus: add idep_genxml to per_hw target dependencies 789- venus: update venus-protocol headers 790- venus: break up vn_device.h 791- venus: break up vn_device.c 792- venus: free queues after vkDestroyDevice is emitted 793- venus: use uint32_t in vn_ring_submit 794- venus: minor cleanup to physical device init loop 795- venus: pre-initialize device groups 796- venus: fix device group enumeration with unsupported devices 797- venus: group physical device fields with a struct 798- venus: no supported device is not an error 799- venus: initialize physical devices once 800- venus: reorder version fields in vn_instance 801- venus: init roundtrip fields in vn_instance later 802- venus: add vn_renderer_submit_simple_sync 803- venus: support reply shmem without ring 804- venus: init experimental features before the ring 805- venus: add and use VN_CS_ENCODER_INITIALIZER 806- venus: rework vn_instance_submission 807- venus: make ring buffer size configurable 808- venus: update venus-protocol headers 809- venus: raise the ring buffer size to 64KB 810- venus: refactor vn_instance_enumerate_physical_devices 811- venus: separate physical device init and filter 812- venus: copy VkPhysicalDeviceImageDrmFormatModifierInfoEXT 813- venus: add vn_refcount 814- venus: convert bo and shmem to use vn_refcount 815- venus: add a helper to destroy vn_descriptor_set 816- venus: add vn_refcount to vn_descriptor_set_layout 817- venus: keep layouts of descriptor sets alive 818- radv: plug leaks in radv_device_init_accel_struct_build_state 819- vulkan/wsi/wayland: fix an invalid u_vector_init call 820- util/vector: make util_vector_init harder to misuse 821- venus: add atrace support 822 823Christian Gmeiner (46): 824 825- etnaviv: export supported prim types 826- etnaviv: remove primconvert 827- ci: include etnaviv support in ARMHF container. 828- ci: update kernel 829- ci/bare-metal: add telnet based serial 830- ci/bare-metal: add support for eth008 power relay 831- ci/bare-metal: add etnaviv 832- lima: fix leak of the screen hash table 833- util/tests: rename bitset test names 834- util/bitset: add bitwise AND, OR and NOT 835- util/tests: add bitwise AND, OR and NOT tests 836- util/bitset: add right shift 837- util/tests: add bitset SHR tests 838- util/bitset: add left shift 839- util/tests: add bitset SHL tests 840- util/bitset: s/BITSET_SET_RANGE/BITSET_SET_RANGE_INSIDE_WORD 841- util/bitset: add BITSET_SET_RANGE(..) 842- util/tests: add set bit range test 843- freedreno/isa: add leading zero's 844- freedreno/isa: simplify custom_target 845- freedreno/isa: add next_instruction(..) 846- freedreno/isa: add defines for fprintf(..) usage 847- freedreno/isa: store max size for needed bitset 848- freedreno/isa: generate ir3-isa.h 849- freedreno/isa: generate isaspec-decode.h 850- freedreno/isa: add bitmask_t to encode.py 851- freedreno/isa: add bitmask to/from uint64_t helper 852- freedreno/isa: add BITMASK_WORDS define 853- freedreno/isa: add store_instruction(..) 854- freedreno/isa: generate marcos used for printf(..) 855- freedreno/isa: add split_bits(..) methods 856- freedreno/isa: decode: switch bitmask_t to BITSET_WORD's 857- freedreno/isa: encode: switch bitmask_t to BITSET_WORD's 858- freedreno/isa: update documentation 859- freedreno/isa: add shbang and make executable 860- freedreno/isa: move isaspec to a new home 861- compiler/isaspec: add print(..) helper 862- compiler/isaspec: keep track of written data 863- compiler/isaspec: add alignment support 864- etnaviv: use better name for fd hash table 865- etnaviv: fix leak of the screen hash table 866- etnaviv: fix indentation 867- etnaviv: move drm version readout to drm layer 868- etnaviv: allow screen creation with NULL renderonly object 869- etnaviv: extend screen_create(..) with gpu_fd 870- etnaviv: add etna_lookup_or_create_screen(..) 871 872Clayton Craft (1): 873 874- anv: don't advertise vk conformance on GPUs that aren't conformant 875 876Connor Abbott (81): 877 878- tu: Triage some CTS failures 879- ir3: Preserve gl_ViewportIndex in the binning shader 880- tu: Use NIR for clear/blit shaders 881- ir3: Delete old packed struct encoding 882- tu: Handle multisample vkCmdCopyColorImage() 883- tu: Make tile stores use a dedicated CS 884- tu: Implement non-aligned multisample GMEM STORE_OP_STORE 885- freedreno: Rename and document tess primid-related sysvals 886- tu, freedreno/a6xx, ir3: Rewrite tess PrimID handling 887- tu, freedreno/a6xx: Fix setting PC_XS_OUT_CNTL::PRIMITVE_ID 888- ir3: Document RA-related register flags better 889- tu: Read some input attachments directly 890- freedreno/a6xx: Add new register fields 891- freedreno, tu: Stop asking for foveation quality 892- freedreno, tu: Set GRAS_LRZ_PS_INPUT_CNTL::SAMPLEID 893- freedreno/a6xx: Document GRAS_SC_CNTL::SINGLE_PRIM_MODE 894- tu: Fix feedback loops in sysmem mode 895- tu: Fix xfb when there is a hole at the end 896- freedreno: Decode a650+ CP_START_BIN/CP_END_BIN packets 897- tu: Fix logic errors with subpass implicit dependencies 898- tu: Consider depth/stencil for implicit dependencies 899- ir3: Add pass to remove unreachable blocks 900- ir3/ra: Remove logical_unreachable 901- ir3: Copy-propagate single-source phis 902- ir3: Print physical successors/predecessors 903- ir3/print: Use mesa_stream_log_printf for (kill) 904- ir3/merge_regs: Set wrmask for pcopy destinations 905- ir3/ra: Reinitialize interval when inserting 906- ir3/ra: Fix available bitset for live-through collect srcs 907- ir3/ra: Handle huge merge sets 908- ir3/ra: Make ir3_reg_interval_remove_all() useful for spilling 909- ir3: Add loop depth to ir3_block 910- ir3: Add ra_foreach_src_n/ra_foreach_dst_n 911- ir3: Fix RA debug printing 912- ir3: Properly validate pcopy reg sizes 913- ir3: Fix compress_regs_left accounting for half-regs 914- ir3: Initial support for spilling non-shared registers 915- ir3: Fix getting stp/ldp components in ir3_info 916- ir3, turnip, freedreno: Report stp/ldp in shader stats 917- freedreno/ci: Add spillall tests 918- tu: Properly handle waiting on an earlier pipeline stage 919- tu: Add a650-specific CCU flush workaround 920- tu: Remove some stale bypass xfails 921- ir3: Remove ir3_instr::name 922- ir3: Make instruction IP 32 bits 923- ir3: Make ir3_register::name 32-bits 924- ir3/ra: Fix type mismatch when comparing intervals 925- lima: Add a NIR load duplicating pass 926- lima/gpir: Rewrite register allocation for value registers 927- freedreno/computerator: Add support for pvtmem 928- ir3/lower_pcopy: Use right flags for src const/immed 929- ir3/lower_pcopy: Set entry->done in the swap loop 930- tu: Fix VS primid with tess + GS 931- freedreno/a6xx: Fix VS primid with tess + GS. 932- ir3: Add bar to beginning of HS with tess_use_shared 933- freedreno, turnip: Disable 8bpp UBWC on a650 934- ir3: Make trig replacement expression exact 935- freedreno/a6xx: Name TPL1_DBG_ECO_CNTL 936- freedreno, turnip: Set TPL1_DBG_ECO_CNTL better 937- ir3: Use source in ir3_output_conv_src_type() 938- tu/clear_blit: Constify some image views 939- tu: Implement VK_KHR_imageless_framebuffer 940- ir3/lower_subgroups: Support 16-bit READ_* sources 941- ir3: Skip src size validation for cat1 942- tu: Expose VK_KHR_shader_subgroup_extended_types 943- ir3: Initialize local size earlier 944- ir3/ra: Don't reset round-robin start for each block 945- ir3/ra: Use killed sources in register eviction 946- ir3/cp: Add missing const promotion check 947- ir3/cp: Fix inlining 32->16 const into meta instructions 948- nir/lower_ubo_vec4: Fix align_mul=8 special case 949- ir3: Fix printing branch type 950- ir3: Make ir3_create_collect() take a block 951- ir3: Always create barycentrics in the input block 952- ir3: Remove separate regmask.h 953- ir3: Handle special regs in regmask 954- ir3/legalize: handle WAR for special regs 955- ir3: Fix check for immediate range 956- ir3: Fix handling cat6 immediates 957- ir3: Fold ldc src immediates 958- ir3/spill: Mark root as non-spillable after inserting 959 960Corentin Noël (8): 961 962- ci: actually run piglit tests with virgl 963- ci: Re-enable piglit trace for virgl 964- ci: Disable llvmpipe optimizations when running virgl CI 965- ci: Increase the default Rust toolchain version 966- ci: Increase crosvm version 967- ci: Use crosvm to run dEQP tests for virgl 968- glx: Prevent crashes when an extension isn't found 969- virgl: Set GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION to 1 970 971Daniel Schürmann (54): 972 973- aco/optimizer: ensure to not erase high bits when propagating packed constants 974- aco/ra: don't allocate vector space for MIMG NSA operands 975- aco: include <cstddef> in aco_util.h 976- nir/lower_alu_to_scalar: don't skip gaps in write_mask 977- nir/opt_shrink_vectors: don't shrink vectors used by intrinsics 978- nir: consider write_mask in nir_ssa_def_components_read() 979- nir/opt_shrink_vectors: reverse iteration order 980- nir/shrink_vectors: shrink ALU properly 981- nir/shrink_vectors: shrink vecN properly 982- nir: return false for loops in contains_other_jump() 983- aco/print_ir: fix printing of VOPC_SDWA definitions 984- aco: use VOPC_SDWA on GFX9+ 985- aco: add instr_is_16bit() helper function 986- aco/ra: refactor subdword definition info 987- aco/ra: refactor subdword operand stride 988- aco/validate: simplify get_subdword_bytes_written() 989- aco/opcodes: remove definition_size[] 990- aco: add more validation rules for SDWA operands 991- nir/loop_analyze: consider instruction cost of nir_op_flrp 992- nir/opt_algebraic: optimize flrp(fadd, fadd, x) only if fadd are used_once 993- radv: call nir_lower_flrp() after the first radv_optimize_nir() 994- aco: remove redundant s_and exec after nir_op_inot 995- aco: only apply extract if not used more than 4 times 996- aco: refactor nir_op_imul selection 997- aco/optimizer: combine v_mul_lo_u16 + v_add_u16 -> v_mad_u16 998- aco/optimizer: fuse v_mul_f64 + v_add_f64 -> v_fma_f64 999- aco/optimizer: combine v_pk_mul_u16 + v_pk_add_u16 -> v_pk_mad_u16 1000- aco: fix init_any_pred_defined() for loop header phis 1001- aco: refactor lower_phis() 1002- aco/lower_bool_phis: avoid creating trivial phis 1003- aco/lower_phis: propagate constants before emitting merge code 1004- aco/lower_phis: optimize loop exit phis 1005- aco: fix p_insert lowering with 16bit sources 1006- aco: rewrite SDWA selector 1007- aco: remove explicit dst_preserve flag 1008- aco/print_ir: always print SDWA dst & src selections 1009- aco: preserve subdword RC when lowering p_insert/p_extract 1010- aco/ra: Fix potential out-of-bounds array accesses. 1011- aco/ra: don't copy linear VGPRs within CF in get_reg_create_vector() 1012- aco: stop scheduling if clause-forming fails 1013- aco: make clause-forming depend on the number of moved instructions 1014- aco: try forming clauses even if reg_pressure exceeds 1015- aco: clang-format 1016- aco/ra: fix intersects() 1017- aco/ra: refactor affinities into assignment struct 1018- aco/ra: remove some redundant code 1019- aco/ra: split register assignment for phis into separate function 1020- aco/ra: try more aggressive to assign phi defs the same register 1021- aco/ra: for phis try to find an operand-matching register earlier 1022- aco/ra: don't set affinities for ssa-repair phis 1023- aco/ra: create affinities between nested phis 1024- aco/ra: create nested affinities for loop header phis 1025- aco/ra: don't rewrite affinities for phi operands after register assignment 1026- driconf: set vk_x11_strict_image_count for Wolfenstein: Youngblood 1027 1028Daniel Stone (7): 1029 1030- vulkan/wsi/wayland: Cosmetic alignment fix 1031- vulkan/wsi/wayland: Initialise wl_shm pointer in VkImage 1032- egl/wayland: Error on invalid native window 1033- egl/wayland: Allow EGLSurface to outlive wl_egl_window 1034- CI: Disable LAVA devices 1035- Revert "CI: Disable LAVA devices" 1036- fdno/resource: Rewrite layout selection for allocation 1037 1038Danylo Piliaiev (39): 1039 1040- freedreno: fix wrong tile aligment for 3 CCU gpu 1041- tu: handle half-reg fs outputs 1042- tu: delay decision of forcing sysmem due to subpass self-dependencies 1043- turnip: reduce maxComputeWorkGroupSize 1044- tu: disable gmem in primary cmdbuffer if secondary has it disabled 1045- tu: add "flushall" and "syncdraw" debug options 1046- freedreno/decode: print estimated crash location without colored output 1047- tu: declare VK_EXT_extended_dynamic_state2 but leave it disabled 1048- tu: implement dynamic depth bias enable 1049- tu: implement dynamic primitive restart enable 1050- tu: implement dynamic rasterizer discard enable 1051- tu: enable VK_EXT_extended_dynamic_state2 1052- turnip: provide dummy CmdSetLogicOpEXT and CmdSetPatchControlPointsEXT 1053- freedreno: rename Z_TEST_ENABLE->Z_READ_ENABLE, Z_ENABLE->Z_TEST_ENABLE 1054- turnip: apply workaround for depth bounds test without depth test 1055- ir3: prohibit folding of half->full conversion into mul.s24/u24 1056- ir3/a6xx,freedreno: account for resinfo return size dependency on IBO_0_FMT 1057- turnip: consider shader's immediates size for sub-stream allocation 1058- turnip: re-emit vertex params after they are invalidated 1059- util/u_trace: make u_trace usable for other than gallium drivers 1060- util/u_trace: auto-generation of serialization funcs for tracepoints 1061- turnip: implement basic perfetto support 1062- u_trace: helpers for tracing tiling GPUs and re-usable VK cmdbuffers 1063- turnip/perfetto: reusable command buffers support 1064- u_trace: pass command stream through tracing functions 1065- turnip: support tracing of gmem/sysmem load/store/clears 1066- turnip/kgsl: fix compilation after perfetto introduction 1067- turnip: consider multiview_mask when clearing depth-stencil attachment 1068- turnip: Move to common DEFINE_HANDLE_CASTS casting macro 1069- turnip: clamp per-tile scissors to max viewport size in binning pass 1070- turnip: fix vbs emission when there are holes in bindings 1071- ir3: remove obsolete assert for intrinsic_store_output in tess 1072- turnip: do nothing on dispatch with zero total workgroups 1073- ir3: support source modes for resinfo.b 1074- ir3/freedreno: handle non-uniform resinfo 1075- ir3/freedreno: handle non-uniform a1en instructions 1076- turnip: fix streamout buffer offset calculations 1077- ir3/ra: Check register file upper bound when updating preferred_reg 1078- tu: fix rast state allocation size on a6xx gen4 1079 1080Dave Airlie (134): 1081 1082- lvp: fixup multi draw memcpys 1083- lavapipe: fix multi-draw regression in shader parameters test 1084- lavapipe: fix indexed multi draw draw_id increment 1085- draw: handle resetting draw_id between instances. 1086- softpipe/aniso: move DDQ calculation to after scaling. 1087- wl/shm: don't fetch formats if not requested. 1088- clover/il: return IL only for spirv and correct length 1089- gallivm: add anisotropic filter weight table. 1090- draw: add shader access to aniso filter table. 1091- llvmpipe: add filter table shader accessor 1092- gallivm: add support for anisotropic sampling. 1093- llvmpipe: add support for max aniso query. 1094- draw: add sampler max_aniso query. 1095- llvmpipe: enable GL_ARB_texture_filter_anisotropic 1096- llvmpipe/virgl/ci: update traces for aniso 1097- docs: update anisotropic info for softpipe/llvmpipe/lavapipe 1098- crocus/gen4-5: fix ff gs emit on VS vue map change. 1099- llvmpipe/linear: fix ppc64/s390 build 1100- llvmpipe: add some extra linear rast checks. 1101- llvmpipe: add support for time elapsed queries. 1102- llvmpipe: rework query fence signalling for get_query_result_resource 1103- gallivm/img: use uint for image coord builder. 1104- draw/llvmpipe: multiply polygon offset units by 2 1105- teximage: return correct desktop GL error for compressedteximage 1106- crocus/gen4: restrict memcpy mapping to gen5 1107- intel/fs: restrict max push length on older GPUs to a smaller amount 1108- intel/decode: add gfx4 constant buffer decode 1109- intel/decode: add gfx4 vertex shader decode 1110- crocus/gen45: fix mapping compressed textures 1111- intel/genxml: fix raster operation field in blt genxml 1112- crocus: add support for set alpha to one with blt. 1113- virgl: disable anisotropic filtering. 1114- virgl: add support for anisotropic texture filtering 1115- ci: bump to latest virglrenderer for anisotropic support 1116- clover/llvm: turn off optional CL 3 features. 1117- nir/libclc: handle null callee name when lowering 1118- vtn: add support for atomic flag test/set/clear 1119- nir: add 32-bit bool of fisfinite 1120- nir: add fisnormal lowering 1121- gallivm: handle fisfinite/fisnormal 1122- clover: fix api zero sized enqueue 1123- clover: return CL_INVALID_PLATFORM properly. 1124- clover: add kernel attributes support for SPIR-V 1125- clover: fix compilation with clang + llvm 12. 1126- clover/nir: don't convert to NIR on library link 1127- clover: only return CLC version as 1.2 (even for 3.0) 1128- llvmpipe: add support for user memory pointers 1129- lavapipe: add host ptr support. 1130- docs: add llvmpipe host memory extensions 1131- crocus/blt: add pitch/offset checks to fix blt corruption 1132- crocus: align staging resource pitch on gen4/5 to allow BLT usage. 1133- intel/vec4: sel.cond writes the flags on Gfx4 and Gfx5 1134- draw: handle primitive ID for quads/quad strips. 1135- draw/gs: add clipvertex support for compatibility 1136- draw/tess: add clipvertex support for compatibility 1137- draw: add vertex color clamping to gs/tes 1138- llvmpipe: enable GL compatibility profiles 1139- gallivm: don't lower local invocation index in frontend 1140- llvmpipe/cl: limit kernel input size. 1141- gallivm: fix idiv/irem for 8/16/64-bit and 32-bit INT_MIN/-1 1142- gallivm: fix non-32 bit popcounts. 1143- llvmpipe: init renderer string once to avoid races. 1144- vulkan/wsi/sw: wait for image fence before submitting to queue 1145- crocus: copy views before adjusting 1146- crocus: drop u_primconvert header. 1147- crocus: add missing line smooth bits. 1148- crocus: add missing fs dirty on reduced prim change. 1149- vulkan/wsi: add support for detecting mit-shm pixmaps. 1150- vulkan/wsi/sw: add support for using host_ptr for shm pixmaps. 1151- vulkan/wsi/sw: add mit-shm support for pixmap allocation 1152- meson: fix regression finding shm dep 1153- llvmpipe/fs: fix multisample depth/stencil fs writes. 1154- llvmpipe: consolidate scissor plane code between line/tri 1155- llvmpipe/scissor: rewrite scissor planes interaction. 1156- llvmpipe: adjust scissor planes for multisample. 1157- gallium: add a sample0 only option to blitter. 1158- u_blitter: add support for sample0 only resolves. 1159- lavapipe: VK_KHR_depth_stencil_resolve support 1160- crocus/gen7: add missing IVB/GT2 geom shader workaround. 1161- intel/decode/gfx6: add support for gfx6 CC/VIEWPORT pointers. 1162- gallivm/ssbo: fix up dynamic indexed ssbo load/stores/atomics 1163- gallivm/ssbo: cast ssbo index to int type. 1164- lavapipe: enable dynamic index ubo/ssbo 1165- llvmpipe/cs: rework thread pool for avoid mtx locking 1166- gallivm/coro: use a phi instead of alloca 1167- llvmpipe: shorten hold time on the screen mutex 1168- llvmpipe/cs: rework coroutine context handling (v2) 1169- gallivm: add initial support for 16-bit float builder. 1170- gallivm/nir: handle conversion to 16-bit texel fetch 1171- gallivm/nir: fix f2b32 1172- gallivvm/nir: handle non-32bit mask scatter stores 1173- gallivm: add 16-bit sin/cos via llvm intrinsic 1174- llvmpipe: lower_flrp16 1175- gallivm/nir: handle 16-bit exp/lod using intrinsics. 1176- gallivm/nir: call pow with correct flt builder 1177- gallivm/nir: pass the correct float builder to ddx/y 1178- gallivm: increase tgsi nesting call stack size 1179- gallivm: use llvm intrinsics for 16-bit round/trunc/roundeven 1180- llvmpipe: enable FP16 and update CL + traces piglit results. 1181- lavapipe: enable KHR_shader_float16_int8 1182- gallivm/nir: handle subgroup reduction across all types 1183- lavapipe: enable KHR_shader_subgroup_extended_types 1184- docs: update docs for new llvmpipe/lavapipe features 1185- lavapipe: enable KHR_spirv_1_4 1186- lavapipe: fix vertex attributes/descriptor binding 1187- lavapipe: don't access pColorBlendState when not legal 1188- gallium/format: move two vertex formats into the proper place. 1189- lavapipe/ci: drop some fails I fixed recently 1190- lavapipe: move to 1.2 features/properties structs. 1191- gallivm/nir: fix subgroup invocation read. 1192- lavapipe: enable vulkan 1.2 support. 1193- lavapipe: move to new shared features/properties 1194- lavapipe: cleanup image create function. 1195- lavapipe: fixup image binding flags. 1196- llvmpipe: overhaul fs/cs variant keys to be simpler. 1197- gallivm: use pmulhrsw to make aos sampling more accurate. 1198- crocus/gen6: don't reemit the svbi when debugging 1199- crocus/query: don't loop on ready status after gpu hang. 1200- gallivm/format: clamp SINT conversion rather than truncate. 1201- llvmpipe/cs: change submission pattern for threadpool 1202- llvmpipe: fix 4-bit output scaling. 1203- lvp/fence: quick fix to previous commit. 1204- device_select: close dri3 fd after using it. 1205- wsi/x11: cleanup properly after mit shm paths are used. 1206- Revert "lvp/fence: quick fix to previous commit." 1207- lavapipe: fix fence handling around wsi submission 1208- crocus: Honor scanout requirement from DRI 1209- crocus/gen5: reemit shaders on gen5 after new program cache bo. 1210- crocus/gen5: add dirty flags for urb fences. 1211- llvmpipe: fix userptr for texture resources. 1212- lavapipe: drop EXT_acquire_xlib_display 1213- vulkan/wsi: set correct bits for host allocations/exports for images. 1214- llvmpipe: disable 64-bit integer textures. 1215- llvmpipe: fix compressed image sizes. 1216 1217Derek Foreman (2): 1218 1219- egl/wayland: Support RGBA ordered formats 1220- egl/wayland: Properly clear stale buffers on resize 1221 1222Dmitry Baryshkov (1): 1223 1224- freedreno/regs: add bit to control continuous clock with 7nm PHYs 1225 1226Dylan Baker (19): 1227 1228- VERSION: bump version for 21.3 development cycle 1229- docs/relnotes/new_features: empty for next release cycle 1230- docs: update calendar for 21.2.0-rc1 1231- docs: mark mesa 21.0 as done 1232- freedreno/ir3: Add build id to the disassembler test 1233- docs: add release notes for 21.2.0 1234- docs: update calendar for 21.2.0-rc2 1235- docs: update calendar for 21.2.0-rc3 1236- docs: update calendar and link releases notes for 21.2.0 1237- docs: Add calendar entries for 21.2 release. 1238- bin/gen_release_notes: Add basic tests for parsing issues 1239- bin/gen_release_notes: Don't consider issues for other projects 1240- bin/gen_release_notes: Fix commits with multiple Closes: 1241- docs: add release notes for 21.2.2 1242- docs/relnotes/21.2.2: Add SHA256 sum 1243- docs: update calendar and link releases notes for 21.2.2 1244- docs: add release notes for 21.2.3 1245- docs" Add SHA256 sum for mesa 21.2.3 1246- docs: update calendar and link releases notes for 21.2.3 1247 1248Ed Baker (1): 1249 1250- frontends/va: Fix test_va_api VAAPIDisplayAttribs tests 1251 1252Ed Martin (1): 1253 1254- winsys/radeonsi: Set vce_encode = true when VCE found 1255 1256Eduardo Lima Mitev (1): 1257 1258- turnip: Add support for VK_VALVE_mutable_descriptor_type 1259 1260Ella-0 (13): 1261 1262- v3dv: Add is_unorm, is_snorm and is_float format functions 1263- v3dv: Implement VK_EXT_custom_border_color 1264- v3dv: implement VK_EXT_color_write_enable 1265- v3dv: Implement VK_EXT_pipeline_creation_cache_control 1266- v3dv: Implement VK_EXT_provoking_vertex 1267- v3dv: Implement VK_EXT_pipeline_creation_feedback 1268- v3d/compiler: Handle point_coord_upper_left 1269- v3d: Don't handle PIPE_SPRITE_COORD_UPPER_LEFT twice 1270- v3dv: Expose correct point size granularity 1271- v3dv: Implement VK_EXT_vertex_attribute_divisor 1272- ci/v3dv: Update fails with multiview failing with points 1273- v3d: add R10G10B10X2_UNORM to format table 1274- v3dv: enable VK_KHR_surface_protected_capabilities 1275 1276Emma Anholt (233): 1277 1278- nir: Validate after deserialization. 1279- nir_to_tgsi: Fix image declarations. 1280- gallium/ttn: Add a debug flag for dumping the shaders. 1281- freedreno/ir3: Reduce choose_instr_dec() and _inc() overhead. 1282- gallium/ureg: Sort the output decls. 1283- freedreno: Lock access to msm_pipe for RB object suballocation. 1284- ci/freedreno: Enable the MSAA deqp tests. 1285- gallivm: Default brilinear filtering to off. 1286- gallivm: Always take the per-pixel LOD path for cubemaps. 1287- i915g: Add support for shader-db. 1288- nir_to_tgsi: Pack our tex coords into vec4 nir_tex_src_backend[12]. 1289- nir_to_tgsi: Add support for TXP. 1290- nir_to_tgsi: Add support for HW atomics. 1291- nir_to_tgsi: Declare buffers for all of num_ssbos. 1292- nir_to_tgsi: Add support for nir_intrinsic_load_sample_pos. 1293- turnip: Fix assertions on checking mutable combined samplers support. 1294- gallium/dri2: Make dri_init_options just init DRI options. 1295- gallium/driconf: Allow the driver to parse the driconf options. 1296- ci: Stop disabling filter hacks for llvmpipe. 1297- ci/i915: Update deqp expectations for another test passing. 1298- ci: Uprev deqp-runner and use "suite" support to merge softpipe runs. 1299- ci/llvmpipe: Use the deqp-runner suite support to consolidate jobs. 1300- ci/i915g: Merge the two dEQP runs together. 1301- ci: Save dEQP results on all tests. 1302- ci/virgl: Use deqp-runner suite support to reduce CI job count. 1303- ci/zink: Use deqp-runner suite support to reduce the CI job count. 1304- ci: Update piglit to 4545a28cd8fea03fbab0e5f90bfbd812c32f3be1 1305- ci/freedreno: Clear out TF API errors xfails. 1306- freedreno/a5xx: Disable TF when pausing or transitioning to non-TF. 1307- freedreno/a5xx: Don't try to emit FS images in binning command streams. 1308- ci/freedreno: Mark border_color as passing on a5xx. 1309- ci/a5xx: Skip some piglit stress tests that destabilize CI. 1310- ci/freedreno: Organize, fill out, and document our VK xfails. 1311- ci/freedreno: Generalize the spirv_ids_abuse skips. 1312- ci/freedreno: Clean up and fill out the tess timeout annotations. 1313- ci/freedreno: Skip the slow dEQP-VK.ubo.random.all_shared_buffer.48 in CI. 1314- ci/freedreno: Add jobs to manually do a full VK on freedreno. 1315- i915g: Use the devmaster quadratic approximation for sin/cos. 1316- i915g: Reapply clang-format. 1317- nir: Move phi src setup to a helper. 1318- i915g: Make the 1D workaround keep TXP's .w channel in the right spot. 1319- i915g: Add support for blitting compressed textures. 1320- i915g: Add missing support for sRGB S3TC. 1321- i915g: Fix up the format mapping for DXT1_*RGB 1322- i915g: Add support for FXT1. 1323- i915g: Fix 3D texture layouts for width != height. 1324- i915g: Implement cube/3d texture_subdata() as a series of per-layer maps. 1325- ci/turnip: Add a new flake from running more of the CTS. 1326- ci/freedreno: Move freedreno's deqp testing to suite support. 1327- freedreno/a6xx: Apply the cube image size lowering to GL, too. 1328- freedreno/ir3: Only lower cube image sizes once. 1329- freedreno/ir3: Use the resinfo path for ssbo sizes on GL, too. 1330- freedreno/ir3: Move a6xx's get_ssbo_size shl to NIR. 1331- freedreno/a6xx: Skip setting up image dims constants. 1332- freedreno/a5xx: Use ST4\_ constants for SSBO/image state types. 1333- freedreno/a5xx: Reduce packet emits for SSBO state. 1334- ci/freedreno: Mark a new flaky SSBO length test. 1335- ci/freedreno: Flake the rest of the pbuffer/window dEQP-EGL tests. 1336- i915g: Fix polygon offset by telling draw the Z format. 1337- i915g: Correct PIPE_SHADER_CAP_MAX_TEMPS. 1338- i915g: Reduce ARB_fp max tex indirections to match i915c. 1339- i915g: Clear some xfails that are now skips. 1340- i915g: Add comments explaining various xfails. 1341- i915g: clang-format fixup. 1342- freedreno/ir3: Apply the a6xx samgq workaround to TES/TCS/GS as well. 1343- freedreno/ir3: Align driver param upload size/offset for indirect uploads. 1344- freedreno/a6xx: Sync TFB BO access against prior TFB writes. 1345- ci/lavapipe: Add a fractional run with ASan 1346- ci/llvmpipe: Add a fractional ASan run. 1347- nir: Set .driver_location for GLSL UBO/SSBOs when we lower to block indices. 1348- nir/nir_lower_uniforms_to_ubo: Set the explicit stride of the UBO 0 uniform. 1349- nir_to_tgsi: Use explicit sizes of NIR variables for UBO declarations. 1350- ci/freedreno: Annotate a bunch of piglit fails/crashes. 1351- ci/freedreno: Add a bunch of recent a530 and a630 flakes. 1352- ci/v3dv: generalize the buffer_access.through_pointers flakes. 1353- ci/freedreno: Fix xfail update for arb_draw_indirect. 1354- freedreno/ir3: Don't use isam for coherent image loads on a6xx. 1355- freedreno/ir3: Clarify what's going on in a4xx SSBO atomics. 1356- freedreno/ir3: Refactor a3xx ibo/ssbo load/store instruction XML. 1357- freedreno/ir3: Add encode/decode support for a5xx's LDIB. 1358- freedreno/ir3: Use LDIB for coherent image loads on a5xx. 1359- osmesa: Add a unit test for resizing buffers. 1360- cso: Revert using FS sampler count for other stages at context unbind. 1361- mesa/st: Add an assertion for finalize_nir versus PIPE_CAP_TEXCOORD. 1362- i915g: Simplify the process of texcoord mapping to TGSI semantics. 1363- i915g: Expose PIPE_CAP_TGSI_TEXCOORD. 1364- i915g: Add finalize_nir. 1365- mesa/st: Add an optional GLSL link fail msg to finalize_nir. 1366- i915g: Reject non-unrolled loops or non-flattend IFs at link time. 1367- ci/iris: Mark create_context-no_error as failing. 1368- ci/iris: Unmark dma_buf_import_export tests as failing. 1369- ci/iris: Consistently use .test-manual-mr for our unstable hardware. 1370- ci/iris: Switch GL/GLES testing to suites. 1371- freedreno/a6xx: Emit a WFI after event writes flushing CCU. 1372- ci/freedreno: Fix typo in glx-tfp flake annotation. 1373- ci/freedreno: Mark a630 basic-glsl-misc-fs as flaky. 1374- ci/freedreno: Skip slow SizedDeclarationsPrimitive in CI. 1375- llvmpipe: Free CS shader images on context destroy. 1376- llvmpipe: Fix leak of CS local memory with 0 threads. 1377- llvmpipe: memcpy user_buffers at set_constant_buffer time. 1378- nir_to_tgsi: Fix indirect addressing of atomic counters. 1379- nir_to_tgsi: Don't forget to add sampler views with our samplers. 1380- nir_to_tgsi: Add support for memory_barrier_tcs_patch. 1381- nir_to_tgsi: Clean up some unnecessary pointers-to-uregs. 1382- nir_to_tgsi: Switch ssa_temp[] to be a ureg_src. 1383- nir_to_tgsi: Allow SSA defs to include swizzles, abs, and neg. 1384- mesa: Move the advanced blend bitmask to shader_info. 1385- nir: Add a nir_instr_free() to replace ralloc_free(instr). 1386- nir: Pull the instr list free function out to a helper. 1387- nir/from_ssa: Use nir_instr_free() to free instrs instead of ralloc. 1388- nir: Consistently pass the shader to the shader arg of instr creation. 1389- nir: Consistently pass the instr to nir_src_copy(). 1390- nir: Add all allocated instructions to a GC list. 1391- nir/lower_phis_to_scalar: Use nir_instr_free() to free instrs. 1392- nir/tests: Fix transmuting an SSA dest to be non-SSA 1393- nir: Switch from ralloc to malloc for NIR instructions. 1394- nir: Drop the unused instr arg for src/dest copy functions. 1395- ci/freedreno: Drop minetest from a3xx trace testing. 1396- freedreno: Precompute resource pointer hash values. 1397- freedreno: Use TC's flag for whether get_query is in the driver thread. 1398- freedreno: Move the batch cache to the context. 1399- freedreno: Remove the submit lock locking. 1400- freedreno: Use a BO bitset for faster checks for resource referenced. 1401- freedreno: Remove dead fd_batch_reset(). 1402- ci/i915g: Clarify failure happening in fbo-fragcoord2. 1403- mesa/st: Allow loops in GLSL when NIR is enabled, even if the HW can't. 1404- freedreno: Fix autotune regression since batch-cache rework. 1405- freedreno: Assert to check for the previous regression. 1406- ci/freedreno: Add some cubearray piglit flakes on a630 I noticed. 1407- ci/baremetal: Retry if our network device spontaneously fails. 1408- ci/freedreno: Update restricted trace sha1s. 1409- nir_to_tgsi: Remove the abs on fcsel's bool src. 1410- freedreno/a5xx+: Rename GRAS_CNTL/RB_RENDER_CONTROL0 IJ_LINEAR_* bits. 1411- freedreno/a5xx+: Set the IJ_LINEAR_* request bits if we need the regs. 1412- tu: Move core features definitions to a helper function. 1413- tu: Deduplicate extension/core feature flags. 1414- tu: Add GetPhysicalDeviceFeatures2() support for more VK 1.2 core features. 1415- tu: Move VK 1.1 core properties to a helper function and use macros for exts. 1416- tu: Support VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES. 1417- turnip: Move physical device 1.2 properties to a helper function. 1418- mesa: Throw an error for compressed glGenerateMipmap on GLES2 contexts. 1419- mesa: Prioritize checking for GLES2's uniform transpose error. 1420- mesa: Fix missing CopyTexImage formats for OES_required_internalformat. 1421- ci/vc4,i915g: Add links to VK-GL-CTS issues for some of our xfails. 1422- vulkan: Add helpers for filling exts for core features and properties. 1423- vulkan: Support PHYSICAL_DEVICE_1_n\_ features/properties in the helpers. 1424- turnip: Use the shared now-in-core feature/prop extension helper functions. 1425- anv: Use the shared now-in-core feature/prop extension helper functions. 1426- radv: Use the shared now-in-core feature/prop extension helper functions. 1427- vulkan: Update the XML and headers to 1.2.193 1428- turnip: Set the VK_DRIVER_ID to our new enum. 1429- turnip: Swizzle in 0, 1 for D24S8 STENCIL_ASPECT sampling. 1430- turnip: Disable VK_EXT_display_control. 1431- i915g: Improve debug output for the fresh-batch overflow case. 1432- i915g: Remove dead VBUF_USE_POOL code. 1433- i915g: Unifdef VBUF_MAP_BUFFER. 1434- i915g: Use the non-vbuf code path by default to fix index overflows. 1435- ci/freedreno: Disable flaky a530 for now. 1436- gallium/dri: Make YUV formats we're going to emulate external-only. 1437- turnip: Match the blob's format for vendorID and deviceID. 1438- turnip: Expose a device name similar to the blob. 1439- freedreno/rnndec: Fix use of undefined value_orig in the !ti case. 1440- freedreno/rnndec: Avoid making 0-length variable length arrays. 1441- freedreno/afuc: Avoid ubsan warns about shifting to the top bit of 'int' 1442- freedreno: Fix UBSan failures in cffdec's (uint8_t)x << 24 1443- freedreno: Reuse u_math.h instead of open coding ALIGN/ARRAY_SIZE. 1444- freedreno: Reuse u_math.h instead of open coding uif(). 1445- freedreno: Move afuc tests to meson unit tests. 1446- freedreno: Move crashdec/cffdec tests to be meson unit tests. 1447- freedreno: Move the headergen2 test to be meson unit tests. 1448- panfrost: Disable flaky piglit job for now. 1449- ci/freedreno: Restart the run if cheza spontenously reboots. 1450- freedreno/tools: Fix build failure when cffdump isn't built but tests are. 1451- freedreno/a6xx: Move the format table to common code. 1452- freedreno/a6xx: Add int/scaled/snorm vertex formats to match turnip. 1453- freedreno/a6xx: disable vertex fetch support flag for b8g8r8a8_srgb. 1454- freedreno/a6xx: Add support for EXT_texture_sRGB_R8/RG8. 1455- freedreno/a6xx: Drop texturing support from other scaled formats. 1456- freedreno/a6xx: Add some more 16-bit rgb/rgba swaps to our format tables. 1457- freedreno/a6xx+: Add support for the R8G8_R8B8 and G8R8_B8R8 formats. 1458- util/format: Add an RGB planar format for YV12, like we have for NV12. 1459- freedreno/a6xx: Put R8_G8_B8_420_UNORM in the format table. 1460- freedreno/a6xx: Use fd6_pipe2tex() for the 2D src format. 1461- freedreno/a6xx: Make the format table const. 1462- freedreno/a6xx: Rewrite the format table format/swap helpers. 1463- freedreno/a6xx: Add support for A/XRGB1555 formats. 1464- freedreno/a6xx: Enable UBWC for RGBA5551 (and 1555) textures. 1465- turnip: Give D32_SFLOAT_S8_UINT a native format. 1466- turnip: Switch tu_format internals to using pipe_format more. 1467- turnip: Do format lookups from the fd6 format table and cross-check. 1468- turnip: Replace our format table with fd6_format_table. 1469- i915g: Check for the scanout-layout conditions before setting level info. 1470- mesa/st: Don't bump locations of patch vars for !PIPE_CAP_TEXCOORD. 1471- nir_to_tgsi: Include txf_ms's sample index. 1472- nir_to_tgsi: Add support for load_output/load_per_vertex_output. 1473- gallium/ureg: Sort the input decls, too. 1474- nir_to_tgsi: Add support for declaring image arrays. 1475- nir_to_tgsi: Add support for load_barycentric_sample. 1476- nir_to_tgsi: Add support for nir_intrinsic_load_barycentric_at_sample. 1477- nir_to_tgsi: Turn GS PRIMID into an input instead of a sysval. 1478- nir-to-tgsi: Avoid emitting TXL just for lod 0 on non-vertex shaders. 1479- nir_to_tgsi: Sort FS output declarations to avoid virglrenderer bugs. 1480- nir_to_tgsi: Add a workaround for virgl UBO array dynamic indexing. 1481- nir_to_tgsi: Force the TXQ LOD argument to be scalar. 1482- virgl: Add support for NIR shaders when VIRGL_DEBUG=nir. 1483- turnip: Plug the vendor/device ID into the pipeline cache fields, too. 1484- turnip: Fix allocation failure handling around device->name. 1485- turnip: Free disk cache on pdev init failure. 1486- ci/freedreno: Move the other a530 test jobs to test-manual-mr. 1487- ci/freedreno: try to fix the a630 cubearray flake's regex. 1488- ci/freedreno: Disable the minetest trace due to flaky shader code. 1489- ci: Update deqp to vulkan-cts-1.2.7.1. 1490- ci: Update piglit to 7d7dd2688c214e1b3c00f37226500cbec4a58efb. 1491- radeonsi: Fix leak of screen->perfcounters. 1492- Revert "ci: Add osmesa to Windows GitLab CI" 1493- ci/deqp-runner: Drop SUMMARY_LIMIT env var. 1494- ci/deqp-runner: Simplify the --jobs argument setup. 1495- ci/deqp-runner: Use new deqp-runner's built-in renderer/version checks. 1496- ci/deqp-runner: Drop silly CSV env vars. 1497- ci/deqp-runner: Move remaining asan runs to --env LD_PRELOAD= 1498- ci/deqp-runner: Drop LD_LIBRARY_PATH=/usr/local for libkms workaround. 1499- ci/deqp-runner: Don't start GPU hang detection for making junit results. 1500- ci/deqp-runner: Move more non-suite logic under the non-suite 'if'. 1501- ci/piglit-runner: Fix funny indentation of the piglit-runner command. 1502- ci/deqp-runner: Rename the deqp-drivername-\*.txt files to drivername-*.txt 1503- ci/piglit-runner: Merge piglit-driver-\*.txt files into driver-*.txt. 1504- ci: Enable testing radeonsi's libva using libva-util unit tests. 1505- freedreno: Fix gmem invalidating the depth or stencil of packed d/s. 1506- freedreno/a6xx: Fix partial z/s clears with sysmem. 1507- freedreno/a6xx: Don't try to generate mipmaps for SNORM with our blitter. 1508- freedreno/ir3: Fix off-by-one in prefetch safety assert. 1509- freedreno/a6xx: Emit a null descriptor for unoccupied IBO slots. 1510- mesa/st: Disable NV_copy_depth_to_color on non-doubles-capable HW. 1511 1512Emmanuel Gil Peyrot (3): 1513 1514- radv: Support device initialization without LLVM dependencies 1515- radv: Support shader compilation without LLVM dependencies 1516- radv: Allow building when LLVM isn’t enabled 1517 1518Enrico Galli (11): 1519 1520- microsoft/spirv_to_dxil: Adding continue opt pass to fix DXIL loop gen 1521- nir_lower_readonly_images_to_tex: Fix typeo on image arrays 1522- microsoft/compiler: Add support for arrays to image_store 1523- microsoft/compiler: Correctly flag when using raw buffers 1524- microsoft/spirv_to_dxil: Enable support for shared memory 1525- microsoft/compiler: Add support for local_invocation_index 1526- spirv_to_dxil: Convert out parameters to a single object 1527- nir: Add CAN_REORDER to load_ubo_dxil 1528- spirv_to_dxil: Add support for nir_intrinsic_load_num_workgroups 1529- spirv_to_dxil: Add support for non-zero vertex and instance indices 1530- nir_to_dxil: Add tagging raw SRVs in shader flags 1531 1532Eric Engestrom (45): 1533 1534- docs: add release notes for 21.1.5 1535- docs: update calendar and link releases notes for 21.1.5 1536- docs: drop duplicate \`21.1` branch name from release calendar 1537- docs: add release notes for 21.1.6 1538- docs: update calendar and link releases notes for 21.1.6 1539- pick-ui: drop assert that optional argument is passed 1540- pick-ui: show nomination type in the UI 1541- pick-ui: show commit date 1542- docs: add release notes for 21.1.7 1543- docs: update calendar and link releases notes for 21.1.7 1544- python: explicitly require python3 1545- gitlab-ci: stop installing python-is-python3 package 1546- python: drop python2 support 1547- Revert "python: Explicitly add the 'L' suffix on Python 3" 1548- isl: drop comment about "python 2 vs 3" as it doesn't apply anymore 1549- isl: drop left-over comment 1550- glsl/tests: remove some dead code 1551- python: drop explicit output_encoding='utf-8' in mako templates 1552- docs: add release notes for 21.1.8 1553- docs: update calendar and link releases notes for 21.1.8 1554- docs: add plan for 21.3.x release cycle 1555- docs: shorten "last release" note to fit on the website without horizontal scrolling 1556- bin/khronos-update.py: update the branch name (s/master/main/) 1557- bin/khronos-update.py: add upstream for vulkan_directfb.h & vulkan_screen.h 1558- gitlab: convert old REVIEWERS into GitLab's CODEOWNERS 1559- CODEOWNERS: add SWR maintainers 1560- CODEOWNERS: add intel group 1561- CODEOWNERS: add android build system 1562- CODEOWNERS: add @alyssa for Asahi and Panfrost 1563- CODEOWNERS: add @bbrezillon for src/panfrost/vulkan/ 1564- CODEOWNERS: add @jenatali for Microsoft & D3D12 1565- egl: sync eglext.h & egl.xml from Khronos 1566- egl: implement EGL_EXT_present_opaque on wayland 1567- VERSION: bump for 21.3.0-rc1 1568- .pick_status.json: Update to 86b3d8c66ce17ddcaefa5bdea68882cc03a57f15 1569- .pick_status.json: Mark 7a2e40df5e8490de739c66865f90fa6804e41f6d as denominated 1570- VERSION: bump for 21.3.0-rc2 1571- .pick_status.json: Update to 4856586ac605e89ee6c128b1a190f000311b49ba 1572- VERSION: bump for 21.3.0-rc3 1573- .pick_status.json: Update to c356f3cfce9459dc1341b6a2a0fd5336a9bdcc3c 1574- VERSION: bump for 21.3.0-rc4 1575- .pick_status.json: Update to 549924d53e359c04d7c14b12990178c86d3aad2d 1576- meson: drop duplicate addition of surfaceless & drm to the list of platforms 1577- VERSION: bump for 21.3.0-rc5 1578- .pick_status.json: Update to ba6d389fa7a0ac512cb9d4cdd21efde990f041b1 1579 1580Erico Nunes (2): 1581 1582- lima: avoid crash with negative viewport values 1583- ci: enable CI for lima again 1584 1585Erik Faye-Lund (52): 1586 1587- dxil: Set coord_components on the txf in lower_int_sampler 1588- lavapipe: do not assert on more than 32 samplers 1589- lavapipe: do not mark unsupported tests as crashing 1590- gallivm: let nir_lower_tex handle projectors 1591- gallivm: make rho-approximation opt-in instead of opt-out 1592- gallivm: remove pointless no_filter_hacks flag 1593- d3d12: split up root parameter update and set 1594- microsoft/compiler: fix psv-output calculation 1595- microsoft/compiler: harmonize num_psv_inputs with outputs 1596- gallivm: use lp_build_log2_safe for pow 1597- lavapipe: remove stale xfails 1598- lavapipe: remove duplicate xfail with typo 1599- lavapipe: lower mipmapPrecisionBits to 4 1600- gallivm: remove code to force nearest s/t interpolation 1601- llvmpipe: take intersection with bbox for non-legacy points 1602- st/mesa: correct point_tri_clip for gles2 1603- gallivm: fix texture-mapping with 16-bit result 1604- draw: fix stippling of fractional lines 1605- gallium/nir/tgsi: fixup indentation 1606- gallium/nir/tgsi: initialize file_max for inputs 1607- draw: improve numerical stability in clipper 1608- llvmpipe: use preferred attribute interpolation for wide lines 1609- llvmpipe: clamp z to 0..1 range when using polygon offset 1610- llvmpipe: split coefficient calculation and store 1611- llvmpipe: improve polygon-offset precision 1612- lavapipe: fix reported subpixel precision for lines 1613- draw/llvmpipe: correct exponent calculation for negative z 1614- gallium/tgsi: remove unused helper 1615- gallium/tgsi: rip out cylindrical wrap from ureg 1616- gallium/tgsi: rip out cylindrical wrap support 1617- softpipe: rip out cylindrical wrap support 1618- llvmpipe: rip out cylindrical wrap support 1619- microsoft/compiler: remove needless error-returns 1620- microsoft/compiler: return errors from get_n_src 1621- microsoft/compiler: trivial fixes to error-handling 1622- Revert "zink: always init bordercolor value for sampler" 1623- zink: do not warn about rare features until used 1624- zink: initialize pQueueFamilyIndices 1625- zink: avoid overflow when calculating size 1626- zink: do not try to dereference null-key 1627- zink: do not dereference null-pointer 1628- zink: pctx can't be null here 1629- zink: return false on failure 1630- zink: remove needless NULL-check 1631- zink: avoid memcmping null pointers 1632- zink: avoid checking if src is const twice 1633- zink: give each major intrinsic it's own emit function 1634- zink: remove needless scope 1635- zink: remove incorrect ASSERTED macro 1636- zink: clean up const-value handling for get_ssbo_size 1637- zink: reduce scope of version-struct hack 1638- zink: avoid generating nonsensical code 1639 1640Esme Xuan Lim (1): 1641 1642- docs/panfrost: Fix link to use rst syntax 1643 1644Felix DeGrood (2): 1645 1646- iris: add tile cache flush to iris_copy_region 1647- anv: dirty only state impacted by blorp_exec 1648 1649Filip Gawin (18): 1650 1651- docs: make most important part of bugs.rst easier to find 1652- radeonsi: improve rounding of zmin 1653- radv: improve rounding of zmin 1654- nir: fix shadowed variable in nir_lower_bit_size.c 1655- nir: fix ifind_msb_rev by using appropriate type 1656- meson: add crocus to default group of drivers for x86/x86_64 1657- nouveau: fix forward declaration of struct 1658- nouveau: use bool literals instead of integers 1659- glsl: use bool literals instead of integers 1660- r300: fix usage of COVERED_PTR_MASKING_ENABLE for r500 1661- r300: make global variables const (if possible) 1662- r300: assert that array in translate_vertex_program is initialized 1663- aco: cleanup assignment of unique_ptrs 1664- r300: implement forgotten tgsi's cases of textures 1665- r300: fix UB caused by 1 << 31 and 2 << 30 1666- r300: avoid searching for temp variable twice 1667- nir: avoiding reading unitialized memory when using nir_dest_copy 1668- r300: fixes for UB caused by left shifts 1669 1670Francisco Jerez (12): 1671 1672- iris: Add read-only domain for VF cache. 1673- iris: Annotate all BO uses through VF cache domain. 1674- iris: Insert buffer-local memory barriers for VF reads. 1675- iris: Add separate dirty bit for VBO flushes. 1676- iris: Insert buffer-local memory barriers for indirect draw parameters. 1677- iris: Add read-write domain for data cache. 1678- iris: Use DATA domain barrier for shader images instead of OTHER domain. 1679- iris: Insert buffer-local memory barriers for SSBO reads and writes. 1680- iris: Insert buffer-local memory barriers for UBO reads. 1681- iris: Use separate dirty bits for UBO and SSBO flushes. 1682- iris: Track dirty UBOs per-stage for more targeted flushing. 1683- iris: Make sure a bound resource is flushed after iris_dirty_for_history. 1684 1685Georg Lehmann (3): 1686 1687- radv: Use c_msvc_compat_args. 1688- aco: Use cpp_msvc_compat_args. 1689- radv: Remove dead min waves code. 1690 1691Gert Wollny (3): 1692 1693- mesa: Add support for EXT_clear_texture 1694- mesa: Add EXT_texture_mirror_clamp_to_edge to extension table 1695- mesa: signal driver when buffer is bound to different texture format 1696 1697Greg V (1): 1698 1699- util: make util_get_process_exec_path work on FreeBSD w/o procfs 1700 1701Guilherme Gallo (9): 1702 1703- gitlab-ci: enable testing on Intel Whiskey Lake (experimental) 1704- gitlab-ci: enable testing on Intel Comet Lake (experimental) 1705- gitlab-ci: Fix trace expectations for iris devices 1706- gitlab-ci: Fix octopus device type and tag 1707- gitlab-ci: Add sleep for every \`scheduler.jobs.logs` call 1708- gitlab-ci: Implement a simple timeout detection for LAVA jobs 1709- gitlab-ci: refactor timeout constants and tweak timeout values 1710- ci: Uprev deqp-runner to 0.9.0 1711- ci: Update linux kernel to v5.15 1712 1713Gurchetan Singh (3): 1714 1715- drm-uapi: virtgpu_drm.h: context init feature 1716- virgl/drm: query for context init ioctl and supported capset ids 1717- virgl/drm: explicit context initialization 1718 1719Hoe Hao Cheng (2): 1720 1721- zink: make codegen compatible with python 3.5 1722- zink/codegen: do not enable extensions based on vulkan version 1723 1724Hyunjun Ko (4): 1725 1726- tu: allow dynamic primitive topology with tessellation 1727- freedreno/a5xx,a6xx: rename MSAA_ENABLE to LINE_MODE in GRAS_SU_CNTL 1728- turnip: enable VK_EXT_line_rasterization 1729- turnip: enable strictLines 1730 1731Iago Toral Quiroga (40): 1732 1733- ci: disable Broadcom CI 1734- v3dv: remove more dead clearing code 1735- v3dv: refactor meta copy/clear code 1736- v3dv: remove unused layer field from struct rcl_clear_info 1737- v3dv: improve TLB layered image clears 1738- v3dv: allow limiting amount of tile state allocated 1739- v3dv: don't overallocate tile state for meta TLB operations 1740- v3dv: don't emit frame setup more than once for multilayered framebuffers 1741- v3dv: fix I/O lowering for GS 1742- v3dv: drop unused parameters 1743- v3dv: store multiview info in our render pass data 1744- v3dv: move all our NIR pre-processing to preprocess_nir 1745- v3dv: inject a custom passthrough geometry shader for multiview pipelines 1746- broadcom/compiler: implement nir_intrinsic_load_view_index 1747- v3dv: broadcast multiview draw commands 1748- v3dv: don't merge subpasses with different view masks 1749- v3dv: use correct number of layers for multiview 1750- v3dv: skip processing tiles for layers that are not in the view mask 1751- v3dv: track first and last subpass that use a view index 1752- v3dv: fix query error handling 1753- v3dv: implement interaction of queries with multiview 1754- v3dv: expose VK_KHR_multiview 1755- v3dv: fill in drmFormatModifierTilingFeatures 1756- v3dv: handle IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT 1757- docs: flag VK_KHR_multiview as implemented for v3dv 1758- broadcom/compiler: add a vir_get_cond helper 1759- broadcom/compiler: Flags are per-thread state in V3D 4.2+ 1760- broadcom/compiler: make spills of conditional writes also conditional 1761- broadcom/compiler: rewrite partial update liveness tracking 1762- v3d,v3dv: add options to force 32-bit or 16-bit TMU precision 1763- v3dv: don't try to access pColorBlendState if rasterization is disabled 1764- v3dv: add API entry points for sampler Ycbcr conversions 1765- vulkan: allow creating color views from depth/stencil images 1766- v3dv: make v3dv_image derive from vk_image 1767- v3dv: use subresource helpers in more places 1768- v3dv: make v3dv_image_view derive from vk_image_view 1769- v3dv: honor VkPhysicalDeviceFeatures2 in pNext chain of VkDeviceCreateInfo 1770- broadcom/compiler: don't enable early fragment tests if shader writes Z 1771- v3dv: start using Broadcom's device identifiers 1772- broadcom/compiler: fix assert that current instruction must be in current block 1773 1774Ian Romanick (65): 1775 1776- nir/gcm: Clear out pass_flags before starting 1777- util/queue: Don't crash in util_queue_destroy when init failed 1778- iris: Add a comment for iris_uncompiled_shader::nir 1779- iris: Fix return type of iris_compile_* 1780- iris: Unify iris_delete_[shader stage]_state functions 1781- iris: Unify iris_create_[shader stage]_state functions 1782- iris: Merge iris_create_[shader stage]_state funcs into iris_create_shader_state 1783- iris: Ref count the uncompiled shaders 1784- iris: Extract allocation bits from iris_upload_shader to iris_create_shader_variant 1785- iris: Allocate shader variant in caller of iris_upload_shader 1786- iris: Add the variant to the list as early as possible 1787- iris: Don't pass the shader key to iris_compile_[shader stage] 1788- iris: add sync_compile option 1789- iris: Enable threaded shader compilation 1790- iris: Split iris_upload_shader in two 1791- intel/compiler: Add id parameter to shader_debug_log callback 1792- intel/compiler: Add id parameter to shader_perf_log callback 1793- mesa: Fix tiny race condition in _mesa_debug_get_id 1794- util: Add and use functions to calculate min and max int for a size 1795- isl: Use CLAMP macro instead of MIN of MAX 1796- nir/opcodes: Use u_intN_(min|max) 1797- Revert "nir/algebraic: Convert some f2u to f2i" 1798- intel/fs: sel.cond writes the flags on Gfx4 and Gfx5 1799- gallium: Remove "optimize" parameter from pipe_screen::finalize_nir 1800- intel/compiler: Document and assert some aspects of 8-bit integer lowering 1801- nir/algebraic: Optimize some extract forms resulting from 8-bit lowering 1802- intel/fs: Allow copy propagation between MOVs of mixed sizes 1803- intel/fs: Emit better code for u2u of extract 1804- nir/algebraic: Remove spurious conversions from inside logic ops 1805- nir: intel/compiler: Add and use nir_op_pack_32_4x8_split 1806- intel/compiler: Lower 8-bit ops to 16-bit in NIR on all platforms 1807- util/xmlconfig: Make unit tests more resilient against user env settings 1808- util/xmlconfig: Test values set via the environment 1809- nir/lower_bit_size: Support add_sat and sub_sat 1810- nir/opcodes: Add integer dot-product opcodes 1811- nir/algebraic: Basic patterns for dot_4x8 1812- intel/compiler: Basic support for DP4A instruction 1813- nir/algebraic: Add lowering for dot_4x8 instructions 1814- nir/algebraic: Add some extract optimizations 1815- spirv: Update headers and metadata from latest Khronos commit 1816- spirv: Add support for SPV_KHR_integer_dot_product 1817- intel/fs: Refactor some cmod propagation tests 1818- intel/fs: Remove redundant inst->opcode checks in cmod prop 1819- intel/fs: Add many cmod propagation tests involving MOV instructions 1820- intel/fs: Fix a cmod prop bug when the source type of a mov doesn't match the dest type of scan_inst 1821- intel/compiler: Move type_is_unsigned_int to brw_reg_type.h 1822- intel/fs: cmod propagate from MOV with any condition 1823- intel/fs: Remove condition-based restriction for cmod propagation to saturated operations 1824- intel/fs: Remove after parameter from test_saturate_prop 1825- intel/fs: Remove type-based restriction for cmod propagation to saturated operations 1826- anv: Enable KHR_shader_integer_dot_product 1827- nir/lower_gs_intrinsics: Return progress if append_set_vertex_and_primitive_count makes progress 1828- nir/lower_gs_intrinsics: Make nir_lower_gs_intrinsics be idempotent 1829- iris: crocus: Use shader_info::is_arb_asm flag 1830- iris: Calculate uses_atomic_load_store after all lowering 1831- nir/edgeflags: Add a flag to indicate the edge flag input is needed 1832- iris: Eliminate iris_uncompiled_shader::needs_edge_flag 1833- iris: Move iris_set_max_shader_compiler_threads and iris_is_parallel_shader_compilation_finished 1834- iris: Add finalize_nir 1835- spirv: Silence unused parameter warnings in vtn_alu.c 1836- spirv: Minor cleanup in SpvOpFOrdNotEqual 1837- spirv: SpvOpFUnordNotEqual doesn't need special treatment 1838- spirv: Generate shorter code for SpvOpFUnord comparisons 1839- nir/algebraic: Small optimizations for SpvOpFOrdNotEqual and SpvOpFUnordEqual 1840- nir/loop_unroll: Always unroll loops that iterate at most once 1841 1842Icecream95 (26): 1843 1844- pan/decode: Avoid undefined behaviour on shift in bits() 1845- pan/gen_pack: Use 1U for unpacking log2 to avoid undefined behaviour 1846- pan/bi: Print the clause of branch targets 1847- pan/bi: Use padding bytes for checking whether to stop disassembly 1848- pan/bi: Fix infinite loop parsing arguments for bifrost_compiler 1849- pan/mdg: Analyze helper termination after scheduling 1850- pan/bi: Use the computed scale for fexp NaN propagation 1851- panfrost: Call primconvert and u_transfer_helper destroy functions 1852- pan/bi,pan/mdg: Fix memory leak of hash tables 1853- panfrost: Fix memory leaks for compute state 1854- panfrost: Free TGSI tokens 1855- panfrost: Free NIR when deleting shader state 1856- pan/mdg: Reduce size of tex_opcode_props 1857- panfrost: Fill tiler job padding again 1858- panfrost: Add nocache debug flag for disabling the BO cache 1859- panfrost: Only allow colour blit shaders to be killed 1860- panfrost: drm-shim support 1861- pan/bi: Extend bi_add_nop_for_atest for tilebuffer loads 1862- lima: Enable PIPE_CAP_VERTEX_COLOR_UNCLAMPED 1863- lima: Fix crashes for GPUs with more than four cores 1864- lima: Improve error messages for unsupported GP operations 1865- lima: Add a noop drm-shim 1866- pan/bi: Don't set dependencies for +BLEND in blend shaders 1867- pan/mdg: Remove use of global variables in disassembler 1868- panfrost: Add ASTC 3D texture format entries 1869- pan/mdg: Use the correct swizzle for condition moves 1870 1871Ilia Mirkin (7): 1872 1873- st/mesa: fix pbo download store image type 1874- mesa: don't return errors for gl_* GetFragData* queries 1875- mesa: rgb10_a2 is never color-renderable in gles2 1876- glsl: fix explicit-location ifc matching in presence of array types 1877- freedreno: use OUT_WFI for emit_marker 1878- a4xx: add some better documentation for compute registers 1879- a4xx/computerator: add initial backend 1880 1881Italo Nicola (6): 1882 1883- ci: skip minio login if PIGLIT_REPLAY_UPLOAD_TO_MINIO is not set 1884- virgl/ci: switch glmark2 traces from .rdc to .trace 1885- virgl/ci: stop overriding GL version when running traces 1886- virgl/ci: enable some traces that were previously crashing 1887- main: don't always clamp pixels read from snorm buffers 1888- panfrost: fix null deref when no color buffer is attached 1889 1890Iván Briano (8): 1891 1892- anv: Don't advertise unsupported shader stages 1893- anv: fix some multisample lines_wide CTS tests 1894- anv: Unbreak wide lines on HSW/BDW 1895- anv: fix feature/property/sizes reported for fragment shading rate 1896- anv: Allow unused VkSpecializationMapEntries 1897- anv: Don't copy the lineStipple values if lineStipple is not enabled 1898- vulkan: fix handling of aliases in enum members 1899- vulkan: Generate defines for aliases of promoted enums 1900 1901James Park (1): 1902 1903- aco: Work around MSVC restrict in c99_compat.h 1904 1905Jan Beich (1): 1906 1907- meson: disable -Werror=thread-safety on FreeBSD 1908 1909Jason Ekstrand (192): 1910 1911- intel/dev: Handle CHV CS thread weirdness in get_device_info_from_fd 1912- intel/dev: Put the device name in intel_device_info 1913- intel/dev: Handle BSW naming issues 1914- intel/dev: Add a max_cs_workgroup_threads field 1915- intel/dev: Drop a bogus assert 1916- nir: Better document the Boissinot algorithm in nir_from_ssa() 1917- iris: Re-emit MEDIA_VFE_STATE for variable group size shaders 1918- anv: Handle errors properly in anv_i915_query 1919- intel: Pull anv_i915_query into common code 1920- anv: Use intel_i915_query_alloc for memory regions 1921- iris: Use intel_i915_query for meminfo 1922- intel/dev: Use intel_i915_query_alloc in query_topology 1923- intel/perf: Use intel_i915_query_flags instead of hand-rolling it 1924- intel/eu: Start validating LSC message descriptors 1925- anv: Assume syncobj support 1926- anv: Drop unused sync_file and BO semaphore code 1927- anv: Stop reference counting semaphores 1928- glsl/nir: Use nir_ssa_undef() from nir_builder 1929- nir: Set IMAGE_DIM and IMAGE_ARRAY on deref intrinsics 1930- nir: Set src_components = -1 for image intrinsic deref sources 1931- nir: Add a format field to _deref image intrinsics 1932- nir/lower_subgroups: Handle down-casts in uint_to_ballot_type 1933- nir/lower_image: Handle index and bindless image_size 1934- nir/lower_tex: Add a lower_txs_cube_array option 1935- radv,radeonsi: Do cube size divide-by-6 lowering in NIR 1936- turnip: Replace tu_lower_image_size with nir_lower_image 1937- intel/eu: Don't validate LSC transpose on ops that don't have it 1938- ttn: Don't handle texop_txf_ms_mcs 1939- amd: Don't handle nir_tex_src_ms_mcs 1940- panfrost: Don't handle nir_texop_txf_ms_mcs 1941- nir: Suffix all the MCS texture stuff _intel 1942- docs,nir: Document NIR texture instructions 1943- intel/blorp: Use nir_texop_txl 1944- nir/lower_tex: Rework invalid implicit LOD lowering 1945- nir: Validate newly documented texture restrictions 1946- anv/android: Rework our handling of AHardwareBuffer imports 1947- nir: Removing uses of SSA defs destroys SSA liveness 1948- nouveau: Use nir_lower_tex for projectors 1949- anv/blorp: Drop some can_ycbcr checks 1950- anv/blorp: Use the isl_surf for computing level_width/height in anv_image_ccs_op 1951- anv: Rename anv_get_format_plane to anv_get_format_aspect 1952- anv: Rework depth/stencil early return in anv_get_format_plane 1953- anv: Add a get_format_plane helper and use it in image setup 1954- anv: Use anv_get_format_plane in anv_get_image_format_features 1955- anv: Use anv_get_format_plane for color image view setup 1956- anv: Stop assuming planes are in aspect-bit-order 1957- anv/image: Rework YCbCr image aspects 1958- anv: Rework our aspect/plane helpers 1959- anv: Make anv_image_aspect_to_plane take an anv_image* 1960- intel/eu: Set scope to TILE for TGM flushes 1961- meson/intel: Don't build genxml tests on Android 1962- meson: Intel drivers don't require expat on Android 1963- meson/glsl: Only run GLSL tests if can_run_host_binaries() 1964- intel/vec4: Don't override emit_urb_write_opcode for SNB GS 1965- intel/perf: Use a char array for OA perf query data 1966- anv/android: Pass the correct pointer type to vk_errorf 1967- anv/android: Drop unused device variables 1968- ci: Build ANV on Android 1969- include/drm-uapi: Bump headers 1970- anv: Use I915_MMAP_OFFSET_FIXED for LMEM platforms 1971- iris: SMEM buffers on discrete platforms are coherent 1972- iris: Use a tiny table to map mmap modes to offsets 1973- iris: Add an assert to iris_bo_gem_mmap_legacy() 1974- iris: Add a new IRIS_MMAP_NONE map type 1975- iris: Use I915_MMAP_OFFSET_FIXED for LMEM platforms 1976- anv: Use I915_USERPTR_PROBE when available 1977- intel/isl: Explicitly set offset_B = 0 in get_uncomp_surf for arrays 1978- intel/isl: Add units to view dimensions in isl_surf_get_uncompressed_surf 1979- intel/isl: Better document isl_tiling_get_intratile_offset_* 1980- intel/isl: Add a missing assert in isl_tiling_get_intratile_offset_sa 1981- intel/isl: Use uint64_t for computed byte offsets 1982- anv/image: Use planes[i]->primary_surface.isl.format in check_drm_format_mod 1983- anv: Delete anv_image::format 1984- vulkan: Add a vk_image struct 1985- anv: Make anv_image derive from vk_image 1986- anv,vulkan: Move anv_image_expand_aspects to common code 1987- anv,vulkan: Move VkImageSubresource* helpers from ANV 1988- vulkan: Refactor and better document vk_image_expand_aspect_mask 1989- radv: Add asserts to vk_format_depth/stencil_only 1990- vulkan,radv: Move vk_format_depth/stencil_only to common code 1991- vulkan: Add a vk_image_view struct 1992- anv: Make anv_image_view derive from vk_image_view 1993- anv,vulkan: Move ANV image layout helpers to common code 1994- anv,vulkan: Move drm_format_mod to vk_image 1995- anv,vulkan: Add a vk_image::wsi_legacy_scanout bit 1996- anv: Move compute_heap_size lower in the file 1997- anv: Rework init_meminfo 1998- anv: compute available memory in anv_init_meminfo 1999- anv: Set CONTEXT_PARAM_RECOVERABLE to false 2000- intel/compiler: Add unified barrier support for CS 2001- intel/isl: Add more parameters to isl_tiling_get_info 2002- isl/docs/tiling: Add Tile4 docs 2003- intel/fs: Add support for atomic_fadd 2004- anv: Advertise support for shaderBufferFloat32AtomicAdd 2005- nir: Properly clean up nir_src/dest indirects 2006- nir: Stop sweeping indirects 2007- spirv: Handle the SubgroupSize execution mode 2008- intel/fs: Handle required subgroup sizes specified in the SPIR-V 2009- iris: Handle states=NULL in iris_bind_sampler_states 2010- iris: Return 1 for PIPE_COMPUTE_CAP_IMAGES_SUPPORTED 2011- panvk: Use vk_queue 2012- panvk: Use vk_command_buffer 2013- vulkan: Add the pCreateInfo to vk_queue_init() 2014- anv: Drop anv_queue::flags 2015- radv: Drop radv_queue::flags/queue_family_index/queue_idx 2016- lavapipe: Drop lvp_queue::flags 2017- turnip: Drop tu_queue::flags/queue_family_index/queue_idx 2018- v3dv: Drop v3dv_queue::flags 2019- panvk: Drop panvk_queue::flags/queue_family_index 2020- vulkan/device: Add a common GetDeviceQueue2 implementation 2021- vulkan/device: Add a common DeviceWaitIdle implementation 2022- anv: Switch to common GetDeviceQueues2 and DeviceWaitIdle 2023- radv: Switch to common GetDeviceQueues2 and DeviceWaitIdle 2024- turnip: Switch to common GetDeviceQueues2 and DeviceWaitIdle 2025- v3dv: Use the common GetDeviceQueue implementation 2026- lavapipe: Simplify DeviceWaitIdle 2027- lavapipe: Switch to common GetDeviceQueue and DeviceWaitIdle 2028- panvk: Switch to common GetDeviceQueue and DeviceWaitIdle 2029- intel/fs: Rework fence handling in brw_fs_nir.cpp 2030- intel/fs: Ignore SLM fences if shared is unused 2031- intel/fs: Add the URB fence message 2032- intel/fs: Emit URB fences when we have LSC 2033- vulkan/shader_module: Fix the lifetime of temporary shader modules 2034- v3dv: Use VK_DEFINE_*HANDLE_CASTS instead of rolling our own 2035- st/texture: Dedent surface setup in CompressedTexSubImage 2036- st/texture: Fall back to single-slice uploads in st_CompressedTexSubImage 2037- Move a bunch of the CLC stuff from src/microsoft to common code 2038- compiler/clc: Clean ups 2039- compiler/clc: grab opencl-c.h from the system path by default 2040- anv,iris,genxml: Use NumberOfBarriers on XeHP 2041- vulkan/physical_device_features: Drop some unnecessary dependencies 2042- vulkan/physical_device_features: Stop generating a header 2043- radv: Use VK_DEFINE_*HANDLE_CASTS instead of rolling our own 2044- vulkan: Update the XML and headers to 1.2.195 2045- anv: Add an anv_image_get_memory_requirements helper 2046- intel/isl: Add a max_buffer_size limit to isl_device 2047- intel/isl: Simplify isl_format_supports_filtering 2048- intel/isl: Stop claiming ASTC works on Cherry View 2049- anv: Ask ISL about ASTC support 2050- intel/isl: ASTC support was removed on Gfx12.5 2051- genxml: Drop bit 27 from RENDER_SURFACE_STATE::Surface Format 2052- nir/algebraic: Lower fisfinite 2053- nir/algebraic: Add some boolean optimizations 2054- nir/algebraic: Add some opts for comparisons of comparisons 2055- vulkan: Drop vk_object_base_reset 2056- vulkan: Track which objects are client-visible 2057- vulkan/log: Assert if the driver logs a client-invisible object 2058- vulkan/log: Log to instance messages during instance construction 2059- anv: drop a misplaced and wrong comment 2060- anv: Stop printing descriptor pool allocation failures 2061- anv: s/vk_error/anv_error/g 2062- vulkan/log: Handle logging to a physical device 2063- vulkan/log: Add common vk_error and vk_errorf helpers 2064- anv: Drop unused logging helpers 2065- anv/queue: Plumb the queue through all the queue_submit calls 2066- anv: Use the common vk_error and vk_errorf helpers 2067- radv: Stop printing descriptor pool allocation failures 2068- radv: Switch to the new common vk_error helpers 2069- lavapipe: Switch to the new vk_error helpers 2070- panvk: Switch to the new vk_error helpers 2071- v3dv: Switch to the new vk_error helpers 2072- turnip: Plumb non-startup errors through the new vk_error helpers 2073- vulkan/log: Drop _impl from the log helper names 2074- vulkan/instance: Use vk_error in vk_instance_init 2075- vulkan/device: Use vk_error 2076- vulkan/device: Use vk_errorf to report missing features 2077- Revert "mesa: use simple_mtx_t for TexMutex" 2078- nir/lower_discard_or_demote: Fix metadata 2079- vulkan: Generate flag #defines based on bitwidth 2080- vulkan: Generate #defines with every bit in a given bitfield 2081- anv: Use the common wrapper for GetPhysicalDeviceFormatProperties 2082- anv: Flip around the way we reason about storage image lowering 2083- meson: Add and use an idep for Vulkan WSI 2084- vulkan/wsi: Add a dispatch table for WSI entrypoints 2085- vulkan/wsi: Add common wrappers for most entrypoints 2086- anv: Use the common WSI wrappers 2087- radv: Use the common WSI wrappers 2088- turnip: Use the common WSI wrappers 2089- v3dv: Use the common WSI wrappers 2090- panvk: Use the common WSI wrappers 2091- lavapipe: Use the common WSI wrappers 2092- venus: Use the common WSI wrappers 2093- vulkan/wsi/common: Delete the wrapper entrypoints 2094- vulkan/wsi/x11: Delete the wrapper entrypoints 2095- vulkan/wsi/wayland: Delete the wrapper entrypoints 2096- vulkan/wsi/display: Delete the wrapper entrypoints 2097- vulkan/log: Tweak our handling of a couple error enums 2098- i965: Emit a NULL surface for buffer textures with no buffer 2099- lavapipe: Don't wrap errors returned from vk_device_init in vk_error 2100- anv: Fix FlushMappedMemoryRanges for odd mmap offsets 2101- anv: Also disallow CCS_E for multi-LOD images 2102- vulkan/util: Include stdlib.h 2103 2104Jeremy Newton (1): 2105 2106- Fix building AMD MM/GL with EL7 2107 2108Jesse Natalie (62): 2109 2110- mesa/main: Check for fbo attachments when importing EGL images to textures 2111- microsoft/compiler: Implement texture loads from UAVs 2112- microsoft/clc: Add a test for compiling a kernel with a read-write image 2113- gallium/dri: Move driConf -> st option processing to aux/util 2114- xmlconfig: Use static inline for regex fallback to prevent -O0 issues 2115- wgl: Parse driconf options 2116- wgl: Add a driver name for driconf 2117- u_driconf: Use a macro to avoid repeating option names 2118- CI: Update Windows quick_gl baseline for mysterious new passes 2119- spirv2dxil: Fix build after spirv_to_dxil signature change 2120- ci/windows: Build spirv-to-dxil 2121- llvmpipe: Don't wait for already-terminated threads on Windows 2122- mapi: Fix shared-glapi build with MSVC 2123- wgl: Fix unit test when using shared glapi 2124- static-glapi: Fix MSVC preprocessor definitions 2125- wgl: Don't use BUILD_GL32 for wgl frontend 2126- wgl: Move opengl32.def to target instead of frontend 2127- wgl: Move wgl* non-extension definitions to libgl-gdi 2128- wgl: Make overridden entrypoints local to stw_ext_context 2129- wgl: Refactor drivers to a libgallium_wgl.dll 2130- docs: Update Windows llvmpipe doc for driver split 2131- gl.h: Remove dllimport 2132- wgl: Create contexts and DHGLRCs separately 2133- wgl: Pass share context as pointer instead of DHGLRC 2134- wgl: Make contexts current with pointer instead of DHGLRC 2135- wgl: Allow creating framebuffers that aren't in the global window list 2136- wgl: Make contexts current with framebuffers instead of HDCs 2137- wgl: Split DrvReleaseContext to support unbind via pointer 2138- wgl: Add iPixelFormat to stw_pixelformat_info 2139- wgl: Un-inline helpers which use stw_own_mutex 2140- wgl: Add an explicit iPixelFormat for context creation 2141- wgl: Use HWND instead of HDC as primary framebuffer handle 2142- wgl: Add a stw_dev getter 2143- wgl: Swap buffers via pointer instead of HDC 2144- wgl: Add stw_* DLL exports for EGL support 2145- meson: Include EGL after gallium 2146- meson, egl: Support building for the Windows platform 2147- egl: Add wgl/gallium dependencies for Windows platform 2148- egl: Use the .def file for Windows 2149- egl: Don't try to dereference native displays unless there's a detectable platform 2150- egl: Detect Windows platform using GDI 2151- egl: Add a basic Windows driver 2152- symbols-check: Fix symbol demangling for Windows 2153- egl: Update Windows .def to include missing exports 2154- meson: Set /Zc:__cplusplus for MSVC 2155- CI/windows: Build shared-glapi, EGL, gles2 2156- microsoft/clc: Rename compiler DLL to clon12compiler 2157- microsoft/clc: Clean up clc_context 2158- microsoft/clc: Stop heap-allocating tiny fixed-size transparent structs 2159- microsoft/clc: Split clc_object and rename entrypoints 2160- microsoft/clc: Support SPIR intermediates in the compilation APIs 2161- microsoft/clc: Parse SPIR-V specialization consts into metadata 2162- microsoft/clc: Support passing specialization consts to spirv_to_nir 2163- microsoft/clc: Add API to independently specialize SPIR-V 2164- microsoft/clc: Add a test for specializing via SPIRV-Tools 2165- clover: std::result_of is deprecated in c++17 and removed in c++20 2166- clover: Delete unused 'e' exception reference vars 2167- clover: Rename module -> binary, because C++20 makes module a keyword 2168- compiler/clc: Null extensions should mean all supported, not all 2169- compiler/clc: Preserve OCL kernel arg type metadata on LLVM13 2170- util/hash_table: Clear special 0/1 entries for u64 hash table too 2171- d3d12: Fix Linux fence wait return value 2172 2173Jonathan Marek (1): 2174 2175- freedreno/registers: add a6xx media formats 2176 2177Jordan Justen (51): 2178 2179- nir: Add nir_lower_image() to lower cube image sizes 2180- intel/compiler: Rename brw_nir_lower_image_load_store to brw_nir_lower_storage_image 2181- intel/compiler: Lower cube image sizes using nir_lower_image() 2182- intel/compiler: Remove cube array size lowering in compiler backend 2183- meson: Search for python3 before python for bin/meson_get_version.py 2184- meson: Check that bin/meson_get_version.py ran without an error 2185- intel/pci-ids: Re-enable DG1 and add SG1 2186- intel/compiler: Regroup TCS barrier code paths 2187- intel/compiler: Add unified barrier support for TCS 2188- iris: Disable the Y-tiled modifiers on XeHP+ 2189- intel: Move subslice_total into devinfo 2190- intel/devinfo: Add devinfo->max_scratch_ids 2191- intel/dev: Add is_dg2 to devinfo 2192- intel/isl: Enable MOCS 61 for external surfaces on TGL 2193- intel/dev: Add display_ver and set adl-p to 13 2194- iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13 2195- Revert "iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13" 2196- Revert "intel/dev: Add display_ver and set adl-p to 13" 2197- intel/dev: Add display_ver and set adl-p to 13 2198- iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13 2199- intel/blorp: Move most of BLORP_CREATE_NIR_INPUT into a function 2200- intel/blorp: Add compute support to BLORP_CREATE_NIR_INPUT 2201- intel/blorp: Add shader_pipeline to brw_blorp_base_key 2202- intel/blorp: Add brw_blorp_init_cs_prog_key 2203- intel/compiler: Use INTEL_DEBUG=blorp to dump blorp compute shaders 2204- intel/blorp: Add subgroup_id input for compute programs 2205- intel/blorp: Add blorp_compile_cs 2206- intel/blorp: Split out ps specific sampler state into a separate function 2207- intel/blorp: Split out surface setup from state emission 2208- blorp: Add blorp_alloc_general_state 2209- intel/blorp: Emit compute program based on BLORP_BATCH_USE_COMPUTE 2210- intel/gfx7: Change GPGPU Mode to bool 2211- intel/blorp: Add blorp_get_cs_local_y, blorp_set_cs_dims 2212- intel/blorp: Change discard terminology to bounds 2213- intel/blorp: Add blorp_check_in_bounds() 2214- intel/blorp: Use blorp_check_in_bounds for discards 2215- blorp: Set view usage to ISL_SURF_USAGE_STORAGE_BIT for compute 2216- blorp/clear: Simplify rbg-as-red channel packing 2217- intel/blorp: Convert blorp_clear color_write_disable to a bitmask 2218- intel/blorp: Support compute for slow clears 2219- intel/blorp/blit: Rename wm_prog_key and prog_key to key 2220- intel/blorp: Support some image/buffer blit operations using compute 2221- anv: Store anv_queue_family type in cmd-pool 2222- anv: Prevent starting a render pass on compute queues 2223- anv/blorp: Make sure blorp type is supported by the queue 2224- anv/blorp: Select pipeline based on BLORP_BATCH_USE_COMPUTE 2225- anv/blorp: Add anv_blorp_batch_init, anv_blorp_batch_finish 2226- anv/blorp: Force compute blorp on compute-only queues 2227- anv/slice_hash: Don't allocate more than once with multiple queues 2228- intel/isl: Add mocs settings for DG2 2229- Revert "iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13" 2230 2231Jose Maria Casanova Crespo (8): 2232 2233- Revert "ci: disable Broadcom CI" 2234- v3d/driconf: Expose non-MSAA texture limits for mutter and gnome-shell 2235- v3d: export supported prim types by v3d 2236- v3d: remove primconvert 2237- vc4: export supported prim types by vc4 2238- vc4: remove primconvert 2239- v3d: Enable PIPE_CAP_PRIMITIVE_RESTART 2240- v3d: Enable PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE 2241 2242Joshua Ashton (26): 2243 2244- lavapipe: Use common Vulkan format helpers 2245- radv: Fix DCC image store check 2246- radv: Disable DCC on storage images that cannot support DCC image stores 2247- ac/surface: Add modifiers capable of DCC image stores 2248- ac/surface: Add ac_modifier_supports_dcc_image_stores helper 2249- radv: Expose modifiers that support DCC image stores with STORAGE_IMAGE_BIT 2250- radv: Push box traversal results onto stack in correct order 2251- radv: Add noatocdithering option to RADV_DEBUG 2252- vulkan/util: Cast vk_alloc pointers 2253- radv: Rename radv_subpass_barrier function to radv_emit_subpass_barrier 2254- radv: Define extern "C" linkage if C++ 2255- ac/surface: Add helper for checking if a surface supports DCC Image stores 2256- radv: Use common DCC image store check 2257- radeonsi: Use common DCC image store check 2258- radv: Remove assert in radv_rt_bind_tables 2259- radv: Do not pass result to insert_traversal_aabb_case 2260- radv: Implement build_node_to_addr for GFX8 and below 2261- radv: Implement software emulation for intersect_ray 2262- radv: Enable raytracing extensions on older generations 2263- radv: Add force_emulate_rt perftest option 2264- ac/surface: Use 64 && 128 for GFX10_3 on non-modifier path 2265- ac/surface: Add ac_modifier_max_extent 2266- radeonsi: Check if modifier supports the image extent 2267- radv: Respect max extent for modifiers 2268- ac/surface: Expose modifiers capable of DCC image stores first 2269- radv: Do early and late tests for fast clears 2270 2271Joshua Watt (1): 2272 2273- v3d, vc4: Fix dmabuf import for non-scanout buffers 2274 2275José Fonseca (1): 2276 2277- llvmpipe: Add a linear rasterizer optimized for 2D rendering. 2278 2279Juan A. Suarez Romero (35): 2280 2281- broadcom/compiler: emit TMU flush before a jump 2282- ci/v3dv: update expected results 2283- ci/v3d: add piglit flake test 2284- v3d: handle debug options with debug_named_value 2285- v3dv: assert job->cmd_buffer is valid 2286- ci/v3dv: update vulkan expected results 2287- broadcom: remove v3dv3 from neon library 2288- ci: update to VK-GL-CTS 1.2.7.0 2289- drm-uapi: add v3d performance counters 2290- v3d: check if device supports performance monitors 2291- v3d: attach performance monitor to jobs 2292- v3d: move queries to pipe queries 2293- v3d: add fence wait function 2294- v3d: implement performance counter queries 2295- v3d/simulator: implement performance counters 2296- gallium/hud: initialize query 2297- ci/v3dv: update expected results 2298- broadcom/compiler: change current block on setting spill base 2299- v3d: print error on perfmon destroy error 2300- ci/vc4: update piglit expected results 2301- broadcom/compiler: set current block on incrementing unifa 2302- ci/v3dv: update flakes 2303- v3dv: initialize CL submission structure 2304- v3d/ci: add piglit flake 2305- broadcom/ci: use deqp-runner suites for gles 2306- broadcom/qpu: remove duplicated opcode variable 2307- broadcom/compiler: check instruction belongs to current block 2308- mesa: fix default texture buffer format 2309- broadcom: make vir_emit_last_thrsw() private 2310- broadcom/compiler: force a last thrsw for spilling 2311- broadcom/compiler: add V3D_DEBUG_NO_LOOP_UNROLL debug option 2312- broadcom: add cl_nobin debug option 2313- ci/v3dv: update flakes 2314- ci/v3d: add piglit flake 2315- ci/vc4: add piglit timeout 2316 2317Kai Wasserbäch (3): 2318 2319- gallivm: add new wrapper around Module::setOverrideStackAlignment() 2320- gallivm: fix FTBFS on i386 with LLVM >= 13, StackAlignmentOverride is gone 2321- fix(clover/llvm): update code to build with recent versions of LLVM 14 (Git) 2322 2323Karol Herbst (4): 2324 2325- nv50/ir/nir: fix smem size for GL 2326- nv30: fix emulated vertex index buffers 2327- clover: Local memory needs to be aligned. 2328- spirv: Don't add 0.5 to array indicies for OpImageSampleExplicitLod 2329 2330Keith Packard (1): 2331 2332- iris: Map scanout buffers WC instead of WB [v2] 2333 2334Kenneth Graunke (29): 2335 2336- gallium: Remove dead pb_malloc_buffer_create function prototype 2337- iris: Rename bo->gtt_offset to bo->address 2338- iris: Improve the memory layout of iris_bo by fixing pahole issues 2339- iris: Drop dead drm_ioctl prototype 2340- iris: Don't try to CPU read imported clear color BOs 2341- iris: Use the new I915_USERPTR_PROBE API 2342- iris: Allow SET_DOMAIN to fail when allocating new GEM objects 2343- iris: Stop using SET_DOMAIN on discrete GPUs altogether 2344- iris: Bypass the BO cache when allocating buffers for aux map tables 2345- iris: Mark the aux table buffers with EXEC_OBJECT_CAPTURE. 2346- i965: Only call lower_blend_equation_advanced for fragment shaders 2347- glsl: Assert that lower_blend_equation_advanced is only called for FS 2348- iris: Rewrite bo->index comment to refer to exec_bos[] 2349- iris: Track written BOs via a bitfield rather than exec_object2 entries 2350- iris: Defer construction of the validation (exec_object2) list 2351- iris: Add some accessor wrappers for a few fields. 2352- intel: Finish off the last scraps of bacon 2353- iris: Move some iris_bo entries into a union 2354- iris: Handle multiple BOs backed by the same GEM object in execbuf code 2355- iris: Begin handling slab-allocated wrapper BOs in various places 2356- iris: Introduce a BO_ALLOC_NO_SUBALLOC flag and set it in a few places 2357- iris: Change the validation list debug code to print the BO list instead 2358- iris: Move suballocated resources to a dedicated allocation on export 2359- iris: Suballocate BO using the Gallium pb_slab mechanism 2360- iris: Delete the MI_COPY_MEM_MEM resource_copy_region implementation. 2361- iris: Require a 4K alignment for extra clear color BOs. 2362- iris: Fix MOCS for buffer copies 2363- iris: Fix parameters to iris_copy_region in reallocate_resource_inplace 2364- intel/genxml: Fix MI_FLUSH_DW to actually specify the length properly 2365 2366Kostiantyn Lazukin (1): 2367 2368- util/u_trace: Replace Flag with IntEnum to support python3.5 2369 2370Kyle Brenneman (2): 2371 2372- Add copyright comments to the GLVND-related files. 2373- Remove the shebang from eglFunctionList.py. 2374 2375Leandro Ribeiro (8): 2376 2377- vulkan/wsi/wayland: check directly if we got globals successfully 2378- vulkan/wsi/wayland: do not perform roundtrip when not querying formats 2379- vulkan/wsi/wayland: fix crash when force_bgra8_unorm_first is true 2380- vulkan/wsi/wayland: fold wsi_wl_display_swrast and wsi_wl_display_dmabuf into parent 2381- vulkan/wsi/wayland: always initialize format vector 2382- vulkan/wsi/wayland: add helper function find_format() 2383- vulkan/wsi/wayland: create swapchain using vk_zalloc() 2384- vulkan/wsi/wayland: memset members of image to zero 2385 2386Leo Liu (8): 2387 2388- frontends/va: Add AV1 picture description 2389- frontends/va: Add AV1 parameter buffers functions 2390- frontends/va: Place AV1 picture and slice parameter buffers functions 2391- frontends/va: Add AV1 profile main to the config 2392- radeon/vcn: Enable the AV1 decode p010 mode 2393- frontends/va: Reallocate p010 buffer for AV1 10 bits decode 2394- radeon/vcn: reuse the dpb buffers when with the same size. 2395- radeon/vcn: add a handling of error for incorrect reference lists 2396 2397Lepton Wu (3): 2398 2399- gallium: Reset {d,r}Priv in dri_unbind_context 2400- i965: Enable RGBX8888_SRGB format. 2401- virgl: Add an option to disable coherent 2402 2403Lionel Landwerlin (67): 2404 2405- isl: fix mapping of format->stringname 2406- loader/dri3: create linear buffer with scanout support 2407- nir/lower_shader_calls: adding missing stack offset alignment 2408- anv: fix submission batching with perf queries 2409- drm-shim: implement stat/fstat when xstat variants are not there 2410- intel/disasm: fix missing oword index decoding 2411- anv: don't try to access Android swapchains 2412- nir/lower_shader_calls: remove empty phis 2413- anv/android: handle image bindings from gralloc buffers 2414- genxml: add more INSTDONE registers for Gfx12.5 2415- intel/error-decode: printout more registers 2416- nir: prevent peephole from generating invalid NIR 2417- intel/fs: fix framebuffer reads 2418- microsoft/clc: small compile fix on Linux 2419- clc: use the defined version for the parser 2420- spirv: don't fail on CapabilitySubgroupDispatch if supported 2421- spirv: avoid shadowing local variable 2422- spirv: workaround LLVM-SPIRV Undef variable initializers 2423- spirv: don't bother initializing variables to Undef 2424- microsoft/clc: drop LLVM dependency to version < 12 2425- nir: fix opt_memcpy src/dst mixup 2426- spirv: switch Groups capability to non AMD specific field 2427- microsoft/clc: drop MSVC specific function 2428- microsoft/clc: fix compiler warning on uninitiailzed variable use 2429- meson: extract libversion checks from clc & clover 2430- anv: honor INTEL_DEBUG=sync 2431- clc: add allowed extension for compile parameter 2432- clc: print warnings/errors on their own line 2433- clc: let user specify the targetted SPIRV version 2434- anv: enable UBO indexing 2435- intel/compiler: add missing line returns to logs 2436- anv: remove redundant VertexURBEntryReadLength setting 2437- nir/lower_io: preserve all metadata when no progress 2438- anv: move GetBufferMemoryRequirement with other buffer functions 2439- anv: implement vkGetDeviceBufferMemoryRequirementsKHR 2440- anv: remove unused function 2441- anv: move VkImage object allocation to anv_CreateImage 2442- anv: implement vkGetDeviceImageMemoryRequirementsKHR 2443- anv: implement vkGetDeviceImageSparseMemoryRequirementsKHR 2444- anv: enable VK_KHR_maintenance4 2445- vulkan: put generated defines into their own header 2446- vulkan: handle new VK_KHR_synchronization2 image layouts 2447- vulkan: remove unused VkCommand 2448- vulkan/util: generate define for a selected few enums 2449- vulkan: implement legacy entrypoints on top of VK_KHR_synchronization2 2450- anv: add missing transition handling bits 2451- anv: make semaphore helper work on a single object 2452- anv: improve readability of pipelined states 2453- anv: implement VK_KHR_synchronization2 2454- spirv: deal with null pointers 2455- anv: switch to use VkFormatFeatureFlags2KHR internally 2456- intel/nir: allow unknown format in lowering of storage images 2457- anv: start computing KHR_format_features2 flags for storage images 2458- anv: implement VK_KHR_format_feature_flags2 2459- anv: fill correct surface state for lowered storage image 2460- isl: only bump the min row pitch for display when not specified 2461- vulkan/wsi/wayland: don't expose surface formats not fully supported 2462- anv: fix push constant lowering with bindless shaders 2463- intel/dev: fix HSW GT3 number of subslices in slice1 2464- intel/dev: don't forget to set max_eu_per_subslice in generated topology 2465- intel/dev: reuse internal functions to set mask 2466- intel/dev: fix subslice/eu total computations with some fused configurations 2467- intel/perf: fix perf equation subslice mask generation for gfx12+ 2468- intel/devinfo: fix wrong offset computation 2469- intel: remove 2 preproduction pci-id for ADLS 2470- anv: don't forget to add scratch buffer to BO list 2471- anv: fix multiple wait/signal on same binary semaphore 2472 2473Liviu Prodea (1): 2474 2475- ci: Add osmesa to Windows GitLab CI 2476 2477Lone_Wolf (1): 2478 2479- clover: TargetRegistry.h was moved to another folder 2480 2481Lucas Stach (2): 2482 2483- renderonly: don't complain when GPU import fails 2484- etnaviv: always try to create KMS side handles for imported resources 2485 2486Luis Felipe Strano Moraes (2): 2487 2488- docs: Clean up environment variable docs for Intel drivers. 2489- docs: Add documentation regarding INTEL_MEASURE to envvars doc. 2490 2491M Henning (1): 2492 2493- nouveau: Support nir_intrinsic_*_atomic_fadd 2494 2495Maniraj D (1): 2496 2497- egl: set TSD as NULL after deinit 2498 2499Mao, Marc (1): 2500 2501- iris: declare padding for iris_vue_prog_key 2502 2503Marcin Ślusarz (51): 2504 2505- intel/tools/aubinator_error_decode: tag hanging instruction 2506- anv: share some code between vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount 2507- glsl: evaluate switch expression once 2508- nir/builder: invalidate metadata per function 2509- intel/compiler: use nir_shader_instructions_pass in brw_nir_apply_attribute_workarounds 2510- d3d12: use nir_metadata_none instead of its value 2511- microsoft/clc: preserve only valid metadata in clc_lower_printf_base 2512- microsoft/clc: use nir_shader_instructions_pass in clc_nir_dedupe_const_samplers 2513- microsoft/compiler: preserve all metadata when upcast_phi doesn't make progress 2514- microsoft/compiler: use nir_shader_instructions_pass in dxil_nir_split_clip_cull_distance 2515- microsoft/compiler: use nir_shader_instructions_pass in dxil_nir_lower_double_math 2516- zink: use nir_shader_instructions_pass in lower_discard_if 2517- zink: use nir_shader_instructions_pass in nir_lower_dynamic_bo_access 2518- genxml: add INSTDONE_GEOM register for Gfx12.5 2519- intel/error-decode: printout INSTDONE_GEOM register for Gfx12.5 2520- glsl/opt_algebraic: disable invalid optimization 2521- glsl: refactor code to avoid static analyzer noise 2522- freedreno/ir3: use nir_metadata_none instead of its value 2523- r600: use nir_shader_instructions_pass in r600_nir_lower_atomics 2524- r600: preserve all metadata when passes don't make progress 2525- turnip: use nir_shader_instructions_pass in tu_lower_io 2526- intel/compiler: INT DIV function does not support source modifiers 2527- vulkan/wsi/x11: fix shm allocation control flow issue 2528- glsl: propagate errors from \*=, /=, +=, -= operators 2529- glsl: break out early if compound assignment's operand errored out 2530- crocus: drop redundant unlikely's around INTEL_DEBUG 2531- intel/compiler: drop redundant likely's around INTEL_DEBUG 2532- anv: drop redundant unlikely's around INTEL_DEBUG 2533- lima: use nir_shader_instructions_pass in lima_nir_split_load_input 2534- anv: Set graphics pipeline active_stages earlier 2535- anv: Use input assembly state only when pipeline has vertex stage 2536- intel/compiler: use nir_shader_instructions_pass in brw_nir_demote_sample_qualifiers 2537- intel/compiler: use nir_shader_instructions_pass in brw_nir_clamp_image_1d_2d_array_sizes 2538- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_conversions 2539- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_mem_access_bit_sizes 2540- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_scoped_barriers 2541- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_storage_image 2542- intel/compiler: use nir_shader_instructions_pass in brw_nir_opt_peephole_ffma 2543- intel/compiler: use nir_metadata_none instead of its value 2544- anv: use nir_shader_instructions_pass in anv_nir_add_base_work_group_id 2545- anv: use nir_shader_instructions_pass in anv_nir_lower_ycbcr_textures 2546- anv: preserve all metadata when anv_nir_lower_multiview doesn't make progress 2547- glsl: preserve all metadata when lower_buffer_interface_derefs doesn't make progress 2548- nir: preserve all metadata when nir_lower_int_to_float doesn't make progress 2549- nir: preserve all metadata when nir_propagate_invariant doesn't make progress 2550- nir: preserve all metadata when nir_opt_vectorize doesn't make progress 2551- anv: allocate zeroed device object 2552- nir/print: pad 64-bit constants with zeroes 2553- anv: fix potential integer overflow 2554- iris: fix scratch address patching for TESS_EVAL stage 2555- intel: fix INTEL_DEBUG environment variable on 32-bit systems 2556 2557Marek Olšák (211): 2558 2559- radeonsi: don't expose no-attachment MSAA 16x on all 1 RB chips due to issues 2560- radeonsi: document a missing synchronization for bindless textures 2561- st/mesa: inline st_setup_arrays on MSVC too by adding a wrapper 2562- mesa: remove unused drawid_offset parameter from DrawGalliumMultiMode 2563- mesa: fix incorrect comment in draw_gallium_multimode 2564- st/mesa: always use PIPE_USAGE_STAGING for GL_MAP_READ_BIT usage 2565- shader_enums,mesa: move VERT_ATTRIB_EDGEFLAG to slot 31 for st/mesa 2566- gallium: change pipe_vertex_element::src_format to uint8_t 2567- gallium: add multi-component 64-bit UINT formats for raw double vertex attribs 2568- gallium: add pipe_vertex_element::dual_slot to move lowering to CSO creation 2569- gallium: lower raw 64-bit vertex formats in cso/vbuf instead of st/mesa 2570- st/mesa: remove lowering of 64-bit vertex attribs to 32 bits 2571- st/mesa: remove st_vertex_program::index_to_input 2572- st/mesa: remove st_vertex_program::input_to_index 2573- radeonsi: improve viewperf snx performance by forcing staging for VRAM buffers 2574- gallium: simplify VRAM uploads by adding PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY 2575- gallium/noop: implement fences 2576- gallium/noop: implement shader buffers and shader images 2577- gallium/noop: use threaded_query 2578- gallium/noop: use threaded_resource 2579- gallium/noop: use threaded_transfer 2580- gallium/noop: enable threaded_context to test TC overhead without a driver 2581- gallium/noop: update pipe_screen::num_contexts 2582- gallium/noop: implement a lot of missing screen functions 2583- gallium/noop: implement a lot of missing context functions 2584- radeonsi: allow arbitrary swizzle modes for displayable DCC 2585- radv: allow arbitrary swizzle modes for displayable DCC 2586- ac/surface: allow arbitrary swizzle modes for displayable DCC 2587- gallium: add take_ownership into set_sampler_views to skip reference counting 2588- st/mesa: set take_ownership = true in set_sampler_views 2589- st/mesa: move handling CubeMapSeamless into st_convert_sampler where it belongs 2590- gallium: remove vertices_per_patch, add pipe_context::set_patch_vertices 2591- radeonsi: remove vertices_per_patch parameter from draw-related functions 2592- frontend/dri: add environment variable DRI_NO_MSAA for performance comparisons 2593- gallium: use a packed enum to make pipe_prim_mode 1-byte large with __GNUC__ 2594- gallium: change pipe_draw_info::mode to uint8_t on MSVC to make it 1 byte large 2595- glthread: implement glGetUniformLocation without syncing 2596- meson: add missing custom target to generate shader_replacement.h 2597- mesa: add environment variable MESA_NO_SHADER_REPLACEMENT 2598- util/cpu_detect: print num_L3_caches and num_cpu_mask_bits 2599- util/cpu_detect: add/guess support for next Zen CPUs 2600- vbo: merge draws with GL_LINES regardless of line stippling 2601- vbo: check more GL errors when drawing via glCallList 2602- mesa: remove unused indices parameter from validate functions 2603- mesa: fix gl_DrawID with indirect multi draws using user indirect buffer 2604- mesa: skip draw calls with unaligned indices 2605- radeonsi: remove unused depth_clamp_any 2606- radeonsi: remove instancing support from the prim discard compute shader 2607- radeonsi: remove stages_key parameter from si_shader_selector_key 2608- radeonsi: move si_vgt_stages_key determination into si_update_vgt_shader_config 2609- radeonsi: move as_ls/es/ngg setting out of si_shader_selector_key 2610- radeonsi: inline si_get_alpha_test_func 2611- radeonsi: stop using AC_EXP_PARAM_UNDEFINED because it's not useful 2612- radeonsi: use memcmp and radeon_emit_array in radeon_opt_set_context_regn 2613- radeonsi: correctly use cs instead of gfx_cs in build pm4 helpers 2614- radeonsi: simplify memory usage checking by merging vram and gtt counters 2615- radeonsi: inline remaining big functions in draw_vbo for better snx perf 2616- radeonsi: simplify si_need_gfx_cs_space 2617- winsys/amdgpu: clean up amdgpu_cs_check_space 2618- radeonsi: inline si_need_gfx_cs_space 2619- radeonsi: don't use SQ_NON_EVENT before GE_PC_ALLOC for better perf on Navi1x 2620- radeonsi: add si_print_current_ib function for debugging 2621- ac/debug: add an option to disable colors for printed IBs 2622- radeonsi: fix a memory leak in si_get_shader_binary_size 2623- radeonsi: set gfx10 registers better in si_emit_initial_compute_regs 2624- ac/gpu_info: fix detection of smart access memory 2625- radeonsi: disable DCC stores on Navi12-14 for displayable DCC to fix corruption 2626- radeonsi: enable DCC stores for clear_render_target on gfx10 2627- radeonsi: add missing make_CB_shader_coherent for DCC stores into copy_image 2628- radeonsi: handle pipe_aligned in compute_expand_fmask 2629- radeonsi: rename DCC_WRITE -> ALLOW_DCC_STORE 2630- radeonsi: track displayable_dcc_dirty for non-compute shaders 2631- radeonsi: enable DCC stores on gfx10.3 APUs for better performance 2632- radeonsi: clean up typecasts in compute_copy_image 2633- ac/llvm: remove load_tess_coord callback 2634- ac/llvm: implement a bunch of NIR AMD intrinsics for NGG 2635- ac: remove needless parameters from ac_shader_abi::emit_outputs 2636- ac: make ac_shader_abi::inputs an array instead of a pointer 2637- ac/llvm: implement nir_intrinsic_overwrite_*_arguments_amd 2638- ac/llvm: implement nir_intrinsic_elect 2639- ac,radeonsi: load VS inputs at the call site of nir_intrinsic_load_input 2640- ac,radv: remove unused inputs array and VS input code 2641- radeonsi: don't set prefer_mono for fetched instance divisors 2642- radeonsi: ignore the vertex element count in si_shader_selector_key_vs 2643- radeonsi: accurately check if instance divisors need a VS update 2644- radeonsi: don't update shaders if only the vertex element count changes 2645- radeonsi: correct index_bias_varies usage 2646- radeonsi: remove the primitive discard compute shader 2647- winsys/amdgpu: precompute amdgpu_ib_max_submit_dwords 2648- radeonsi: reduce the frequency of switching GS fast launch on/off 2649- radeonsi: strengthen the VGT_FLUSH condition in begin_new_gfx_cs 2650- radeonsi: skip setting some PGM_HI registers by switching to 32-bit addresses 2651- winsys/amdgpu: include CS ioctl overhead in RADEON_NOOP 2652- radeonsi: enable shader-based prim culling with polygon mode 2653- radeonsi: remove a few fields from si_state_rasterizer 2654- radeonsi: don't emit PA_SU_POLY_OFFSET_CLAMP if it has no effect 2655- radeonsi: add AMD_DEBUG=ib to print IBs 2656- radeonsi: don't use NGG passthrough if culling is possible for better perf 2657- radeonsi: fix DCC image stores with display DCC 2658- radeonsi: copy a few nir_shader_compiler_options from RADV 2659- driconf: remove leftover code for allow_incorrect_primitive_id 2660- radeonsi: fix DCC image stores with image descriptors in user SGPRs 2661- radeonsi: add const to the key parameter in si_shader_select_with_key 2662- radeonsi: handle NO_OPT_VARIANT in si_shader_select_with_key 2663- radeonsi: sink memsets and disable uniform inlining in si_shader_selector_key 2664- radeonsi: move PS shader key code into a separate function 2665- radeonsi: don't memset mono and opt in si_update_ps_shader_key 2666- radeonsi: don't memset part in si_update_ps_shader_key 2667- radeonsi: divide si_update_ps_shader_key into many separate functions 2668- radeonsi: ignore blitter when computing the PS shader key 2669- radeonsi: update most of the PS shader key in set & bind functions 2670- radeonsi: clean up and clear VS shader key fields related to outputs 2671- radeonsi: update the VS shader key in set & bind functions and remove memsets 2672- radeonsi: rewrite inlinable uniform states for shader keys in si_context 2673- radeonsi: move si_shader_io_get_unique_index calls out of si_get_vs_key_outputs 2674- radeonsi: move PS inputs_read computation out of si_get_vs_key_outputs 2675- radeonsi: unset SI_PREFETCH_* only when we unbind pm4 shader states 2676- radeonsi: make si_update_shaders a C++ template in si_state_draw.cpp 2677- radeonsi: optimize scratch buffer size updates using C++ template arguments 2678- radeonsi: check flatshade and sprite_coord_enable for spi_map in bind_rs_state 2679- radeonsi: move DB_SHADER_CONTROL update for PS out of si_update_shaders 2680- radeonsi: move flat shading VRS enablement out of si_update_shaders 2681- radeonsi: precompute si_vgt_stages_key for NGG in si_shader 2682- radeonsi: deduplicate si_compiler_ctx_state initialization 2683- radeonsi: determine num_vbos_in_user_sgprs from template arguments in draw_vbo 2684- radeonsi: eliminate a not-found conditional for PrimID in si_get_ps_input_cntl 2685- radeonsi: force flat for PrimID early in si_nir_scan_shader 2686- radeonsi: restructure si_get_ps_input_cntl for future refactoring 2687- radeonsi: interleave si_shader_info::input_* in memory for faster emit_spi_map 2688- radeonsi: precompute num_interp for si_emit_spi_map 2689- radeonsi: simplify si_emit_spi_map for back-face colors 2690- radeonsi: inline si_get_ps_input_cntl because it has only one use 2691- radeonsi: unroll loops in si_emit_spi_map using 33 C++ template instantiations 2692- radeonsi: precompute more spi_map code 2693- radeonsi: set prefer_mono outside of si_shader_selector_key 2694- radeonsi: move setting most TCS shader key fields out of si_shader_selector_key 2695- radeonsi: move setting one GS shader key field out of si_shader_selector_key 2696- radeonsi: put si_pm4_state at the beginning of si_shader 2697- radeonsi: eliminate redundant SPI_SHADER_PGM_RSRC3/4_GS register writes 2698- radeonsi: convert gfx10_emit_ge_pc_alloc to radeon_opt_set_uconfig_reg 2699- radeonsi: use a trick to extract and pack edgeflags using fewer instructions 2700- radeonsi: don't set edgeflags for TES and blit VS 2701- radeonsi: fix incorrect comments about VGT_SHADER_STAGES_EN 2702- radeonsi: enable NGG passthrough when LDS is used, document the real constraints 2703- radeonsi: remove the unused cs parameter from radeon_emit 2704- radeonsi: remove the unused cs parameter from radeon_emit_array 2705- radeonsi: remove the unused cs parameter from radeon_set_(config|context)_reg 2706- radeonsi: remove the unused cs parameter from radeon_set_sh_reg 2707- radeonsi: remove the unused cs parameter from radeon_set_uconfig_reg 2708- radeonsi: remove the unused cs parameter from remaining packet functions 2709- ac/surface: use DCC compatible with image stores for < 4K resolutions 2710- ac/surface: correct a comment about DCC image stores 2711- radeonsi: fix a depth texturing performance regression on gfx6-7 2712- radeonsi: change the units of oversub_pc_factor to integer multiples of 1/4 2713- radeonsi: decrease vertex count threshold for shader culling to 128 2714- radeonsi: set vs_uses_base_instance using C++ template arguments 2715- radeonsi: use the optimal draw packet sequence for VGT_FLUSH 2716- radeonsi: reduce NGG culling on/off transitions by keeping it enabled 2717- radeonsi: clean prefer_mono for the blit VS 2718- radeonsi: don't check ngg_culling != 0 for fast launch because it's tautology 2719- ac/gpu_info: fix the comment for the NGG->legacy transition bug 2720- radeonsi: strenthen the ngg->legacy hw workaround, fix fast launch hangs too 2721- radeonsi: fix clearing index_size for NGG fast launch 2722- radeonsi: disallow NGG fast launch on Navi1x because VGT_FLUSH makes it slower 2723- ac/llvm: pass cull options into cull_bbox directly 2724- radeonsi: always use the correct number of vertices in NGG shader code 2725- radeonsi: add gfx10 helpers for determining whether edgeflags are enabled 2726- ac/llvm: rename ac_cull_triangle -> ac_cull_primitive 2727- radeonsi: implement shader-based culling for lines 2728- radeonsi: don't set DX10_DIAMOND_TEST_ENA for better performance 2729- util: add util_popcnt_inline_asm 2730- util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2731- gallium/util: make pipe_vertex_buffer_reference safe for hashing dst 2732- gallium: add pipe_vertex_state and draw_vertex_state for display lists 2733- gallium/u_threaded: implement draw_vertex_state 2734- gallium/trace: add pipe_vertex_state support 2735- gallium/util: add util_vertex_state_cache for deduplicating the states 2736- st/mesa: add ST_PIPELINE_RENDER_NO_VARRAYS, for future display list support 2737- st/mesa: make setup_arrays more reusable for future display list support 2738- mesa: use pipe_vertex_state in vbo and st/mesa for lower display list overhead 2739- radeonsi: separate VBO descriptor code into a new function (for future work) 2740- radeonsi: implement draw_vertex_state for lower display list overhead 2741- ac/surface: don't overwrite DCC settings for imported buffers 2742- ac/surface: enable DCC image stores for all displayable DCC on gfx10.3 2743- mesa: add missing unlock_texture into generate_texture_mipmap 2744- util/slab: use simple_mtx_t 2745- util/queue: use simple_mtx_t for finish_lock 2746- gallium/pb_cache: use simple_mtx_t 2747- gallium/pb_slab: use simple_mtx_t 2748- mesa: use simple_mtx_t for TexMutex 2749- mesa: use simple_mtx_t for ShaderIncludeMutex 2750- gallium/u_threaded: fix draw_vertex_state with multi draws 2751- radeonsi: fix a leak in draw_vertex_state if threaded_context is disabled 2752- radeonsi: remove duplicate partial_count variable 2753- radeonsi: add back a workaround for DCC MSAA on gfx9 due to conformance issues 2754- radeonsi: remove GS fast launch 2755- util,gallium: put count in pipe_resource & sampler_view on its own cache line 2756- radeonsi: align pipe_resource & sampler_view allocations to a cache line 2757- radeonsi: fix an out-of-bounds access in si_create_vertex_state 2758- ac/surface: always use suboptimal display DCC with DRM <= 3.43.0 2759- ac/surface: disallow display DCC for big resolutions 2760- ac/surface: enable better display DCC for chips newer than Yellow Carp 2761- radeonsi: simplify how VS_OUT_CCDIST is set 2762- radeonsi: simplify write_psize code in si_get_vs_out_cntl 2763- mesa: fix crashes in the no_error path of glUniform 2764- st/mesa: don't crash when draw indirect buffer has no storage 2765- radeonsi: enable shader culling for indirect draws 2766- radeonsi: print the border color error message only once 2767- radeonsi: fix 2 issues with depth_cleared_level_mask 2768- radeonsi: fix a typo preventing a fast depth-stencil clear 2769- driconf: disallow 10-bit pbuffers for viewperf2020/maya due to X errors 2770 2771Marek Vasut (2): 2772 2773- freedreno: a2xx: Handle samplerExternalOES like sampler2D 2774- freedreno: Handle timeout == PIPE_TIMEOUT_INFINITE and rollover 2775 2776Marijn Suijten (1): 2777 2778- freedreno: Enable Adreno 508, 509 and 512 2779 2780Mark Janes (3): 2781 2782- anv: Use local memory for block pool BO 2783- anv: Allocate workaround buffer in local memory if present 2784- anv: warn if system memory is used 2785 2786Martin Krastev (2): 2787 2788- svga: enable DRM mks-stats via hooking to the corresponding DRM ioctls 2789- meson: introduce option vmware-mks-stats controlling the instrumentations of gallium svga driver 2790 2791Martin Roukala (néé Peres) (1): 2792 2793- radv/ci: mark some tests as flaky on gfx9 2794 2795Matt Turner (5): 2796 2797- tu: Raise maxDescriptorSetUpdateAfterBindUniformBuffersDynamic to 16 2798- util: Add unit tests for dag 2799- util: Replace recursive DFS with iterative implementation 2800- tu: Free device->bo_idx and device->bo_list on init failure 2801- tu: Enable VK_KHR_uniform_buffer_standard_layout 2802 2803Michael Tang (11): 2804 2805- spirv_to_dxil: expose version number 2806- spirv_to_dxil: Run nir_lower_tex during compilation 2807- microsoft/compiler: Add support for SV_SampleIndex intrinsic 2808- microsoft/compiler: More robustly handle setting Register=-1 2809- microsoft/compiler: Set the SampleFrequency runtime metadata 2810- microsoft/compiler: Emit a flat interpolation method for SV_SampleIndex 2811- microsoft/compiler: Miscellaneous fixes from running clang-format 2812- microsoft/spirv_to_dxil: Add \`install : true` to spirv_to_dxil library. 2813- gallium/d3d12: move d3d12_lower_bool_input to microsoft/compiler 2814- microsoft/spirv_to_dxil: use dxil_nir_lower_bool_input pass 2815- microsoft/spirv_to_dxil: turn sysvals into input varyings 2816 2817Michel Dänzer (2): 2818 2819- ci: Drop "success" job 2820- ci: Put all container related jobs in a single stage 2821 2822Michel Zou (6): 2823 2824- zink: Fix unused-variable warning 2825- meson: dont use missing dumpbin path 2826- radv: fix build with mingw 2827- lavapipe: fix missing VKAPI_CALL attribute 2828- wgl: fix 32 bits mingw exports 2829- docs: mark off missing lavapipe exts 2830 2831Mike Blumenkrantz (480): 2832 2833- zink: improve detection for broken drawids 2834- lavapipe: increment drawid for multidraws 2835- radv: merge si_write_viewport into radv_emit_viewport 2836- radv: pre-calculate viewport transforms 2837- radv: remove unused variable from radv_emit_viewport 2838- lavapipe: don't read line stipple info in pipeline creation if stipple is disabled 2839- util/tc: make clear calls async 2840- util/foz: stop crashing on destroy if prepare hasn't been called 2841- lavapipe: add a padding member to rendering_state 2842- lavapipe: implement VK_EXT_color_write_enable 2843- features: VK_EXT_color_write_enable for lavapipe 2844- zink: check for dedicated allocation requirements during image alloc 2845- zink: hook up VK_KHR_dedicated_allocation 2846- zink: optimize shader recalc 2847- zink: ifdef out some context prototypes/inlines for c++ compile 2848- zink: start adding C++ draw templates 2849- zink: add draw template for dynamic state 2850- zink: make descriptors_update hook return a bool if a flush occurred 2851- zink: if descriptor updating flushes, re-call draw/compute 2852- zink: add template for starting new cmdbuf 2853- zink: split pipeline_changed to use template value separately 2854- zink: stop flagging pipeline dirty for line width changes 2855- zink: don't rebind vertex buffers if pipeline changes 2856- zink: add a ctx flag for drawid reading 2857- zink: flatten descriptor_refs_dirty into BATCH_CHANGED template 2858- zink: use drawid_offset directly during draw 2859- zink: add a ctx flag for shader reading basevertex 2860- zink: remove screen info stuff from draw templates 2861- zink: add changed flag for blend states 2862- util/tc: add a util function for setting bytes_mapped_limit 2863- radeonsi: use new tc util for setting bytes_mapped_limit 2864- zink: use new tc util for setting bytes_mapped_limit 2865- freedreno: use new tc util for setting bytes_mapped_limit 2866- nir/lower_point_size_mov: zero nir_state_slot::swizzle in new variable 2867- gallium: add pipe_sampler_state::pad member 2868- lavapipe: add support for anisotropic texturing 2869- nir: add nir_imm_ivec3 builder 2870- zink: add mechanism for generating VkBuffers for rebinding 2871- zink: change vbo_bind_count to a mask of slots 2872- zink: handle vertex buffer offset overflows 2873- zink: split and move maybe_flush_or_stall mechanic 2874- zink: split draw_count checking to local variable 2875- zink: make zink_end_render_pass public 2876- zink: make batch_rp and norp static inlines 2877- zink: use a local var for draw mode during draw 2878- zink: add a param to check_batch_completion for toggling lock-taking 2879- zink: rework oom flushing 2880- zink: move mem cache to sub-struct 2881- zink: inline mem cache hash table 2882- zink: split mem cache per type 2883- zink: clamp descriptor allocation bucket sizing to defined limit 2884- zink: add define for descriptor alloc clamping 2885- zink: improve lazy descriptor pool handling 2886- zink: fix cached descriptor allocation clamping 2887- nir/validate: refactor validate_assert to have a return value 2888- zink: use array size in spirv bo length calculations 2889- zink: add screen function for checking usage completion 2890- zink: force batch completion check on query result 2891- zink: add some resource util functions for batch usage 2892- zink: collapse a conditional in zink_batch_resource_usage_set() 2893- zink: use resource batch usage helpers in invalidate_buffer() 2894- zink: simplify some dumb code in invalidate_buffer 2895- zink: use new resource batch usage utils for is_resource_busy 2896- zink: replace some direct batch_usage calls with resource abstractions 2897- zink: remove no longer used internal resource function 2898- zink: more explicitly check shader stages during compile 2899- zink: merge draw_count and compute_count, move to batch struct 2900- zink: improve oom flushing 2901- zink: EXT_vertex_input_dynamic_state 2902- zink: change descriptor flushing to assert 2903- zink: lower subgroup ballot instructions 2904- zink: implement compiler handling for subgroup ballot builtins/intrinsics 2905- zink: remove VK_EXT_shader_subgroup_ballot from device info 2906- zink: export PIPE_CAP_TGSI_BALLOT 2907- zink: add env var to disable timelines 2908- ci: add another zink job with timelines disabled 2909- zink: use dynamic line stipple 2910- zink: use MAP_ONCE for qbo readback 2911- zink: rework buffer mapping 2912- mesa/st: break up st_GetTexSubImage 2913- mesa/st: break up st_choose_matching_format() 2914- mesa/st: enable calling st_choose_format() purely for translation 2915- mesa/st: add format-finding capabilities to pbo get_dst_format() 2916- st/texture: refactor get_src_format() to be more useful 2917- zink: never use staging buffer for unsynchronized buffer maps 2918- zink: force threadsafe mapping for query results when necessary 2919- Revert "zink: simplify some dumb code in invalidate_buffer" 2920- zink: simplify some dumb code in invalidate_buffer (v2) 2921- lavapipe: rework queue to use u_queue 2922- lavapipe: use consistent semaphore variable naming 2923- lavapipe: implement timeline semaphores 2924- features: mark off timelines for lavapipe 2925- zink: add locking for zink_shader::programs 2926- zink: sum available memory heaps instead of assigning 2927- zink: simplify else clause for mem info gathering 2928- nine: don't memset sampler state during conversion 2929- nine: set CSO_NO_USER_VERTEX_BUFFERS for main cso context 2930- nine: optimize texture binds a bit 2931- nine: split enabled/dummy texture binds into separate iterators 2932- nine: update bound sampler mask directly during texture updates 2933- nine: track bound sampler count to optimize unbinds 2934- nine: enable tc 2935- nir: add imm_vec3 to round these out 2936- nine: init take_index_buffer_ownership for draws 2937- nine: init more draw info members 2938- zink: add a suballocator 2939- zink: repack zink_resource_object struct 2940- zink: stop zeroing structs during resource allocation 2941- zink: split transfer_unmap for images and buffers 2942- zink: split mem unmap logic for images and buffers 2943- zink: make map_count useful for dedicated image allocations 2944- zink: remove PIPE_MAP_ONCE from subdata 2945- zink: rejigger PIPE_MAP_ONCE for internal qbo reads 2946- zink: flake out some tests for now 2947- zink: collapse 'dedicated' allocation into zink_bo 2948- zink: remove duplicated zink_resource_object::mem member 2949- zink: split out zink_transfer allocation 2950- zink: split buffer and image map functions 2951- zink: remove unused variable from image map 2952- zink: break out transfer map destroy 2953- zink: handle map failures more effectively 2954- zink: enable compat contexts 2955- zink: ci updates 2956- nir/lower_vectorize_tess_levels: set num_components for vectorized loads 2957- softpipe: fix ci rule ordering to avoid unnecessarily running jobs 2958- zink: simplify get_descriptor_set_lazy params 2959- zink: remove redundant asserts from lazy descriptor set populate 2960- zink: remove repeated lazy batch dd casts 2961- zink: flag the gfx pipeline dirty and unset pipeline shader module on shader change 2962- zink: do compute shader change on bind 2963- zink: clear current gfx/compute program upon unbinding its shaders 2964- zink: clear out all ubo rebinds first if they exist 2965- zink: make descriptor update functions return the updated resource 2966- zink: split out buffer rebinds to helper functions 2967- zink: add bind counts for so bindings 2968- zink: count streamout rebinds when doing buffer rebinds 2969- zink: rebind all buffers on replacement 2970- zink: only force all buffer rebinds if rebinds exist on other contexts 2971- zink: defer deletion of no-attachment framebuffers 2972- zink: stop referencing framebuffers 2973- nine: replace unnecessary dynamic-sized array with bitfield 2974- zink: move void format detection function to zink_format 2975- zink: make component mapping function a static inline 2976- zink: make void swizzle clamping util public 2977- zink: add better TODO note for surface swizzles 2978- zink: fix program init flag 2979- zink: fix pipeline caching 2980- zink: verify program key sizes before checking for default variant 2981- zink: return early when getting resource modifer if no modifier is used 2982- zink: inline program cache structs 2983- zink: track mask of bound gfx shader stages 2984- zink: split gfx shader cache based on stages present 2985- zink: avoid hashing shader stages multiple times for new gfx programs 2986- zink: create compute programs on bind 2987- zink: simplify a bitmask init 2988- zink: stop using dirty_shader_stages for shader binds 2989- zink: add some null checks for shader variant key generation 2990- zink: set inlinable_uniforms_mask first when binding a shader 2991- zink: only remove programs from hash tables on shader deletion if needed 2992- zink: implement PIPE_QUERY_GPU_FINISHED 2993- zink: always init bordercolor value for sampler 2994- zink: require occlusionQueryPrecise for occlusion queries 2995- zink: assert precise queries are occlusion queries 2996- zink: declare ctx var during blend state bind 2997- zink: remove attachment count from pipeline hash 2998- zink: pass current program's shader array, not ctx array 2999- zink: remove extra unsetting of ctx->vertex_state_changed 3000- zink: reorder gfx program/pipeline/descriptor binds if dynamic state is present 3001- zink: init ctx->gfx_prim_mode to nonzero value to trigger pipeline changes 3002- zink: use ctx gfx prim mode for draw comparisons 3003- zink: remove query flush from memory barrier hook 3004- zink: slim down streamout component of mem barrier hook 3005- zink: batch mem barrier hooks 3006- zink: use dynamic prim type 3007- zink: consolidate pipeline hash tables 3008- zink: no-op prim changes for pipeline recalc 3009- zink: hook up VK_EXT_extended_dynamic_state2 3010- zink: template for VK_EXT_extended_dynamic_state2 3011- zink: bump dynamic pipeline state count 3012- zink: set primitive restart with extended dynamic state2 3013- zink: move dynamic state1 pipeline members into substruct 3014- zink: move viewport count into dynamic state1 part of pipeline hash 3015- zink: zero viewport and scissor count in pipeline with dynamic state1 3016- zink: repack zink_rasterizer_hw_state 3017- zink: add clip_halfz to rasterizer hw state 3018- zink: steal a bit from rast_samples in pipeline state 3019- zink: convert rasterizer pipeline components to bitfield 3020- zink: repack zink_gfx_pipeline_state 3021- zink: make zink_gfx_pipeline_state::vertices_per_patch a bitfield 3022- zink: improve threadsafe qbo access 3023- zink: move time query ending out to zink_end_query 3024- zink: don't try to sync previous timestamp query qbo values 3025- zink: more effectively utilize batch_usage for query destruction 3026- zink: avoid pulling in unused push descriptors for cached ubo0 3027- zink: remove extra program ref from cached descriptor updates 3028- freedreno: export supported primtypes 3029- freedreno: remove primconvert 3030- freedreno: ci updates 3031- zink: only update inlinable constants when they change 3032- zink: determine whether the gpu has a resizable BAR at startup 3033- zink: implement PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY when resizable bar not present 3034- radv: use pool stride when copying single query results 3035- radv: ignore dynamic line stipple if line stipple isn't enabled 3036- zink: free local shader nirs on program free 3037- zink: use VK_WHOLE_SIZE for full-sized bufferviews 3038- zink: explicitly end renderpass before running dispatch 3039- zink: move alphaToOne warning to a dynamic warning 3040- zink: add input attachment thingy for spirv builder 3041- zink: emit fbfetch variables as ntv input attachments 3042- zink: add a compiler pass to translate fbfetch -> input attachments 3043- zink: refactor descriptor layout/template creation a little 3044- zink: track fbfetch info on context, update as needed 3045- zink: flag color attachment images as input attachments at creation 3046- zink: add an input attachment to the gfx push set layout to handle fbfetch 3047- zink: fix lazy descriptor deinit 3048- zink: add an input attachment to the gfx push set layout to handle fbfetch 3049- zink: update push descriptor set anytime fbfetch changes 3050- zink: add a renderpass flag for input attachment layout handling 3051- zink: enable fbfetch pipe cap 3052- docs: mark off ES 3.2 for zink 3053- zink: ci updates 3054- zink: destroy shader modules on program free to avoid leaking 3055- aux/cso: always restore states in atom order 3056- gallium/cso: add unbind mask for cso restore 3057- zink: directly pass resource pointer to descriptor state updates 3058- zink: use tc rebind info for buffer replacements 3059- zink: split out stalling from fence-waiting function 3060- zink: remove refcounting from batch states 3061- zink: ensure gfx shader module states are updated when doing a partial recalc 3062- zink: create inner scanout object without scanout binds 3063- zink: dynamic vertex input template 3064- zink: don't use dynamic vertex stride with dynamic vertex input 3065- zink: incrementally hash gfx shader stages 3066- zink: incrementally hash module variants in pipeline 3067- zink: incrementally hash vertex state into pipeline hash 3068- zink: incrementally hash all pipeline component hashes 3069- zink: inline gfx pipeline hash table 3070- zink: track compatible render passes 3071- zink: use compatible renderpass state in pipeline hash 3072- zink: clamp lazy pools to 500 descriptors and allocate more slowly 3073- zink: remove ZINK_HEAP_HOST_VISIBLE_ANY 3074- mesa/st: create new surfaces before destroying old ones when updating attachments 3075- radv: just use UINT64_MAX when getting absolute timeout for that value 3076- radv: add some asserts for descriptor updating 3077- lavapipe: support EXT_primitive_topology_list_restart 3078- docs: update features for lavapipe 3079- lavapipe: unbreak imageless framebuffer 3080- zink: move get_framebuffer() to zink_framebuffer.c 3081- zink: store some image creation metadata to object struct 3082- zink: store some surface metadata to struct during creation 3083- zink: use imageless framebuffers 3084- lavapipe: unbreak push descriptor templates 3085- zink: add a piglit ci job for lazy descriptors 3086- tgsi_to_nir: force int type for LAYER output 3087- zink: hash blend state pointers on creation 3088- zink: remove tcs shader keys 3089- zink: move sample part of fs key to renderpass 3090- zink: add pipeline state flag for determining if output type is points 3091- zink: move point sprite rasterizer bits to unhashed pipeline state 3092- zink: move drawid_broken to unhashed pipeline state 3093- zink: always emit sample id 0 for non-msaa texel pointers in ntv 3094- zink: fix PIPE_CAP_DRAW_PARAMETERS export 3095- zink: add 8bit alu handling 3096- zink: hook up 8/16bit storage exts 3097- zink: lower 32_2x16_split pack/unpack instructions 3098- zink: implement nir_op_pack_half_2x16_split 3099- zink: handle 8/16bit ssbo storage 3100- zink: handle bo struct types that are just a runtime array 3101- zink: fix PIPE_SHADER_CAP_FP16_DERIVATIVES handling 3102- zink: clamp query results to 500 per qbo on 32bit 3103- util/primconvert: force restart rewrites if original primtype wasn't supported 3104- lavapipe: fix primitive restart with indexed indirect draws 3105- zink: hook up VK_EXT_primitive_topology_list_restart 3106- zink: use EXT_primitive_topology_list_restart where available 3107- zink: use dispatch table for (almost) all vulkan calls 3108- zink: fix some pipe caps for max instructions 3109- mesa/st: use uint for instance_divisor instead of int 3110- aux/trace: dump more pipe_vertex_element members 3111- mesa: skip fallback draw call if no primitives are being drawn 3112- aux/trace: use private refcounts for samplerviews 3113- zink: reorganize cached descriptor updating a bit 3114- zink: split out lazy set updating 3115- zink: fall back to lazy descriptors if too many cache misses in a row 3116- zink: add "nofallback" descriptor mode 3117- zink: document ZINK_DESCRIPTORS env var 3118- zink: ci updates 3119- zink: move resource unrefs to flush thread 3120- zink: remove batch params from renderpass functions 3121- zink: remove batch params from resource copy functions 3122- zink: remove unused barrier function 3123- zink: remove batch params from barrier functions 3124- zink: clamp instance divisors to max value 3125- zink: add 8/16bit ubo handling 3126- zink: export PIPE_SHADER_CAP_FP16_CONST_BUFFERS 3127- zink: initialize zink_descriptor_layout_key::use_count on create 3128- Revert "zink: ci updates" 3129- zink: set vbo resource usage on bind 3130- zink: add inline for checking whether a resource has any binds 3131- zink: replace a couple checks for bind counts with new inline 3132- zink: add some asserts for buffer replacement 3133- zink: add a batch ref when replacing a buffer that has binds and usage 3134- zink: move batch ref when possible during buffer replacement 3135- zink: make a local screen var for buffer replace 3136- zink: use better check for determining bufferview rebinds 3137- zink: remove ZINK_RESOURCE_USAGE_STREAMOUT 3138- zink: use bind_stages for pipeline barrier generation 3139- zink: don't generate more pipeline stages if vertex bit is already set 3140- zink: use more accurate generation for buffer barrier pipeline stages 3141- zink: remove bind_stages and bind_history from zink_resource 3142- zink: remove zink_get_resource_for_descriptor() 3143- zink: use descriptor info for ubo hashing 3144- zink: fix ZINK_MAX_DESCRIPTORS_PER_TYPE to stop exploding the stack 3145- zink: add function for decomposing vertex format to single component 3146- zink: decompose vertex attribs into single components when not supported 3147- zink: use smallest int type possible for decompose shader key 3148- zink: hook up dmabuf ext 3149- zink: add dmabuf modifier query hooks for screen 3150- zink: hook up VK_EXT_queue_family_foreign 3151- zink: split import and export fd handle types 3152- zink: set a flag for dmabuf init 3153- zink: handle image creation for dmabufs 3154- zink: fix import pNext attachment during image creation 3155- zink: use foreign queue import for dmabufs 3156- zink: add dmabuf fd handling 3157- zink: fix dmabuf cap export 3158- zink: unconditionally support conditional rendering 3159- zink: fix some return values 3160- zink: add return values for resource usage unsetting 3161- zink: move barrier info to resource object struct 3162- zink: unset barrier info if resource object no longer has usage after reset 3163- zink: unset src access in barriers if there's no src pipeline stages 3164- zink: assert surface geometry 3165- zink: add a resource reference for bufferviews 3166- zink: move surface and bufferview caches onto resources 3167- zink: wrap framebuffer surfaces to preserve gallium expectations 3168- zink: be smarter about fb surface rebinds 3169- zink: force imageless fb rebind if rebinding an attachment 3170- zink: update surface info when rebinding to storage 3171- zink: add some debug asserts to validate imageless framebuffer correctness 3172- compiler/spirv: add a fail if tex instr coord components aren't dimensional enough 3173- zink: don't copy inner surface refcount 3174- zink: stop setting nr_samples for null surfaces 3175- zink: fix enabled vertex buffer mask calculation 3176- zink: move pending prim type to gfx pipeline struct 3177- zink: make tcs shader generation take screen param 3178- zink: remove ctx references from shader compile path 3179- zink: remove some ctx references from shader/pipeline compile 3180- zink: only update gfx pipeline cache after creating a real pipeline 3181- zink: simplify flagging last vertex stage for updating 3182- zink: move xfb updates to just before draw 3183- zink: move shader keys to be persistent on pipeline state 3184- zink: move uniform size calc for shader keys into keybox 3185- zink: store shader key to shader module 3186- zink: stop using hash table for compute programs 3187- zink: move shader cache to gfx program struct 3188- zink: replace shader module hash table with a list 3189- zink: remove default_variants storage in program struct 3190- zink: split out inlined uniform shader variants into separate cache 3191- zink: simplify shader variant update loop 3192- zink: cap max shader variants with inlined uniforms 3193- zink: store drm fd to screen 3194- zink: unbreak dmabuf handling 3195- zink: pre-filter multi-plane modifiers 3196- zink: pass all modifiers through to image creation 3197- zink: zero VkImageCreateInfo::queueFamilyIndexCount on creation 3198- features: fix listing for GL_ARB_parallel_shader_compile 3199- util/tc: rename tc_replace_buffer_storage_func::num_rebinds and document 3200- zink: don't leak drm fd on drmPrimeFDToHandle failure 3201- zink: disable miplevel tests in ci completely for now 3202- zink: fix regex syntax from previous ci commit 3203- build: fix nine compilation with only zink enabled as a gallium driver 3204- zink: always use type size for query result copy stride 3205- zink: fix ci skips 3206- zink: don't use legacy scanout with modifiers 3207- zink: clean up texture_barrier hook a little 3208- zink: check for pending memory barrier before trying to flush it 3209- zink: enable timeline ext features 3210- zink: split vk debug logging into separate functions 3211- zink: repack zink_render_pass_state 3212- zink: add ZINK_HEAP_DEVICE_LOCAL_LAZY 3213- zink: add ZINK_BIND_TRANSIENT 3214- zink: improve handling of buffer rebinds using tc info 3215- zink: reorder draw state updates 3216- zink: remove fbfetch layout thingy from zs renderpass init 3217- zink: move fb attachment init to new function 3218- zink: stop setting nr_samples for shader image surface creation 3219- zink: implement GL_EXT_multisampled_render_to_texture 3220- docs: mark off GL_EXT_multisampled_render_to_texture for zink 3221- zink: remove duplicated struct member set 3222- zink: force lazy descriptor set rebinds if pipeline compatibility changes 3223- zink: split out bvci creation from object creation 3224- zink: don't add resource to pending barrier set if no barrier will be generated 3225- zink: refactor some shader image code to make it reusable 3226- zink: handle bindless images and samplers in ntv 3227- zink: hook up VK_EXT_descriptor_indexing 3228- zink: implement bindless textures 3229- zink: export PIPE_CAP_BINDLESS_TEXTURE 3230- features: mark off bindless texture for zink 3231- lavapipe: add support for KHR_shader_float_controls 3232- anv: assert that legacy_scanout isn't used with explicit modifiers 3233- wsi/x11: fix uninit value by using zalloc for swapchain 3234- zink: make a local resource var in fb_clears_apply_internal 3235- zink: break out surface info init to helper function 3236- anv: support EXT_primitive_topology_list_restart 3237- zink: stop using VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT 3238- zink: ensure fences are released before reusing them 3239- zink: support 16bit rgbx formats 3240- ci: updates 3241- lavapipe: inherit from vk_image 3242- lavapipe: EXT_4444_formats support 3243- lavapipe: remove display extension support 3244- build: unify vulkan cpp platform args 3245- build: also remove wayland wsi flags from c++ build 3246- features: be explicit about EXT_color_buffer_half_float support 3247- zink: wait on thread queue before destroying context 3248- zink: split out fb state updating to helper function 3249- zink: wait in the flush thread when ETOOMANY batches are out 3250- zink: move semaphore reset handling to submit 3251- zink: remove zink_context::curr_batch 3252- zink: stop leaking buffers on replacement 3253- zink: switch remaining direct access of zink_resource_object::(reads|writes) to util 3254- zink: remove reads/writes members from zink_resource_object 3255- zink: stop leaking resource surface cache hash tables 3256- zink: rework in-use batch states hash table to be a singly-linked list 3257- zink: ci updates 3258- zink: move glx@glx-multi-window-single-context to flakes 3259- radv: don't use invalid stride for triggering vertex state change 3260- radv: dynamically calculate misaligned_mask for dynamic vertex input 3261- radv: pre-calc "simple" dynamic vertex input values 3262- radv: add a mask of bound descriptor buffers for dynamic vertex input 3263- radv: move alpha_adjust into conditional during vertex input updating 3264- aux/pb: add a tolerance for reclaim failure 3265- aux/pb: more correctly check number of reclaims 3266- zink: use static array for detecting VK_TIME_DOMAIN_DEVICE_EXT 3267- zink: add a read barrier for indirect dispatch 3268- zink: fully zero surface creation struct 3269- zink: rescue surfaces/bufferviews for cache hits during deletion 3270- zink: clear descriptor refs on buffer replacement 3271- zink: assert compute descriptor key is valid before hashing it 3272- zink: don't update lazy descriptor states in hybrid mode 3273- zink: move push descriptor updating into lazy-only codepath 3274- zink: add an early return for zink_descriptors_update_lazy_masked() 3275- zink: move last of lazy descriptor state updating back to lazy-only code 3276- zink: detect prim type more accurately for tess/gs lines 3277- zink: don't break early when applying fb clears 3278- zink: only reset zink_resource::so_valid on buffer rebind 3279- zink: don't check rebind count outside of buffer/image rebind function 3280- zink: stop exporting PIPE_SHADER_CAP_FP16_DERIVATIVES 3281- zink: don't add dynamic vertex pipeline states if no attribs are used 3282- zink: fix gl_SampleMaskIn spirv generation 3283- zink: more accurately update samplemask for fs shader keys 3284- nir/lower_samplers_as_deref: rewrite more image intrinsics 3285- zink: add better handling for CUBE_COMPATIBLE bit 3286- zink: use align64 for allocation sizes 3287- zink: set aspectMask for renderpass2 VkAttachmentReference2 structs 3288- zink: always use explicit lod for texture() when legal in non-fragment stages 3289- zink: be more permissive for injecting LOD into texture() instructions 3290- zink: inject LOD for sampler version of OpImageQuerySize 3291- zink: flag renderpass change when toggling fbfetch 3292- zink: don't clamp cube array surfacess to cubes 3293- zink: don't clamp 2D_ARRAY surfaces to 2D 3294- zink: error when trying to allocate a bo larger than heap size 3295- zink: clamp max buffer sizes to smallest buffer heap size 3296- zink: explicitly enable VK_EXT_shader_subgroup_ballot 3297- zink: add more int/float types to cast switching in ntv 3298- zink: force float dest types on some alu results 3299- zink: stop double printing validation messages 3300- zink: add SpvCapabilityStorageImageMultisample for multisampled storage images 3301- zink: reject all storage multisampling if the feature is unsupported 3302- zink: add queue locking 3303- build: add sha1_h to llvmpipe build 3304- zink: set fbfetch state on lazy batch data when enabling it 3305- zink: always use lazy (non-push) updating for fbfetch descriptors 3306- zink: clamp PIPE_SHADER_CAP_MAX_INPUTS for xfb 3307- aux/primconvert: handle singular incomplete restarts 3308- zink: rework cached fbfetch descriptor fallback 3309- aux/trace: fix vertex state tracing 3310- zink: be more consistent about applying module hash for gfx pipeline 3311- zink: update gfx pipeline shader module pointer even if the program is unchanged 3312- zink: always add VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for 3D images 3313 3314Mykhailo Skorokhodov (3): 3315 3316- iris: Fix compute shader leak 3317- iris: Add missed tile flush flag 3318- Revert "iris: add tile cache flush to iris_copy_region" 3319 3320Nanley Chery (41): 3321 3322- anv: Add genX(cmd_buffer_emit_gfx12_depth_wa) 3323- iris: Add genX(emit_depth_state_workarounds) 3324- iris: Update the clear value in cso_z->packets 3325- iris: Emit clear_params as part of cso_z->packets 3326- iris: Update clear_params only when HiZ is enabled 3327- intel: Move the D16 workarounds out of ISL 3328- iris: Use constants for emitting cso_z->packets 3329- iris: Optimize genX(emit_depth_state_workarounds) 3330- anv: Optimize genX(cmd_buffer_emit_gfx12_depth_wa) 3331- intel: Use env_var_as_boolean for INTEL_NO_HW 3332- intel: Parse INTEL_NO_HW for devinfo construction 3333- intel/isl: Add msaa_layout param to isl_tiling_get_info 3334- intel/isl: Define ISL_TILING_4/64 for XeHP 3335- intel/isl: Update image alignments on XeHP 3336- intel/isl: Size Tile64 surfaces with 4 dimensions 3337- intel/isl: Drop extra assert on array_pitch_el_rows 3338- intel/isl: Drop ISL_SURF_USAGE_DISPLAY_*_BIT 3339- intel/isl: Use an allow-list in gfx6_filter_tiling 3340- intel/isl: Update tiling filter functions for XeHP 3341- intel: Support Tile4/64 in depth/stencil state 3342- intel: Support Tile4/64 in surface states 3343- intel/blorp: Fix faked RGB image alignment on XeHP 3344- intel/blorp: Fix Gfx7 stencil surface state valign 3345- intel/isl: Fix halign/valign of uncompressed views 3346- intel/isl: Use a switch for HALIGN/VALIGN encoding 3347- intel: Update surface states for XeHP alignments 3348- intel: Add underscores to HALIGN and VALIGN enums 3349- intel/isl: Disable I915_FORMAT_MOD_Y_TILED on XeHP+ 3350- iris: Disable tiled memcpy for Tile4 3351- anv/image: Don't assert that HiZ can be added 3352- iris: Delete iris_resource_get_clear_color 3353- iris: Support NULL aux BOs in fill_surface_state 3354- iris: Split clear color and aux BO checks 3355- iris: Simplify an iris_use_pinned_bo call 3356- iris: Allow NULL aux BOs in aux-state functions 3357- iris: Don't add a clear color BO for MC_CCS 3358- iris: Add and use get_num_planes 3359- iris: Finish aux import in iris_resource_from_handle 3360- anv: Allow HIZ_CCS_WT with subpass self-dependencies 3361- anv: Tile cache flush for depth before fast clear 3362- iris: Tile cache flush for depth before fast clear 3363 3364Neha Bhende (4): 3365 3366- aux/draw: use nir_to_tgsi for draw shader in llvm path 3367- svga/drm: use pb_usage_flags instead of pipe_map_flags in vmw_svga_winsys_buffer_map 3368- auxiliary/indices: convert primitive type PIPE_PRIM_PATCHES 3369- st: Fix 64-bit vertex attrib index for TGSI path 3370 3371Neil Roberts (1): 3372 3373- v3d: Update prim_counts when prims generated query in flight without TF 3374 3375Olivier Fourdan (1): 3376 3377- radeonsi: Check aux_context on si_destroy_screen() 3378 3379Paulo Zanoni (10): 3380 3381- iris: mark the workaround_bo as asynchronous 3382- iris: don't bump the seqno for the workaround_bo 3383- iris: assign bo->index to the aux map BOs too 3384- iris: extract the code that adds BOs to the batch lists 3385- iris: add the workaround_bo directly to the batch 3386- iris: use add_bo_to_batch() when adding batch->bo 3387- iris: syncobjs are now owned by bufmgr instead of screen 3388- iris: give each screen of a bufmgr a unique ID 3389- iris: switch to explicit busy tracking 3390- iris: signal the syncobj after a failed batch 3391 3392Pavel Asyutchenko (3): 3393 3394- vulkan/overlay: Fix violation of VUID-VkMappedMemoryRange-size-01389 3395- llvmpipe: fix crash when doing FB fetch + gl_FragDepth write in one shader 3396- lavapipe: Fix vkWaitForFences for initially-signalled fences 3397 3398Philipp Zabel (3): 3399 3400- etnaviv: fix gbm_bo_get_handle_for_plane for multiplanar images 3401- etnaviv: fix dirty bit check for baselod emission 3402- etnaviv: add mov for direct depth store output from load input 3403 3404Pierre Moreau (5): 3405 3406- clover: Do not advertise OpenCL x.y when unsupported 3407- clover/spirv: Increase max amount of function args 3408- clover/spirv: Properly size 3-component vector args 3409- clover/api: Interleave details in dispatch table 3410- clover/nir: Set constant buffer pointer size to host 3411 3412Pierre-Eric Pelloux-Prayer (78): 3413 3414- mesa: fix bindless uniform samplers update 3415- dlist: don't handle unmerged draws as merged 3416- mesa: move gl_program::is_arb_asm to shader_info 3417- radeonsi: preserve derivatives after discards for ARB shaders 3418- gallium/va: don't use key=NULL in hash tables 3419- amd/registers: fix fields conflict detection 3420- dlist: upload vertices in compile_vertex_list 3421- dlist: implement vertices deduplication 3422- radeonsi: add a script to run piglit/glcts/deqp tests 3423- radeonsi: add expected tests results for Navi10 GPU 3424- st/pbo: only use x coord when reading a PIPE_TEXTURE_1D 3425- st/pbo: set nir_tex_instr::is_array field 3426- st/pbo: add a fast pbo download code-path 3427- radeonsi: fix test script's output 3428- radeonsi: add -t option to the test script 3429- radeonsi: don't create an infinite number of variants 3430- nir: add a pass to optimize "gl_FragDepth = gl_FragCoord.z" away 3431- radeonsi/test: fix test script args handling 3432- radeonsi/test: format radeonsi-run-test.py with black 3433- radeonsi/test: allow to pass a filename as a test filter value 3434- radeonsi/test: prettier output 3435- radeonsi/test: add Sienna Cichlid expected results 3436- vbo/dlist: simplify add_vertex function 3437- vbo/dlist: apply start_offset after indices construction 3438- vbo/dlist: move VAO update at the end 3439- vbo/dlist: use buffer_in_ram_size 3440- vbo/dlist: use a single buffer object 3441- vbo/dlist: remove vbo_save_vertex_store::bufferobj 3442- vbo/dlist: don't store prim_store 3443- vbo/dlist: use prim_store directly 3444- vbo/dlist: realloc prims array instead of free/malloc 3445- vbo/dlist: don't force list compilation if out of prim space 3446- vbo/dlist: remove vbo_save_context::buffer_ptr 3447- vbo/dlist: reset vertex_store::used in reset_counters 3448- vbo/dlist: remove vbo_save_context::buffer_map 3449- vbo/dlist: realloc vertex stores 3450- vbo/dlist: remove vbo_save_context::max_vert 3451- vbo/dlist: limit allocation sizes 3452- vbo/dlist: don't force list compilation if out of vertex space 3453- vbo/dlist: rework out of memory 3454- vbo/dlist: fix max_index_count value 3455- vbo/dlist: remove vbo_save_copied_vtx 3456- vbo/dlist: remove vbo_save_context::vert_count 3457- vbo/dlist: add documentation 3458- vbo/dlist: remove unused functions 3459- vbo/dlist: rework buffer sizes 3460- vbo/dlist: rework primitive store handling 3461- vbo/dlist: rework vertex_store management 3462- vbo/dlist: fix indentation in vbo_save_api.c 3463- vbo/dlist: reallocate the vertex buffer on vertex upgrade 3464- Revert "ci/v3d: add piglit flake" 3465- radeonsi/test: fix typo in the test script 3466- radeonsi/test: update expected results 3467- radeonsi/sqtt: export wave size and scratch size 3468- radeonsi/sqtt: add si_se_is_disabled 3469- radeonsi/test: don't require a folder name 3470- radeonsi/test: use -t for deqp tests 3471- radeonsi/test: print default values in help 3472- radeonsi/test: allow to specify a baseline folder 3473- radeonsi/test: sanitize output_folder 3474- radeonsi/test: add --gpu to select the GPU to test 3475- radeonsi/test: add Raven expected results 3476- radeonsi/test: add sanity checks 3477- gallium: add PIPE_CAP_PREFER_BACK_BUFFER_REUSE 3478- loader/dri3: avoid reusing the same back buffer with DRI_PRIME 3479- radeonsi: disable PIPE_CAP_PREFER_BACK_BUFFER_REUSE 3480- radeonsi: don't clear G_028644_OFFSET 3481- radeonsi: implement si_sdma_copy_image for gfx7+ 3482- radeonsi: add an async compute context 3483- gallium: add a is_dri_blit_image bool to pipe_blit_info 3484- radeonsi: make the DRI_PRIME dGPU -> iGPU copy async 3485- radeonsi: use viewport offset in quant_mode determination 3486- radeonsi: treat nir_intrinsic_load_constant as a VMEM operation 3487- radeonsi/sdma: fix bogus assert 3488- ac/surface: don't validate DCC settings if DCC isn't possible 3489- vbo/dlist: free copied.buffer if no vertices were copied 3490- mesa: always call _mesa_update_pixel 3491- radeonsi/sqtt: fix shader stage values 3492 3493Qiang Yu (20): 3494 3495- nir/inline_uniforms: add uniforms in condition atomically 3496- nir/inline_uniforms: support vector uniform 3497- nir/loop_analyze: move nir_is_supported_terminator_condition() to header 3498- nir/loop_analyze: record induction variables for each loop 3499- nir/loop_analyze: skip unsupported induction variable early 3500- nir/inline_uniforms: support loop 3501- egl/dri2: seperate EGLImage validate and lookup 3502- gbm/dri: implement image lookup extension version 2 3503- gallium/dri: add dri_screen egl image validate hooks 3504- gallium/api: add validate_egl_image interface 3505- mesa: add ValidateEGLImage driver callback 3506- mesa: fix glthread deadlock when EGL multi thread shared context 3507- nir/lower_io_to_vector: check centroid & sample when merge variable 3508- nir/linker: pack varyings with different interpolation qualifier 3509- radeonsi: enable nir option pack_varying_options 3510- radeonsi: fix ps SI_PARAM_LINE_STIPPLE_TEX arg 3511- loader/dri3: fix swap out of order when changing swap interval 3512- mesa/st: delay nir spirv link 3513- nir/linker: support uniform when optimizing varying 3514- nir/linker: rename replace_constant_input to replace_varying_input_by_constant_load 3515 3516Quantum (1): 3517 3518- main: allow all external textures for BindImageTexture 3519 3520Rhys Perry (108): 3521 3522- aco: don't create v_madmk_f32/v_madak_f32 from v_fma_legacy_f16 3523- ac/llvm: implement v2f16 fsat 3524- radv: set image_dim and image_array intrinsic indices 3525- aco: use image_dim and image_array intrinsic indices 3526- aco: calculate correct register demand for branch instructions 3527- nir/algebraic: fix imod by negative power-of-two 3528- nir/algebraic: don't optimize umod/imod/irem if lower_bitops=true 3529- nir/algebraic: add optimizations for imul(a, INT_MIN) 3530- nir/search: don't consider INT_MIN a negative power-of-two 3531- nir/algebraic: improve irem by power-of-two optimization 3532- nir/idiv_const: improve idiv(n, INT_MIN) 3533- nir/idiv_const: optimize imod/irem 3534- nir: fix signed overflow for iadd constant folding 3535- nir/tests: add tests for umod/imod/irem optimizations 3536- radv: enable DCC with signedness reinterpretation 3537- nir: remove src/compiler/nir/nir_control_flow 3538- nir: swap fadd operands in nir_atan() 3539- spirv: swap fadd operands in build_asin() and matrix_multiply() 3540- nir/algebraic: add various ffma optimizations 3541- nir/algebraic: reassociate add chains for more MAD/FMA-friendly code 3542- nir/algebraic: add is_used_once to dot product reassociation optimization 3543- nir: add ffma creation helpers 3544- nir: create ffma from builders more often 3545- nir: lower fdot to ffma if lower_ffma=false 3546- spirv: create ffma more often 3547- nir,glsl_to_nir: use nir_fdot() 3548- ci: update trace hashes 3549- aco: fix validation of DPP v_cndmask_b32/v_addc_co_u32 3550- aco: add can_use_DPP() and convert_to_DPP() 3551- aco: move a bunch of helpers into aco_ir.h/aco_ir.cpp 3552- aco: make optimize_postRA() work across blocks 3553- aco: handle DPP in the optimizer 3554- aco: combine DPP into VALU before RA 3555- aco: combine DPP into VALU after RA 3556- aco/tests: add tests for pre-RA DPP combining 3557- aco/tests: add tests for post-RA DPP combining 3558- aco: fix vectorized 16-bit load_input/load_interpolated_input 3559- aco: remove label_extract if the extract is used by a non-VALU 3560- aco/scheduler: allow moving down VMEM stores to below VMEM loads 3561- nir/lower_io: use nir_vector_insert_imm() 3562- radv: use nir_vector_insert_imm in lower_intrinsics 3563- nir: consider push constant loads as always dynamically uniform 3564- nir/gcm: pin some instructions which require uniform sources 3565- aco: include utility in isel 3566- aco: don't constant propagate to DPP instructions 3567- aco/tests: test copy propagation with DPP instructions 3568- aco: remove DPP when applying constants/literals/sgprs 3569- aco: don't coalesce constant copies into non-power-of-two sizes 3570- aco/spill: add temporary operands of exec phis to next_use_distances_end 3571- nir: separate lower_add_sat 3572- nir: add sdot_2x16 and udot_2x16 opcodes 3573- spirv: use sdot_2x16 and udot_2x16 opcodes 3574- ac/gpu_info: add has_accelerated_dot_product 3575- ac/llvm: implement nir_op_pack_32_4x8 3576- ac/llvm,radv: implement uadd_sat/iadd_sat 3577- ac/llvm: implement udot_4x8/sdot_4x8/udot_2x16/sdot_2x16 opcodes 3578- radv: refactor handling of nir_options 3579- radv,aco: implement iadd_sat 3580- aco: implement nir_op_pack_32_4x8 3581- aco: implement udot_4x8/sdot_4x8/udot_2x16/sdot_2x16 opcodes 3582- aco/ra: allow v1b operands with 16-bit instructions 3583- radv: expose VK_KHR_shader_integer_dot_product 3584- aco/ra: don't use ds_write_b8_d16_hi/ds_write_b16_d16_hi on GFX8 3585- nir: fix serialization of loop/if control 3586- radv: fix pipeline caching with robust buffer access 3587- aco: add RegClass::is_linear_vgpr helper 3588- aco: add and use RegClass::resize helper 3589- aco: rewrite print_reg_class() 3590- aco: find a scratch register for sub-dword copies on GFX7 if scc is empty 3591- aco: find scratch reg for sub-dword psuedo instructions which read sgprs 3592- aco/tests: fix finish_ra_test() 3593- aco/tests: add regalloc.scratch_sgpr.create_vector 3594- aco: implement linear vgpr copies 3595- aco: allow live-range splits of linear vgprs in top-level blocks 3596- aco/nops: use up-to-date mask_size 3597- aco/nops: create handle_raw_hazard_instr helper 3598- aco/nops: add State 3599- aco/nops: fix handle_raw_hazard_internal when visiting the current block 3600- nir/algebraic: distribute fmul(fadd(a, b), c) when b and c are constants 3601- aco/tests: add idep_amdgfxregs_h 3602- nir: add nir_src_components_read() 3603- nir/opt_if: add opt_if_rewrite_uniform_uses 3604- radv: don't require a GS copy shader to use the cache with NGG VS+GS 3605- radv: workaround incorrect image format with World War Z 3606- radv: move ngg culling determination earlier 3607- nir: add _amd suffix to fragment_mask_fetch and fragment_fetch texops 3608- nir/lower_tex: add lower_to_fragment_fetch_amd 3609- radv: don't create blit pipelines for multisampled 3D images 3610- aco: return 0x76543210 for NULL FMASK fetch 3611- ac/nir: return 0x76543210 for NULL FMASK fetch 3612- aco: use correct dim for FMASK fetches 3613- radv,aco: use lower_to_fragment_fetch 3614- radv,aco: don't include FMASK in the storage descriptor 3615- ac/llvm: fix image_samples with null descriptors 3616- radv/llvm: fix parameter index for layer exports 3617- aco: fix vadd32() when b is neither a constant nor temporary 3618- radv: add and use radv_vs_input_alpha_adjust 3619- radv: add radv_translate_vertex_format() 3620- radv: add radv_shader_variant_get_va and radv_find_shader_variant helpers 3621- radv: add segregated fit shader memory allocator 3622- radv: move VS specific input SGPRs first 3623- radv: implement dynamic vertex input state using vertex shader prologs 3624- radv: add pre-compiled vertex shader prologs for common states 3625- aco: implement aco_compile_vs_prolog 3626- aco: implement VS input loads with prologs 3627- radv: implement VK_EXT_vertex_input_dynamic_state 3628- radv: enable VK_EXT_vertex_input_dynamic_state 3629- aco: consider pseudo-instructions reading exec in needs_exec_mask() 3630 3631Rob Clark (81): 3632 3633- freedreno/registers: update dsi registers to support tpg 3634- freedreno/a6xx: Add missing PC_CCU_INVALIDATE_x 3635- driconfig: Add support for device specific config 3636- driconf: Add force_gl_renderer override 3637- freedreno: Support per-device driconf overrides 3638- freedreno: Unleash the dragon! 3639- freedreno: Move generated device table to .h 3640- freedreno: Drop device_id 3641- freedreno: Reduce use of screen->gpu_id 3642- freedreno/ir3: Reduce use of compiler->gpu_id 3643- freedreno/ir3/lower_io_offsets: Drop gpu_id param 3644- freedreno/all: Introduce fd_dev_id 3645- freedreno: Make chip_id 64b 3646- freedreno: Device matching based on chip_id 3647- freedreno: Use correct key for binning pass shader 3648- freedreno: Add a680 support 3649- freedreno/cffdec: Fix indentation 3650- freedreno/cffdec: Fix gpuaddr comparision 3651- freedreno/crashdec: Decode full RB in verbose mode 3652- freedreno/crashdec: Quiet spammy print in query mode 3653- freedreno/common: Fix comment typo 3654- freedreno/a6xx: Set type for PC_HS_INPUT_SIZE 3655- freedreno/a6xx: Register updates for a6xx gen3 3656- freedreno/a6xx: Rast updates for a6xx gen3 3657- freedreno/a6xx: Fix streamout with tess_use_shared 3658- freedreno/a6xx: Updates for tess_use_shared 3659- freedreno/a6xx: Register updates for a6xx gen4 3660- freedreno/a6xx: Fix a6xx gen4 compute shaders 3661- freedreno/ci: Add a status variable for CI farm 3662- freedreno/ci: Take fd farm offline for moving day 3663- freedreno/ci: Bring fd farm back online after move 3664- clover: Don't remove sampler/image uniforms 3665- nir/lower_amul: Handle load/store_global 3666- nir/lower_amul: Fix usage of nir_foreach_src() 3667- freedreno/ir3: Update physical_successors after retargetting jumps 3668- freedreno/ir3: Fix physical successors for break out of loop 3669- freedreno/ir3: Fix double printing of branch suffix 3670- freedreno/ir3: Validate physical successors 3671- freedreno/ir3: Improve error msg for block level validation 3672- freedreno/ir3: Update physical_predecessors for streamout block 3673- freedreno: Remove unused function 3674- freedreno: Cleanup primtypes/primtypes_mask 3675- freedreno: Move a6xx specific screen init 3676- freedreno/drm: Garbage collect unused bo_cache 3677- freedreno/drm: Rename bo->flags to bo->reloc_flags 3678- freedreno/drm: Consider allocation flags in bo-cache 3679- freedreno/drm: Don't return shared/control bo's to cache 3680- freedreno/drm: Add cached-coherent bo support 3681- freedreno/drm: Use cached-coherent cmdstream buffers 3682- freedreno/drm: Use cached-coherent for control bo 3683- freedreno: Used cached coherent for staging resources 3684- freedreno: Add perf warning for WC readback 3685- freedreno/a6xx: Pre-bake SO-disable stateobj 3686- freedreno/ir3: Fix sched debug msgs 3687- freedreno/ir3: Cleanup liveness lifetime 3688- freedreno/ir3: Fix generation check 3689- freedreno/computerator/a4xx: Fix enum mismatch warning 3690- freedreno: Add info->a6xx.has_shading_rate 3691- turnip: Fix unitialized cs->device 3692- turnip: Rast updates for a6xx gen4 3693- turnip: Fix a6xx gen4 compute shaders 3694- isaspec: Remove unused leftovers 3695- isaspec: Fix comment 3696- isaspec: Split encode_bitset() into it's own template 3697- isaspec: De-duplicate bitset encoding 3698- freedreno: Get shader variant msgs in perf debug output 3699- freedreno: Optimize no-op submits 3700- freedreno: Fix some indentation 3701- freedreno/ir3: Remove used unused 3702- freedreno: Handle cso==NULL in bind_sampler_states 3703- freedreno: Handle PIPE_FORMAT_NONE buffers 3704- gallium/u_threaded: Get reset status without sync 3705- freedreno: Disable TC syncs for get_device_reset_status() 3706- zink: Disable TC syncs for get_device_reset_status() 3707- Revert "freedreno: Fix autotune regression since batch-cache rework." 3708- Revert "freedreno: Remove dead fd_batch_reset()." 3709- Revert "freedreno: Use a BO bitset for faster checks for resource referenced." 3710- Revert "freedreno: Remove the submit lock locking." 3711- Revert "freedreno: Move the batch cache to the context." 3712- gallium/u_threaded: Split out options struct 3713- freedreno/drm: Move pipe unref after fence removal 3714 3715Rohan Garg (7): 3716 3717- virgl: Add more meta data to cached resources 3718- Revert "Revert "virgl: Cache depth and stencil buffers"" 3719- virgl: Enable caching for sampler views and render targets 3720- i965: Take into account the offset when marking a valid data region 3721- i965: Write a custom allocator for the intel memobj struct 3722- ci: Fix a minor issue in prepare-artifacts.sh script 3723- ci: Use FDO_DISTRIBUTION_TAG where possible 3724 3725Roland Scheidegger (7): 3726 3727- llvmpipe/linear: don't try to use tgsi analysis for nir shaders 3728- llvmpipe: always use draw_regions intersection 3729- llvmpipe: fix nir dot products (fsum op) 3730- aux/cso: try harder to keep cso state in sync on cso context unbind 3731- gallium: add rasterizer depth_clamp enable bit 3732- lavapipe: implement VK_EXT_depth_clip_enable 3733- lavapipe: Fix crashes with transform feedback when using VK_WHOLE_SIZE 3734 3735Roman Stratiienko (7): 3736 3737- kmsro: Add 'kirin' driver support 3738- AOSP: Extract version from libdrm instead of hardcoding it. 3739- AOSP: Upgrade libLLVM dependency to v12 3740- AOSP: Update timestamps of target binaries 3741- AOSP: Add panfrost vulkan library suffix 3742- lima: Implement lima_resource_get_param() callback 3743- meson_options: Bump max value of platform-sdk-version to 31 3744 3745Ryan Neph (1): 3746 3747- virgl: disallow null-terminated debug messages 3748 3749Sagar Ghuge (19): 3750 3751- nir: Add new opcode for ternary addition 3752- intel/compiler: Add support for ternary add instruction on XeHP 3753- intel/compiler: Make decision based on source type instead of opcode 3754- intel/compiler: Allow ternary add to promote source to immediate 3755- nir: Add optimizations for iadd3 3756- intel/compiler: Enable has_iadd3 option on XeHP 3757- intel/compiler: Fix missing break in switch 3758- intel/compiler: Handle ternary add in lower_simd_width 3759- genxml/gen12: Update debug register fields according to HW 3760- genxml/gen125: Update debug register fields according to HW 3761- anv: Fix VK_EXT_memory_budget to consider VRAM if available 3762- intel/compiler: Add 64-bit A64 float logical opcode support 3763- anv: Advertise support for shaderBufferFloat64AtomicMinMax 3764- intel/compiler: Add support to handle 64-bit atomics with A32 messages 3765- anv: No need to lower to A64 messages for 64-bit atomics 3766- iris: Enable atomic operations on compressed surfaces 3767- intel/genxml: Add new bit fields Render Compression Format 3768- isl: Add helper to return render compression format encoding 3769- isl: Use software programmable render compression format encoding 3770 3771Samuel Pitoiset (215): 3772 3773- radv: only init the TC-compat ZRANGE metadata for the depth aspect 3774- radv: fix bounds checking for zero vertex stride on GFX6-7 3775- radv: report APUs as discrete GPUs for Red Dead Redemption 2 3776- radv: fix specifying the stencil layout for separate depth/stencil layouts 3777- radv: allow unused VkSpecializationMapEntries 3778- aco: implement VK_EXT_shader_atomic_float2 3779- radv: implement VK_EXT_shader_atomic_float2 3780- radv: reduce number of emitted DWORDS for contiguous context registers 3781- radv: do not use radeon_set_context_reg_seq() for only one register 3782- radv: init radv_image::l2_coherent when creating the layout 3783- ac: introduce a structure to store DCC address equations for GFX9 3784- amd/addrlib: expose CMASK address equations to drivers on GFX9 3785- ac/surface: add tests for CmaskAddrFromCoord prototype outside of addrlib 3786- ac/surface: store CMASK pitch and height to radeon_surf 3787- ac/surface: copy the CMASK equation to radeon_surf 3788- ac/surface: implement CmaskAddrFromCoord in NIR 3789- radv: fix selecting the first active CU when profiling with SQTT 3790- radv: fix missing cache flushes when clearing HTILE levels on GFX10+ 3791- amd/addrlib: expose CMASK address equations to drivers on GFX10+ 3792- ac/surface: add tests for CmaskAddrFromCoord on GFX10+ 3793- ac/surface: implement CmaskAddrFromCoord in NIR on GFX10+ 3794- radv: rework DCC, FMASK and FCE decompress path 3795- radv: perform a FCE for MSAA images that might have been fast-cleared 3796- radv: allow DCC MSAA fast clears if a FCE is needed 3797- radv: fix initializing the DS clear metadata value for separate aspects 3798- radv: remove unnecessary FIXME about custom sample locations 3799- radv: flush caches before performing separate depth/stencil aspect init 3800- radv: bump maxFragmentSizeAspectRatio to 2 3801- radv: disable fragmentShadingRateWithCustomSampleLocations 3802- radv: bump maxFragmentShadingRateCoverageSamples to 32 3803- radv: fix reported sample counts for VRS 1x1 3804- radv: use more explicit DCC clear codes 3805- radv: pass an image view to vi_get_fast_clear_parameters() 3806- radv: add RADV_DCC_CLEAR_SINGLE 3807- radv: determine if an image support fast clears using comp-to-single 3808- radv: implement DCC fast clears with comp-to-single 3809- radv: skip FCE for images that are fast-cleared using comp-to-single 3810- radv: enable DCC fast-clears with comp-to-single on GFX10+ 3811- radv: allow fast clears for concurrent images if comp-to-single is supported 3812- radv: fix pre-computing viewport xform when setting new viewports 3813- radv: fix fast clearing depth images with mips on GFX10+ 3814- radv: determine if an image support comp-to-single at creation time 3815- radv: remove useless check about the FCE predicate offset 3816- radv: do not allocate the FCE predicate for images that use comp-to-single 3817- radv: remove unnecessary check in radv_layout_is_htile_compressed() 3818- radv: remove incorrect comment about compressed writes to HTILE on GFX10+ 3819- radv: fix copying depth+stencil images on compute 3820- radv: remove unused fast depth-stencil gfx clear path with expclear 3821- radv: remove useless DISABLE_{ZMASK,SMEM}_EXPCLEAR_OPTIMIZATION state 3822- radv: don't use SQ_NON_EVENT before GE_PC_ALLOC for better perf on Navi1x 3823- radv: allocate shaders to 32-bit address to skip PGM_HI 3824- nir/opt_algebraic: optimize fmax(-fmin(b, a), b) -> fmax(b, -a) 3825- Revert "nir/opt_algebraic: optimize fmax(-fmin(b, a), b) -> fmax(b, -a)" 3826- nir/opt_algebraic: optimize fmax(-fmin(b, a), b) -> fmax(fabs(b), -a) 3827- ci: update the list of expected failures/skips for RADV 3828- radv: allow storage images with VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 on GFX10.3+ 3829- ci: update the list of skipped tests for Fiji/RADV 3830- radv: remove outdated radv_finishme() in the HW resolve path 3831- radv: remove useless check about number of samples in the HW resolve path 3832- radv: remove unecessary radv_finishme() for invalid color formats 3833- radv: disable DCC image stores on Navi12-14 for displayable DCC corruption 3834- radv: do not load/store the clear value for comp-to-single images 3835- radv: do not allocate a clear value for images that support comp-to-single 3836- radv: add support for clearing multi layers with normal gfx clear path 3837- vulkan: Update the XML and headers to 1.2.190 3838- radv: advertise VK_EXT_primitive_topology_list_restart 3839- ac/llvm: adjust assertion for nir_intrinsic_terminate 3840- ac/llvm: fix huge alignment when loading from shared memory 3841- radv/llvm: fix invalid IR when converting triangle strips to indices 3842- radv: use radeon_set_sh_reg_seq() more for initial gfx/compute state 3843- radv: call nir_lower_int64() for LLVM 3844- radv: track if shader image 32-bit float atomics are enabled 3845- radv: do not disable DCC for storage images if atomics aren't enabled 3846- vulkan: add common entrypoints for sparse image requirements/properties 3847- radv: use common entrypoints for sparse image requirements/properties 3848- radv: use common vkGetPhysicalDevice{Image}FormatProperties() 3849- radv: use common vkGetDeviceQueue() 3850- radv: use common vkBind{Buffer,Image}Memory() 3851- radv: use common vkGet{Buffer,Image}MemoryRequirements() 3852- radv: fix determining the maximum number of waves that can use scratch 3853- radv: remove NGG streamout support in LLVM 3854- radv: allow to conditionally read HTILE value when copying VRS rates 3855- radv: optimize copying VRS rates to the global HTILE buffer 3856- radv: pass the HTILE buffer to radv_copy_vrs_htile() 3857- radv: optimize VRS when no depth stencil attachment is bound 3858- radv/llvm: rework VS input loads and implement the callback 3859- ac/llvm: fix build with LLVM 14 3860- radv: add MSAA support to the comp-to-single fast clear path 3861- radv: enable comp-to-single for MSAA images 3862- radv: reduce SQTT traffic when instruction timing is disabled 3863- radv/llvm: fix using Wave32 3864- radv/llvm: fix vertex input fetches with 16-bit floats 3865- ac/llvm: implement nir_intrinsic_image_deref_atomic_{fmin,fmax} 3866- ac/llvm: implement nir_intrinsic_ssbo_atomic_{fmin,fmax} 3867- ac/llvm: implement nir_intrinsic_shared_atomic_{fmin,fmax} 3868- ac/llvm: implement nir_intrinsic_global_atomic_{fmin,fmax} 3869- radv: advertise EXT_shader_atomic_float2 with LLVM 14+ 3870- radv/ci: add a list of expected failures for VanGogh 3871- ac/rgp, radv: report scratch memory size for shaders 3872- ac/rgp, radv: report wave size for shaders 3873- radv: rename radv_decompress_depth_stencil() 3874- radv: implement depth/stencil expand on compute 3875- radv: add support for copying compressed depth/stencil images on compute 3876- radv: keep depth/stencil images compressed for TRANSFER_DST on compute 3877- radv: replicate THREAD_TRACE_CTRL config when stopping SQTT 3878- radv: make the SQTT BO a resident buffer 3879- radv: remove useless assertions in the SQTT path 3880- radv: do not use a different disk cache key for LLVM 3881- radv: do not store meta shaders to the default shader disk cache 3882- radv: remove useless shader variant key copies for VS+TCS 3883- radv: stop loading invocation ID for NGG vertex shaders 3884- radv: remove unused radv_tcs_variant_key:primitive_mode 3885- radv: stop using the shader keys for as_ls/as_es/as_ngg when possible 3886- radv: remove useless as_ngg_passthrough init when lowering NGG in NIR 3887- radv/llvm: stop using vs_common_out.as_ngg_passthrough 3888- radv: add export_clip_dists for VS and TES to radv_shader_info 3889- radv,aco: stop using vs_common_out.export_clip_dists 3890- radv/llvm: stop using vs_common_out.export_prim_id 3891- radv: store the topology instead of the output primitive type in the key 3892- radv: store the CS subgroup size to radv_shader_info 3893- radv: rework layout of radv_pipeline_key 3894- radv: pass the pipeline key to the backend compilers 3895- radv: cleanup uses of VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT 3896- radv: remove unused radv_nir_compiler_options fields 3897- radv: remove unnecessary vs_common_out.export_viewport_index 3898- radv: remove unnecessary vs_common_out.export_layer_id 3899- radv: remove unnecessary radv_shader_info:{vs,tes}.export_prim_id 3900- radv: remove unnecessary init of outinfo.export_prim_id for GS 3901- radv: remove vs_common_out:export_prim_id 3902- radv: remove vs_common_out:export_clip_dists 3903- radv: pass the pipeline key to the shader info pass 3904- radv: use the pipeline key more when possible 3905- radv: stop using vs_common_out.{as_es/as_ls/as_ngg*} shader keys 3906- radv: remove radv_shader_variant_key completely 3907- radv: fix missing features for BDA 3908- radv: remove the LLVM stat about the number of private VGPRs 3909- radv: fix adjusting the frag coord when RADV_FORCE_VRS is enabled 3910- radv: fix selecting the hash when RADV_FORCE_VRS is enabled 3911- radv: make sure to load the Primitive ID for VS+GS as NGG 3912- radv: fix vk_object_base_init/finish for the internal pipeline cache 3913- radv: fix vk_object_base_init/finish for internal buffer views 3914- radv: fix vk_object_base_init/finish for the internal push descriptors 3915- radv: fix vk_object_base_init/finish for internal image views 3916- radv: fix vk_object_base_init/finish for internal buffers 3917- radv: set export_clip_dists for the GS copy shader 3918- radv: determine the VS output parameters in the shader info pass 3919- radv: disable the DX10 diamond test for better line rasterization perf 3920- radv: get the float controls execution mode from NIR for LLVM 3921- radv: do not declare an extra user SGPR for sample positions and PS 3922- radv: move ngg early prim export determination earlier 3923- move: move ngg lds bytes determination earlier 3924- radv: move ngg passthrough determination earlier 3925- radv: remove unnecessary ac_nir_ngg_config output struct 3926- radv: constify radv_shader_info for radv_lower_{io_to_mem,ngg}() 3927- radv: move forcing discard to demote to the graphics pipeline key 3928- radv: move forcing invariant geometry to the graphics pipeline key 3929- radv: move forcing MRT output NaN fixup to the graphics pipeline key 3930- radv: move forcing VRS rates to the graphics pipeline key 3931- radv: move use of NGG to the graphics pipeline key 3932- radv: remove redundant check of needs_multiview_view_index for PS 3933- radv: remove useless loads_dynamic_offsets when emitting push constants 3934- radv: determine the ES type (VS or TES) for GS earlier 3935- ci: enable building RADV in debian-release 3936- radv: fix vk_object_base_init/finish for push descriptors 3937- radv: fix writing combined image/sampler descriptor 3938- radv: fix vk_object_base_init/finish for internal device memory objects 3939- radv/llvm: fix exporting VS parameters 3940- radv: do not set TRAP_PRESENT(1) for fragment shaders 3941- aco: fix load_barycentric_at_{offset,sample} 3942- radv: declare the shader user locs from the shader arguments 3943- radv: determine if a shader uses indirect descriptors from the SGPR loc 3944- radv: determine if a shader loads push constants from the SGPR loc 3945- radv: remove unnecessary radv_shader_info:base_inline_push_consts 3946- radv: remove unnecessary radv_shader_info:num_inline_push_consts 3947- radv: do not overwrite loads_push_constants when declaring shader args 3948- radv: gather more information about PS in the shader info pass 3949- radv,aco: compute and store the SPI PS input in radv_shader_info 3950- aco: prevent using undeclared shader arguments for PS 3951- radv,aco: remap PS inputs when declaring shader arguments 3952- aco: constify radv_shader_{info,args} 3953- radv: remove radv_pipeline::layout 3954- radv: implement vkGetDeviceBufferMemoryRequirementsKHR() 3955- radv: implement vkGetDeviceImageMemoryRequirementsKHR() 3956- radv: implement vkGetDeviceImageSparseMemoryRequirementsKHR() 3957- radv: advertise VK_KHR_maintenance4 3958- radv: use nir_image_deref_{load,store} in the DCC retile compute path 3959- radv: remove useless coordinate computation in the compute clear path 3960- radv: remove few useless nir_channels() in meta shaders 3961- radv: use get_global_ids() to compute coordinates in meta shaders 3962- radv: use nir_ssa_undef() for unused image components in meta shaders 3963- radv: move ac_shader_config to radv_shader_binary instead of legacy 3964- radv: store the post-processed shader binary config to the cache 3965- radv,aco: remove nir_intrinsic_load_layer_id 3966- radv: remove no-op about the view index in the shader info pass 3967- radv: rename needs_multiview_view_index to uses_view_index 3968- radv: stop gathering output GS info for vertex shaders 3969- aco: cleanup setup_vs_output_info() 3970- radv: do not initialize is_ngg_passthrough for geometry shaders 3971- radv: remove duplicated code about NGG passthrough determination 3972- radv: switch to VK_FORMAT_FEATURE_2_XXX/VkFormatProperties3KHR 3973- radv: implement VK_KHR_format_feature_flags2 3974- aco: do not return an empty string when disassembly is not supported 3975- radv: fix removing PSIZ when it's not emitted by the last VGT stage 3976- radv: fix OpImageQuerySamples with non-zero descriptor set 3977- radv: do not remove PSIZ for streamout shaders 3978- aco: fix invalid IR generated for b2f64 when the dest is a VGPR 3979- aco: fix emitting stream outputs when the first component isn't zero 3980- aco: fix loading 64-bit inputs with fragment shaders 3981- radv: re-emit prolog inputs when the nontrivial divisors state changed 3982- radv: fix build errors with Android 3983- aco: only load streamout buffers if streamout is enabled 3984- radv: do not expose buffer features for depth/stencil formats 3985- radv/sqtt: fix GPU hangs when capturing from the compute queue 3986- radv: fix a sync issue on GFX9+ by clearing the upload BO fence 3987- nir: fix constant expression of ibitfield_extract 3988 3989Sergii Melikhov (2): 3990 3991- iris: Fix Null pointer dereferences 3992- dri2: Fix Null pointer dereferences 3993 3994Shmerl (1): 3995 3996- vulkan/overlay: don't display histogram and range for device and format 3997 3998Simon Ser (18): 3999 4000- EGL: sync headers with Khronos 4001- egl: add support for EGL_EXT_device_drm_render_node 4002- etnaviv: fix renderonly check in etna_resource_alloc 4003- etnaviv: fail in get_handle(TYPE_KMS) without a scanout resource 4004- freedreno: fail in get_handle(TYPE_KMS) without a scanout resource 4005- panfrost: fail in get_handle(TYPE_KMS) without a scanout resource 4006- lima: fail in get_handle(TYPE_KMS) without a scanout resource 4007- vulkan/wsi/wayland: use drm_fourcc.h for formats 4008- vulkan/wsi/wayland: drop support for wl_drm 4009- vulkan/wsi/wayland: generalize modifier handling 4010- etnaviv: add stride, offset and modifier to resource_get_param 4011- panfrost: implement resource_get_param 4012- vc4: implement resource_get_param 4013- v3d: implement resource_get_param 4014- vulkan/wsi/x11: add driconf option to not wait under Xwayland 4015- gbm: consistently use the same name for BO flags 4016- gbm: add gbm_{bo,surface}_create_with_modifiers2 4017- gbm: assume USE_SCANOUT in create_with_modifiers 4018 4019Simon Zeni (5): 4020 4021- gbm: add GBM_FORMAT_R16 4022- i915: remove use of backtrace and backtrace_symbols 4023- glapi/gl_gentable.py: drop call to backtrace on no op 4024- util/u_debug_symbol: remove debug_symbol_name_glibc and execinfo dependency 4025- meson: stop searching for execinfo 4026 4027Stéphane Marchesin (1): 4028 4029- virgl: Flush context before waiting on fences 4030 4031Tapani Pälli (22): 4032 4033- crocus: take a reference to memobj bo in crocus_resource_from_memobj 4034- crocus: disable depth and d+s formats with memory objects 4035- iris: handle depth-stencil import with a wrapper function 4036- anv: disable aux for exportable images without modifiers 4037- anv: allow stencil memory export 4038- anv/android: fix build error due refactoring 4039- mesa: fix timestamp enum with EXT_disjoint_timer_query 4040- mesa: GL_ARB_ES3_2_compatibility GL compat profile support 4041- anv: remove a format assert when setting up attachments 4042- vulkan: provide common functions to check device features 4043- anv: remove feature checks from device creation 4044- radv: remove feature checks from device creation 4045- turnip: remove feature checks from device creation 4046- v3dv: remove feature checks from device creation 4047- lavapipe: remove feature checks from device creation 4048- panvk: remove feature checks from device creation 4049- intel/blorp: fix a compile warning about uninitialized use 4050- intel/isl: FXT1 support was removed on Gfx12.5 4051- swrast: Fix another warning from gcc 11 4052- anv/android: fix parameters given for vk_common_QueueSubmit 4053- anv: use vk_object_zalloc for wsi fences created 4054- iris: clear bos_written when resetting a batch 4055 4056Thomas H.P. Andersen (1): 4057 4058- nine: Fix assert in tx_src_param 4059 4060Thomas Wagner (6): 4061 4062- gallium: add utility and interface for memory fd allocations 4063- llvmpipe: add support for EXT_memory_object(_fd) 4064- lavapipe: add support for KHR_external_memory_fd 4065- llvmpipe: enable EXT_memory_object(_fd) 4066- lavapipe: enable KHR_external_memory_fd 4067- util: use anonymous file for memory fd creation 4068 4069Thong Thai (15): 4070 4071- gallium: add temporal layers cap enum 4072- frontends/va: check number of temporal layers supported by encoder 4073- gallium: update h264 struct to track temporal layers 4074- radeon/vcn/enc: H.264 SVC encode 4075- radeonsi: enable H.264 temporal encoding support for VCN 4076- frontends/va: handle h264 num_temporal_layers for SVC encoding 4077- gallium: change rate ctrl struct to array 4078- r600: change rate ctrl struct to array 4079- radeon/vce: change rate ctrl struct to array 4080- radeon/vcn/enc: change to per-temporal layer rate control 4081- frontends/omx: change rate ctrl struct to array 4082- frontends/va: change to per-layer rate control 4083- gallium/auxiliary/vl: Add additional deinterlace enum and tracking 4084- gallium/util: add half texel offset param to util_compute_blit 4085- frontends/va/postproc: Keep track of deinterlacing method being used 4086 4087Timothy Arceri (20): 4088 4089- util: document that workaround also fixes Riptale 4090- glsl: replace some C++ code with C 4091- nir/gcm: be less destructive with instruction order 4092- intel/compiler: call nir_opt_dead_cf() after we have finished all opts 4093- intel/compiler: Use GCM in nir_optimize 4094- util: add workaround for Full Bore 4095- glsl: relax rule on varying matching for shaders older than 4.20 4096- intel/compiler: make sure swizzle is applied to if condition 4097- nir: add indirect loop unrolling to compiler options 4098- nir: move nir_block_ends_in_break() to nir.h 4099- nir: add heuristic for instructions in loops with GCM 4100- nir: fix GCM when GVN enabled 4101- glsl: fix variable scope for instructions inside case statements 4102- mesa: fix mesa_problem() call in _mesa_program_state_flags() 4103- glsl: fix variable scope for loop-expression 4104- glsl: handle scope correctly when inlining loop expression 4105- glsl: fix variable scope for do-while loops 4106- util/cache: run basic cache tests on the single file cache 4107- util/cache: test simple cache put and get between instances 4108- mesa: fix buffer overrun in SavedObj texture obj array 4109 4110Timur Kristóf (71): 4111 4112- radv: Use 128-sized vertex grouping for NGG shaders. 4113- radv: Don't compile NGG culling into shaders that write viewport index. 4114- radv: Remove num_viewports from radv_skip_ngg_culling. 4115- aco: Swap s_and operand order for ballot. 4116- aco: Allow elect to take advantage of knowing when all lanes are active. 4117- aco: Remove s_and with exec when all lanes are active. 4118- radv: Use pre-computed viewport transform for NGG culling state. 4119- aco: Fix how p_elect interacts with optimizations. 4120- aco, nir, ac: Simplify sequence of getting initial NGG VS edge flags. 4121- ac/nir: Use es_accepted variable after culling. 4122- ac/nir: Use gs_accepted variable after culling. 4123- ac/nir: Don't count vertices and primitives in wave after culling. 4124- nir, aco: Remove vertex and primitive count overwrite intrinsic. 4125- ac/nir: Remove unhelpful nir_opt_cse from ac_nir_lower_ngg_nogs. 4126- aco: Use Navi 10 empty NGG output workaround on NGG culling shaders. 4127- radv: Don't toggle PC oversubscription for NGG culling. 4128- radv: Use ac_compute_late_alloc in radv_pipeline. 4129- ac: Remove deprecated use_late_alloc field as nobody uses it anymore. 4130- radv: Write RSRC2_GS for NGGC when pipeline is dirty but not emitted. 4131- aco: Fix to_uniform_bool_instr when operands are not suitable. 4132- radv, ac, aco: Use indices 0-2 of gs_vtx_offset argument array on GFX9+. 4133- radeonsi: Change GS vertex offset arguments to use gs_vtx_offset array. 4134- ac: Calculate workgroup sizes of HW stages that operate in workgroups. 4135- radv: Calculate workgroup sizes in radv_pipeline. 4136- radv: Remove superfluous workgroup size calculations. 4137- aco: Use workgroup size from input shader info. 4138- aco: Consider LDS usage by PS inputs in MaxWaves calculation. 4139- aco: Consider maximum number of workgroups per CU/WGP on Navi. 4140- aco: Emit zero for the derivatives of uniforms. 4141- aco: Unset 16 and 24-bit flags from operands in apply_extract. 4142- nir: Add unsigned upper bound for extract opcodes. 4143- nir: Fix local_invocation_index upper bound for non-compute-like stages. 4144- nir: Add comment to explain the sad_u8x4 opcode. 4145- aco: Fix invalid usage of std::fill with std::array. 4146- ac/nir/ngg: Delete unused struct. 4147- ac/nir/nggc: Don't stop applying reusable variables at prim export. 4148- ac/nir/nggc: Only repack arguments that are needed. 4149- ac/nir/nggc: Move gs_alloc_req up in NGG culling shaders. 4150- aco: Use Builder reference in emit_copies_block. 4151- aco: Skip code paths to emit copies when there are no copies. 4152- aco/optimize_postRA: Use iterators instead of operator[] of std::array. 4153- aco: Add some useful info to the README for debugging. 4154- radv: Remove PSIZ output when it isn't needed. 4155- aco: Add ability to optimize v_lshl + v_sub into v_mad_i32_i24. 4156- aco/isel: Fix emit_vop2_instruction to apply 16/24-bit flags properly. 4157- ac/nir: Remove byte permute from prefix sum of the repack sequence. 4158- ac/nir: Fix match_mask to work correctly for VS outputs. 4159- nir: Exclude non-generic patch variables from get_variable_io_mask. 4160- radv: Disable HW generated edge flags for NGG shaders. 4161- ac/nir: Emit edge flag instructions conditionally. 4162- radv/llvm: Don't read edge flags anymore. 4163- radv: Fix gs_vgpr_comp_cnt for NGG culling in vertex shaders. 4164- ac/nir/nggc: Refactor save_reusable_variables. 4165- ac/nir/nggc: Don't reuse uniform values from divergent control flow. 4166- radv: Select PC oversubscription rate based on number of PS params. 4167- radv: Reduce NGG culling small draw threshold to 128. 4168- aco: Allow p_extract to have different definition and operand sizes. 4169- aco: Implement integer conversions using p_extract. 4170- aco: Omit p_extract after ds_read with matching bit size. 4171- aco: Don't write m0 register for LDS instructions on GFX9+. 4172- aco: Fix small primitive precision. 4173- aco: Fix determining whether any culling is enabled. 4174- radv: Don't declare ngg_gs_state when there is no API GS. 4175- radv: Enable NGG culling by default on GFX10.3, add nonggc debug flag. 4176- ac/nir/cull: Accept NaN and +/- Inf in face culling. 4177- ac/nir/nggc: Write undef to variables in non-repacked ES threads. 4178- aco/optimizer: Skip SDWA on v_lshlrev when unnecessary in apply_extract. 4179- drirc: Fix indentation. 4180- drirc: Apply radv_invariant_geom workaround to Resident Evil Village. 4181- drirc: Apply radv_invariant_geom workaround to World War Z games. 4182- aco: Fix how p_is_helper interacts with optimizations. 4183 4184Tomeu Vizoso (40): 4185 4186- panvk: Don't try to update samplers if they are immutable 4187- panvk: Start a new batch when the job index gets above the limit 4188- panvk: Close batch when ending a command buffer 4189- panvk: Move check for fragment requirement up to the draw 4190- panvk: A pipeline might not be bound when the render pass is ended 4191- panvk: Expose panvk_cmd_alloc_fb_desc and panvk_cmd_alloc_tls_desc 4192- panvk: Implement vkCmdClearAttachments 4193- docs/ci: Update http cache config to let Authorization headers pass through 4194- freedreno/ci: Move rules for restricted jobs to test-source-dep.yml 4195- ci: Update canvas_text trace 4196- virgl/ci: Have LLVMPipe use more threads for rendering 4197- virgl/ci: Rebalance concurrency 4198- virgl/ci: Wait a bit before shutting the VM down 4199- virgl/ci: Set NIR_VALIDATE=0 on the host 4200- panfrost: Add padding to pan_blit_blend_shader_key 4201- iris/ci: Add manual jobs for tracking performance 4202- panvk: Initialize timestamp for disk cache 4203- freedreno/ci: Correctly set freq governors to max 4204- iris/ci: Correctly set freq governors to max 4205- panvk/ci: Build-test panvk 4206- ci: Ensure the DRM device is open 4207- lavapipe: add xfails for whole of CTS 4208- vulkan: Read len attribute of parameters to functions 4209- vulkan: Generate code to place commands in a queue 4210- vulkan: Generate entrypoints that enqueue commands 4211- lavapipe: Use generated command queue code 4212- lavapipe: Use c_msvc_compat_args 4213- vulkan: Remove dependency on Python 3.9+ 4214- Revert "lavapipe: unbreak imageless framebuffer" 4215- vulkan: Copy pNext structures when enqueuing commands 4216- ci: Uprev piglit to 99be1b06ff36 4217- ci: Stop adding link to tracie dashboard 4218- panfrost/ci: Enable test runs on G72 4219- panvk: Move CmdClear* impl to a separate file 4220- panfrost/ci: Move CI files to src/panfrost 4221- panfrost/ci: Test panvk on Mali G52 4222- ci: Rebuild kernel with Amlogic KMS support 4223- panfrost/ci: Run Piglit's quick_gl tests on G52 4224- ci: Add support for lazor Chromebooks 4225- ci: Let manual LAVA jobs have a longer timeout than others 4226 4227Tony Wasserka (24): 4228 4229- radv: Rename radv_shader_helper.h to radv_llvm_helper.h 4230- aco: Separate LLVM/CLRX asm printers more cleanly 4231- aco: Extend set of supported GPUs that can be disassembled with CLRX 4232- radv: Build code which depends on LLVM only when enabled 4233- radv: Disable shader disassembly when no disassembler is available 4234- aco/tests: Assert that the requested IR is actually provided 4235- aco/spill: Avoid unneeded copies when iterating over maps 4236- aco: Use std::vector for the underlying container of std::stack 4237- aco/spill: Remove unused container 4238- aco/spill: Replace map[] with map::insert 4239- aco/spill: Avoid copying next_use maps more often than needed 4240- aco/spill: Persist memory allocations of local next use maps 4241- aco/spill: Avoid destroying local next use maps over-eagerly 4242- aco/spill: Replace vector<map> with vector<vector> for local_next_use 4243- aco/spill: Prefer unordered_map over map for next use distances 4244- aco/spill: Avoid copying current_spills when not needed 4245- aco/spill: Reduce redundant std::map lookups 4246- aco/spill: Replace an std::map to booleans with std::set 4247- aco/spill: Store remat list in an std::unordered_map instead of std::map 4248- aco/spill: Change worklist to a single integer 4249- aco/spill: Reduce allocations in next_uses_per_block 4250- aco/spill: Clarify use of long-lived references by adding const 4251- aco/spill: Use unordered_map for spills_exit 4252- aco/spill: Use std::unordered_map for spills_entry 4253 4254Vadym Shovkoplias (3): 4255 4256- driconf, glsl: Add a vs_position_always_precise option 4257- drirc: Set vs_position_always_precise for Assault Android Cactus 4258- intel/fs: Fix a cmod prop bug when cmod is set to inst that doesn't support it 4259 4260Vasily Khoruzhick (2): 4261 4262- lima: handle fp16 vertex formats 4263- lima: split_load_input: don't split unaligned vec2 4264 4265Veerabadhran Gopalakrishnan (2): 4266 4267- radeon/vcn: Add FW header flag to enable VP9 header parsing 4268- gallium/va: Remove VP9 header parsing for secure playback 4269 4270Vinson Lee (17): 4271 4272- nv50/ir: Initialize Value member id in constructor. 4273- asahi: Move assignment after null check. 4274- spirv_to_dxil: Fix missing-prototypes build error. 4275- meson: Remove duplicate xvmc in build summary. 4276- nir: Initialize evaluate_cube_face_index_amd dst.x. 4277- zink: Remove unnecessary null checks. 4278- nv50/ir: Add FlatteningPass constructor. 4279- freedreno: Require C++17. 4280- broadcom/compiler: Fix qpu.flags.muf typo. 4281- glx: Fix unused-variable warning with macOS build. 4282- draw/tess: Fix unused-function warning with draw-use-llvm=disabled. 4283- nv50/ir: Add DeadCodeElim constructor. 4284- pps: Avoid duplicate elements in with_datasources array. 4285- freedreno: Add valgrind dependency. 4286- anv: Fix assertion. 4287- radv: Fix memory leak on error path. 4288- virgl: Allocate qdws after virgl_init_context to avoid leak. 4289 4290Witold Baryluk (2): 4291 4292- zink: Do not access just freed zink_batch_state 4293- zink: Fully initialize VkBufferViewCreateInfo for hashing 4294 4295Yevhenii Kharchenko (1): 4296 4297- iris: fix layer calculation for TEXTURE_3D ReadPixels() on mip-level>0 4298 4299Yevhenii Kolesnikov (19): 4300 4301- glsl: Add operator for .length() method on implicitly-sized arrays 4302- glsl: Properly handle .length() of an unsized array 4303- vulkan: Add a common vk_command_buffer structure 4304- anv: Use a common vk_command_buffer structure 4305- radv: Use a common vk_command_buffer structure 4306- turnip: Use a common vk_command_buffer structure 4307- v3dv: Use a common vk_command_buffer structure 4308- lavapipe: Use a common vk_command_buffer structure 4309- vulkan: Add a common vk_queue structure 4310- anv: Use a common vk_queue structure 4311- radv: Use a common vk_queue structure 4312- turnip: Use a common vk_queue structure 4313- v3dv: Use a common vk_queue structure 4314- lavapipe: Use a common vk_queue structure 4315- vulkan: Implement VK_EXT_debug_utils 4316- vulkan/enum_to_str: Add generator for VkObjectType to Vulkan Handle 4317- vulkan: Add vk_asprintf and vk_vasprintf helpers 4318- vulkan: Add convenience debug message helpers 4319- anv: Switch to new debug message helpers 4320 4321Yipeng Chen (Jasber) (1): 4322 4323- radeonsi: do not use staging texture for APU 4324 4325Yiwei Zhang (24): 4326 4327- venus: cache ahb backed buffer memory type bits requirement 4328- venus: fix all missing vn_object_base_fini 4329- venus: scrub ignored fields of pipeline info when rasterization is disable 4330- venus: refactor failure path for sets allocation 4331- venus: add vn_descriptor_set_layout_init 4332- venus: descriptor layout to track more binding infos 4333- venus: layout to track variable descriptor count binding info 4334- venus: descriptor pool to track pool state 4335- venus: descriptor set to track descriptor count of last binding 4336- venus: check descriptor allocations against pool resource 4337- venus: conditionally enable async descriptor set allocation 4338- venus: set maxMipLevels to 1 for ahb images 4339- venus: renderer to check map size only when mappable 4340- venus: workaround a blob_mem mappable size check issue 4341- venus: suggest the proper sampler ycbcr model conversion based on format 4342- docs: update vn extension list 4343- venus: amend supported extensions list 4344- venus: properly check and fill ahb buffer properties 4345- util: fix sign comparison 4346- radv/anv android: rename buffer usage camera mask 4347- android_stub: update platform headers to include atrace 4348- venus: update to latest venus-protocol to include tracing 4349- dri_interface: remove obsolete interfaces 4350- dri_interface: remove gl header 4351 4352Yogesh Mohan Marimuthu (2): 4353 4354- radeonsi: remove redundant setting scratch_state atom dirty 4355- radeonsi: set scratch_state dirty only if ctx->scratch_buffer allocated 4356 4357Yogesh Mohanmarimuthu (1): 4358 4359- vulkan/device-select: select correct default device for xcb apiVersion 1.0 4360 4361Zachary Michaels (1): 4362 4363- X11: Ensure that VK_SUBOPTIMAL_KHR propagates to user code 4364 4365Zhu Yuliang (1): 4366 4367- gallium/vl: don't leak fd in vl_dri3_screen_create 4368 4369byte[] (1): 4370 4371- i965: Explicitly abort instead of exiting on batch failure 4372 4373liuyujun (1): 4374 4375- gallium: fix surface->destroy use-after-free 4376 4377mattvchandler (1): 4378 4379- gallium/osmesa: fix buffer resizing 4380 4381mwezdeck (1): 4382 4383- mesa: validate texture format against GL/ES ctx 4384 4385orbea (1): 4386 4387- build: add sha1_h for lp_texture.c 4388 4389suijingfeng (4): 4390 4391- gallivm: add basic mips64 support and set mcpu to mips64r5 on ls3a4000 4392- pass egl-symbols-check test on mips64el 4393- gallivm: fix pass init order on mips64 with llvm 8 4394- llvmpipe: correct the debug information printed with GALLIVM_PERF=nopt 4395 4396xantares (1): 4397 4398- lavapipe: Fix 32bits windows build 4399