1Mesa 21.2.0 Release Notes / 2021-08-04 2====================================== 3 4Mesa 21.2.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.2.1. 7 8Mesa 21.2.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.2.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 0cb3c802f4b8e7699b1602c08c29d06a4d532ab5b8f7a64676c4ca6bb8f4d426 mesa-21.2.0.tar.xz 25 26 27New features 28------------ 29 30- zink supports GL_ARB_texture_filter_minmax, GL_ARB_shader_clock 31 32- VK_EXT_provoking_vertex on RADV. 33 34- VK_EXT_extended_dynamic_state2 on RADV. 35 36- VK_EXT_global_priority_query on RADV. 37 38- VK_EXT_physical_device_drm on RADV. 39 40- VK_KHR_shader_subgroup_uniform_control_flow on Intel and RADV. 41 42- VK_EXT_color_write_enable on RADV. 43 44- 32-bit x86 builds now default disable x87 math and use sse2. 45 46- GL ES 3.1 on GT21x hardware. 47 48- VK_EXT_acquire_drm_display on RADV and ANV. 49 50- VK_EXT_vertex_input_dynamic_state on lavapipe 51 52- wideLines on lavapipe 53 54- VK_EXT_line_rasterization on lavapipe 55 56- VK_EXT_multi_draw on ANV, lavapipe, and RADV 57 58- VK_KHR_separate_depth_stencil_layouts on lavapipe 59 60- VK_EXT_separate_stencil_usage on lavapipe 61 62- VK_EXT_extended_dynamic_state2 on lavapipe 63 64- NGG shader based primitive culling is now supported by RADV. 65 66- Panfrost supports OpenGL ES 3.1 67 68- New Asahi driver for the Apple M1 69 70- GL_ARB_sample_locations on zink 71 72- GL_ARB_sparse_buffer on zink 73 74- GL_ARB_shader_group_vote on zink 75 76- DRM format modifiers on zink 77 78- freedreno+turnip: Initial support for a6xx gen4 (a660, a635) 79 80- None 81 82 83Bug fixes 84--------- 85 86- The image is distorted while use iGPU(Intel GPU) rendering and output via dGPU (AMD GPU) 87- lima: regression in plbu scissors cmd 88- freedreno: regression in org.skia.skqp.SkQPRunner#gles_multipicturedraw_*_tiled 89- Incorrect rendering 90- intel/isl: Wrong surface format name in batch 91- [RADV] FSR in Resident Evil: Village looks very pixelated on Polaris 92- 21.2.0rc1 Build Failure - GCC6.3 93- Crash in update_buffers after closing KDE "splash screen" downloader 94- Firefox (wayland) crash in wayland_platform 95- Crash in update_buffers after closing KDE "splash screen" downloader 96- Firefox (wayland) crash in wayland_platform 97- radeonsi: persistent, read-only buffer maps are slow to read 98- substance painter flickering with jagged texture and masks shown black 99- radv: FP16 mode in FidelityFX FSR doesn't look right 100- Regression in Turnip with KGSL and Zink running opengl in proot 101- Validation crash on wlroots after wl_shm appeared 102- [RADV] Blocky corruption in Scarlet Nexus and vkd3d-proton 2.4 103- Use out encoding for float immediates 104- Radeon RX580 and 5700 XT: Reloading ARB assembly shaders causes very glitchy rendering 105- i915g: dEQP-GLES2.functional.fragment_ops.depth_stencil..* failures 106- i915g: dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.* and fragment_ops.random.* failures 107- KHR-GL46.shader_ballot_tests.ShaderBallot* tests fails on the main 108- i965 nir compiler is lowering fdiv twice or initializing struct twice 109- [radv] Textures missing in Doom (2016) w/ any temporal AA setting enabled 110- Drop Android.mk 111- [build error] macros.h:88:26: error: size of unnamed array is negative 112- Game Issue: Nuclear Throne crashes in RadeonSI 113- iris: reduce shader storage buffer object alignment 114- agx_compile.h:29:10: fatal error: asahi/lib/agx_pack.h: No such file or directory 115- radv: VBO range check issues with odd strides and sizes 116- Crash in glLinkProgram while trying to craft the link error 117- i915g: wide point failures 118- Wolfenstein II: The New Colossus - Screen goes black in some cases 119- [radv] [regression] Textures missing in Doom (2016) 120- Shader compilation memory leaks 121- radv: fd leak in Android WSI radv_AcquireImageANDROID 122- SpaceEngine in Steam Proton cannot start with Mesa >=20.3 123- [bisected] KDE plasma menu text renders like stretched strangely [amdgpu] 124- radeonsi: glitches in Euro Truck Simulator 2 125- White box for Webrender Firefox with R600_DEBUG=nir on Evergreen GPU 126- radv_AllocateDescriptorSets: validation on variable description count is too strict 127- Luna Sky Crashes on Launch 128- Mesa crashes on undefined texture behaviour 129- Mesa crashes on undefined texture behaviour 130- cache_test uses uninitialized stack memory 131- nir/opt_load_store_vectorize: check_for_robustness() crashes on derefs 132- [anv] GravityMark (benchmark) crashes on ANV 133- turnip: corrupted geometry after tesselation shaders in GTAV 134- [opengl] We happy few not being rendered correctly 135- anv: dynamic state prim type is hard 136- [iris][bisected] piglit test ...ext_external_objects.vk-image-display-muliple-textures failing after enabled 137- Factorio: GPU hang when opening machine inventory 138- RuneScape on Mesa 21.1.1 (VEGA10) has bad performance and leaks memory 139- LLVM12 breaks atomicCompSwap tests with radeonsi 140- freedreno: tex-miplevel-selection causes a creation of too many BOs without flushes, causing a crash 141- RADV: Resident Evil Village Freezes during a specific cutscene 142- Supraland: flickering black bars on ground 143- u_queue.c:173:7: error: implicit declaration of function 'timespec_get' is invalid in C99 144- radv: front face and cull mode dynamic state can desync 145- radv: GPU hang in Cyberpunk 2077 on Big Navi 146- Cyberpunk 1.22 crashes with amdgpu ring gfx_0.0.0 timeout 147- [amdgpu][renoir][rx5500m]: [drm:0xffffffff8198ad5e] \*ERROR* ring gfx timeout, signaled seq=10952, emitted seq=10954 148- [spirv-fuzz] SPIR-V parsing FAILED: Invalid back or cross-edge in the CFG 149- anv: dEQP-VK.graphicsfuzz.spv-stable-bubblesort-flag-complex-conditionals fails 150- panfrost Mount and Blade: Warband (glitches) 151- anv: dEQP-VK.robustness.robustness2*no_fmt_qual.null_descriptor.samples* fail 152- KHR-GLES31.core.shader_image_load_store.basic-glsl-earlyFragTests may be flakey on RPI4 153- SPIRV AMD Driver compiler memory leak/usage - 8Gb+ to compile single 41Kb SPIRV file, Ubuntu 21.04 154- Regression of !10941: mutter Wayland on bare metal crashes when closing HW accelerated windows 155- radv: ACO miscompiles a specific DIRT 5 shader 156- Copy paste bug in v3dv_cmd_buffer.c 157- Segfault in mtx_unlock/amdgpu_bo_slab_destroy 158- [radeonsi] Incorrect rendering when using glDisable(GL_MULTISAMPLE) with multisample backbuffer 159- virtio(vulkan): Error building on Android/arm32 160- [i965] regression: piglit.spec.arb_depth_buffer_float.fbo-depthstencil-gl_depth32f_stencil8-drawpixels 161- iris: Select memory map cacheability settings at BO allocation time 162- zink: regression for primitive-restart on ANV 163- zink: Unimplemented ALU {un,}pack_half_2x16 in nir_to_spirv 164- venus: dEQP-VK.api.command_buffers.bad_inheritance_info_random test failure 165- [radeonsi] glClearTexImage on 1D array only clears first slice 166- zink: Expected Image Operand ConstOffset to be a const object 167- docs: bullet-lists no longer show any bullets 168- [RADV] - Path of Exile (238960) - Ground decals are missing or corrupted using the Vulkan renderer. 169- [ADL-S / TGL-U / TGL-H] Pixels missing / flickering when render some app on weston 170- [iris][biected] piglit.spec.glsl-1_50.execution.geometry.clip-distance-vs-gs-out 171- panfrost ff9a0000.gpu: Unhandled Page fault in AS1 at VA 0x0000000009801200 172- black stripes in X/Xwayland applications under panfrost/midgard 173- radv: significant overhead from radv_pipeline_has_ngg() 174- mesa-21.1.1/src/gallium/drivers/vc4/vc4_resource.c:790: reading from uninitialised array 175- [iris,i965][hsw,ivb,snb,bdw][bisected][regression] wflinfo crashes 176- [iris,i965][hsw,ivb,snb,bdw][bisected][regression] wflinfo crashes 177- The image is distorted while use iGPU(Intel GPU) rendering and output via dGPU (AMD GPU) 178- [radv] Revert !7207 once BG3 is fixed. 179- piglit test 'spec.glsl-1_30.execution.range_analysis_fsat_of_nan' failure 180- iris: Rework iris_transfer_mapto better use iris_has_color_unresolved 181- ir3_cf breaks nir_op_fquantize2f16 182- [i915g] implicit fallthrough 183- Add asahi to CI's build 184- RADV - Regression - CPU side 'hang' in metro exodus 185- Assassin's Creed Odyssey crash on launch 186- Metro Exodus not starting under xwayland 187- [i915g] PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS is Unknown cap 38 188- Elite Dangerous: Odyssey alpha crashes GPU on launch 189- glmark2-es2 -b terrain crashes since Bifrost FP16 190- [iris][bisected][regression] dEQP-GLES31.functional.texture.multisample.* tests crash on multiple platforms 191- gallium: tc regression 192- panfrost: Look into invalidate_resource() 193- [ivb,hsw][i965][bisected] dEQP-GLES3.functional.shaders.texture_functions.texture.sampler2darrayshadow_vertex failing 194- ci: Explicitly test shader caching 195- radv: RoTR fails on Raven APU 196- Tungsten Graphics links in Gallium docs 197- Obs Studio Broken on Latest Mesa Git(Regression)(Bisected) 198- Graphics corruption and GPU hang with RADV/LLVM 199- old kernels (4.19) support in radv 200- Elite Dangerous: Odyssey alpha crashes GPU on launch 201- CSGO: Some default variables can cause problems with trust mode 202- freedreno: dEQP-GLES3.functional.fence_sync.client_wait_sync_finish flakes 203- glxclient.h:56:10: fatal error: 'loader.h' file not found 204- mesa git started to break wine + UnrealTournament.exe (old dx6 game) 205- SuperTuxKart artifacting on RK3399 206- [amdgpu]: Golf With Your Friends (431240): ERROR Waiting for fences timed out 207- don't flush for each blit/grid 208- No sRGB capable visuals/fbconfigs reported in glx 209- Documentation request: AMD debug variables 210- docs: versions is out-of-date 211- Strange results when trying to read from VK_FORMAT_R64_SFLOAT in compute shader 212- anv: dEQP-VK.binding_model.buffer_device_address.set3.depth3.basessbo.convertcheck* slow 213- Iris doesn't support INTEL_performance_query anymore 214- [iris][bisected][regression] dEQP-GLES3.functional.texture.specification.teximage2d* failures 215- RADV: TRUNC_COORD breaks gather operations 216- [RADV] corruption in avatar after dying in Heroes of the Storm 217- drm-shim build error with glibc 2.33 218- Metro Exodus crashing due to memory overflow 219- Sauerbraten shader rendering broken on RV530 (r300g) 220- texture glitches on CS:GO on Tiger Lake 221- Incorrect texture blitting/mapping when running Unigine-Heaven 4.0 on ADL-S / TGL-H, TGL-U 222- Build fail due to "parameter name omitted" on Gallium Nine 223- v3dv: DiligentEngine fail to run with SRGB swapchain 224- Non-DRI builds broken by recent cleanups in Mesa core 225- Cinnamon core dump after installing latest oibaf mesa build (165a69d2) 226- yuv sampler lowering regression 227- clover llvm build failure ‘class llvm::VectorType’ has no member named ‘getNumElements’; 228- Possible corruption for apps using multiple Z-buffers on TGL 229 230 231Changes 232------- 233 234Aaron Liu (1): 235 236- amd: add Yellow Carp support 237 238Abel García Dorta (2): 239 240- i915g: add HW atomic counters as unsupported 241- i915g: fix implicit fallthrough 242 243Adam Jackson (53): 244 245- Revert "glx: Lift sending the MakeCurrent request to top-level code" 246- gallium/xlib: Fix for recent gl_config changes 247- glx/drisw: Enable GLX_ARB_create_context_no_error 248- glx: Remove silly __glXGetGLVersion() indirection 249- glx: Remove some truly ancient unused code 250- glx: Remove major/minor version tracking from extension table 251- glx: Mark GLX_{ATI_pixel_format_float,NV_float_buffer} as supported 252- glx: Remove some non-functional GL extension from the table 253- glx: Generalize __glXGetStringFromTable a little 254- glx: Remove redundant client_support field from extension table 255- glx: Enable pure-client-library extensions explicitly 256- glx: Fold client_gl_only array into its one real user 257- glx: Remove some ancient backwards-compatibility typedefs 258- zink: Learn about VK_KHR_swapchain 259- zink: Fix format query for minmax reduction support 260- gallium: Fix PIPE_BIND_SAMPLER_REDUCTION_MINMAX definition to be unique 261- dri: Try harder to infer the drawable fbconfig if needed 262- glx: Return the right GLX opcode in synthetic MakeCurrent errors 263- glx: s/dri_message/glx_message/ 264- glx: Add and use DebugMessageF convenience macro 265- glx: Convert undocumented LIBGL_DIAGNOSTIC to LIBGL_DEBUG=verbose 266- glx: Remove unused debugging printfs 267- glx: Implement GLX_EXT_no_config_context 268- glx: Stop pretending the GLX major number isn't 1 269- glx: Stop force-enabling extensions "implied" by GLX 1.3 270- glx: Simplify glXIsDirect 271- glx: Remove warn-once-ery around GLX 1.3 functions 272- glx: Remove unused opcode argument to __glX{Get,QueryServer}String 273- glx: Stash a copy of the XExtCodes in the glx_display 274- glx: Simplify some overuse of GetGLXScreenConfigs 275- glx: Move server GLX vendor and version strings to glx_screen 276- glx: s/Display \*/struct glx_display \*/ over internal API 277- glx: Remove some dead declarations from glxclient.h 278- Revert "glx: s/Display \*/struct glx_display \*/ over internal API" 279- include: Remove unused i810_pci_ids.h 280- i915c: Add a symlink for i830_dri.so 281- mesa: Remove unused _mesa_{create,destroy}_visual 282- mesa: Ignore the depth buffer when computing framebuffer floatness 283- gallium: Reset attachments to ST_ATTACHMENT_INVALID when revalidating 284- format/fxt1: Clean up fxt1_variance's argument list 285- mesa: s/malloc/calloc/ to silence a warning 286- gallium: Remove unused st_visual::render_buffer 287- gallivm: Fix a signature mismatch warning 288- zink/ntv: Don't call free() on ralloc'd memory 289- gallium/dri: Remove unused dri_drawable::drisw_surface 290- drisw: Don't bzero displaytarget pixels 291- intel: properly constify isl_format_layouts 292- classic/xlib: Fix the build after !9817 293- swrast: Fix a warning from gcc 11 294- loader/dri3: Properly initialize the XFIXES extension 295- loader/dri3: Don't churn through xfixes regions in SwapBuffers 296- vl/dri3: Don't leak regions on the X server 297- meson: Make prefer-{crocus,iris} always take effect 298 299Alejandro Piñeiro (30): 300 301- v3dv/debug: print correct stage name 302- v3dv/debug: use gl stage when checking debug flag 303- v3dv/pipeline: track descriptor maps per stage, not per pipeline 304- v3dv: remove custom icd json generation 305- v3dv: move extensions table to v3dv_device 306- v3dv: don't use typedef enum with broadcom stages 307- v3dv: remove unused v3dv_zs_buffer_from_vk_format 308- broadcom/compiler: use proper type field for atomic operations 309- v3d/simulator: capture hub interrupts 310- v3d/simulator: add a cache flush mode enum 311- v3d/simulator: wait for cache flushes 312- v3d/simulator: use the proper register when waiting on a CSD submit 313- v3d/simulator: use BFC/RFC registers to wait for bin/render to complete 314- broadcom/common: move v3d_tiling to common 315- v3d/simulator: hw mem is now an v3d_size_t, typedef to uint32_t 316- v3d/simulator: get rid of has_gca wrapper 317- v3dv: rename v3dv_pack for v3dvx_pack 318- v3dv/cmd_buffer: add helper job_emit_binning_prolog 319- v3dv/cmd_buffer: move cl_emit calls for Draw methods to helpers 320- v3dv: start to move and wrap hw-version code with v3dv_queue 321- v3dv: split v3dv_pipeline hw version dependant code to a new source file 322- v3dv: split v3dv_image hw version dependant code to a new source file 323- v3dv: split v3dv_format hw version dependant code to a new source file 324- v3dv: split v3dv_device hw version dependant code to a new source file 325- v3dv: move several hw version dependant code to their own (v3dvx) source file 326- v3dv: split v3dv_descriptor hw version dependant to a new source file. 327- v3dv: don't use cl_packet_length for prepacked data 328- v3dv: remove gen-dependant includes from v3dv_private 329- v3dv/build: meson infrastructure for multi-hw-version support 330- v3dv/format: expose properly that some formats are not filterable 331 332Alexander Monakov (2): 333 334- freedreno/drm-shim: pretend to offer DRM 1.6.0 335- freedreno/drm-shim: keep GEM buffers page-aligned 336 337Alexander Shi (1): 338 339- mesa: texparam: Add a clamping macro to handle out-of-range floats returned as integers. 340 341Alexey Nurmukhametov (1): 342 343- tu/kgsl: Fix file descriptor double close 344 345Alyssa Rosenzweig (668): 346 347- nir: Update some comments referring to imov 348- panfrost: Don't allow_forward_pixel_to_kill for Z/S blit 349- panfrost: Set allow_forward_pixel_to_be_killed for blit 350- panfrost: Set clean_fragment_write for blits 351- panfrost: Invert blend_reads_dest logic 352- panfrost: Don't allow FPK if a RT is missing 353- panfrost: Allow FPK when there are no side effects 354- panfrost: Keep Bifrost blendable -> pixel in table 355- panfrost: Specialize blendable formats for sRGB 356- panfrost: Simplify format_to_bifrost_blend prototype 357- panfrost: Drop blendable format accessor 358- panfrost: Always pick dithered tb formats 359- panfrost: Remove padded unorm blendable formats 360- docs/macos: Explain Apple GLX versus OSMesa on macOS 361- nir/lower_fragcolor: Use shader_instructions_pass 362- nir/lower_fragcolor: Handle fp16 outputs 363- panfrost: Fix formats converting uninit from AFBC 364- nir/lower_fragcolor: Fix driver_location assignment 365- nir/lower_fragcolor: Take max cbufs as argument 366- d3d12: Switch to nir_lower_fragcolor 367- util/bitset: Add BITSET_COUNT helper 368- nir: Add fsin_agx opcode 369- asahi: Stub command-line compiler for AGX G13B 370- agx: Add opcode descriptions as Python 371- agx: Generate opcode list 372- agx: Generate runtime-accessible opcode table 373- agx: Generate builder routines 374- agx: Stub NIR backend compiler 375- agx: Remap varyings to match AGX ABI 376- agx: Stub control flow walking 377- agx: Stub NIR instruction iteration 378- agx: Stub emit_intrinsic 379- agx: Implement load_const as mov 380- agx: Implement direct st_vary 381- agx: Add agx_alu_src_index helper for emit_alu 382- agx: Implement vec2/vec3/vec4 ops 383- agx: Implement fragment_out 384- agx: Add instruction printing 385- agx: Add a trivial register allocator 386- agx: Add instruction packing 387- agx: Add packing for memory loads/stores 388- agx: Add st_vary(_final) instruction packing 389- agx: Terminate programs with stop and traps 390- agx: Implement ld_vary 391- agx: Implement simple floating point ops 392- agx: Implement fsin/fcos 393- agx: Add 8-bit AGX minifloat routines 394- agx: Add minifloat tests 395- agx: Implement native float->int conversions 396- agx: Implement native int->float conversions 397- agx: Add bitwise operations 398- agx: Add iadd/imad integer arithmetic 399- agx: Add saturated integer add/subtract support 400- agx: Add 32-bit bitwise shifts 401- agx: Add forward optimizing pass for fmov 402- agx: Add dead code eliminator 403- agx: Propagate fmov backwards as well 404- agx: Propagate immediates 405- agx: Implement limited case of i2i16/i2i32 as iadd 406- agx: Add sysval management helper 407- agx: Implement load_ubo/kernel_input 408- agx: Set flag on last st_vary instruction 409- agx: Lower load_attr to device memory accesses 410- agx: Implement vertex_id 411- agx: Add agx_tex_dim helper 412- agx: Emit texture ops 413- agx: Pack texture ops 414- agx: Add min/max support 415- agx: Support 1-bit booleans 416- agx: Implement b2f 417- agx: Add b2i implementation 418- agx: Pack cmpsel 419- agx: Support bcsel 420- asahi: Add hexdump utility 421- asahi: Add command buffer XML definitions 422- asahi: Add allocation data structure 423- asahi: Add a GenXML fork 424- asahi: Add (clean room) IOKit uABI header 425- asahi: Add command buffer decode helpers 426- asahi: Add tiling routines 427- asahi: Add device abstraction 428- asahi: Add pool data structure 429- asahi: Add uniform upload routines 430- asahi: Add some magic IOGPU routines 431- asahi: Add vertex formats table 432- asahi: Add Gallium driver 433- nir/opcodes: Reword confusing comment 434- pan/bi: Add missing sr_count to pseudo-atomics 435- pan/bi: Don't reference uninit source in ATOM_C1 436- pan/bi: Add simple constant folding pass 437- pan/bi: Don't reference nir_lower_mediump_outputs 438- pan/bi: Simplify Python expression 439- pan/bi: Union modifiers from across variants 440- pan/bi: Support 16-bit load_interpolated_input 441- pan/bi: Emit int CSEL instead of float by default 442- pan/bi: Implement vectorized f32_to_f16 443- pan/bi: Fix 16-bit fsat 444- pan/bi: Improve assert for vector size errors 445- pan/bi: Implement vectorized int downcasts 446- pan/bi: Fix loads and stores smaller than 32 bits 447- pan/bi: Lower swizzles on CLPER 448- pan/bi: Add and use bi_negzero helper 449- pan/bi: Don't schedule clamps to +FADD.v2f16 450- pan/bi: Workaround \*V2F32_TO_V2F16 erratum 451- panfrost: Don't unroll loops in GLSL 452- panfrost: Remove old dEQP workaround 453- pan/bi: Track dual-src blend type 454- pan/bi: Handle different sizes of LD_TILE 455- pan/bi: Add single-component 8-bit mkvec lowering 456- pan/bi: Handle swizzles in i2i8 457- pan/bi: Lower 8-bit fragment input 458- panfrost: Make comment less confusing 459- panfrost: Support alpha_to_one 460- panfrost: Minor cleanup of blend CSO 461- panfrost: Don't clobber RT0 if RTn is disabled 462- pan/lower_blend: Clean up type size handling 463- pan/lower_blend: Use NIR helpers 464- pan/lower_blend: Rename is_bifrost->scalar 465- panfrost/blend: Fix outdated comments 466- panfrost/blend: Workaround a v7 implementation-detail 467- panfrost/blend: Distribute to_c_factor 468- panfrost/blend: Prepare for lower_fragcolor 469- panfrost: Call nir_lower_fragcolor based on key 470- panfrost: Assume lower_fragcolor has been called 471- panfrost/lower_framebufffer: Don't use i2imp 472- pan/blend: Emit explicit conversions for all types 473- panfrost: Key blend shaders to the input types 474- pan/mdg: Hide units behind MIDGARD_MESA_DEBUG=verbose 475- pan/mdg: More concise RMU name 476- pan/mdg: Don't print zero shifts 477- pan/mdg: Suppress most attribute tables 478- pan/mdg: Don't print explicit .rte 479- pan/mdg: Don't print mem addr brackets 480- pan/mdg: Reduced printed parens 481- pan/mdg: Don't print zero 482- pan/bi: Add imm_uintN helper 483- pan/bi: Handle integer min/max ourselves 484- pan/bi: Handle ineg 485- pan/bi: Handle b2f ourselves 486- pan/bi: Handle b2i8/16 487- pan/bi: Track scalarness of 16-bit ALU 488- pan/bi: Don't swizzle scalars 489- pan/bi: Switch to 1-bit bools 490- pan/bi: Use nir_lower_to_bit_size 491- pan/mdg: Use _output_ type for outmod printing 492- pan/mdg: Remove midgard_opt_copy_prop_reg 493- pan/mdg: Enable nir_opt_{move, sink} 494- panfrost/blend: Inline blend constants 495- pan/mdg: Model blend shader interference 496- panfrost: Fix typo handling blend types 497- pan/bi: Change swizzled scalars to identity 498- pan/bi: Adapt branching for 1-bit bools 499- pan/bi: Handle make_vec with 1-bit bools 500- pan/bi: Temporarily switch back to 0/~0 bools 501- pan/bi: Enable NIR vectorization 502- pan/bi: Fix int<-->float size converts 503- pan/bi: Copyprop constants 504- pan/bi: Garbage collect bifrost_nir.h 505- pan/bi: Enable mediump BLEND lowering 506- panfrost: Enable 16-bit support on Bifrost 507- pan/lower_framebuffer: Fix bitsize mismatch 508- nir: Add blend lowering pass 509- panfrost: Use common blend lowering 510- nir/divergence_anlysis: Add intrinsics for Bifrost 511- pan/bi: Drop load_sampler_lod_parameters_pan 512- pan/bi: Map load_subgroup_invocation to FAU 513- pan/bi: Add "lanes per warp" accessor 514- pan/bi: Add divergent intrinsic lowering pass 515- asahi: Translate blend CSO to lower_blend options 516- asahi: Augment Gallium key with blend state 517- asahi: Call nir_lower_blend with selected key 518- asahi: Garbage collect bind_state 519- asahi: Implement set_blend_color 520- asahi: Add blend constant system value 521- asahi: Call nir_lower_fragcolor 522- asahi: Fix shader key hash function 523- asahi: Pass through "reads tilebuffer?" bit 524- agx: Return agx_instr* from emit_intrinsic 525- agx: Implement blend constant color sysvals 526- agx: Rename blend -> st_tile 527- agx: Add ld_tile opcode 528- agx: Assume lower_fragcolor has been called 529- agx: Condition writeout ops on already being emitted 530- agx: Implement load_output 531- agx: Set reads_tib appropriately 532- panfrost: Drop panfrost_fence in favour of pipe_fence_handle 533- docs: Simplify now that kmsro is autoenabled 534- pan/bi: Add first_vertex to vertex ID 535- panfrost: Track buffers needing resolve 536- panfrost: Set discard based on the resolve set 537- panfrost: Implement framebuffer invalidation 538- panfrost: Hide CAP_INT16 behind is_deqp 539- panfrost: Don't translate compare funcs 540- panfrost: Remove spurious assignment 541- panfrost: Clean up cases for emit_fbd 542- panfrost: Don't upload empty push uniform table 543- pan/mdg: Use smaller LD_UNIFORM instructions 544- ci: Build asahi in meson-gallium job 545- panfrost: Fix major flaw in BO cache 546- panfrost: Drop random #define 547- panfrost: Use natural shader limits 548- panfrost: Make clear which limits are arbitrary 549- panfrost: Garbage collect comment 550- panfrost: Shorten iffy comment 551- pan/mdg: Remove unused midgard_int_alu_op_prefix 552- pan/mdg: Fix output types for scalar fields 553- pan/mdg: Fix spills to TLS 554- pan/mdg: Set lower_uniforms_to_ubo 555- panfrost: Add unowned mode to pan_pool 556- panfrost: Label all BOs in userspace 557- panfrost: Label pools 558- panfrost: Make pool slab size configurable 559- panfrost: Add reference type for unowned pool 560- panfrost: Pool shaders 561- panfrost: Pool texture views 562- panfrost: Reduce blitter pool size 563- panfrost: Fix blending for unbacked MRT 564- panfrost: Fix the reads_dest prototype 565- panfrost: Fix is_opaque prototype 566- panfrost: Fix blend constant fetch prototype 567- panfrost: Fix blend fixed-function prototype 568- panfrost: Fix pan_blend_to_fixed_function_equation prototype 569- panfrost: Move blend properties to CSO create 570- panfrost: Translate fixed-function blend at CSO create 571- panfrost: Garbage collect Gallium blend includes 572- panfrost: Pack blend equations at CSO create time 573- panfrost: Distribute out constant colour code 574- panfrost: Simplify blend_final 575- panfrost: Pass batch to panfrost_get_blend 576- panfrost: Streamline fixed-function get_blend path 577- panfrost: Remove unused dither flag 578- panfrost: Split Bifrost BLEND emit by word 579- panfrost: Precompute bifrost_blend_type_from_nir 580- panfrost: Add draw-time merge helper 581- panfrost: Prepack partial RSD at compile time 582- panfrost: Move depth/stencil/alpha to CSO create 583- panfrost: Preset evaluate_per_sample 584- panfrost: Correct the type of sample_mask 585- panfrost: Fill out the rasterizer CSO 586- panfrost: Move early-z decision earlier 587- panfrost: Streamline the !fs_required case 588- panfrost: Hoist allow_forward_pixel_to_be_killed 589- panfrost: Partially determine FPK state 590- panfrost: Distribute masks for FPK selection 591- panfrost: Pull erratum workaround into own function 592- panfrost: Hoist part of shader_reads_tilebuffer 593- panfrost: Pack draw-time RSD all-at-once 594- panfrost: Move batch_set_requirements to the CSO 595- panfrost: Deduplicate some code from indirect/direct draws 596- panfrost: Pass batch to panfrost_get_index_buffer_bounded 597- panfrost: Remove silly assertion 598- panfrost: Mark job_index > 10000 as unlikely 599- panfrost: Simplify panfrost_bind_sampler_states 600- panfrost: Express viewport in terms of the batch 601- asahi: Set PACKED_STREAM_OUTPUT 602- glsl: Fix subscripted arrays with no XFB packing 603- glsl: Fix packing of matrices for XFB 604- panfrost: Streamline varying linking code 605- panfrost: Define dirty tracking flags 606- panfrost: Add the usual clean/dirty helpers 607- panfrost: Dirty all state when batch is set 608- panfrost: Dirty track RSDs 609- panfrost: Dirty track textures/samplers 610- panfrost: Dirty track viewport descriptor 611- panfrost: Dirty track fragment images 612- panfrost: Add PAN_MESA_DEBUG=dirty option 613- panfrost/ci: Disable GLES2 jobs when we run GLES3 614- panfrost/ci: Disable G72 jobs for now 615- panfrost/ci: Split rules by ISA 616- ci: Condition ppc64-el on specific drivers 617- ci: Condition s390x on specific drivers 618- panfrost: Only link varyings once in good conditions 619- panfrost: Lower max inputs again 620- panfrost: Abort on faults in SYNC mode 621- panfrost: Remove minimal mode 622- panfrost: Increase tiler_heap max allocation to 64MB 623- panfrost/ci: Disable terrain trace 624- panfrost/ci: Remove reference to dated flag 625- panfrost/ci: Run jobs with PAN_MESA_DEBUG=sync 626- panfrost: Add Message Preload descriptor XML 627- panfrost: Add message preload to pan_shader_info 628- panfrost: Inline pan_prepare_shader_descriptor 629- panfrost: Don't take ctx in panfrost_shader_compile 630- panfrost: Expose PIPE_CAP_SHAREABLE_SHADERS 631- asahi: Fix meson.build definition to depend on agx_pack.h 632- agx: Drop cmdline version back to ES3.0 633- agx: Pack ld_var Dx 634- agx: Enable 1-bit load_const 635- agx: Implement boolean mov 636- agx: Track current_block 637- agx: Track block offsets 638- agx: Add nest field to IR 639- agx: Add invert_cond (ccn) to IR 640- agx: Add branch target to IR 641- agx: Add inner loop nesting count field 642- agx: Model control flow instructions 643- agx: Model pop_exec 644- agx: Add push_exec alias 645- agx: Pack control flow instructions 646- agx: Model jump instructions 647- agx: Fix up branch offsets at pack time 648- agx: Implement emit_if the simplest way 649- agx: Optimize out empty else blocks 650- agx: Implement loops in the simplest way 651- agx: Add break/continue support 652- agx: Zero r0l before first use of control flow 653- asahi: Fix scissor descriptor definition 654- asahi: Add "set scissor" command 655- asahi: Add scissor enable bit 656- asahi: Defer viewport pack 657- asahi: Dirty track viewport descriptor 658- asahi: Track scissor states 659- asahi: Mark scissor dirty if rast->scissor changes 660- asahi: Skip draws if the scissor culls everything 661- agx: Add scissor upload BO 662- asahi: Expose PIPE_CAP_CLIP_HALFZ 663- asahi: Add unknown bits seen with the GL driver 664- asahi: Enable depth culling 665- asahi: Update viewport descriptor depth fields 666- asahi: Implement scissors and scissor to viewport 667- asahi: Fix off-by-one in viewport scissoring 668- asahi: Implement wide lines 669- asahi: Determine tiling vs linear for internal textures 670- asahi: Use dt_stride for line_stride where needed 671- asahi: Add layout enum to XML 672- asahi: Translate layouts for texture and RTs 673- asahi: Identify line stride in texture/RT XML 674- asahi: Respect linear strides 675- asahi: Handle linear display targets as well as tiled 676- asahi: Note that "render target" lacks an sRGB bit 677- asahi: Align strides to 16 bytes 678- asahi: Print unknown enum values 679- asahi: Add format enums 680- asahi: Hide pixel formats behind an opaque type 681- asahi: Scaffold format table 682- asahi: Use pixel table in is_format_supported 683- asahi: Respect render target format swizzle 684- asahi: Add ETC2 formats to table 685- asahi: Add "hacks for dEQP" flag 686- asahi: Lift streamout scaffolding from Panfrost 687- asahi: Fake CAPs for ES3 with AGX_MESA_DEBUG=deqp 688- asahi: Flesh out the formats table 689- asahi: Allow half-float vertex buffers 690- asahi: Make data_valid a bitset to save memory 691- asahi: Abort on blit() 692- asahi: Add mipmapping state to the XML 693- asahi: Set levels in texture descriptor 694- asahi: Allocate slices for mipmapping 695- panfrost: Update comment 696- panfrost: Shrink pan_draw_mode return type 697- panfrost: Add draw parameters dirty flags 698- panfrost: Analyze sysval dirty flags 699- panfrost: Dirty track constant buffers 700- panfrost: Don't allocate empty varying buffer 701- panfrost: Dirty track stack sizes 702- panfrost: Write translate_index_size better 703- panfrost: Minor changes to draw_vbo 704- panfrost: Bubble up errors 705- panfrost: Elucidate thread group split field 706- panfrost: Eliminate reserve_* functions 707- panfrost/ci: Report flakes on IRC 708- vc4: Use Rn_UINT instead of In_UINT for index buffers 709- v3d: Use Rn_UINT instead of In_UINT for index buffers 710- etnaviv: Use Rn_UINT instead of In_UINT for index buffers 711- freedreno: Use Rn_UINT instead of In_UINT for index buffers 712- lima: Use Rn_UINT instead of In_UINT for index buffers 713- si: Use Rn_UINT instead of In_UINT for index buffers 714- docs/gallium: Document the index buffer format convention 715- nir: Add nir_intrinsic_load_back_face_agx 716- asahi: Mark special fragment inputs as sysvals 717- agx: Model get_sr 718- agx: Generate enums from Python 719- agx: List sr enum in Python 720- agx: Pack SR immediate 721- agx: Lower front face to back face 722- agx: Handle load_back_face_agx 723- ci: Disable the iris APL jobs 724- nir/lower_fragcolor: Avoid redundant load_output 725- pan/bi: Pull out bi_count_write_registers 726- pan/bi: Use TEXS_2D for rect textures 727- pan/bi: Simplify TEXC codegen for sr_count=0 728- pan/bi: Fix bi_rewrite_passthrough ordering 729- pan/bi: Bundle after RA 730- pan/bi: Add post-RA optimizer 731- pan/bi: Track liveness while scheduling 732- pan/bi: Allow IADD.u32 on FMA as \*IADDC 733- pan/bi: Use explicit affinities in RA 734- pan/bi: Inline spilling in RA 735- pan/bi: Explicit zero reg_live_{in, out} when needed 736- pan/bi: Model interference with preloaded regs 737- pan/bi: Allow move/sink in blend shaders 738- pan/bi: Don't restrict the register file in non-blend shaders 739- pan/bi: Model +BLEND clobbering of r48 740- pan/bi: Handle images in vertex shaders 741- pan/bi: Lower loads with component > 0 742- pan/bi: Lower stores with component != 0 743- pan/bi: Lower 64-bit ints again 744- pan/bi: Emit a dummy ATEST if needed 745- pan/bi: Simplify spill code 746- pan/bi: Track words instead of bytes in RA 747- pan/bi: Don't allocate past the end of the reg file 748- panfrost: Remove AFBC format fixups 749- panfrost: Add missing 'Reverse issue order flag' 750- panfrost: Disable AFBC on v7 751- panfrost: Don't duplicate attribute buffers 752- panfrost: Separate image attribute and buffer emit 753- panfrost: Be explicit in image modifier handling 754- panfrost: Use util_last_bit for images 755- panfrost: Default indirect attributes to 1D type 756- pan/indirect: Factor out is_power_of_two_or_zero 757- pan/indirect_draw: Use unsigned comparisons 758- pan/indirect_draw: Fix 1 instance, nonzero divisor 759- panfrost: Correctly size varyings 760- panfrost: Use varying format from frag shader 761- pan/bi: Force u32 for flat varyings 762- panfrost: Fix vertex image attribute overrun 763- panfrost: Simplify compute_checksum_size formula 764- panfrost: Fix crc_valid condition 765- panfrost: Zero r_dimension for buffer textures 766- panfrost: Add util_draw_indirect() debug path 767- panfrost: Align NPOT divisor records 768- panfrost: Fix src_offset data type 769- panfrost: Make instancing code more obvious 770- panfrost: Assert alignment of indirect records 771- pan/mdg: Use consistent casing in midgard_print 772- pan/mdg: Make -Wswitch happy 773- pan/mdg: Stub memory_barrier{_image} 774- panfrost: Clarify how fs_sidefx works with oq 775- panfrost: Simplify Midgard blend disable 776- panfrost: Don't force early-z with occlusion query 777- panfrost: Respect early-Z force on Midgard 778- pan/mdg: Fix units for SUBSAT 779- pan/mdg: Handle {i,u}{add,sub}_sat 780- pan/mdg: Update r1.w comment 781- pan/mdg: Fix incorrect rewrite in Midgard scheduler 782- panfrost: Mark 16/32_UNORM as non-renderable (v5) 783- panfrost: Don't allocate WLS when not needed 784- pan/mdg: Wire in PAN_SYSVAL_VERTEX_INSTANCE_OFFSETS 785- pan/mdg: Lower away gl_VertexID offset 786- pan/mdg: Use more accurate ld/st reg estimates 787- pan/mdg: Don't skip unit-based checks in choose_instruction 788- pan/mdg: Assert scheduled instructions are reasonable 789- pan/mdg: Insert moves to load/store registers 790- panfrost: Fix dirty state emission 791- panfrost: Emulate indirect draws on Midgard 792- panfrost: Add some missing BGRA formats 793- panfrost: Remove scissor_culls_everything 794- panfrost: Don't set a blend shader for no_colour 795- panfrost: Allocate XFB buffers per-instance 796- panfrost: Fix BUFFER image handling 797- panfrost: Make image buffers robust 798- panfrost: Lower max compute size 799- panfrost: Set PIPE_COMPUTE_CAP_SUBGROUP_SIZE 800- panfrost: Set PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK 801- panfrost: Drop todo on PIPE_COMPUTE_CAP_IMAGES_SUPPORTED 802- panfrost: Don't CRC mipmapped textures 803- panfrost: Reduce pan_image_state indirection 804- pan/indirect_dispatch: Indent NIR blocks 805- pan/indirect_dispatch: Simplify empty command case 806- pan/indirect_dispatch: Distinguish minus-1 defs 807- pan/indirect_dispatch: Expand split expressions 808- pan/indirect_dispatch: Use extracted values 809- panfrost: Use direct dispatch with shared memory 810- panfrost: Don't clobber indirect dispatch fields 811- panfrost: Make data_valid a bitset 812- panfrost: Remove pan_image_state 813- panfrost: Set valid_buffer_range for GPU writes 814- panfrost: Add XML for vertex/instance ID records 815- panfrost: Clean up vertex/instance ID on Midgard 816- panfrost: Flush everything for glMemoryBarrier 817- panfrost: Flush before compute jobs 818- panfrost: Set vertex job_barrier 819- panfrost: Add "Cache Flush" job XML 820- panfrost: Advertise GLES3.1 821- pan/decode: Fix image attribute counting 822- pan/decode: Handle cache flush jobs 823- panfrost/ci: Blank G52 flakes file 824- panfrost/ci: Don't skip SSBO tests on G52 825- panfrost/ci: Do fractional dEQP-GLES31 run on Midgard 826- docs/features: Mark GLES3.1 as done on Panfrost 827- docs/panfrost: Update API versions 828- pan/bi: Include modifier info in opcode table 829- pan/bi: Move bi_word_node to common code 830- pan/bi: Move typesize to common code 831- pan/bi: Track instruction size in opcode table 832- pan/bi: Handle fsat_signed and fclamp_pos 833- pan/bi: Report tuples, not nops, in shader-db 834- pan/bi: Propagate fabs/neg/sat 835- pan/bi: Add back custom algebraic opts 836- pan/bi: Fuse fclamp_pos and fsat_signed 837- pan/bi: Schedule FCMP.v2f16 with abs modifier 838- pan/bi: Fuse abs into FCMP/FMIN/FMAX.v2f16 839- nir: Fix constant folding for irhadd/urhadd 840- agx: Mark components as ASSERTED 841- agx: Add agx_immediate_f helper 842- agx: Add perspective bit to ld_var 843- agx: Update ld_vary encoding mask 844- agx: Add ld_vary_flat opcode 845- asahi: Identify varying descriptor fields 846- agx: Rename remap_varyings -> remap_varyings_vs 847- agx: Implement nir_intrinsic_load_frag_coord 848- agx: Implement ld_vary_flat 849- agx: Rename agx_pack to agx_pack_binary 850- agx: Remap fragment shader varyings explicitly 851- asahi: Unify varying linking code with vertex shaders 852- agx: Pull out agx_write_components 853- agx: Add agx_exit_block helper 854- agx: Add liveness analysis pass 855- agx: Mark sources that kill 856- agx: Count write registers, not components 857- agx: Lift agx_block_add_successor from Panfrost 858- agx: Track logical control flow graph 859- asahi: Wire in tgsi_to_nir 860- asahi: Fix random \*2 861- asahi: Guard for overflow when packing 862- asahi: Always flush when setting framebuffer state 863- asahi: Handle Z16_UNORM textures 864- asahi: Add zsbuf to batch 865- asahi: Save zsbuf ptr 866- asahi: Add internal (renderable) formats to the table 867- asahi: Set fragment key for non-U8NORM render targets 868- asahi: Implement colour buffer reloads 869- asahi: Remove spurious assignment 870- asahi: Remove spurious varying assignment 871- asahi: Generalize varying linking 872- asahi: Add ASAHI_MESA_DEBUG=no16 option 873- agx: Fix 32-bit bitwise shifts 874- agx: Fix LOD_MIN enum 875- agx: Pack LOD descriptors 876- agx: Fix lod_mode shift 877- agx: Legalize LOD sources to be 16-bit only 878- agx: Handle txl 879- asahi: Fail on LOD clamps/bias 880- asahi: Identify texture/sampler count fields 881- asahi: Identify vertex texture/sampler counts 882- asahi: Set vertex texture/sampler counts 883- asahi: Track more Gallium state 884- asahi: Wire in u_blitter 885- asahi: Handle nonzero first_level 886- asahi: Fix meson dependency on packing in compiler 887- asahi: Prepack rasterizer faces 888- asahi: Implement the stencil test 889- asahi: Flush for accesses to Z/S buffer 890- asahi: Comment on an embedded data structure 891- asahi: Skip over holes in the vbufs 892- asahi: Add XML for the attachment structure 893- asahi: Sync attachment magic with asahi demo 894- asahi: Parametrize software "command buffer" size 895- asahi: Identify "command buffer" size field in map 896- asahi: Move IOGPU header to XML 897- asahi: Extend IOGPU header to contain encoder 898- asahi: Use GenXML for main bind fragment 899- asahi: Identify attachment length field 900- asahi: Set data_valid for the depth buffer 901- asahi: Enable primitive restart 902- asahi: Use XML for interpolation packet 903- panfrost: Express dependencies as resources, not BOs 904- panfrost: Wrap occlusion query in pipe_resource 905- panfrost: Split "flush writer" from "flush accessing" 906- panfrost: Eliminate redundant flushes with AFBC 907- panfrost: Add secondary shader XML fields 908- pan/decode: Handle IDVS jobs on Bifrost 909- agx: Don't choke on registers in the optimizer 910- agx: Count read registers as well 911- agx: Assign registers locally 912- agx: Pipe in nir_register 913- agx: Ensure we don't overallocate registers 914- panfrost: Move draw_vbo to pan_cmdstream.c 915- panfrost: Move most CSO creates to pan_cmdstream.c 916- panfrost: Split out prepare_rsd into a vtbl 917- panfrost: Move blend CSO to cmdstream/context 918- panfrost: Don't ralloc panfrost_blend_state 919- panfrost: Move launch_grid to pan_cmdstream 920- panfrost: Move panfrost_emit_tile_map to pan_job 921- panfrost: Use vtable for fragment descriptor functions 922- panfrost: Clean up pan_cmdstream.h 923- panfrost: Move sample accessor to pan_cmdstream 924- panfrost: Remove pan_cmdstream.h 925- panfrost: Remove unused midgard-pack.h includes 926- docs: Update relnotes for panfrost/asahi 927- pan/bi: Improve clause printing 928- pan/bi: Fix skip/lod_mode aliasing with VAR_TEX 929- pan/bi: Add bi_foreach_instr_global_rev_safe helper 930- pan/bi: Pack staging_barrier for the -next- clause 931- pan/bi: Try to hit full occupancy on v7 932- pan/bi: Only spill nodes that could progress in RA 933- pan/bi: Report cycle counts 934- pan/bi: Track LOD mode even for TEXC 935- pan/bi: Analyze helper invocations 936- pan/bi: Fuse LD_VAR+TEXS_2D -> VAR_TEX 937- pan/bi: Add a constant subexpression elimination pass 938- pan/bi: Workaround widen restrictions on +FADD.f32 939- pan/bi: Simplify cube map descriptor generation 940- pan/bi: Comment the fexp2 implementation 941- pan/bi: Factor out exp2/log2 code 942- pan/bi: Don't lower fpow 943- panfrost: Fix FPK enable condition 944- panfrost: Add a performance counter dump utility 945- panfrost: Don't set zs_update_operation in vertex shaders 946- panfrost: Zero depth_source in vertex shaders 947- panfrost: Query tiler features 948- panfrost: Enable more tiler levels if we can 949- panfrost: Generalize pan_blitter's reg count assert 950- panfrost: Set register allocation in the v7 RSD 951- asahi: Move fixed internal shaders to agx_blit.c 952- asahi: Add missing copyright/guards for magic.c/h 953- asahi: Remove unused bo_access property 954- asahi/decode: Only dump mapped allocations 955- asahi: Make track_free safer 956- asahi/decode: Check fewer zeroes after a command buffer 957- asahi: Reserve more space to stop a command buffer 958- asahi: Identify more unknown fields in the memmap 959- asahi/decode: Fix up high word 960- asahi/decode: Handle CULL packets 961- asahi/decode: Fix decoding of draw calls 962- asahi: Allow specifying an encoder ID 963- asahi: Allocate global IDs 964- asahi: Consolidate some magic numbers 965- asahi: Garbage collect senseless cmdbuf struct 966- asahi/decode: Print clear/store pipelines 967- asahi/decode: Print some IOGPU stuff 968- asahi: Set bits in UNK11 needed for points 969- asahi: Set point magic bit in rasterizer 970- asahi: Set bit for psiz 971- asahi: Lower PIPE_CAPF_MAX_POINT_WIDTH to hw limit 972- asahi: Unpack varying descriptors (1x) 973- asahi: Identify triangle/lines vs point varyings 974- asahi: Handle point coordinates 975- agx: Flip point coordinates because OpenGL 976- panfrost: Inline flip_compare_func into pan_encoder.h 977- panfrost: Move panfrost_vertex/instance_id to per-gen 978- panfrost: Inline away pan_pool.c 979- panfrost: Express pack_work_groups more concisely 980- panfrost: Inline away pan_invocation.c 981- panfrost: Assert that injected jobs are for blits 982- panfrost: Inline panfrost_get_z_internal_format 983- panfrost: Move arch-independent pan_format code 984- panvk: Don't use panfrost_bifrost_swizzle 985- panfrost: Remove panfrost_bifrost_swizzle 986- panfrost: Add GenXML macros 987- panfrost: Compile format table multiple times 988- panfrost: Specialize blendable_formats for v6 989- panfrost: Use smaller sizes in blend table 990- panfrost: Give WLS Instances a default 991- panfrost: Pin an architecture for blending 992- panfrost: Use generic delete for ZSA 993- panfrost: Remove reference to mali_blend_equation_packed 994- panfrost: Avoid GenXML enum dependences 995- panfrost: Remove pan_blitter integration 996- panfrost: Init/destroy blitter from per-gen file 997- panfrost: Only access blitter from per-gen 998- pan/bi: Refuse to CSE non-SSA sources 999- pan/bi: Make bi_foreach_instr_in_tuple safer 1000- pan/bi: Update ins->link after scheduling 1001- pan/bi: Do helper termination analysis on clauses 1002- pan/bi: Handle multiple destinations in scheduler 1003- pan/bi: Add bi_before_tuple convenience method 1004- pan/bi: Handle 4-src instructions in scheduler 1005- pan/bi: Calculate dependency graph when bundling 1006- pan/bi: Add a bundling heuristic 1007- panfrost: Fix format swizzles on G72 1008- targets/graw-xlib: Add missing dep_x11 1009- pan/mdg: Garbage collect silly quirk 1010- asahi: Fix sampler filtering flag 1011- agx: Fix mismatched units in load_ubo 1012- agx: Plug memory leak in register allocator 1013- pan/bi: Restrict swizzles on same cycle temporaries 1014- pan/bi: Remove incorrect errata workaround 1015 1016Andres Gomez (25): 1017 1018- ci: Uprev piglit to 9d87cc3d79e ("framework/replay: send backend's subprocess stderr to sys.stderr") 1019- ci: Add test which occasionally times out to lavapipe-vk skips 1020- ci: add xorg to the x86_test-vk container 1021- ci: allow starting xorg for piglit run 1022- ci: remove results directory content only with piglit runners 1023- ci: make sure we only read the first line from install/VERSION 1024- ci: update some radv trace checksums 1025- ci: update some radv trace checksums 1026- ci: update radv's trace job tag for Raven 1027- ci: remove radv's trace job for Polaris10 1028- ci: uprev apitrace to 10.0 1029- ci: uprev DXVK to 1.8.1 1030- ci: add radv's trace job for Navy Flounder 1031- ci: include VKD3D-Proton tests into the VK test container 1032- ci: add VKD3D-Proton testsuite runner 1033- ci: add VKD3D-Proton testsuite job for radv's Navy Flounder 1034- ci: disentangle tags for containers and artifacts produced by them 1035- ci: remove glslangValidator installation from the VK test container 1036- ci: replace glslangValidator with glslang-tools 1037- ci: fix the vkd3d-proton runner 1038- ci: build the hang-detection tool into x86_test-vk 1039- ci: update some radv trace checksums 1040- ci: bump x86_test-base tag 1041- ci: remove unzip from several containers that don't use it at all 1042- ci: use bash with download-git-cache.sh 1043 1044Andrii Simiklit (1): 1045 1046- Remove redundant assignment 1047 1048Antonio Caggiano (15): 1049 1050- panfrost: Fix invalid conversions 1051- panfrost: Meson dependency 1052- util: Perfetto SDK v15.0 1053- pps: Gfx-pps v0.3.0 1054- pps: Gfx-pps config tool 1055- pps: Documentation 1056- intel/perf: Extern C 1057- pps: Intel pps driver 1058- pps: Intel documentation 1059- ci: Add a manual job for tracking the performance of Freedreno 1060- panfrost: Counter definitions 1061- panfrost: Performance configuration 1062- panfrost: Fix pan_pool_ref construction 1063- pps: Panfrost pps driver 1064- pps: Panfrost documentation 1065 1066Anuj Phogat (39): 1067 1068- intel: Rename files with gen_debug prefix 1069- intel: Rename gen_debug prefix to intel_debug 1070- intel: Rename GEN_DEBUG prefix to INTEL_DEBUG 1071- intel: Rename intel_device_info.c to intel_dev_info.c 1072- intel: Rename gen_device prefix in filenames 1073- intel: Rename gen_device prefix to intel_device 1074- intel: Fix alignment and line wrapping due to gen_device renaming 1075- intel: Rename GEN_DEVICE prefix in macros to INTEL_DEVICE 1076- intel: Rename gen_get_device prefix to intel_get_device 1077- intel: Rename gen_get_aperture_size to intel_get_aperture_size 1078- intel: Drop gen prefix in gen_has_get_tiling() 1079- intel: Rename gen_context.h to intel_context.h 1080- intel: Rename gen_context prefix to intel_context 1081- intel: Rename gen_perf prefix in filenames to intel_perf 1082- intel: Rename gen_perf prefix to intel_perf in source files 1083- intel: Fix alignment and line wrapping due to gen_perf renaming 1084- intel: Rename GEN_PERF prefix to INTEL_PERF in build files 1085- intel: Rename GEN_PERF prefix to INTEL_PERF in source files 1086- intel: Rename gen_{pipeline, oa, counter, hw} to intel_{..} 1087- intel: Rename brw_gen_enum.h to brw_gfx_ver_enum.h 1088- intel: Rename gen enum to gfx_ver 1089- intel: Rename gen keyword in test_eu_validate.cpp 1090- intel: Rename gens keyword to gfx_vers 1091- intel: Rename index_gen keyword to index_ver 1092- intel: Rename eu compact instruction tests 1093- intel: Rename gen_{mapped, clflush, invalidate} prefix to intel_{..} 1094- intel: Remove devinfo_to_gen() helper function 1095- intel: Rename isl_to_gen keyword to isl_encode 1096- intel: Rename vk_to_gen keyword to vk_to_intel 1097- intel: Rename gen_10 to ver_10 1098- intel: Rename calculate_gen_slm_size to intel_calculate_slm_size 1099- intel: Rename _gen_{program, part, batch, freq} to _intel_{..} 1100- intel: Rename GEN_PART to INTEL_PART 1101- intel: Rename {i965, iris, anv, isl}_gen prefix in build files 1102- intel: Rename since_gen to since ver 1103- intel: Rename _gen keyword to _gfx_ver in few build files 1104- intel: Fix GEN_GEN macro checks 1105- intel/gfx12+: Add Wa_14013840143 1106- intel: Rename GFX 12.5 to XE_HP 1107 1108Axel Davy (1): 1109 1110- st/nine: Fix compilation error on non-x86 platforms 1111 1112Bas Nieuwenhuizen (41): 1113 1114- radv: Fix memory leak on descriptor pool reset with layout_size=0. 1115- amd/common: Use cap to test kernel modifier support. 1116- radv: Only require DRM 3.23. 1117- radeon/vcn: Use the correct pitch for chroma surface. 1118- nir: Add load_sbt_amd intrinsic. 1119- radv: Add sbt descriptors user SGPR input. 1120- aco: Add load_sbt_amd intrinsic implementation. 1121- radv: Use global BO list with raytracing. 1122- radv: Add support for RT bind point. 1123- radv: Add RT pipeline bind. 1124- radv: Implement vkCmdTraceRays. 1125- radv: Use correct border swizzle on GFX9+. 1126- nir: Add bvh64_intersect_ray_amd intrinsic. 1127- aco: Implement bvh64_intersect_ray_amd intrinsic. 1128- nir/lower_returns: Deal with single-arg phis after if. 1129- radv: Don't skip barriers that only change queues. 1130- radv: Actually return correct value for read-only DCC compressedness. 1131- radv: Allow DCC images to be compressed with foreign queues. 1132- gallium/vl: Use format plane count for sampler view creation. 1133- gallium/va: Add support for PRIME_2 import. 1134- radv: Use the global BO list for acceleration structures. 1135- radv: Add initial CPU BVH building. 1136- radv: Implement device-side BVH building. 1137- radv: Add acceleration structure descriptor set support. 1138- radv: Convert lower_intrinsics to a switch statement 1139- radv: Implement load_vulkan_descriptor for acceleration structures. 1140- radv: Expose formats for acceleration structure. 1141- radv: Add rt perftest flag. 1142- radv: Enable VK_KHR_acceleration_structure with RADV_PERFTEST=rt. 1143- radv: Add -Wpointer-arith. 1144- util/fossilize_db: Pull seek into lock. 1145- util/fossilize_db: Split out reading the index. 1146- util/fossilize_db: Do not lock the fossilize db permanently. 1147- util/fossilize_db: Only lock the db file, not the index. 1148- nir: Add lowered vendor independent raytracing intrinsics. 1149- nir: Add raytracing shader call lowering pass. 1150- meson: Bump libdrm for amdgpu to 2.4.107. 1151- radv/winsys: Return vulkan errors for buffer creation. 1152- radv/winsys: Add support for a fixed VA address for replay. 1153- radv: Support address capture and replay. 1154- ac/surface: Handle non-retiled displayable DCC correctly for modifiers. 1155 1156Bastian Beranek (1): 1157 1158- glx: Assign unique serial number to GLXBadFBConfig error 1159 1160BillKristiansen (2): 1161 1162- d3d12: Fixes stale context bindings after copy, resolve, and clear 1163- d3d12: Sets all SRV descriptors as data-static 1164 1165Billy Laws (1): 1166 1167- meson: Increase Android Platform SDK version limit 1168 1169Boris Brezillon (60): 1170 1171- panfrost: Don't advertise AFBC mods when the format is not supported 1172- panfrost: Reserve thread storage descriptor in panfrost_launch_grid() 1173- panfrost: Fix RSD emission on Bifrost v6 1174- panfrost: Fix indirect draws 1175- pan/bi: Don't set the EOS flag if there's at least one successor 1176- panfrost: Keep panfrost_batch_reserve_framebuffer() private 1177- panfrost: Fix ZS reloading on Bifrost v6 1178- pan/midg: Fix 2 memory leaks 1179- pan/bi: Expand pseudo instructions when nosched is set 1180- pan/midg: Fix midgard_pack_common_store_mask() 1181- pan/midg: Make sure the constant offset is in range in mir_match_iadd() 1182- panfrost: Make sure pack_work_groups_compute() is passed valid dimensions 1183- panfrost: Add helpers to emit indirect dispatch jobs 1184- panfrost: Hook-up indirect dispatch support 1185- panfrost: Only advertise INDIRECT_DRAW if the kernel supports HEAP BOs 1186- ci: Update to a kernel that has the panfrost MMU fixes 1187- panfrost/ci: Test GLES 3.1 on Bifrost 1188- panfrost/ci: Skip draw_indirect.compute_interop.large.* 1189- panfrost/ci: Run the full deqp-gles3 testsuite 1190- panfrost: Fix format definitions to match gallium expectations 1191- Revert "gallium/util: Fix depth/stencil blit shaders" 1192- panfrost: Pass an image view to panfrost_estimate_texture_payload_size() 1193- panfrost: Fix blit shader names 1194- panfrost: Pack pan_blit_surface fields 1195- panfrost: Get rid of the vertex_count arg in pan_preload_emit_varying() 1196- panfrost: Make pan_preload_emit_*_sampler() applicable to blits 1197- panfrost: Stop assigning ->position in pan_preload_emit_varying() 1198- panfrost: Make pan_preload_emit_*_textures() applicable to blits 1199- panfrost: Make pan_preload_emit_viewport() applicable to blits 1200- panfrost: Rename pan_preload_emit_varying() 1201- panfrost: Shrink the number of args passed to prepare_{bifrost,midgard}_rsd() 1202- panfrost: Don't select the blit shader fragout type twice 1203- panfrost: Stop assuming the viewport will always cover the framebuffer 1204- panfrost: Extend pan_blitter to support blit/resolve operations 1205- panfrost: Use pan_blit() when PAN_MESA_DEBUG=panblit 1206- panfrost: Split the indexed and !indexed indirect draw info structs 1207- pan/bi: Add support for gl_{BaseVertex,BaseInstance} 1208- pan/bi: Add support for gl_DrawID 1209- panfrost: Expose the DRAW_PARAMETERS cap on Bifrost 1210- panfrost: Flag indirect draw/dispatch shaders as internal 1211- panfrost: Relax the stride check when importing resources 1212- panfrost: Try to align scanout resource stride on 64 bytes 1213- panfrost: Don't freeze blit batches 1214- panfrost: Avoid duplicate entries in access->readers 1215- panfrost: Simplify the dependency tracking logic 1216- panfrost: Limit the number of active batch to 32 1217- ci: Update to a new kernel fixing a bug in the panfrost driver 1218- panfrost: Constify the constants pointers passed to pan_blend functions 1219- panfrost: Make panfrost_scoreboard_initialize_tiler() return the job pointer 1220- pan/midg: Add a flag to dump internal shaders 1221- panfrost: Add a Vulkan driver for Midgard/Bifrost GPUs 1222- panfrost: Don't add blit context BOs twice 1223- panfrost: Pass a memory pool to pan_blit_ctx_init() 1224- panfrost: Add alignment info to write-value and cache-flush jobs 1225- panfrost: Allocate WRITE_VALUE jobs with panfrost_pool_alloc_desc() 1226- panvk: Use the desc alloctor when we can 1227- panfrost: Start splitting the panfrost pool logic 1228- panvk: Support returning BOs allocated by panvk_pool to a 'free BO' pool 1229- panfrost: Replace the batch->bos hashmap by a sparse array 1230- panfrost: Do tracking of resources, not BOs 1231 1232Boyuan Zhang (8): 1233 1234- vl: add st_rps_bits for HEVC decode 1235- frontends/va: get st_rps_bits from VA pic param hevc 1236- frontends/vdpau: disable UseStRpsBits for vdpau hevc 1237- radeon/vcn: enable parsing support for st_rps_bits 1238- frontends/omx: use pipe buffer map instead of texture map 1239- radeon/vcn: move calc_dpb_size into create_decoder 1240- radeon/vcn: allocate non-tmz context buffer for VCN2+ 1241- radeon/vcn: use st_rps_bits only when it's set 1242 1243Caio Marcelo de Oliveira Filho (25): 1244 1245- spirv: Don't replicate patch bool in vtn_variable 1246- nir: Remove now unnecessary conditions from emit_load/store helpers 1247- intel/compiler: Add common function for CS dispatch info 1248- iris: Use brw_cs_get_dispatch_info() 1249- anv: Use brw_cs_get_dispatch_info() 1250- i965: Use brw_cs_get_dispatch_info() 1251- intel/compiler: Remove unused exported functions 1252- nir: Move shared_memory_explicit_layout bit into common shader_info 1253- intel/compiler: Clarify why VUE is recomputed by FS 1254- nir: Rename nir_is_per_vertex_io to nir_is_arrayed_io 1255- compiler: Rename local_size to workgroup_size 1256- compiler: Rename SYSTEM_VALUE_LOCAL_GROUP_SIZE to SYSTEM_VALUE_WORKGROUP_SIZE 1257- nir: Rename nir_intrinsic_load_local_group_size to nir_intrinsic_load_workgroup_size 1258- nir: Rename WORK_GROUP (and similar) to WORKGROUP 1259- nir: Move zero_initialize_shared_memory into common shader_info 1260- nir: Move workgroup_size and workgroup_variable_size into common shader_info 1261- anv: Support workgroup memory in other shaders 1262- nir/lower_io: Rename vertex_index to array_index in helpers 1263- nir/gather_info: Rename per_vertex to is_arrayed 1264- spirv: Fix handling of OpBranchConditional with same THEN and ELSE 1265- nir/opt_if: Don't split ALU for single block infinite loops 1266- nir: Add test to check edge case in Split ALU optimization 1267- spirv: Update headers and metadata from latest Khronos commit 1268- spirv: Support SPV_KHR_subgroup_uniform_control_flow 1269- anv: Advertise VK_KHR_shader_subgroup_uniform_control_flow 1270 1271Carsten Haitzler (Rasterman) (1): 1272 1273- panfrost: Fix Bo imports to not take the process down if fd is invalid 1274 1275Charlie (10): 1276 1277- v3dv: enable KHR_image_format_list 1278- v3dv: enable KHR_sampler_mirror_clamp_to_edge 1279- v3dv: enable KHR_incremental_present 1280- v3dv: enable KHR_uniform_buffer_standard_layout 1281- v3dv: clamp srgb render targets 1282- v3dv: remove sRGB blending workaround 1283- v3dv: add the unswizzled RGBA4444 format 1284- v3dv: divide by block size in copy_image_blit 1285- v3dv: add ASTC formats to get_compatible_tlb_format 1286- v3dv: enable ASTC formats 1287 1288Charlie Birks (1): 1289 1290- v3dv: document two supported extensions 1291 1292Charlie Turner (5): 1293 1294- ci: Remove obsolete reference to DEQP_SKIPS 1295- radv: Merge dEQP default skips into all generation-specific skip lists 1296- radv: Add a STONEY baseline for dEQP. 1297- radv: Provide a toggle to avoid warnings about unsupported devices. 1298- spirv_to_nir: Add environment variable to change default log level 1299 1300Charmaine Lee (1): 1301 1302- svga: fix texture rectangle sampling when no sampler view declaration is defined 1303 1304Chia-I Wu (93): 1305 1306- venus: stop using vn_renderer_sync in vn_fence 1307- venus: stop using vn_renderer_sync in vn_semaphore 1308- venus: stop using vn_renderer_sync in vn_queue 1309- venus: remove vn_renderer_sync support from vn_queue_submission 1310- venus: remove VN_SYNC_TYPE_SYNC 1311- venus: remove vn_queue::sync_queue_index 1312- venus: remove vn_ring_wait_all 1313- venus: wait on vkQueuePresentKHR 1314- venus: remove vn_renderer_info::has_timeline_sync 1315- venus: add vn_image_init_memory_requirements 1316- venus: add vn_image_create 1317- venus: add vn_wsi_create_scanout_image 1318- venus: refactor vn_queue_submission_count_semaphores 1319- venus: clang-format clean 1320- venus: change SpaceBeforeParens style option 1321- venus: provide accessors for vn_instance_submit_command 1322- venus: update venus-protocol headers to use accessors 1323- venus: rename VN_CS_ENCODER_INITIALIZER 1324- venus: add vn_renderer_shmem 1325- venus: use vn_renderer_shmem 1326- venus: add dev->renderer pointer 1327- venus: pass vn_renderer in vn_renderer_bo functions 1328- venus: move vn_renderer_bo_ops to vn_renderer 1329- venus: merge bo create and init ops 1330- venus: move some common members to vn_renderer_bo 1331- venus: use sparse array to manage vn_renderer_bo 1332- venus: make sure gem_handle and vn_renderer_bo are 1:1 1333- venus: update venus-protocol for external memory 1334- venus: rework external memory capability queries 1335- venus: enable external memory support 1336- venus: fix render pass without attachments 1337- venus: fix dmabuf import mmap_size check 1338- venus: fix dmabuf import fail path 1339- venus: add VN_MAX_API_VERSION 1340- venus: rename vn_instance::renderer_version 1341- venus: clarify/fix instance renderer versions 1342- venus: clarify/fix device renderer version 1343- venus: refactor vn_physical_device_init_extensions 1344- venus: avoid strcmp for spec version override 1345- venus: refactor vn_physical_device_init_supported_extensions 1346- venus: init supported extensions in one place 1347- venus: add extension check for ANDROID_native_buffer 1348- venus: clean up vn_device_fix_create_info 1349- venus: get rid of #ifdef's in vn_CreateImage 1350- pps: fix a missing include in Intel pps driver 1351- util/u_thread: fix u_thread_setname for long names 1352- venus: add struct vn_command_buffer_builder 1353- venus: remember cmd buffer level and queue family 1354- venus: ignore pInheritanceInfo when we should 1355- docs: add basic documentation for venus 1356- vulkan/wsi: provide more info in wsi_image_create_info 1357- venus: add vn_device_memory_alloc as a helper 1358- venus: fix asserts on mem bo 1359- venus: fix opaque fd re-import 1360- venus: move wsi_image_create_info parsing 1361- venus: remember image wsi states 1362- venus: handle VN_COMMAND_BUFFER_STATE_INVALID 1363- venus: remember render pass PRESENT_SRC attachments 1364- venus: remember render pass PRESENT_SRC barriers 1365- venus: remember image view image 1366- venus: remember framebuffer attachments 1367- venus: remember cmd buffer render pass and framebuffer 1368- venus: remember cmd buffer fb attachments 1369- venus: add vn_image_memory_barrier_has_present_src 1370- venus: add vn_cmd_get_image_memory_barriers 1371- venus: clean up vn_get_intercepted_barriers 1372- venus: undo wsi iamge ownership transfer for Android 1373- venus: reland wsi image ownership transfer for Android 1374- venus: enable wsi image ownership transfer for common wsi 1375- vulkan/util: add vk_default_allocator 1376- radv: use vk_default_allocator 1377- v3dv: use vk_default_allocator 1378- tu: use vk_default_allocator 1379- anv: use vk_default_allocator 1380- venus: use vk_default_allocator 1381- venus: silence compiler warnings 1382- venus: query experimental features in one call 1383- venus: document the darkest corner of venus 1384- venus: move vn_renderer_sync_ops to vn_renderer 1385- venus: simplify vn_renderer_sync creation 1386- venus: update venus-protocol headers 1387- venus: add support for external fence on Android 1388- venus: add support for external semaphores on Android 1389- venus: clean up vn_physical_device_get_native_extensions 1390- venus: fix compatibility with older host drivers 1391- venus: be verbose about which physical devices are skipped 1392- vulkan/wsi: fix select_memory_type when all MTs are local 1393- venus: fix empty submits with BOs 1394- egl/surfaceless: try kms_swrast before swrast 1395- meson: allow egl_native_platform to be specified 1396- venus: clean up vn_AllocateMemory 1397- venus: suballocate memory in more cases 1398- vulkan/wsi/x11: do not inherit last_present_mode 1399 1400Christian Gmeiner (3): 1401 1402- ci: disable initrd support 1403- drm-shim: fix compile with glibc >= 2.33 1404- ci: bare-metal: drop webdav support 1405 1406Connor Abbott (133): 1407 1408- ir3: Fix list corruption in legalize_block() 1409- ir3: Reduce max const file indirect offset base to 9 bits 1410- ir3, tu: Add compiler flag for robust UBO behavior 1411- tu: Correctly preserve old push descriptor contents 1412- tu: Handle robust UBO behavior for pushed UBO ranges 1413- tu: Handle null descriptors 1414- tu: Expose VK_EXT_robustness2 1415- ir3/parser: Fix oob write with immediates array 1416- ir3: Improve cat1 modifier disassembly 1417- ir3: Assemble and disassemble swz/gat/sct 1418- ir3: Prevent oob writes to inputs/outputs array 1419- nir/lower_clip_disable: Fix store writemask 1420- ir3, tu: Cleanup indirect i/o lowering 1421- freedreno: Don't lower indirects in GLSL IR 1422- freedreno/a6xx: Better document SP_GS_PRIM_SIZE 1423- freedreno/a6xx: Fix SP_GS_PRIM_SIZE for large sizes 1424- tu: Fix SP_GS_PRIM_SIZE for large sizes 1425- ir3/postsched: Fix dependencies for a0.x/p0.x 1426- ir3/cp: Clone registers for compare-folding optimization 1427- ir3/sched: Use correct src index 1428- ir3/postsched: Use correct src index 1429- ir3/delay: Remove special case for array deps 1430- ir3/postsched: Fix ir3_postsched_node::delay calculation 1431- ir3/cp_postsched: Fixup SSA use pointer for direct reads 1432- ir3: Refactor nir->ir3 block handling 1433- ir3: Make predecessors an array 1434- ir3: Rework outputs 1435- ir3: Don't assume regs[1] exists in ir3_fixup_src_type() 1436- nir/lower_phis_to_scalar: Add "lower_all" option 1437- ir3/cf: Rewrite pass 1438- ir3: Use round-to-nearest-even for fquantize2f16 1439- ir3: Call nir_lower_wrmask() again after lowering scratch 1440- ir3: Only use per-wave pvtmem layout for compute 1441- ir3: Introduce phi and parallelcopy instructions 1442- ir3: Add ir3_start_block() 1443- ir3: Readd support for translating NIR phi nodes 1444- ir3: Prepare for instructions with multiple destinations 1445- ir3: Improve register printing for SSA 1446- ir3: Add ir3_register::array.base 1447- ir3/delay: Fix full->half and half->full delay 1448- ir3: Add reg_elems(), reg_elem_size(), and reg_size() 1449- ir3: Make branch conditions non-SSA 1450- ir3: Rewrite delay calculation 1451- ir3/delay: Delete pre-RA repeat handling 1452- ir3/postsched: Don't use SSA source information 1453- ir3: Remove unused check_src_cond() 1454- ir3: Add dominance infrastructure 1455- ir3: Add pass to lower arrays to SSA 1456- ir3: Expose occupancy calculation functions 1457- ir3: Rewrite register allocation 1458- ir3/ra: Add a validation pass 1459- ir3: Remove right and left copy prop restrictions 1460- ir3/sched: Don't schedule collect early 1461- ir3/sched: Make collects count against tex/sfu limits 1462- ir3/sched: Consider unused destinations when computing live effect 1463- ir3: Add simple CSE pass 1464- ir3: Insert output collects in the main shader 1465- ir3: Copy propagate immed/const to meta instructions 1466- ir3: Improve printing of array parallelcopies/phis 1467- ir3/ra: Fix array parallelcopy confusion 1468- ir3: Make tied sources/destinations part of the IR 1469- ir3: Split read-modify-write array dests in two 1470- ir3: Update ir3_register::instr when cloning instructions 1471- ir3: Validate that ir3_register::instr is correct 1472- ir3: Add is_reg_special() 1473- ir3: Make ir3_instruction::address a normal register 1474- ir3: Split ir3_reg_create() into ir3_{src,dst}_create() 1475- ir3: Add separate src/dst count in ir3_instr 1476- ir3/legalize: Construct branch properly 1477- ir3: Add srcs/dsts arrays to ir3_instruction 1478- freedreno/isa: Convert to srcs/dsts 1479- freedreno/tests: Convert to srcs/dsts 1480- ir3/sched: Convert to srcs/dsts arrays 1481- ir3/core: Switch to srcs/dsts arrays 1482- ir3/ra: Switch to srcs/dsts arrays 1483- ir3/parser: Switch to srcs/dsts arrays 1484- ir3/array_to_ssa: Switch to srcs/dsts arrays 1485- ir3/legalize: Switch to srcs/dsts arrays 1486- ir3/print: Switch to srcs/dsts arrays 1487- ir3/validate: Switch to srcs/dsts arrays 1488- ir3/opts: Switch to srcs/dsts arrays 1489- ir3/frontend: Switch to srcs/dsts arrays 1490- ir3: Remove regs array 1491- ir3: Remove IR3_REG_DEST 1492- ir3/ra: Fix corner case in collect handling 1493- freedreno/a6xx: Make SP_XS_PVT_MEM_HW_STACK_OFFSET non-inline 1494- freedreno, tu: Set SP_XS_PVT_MEM_HW_STACK_OFFSET 1495- freedreno/computerator: Fix local_size typo 1496- ir3/sched: Speed up live_effect 1497- ir3: Stop creating dummy dest registers 1498- ir3: Prepare dest helpers for multi-dst instructions 1499- ir3: Add foreach_dst/foreach_dst_n 1500- ir3: Support multi-mov instructions 1501- ir3/delay: Support multi-mov instructions 1502- ir3/postsched: Support multi-mov instructions 1503- ir3/legalize: Support multi-mov instructions 1504- ir3: Use correct flags for movmsk & multi-mov 1505- ir3/validate: Support multi-mov instructions 1506- ir3: Print multi-mov instructions 1507- ir3: Add min gen for multi-mov instructions 1508- ir3/lower_parallelcopy: Use SWZ 1509- nir/subgroups: Replace lower_vote_eq_to_ballot with lower_vote_eq 1510- nir/subgroups: Support > 1 ballot components 1511- nir: Add read_invocation_cond_ir3 intrinsic 1512- tu, ir3: Plumb through support for CS subgroup size/id 1513- ir3/nir: Call nir_lower_subgroups 1514- ir3: Handle shared register liveness correctly 1515- ir3: Handle unreachable blocks 1516- ir3: Prevent propagating shared regs out of loops 1517- ir3: Better valid flags for shared regs 1518- ir3: Actually allow shared reg moves to be folded 1519- ir3: Fix shared reg delay 1520- ir3: Make MOVMSK use repeat 1521- ir3: Fix infinite loop in scheduler when splitting 1522- ir3/sched: Handle branch condition in split_pred() 1523- ir3: Cleanup ir3_legalize jump optimization 1524- ir3: Support any/all/getone branches 1525- ir3: Add subgroup pseudoinstructions 1526- ir3: Handle shared registers in lower_parallelcopy 1527- ir3: Implement nir subgroup intrinsics 1528- ir3: Fix convergence behavior for loops with continues 1529- ir3/legalize: Fix loop convergence behavior 1530- tu: Update subgroup properties 1531- ir3/nir: Lower indirect references of compact variables 1532- ir3: Add missing include to ir3_parser.y 1533- ir3: Add ir3_collect() for fixed-size collects 1534- ir3/lower_parallelcopy: Don't manually set wrmask 1535- ir3: Update .editorconfig and .dir-locals.el 1536- ir3: Manually reformat some places 1537- freedreno: Add some options to .clang-format 1538- ir3: Reformat source with clang-format 1539- ir3/print: Manual formatting fixups 1540- ir3: Preserve gl_ViewportIndex in the binning shader 1541 1542Corentin Noël (4): 1543 1544- ci: Use the caching proxy for Mesa artifacts 1545- ci: Re-enable virgl tesselation shader 1546- ci: Bump virglrenderer 1547- ci: actually run piglit tests with virgl 1548 1549Daniel Schürmann (33): 1550 1551- aco: fix additional register requirements for spilling 1552- aco: relax validation rules for p_reduce dst RegType 1553- driconf: set vk_x11_strict_image_count for Metro: Exodus 1554- aco/ra: prevent underflow register for p_create_vector operands 1555- radv: call nir_copy_prop() after load-store vectorization 1556- aco/ra: also prevent overflow register for p_create_vector operands 1557- aco: remove condition operand from branch in invert block 1558- radv,aco: scalarize all phis via nir_lower_phis_to_scalar() 1559- aco: simplify Phi RegClass selection 1560- aco/ra: only create phi-affinities for killed operands 1561- aco/ra: refactor affinity coalescing 1562- aco/ra: refactor register assignment for vector operands 1563- amd/ci: add hawaii-specific skip and fail lists 1564- aco/ra: handle copies of definition registers 1565- aco/ra: handle copies of copies better 1566- aco/util: replace DIV_ROUND_UP(n+1,m) by n/m+1 1567- aco: reorder and cleanup #includes 1568- aco: add missing Licenses and remove Authors from files 1569- aco: add 'common/' and 'llvm/' prefix to #includes 1570- aco/meson: remove unnecessary dependencies 1571- aco: refactor SDWA opcode validation 1572- aco: remove (wrong) GCC array-bounds warning 1573- util/meson: include inc_gallium 1574- aco: add .clang-format file 1575- aco: Format. 1576- aco/meson: remove inc_gallium from include_directories 1577- aco: fix self-intersecting register swaps 1578- aco: fix extract_vector optimization 1579- aco/isel: avoid unnecessary calls to nir_unsigned_upper_bound() 1580- aco/insert_waitcnt: Remove many unnecessary wait_imm.combine() 1581- aco/live_var_analysis: change worklist to a single integer 1582- aco/optimizer: ensure to not erase high bits when propagating packed constants 1583- aco: include <cstddef> in aco_util.h 1584 1585Daniel Stone (69): 1586 1587- CI: Disable Panfrost and radeonsi 1588- CI: Disable all Panfrost/AMD/Iris automatic jobs 1589- CI: Disable rk3399-gru-kevin jobs for now 1590- doc: Gratuituous promotion of Wayland 1591- docs: Even more gratutious nitpicks 1592- Revert "CI: Disable rk3399-gru-kevin jobs for now" 1593- CI: Fix path confusion in OpenCL Piglit execution 1594- ci/zink: Skip flaky GLX test 1595- ci/radeonsi: Skip flaky glx-swap-copy test 1596- ci/windows: Artifact Meson build and test logs 1597- ci/windows: Re-enable Windows build 1598- ci: Add Piglit gl-1.0-blend-func to everyone's skips 1599- ci/lava: Iterate all job results, not just the first 1600- ci/lava: Handle proxy download failures 1601- ci/lava: Add validate-only mode to job submitter 1602- ci/lava: Add --dump-yaml option to submitter 1603- ci/bare-metal: Factor out environment to a separate script 1604- ci/bare-metal: Don't leak JWT into logs 1605- ci/lava: Move LAVA files to lava/ 1606- ci/lava: Pass JWT separately from environment variables 1607- ci/lava: Cosmetic reordering of job init 1608- ci/lava: Wrap submission in a shell script 1609- ci/lava: Clean up variable naming, document them 1610- ci: Make PIPELINE_ARTIFACTS_BASE a common variable 1611- ci: Add JOB_ARTIFACTS_BASE variable 1612- ci: Use JOB_ARTIFACTS_BASE for Piglit fails 1613- ci/lava: Use per-job rootfs overlay for environment 1614- ci/panfrost: Remove useless variable 1615- ci/lava: Generate job name from lava-submit.sh 1616- ci/lava: Remove unused arguments 1617- ci/lava: Add explicit fatal-error handler 1618- ci/lava: Disable stdout/stderr buffering 1619- ci/lava: Dump and artifact YAML again 1620- ci/lava: Avoid tee as it ruins exit status 1621- ci/piglit: Fix path to uploaded images 1622- ci/lava: Always upload Piglit replay images to MinIO 1623- ci/lava: Set PIGLIT_NO_WINDOW 1624- ci/lava: Explicitly start Xorg for Iris EGL tests 1625- ci/bare-metal: Rename BM_KERNEL_MODULES to HWCI_KERNEL_MODULES 1626- ci/lava: Use HWCI_KERNEL_MODULES to load modules 1627- ci/lava: Rename environment variable script 1628- ci/bare-metal: Try harder to do NTP 1629- ci/bare-metal: Reorder init so network comes first 1630- ci: Move bare-metal init script to common directory 1631- ci: Be consistent about install path 1632- ci/bare-metal: Consistently set library paths 1633- ci/bare-metal: Split init script into two stages 1634- ci/bare-metal: Move devcoredump capture to CI common 1635- ci/lava: Start using devcoredump captures 1636- ci: Consistent pass/fail result output 1637- ci: Unify {BM,LAVA}_START_XORG environment 1638- ci: Unify {BARE_METAL,LAVA}_TEST_SCRIPT environment 1639- ci/bare-metal: Set CPU and GPU governors to max, disable GPU runtime PM 1640- ci/lava: Pass MinIO path on the command line 1641- ci/lava: Use common stage-2 init 1642- ci/lava: Drop bitrotten fastboot support 1643- ci/lava: Make kernel image type a normal argument 1644- ci/lava: Generate YAML from Python, not Jinja 1645- llvmpipe: Add handle export for resource_get_param 1646- Revert "ci: disable panfrost t760 jobs" 1647- CI: Disable LAVA devices for maintenance 1648- Revert "CI: Disable LAVA devices for maintenance" 1649- util/disk_cache: Don't leak when cache is empty 1650- panfrost/genxml: Decode Bifrost index-driven vertex jobs 1651- ci/panfrost: Temporarily disable sun50i/RK3288 1652- Revert "ci/panfrost: Temporarily disable sun50i/RK3288" 1653- vulkan/wsi/wayland: Initialise wl_shm pointer in VkImage 1654- egl/wayland: Error on invalid native window 1655- egl/wayland: Allow EGLSurface to outlive wl_egl_window 1656 1657Danylo Piliaiev (36): 1658 1659- nir: add lowering pass for helperInvocationEXT() 1660- turnip: implement VK_EXT_shader_demote_to_helper_invocation 1661- turnip: implement VK_KHR_shader_terminate_invocation 1662- ir3: treat 16b imul as mul.s24 1663- turnip: enable shaderInt16 1664- ir3: do not double threadsize when exceeding branchstack limit 1665- ir3: make possible to specify branchstack up to 64 1666- tu: do not corrupt unwritten render targets 1667- ir3: do not move varying inputs that depend on unmovable instrs 1668- ir3: do not fold cmps from different blocks with non-null address 1669- ir3: memory_barrier also controls shared memory access order 1670- ir3: update bar/fence bits in accordance to blob 1671- turnip: implement VK_KHR_vulkan_memory_model 1672- docs: mark off VK_KHR_vulkan_memory_model for turnip 1673- turnip,freedreno/a6xx: SP_BLEND_CNTL has per-mrt blend enable bit 1674- freedreno/a5xx: SP_BLEND_CNTL has per-mrt blend enable bit 1675- turnip: copy all layers specified in vkCmdCopyImage 1676- ci/turnip: drop fail annotation for float_control tests 1677- ci/turnip: drop fail annotation for image.extend_operands_spirv1p4.* 1678- turnip: do not ignore early_fragment_tests 1679- turnip: make possible to create read-only bo with tu_bo_init_new 1680- turnip: make cmdstream bo's read-only to GPU 1681- turnip: place a limit on the growth of BOs 1682- freedreno: reduce the upper bound of IB size by one 1683- turnip: reset push descriptor set on command buffer reset 1684- turnip: emit vb stride dynamic state when it is dirty 1685- turnip: fix register_index calculations of xfb outputs 1686- turnip: implement VK_EXT_provoking_vertex 1687- turnip: do not re-emit same vs params 1688- turnip: early exit in tu6_draw_common to save cpu cycles 1689- freedreno/computerator: pass iova of buffer to const register 1690- freedreno/isa: add uoffset type to print positive-only offsets 1691- ir3: add ldg.a,stg.a which allow complex in-place offset calculation 1692- glsl: Prohibit implicit conversion of mem parameter in atomicOP functions 1693- ir3: add newly found shlg.b16 instruction 1694- freedreno: fix wrong tile aligment for 3 CCU gpu 1695 1696Dave Airlie (146): 1697 1698- iris: move get_time into a static in bufmgr code. 1699- iris: move target to isl dim translate to inline. 1700- lavapipe: add support for non-dri loader on linux 1701- llvmpipe: split screen init up. 1702- llvmpipe: wrap late screen init with a mutex. 1703- llvmpipe: delay late screen creation until context init. 1704- lavapipe: fix mipmapped resolves. 1705- lavapipe: mark event_storage as volatile 1706- intel: move brw_ff_gs_prog_key/data to compiler. 1707- intel/compiler: add support for compiling fixed function gs 1708- i965: port fixed function geom shader to use compiler paths 1709- i965: drop old brw ff gs code. 1710- intel/genxml: align gen4/5 xml for store data immediate 1711- intel/genxml: rewrite the prefilterop xml to be more consistent. 1712- intel/gemxml: move blitter command to render on gen4/5 1713- intel/genxml: fix raster op fields on gen4/5 1714- intel/decoder: fixup batch decoder for binding tables on gen4/5 1715- intel/decoder: add gen4/5 geometry state decode 1716- gallivm: handle texture arrays in non-fragment shaders with lod. 1717- llvmpipe: fix non-multisampled rendering to multisampled framebuffer 1718- llvmpipe: add the interesting bit of cpu detection to the cache. 1719- st/nir: always revectorise if scalarising happens. 1720- intel/gfx6: move xfb_setup outside the gs compiler into the driver. 1721- intel/isl: decrease isl_format_layouts size by 36k 1722- intel/isl: convert null surface fill to a struct. 1723- intel/isl: add levels and minimum array element to null fill 1724- intel/isl: add blend enable flag to gen4/5 1725- u_blitter: fix fs used when no color emitted 1726- u_blitter: fix stencil blit fallback for crocus. 1727- iris: drop unused function declaration 1728- nir/edgeflags: update outputs written when lowering edge flags. 1729- st/mesa: also disable other int textures 1730- intel/decode: handle gen4/5 WM state fragment shaders 1731- intel: reorder base program key. 1732- intel/compiler: add flag to indicate edge flags vertex input is last 1733- crocus: initial gallium driver for Intel gfx 4-7 1734- ci: add crocus to the build tests 1735- crocus: Don't call SET_TILING for dmabuf imports 1736- crocus: Make iris_bo_import_dmabuf take a modifier 1737- crocus: introduce main resource configuration helper. 1738- crocus: Drop buffer support in resource_from_handle 1739- crocus: hook up memory object creation from handle 1740- crocus: hook up resource creation from memory object 1741- crocus: plumb device/driver UUID generators 1742- crocus: enable GL_EXT_memory_object feature on gen7 1743- crocus: fix scanout tiling so glamor/modesetting can work. 1744- crocus: fixed some missing WM dirtys. 1745- crocus: fixup render aux usage function. 1746- crocus: disable Z16 1747- crocus/gen6: fix depth blit blorp regression. 1748- i965: fix regression in pipe control on g45 1749- crocus: drop dead gen prototypes. 1750- crocus: fixup stray tab 1751- crocus: rename genX proto functions to avoid iris conflicts. 1752- crocus: fixup workaround_bo to match 965. 1753- crocus: convert a bunch of is_haswell into verx10 checks. 1754- crocus: refactor blend state code. 1755- crocus/gen8: limit some pipe controls to gen7/hsw 1756- crocus: limit texture gather workarounds to gen7/hsw 1757- crocus/stencil: limit stencil workaround to gen7 1758- crocus/query: add gen8 support to queries by extending hsw checks 1759- crocus: extend l3 config setup to gen8 1760- crocus/gen8: add push constant support (extend hsw) 1761- crocus/gen8: extend some compute + state functions to gen8 1762- crocus/gen8: extend image support to gen8 1763- crocus: extend hsw cut index to gen8 1764- crocus/gen8: extend predicate handling to gen8. 1765- crocus/gen8: add sampler / border color support for gen8 1766- crocus/gen8: add l3 config support 1767- crocus/gen8: extending gen7 binding table pointers 1768- crocus/gen8: limit vertex buffer workarounds to ivb 1769- crocus/gen8: add raw pipe control support for gen8 workarounds 1770- crocus/gen8: add support for vertex instancing and index buffers. 1771- crocus/gen8: state base address + misc setup state. 1772- crocus/gen8: add VF topology support 1773- crocus/gen8: add PMA fix from iris 1774- crocus/gen8: add streamout support 1775- crocus/gen8: add SBE swiz support 1776- crocus/gen8: add VF SGVS support. 1777- crocus/gen8: add PS blend command support. 1778- crocus/gen8: refactor blend state for gen8 1779- crocus/gen8: add rasterizer state changes. 1780- crocus/gen8: add viewport support 1781- crocus/gen8: add depth stencil state support 1782- crocus/gen8: port over vs/gs/ds state changes. 1783- crocus/gen8: port over ps/wm state changes from iris. 1784- crocus/gen8: port over VFE/compute state changes 1785- croucs/gen8: handle gfx8 surface aux addr reloc. 1786- crocus/gen8: handle sampler differences 1787- crocus/gen8: hookup gen8 state generators 1788- crocus/gen8: add support for cherryview (env var for bdw) 1789- croucs: limit stencil swizzle change to older generations 1790- crocus/bufmgr: fix userptr left over fail 1791- crocus: Explicitly cast value to uint64_t 1792- crocus: free context state properly. 1793- crocus: fix vertex buffer leak on screen end. 1794- crocus: fix batch state bo leak 1795- meson/crocus: add prefer-crocus option. 1796- crocus/query: poll the syncobj in the no wait situation 1797- intel/genxml: fix gfx6 GS SVB_INDEX encoding 1798- crocus/gfx6: fix sampler view first level. 1799- crocus: dirty blend state more often. 1800- crocus: Avoid replacing backing storage for buffers with no contents 1801- crocus/gfx6: always be dirtying gs attachments for xfb 1802- crocus: fix another printf specifier. 1803- crocus/gen8: add back z16 support for gen8 1804- crocus: disable Z16 unorm textures on pre-gen8 as well. 1805- gallium/sw: add sw_vk bit to avoid having to futz with env vars for lavapipe 1806- zink: drop getenv hacking now that gallium is fixed. 1807- iris: make iris_bind_reserve_3d and Wa_1604061319 only check for dirty render bindings 1808- crocus: cleanup some deadcode in the gen5 blend emit 1809- crocus: expose ARB_blend_func_extended on gen 45/50 1810- crocus/gen5: enable support for GL_EXT_gpu_shader4 1811- crocus: fix crash on index buffer rebinding. 1812- crocus: fixup index buffer dirtying. 1813- draw: fix tessellation output vertex size calculation 1814- draw/tess: write correct primitive id into vertices 1815- crocus: inline the d/s resource handling functions 1816- crocus: don't update draw parameters unless needed 1817- crocus: optimise bo_unref path a little. 1818- crocus: inline group_index<->bti 1819- crocus: reorder version checks on indirect xfb 1820- crocus: restrict prim_restart on index buffer check to pre-hsw 1821- crocus: support rebinding streamout target buffers 1822- crocus: use threaded context base classes 1823- crocus/tc: init/deinit threaded resource 1824- crocus: add unsync transfer pool 1825- crocus: enable threaded context support 1826- ac: fix win32 build 1827- crocus/gen8: fix wrap mode needs border color. 1828- crocus: add GL_CLAMP emulation in driver again. 1829- vulkan/wsi/wl: add wl_shm support for lavapipe. 1830- lavapipe: add the separate depth/stencil layout enable. 1831- crocus: use simple_mtx in the bufmgr 1832- lvp: fixup multi draw memcpys 1833- draw: handle resetting draw_id between instances. 1834- softpipe/aniso: move DDQ calculation to after scaling. 1835- crocus/gen4-5: fix ff gs emit on VS vue map change. 1836- llvmpipe: add support for time elapsed queries. 1837- draw/llvmpipe: multiply polygon offset units by 2 1838- teximage: return correct desktop GL error for compressedteximage 1839- crocus/gen4: restrict memcpy mapping to gen5 1840- intel/fs: restrict max push length on older GPUs to a smaller amount 1841- crocus/gen45: fix mapping compressed textures 1842- intel/genxml: fix raster operation field in blt genxml 1843- crocus: add support for set alpha to one with blt. 1844 1845Dmitry Baryshkov (2): 1846 1847- freedreno/regs: split DSI PHY registers to separate xml files. 1848- freedreno/regs: split old/not used phy registers to separate DB 1849 1850Drew Davenport (1): 1851 1852- radeonsi: Report multi-plane formats as unsupported 1853 1854Duncan Hopkins (3): 1855 1856- zink: Correct compiler issue with have_moltenvk member having been moved. 1857- gallium/dri: Guard DRI driver global variables on MacOS if Zink is enabled. 1858- zink: Fix MacOS compiling issues 1859 1860Dylan Baker (27): 1861 1862- meson: OpenMP is supposed to be optional 1863- docs: add release notes for 21.0.3 1864- docs: update sha256 sum for mesa 21.0.3 1865- docs: update calendar and link releases notes for 21.0.3 1866- docs: update calendar for 21.1.0-rc1 1867- docs: update calendar for 21.1.0-rc2 1868- docs: update calendar for 21.1.0-rc3 1869- meson/vulkan: fix linkage on windows 1870- docs: Add calendar entries for 21.2 release candidates. 1871- VERSION: bump for 21.2-rc1 1872- .pick_status.json: Update to f40a08d25c91256cd3dff0211b8e10d5bbb3734e 1873- .pick_status.json: Update to a62973580b7846f2213cbd2589e9473c26596683 1874- .pick_status.json: Update to 27534a49cf3872646cb8ef9371707d74a81b1986 1875- VERSION: bump for 21.2-rc2 1876- .pick_status.json: Update to b45cddda183230232937387f91d009500b2372c9 1877- .pick_status.json: Update to 49908c602ffd2d84063effa7ddd0ee842be41a89 1878- VERSION: bump for 21.2.0-rc3 1879- .pick_status.json: Update to dff0d9911d176802b54890c796e19f56c50f24e1 1880- .pick_status.json: Update to b8e29e89366a5264391dc7c10e778330b7add66a 1881- freedreno/ir3: Add build id to the disassembler test 1882- .pick_status.json: Mark 8cb795b4772f882024b20c4d4b051b2411dd1a8c as denominated 1883- .pick_status.json: Update to 87b0962fef4e447a2ea9c76a611aa20b109a259d 1884- .pick_status.json: Update to 842b8c8965327615f4692384a905dd63f1fba63d 1885- .pick_status.json: Update to 97be8e42e42f3b739c3de808553094f86ad8879f 1886- bin/gen_release_notes: Add basic tests for parsing issues 1887- bin/gen_release_notes: Don't consider issues for other projects 1888- bin/gen_release_notes: Fix commits with multiple Closes: 1889 1890Eleni Maria Stea (5): 1891 1892- egl: fix in expected type 1893- util: replaced ENODATA with ENOATTR for non-Linux systems 1894- util: Removed unused statement from FreeBSD build 1895- intel: struct bitset is renamed to brw_bitset 1896- intel: PAGE_SIZE used in allocators shouldn't be defined on FreeBSD 1897 1898Ella-0 (1): 1899 1900- anv: expose primary node to VK_EXT_physical_device_drm even when VK_KHR_display is not enabled 1901 1902Emil Velikov (1): 1903 1904- gbm: list to stderr all the missing extension 1905 1906Emma Anholt (251): 1907 1908- ci/freedreno: Merge a630 piglit to a single job. 1909- freedreno: Fix YUV sampler regression. 1910- ci/virgl: Mark a couple of new Crash tests as flakes. 1911- ci/freedreno: Skip some precision tests on a530. 1912- nir_to_tgsi: Use ARL instead of UARL in the !native_integers case. 1913- nir: Generate load_ubo_vec4 directly for !PIPE_CAP_NATIVE_INTEGERS 1914- ci/lavapipe: Don't include deqp's shader_cache in the artifacts. 1915- ci/lava: Return the run's results/ artifacts from the DUTs. 1916- ci/piglit: Always include the HTML summary in a run. 1917- ci/lava: Point the shader cache at tmpfs. 1918- mesa: Remove dead _mesa_unpack_rgba_block(). 1919- util: Switch the non-block formats to unpacking rgba rows instead of rects. 1920- util/format: Add some NEON intrinsics-based u_format_unpack. 1921- panfrost: Enable packed uniforms. 1922- zink: Enable PIPE_CAP_PACKED_UNIFORMS. 1923- ci: Build deqp-egl targeting x11_egl_glx 1924- ci/llvmpipe: Test dEQP-EGL against Xvfb. 1925- ci/freedreno: Test dEQP-EGL against Xorg. 1926- mapi: Respect MESA_DEBUG=silent for no-op debug output. 1927- freedreno: Mark glsl-fs-fogscale as a Fail. 1928- freedreno/a6xx: Don't try to do Z-as-RGBA blits for mismatched formats. 1929- util: Fix big-endian handling of z/s formats. 1930- mesa: Deduplicate _mesa_pack_ubyte_stencil_row() 1931- mesa: Deduplicate _mesa_pack_float_z_row(). 1932- mesa: Deduplicate _mesa_pack_uint_z_row(). 1933- mesa: Remove dead _mesa_get_pack_float_z_func(). 1934- msea: Move z24s8-to-z24s8 packing fastpath to swrast. 1935- mesa: Move per-pixel Z pack functions to swrast. 1936- mesa: Remove dead _mesa_pack_ubyte_rgba_rect(). 1937- mesa: Replace _mesa_pack_ubyte_rgba_row() with pack_ubyte_rgba_8unorm(). 1938- ci/radeonsi: Mark a glx_arb_sync_control/timing flake. 1939- turnip: Only write the tu_RegisterDeviceEXT() out fence on success. 1940- ci: Add missing vulkan dep for freedreno (turnip) and v3dv test jobs. 1941- u_format: Fix z32_s8x24 s8 unpacking on big-endian. 1942- u_format: Add missing BE swizzles for R8SG8SB8UX8U_NORM 1943- ci/freedreno: Mark dEQP-EGL flakes reported on IRC since its introduction. 1944- ci/freedreno: Mark new flakes from the go-fast branch. 1945- ci/freedreno: Mark another recent piglit flake. 1946- ci/freedreno: Fix the recent-a5xx-texture-flakes matches. 1947- ci/freedreno: Add another db820c flake that's appeared in the last few months. 1948- tgsi: Mark the tgsi_exec_channel and tgsi_double_channel ALIGN16. 1949- tunrip: Add support for VK_EXT_separate_stencil_usage. 1950- ci/freedreno: Mark a5xx texture gather as flaky. 1951- turnip: Demote API version to 1.1. 1952- ci/llvmpipe: Add testing of gles3/31/gl. 1953- ci/lavapipe: Add fractional NIR stress test job. 1954- freedreno/a5xx: Fix up border color pointers. 1955- gallium/tgsi_exec: Drop the unused dst_datatypes from dest stores. 1956- tgsi_exec: Drop unused destination dimension support. 1957- tgsi_exec: Mark the store file default case as unreachable. 1958- gallium/tgsi_exec: Simplify bounds checks on the const file. 1959- turnip: Switch to the shared vulkan ICD generator. 1960- turnip: Move the extension tables to tu_device.c 1961- ci/freedreno: Add another daily dose of a530 flakes. 1962- turnip: Drop wideLines properties since we don't support wide lines. 1963- turnip: Claim 2 discrete queue priorities. 1964- freedreno: Update editorconfig and emacs settings for freedreno reformat. 1965- ci/turnip: Clean up some stale fail annotations. 1966- ci/turnip: Add some links to issues and MRs for some test failures. 1967- turnip: Drop fail annotation for driver_properties. 1968- ci: Switch to apitraces for glmark2 1969- ci/panfrost: Add some more traces to replay. 1970- ci/iris: Add some more traces to replay. 1971- ci/freedreno: Skip refract on a306 now that it hangchecks sometimes. 1972- midgard: Fix type for vertex_builtin_arg() and compute_builtin_arg(). 1973- ci/freedreno: Skip a test that's taking out the a530 boards. 1974- ci/freedreno: Mark two more recent intermittent a530 flakes. 1975- ci/deqp: Make DEQP_EXPECTED_RENDERER a required regex for VK like for GLES. 1976- ci/intel: Add test jobs for dEQP. 1977- vulkan: Avoid stomping array padding in the MemoryProperties wrapper. 1978- mesa/st: Only use 16-bit ints or floats in the NIR path. 1979- i915g: Disable 3D-pipeline clears. 1980- i915g: Switch batchbuffer dumping to mesa_logi(). 1981- i915g: Fix dumping of the FS in batchbuffers. 1982- ci/i915g: Introduce manual testing of i915g using anholt's runner. 1983- i915g: Make the FS for compile failures write red instead of DIFFUSE. 1984- i915g: Add support for the .Absolute flag on TGSI srcs. 1985- i915g: Stop advertising support for indirect addressing in the FS. 1986- i915g: Fix writing of undefined depth value if not writing any outputs. 1987- i915g: Fix undefined results for TGSI_OPCODE_KILL 1988- ci/iris: Switch GLK back to manual testing. 1989- ci/freedreno: Clear compswap flake annotation. 1990- ci/freedreno: Clear stale validation failure flake annotation. 1991- ci/freedreno: Drop a630 flake annotation from the go-fast changes. 1992- ci/freedreno: Add a link explaining get_display_plane_capabilities 1993- ci/freedreno: Drop VK flake annotations not seen in the last ~year. 1994- ci/freedreno: Consolidate ssbo.fragment_binding_array flake annotation. 1995- ci/freedreno: Mark a630 glx-visuals-depth/stencil as piglit flakes. 1996- ci/freedreno: Also mark waitformsc as flaky. 1997- ci/freedreno: Add glx-copy-sub-buffer to flakes on a530 and a630. 1998- mesa/st: Fix iris regression with clip distances. 1999- ci/freedreno: Add another a630 piglit flake. 2000- ci/freedreno: Turn off default a530 quick_gl testing, do full quick_shader. 2001- turnip: Reorganize copy_format()'s switch statement. 2002- turnip: Make sure that SNORM blits don't clamp ambiguous -1.0 values. 2003- Revert "ci: Configure DUTs for max performance" 2004- ci: Add known-flake handling for the IRC flake reports 2005- ci: Move the flakes channels to OFTC 2006- util: Add a helper macro for defining initial-exec variables. 2007- android: Fix ELF TLS support. 2008- ci/android: Update to building for SDK 29 by default. 2009- u_format: Fix some pep8 in u_format_parse.py. 2010- u_format: Drop redundant .name init. 2011- u_format: Move the BE swizzle computation into Format init. 2012- u_format: Use the nice helper for reversing an array. 2013- u_format: Assert that array formats don't include BE swizzles. 2014- u_format: Define tests for r3g3b2 formats and fix BE swizzles for them. 2015- u_format: Fix the BE channel ordering for R5G5B5A1_UINT. 2016- u_format: Sanity check the BE channels for all bitmask formats. 2017- u_format: Sanity check that BE swizzles are appropriately mapped from LE. 2018- u_format: Use the computed BE channels/swizzles for bitmask formats. 2019- ci/freedreno: Add some more known flakes from recent marge runs. 2020- docs/freedreno: Update for the fanin/fanout -> collect/split rename. 2021- docs/freedreno: Rewrite the section on array access. 2022- tgsi_exec: Garbage-collect the FAST_MATH path. 2023- u_math: Reduce fast-log2 table size from 65k entries back to 256. 2024- llvmpipe: Don't call util_init_math(). 2025- ra: Add a unit test. 2026- ra: Document that class index is allocated in order, use that in r300. 2027- ra: Use struct ra_class in the public API. 2028- ra: Add fast-path support for register classes of contiguous regs. 2029- vc4: Use the ra_alloc_contig_reg_class() function to speed up RA. 2030- v3d: Use the ra_alloc_contig_reg_class() function to speed up RA. 2031- intel/fs: Use ra_alloc_contig_reg_class() to speed up RA. 2032- intel/vec4: Use ra_alloc_contig_reg_class() to reduce RA overhead. 2033- lima: Use ra_alloc_contig_reg_class(). 2034- util/ra: Use the conflicting neighbor to skip unavailable registers. 2035- ci/i915g: Fix incorrect expectation. 2036- i915g: Make sure we don't try to texture from the const file. 2037- ci/lava: Finish garbage-collecting the TEST_SUITE variable 2038- ci: Update piglit and deqp/piglit-runner. 2039- ci/freedreno: Enable running all of piglit_gl for a530's manual test. 2040- ci/piglit: Skip WGL on all the Linux runs. 2041- ci/fastboot: Add a serial timeout to catch fastboot prompt failure. 2042- ci/fastboot: Consistently restart the run on intermittent conditions. 2043- ci/iris: Enable piglit testing on AML-Y. 2044- ci: Disable Xorg's screensaver entirely. 2045- ci/deqp: Drop stress/perf skips lists. 2046- ci/deqp: Skip flush_finish on all CI jobs. 2047- ci/softpipe: Move the flake to the flakes list. 2048- ci: Add a flakes IRC channel for llvmpipe/softpipe. 2049- ci/deqp: Skip dEQP-VK.wsi.display.get_display_plane_capabilities 2050- ci/piglit: Move the WGL skip to a common skips file. 2051- ci/piglit: Skip glx_arb_sync_control\@timing.* on all systems. 2052- freedreno: Drop batch-cache orphan tracking. 2053- freedreno: Make a bunch of the batch cache take ctx as the arg. 2054- freedreno: Drop a bit of indirection around the batch cache flush path. 2055- freedreno: Be more strict about QUERY_AVAILABLE to simplify the code. 2056- freedreno: Fix batch reference handling in flush_resource(). 2057- freedreno: Move the !MAP_WRITE write batch refcounting to the branch. 2058- freedreno: Remove broken back_blit optimization. 2059- freedreno: Flush batches upon destroying the ctx. 2060- freedreno: Add perf_debug() for our software conditional rendering. 2061- freedreno: Move FD_MESA_DEBUG=msgs output to mesa_logi. 2062- freedreno/fdl: Give the tiling mode a nice name in debug dumps. 2063- freedreno: Add more detailed blit debug in FD_MESA_DEBUG=msgs. 2064- freedreno: Skip staging blits from uninitialized resources. 2065- freedreno: Add some cheza flakes from the last week. 2066- i915: Disable vertex texturing and delete the code. 2067- i915: Drop assertion failure about seeing each const decled once. 2068- i915g: Allow fragment coord conventions TGSI properties to be set. 2069- nir/lower_int_to_float: Make sure the cursor is in the right spot. 2070- nir: Do peephole select on other instructions if the limit is ~0. 2071- nir_to_tgsi: Fix internal handling of NIR uints for !CAP_INTEGERS 2072- nir_to_tgsi: Support integer sysvals on !CAP_INTEGERS hardware. 2073- i915g: Handle fragment depth being in OUT[1] not OUT[0]. 2074- i915g: Switch to using nir-to-tgsi. 2075- i915g: Add triangle provoking vertex support. 2076- freedreno: Move some driver debug printfs to mesa_logd. 2077- freedreno/ir3: Move the assert output to mesa_loge(). 2078- util/log: Add a streaming printf interface. 2079- freedreno/ir3: Use mesa_log_stream() for ir3 disassembly. 2080- freedreno/ir3: Move the native code output to mesa_log as well. 2081- nir: Add an interface for logging shaders with mesa_log*. 2082- freedreno/ir3: Move NIR printing to mesa_log. 2083- gallium/draw: Garbage collect draw_set_force_passthrough 2084- gallium/draw: Garbage collect draw_pt_fetch_emit. 2085- gallium/util: Introduce a helper for finding whole-resource blits. 2086- freedreno: Move the rsc-based batch flushing to helper functions. 2087- freedreno: Handle full blit discards by invalidating the resource. 2088- freedreno: Cooperate with tc to stop checking the BC for resource_busy(). 2089- ci/llvmpipe: Mark two more multithread program link flakes. 2090- i915g: Remove nr_cbufs loop. 2091- i915g: Create an i915_surface for our pipe_surfaces. 2092- i915g: Compute 3DSTATE_BUF_INFO flags at surface create time. 2093- i915g: Move cbuf color swizzle lookup to CSO creation time. 2094- i915g: Simplify color write mask setup. 2095- i915g: Use the color swizzle to reshuffle the blend const color. 2096- i915g: Clear xfails for vertex texturing. 2097- freedreno: Fix leak of the screen hash table. 2098- i915g: Fix GL_ARB_copy_buffer assertion fails. 2099- i915g: Fix bad naming of depth texture formats. 2100- i915g: Finish out blend factor overrides for both RGBx and A8. 2101- ci/i915g: Skip the piglit glx tests since we're not running X. 2102- freedreno/ir3: Report RA failure with mesa_loge(). 2103- turnip: Link more MRs and issues related to our xfails. 2104- turnip: Use vk_startup_errorf() in more startup paths. 2105- ci/turnip: Document create_instance_device_intentional_alloc_fail's fail. 2106- turnip: Disable buffer texturing on 422 formats. 2107- Revert "freedreno: Cooperate with tc to stop checking the BC for resource_busy()." 2108- nir: Add a helper for chasing movs with nir_ssa_scalar(). 2109- turnip: Short-circuit if ladder generation for constant index SSBO/UBOs. 2110- i915g: Apply clang-format. 2111- i915g: Bake the decls and program together. 2112- i915g: Allow use of I915_DEBUG= options on non-DEBUG builds. 2113- i915g: Enable dumping of fragment shaders under I915_DEBUG=fs. 2114- i915g: Use the normal compile error path for empty FSes. 2115- i915g: Log program compile errors to mesa_loge(). 2116- i915g: Stop translating the fragment program on the first error. 2117- i915g: Improve logging of unsupported opcodes. 2118- i915g: replace "uint" with normal uint32_t. 2119- i915g: Use stdbool.h instead of custom bools. 2120- i915g: Remove redundant p->error setting. 2121- i915g: Mark program errors on setting up temps, constants, and immediates. 2122- i915g: Fix off-by-one in constant count assertion. 2123- intel: Early exit from inst_is_in_block(). 2124- i915g: Finish the uint -> uint32_t conversion. 2125- i915g: Add the nice cube map layout comments from i915c. 2126- i915g: Fix FS debug dumping for declarations. 2127- i915g: Delete redundant i915_hw_sampler_views atom. 2128- i915g: Add curly braces for normal mesa style (and helps clang-format) 2129- i915g: Set up the cube map texture wrap modes. 2130- freedreno: Update comments about PIPE_BUFFER shadowing. 2131- freedreno: swap ->valid when shadowing resources. 2132- freedreno/a5xx: Make sure to mark blit read/write access in the BC. 2133- freedreno: Stop manually marking blit dst buffers as valid. 2134- freedreno: Swap needs_ubwc_clear when shadowing. 2135- freedreno: Flush the shadowed resource's write batch up front. 2136- i915g: Add support for per-vertex point size. 2137- i915g: whitespace fixup from the cube map fix. 2138- i915g: Force 1D textures to use wrap mode for the Y coordinate. 2139- i915g: Make sure the 1D texture Y channel is initialized. 2140- anv: Fix unused var warning on release builds from an assertion. 2141- nir: Add a nir_instr_remove that recursively removes dead code. 2142- nir: Use remove_and_dce for nir_shader_lower_instructions(). 2143- nir: Free the instructions in a DCE instr removal. 2144- i915g: Fix writemasking of SEQ/SNE/SSG. 2145- nir_to_tgsi: Run copy prop (and thus dce) after lower_bool_to_float. 2146- nir_to_tgsi: Declare immediates as float on non-native-ints hardware. 2147- turnip: Fix allocation size for vkCmdUpdateBuffer. 2148- i915g: Fix dumping of 3DSTATE_BACKFACE_STENCIL_OPS. 2149- i915g: Fix backface stencil when front_ccw is set. 2150- ci: Make sure that we build the piglit dmabuf tests. 2151- freedreno: Suballocate our long-lived ring objects. 2152- freedreno/a6xx: Reduce the size of the config stateobj allocation. 2153- freedrneo/a6xx: Reduce the size of the long-lived texture stateobj. 2154- freedreno/a6xx: Allocate just enough memory for SO state, only if we do SO. 2155- freedreno: Optimize duplicate obj-obj ring relocs. 2156- i915g: Fix release build compiler warnings. 2157- ci: Enable testing of i915g in the the debian -Werror release build. 2158- freedreno: Lock access to msm_pipe for RB object suballocation. 2159 2160Enrico Galli (10): 2161 2162- microsoft/compiler: zero out unused WebGPU system values 2163- microsoft/compiler: Remove de-duplication of arbitrary semantic names 2164- d3d12, microsoft/compiler: Switching semantic names to TEXCOORD 2165- d3d12, microsoft/compiler: Moving driver_location allocation to compiler 2166- util: Add simple test for util_qsort_r 2167- util: Add qsort_r/s args adapter for MSVC and BSD/macOS 2168- nir: Add modes filter to nir_sort_variables 2169- microsoft/compiler: Switch io sort to use nir_sort_variables_with_modes 2170- microsoft/spirv_to_dxil: Add drive_location assignment 2171- microsoft/compiler: Add support for get_ssbo_size to translator 2172 2173Eric Engestrom (15): 2174 2175- VERSION: bump to 21.2.0-devel 2176- docs: reset new_features.txt 2177- egl/x11: don't forget to exit the attrib list loop 2178- docs: add release notes for 21.1.0 2179- docs: add release notes for 21.1.1 2180- docs: update calendar and link releases notes for 21.1.0 2181- docs: update calendar and link releases notes for 21.1.1 2182- docs/release-calendar: add the schedule for the 21.1 branch 2183- docs: add release notes for 21.1.2 2184- docs: update calendar and link releases notes for 21.1.2 2185- docs: add release notes for 21.1.3 2186- docs: update calendar and link releases notes for 21.1.3 2187- docs: add release notes for 21.1.4 2188- docs: update calendar and link releases notes for 21.1.4 2189- docs/release-calendar: add a few more 21.1 releases 2190 2191Erico Nunes (7): 2192 2193- gallium/hud: create vs_text to match fs_text 2194- gallium/hud: extend check for has_srgb 2195- docs/lima: add an initial page for Lima 2196- lima: enable z16 format 2197- lima: add reload command to the command dump 2198- meson: kmsro: require dri3 for X11 2199- lima: avoid crash with negative viewport values 2200 2201Erik Faye-Lund (193): 2202 2203- zink: fix stencil-export cap emission 2204- lavapipe: resolve border-color when creating sampler 2205- lavapipe: implement VK_EXT_custom_border_color 2206- nir/lower_tex: do not stumble on 16-bit inputs 2207- zink: document requirement of VK_EXT_custom_border_color 2208- gallivm: handle 16-bit input in i2b32 2209- gallivm: run nir_opt_algebraic_late 2210- gallivm: add 16-bit integer support 2211- zink: do not require vulkan memory model for shader-images 2212- docs: write basic meta-documentation 2213- zink: do not read outside of array 2214- docs: remove out-of-date gles info 2215- docs: remove documentation of MESA_CI_VISUAL 2216- docs: remove documentation of MESA_PRIVATE_CMAP 2217- docs: remove documentation of MESA_HPCR_CLEAR 2218- docs: nest cherry-pick example under note 2219- docs: use tables instead of pre-formatted text 2220- docs: use math notation for example matrices 2221- docs: use code-block for console-content 2222- docs: use code-block for glsl 2223- docs: use code-block for c 2224- docs: use code-block for ini 2225- zink: only emit extended-formats cap if needed 2226- zink: remove memory-model leftovers 2227- docs: fixup link to extension 2228- docs: fix quoting around a few limits 2229- zink: correct image cap checks 2230- docs: add missing zink-requirement 2231- docs: someome -> someone 2232- zink: enable required instance ext 2233- zink: make zink_binding private 2234- zink: remove stray semicolons 2235- zink: fixup bad indentation 2236- docs: remove out-of-date versions doc 2237- zink: fix shader-image requirements 2238- zink: correct an extension-link 2239- docs: fixup indentation of radeonsi envvar values 2240- docs: document r600 envvars 2241- zink: use UINT32_MAX instead of UINT_MAX 2242- zink: respect bit-size of dref-result 2243- zink: run nir_opt_algebraic_late 2244- zink: always lower function-temp derefs 2245- zink: support emitting 16-bit int types 2246- zink: enable 16-bit int support 2247- zink: support emitting 16-bit float types 2248- zink: perform fp16 texture-lookups as fp32 and then convert 2249- zink: enable 16-bit float support 2250- zink/codegen: prefer first definition of prop/feature structs 2251- zink: also enable float16 from KHR extension 2252- lavapipe: consistently use nir macros 2253- docs: update gallium doxygen docs 2254- zink: handle matrix-types after vectors 2255- zink: cache SpvId for aggregate glsl_types 2256- zink: always enable fixed shader-caps 2257- zink: do not check for varying output for fragment shaders 2258- zink: emit cap early 2259- zink: remove needless shader-info from context 2260- zink: emit sample-shading cap early 2261- zink: emit cap early 2262- zink: only emit ImageBuffer cap if needed 2263- docs: do not generate redirects on error 2264- gallium/u_vbuf: avoid dereferencing NULL pointer 2265- freedreno/a5xx: Remove ppgtt hack 2266- docs: remove doxygen support 2267- zink: remove incorrect border-swizzle assumption 2268- lavapipe: emit correct textures_used for texture-arrays 2269- zink: do not ask glsl-compiler to unroll 2270- lavapipe: fix fsum with swizzle 2271- st/mesa: do not take util_logbase2 of a negative size 2272- zink: check for error when binding memory 2273- gallium: allow to report errors from p_screen::resource_bind_backing 2274- lavapipe: report out-of-memory when binding 2275- llvmpipe: allow calculating size of overly large texture 2276- lavapipe: report allocation-error 2277- lavapipe: correct reported number of UBOs 2278- translate: reserve more vertex-shader outputs 2279- translate: assert that nr_elements is in range 2280- ci: Uprev piglit to 3351e8952 ("max-texture-size: report merged results") 2281- docs/features: document GL_ARB_ES3_2_compatibility support for zink 2282- docs/features: mark a few more extensions as done for zink 2283- zink: fix provoking-vertex cap for quads 2284- docs: promote #dri-devel on oftc over freenode 2285- docs: update link to #zink 2286- docs: update location of #panfrost 2287- docs: update link to #lima 2288- zink: simplify emit_load_const 2289- v3d: use helper to simplify things 2290- ci: downgrade sphinx to v3.x 2291- docs: update another IRC reference 2292- docs: update another IRC reference 2293- docs: drop clayton from intel-ci notice 2294- zink: use actual const for const offset 2295- lavapipe: handle cube-array image-views 2296- lavapipe: do not interpret cube-compatible as cubemap 2297- zink: only mark resources as cube-compatible if supported 2298- zink: mark 2d-arrays as cube-compatible 2299- zink: implement half-float packing 2300- zink: untangle have_EXT_debug_utils and ZINK_DEBUG_VALIDATION 2301- zink: add support for string-markers 2302- util/prim_restart: revert part of bad fix 2303- docs: quote a few defines 2304- docs: fix header-levels in envvars.rst 2305- docs: use file-role for paths 2306- docs: use envvar role for envvars 2307- docs: add the doc-comment for fse-vars 2308- docs: do not list all gles major versions 2309- docs: update list of apis to match website 2310- docs: update llvm requirement 2311- docs: rename vmware-guest article 2312- docs: clean up list of deprecated systems 2313- docs: move swrast to deprecated drivers list 2314- docs: clean up software-drivers list 2315- docs: clean up openswr links 2316- docs: split out layered driver to its own list 2317- docs: clean up freedreno links 2318- docs: add links to documented drivers 2319- r600: explicitly advertise index buffer format support 2320- zink: limit images we mark as cube-compatible 2321- zink: rename spirv_15 bool to spirv_1_4_interfaces 2322- zink: allow to specify any spir-v version to nir_to_spirv 2323- zink: calculate spir-v version based on vk version 2324- zink: only enable vote if we can support it 2325- zink: use a macro for spir-v versions 2326- st/pbo: use correct type for images and textures 2327- docs: update master -> main in edit-links 2328- zink/ci: increase piglit and deqp-runner timeouts 2329- llvmpipe: fix edge-rule logic for lines 2330- llvmpipe: consistently deal with post-rast state 2331- llvmpipe: fix multisample lines again 2332- llvmpipe: do not always use pixel-rounded coordinates for points 2333- zink/ci: re-enable test 2334- zink: reject more illegal blits 2335- zink: limit non-extension version feature to spirv 1.5 2336- zink: use correct type for u_bit_scan 2337- zink: do not unmap dt-buffers twice 2338- zink: drop paranoid code 2339- zink: add missing compiler-dependency 2340- zink: drop some more vla usage 2341- zink: fix more initializer styles 2342- zink: introduce a define for max descriptors per type 2343- zink: use max-descriptor define 2344- zink: use alloca instead of hard-to-size vlas 2345- zink: correct type of flags to flush 2346- zink: fixup signedness of subtraction 2347- zink: remove unused function 2348- zink: drop repeated usage-bit 2349- zink: do not check buffer-format for usage-bits 2350- docs: remove outdated meson-section 2351- docs: remove outdated clarification 2352- docs: drop historic meson details 2353- docs: use more file-roles 2354- docs: use rst captions 2355- wgl: remove hard limit on pixelformats 2356- zink: drop unused macros 2357- zink: remove unused function-pointers 2358- zink: unbreak moltenvk code 2359- zink: remove unused moltenvk functions 2360- zink: do not store moltenvk functions in screen 2361- zink: remove some needless moltenvk details 2362- libgl-gdi: add missing include 2363- iris/ci: disable amly jobs 2364- aux/trace: fix bool argument 2365- zink: cast pointers to uintptr_t 2366- ci/windows: work around meson encoding issues 2367- ci/windows: enable msvc builds of zink 2368- ci/windows: fix zink msvc build-rules 2369- gallium/u_threaded: do not apply start twice 2370- ci: fix source-deps for radv on windows 2371- zink: hook up line-rasterization ext 2372- zink: use bit-allocation for boolean rasterizer-state 2373- zink: support line stippling 2374- zink: fill in the right line-mode based on state 2375- docs: update zink requirements 2376- llvmpipe: reject unsupported shader-image formats 2377- lavapipe: query formats for shader-image support 2378- llvmpipe: only report supported shader-image formats 2379- lavapipe: expose more storage-image features 2380- lavapipe: do not disable multisampling for smooth lines 2381- lavapipe: fix disable_multisample condition 2382- gallium: explicitly specify line rasterization mode 2383- draw: respect line_rectangular state 2384- llvmpipe: respect rectangular_lines 2385- lavapipe: re-expose line-rasterization extension 2386- lavapipe: expose strict-lines feature 2387- zink: implement support for non-planar DRM modifiers 2388- zink: remove duplicate format-mapping on little-endian 2389- vulkan: do not map zero-sized region of memory 2390- vulkan: allocate host-visible memory for swapchain images 2391- zink: check for right feature 2392- zink: respect line_rectangular state 2393- lavapipe: do not assert on more than 32 samplers 2394- lavapipe: do not mark unsupported tests as crashing 2395- d3d12: split up root parameter update and set 2396 2397Erik Kurzinger (1): 2398 2399- vulkan/device_select: avoid segfault on Wayland if wl_drm is unavailable 2400 2401Ernst Sjöstrand (1): 2402 2403- nv50: Fix use of initializers on older compilers 2404 2405Ezequiel Garcia (2): 2406 2407- panfrost: Add GPU IDs for G52 1-Core-2EE (RK3568/RK3566) 2408- panfrost: Rename G52 product ID 0x7402 as G52r1 2409 2410Felix DeGrood (16): 2411 2412- intel: add L3 Bypass Disable to gen xml 2413- iris: Cache VB/IB in L3$ for Gen12 2414- iris: reduce redundant tile cache flushes 2415- intel/blorp: remove tile flush from emit surface state 2416- intel/compiler: Use switch for DERIVATIVE_GROUP logic 2417- intel/compile: refactor DERIVATIVE_GROUP logic 2418- intel/compiler: tileY friendly LID order for CS 2419- intel/compiler: balanced tileY/linear friendly LID order for CS 2420- anv: Cache VB/IB in L3$ for Gfx12 2421- anv: Add debug messages for DEBUG_PIPE_CONTROL 2422- anv: Clear all pending stall after pipe flush 2423- anv: Remove Tile Cache flush from SBA, Pipe Select 2424- anv: remove unnecessary Tile Cache flushes 2425- anv: Only flush Tile Cache on VK_ACCESS_HOST_R/W 2426- anv: Add ANV_PIPE_HDC_PIPELINE_FLUSH_BIT 2427- anv: Replace DC Flush with HDC Pipeline Flush 2428 2429Francisco Jerez (20): 2430 2431- intel/fs: Implement representation of SWSB cross-pipeline synchronization annotations. 2432- intel/fs: Add helper functions inferring sync and exec pipeline of an instruction. 2433- intel/fs: Represent SWSB in-order dependency addresses as vectors. 2434- intel/fs: Calculate SWSB cross-pipeline synchronization information. 2435- intel/fs: Use CHV/BXT implementation of 64-bit MOV_INDIRECT on XeHP+. 2436- intel/fs: Fix repclear assembly for XeHP+ regioning restrictions. 2437- intel/fs: Handle regioning restrictions of split FP/DP pipelines. 2438- intel/eu: Teach EU validator about FP/DP pipeline regioning restrictions. 2439- intel/compiler: Lower integer division on XeHP. 2440- intel/fs: Introduce lowering pass to implement derivatives in terms of quad swizzles. 2441- intel/fs: Add more efficient fragment coordinate calculation. 2442- iris/gen12: Work around push constant corruption on context switch. 2443- iris/gfx12: Invalidate ISP at the end of every batch. 2444- intel/fs/xehp: Assert that the compiler is sending all 3 coords for cubemaps. 2445- intel/fs: Track single accumulator in scoreboard lowering pass. 2446- intel/fs: Implement Wa_22012725308 for cross-pipe accumulator data hazard. 2447- intel/fs: Add SWSB dependency annotations for cross-pipeline WaR data hazards on XeHP+. 2448- intel/fs: Teach IR about EOT instruction writing the accumulator implicitly on TGL+. 2449- intel/fs: Fix synchronization of accumulator-clearing W/A move on TGL+. 2450- intel/fs: Implement Wa_14013745556 on TGL+. 2451 2452Georg Lehmann (11): 2453 2454- radv: Fix compatible image handle type for dmabufs. 2455- v3dv: use VKAPI_ATTR and VKAPI_CALL. 2456- zink: Add a missing VKAPI_ATTR. 2457- vulkan: Update the XML and headers to 1.2.180 2458- radv: Implement VK_EXT_global_priority_query. 2459- ac: Check me_fw_feature for 32bit predication on gfx10.3 2460- ac: Enable 32bit predication on gfx10. 2461- ac: Enable 32bit predication on gfx9 with fw feature version 52. 2462- lavapipe: Use common default allocator. 2463- lavapipe: Add a missing VKAPI_ATTR. 2464- vulkan/wsi/wayland: Add support for more SRGB formats. 2465 2466Gert Wollny (40): 2467 2468- Revert "r600: don't set an index_bias for indirect draw calls" 2469- Revert "r600: Don't advertise support for scaled int16 vertex formats" 2470- r600: don't set an index_bias for indirect draw calls 2471- virgl: use pipe_draw_info::restart_index only when primitive_restart is enabled 2472- r600: update pipe_draw_info::restart_index only when primitive_restart is enabled 2473- nir/opt_algebraic: optimizations for add umax/umin with zero 2474- nir: Add filter callback for lower_to_scalar to the options 2475- gallium: pass lower_to_scalar_filter to lower_to_scalar pass 2476- r600/sfn: lower to scalar with filter applied 2477- mesa: add an extension MESA_bgra 2478- compiler/nir: check whether var is an input in lower_fragcoord_wtrans 2479- nir/linker: add option to ignore the IO precisions for better varying packing 2480- r600/sfn: Ignore precision when linking 2481- r600: don't put INTERP_X and INTERP_Z into one instruction group 2482- r600/sfn: Use valid pixel mode only in fragment shaders 2483- r600/sfn: Use valid pixel mode for SSBO and Image result fetches 2484- r600/sfn: force new CF if fetch through TC would be used in same clause 2485- r600/sfn: Lower FS pos input w-transform in NIR 2486- r600/sfn: Don't check the faction when searching for the input slot 2487- r600/sfn: count only distinct literals per instruction group 2488- r600/sfn: Fix Cayman trans ops 2489- r600/sfn: Use unified index register code for samplers 2490- r600/sfn: Use unified code path for index register load 2491- r600/sfn: Fix texture gather for Cayman 2492- r600/sfn: Fix ssbo/image atomic swap for Cayman 2493- r600/sfn: Fix Cayman SSBO write with more than one value 2494- r600/sfn: Fix Geometry shader for Cayman 2495- r600/sfn: read number of images from shader info 2496- r600/sfn: Fix cube query layer number for indirect access 2497- r600/sfn: Add lowering pass to legalize image access 2498- r600/sfn: legalize image access on Cayman 2499- r600: Enable NIR debug flags also for Cayman 2500- r600/sfn: don't designates initializers, since they are c++20 2501- r600/sfn: don't read back unused image atomic result values 2502- r600/sfn: Drop method for emit_atomic_add, it is handled in generic code 2503- r600/sfn: Don't read return values of atomic ops that are not used 2504- r600/sfn: Clean up some ALU lowering and move code 2505- r600/sfn: Lower offset in TXF instructions 2506- virgl: Enable ASTC formats also for 3D textures 2507- r600/sfn: initialize all texture lower options 2508 2509Gustavo Padovan (10): 2510 2511- traces-iris: fix expectation for Intel GLK 2512- gitlab-ci: enable Intel AML-Y as experimental 2513- gitlab-ci: rule anchor for experimental devices as manual in MRs 2514- gitlab-ci: enable all 3 intel devices as manual in MR pipelines 2515- iris/ci: disable failing gimark test for now 2516- iris/ci: enable intel devices automatically in MR pipelines 2517- gitlab-ci: add python script to submit lava jobs 2518- gitlab-ci: enable testing on Intel Kaby Lake as experimental 2519- ci/lava: propely report test failure through sys.exit() 2520- ci/lava: do not save lava.yaml in the artifacts 2521 2522Hans-Kristian Arntzen (2): 2523 2524- radv: Take image alignment into account when allocating MUTABLE pool. 2525- radv: Allocate buffer list for MUTABLE descriptor types as well. 2526 2527Heinrich Fink (6): 2528 2529- softpipe: add missing sentinel to debug option array 2530- llvmpipe: unmap display target of shader image/sampler 2531- softpipe: unmap display target of shader sampler 2532- llvmpipe: do not leak map of display target in fs setup 2533- llvmpipe: do not leak display target mapped ptr in cs setup 2534- gbm/dri: Fix leaking bo memory on failure path 2535 2536Hoe Hao Cheng (15): 2537 2538- vulkan/util: generate vk_dispatch_table that combines all dispatch tables 2539- nir: define NIR_ALU_MAX_INPUTS 2540- zink: remove variable length arrays in ntv 2541- zink: introduce vk_dispatch_table 2542- zink/codegen: split commands into three groups 2543- zink/codegen: add zink_verify_*_extensions() 2544- zink: slight refactor of load_device_extensions() 2545- zink: use the dispatch tables 2546- zink/codegen: allow conditional enabling of instance extensions 2547- zink/codegen: clean the constructor of Extension up 2548- zink: do not fail when EXT_calibrated_timestamps is unavailable 2549- zink: move extension function verification to when it is used 2550- zink: zero-init structs with ISO C 2551- zink: standardize zero-init code style 2552- zink: make codegen compatible with python 3.5 2553 2554Hubert Jasudowicz (1): 2555 2556- docs/egl: Add missing backticks 2557 2558Hyunjun Ko (6): 2559 2560- turnip: prep work for timeline semaphore support 2561- turnip: Implement VK_KHR_timeline_semaphore. 2562- turnip/kgsl: Fix to build on android. 2563- turnip: add missing VKAPI_ATTR/CALL 2564- turnip: Copy command buffers to deferred submit request 2565- turnip/kgsl: new flag TU_USE_KGSL 2566 2567Iago Toral Quiroga (118): 2568 2569- v3dv: avoid redundant BO job additions for textures and samplers 2570- v3dv: avoid redundant BO job additions for UBO/SSBO 2571- v3dv: avoid redundant BO job additions for spill / shared BOs 2572- v3dv: optimize a few cases of BO job additions 2573- v3dv: use a bitfield to implement a quick check for job BO tracking 2574- v3dv: fix descriptor set limits 2575- v3dv: fix array sizes when tracking BOs during uniform setup 2576- v3dv: don't use a dedicated BO for each occlusion query 2577- v3dv: fix sRGB blending workaround 2578- v3dv: improve dirty descriptor set state tracking 2579- v3dv: dirty viewport doesn't affect fragment shaders 2580- v3dv: better tracking of dirty push constant state 2581- vulkan/wsi: give drivers the option to decide if they need to blit 2582- v3dv: implement wsi hook to decide if we can present directly on device 2583- compiler/nir: add a divergence analysis option for non-uniform workgroup id 2584- v3dv: choose a larger CSD supergroup size if possible 2585- broadcom/compiler: track if a shader has control barriers in prog_data 2586- v3dv: limit supergroup size in presence of TSY barriers 2587- broadcom/common: move CSD supergroup sizing to a common helper 2588- v3d: choose a larger CSD supergroup size if possible 2589- broadcom/compiler: add a loop unrolling pass 2590- v3dv: setup loop unrolling 2591- v3d: move NIR compiler options to GL driver 2592- broadcom/compiler: add a compiler strategy to disable loop unrolling 2593- broadcom/compiler: refactor compile strategies 2594- broadcom/compiler: specify maximum thread count in compile strategies 2595- v3d: enable NIR loop unrolling 2596- v3d: re-enable GLSL loop unrolling 2597- broadcom/compiler: change register allocation policy for accumulators 2598- broadcom/compiler: move vertex shader output handling to its own function 2599- broadcom/compiler: implement non-uniform offset on vertex outputs 2600- broadcom/compiler: make vir_VPM_WRITE_indirect handle non-uniform offsets 2601- broacom/compiler: enable PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR 2602- broadcom/compiler: don't use nir_src_is_dynamically_uniform 2603- v3dv: don't lower indirect derefs on output variables 2604- broadcom/compiler: don't unroll due to indirect indexing of outputs 2605- v3d: disable GLSL loop unrolling again 2606- broadcom/compiler: clarify PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR setting 2607- broadcom/compiler: don't emit TLB loads for components that don't exist 2608- broadcom/compiler: consider RT component size when lowering logic ops in Vulkan 2609- broadcom/ci: update fail list for v3dv 2610- v3d: take TLB blit framebuffer dimensions from smallest surface dimensions 2611- v3dv: implement VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES 2612- v3dv: fix texture_size() 2613- v3dv: allow creating uncompressed views from compressed images and vice versa 2614- v3dv: expose VK_KHR_maintenance2 2615- v3dv: define V3D_MAX_BUFFER_RANGE 2616- v3dv: implement VK_KHR_maintenance3 2617- v3dv: implement VK_KHR_bind_memory2 2618- v3dv: implement VK_KHR_get_memory_requirements2 2619- v3dv: keep track of whether an image may be backed by external memory 2620- v3dv: implement VK_KHR_dedicated_allocation 2621- v3dv: trivially handle VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR 2622- v3dv: add v3dv_GetImageSparseMemoryRequirements back 2623- v3dv: implement vkCmdDispatchBase 2624- v3dv: create a helper for image creation 2625- v3dv: implement interactions of VK_KHR_device_group with VK_KHR_swapchain 2626- v3dv: implement VK_KHR_device_group 2627- v3dv: don't keep an open file descriptor for imported fences/semaphores 2628- v3dv: implement external semaphore/fence extensions 2629- v3dv: increase number of supported SSBOs 2630- v3dv: expose KHR_relaxed_block_layout 2631- v3dv: document VK_KHR_relaxed_block_layout as implemented 2632- v3dv: expose VK_KHR_storage_buffer_storage_class 2633- v3dv: refactor descriptor updates 2634- v3dv: implement VK_KHR_descriptor_update_template 2635- v3dv: fix incorrect render area setup 2636- v3dv: expose KHR_variable_pointers 2637- v3dv: don't lower vulkan resource index result to scalar 2638- v3dv: implement VK_KHR_get_display_properties2 2639- v3dv: handle Vulkan 1.1 feature and property queries 2640- v3dv: don't support VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT 2641- Revert "v3dv: allow creating uncompressed views from compressed images and vice versa" 2642- v3dv: expose VK_KHR_shader_non_semantic_info 2643- v3dv: implement VK_EXT_index_type_uint8 2644- v3dv: implement vkCmdBlitImage2KHR 2645- v3dv: implement vkCmdCopyBuffer2KHR 2646- v3dv: implement vkCmdCopyBufferToImage2KHR and vkCmdCopyImageToBuffer2KHR 2647- v3dv: implement vkCmdCopyImage2KHR 2648- v3dv: implement vkCmdResolveImage2KHR 2649- v3dv: expose VK_KHR_copy_commands2 2650- v3dv: remove const qualifier for resource pointer in view objects 2651- broadcom/compiler: implement nir_intrinsic_load_subgroup_id correctly 2652- broadcom/compiler: lower nir_intrinsic_load_num_subgroups 2653- broadcom/compiler: add FLAFIRST and FLNAFIRST opcodes 2654- broadcom/compiler: implement more subgroup intrinsics 2655- broadcom/compiler: add a ntq_emit_cond_to_bool helper 2656- broadcom/compiler: add a set_a_flags_for_subgroup helper 2657- broadcom/compiler: track if a compute shader uses subgroup functionality 2658- broadcom/util: don't use compute supergroup packing with subgroups 2659- v3dv: expose correct subgroup size 2660- v3dv: expose support for basic subgroup operations 2661- broadcom/compiler: use nir_sort_variables_with_modes 2662- v3dv: account for dst offset of copy query results operations 2663- v3dv: always free pipeline stages after compiling 2664- v3dv: extend broadcom stages to include geometry 2665- v3dv: define a generic helper to create binning pipeline stages 2666- v3dv: add a few more broadcom shader stage helpers 2667- broadcom/compiler: track if geometry shaders write gl_PointSize 2668- v3dv: add support for geometry shaders to pipelines 2669- broadcom/compiler: create a helper for computing VPM config 2670- v3dv: emit state packets for geometry shaders 2671- v3dv: handle QUNIFORM_FB_LAYERS 2672- v3dv: fix copy buffer to image TFU path for 3D images 2673- broadcom/compiler: handle compact input arrays for geometry shaders 2674- broadcom/compiler: don't ignore constant offset on per-vertex input loads 2675- v3dv: implement layered attachment clears 2676- v3dv: remove fallback path for vkCmdClearAttachments 2677- v3dv: remove deferred vkCmdClearAtachments path 2678- broadcom/ci: update expected fails for v3dv after enabling geometry shaders 2679- v3dv: expose geometry shaders 2680- v3dv: fix push constant range for texel buffer copy pipelines 2681- v3dv: implement layered texel buffer copies using a geometry shader 2682- v3dv: allow batching texel buffer copies for 3D images 2683- v3dv: use defines for push constant offsets used by texel buffer copy shaders 2684- v3d: better scissor tracking 2685- broadcom/compiler: implement gl_PrimitiveID in FS without a GS 2686- v3dv: remove more dead clearing code 2687 2688Ian Romanick (49): 2689 2690- tgsi_exec: Fix NaN behavior of saturate 2691- tgsi_exec: Fix NaN behavior of min and max 2692- ci: Uprev piglit to b3a9fa345 ("framework/replay: Quote resource names before signing") 2693- tgsi_exec: Use C99 functions for min and max instead of open coding 2694- gallivm: Fix NaN behavior of min and max 2695- gallivm: Use range analysis to generate better fmin and fmax code 2696- gallivm: Use GALLIVM_NAN_RETURN_OTHER_SECOND_NONNAN for norm clamping 2697- gallivm: Remove unused GALLIVM_NAN_RETURN_NAN 2698- nir/algebraic: Remove some optimizations of comparisons with fsat 2699- nir/algebraic: Tautology replacements require sources be numbers 2700- nir/algebraic: Invert comparisons less often 2701- nir/algebraic: Equality comparison inversions require sources be numbers 2702- nir/algebraic: Mark some more comparison reductions exact 2703- nir/algebraic: Mark some more logic-joined comparison reductions as exact 2704- nir/algebraic: Rearrange some logic-joined comparisons and reduce 2705- nir/algebraic: Add algebraic opt for float comparisons with identical operands. 2706- util/format: Delete trailing whitespace 2707- dri: Fix typo before __DRI_IMAGE_COMPONENTS defines 2708- egl/dri2: Rely on drm-uapi for DRM_FORMAT defines 2709- mesa/st: Always call st_nir_lower_tex_src_plane if samplers were lowered 2710- nir/lower_tex: Add support for lowering Y41x formats 2711- util/format: Add Y41x formats 2712- egl/dri2: Add Y41x formats 2713- gallium/dri: Add Y41x formats 2714- util/format: Add Y21x formats 2715- egl/dri2: Add Y21x formats 2716- gallium/dri: Add Y21x formats 2717- intel/isl: Add mappings for PIPE_FORMAT_R8G8_R8B8_UNORM and PIPE_FORMAT_G8R8_B8R8_UNORM 2718- mesa: Add R8G8_R8B8 and G8R8_B8R8 formats 2719- nir/lower_tex: Add support for lowering YUYV formats 2720- gallium/dri: Allow use of R8G8_R8B8 for YUYV and G8R8_B8R8 for UYVY 2721- iris: Return correct enum names from fmt_swizzle 2722- iris: Silence warnings about implicit enum type conversions 2723- mesa/st: Don't assert !unify_interfaces in the passthrough edge flags case 2724- radeonsi: Use util_cpu_caps to detect number of CPUs 2725- util: Zero out all of mask in util_set_thread_affinity 2726- util: Change order of PIPE_OS_UNIX code in util_cpu_detect_once 2727- util: Trivial cleanup in the BSD code of util_cpu_detect_once 2728- util: Fix setting nr_cpus on some BSD variants 2729- util: Set util_cpu_caps.num_cpu_mask_bits based on total CPUs in the system 2730- util: Use maximum number of CPUs for determining cache topology 2731- util: Consider CPU affinity when detecting number of CPUs 2732- v3d: ci: Add KHR-GLES31.core.shader_image_load_store.basic-glsl-earlyFragTests to flakes 2733- intel/compiler: Add the ability to defer IP updates in backend_instruction::remove 2734- intel/compiler: Add cfg_t::adjust_block_ips() method 2735- intel/compiler: Update block IPs once in dead_code_eliminate 2736- intel/compiler: Update block IPs once in register_coalesce 2737- intel/compiler: Update block IPs once in opt_cmod_propagation 2738- nir/gcm: Clear out pass_flags before starting 2739 2740Icecream95 (38): 2741 2742- panfrost: Assert staging resource allocation was successful 2743- panfrost: Unset shared/scanout binding flags for staging resources 2744- pan/bi: Skip nir_opt_move/sink for blend shaders 2745- panfrost: Fix shader texture count 2746- pan/decode: Allow frame shader DCDs to be in another BO than the FBD 2747- pan/decode: Print errors when closing dump file 2748- pan/mdg: Fix calculation of available work registers 2749- panfrost: Remove incorrect comment 2750- panfrost: Fix viewport scissor for preload draws 2751- panfrost: Split panfrost_batch_submit to prevent stack overflows 2752- pan/bi: Add "lane_dest" modifier 2753- pan/bi: Replace lane0 modifier with lane_dest for load instructions 2754- panfrost: Make pan_select_crc_rt a non-static function 2755- panfrost: Always write reloaded tiles when making CRC data valid 2756- pan/bi: Add two tuples to a clause when needed with NOSCHED 2757- panfrost: Skip blit shader labelling if the buffer has no space 2758- panfrost: Fix polygon list size computations 2759- pan/mdg: Try scheduling load/store ops in pairs 2760- pan/decode: Flush the dump stream after decoding 2761- panfrost: Call abort() when aborting on fault 2762- panfrost: Use first_tiler to check if tiling is needed 2763- pan/mdg: Add a bundle ID to instructions 2764- pan/mdg: Reorder some code in mir_spill_register 2765- pan/mdg: Fill from TLS before spilling non-SSA nodes 2766- pan/mdg: Fix reading a spilt register in the bundle it's written 2767- pan/mdg: Add 16 bytes of padding to the end of shaders 2768- panfrost: Don't set dirty_mask for constant buffers 2769- pan/bi: Create a mask of UBOs that need to be uploaded 2770- pan/mdg: Create a mask of UBOs that need to be uploaded 2771- panfrost: Only upload UBOs when needed 2772- panfrost: Set bound dimensions to framebuffer size 2773- Revert "panfrost: Fix crc_valid condition" 2774- panfrost: Always use a fragment shader when alpha test is enabled 2775- panfrost: Fix GPU ID for t76x in get_perf_config 2776- panfrost: Fix full_threads calculation on v6 2777- pan/bi: Create a nop clause when the shader starts with ATEST 2778- panfrost: Initialise the blend equation in create_blend_state 2779- pan/mdg: Analyze helper termination after scheduling 2780 2781Ilia Mirkin (29): 2782 2783- nv50/ir: offset accesses to shared memory 2784- nv50/ir: refine limitation on load/store loading offsets, include atomics 2785- nv50/ir: "zero" register does not work with g[] memory 2786- nv50/ir: mark ATOM as having 3 arguments 2787- nv50/ir: wipe any info about memory when seeing a locking op 2788- nv50/ir: optimize shift of 0 bits 2789- nv50: pass surface/buffer parameters to shader via aux buffer 2790- nv50/ir: add surface op lowering 2791- nv50/ir: add lowering for shared atomics 2792- nv50: add compute invocations counter 2793- nv50: add remapping of buffers/images into unified space 2794- nv50: add support for doing membars 2795- nv50: add indirect compute support 2796- intel: fix MI builder for pre-gen7 2797- nv50: fix streamout queries 2798- nvc0: fix 3d images 2799- vdpau: allow state tracker to report a lower number of macroblocks 2800- nouveau: improve video limit reporting 2801- st/mesa: avoid enabling image/buffer/compute extensions for weak hardware 2802- mesa: relax ES 3.1 compute shader requirements 2803- st/mesa: properly encode OES_geometry_shader requirement 2804- mesa/get: allow image/buffer/atomic variables to be fetched in es3.1 2805- st/mesa: allow hardware to claim ES 3.1 without hw indirect draws 2806- nv50: expose images/buffers/compute 2807- nv50: expose GL ES 3.1 for nva3+ hardware 2808- mesa: always expose NV_image_formats and OES_shader_image_atomic 2809- mesa: also flush after compute dispatch when debug flag enabled 2810- nv50: use the no-mipmap texture type for 2d ms views 2811- st/mesa: always report the max samples as supported 2812 2813Ishi Tatsuyuki (1): 2814 2815- radv: ignore redundant variable descriptor counts (v2) 2816 2817Italo Nicola (28): 2818 2819- pan/mdg: fix midgard writemask encoding for stores 2820- util: add util_sign_extend 2821- pan/mdg: clean up redundant/unused variables in disassemble.c 2822- pan/mdg: rename dest_override to shrink_mode 2823- pan/mdg: improve outmod printing 2824- pan/mdg: refactor mir_pack_swizzle 2825- pan/mdg: add proper expand_mode enum 2826- pan/mdg: encode/decode expand_mode properly 2827- pan/mdg: add midgard_src_expand_mode validation 2828- pan/mdg: improve input modifier printing 2829- pan/mdg: improve swizzle decoding 2830- pan/mdg: fix/change ALU opcodes descriptions and add some missing ops 2831- pan/mdg: stop querying datatype by reading opcode name 2832- pan/mdg: print input data type for ALU opcodes 2833- pan/mdg: stop using size disambiguation suffixes 2834- pan/mdg: fix midgard.h indentation 2835- pan/mdg: improve mask decoding 2836- pan/mdg: remove register prefixes 2837- pan/mdg: print special alu arg outmods 2838- pan/mdg: misc cleanups 2839- pan/mdg: add helpers for load/store special read regs 2840- pan/mdg: improve ldst opcode names and add missing ops 2841- pan/mdg: print names of non-work registers 2842- pan/mdg: properly encode/decode ldst instructions 2843- pan/mdg: improve tex opcode decoding and add missing ops 2844- panfrost/ci: Improve coverage for T860 2845- virgl: implement EXT_multisampled_render_to_texture 2846- panfrost: fix GL_EXT_multisampled_render_to_texture regression 2847 2848Iván Briano (2): 2849 2850- intel/nir: Fix txs for null surfaces 2851- anv: fix feature/property/sizes reported for fragment shading rate 2852 2853James Jones (18): 2854 2855- gbm: Remove stat and refcount fields from gbm_device 2856- gbm: Inline load_backend function content 2857- gbm: Create device directly in find_backend 2858- gbm: Consolidate env var and default backend loops 2859- gbm: Give getenv backend override its own function 2860- gbm: Give gbm_device a reference to its backend 2861- gbm: Add gbm_core struct to export code to backends 2862- gbm: Move majority of gbmint.h to gbm_backend_abi.h 2863- gbm: Version the GBM backend interface 2864- gbm: Add backend ABI-check test 2865- gbm: Rename backend description list to builtin_backends 2866- loader: Factor out driver library loading code 2867- meson: Add a GBM backends search path build option 2868- gbm: Rename the DRI backend from gbm_dri.so to dri 2869- gbm: Put common device creation in a helper function 2870- gbm: Support dynamically loading named backends 2871- gbm: Load backend based on DRM device driver name 2872- loader: Handle failure to load DRI driver library 2873 2874James Park (14): 2875 2876- meson: Fix winflexbison warnings 2877- ac/surface: Move drm_fourcc.h to common header 2878- radv: Use ac_drm_fourcc.h 2879- meson: Add wrap for libelf on Windows 2880- meson: Disable libdrm for RADV on Windows 2881- meson: Disable MSVC warning 5105 2882- amd: Fix warnings around variable sizes 2883- radv: Add _WIN32 guard in radv_check_gpu_hangs 2884- radv: Fix unused label warning on Windows 2885- radv: Add <io.h> on WIndows for missing close() 2886- draw/clip: Use NAN to make MSVC happy 2887- llvmpipe: Remove stray ## operator for MSVC 2888- ci: Update Windows image to build RADV 2889- vulkan: Support 32-bit "weak" symbols on MSVC 2890 2891Jan Beich (1): 2892 2893- anv: adjust headers for non-GNU after e9e1e0362b6c 2894 2895Faith Ekstrand (139): 2896 2897- intel/compiler: Don't insert barriers for NULL sources 2898- anv: Use the same re-order mode for streamout as for GS 2899- vulkan: Update the XML and headers to 1.2.177 2900- anv: Implement VK_EXT_provoking_vertex 2901- gallium: Add a transcode_astc driconf option 2902- intel/isl: There are seven aux states 2903- intel/isl: Fix isl_color_value_unpack to match the prototype 2904- intel/eu: SVB writes only happen on Gen6 2905- intel/fs: Stop using brw_dp_read/write_desc in Gen7+ only code 2906- intel/eu: Set message subtype properly for SIMD8 FB fetch 2907- intel/fs: Don't use pixel_z for Gen4-5 source_depth_to_render_target 2908- intel/nir: Set lower txs with non-zero LOD 2909- nir/builder: Move clamp helpers to nir_builder.h 2910- anv: Check offset instead of alloc_size for freeing surface states 2911- anv: Allow storage on all formats that support typed writes 2912- anv: Plumb the shader into push constant helpers 2913- anv: Support pushing shader constants 2914- anv: Push at most 32 regs for vec4 shaders 2915- intel/vec4: Don't spill fp64 registers more than once 2916- intel/vec4: Add some asserts to move_push_to_pull 2917- intel/vec4: Update nr_params in pack_uniform_registers 2918- intel/vec4: Set up push ranges before we emit any code 2919- intel/vec4: Add support for masking pushed data 2920- intel/vec4: Add support for UBO pushing 2921- nir: Add a nir_instr_move helper 2922- nir/gather_info: Expose a nir_intrinsic_writes_external_memory helper 2923- nir: Add a discard optimization pass 2924- intel/fs: Handle non-perspective-correct interpolation on gen4-5 2925- intel/nir,i965: Move HW generation check for UBO pushing to i965 2926- intel/vec4: Also use MOV_FOR_SCRATCH for swizzle resolves 2927- intel/isl: Fix isl_format_is_valid 2928- intel/fs/ra: Fix payload node setup for SIMD16 on Gen4-5 2929- ttn: Stop manually managing system_values_read 2930- anv: Require softpin on Gen8+ 2931- anv: Make use_softpin compile-time in genX code 2932- anv: Handle OOM in the pinned path in anv_reloc_list_add 2933- anv: Add a helper to add a BO to the batch list without a reloc 2934- anv: Make anv_batch_emit_reloc inline and optimize SKL+ 2935- anv: Fast-path surface relocs when we have softpin 2936- anv: Optimize anv_address_physical when ANV_ALWAYS_SOFTPIN 2937- anv/blorp: Optimize addresses/relocations when ANV_ALWAYS_SOFTPIN 2938- iris: Use isl_surf_get_image_surf instead of hand-rolling it 2939- iris: Move target_to_isl_surf_dim to iris_resource.c 2940- intel/isl: Add a isl_surf_get_image_offset_B_tile_el helper 2941- intel/blorp: Use isl_surf_get_image_offset_B_tile_el in ccs_ambiguate 2942- intel/isl: Make the offset helpers four dimensional 2943- intel/isl: Make tile logical extents four dimensional 2944- intel/isl: Use a 4D physical total extent for size calculations 2945- i965: Use nir_lower_passthrough_edgeflags 2946- anv: Agressively no-op Flush/InvalidateMappedMemoryRanges 2947- docs: Begin documenting ISL 2948- isl: Document more members of isl_surf 2949- docs/isl: Document ISL's units 2950- docs/isl: Add detailed documentation about isl formats 2951- docs/isl: Add detailed documentation about tiling on Intel GPUs 2952- docs/isl: Add detailed documentation about CCS compression 2953- util: Move the 4x4 matrix inverse function to u_math 2954- crocus: Drop extra_aux support 2955- nir,amd: Suffix nir_op_cube_face_coord/index with _amd 2956- nir,panfrost: Suffix fsat_signed and fclamp_pos with _mali 2957- nir,vc4: Suffix a bunch of unorm 4x8 opcodes _vc4 2958- vulkan: Update the XML and headers to 1.2.182 2959- nir: Require vectorized ALU ops to be all-or-nothing 2960- nir,docs: Add docs for NIR ALU instructions 2961- nir: Document all the ALU opcodes 2962- docs,isl: Document Sandy Bridge HiZ/stencil 2963- editorconfig: Use 3-space tabs for .rst 2964- docs/nir: Use 3-space tabs 2965- docs/isl: Consistently use 3-space tabs 2966- spirv: Create acceleration structure and shader record variables 2967- anv: Add minimal boilerplate for VK_KHR_acceleration_structure 2968- anv: Add stub support for acceleration structures 2969- anv: Add support for binding acceleration structures 2970- anv: Add minimal boilerplate for VK_KHR_ray_tracing_pipeline 2971- anv: Get ready for more pipeline stages 2972- anv: Add a ray-tracing pipeline object 2973- anv: Add support for binding ray-tracing pipelines 2974- anv,iris: Move the SHADER_RELOC enums to brw_compiler.h 2975- intel/compiler: Generalize shader relocations a bit 2976- intel/compiler: Add a U32 reloc type 2977- intel/fs: Add support for compiling bindless shaders with resume shaders 2978- intel/rt: Use reloc constants for the resume SBT 2979- anv: Disallow UBO pushing for bindless shaders 2980- nir/apply_pipeline_layout: Handle bindless shaders 2981- anv: Support fetching descriptor addresses from push constants 2982- anv: Compile ray-tracing shaders 2983- anv: Compile trivial return and trampoline shaders 2984- intel/fs: Don't pull CS push constants if uses_inline_data 2985- anv: Create and return ray-tracing pipeline SBT handles 2986- anv: Compute scratch sizes for ray-tracing pipelines and shader groups 2987- anv: Add support for vkCmdSetRayTracingPipelineStackSizeKHR 2988- anv: Allow _anv_combine_address with a NULL batch 2989- anv: Make anv_address::offset 64-bit 2990- anv: Implement vkCmdTraceRays and vkCmdTraceRaysIndirect 2991- isl: Assert some iris invariants in isl_surf_get_ccs_surf 2992- isl: Take a hiz_or_mcs_surf in isl_surf_supports_ccs 2993- isl,iris: Move the extra_aux_surf logic into iris 2994- isl,docs: Add a chapter on AUX state tracking 2995- docs/isl: Improve the bit[6] swizzling section of the tiling chapter 2996- include/drm-uapi: bump headers 2997- anv: Claim to be a discrete GPU if has_lmem 2998- util: Add an implementation of qsort_r for non-GNU platforms 2999- nir: Add a function for sorting variables 3000- intel/genxml: Add SURFTYPE_SCRATCH on GFX version 12.5 3001- intel/isl: Add support for scratch buffers 3002- intel/fs: Implement spilling on XeHP 3003- intel/fs: Implement load/store_scratch on XeHP 3004- intel/genxml: Add new ScratchSpaceBuffer fields on GFX version 12.5 3005- iris: Add a MEMZONE_BINDLESS and uploader 3006- iris: Add support for scratch on XeHP 3007- anv: Add support for scratch on XeHP 3008- intel/genxml: Remove old scratch fields on GFX version 12.5 3009- iris/bufmgr: Stop changing mapping modes on buffers 3010- intel/devinfo: Add a has_lsc bit 3011- intel/compiler: Add LSC to messages brw_ir_performance 3012- intel/fs: Lower uniform pull constant load message to LSC dataport 3013- docs/isl/tiling: Fix swizzle pattern for X-tiling 3014- intel/isl: Pull the uncompressed surface view code from anv 3015- intel/blorp: Adjust the compressed copy rectangle before convert_to_single_slice 3016- intel/blorp: Use isl_surf_get_uncompressed_surf 3017- intel/isl: Add more cases to isl_surf_get_uncompressed_surf 3018- iris: Don't leak the surface if uncompressed re-interp fails 3019- iris: Use isl_surf_get_uncompressed_surf 3020- nir: Drop nir_ssa_def::name and nir_register::name 3021- android: Drop the Android.mk build system 3022- android: Restore android/Android.mk 3023- nir/lower_subgroups: Pad ballot values before bitcasting 3024- docs: Add docs for running a local Mesa build 3025- mailmap: Update for Emma's new e-mail address 3026- Convert a few files to UTF-8 3027- mailmap: Add two more lines for Alyssa Rosenzweig 3028- glsl: Delete lower_texture_projection 3029- anv/allocator: Use list->u64 in free_list_push 3030- iris: Re-emit MEDIA_VFE_STATE for variable group size shaders 3031- anv: Handle errors properly in anv_i915_query 3032- intel: Pull anv_i915_query into common code 3033- anv: Use intel_i915_query_alloc for memory regions 3034- iris: Use intel_i915_query for meminfo 3035- nir/lower_tex: Rework invalid implicit LOD lowering 3036 3037Jeremy Huddleston (2): 3038 3039- libgl-xlib: Set darwin-versions 3040- libgl-xlib: Add missing dep_x11 dependency 3041 3042Jeremy Newton (1): 3043 3044- Update libva requirement 3045 3046Jesse Natalie (44): 3047 3048- microsoft/spirv_to_dxil: Lower samplers from deref to index 3049- microsoft/spirv_to_dxil: Lower loads/stores to DXIL 3050- microsoft/compiler: Support raw SRVs/UAVs through dxil_module_get_res_type 3051- microsoft/compiler: Support arrays of UBOs 3052- microsoft/compiler: Emit CBVs via variables for Vulkan 3053- microsoft/compiler: Emit SSBO variables 3054- microsoft/compiler: Split Vulkan resource_index / descriptor processing 3055- microsoft/compiler: Better support UBO/SSBO references to descriptors 3056- microsoft/compiler: Store nir_shader in the ntd_context 3057- microsoft/compiler: Support raw SRVs in addition to typed SRVs 3058- microsoft/compiler: Propagate access when lowering SSBO loads 3059- microsoft/clc: If local size isn't specified either in the shader or at runtime, set it to (1,1,1) 3060- gallium: Define PIPE_ARCH_AARCH64 for MSVC arm64 builds 3061- nir: Fix MSVC warning C4334 (32bit shift cast to 64bit) 3062- d3d12: Fix MSVC warning C4334 (32bit shift cast to 64bit) 3063- microsoft/clc: Fix MSVC unreferenced variable warnings 3064- microsoft/clc: Fix undeclared function warning 3065- microsoft/compiler: Fix MSVC warning C4334 (32bit shift cast to 64bit) 3066- shader_enums: Fix MSVC warning C4334 (32bit shift cast to 64bit) 3067- gallium/aux: Fix MSVC warning C4334 (32bit shift cast to 64bit) 3068- llvmpipe: Fix MSVC warning C4334 (32bit shift cast to 64bit) 3069- xmlconfig: Fix MSVC warning C4334 (32bit shift cast to 64bit) 3070- CI: Windows: Bump warning level to W3 (except for zlib) 3071- microsoft/compiler: Remove hardcoded limits on numbers of resource arrays 3072- microsoft/compiler: Remove assert-only resource size or usage tracking 3073- microsoft/compiler: For Vulkan environment, don't create resource handles upfront 3074- vtn: Propagate access data that's present on all struct members to the struct itself 3075- vtn: Propagate access data from UBO/SSBO/push constant types to variables of that type, not just their pointers 3076- nir: Rename nir_lower_cl_images_to_tex, replace 'cl' with 'readonly' 3077- nir_lower_readonly_images_to_tex: Support non-CL semantics 3078- nir_lower_readonly_images_to_tex: Use nir_shader_lower_instructions 3079- microsoft/compiler: Treat read-only SSBOs as SRVs 3080- microsoft/spirv_to_dxil: Treat read-only storage images as SRVs 3081- d3d12, microsoft/compiler: Use SRV/sampler variable binding data 3082- microsoft/compiler: Rewrite sampler splitting pass to be smarter and handle derefs 3083- microsoft/compiler: Fix function signature for bufferStore to support overloads 3084- microsoft/compiler: Map descriptor set -> binding space 3085- microsoft/compiler: Handle unbounded arrays 3086- llvmpipe: Fix optimization loop to actually loop 3087- nir: Add relaxed 24bit opcodes 3088- vtn: Use relaxed 24bit opcodes for CL 24bit math 3089- microsoft/compiler: Change behavior for emitting inexpressible barriers 3090- nir_lower_readonly_images: Clear variable data when changing the type 3091- mesa/main: Check for fbo attachments when importing EGL images to textures 3092 3093John Bates (1): 3094 3095- add execmem build option 3096 3097Jonathan Marek (4): 3098 3099- freedreno/registers: define REG_DSI_CPHY_MODE_CTRL 3100- tu: remove workaround for conditional rendering + hw binning 3101- freedreno/a6xx: larger gmem_page_align from tile align instead of gpu id 3102- freedreno/common: unhardcode CCU color cache offset 3103 3104Jordan Justen (20): 3105 3106- Revert "intel/compiler: Silence unused parameter warning in update_inst_scoreboard" 3107- intel/eu: Allow 64-bit registers on XeHP. 3108- intel/fs: Disable 3-src immediates on XeHP. 3109- intel/fs: End computer shader with message gateway on XeHP. 3110- intel/compiler: Lower txd for 3D samplers on XeHP. 3111- intel/compiler: Fix INTEL_DEBUG=hex 3112- commit_in_branch_test.py: Rename branch master to main 3113- bin/pick: Rename master branch to main 3114- .gitlab-ci.yml: Use main branch for gitlab ci 3115- issue_templates/Bug Report: Rename master branch to main 3116- docs/releasing.rst: Rename master branch to main 3117- docs: Rename master branch to main 3118- mesa: NOTE! Default branch is now main 3119- intel/isl: Add Wa_22011186057 to disable CCS on ADL GT2 A0 3120- intel/dev: Add device info for ADL GT2 3121- intel: Add 2 ADL-S pci-ids 3122- intel/gen125.xml: Drop GPGPU_WALKER 3123- intel/devinfo: Add has_local_mem 3124- iris/bufmgr: Align vma addresses to 64K for local memory 3125- intel/dev: Set has_local_mem for DG1 3126 3127Jose Maria Casanova Crespo (5): 3128 3129- v3d: YUV formats at is_dmabuf_modifier_supported are external_only 3130- v3d: YUV formats at query_dmabuf_modifiers are external_only 3131- v3d: DRM_FORMAT_MOD_BROADCOM_SAND128 only available for NV12 format. 3132- ci/v3d: Update piglit expectations. 3133- v3d/driconf: Expose non-MSAA texture limits for mutter and gnome-shell 3134 3135Joshua Ashton (5): 3136 3137- radv: Handle unnormalized samplers in YCbCr lowering 3138- venus: Fix zero-initialized fd causing apps to hang/crash 3139- driconf: Add more workarounds for Teardown 3140- llvmpipe: Handle NULL views in llvmpipe_cleanup_stage_sampling 3141- lavapipe: Use common Vulkan format helpers 3142 3143Joshua Watt (1): 3144 3145- v3d, vc4: Fix dmabuf import for non-scanout buffers 3146 3147José Fonseca (8): 3148 3149- lavapipe: Fix lvp_execute_cmds' pipe_stream_output_target leak. 3150- lavapipe: Fix lvp_pipeline_compile's nir_xfb_info leak. 3151- wgl: Remove opengl32.mingw.def. 3152- draw: Allocate extra padding for extra shader outputs. 3153- draw: Plug leak when combining tessellation with primitive assembly. 3154- d3d10umd,d3d10sw: Initial import. 3155- d3d10sw: Add a sanity test. 3156- d3d10umd: Avoid duplication in CreateDevice. 3157 3158Juan A. Suarez Romero (42): 3159 3160- v3dv: avoid dereferencing null value 3161- ci: support KHR-GLES testing 3162- ci/v3d: add KHR-GLES test jobs 3163- ci/llvmpipe: run KHR-GLES2.* tests 3164- ci/softpipe: run KHR-GLESxx tests 3165- iris: hook up memory object creation from handle 3166- iris: hook up resource creation from memory object 3167- iris: enable GL_EXT_memory_object feature 3168- ci/broadcom: update expected results 3169- ci/vc4: add KHR-GLES2.* job test 3170- ci/broadcom: add EGL testing jobs 3171- v3dv: check returned values 3172- ci/v3d: execute all piglit tests 3173- v3dv/pipeline_cache: bail out in case of error 3174- ci/v3d: fix typo in job name 3175- ci/v3dv: update flakes 3176- ci/baremetal: propagate ASAN_OPTIONS to devices 3177- ci/broadcom: update expected results 3178- v3d: rename header include guards 3179- v3d: rename VC5 enums and definitions 3180- broadcom/qpu: rename from VC5 to V3D 3181- broadcom/simulator: change references to VC5 3182- v3dv: rename VC5 to V3D 3183- v3dv: check dest bitsize in color blit 3184- util/hash_table: do not leak u64 struct key 3185- ci/broadcom: update expected results 3186- v3d: fix resource leak in error path 3187- st/mesa: fix pipe resource leak 3188- broadcom/compiler: fix dynamic-stack-buffer-overflow error 3189- ci: Update VK-GL-CTS to 1.2.6.1 3190- ci/broadcom: update expected results 3191- vc4: initialize array 3192- ci/v3dv: update expected results 3193- ci/broadcom: unset manual jobs 3194- ci/v3dv: test v3dv in arm64 environment 3195- broadcom/ci: Report flakes on IRC 3196- ci/vc4: update piglit failures 3197- ci: update VK-GL-CTS to 1.2.6.2 3198- broadcom/compiler: emit TMU flush before a jump 3199- v3dv: assert job->cmd_buffer is valid 3200- broadcom: remove v3dv3 from neon library 3201- gallium/hud: initialize query 3202 3203Kai-Heng Feng (1): 3204 3205- iris: Avoid abort() if kernel can't allocate memory 3206 3207Karol Herbst (18): 3208 3209- clover/llvm: handle Fixed vs Scalable vectors explicitly starting with llvm-11 3210- util/format: fix value declarations for big endian 3211- nv50/query: fix stringop-overflow gcc warning 3212- nvc0: fix implicit-fallthrough gcc warning 3213- clover/memory: fix data race in buffer subclasses 3214- nouveau: fix race in nouveau_screen_get_name 3215- nouveau/mm: pass mm_bucket to mm_slab_new 3216- nouveau/mm: remove unused nouveau_mm_allocation.next field 3217- nv50/ir: when constant folding shl(mul, a) we need to copy muls type 3218- nv50/ir: don't optimize shl(mul_hi, a) to mul_hi 3219- nv50/ir/ra: fixes upcoming barrier file 3220- nv50/ir: add barrier and thread_state files 3221- gv100/ir: add support for barrier thread state files for OP_CVT 3222- gm107/ir: emit barrier sources for quadon/pop 3223- gv100/ir: fix quadop/pop lowering 3224- nv50/ir: fix surface lowering when values get shared accross operations 3225- nv50/ir/nir: fix smem size for GL 3226- nv30: fix emulated vertex index buffers 3227 3228Keith Packard (1): 3229 3230- vulkan/x11: Mark present complete using serial instead of MSC 3231 3232Kenneth Graunke (29): 3233 3234- iris: only flush the render cache for aux changes, not format changes 3235- isl: Work around NVIDIA and AMD display pitch requirements 3236- i965: Don't advertise Y-tiled modifiers for scanout buffers on Gfx8- 3237- iris: Don't advertise Y-tiled modifiers for scanout buffers on Gfx8 3238- iris: Replace no_gpu flag with PIPE_MAP_DIRECTLY 3239- iris: Promote to MAP_DIRECTLY when required before NULL return 3240- iris: Delete a comment suggesting we use tiled staging buffers 3241- iris: Make an iris_bo_is_external() helper and use it in a few places 3242- iris: Track imported vs. exported status separately 3243- iris: Use staging blits for reads from uncached buffers. 3244- iris: Use staging blits for transfers involving imported BOs 3245- iris: Assert on mapping a tiled buffer without MAP_RAW 3246- iris: Drop fallback GEM_MMAP_GTT if GEM_MMAP with I915_MMAP_WC fails 3247- iris: Delete GTT mapping support 3248- iris: Pick a single mmap mode (WB/WC) at BO allocation time 3249- iris: Use bo->mmap_mode in transfer map read check 3250- iris: Add a flags argument to iris_bo_alloc() 3251- iris: Add an alignment parameter to iris_bo_alloc() 3252- iris: Only use SET/GET_TILING when exporting/importing BOs 3253- iris: Add a BO_ALLOC_SMEM flag for allocating from system memory 3254- anv: Fix dynamic primitive topology for tess on Gfx7.x too 3255- iris: Stop calling I915_GEM_SET_CACHING on discrete GPUs 3256- iris: Fail BO allocation if we can't enable snooping properly. 3257- iris: Delete unused bo->cache_coherent flag 3258- vulkan/wsi: Fix prime blits to use system memory for the destination 3259- iris: Reduce SSBO alignment requirements from 64B to 4B 3260- crocus: Reduce SSBO alignment requirements from 64B to 4B. 3261- iris: Force device local memory for u_upload_mgr buffers 3262- iris: Use simple_mtx in the bufmgr. 3263 3264Leo Liu (9): 3265 3266- frontends/va: add VASurfaceAttribUsageHint attribute 3267- frontends/va: fix multi planes for external memeory type 3268- frontends/va: use pipe buffer map instead of texture map 3269- radeon/vcn/enc: use surface swizzle mode instead of linear 3270- radeonsi: add PIPE_FORMAT_P010 for HEVC Main10 profile to encode param 3271- radeonsi: separate video hw info based on HW engine individually 3272- frontends/va: use the correct entrypoint to get config attributes 3273- frontends/va: include the profile queries for encoder as well 3274- frontends/va: use the entrypoint from context instead of the hard-coded one 3275 3276Lepton Wu (3): 3277 3278- virgl: move new added field to the end. 3279- Revert "virgl: Cache depth and stencil buffers" 3280- gallium: Reset {d,r}Priv in dri_unbind_context 3281 3282Lionel Landwerlin (59): 3283 3284- anv: fix 3DSTATE_MULTISAMPLE emission on gen8+ 3285- anv: disable baked in pipeline bits from dynamic emission path 3286- vulkan/util: cast enums to int64_t in switch 3287- spirv: fix uToAccelerationStructure handling 3288- spirv: fixup pointer_to/from_ssa with acceleration structures 3289- vulkan: bump headers/registry to version 1.2.175 3290- anv: drop extension check for dynamic state 3291- anv: prepare pipeline for delayed emission of color writes 3292- anv: implement VK_EXT_color_write_enable 3293- anv: reuse define for number of render target assert 3294- vulkan/wsi/display: don't report support if there is no drm fd 3295- i965/bufmgr: fix invalid assertion 3296- intel/dev: printout correct subslice/dualsubslice name 3297- intel/genxml: Add coarse pixel shading instructions 3298- intel/decoder: decode CPS_STATE 3299- intel/compiler: make sure we keep the lowest dispatch limit 3300- intel/compiler: rework message descriptors for render targets 3301- intel/compiler: use existing helpers to pull bits of descriptors 3302- intel/compiler: handle coarse pixel in render target writes descriptors 3303- intel/compiler: add support for fragment shading rate variable 3304- intel/compiler: add support for fragment coordinate with coarse pixels 3305- intel/compiler: add coarse pixel offset on Gfx12.5+ 3306- intel/compiler: add restrictions related to coarse pixel shading 3307- anv: implement VK_KHR_fragment_shading_rate 3308- isl: document format fields 3309- intel/fs: use the final destination type for regioning restrictions 3310- intel/mi_builder: fix resolve call 3311- anv: fix perf query pass with command buffer batching 3312- anv: handle spirv parsing failure 3313- iris: fix assert to reflect correct limit for encoded size 3314- intel/perf: allow opening perf stream with no context filtering 3315- intel/perf: allow metric sets to be loaded with on OA reports 3316- anv: fixup physical device properties of fragment shading rate 3317- intel/fs: make sure shuffle is lowered to supported types 3318- intel/perf: update gen9/11 TestOa configs 3319- intel/perf: update Gen11 RenderBasic programming 3320- intel/perf: update Gen11 RenderBasic programming 3321- intel/perf: add EHL availability condition to HDCAndSF counters 3322- intel/perf: update Gen9/11 programming for AsyncCompute 3323- intel/perf: rename metric descriptions 3324- anv: implement VK_EXT_physical_device_drm 3325- blorp: add blorp string in shader keys 3326- anv: cache raytracing trampoline shader 3327- anv: store more RT shader data in pipeline_stage object 3328- anv: move trivial return shader to device 3329- anv: implement caching for ray tracing pipelines 3330- intel/rt: switch to common pass for shader calls lowering 3331- nir: drop the btd_resume_intel intrinsic 3332- nir: use a more fitting index for btd_stack_push_intel 3333- anv: bound checks buffer memory binding in debug builds 3334- anv: allocate bigger batches as we grow command buffers 3335- intel/perf: use the right popcount for 64bits 3336- intel/compiler: Track latency/perf of LSC fences 3337- isl: fix mapping of format->stringname 3338- loader/dri3: create linear buffer with scanout support 3339- nir/lower_shader_calls: adding missing stack offset alignment 3340- anv: fix submission batching with perf queries 3341- drm-shim: implement stat/fstat when xstat variants are not there 3342- intel/disasm: fix missing oword index decoding 3343 3344Lucas Stach (9): 3345 3346- etnaviv: fix vertex sampler setup 3347- dri: add loader_dri_create_image helper 3348- loader/dri3: convert to loader_dri_create_image 3349- loader/dri: hook up createImageWithModifiers2 3350- gallium/dri: copy image use in dup_image 3351- dri: don't call modifier interfaces when modifiers_count is 0 3352- frontend/dri: add EXPLICIT_FLUSH hint in dri2_resource_get_param 3353- etnaviv: remove double assigment of surface->texture 3354- etnaviv: flush used render buffers on context flush when neccessary 3355 3356Luis Felipe Strano Moraes (2): 3357 3358- meson: print information about layers being built as part of summary 3359- overlay_layer: add missing undef 3360 3361Maksim Sisov (2): 3362 3363- iris: export GEM handle with RDWR access rights 3364- i965: export GEM handle with RDWR access rights 3365 3366Marcin Ślusarz (28): 3367 3368- intel/tools: remove unused macros 3369- intel/batch_decoder: set foreground color of decoded instructions 3370- i965: fully populate perf_config before using it to initialize perf_context 3371- iris: fully populate perf_config before using it to initialize perf_context 3372- intel/perf: move calculation of period_exponent to perf ctx init 3373- gallium/u_threaded: implement INTEL_performance_query hooks 3374- gallium/u_threaded: offload begin/end_intel_perf_query 3375- nir: handle float atomics in nir_gather_info 3376- nir: handle float atomics in nir_lower_memory_model 3377- intel: simplify is_haswell checks, part 1 3378- intel: simplify is_haswell checks, part 2 3379- i965: simplify gfx version checks 3380- intel/isl: replace format_gen by verx10 3381- intel/disasm: decode/describe more send messages 3382- intel/disasm: remove useless space after "(" 3383- iris: fix error message on I915_GEM_[GS]ET_TILING failure 3384- intel/decoder: add assert for register size 3385- anv: fix potential integer overflows 3386- intel/tools: fix left shift overflow on 32-bit 3387- intel/tools: fix int-to-pointer/pointer-to-int cast warnings on 32-bit 3388- intel/tools: fix invalid type in argument to printf format specifier 3389- intel/tools: fix potential memory leaks 3390- intel/blorp: initialize BLEND_STATE using braced initializer list 3391- intel/fs: use stack for temporary array 3392- anv: keep descriptor set's address directly in anv_descriptor_set 3393- anv: handle push descriptor sets when they are sent with push constants 3394- anv: drop unused argument of anv_descriptor_set_address 3395- intel/compiler: document register types 3396 3397Marek Olšák (190): 3398 3399- ci: don't build clover with LLVM 9 on radeonsi because it's unsupported 3400- amd: drop support for LLVM 9 3401- amd: drop support for LLVM 10 3402- amd: remove some references to older LLVM versions in comments 3403- amd/registers: fix the kernel header parser with latest headers 3404- amd/registers: clean up gfx103.json 3405- amd/registers: rename IMG_FORMAT to GFX10_FORMAT to disambiguate the meaning 3406- radeonsi: don't decompress DCC for float formats in si_compute_copy_image 3407- radeonsi: fix incorrect comments in culling code and NIR lowering 3408- radeonsi: fix automatic DCC retiling after DCC clear and DCC decompression 3409- radeonsi: fix automatic DCC retiling after compute image stores 3410- gallium/util: add easy profiling helpers using TIME_ELAPSED queries 3411- Revert "st/pbo: use cso_set_vertex_buffers_and_elements() for st_pbo_draw" 3412- Revert "ci/radeonsi: Add expected failures due to #4674 having slipped in" 3413- ac/surface: document more meta equation dependencies 3414- radeonsi: make the gfx9 DCC MSAA clear shader depend on the number of samples 3415- radeonsi: remove the separate DCC optimization for Stoney 3416- amd: addrlib update for April 3417- gallium: renumber PIPE_MAP_* enums to remove holes 3418- gallium: remove 4 bytes from pipe_transfer 3419- gallium+(u_threaded,r300,r600,radeonsi): move transfer offset into pipe_transfer 3420- util: print CPU caps in release builds too 3421- util: fix (re-enable) L3 cache pinning 3422- Revert "gallium/u_threaded: align batches and call slots to 16 bytes" 3423- gallium/u_threaded: move base_valid_buffer_range to transfer where it belongs 3424- gallium/u_threaded: handle sampler views == NULL better 3425- gallium/u_threaded: rewrite slot layout to reduce wasted space 3426- gallium/u_threaded: don't set resource pointers to NULL after driver calls 3427- gallium/u_threaded: fix 32-bit breakage due to incorrect pointer arithmetic 3428- gallium/u_threaded: pass last into and return call size from execute callbacks 3429- gallium/u_threaded: merge draws in tc_call_draw_single 3430- gallium/u_threaded: add callbacks and documentation for resource busy checking 3431- gallium/u_threaded: track whether TCS, TES, or GS have ever been used 3432- gallium/u_threaded: query shader resource limits 3433- gallium/u_threaded: add buffer lists - tracking of buffers referenced by tc 3434- gallium/u_threaded: add driver-internal flush tracking for buffer lists 3435- gallium/u_threaded: don't invalidate idle buffers 3436- gallium/u_threaded: always map idle buffers unsynchronized 3437- gallium/u_threaded: don't reference resource in pipe_transfer 3438- util: add thread-safe version of idalloc 3439- zink: don't set u_resource_vtbl 3440- gallium: remove unused u_default_transfer_unmap 3441- gallium: remove resource_get_handle from u_resource_vtbl 3442- gallium: remove transfer_flush_region from u_resource_vtbl 3443- radeonsi: stop using u_resource_vtbl::resource_destroy 3444- r300: stop using u_resource_vtbl::resource_destroy 3445- nouveau: stop using u_resource_vtbl::resource_destroy 3446- i915g: stop using u_resource_vtbl::resource_destroy 3447- virgl: stop using u_resource_vtbl::resource_destroy 3448- svga: stop using u_resource_vtbl::resource_destroy 3449- r600: stop using u_resource_vtbl::resource_destroy 3450- gallium: remove u_resource_vtbl::resource_destroy 3451- gallium: split transfer_(un)map into buffer_(un)map and texture_(un)map 3452- gallium: remove u_resource_vtbl::transfer_(un)map 3453- gallium: remove empty structure u_resource_vtbl 3454- gallium: remove structure u_resource 3455- radeonsi: simplify the NGG culling vertex count heuristic 3456- amd: add Beige Goby support 3457- amd/registers: don't generate 32-bit register fields 3458- amd/registers: regenerate json files without 32-bit register fields 3459- amd: fix incorrect addrlib comment for HTILE equations 3460- ac/gpu_info: set has_zero_index_buffer_bug for Navi12 too 3461- ac/llvm: set target features per function instead of per target machine 3462- ac/llvm: expose set_range_metadata to more users 3463- ac/llvm: allow ac_build_optimization_barrier with SGPRs, pointers, and metadata 3464- ac/llvm: set range metadata on mbcnt and deduplicate get_thread_id 3465- ac/llvm: don't draw the primitive for the dummy export workaround for Navi1x 3466- winsys/amdgpu: don't hold a mutex while accessing is_shared 3467- radeonsi: remove unused SI_IMAGE_ACCESS_AS_BUFFER 3468- radeonsi: handle PIPE_CAP_MAX_VERTEX_BUFFERS 3469- radeonsi: add a gfx10 bug workaround for NOT_EOP 3470- radeonsi: fix a coherency issue when VS memory stores are not visible in PS 3471- radeonsi: always use the L2 LRU cache policy for faster clears and copies 3472- radeonsi: don't disable L2 caching for staging textures 3473- radeonsi: don't use GS fast launch with small instances 3474- radeonsi: fix the fast launch vert/prim thread counts if they are trimmed 3475- radeonsi: remove a twice duplicated workaround for VERT_GRP_SIZE 3476- radeonsi: re-enable fast launch with indexed tri strips because it doesn't hang 3477- radeonsi: improve generated culling code by adding optimization barriers 3478- radeonsi: change si_resource::alignment to alignment_log2 for better packing 3479- radeonsi: remove 8 bytes from si_resource, turn other 4 bytes into padding 3480- radeonsi: add a gfx10 hw bug workaround with the barrier before gs_alloc_req 3481- radeonsi: add missing threaded_resource_deinit calls in fail paths 3482- radeonsi: rewrite the prefix sum computation for shader culling 3483- radeonsi: allow changing the NGG subgroup size to 256 but don't change it yet 3484- radeonsi: generate buffer_id_unique for u_threaded_context 3485- radeonsi: implement threaded context callbacks for resource busy checking 3486- radeonsi: disable DFSM on gfx9 by default because it decreases performance a lot 3487- radeonsi: remove DFSM after we discovered how bad it is 3488- gallium/u_vbuf: add a fast path to skip refcounting for uploaded user buffers 3489- mesa: move _mesa_copy_vertex_attrib/buffer functions to their only use 3490- mesa: don't call _mesa_set_draw_vao in glPushClientAttrib 3491- mesa: optimize glPush/PopClientAttrib for GL_CLIENT_VERTEX_ARRAY_BIT 3492- mesa: optimize unreferencing VBOs in glPopClientAttrib 3493- mesa: don't call FLUSH_VERTICES in glPopClientAttrib 3494- mesa: don't save/restore VAO NumUpdates and IsDynamic to fix update tracking 3495- st/mesa: execute glFlush asynchronously if no image has been imported/exported 3496- gallium/u_threaded: don't update valid_buffer_range for read-only shader buffers 3497- gallium/u_threaded: clear valid buffer range only if it's not bound for write 3498- gallium/u_threaded: use tc_drop_resource_reference in call_draw_single_drawid 3499- gallium/u_threaded: merge draws faster by merging indexbuf unreferencing 3500- radeonsi: check is_buffer once instead of 4 times in si_set_sampler_view_desc 3501- radeonsi: use the restrict keyword to set sampler view descriptors faster 3502- radeonsi: don't clear register fields in si_set_mutable_tex_desc_fields 3503- radeonsi: restructure si_set_sampler_views for faster unbinding trailing slots 3504- radeonsi: remove no-op unref in si_set_constant_buffer 3505- radeonsi: set desc[3] of all buffer descriptors at context creation 3506- radeonsi: move a few functions from si_state_draw.cpp into si_gfx_cs.c 3507- radeonsi: compile si_state_draw.cpp for each gfx generation separately 3508- radeonsi: remove the chip_class dimension from the draw_vbo array 3509- radeonsi: remove -Wstrict-overflow=0 since it doesn't seem to be needed 3510- gallium/pb: change alignment to 32 bits 3511- shader_enums: change VERT_BIT back to the 32-bit shift 3512- glthread: change when glFlush flushes asynchronously 3513- st/mesa: fix an incorrect comment in st_context_flush 3514- st/mesa: move the st_flush_bitmap_cache call into st_flush 3515- mesa: add gallium flush_flags param into ctx->Driver.Flush 3516- mesa: move _mesa_notifySwapBuffers into the x11 swrast driver 3517- mesa: execute glFlush asynchronously if no image has been imported/exported 3518- radeonsi: fix compile failures with SI_PRIM_DISCARD_DEBUG enabled 3519- radeonsi: use ac_build_bit_count instead of opencoding it 3520- radeonsi: fix incorrect counting of compute_num_verts_rejected 3521- radeonsi: fix multi draws for the prim discard CS 3522- ac/llvm: add a callback to ac_cull_triangle to generate code in inner-most block 3523- radeonsi: move the accepting code into the bbox cull branch in NGG cull code 3524- ac/surface/tests: fix RB counts 3525- ac/surface: don't set DCC_PIPE_ALIGN modifier bit for gfx10 with 1 RB 3526- radeonsi: restructure si_get_vs_vgpr_comp_cnt for readability 3527- radeonsi: merge 2 conditional blocks with same condition into 1 in culling code 3528- radeonsi: set more precise max_waves in NGG code 3529- radeonsi: remove incorrect comment about PA 3530- radeonsi: try to keep all VS input loads together for better perf 3531- radeonsi: don't compile TES and GS draw_vbo variants for the prim discard CS 3532- radeonsi: remove the Z culling option from the primitive discard CS 3533- radeonsi: drop gfx7 support from the prim discard CS to simplify code 3534- radeonsi: drop support for triangle fans from the prim discard CS 3535- radeonsi: skip buffer_atomic_add(ptr, n) when n=0 in the prim discard CS 3536- radeonsi: cleanup some primitive discard CS TODOs regarding instancing, etc. 3537- ac/llvm: don't set skip-uniform-regions to fix atomic.cmpswap 3538- mesa: unreference zombie buffers when creating buffers to lower memory usage 3539- radeonsi: document why VBO descriptors in user SGPRs are beneficial 3540- radeonsi: if shader culling culls all vertices, cull the primitive exports too 3541- radeonsi: remove incorrect comment about hangs in gfx10_ngg_gs_emit_epilogue 3542- radeonsi: don't use NGG culling on 1 RB chips 3543- ac/gpu_info: adjust the condition for use_late_alloc 3544- radeonsi: optimize set_inlinable_constants when they don't change 3545- st/mesa: don't track VS sampler views for st_draw_feedback in st_context 3546- st/mesa: don't track FS sampler views for bitmap/drawpix in st_context 3547- st/mesa: don't memset the sampler view array, don't init trailing slots to NULL 3548- st/mesa: sink _mesa_get_samplerobj into st_update_single_texture 3549- st/mesa: read Target only once in st_update_single_texture 3550- st/mesa: return sview from st_update_single_texture via return value, not param 3551- st/mesa: remove the const qualifier for a few st_sampler_view instances 3552- st/mesa: sink refcounting from st_get_sampler_views into st_sampler_view.c 3553- st/mesa: add a mechanism to bypass atomics when binding sampler views 3554- st/mesa: remove the sampler min_lod/max_lod value swap 3555- cso: disallow NULL sampler state templates in cso_single_sampler 3556- cso: update max_sampler_seen only once in cso_set_samplers 3557- cso: don't look up a sampler CSO if the last one is identical 3558- mesa: use atomics instead of mutexes for refcounting texture objects 3559- mesa: use atomics instead of mutexes for refcounting sampler objects 3560- mesa: use atomics instead of mutexes for refcounting renderbuffers 3561- mesa: remove mutex locking from a glBindTexture early out path 3562- mesa: translate into pipe_sampler_state in GL functions 3563- mesa: add LodBias quantization from st/mesa 3564- mesa: add IsBorderColorNonZero to skip border color update for st/mesa faster 3565- mesa: lower GL_CLAMP in texture and sampler functions instead of st/mesa 3566- radeonsi: remove the GDS variants of compute-based primitive discard 3567- radeonsi: change how the prim discard CS is enabled and splitting limits 3568- radeonsi: fix issues with draw-level splitting for the prim discard CS 3569- radeonsi: add optimal multi draws and draw-level splitting for prim discard CS 3570- radeonsi: move the accepting code into the bbox cull branch in prim discard CS 3571- radeonsi: drop smoothing quality to 4xAA for better performance 3572- ac/llvm: don't return a status from ac_cull_triangle because it's unused 3573- ac/llvm: rework how negative W affects culling to not call accept_func twice 3574- radeonsi: rewrite a confusing comment in si_upload_and_prefetch_VB_descriptors 3575- ac/surface/tests: fix the ARM build 3576- radeonsi,radv: fix a late alloc deadlock with <= 6 CUs per SA 3577- radeonsi: move an incorrectly placed comment about late alloc 3578- ac,radeonsi: move late alloc computation into common code and shader states 3579- radeonsi: enable uniform inlining by default 3580- util/idalloc: change num_elements to units of elements instead of bits 3581- util/idalloc: fold the size call into init 3582- util/idalloc: reserving an ID that already exists should be no-op 3583- util/idalloc: hide or remove unused public functions 3584- util/idalloc: add exists and foreach helpers 3585- util/idalloc: add util_idalloc_alloc_range 3586- radeonsi: don't expose no-attachment MSAA 16x on all 1 RB chips due to issues 3587- mesa: fix incorrect comment in draw_gallium_multimode 3588- st/mesa: always use PIPE_USAGE_STAGING for GL_MAP_READ_BIT usage 3589 3590Mark Janes (11): 3591 3592- iris: Increase the size of upload buffers 3593- iris: Upload constant resources for efficient GPU access 3594- iris: Use const_uploader for iris_create_stream_output_target 3595- iris: Use const uploader for blorp vertex data 3596- iris: Use const uploader for draw parameters 3597- iris: Use const uploader for user index data 3598- intel/compiler: Add getter helpers for LSC message descriptor fields 3599- intel/compiler: Add LSC messages to brw_schedule_instructions 3600- intel/fs: Lower DW untyped r/w messages to LSC when available 3601- intel/fs: Lower untyped atomic messages to LSC when available 3602- intel/fs: Lower A64 untyped r/w messages to LSC when available 3603 3604Martin Krastev (1): 3605 3606- compiler/glsl: Use mutex lock while freeing up mem_ctx 3607 3608Martin Peres (1): 3609 3610- ci: add the dEQP expectations for radv on Renoir 3611 3612Matt Turner (10): 3613 3614- intel/eu: Add instruction compaction support on XeHP. 3615- compiler/glsl: Return progress from propagate_invariance() 3616- compiler/glsl: Propagate invariant/precise when splitting arrays 3617- compiler/glsl: Always propagate_invariance() last 3618- freedreno/afuc: Print uintptr_t with PRIxPTR 3619- sparc: Avoid some redefinition warnings 3620- tu: Provide a toggle to avoid warnings about unsupported devices 3621- freedreno/ci: Use TU_IGNORE_CONFORMANCE_WARNING to reduce warnings 3622- ci: Unify on MESA_VK_IGNORE_CONFORMANCE_WARNING 3623- amd/ci: Use MESA_VK_IGNORE_CONFORMANCE_WARNING to reduce warnings 3624 3625Matti Hamalainen (11): 3626 3627- gallium/tools: clean up tracediff.sh a bit 3628- gallium/tools: improve option handling in dump_state.py 3629- gallium/tools: implement better suppression of variants 3630- gallium/tools: implement 'named' pointers option in dump.py 3631- gallium/tools: use left-column output mode of sdiff in tracediff.sh 3632- gallium/tools: improve tracediff.sh argument handling 3633- gallium/tools: implement "high-level" overview mode option in dump scripts 3634- gallium/tools: improve pointer type tracking in parse.py 3635- gallium/tools: add option to use Meld for diffing 3636- aux/trace: add missing return value to trace output 3637- gallium/tools: improve handling of pointer arrays 3638 3639Mauro Rossi (11): 3640 3641- egl/android: include "util/compiler.h" for FALLTHROUGH macro 3642- android: panfrost/lib: add pan_cs.c to Makefile.sources 3643- android: gallium/radeonsi: add nir include path 3644- android: amd/common: add nir include path 3645- android: pan/bi: add bi_opt_constant_fold.c to Makefile.sources 3646- android: nir: add nir_lower_fragcolor.c to Makefile.sources 3647- android: intel/compiler: add brw_compile_ff_gs.c to Makefile.sources 3648- android: i965: remove brw_ff_gs_emit.c from Makefile.sources 3649- android: ac: add ac_nir_lower_ngg.c to Makefile.sources 3650- android: ac: add include src/util path 3651- android: aco: add aco_optimizer_postRA.cpp to Makefile.sources 3652 3653Michael Tang (1): 3654 3655- microsoft/compiler: Maintain sorting of resource type in the context 3656 3657Michael Walle (1): 3658 3659- kmsro: Add mali-dp 3660 3661Michel Dänzer (18): 3662 3663- lima/ppir: Cast pointer to uintptr_t instead of uint64_t 3664- util: Remove unused Android options_tbl_lock 3665- Convert most remaining free-form fall-through comments to FALLTHROUGH 3666- Guard FALLTHROUGH annotations after assert() 3667- llvmpipe: Drop switch with only default case 3668- iris: Drop unneeded default switch case 3669- Use explicit break instead of fall-through to break-only case 3670- ci: Enable -Werror in clang jobs 3671- osmesa: Replace default case FALLTHROUGH annotation by following return 3672- ci: Enable -Werror for the remaining GCC build jobs 3673- ci: Move -Werror enabling from job definitions to meson build script 3674- ci: Add test which occasionally times out to lavapipe-vk skips 3675- Fix up leftover "state_trackers" references to "frontends" 3676- turnip: Mark local variable ASSERTED 3677- ci: Add debian/ prefix to job names for Debian based docker images 3678- ci: Rename Debian based build jobs from meson-* to debian-* 3679- ci: Add Fedora 34 based x86 build docker image 3680- ci: Add Fedora release build job 3681 3682Michel Zou (14): 3683 3684- lavapipe: fix unused variable warning 3685- vulkan: fix duplicate win32 def 3686- gallium: fix uninitialized variable warning 3687- meson: link vulkan_util with link_whole on mingw 3688- docs: list more vulkan extensions 3689- vulkan/wsi: avoid wsi_x11_check_for_dri3 for sw device 3690- zink: fix win32 build 3691- swr: fix uninitialized variable warnings 3692- llvmpipe: restrict optim bug workaround to gcc 10.x 3693- glapi: fix Warray-parameter 3694- zink: Drop useless zink_dispatch_table 3695- zink: Fix win32 build 3696- zink: Fix unused-variable warning 3697- meson: dont use missing dumpbin path 3698 3699Miguel Gomez (1): 3700 3701- i965: Prevent invalid framebuffer usage 3702 3703Mike Blumenkrantz (548): 3704 3705- gallium: add PIPE_BIND_SAMPLER_REDUCTION_MINMAX 3706- gallium: split PIPE_CAP_SAMPLER_REDUCTION_MINMAX into modes 3707- mesa/st: plumb GL_TEXTURE_REDUCTION_MODE_ARB through QueryInternalFormat 3708- zink: hook up VK_EXT_sampler_filter_minmax 3709- zink: support format queries for VK_EXT_sampler_filter_minmax 3710- zink: handle minmax sampler creation for VK_EXT_sampler_filter_minmax 3711- zink: export PIPE_CAP_SAMPLER_REDUCTION_MINMAX_ARB 3712- docs: update GL_ARB_texture_filter_minmax for zink 3713- zink: compare against screen batch id when determining which semaphore to use 3714- zink: always copy the nir shader before compiling 3715- zink: fix tcs slot map eval for user vars 3716- zink: fix tcs input reservation for user vars 3717- st/pbo: use cso_set_vertex_buffers_and_elements() for st_pbo_draw 3718- zink: merge copy-to-scanout path into non-deferred flush path 3719- zink: force scanout sync when mapping scanout resource 3720- util/format: add util_format_is_rgbx_or_bgrx 3721- zink: use undefined layout for first scanout obj transition 3722- Revert "zink: force scanout sync when mapping scanout resource" 3723- zink: move scanout sync to end of batch 3724- zink: add a flag indicating whether scanout object needs updating 3725- zink: move wsi flush info conditional to queue submission 3726- zink: directly set batch->state->flush_res from flush_resource hook 3727- zink: add clear-on-flush mechanic deeper into flush codepath 3728- gallium: when tracing is enabled for threaded drivers, trace the driver thread 3729- nir/lower_fragcolor: set outputs_written for fragdata members 3730- softpipe: fix render condition checking 3731- softpipe: fix streamout queries 3732- softpipe: ci updates 3733- zink: track persistent resource objects, not resources 3734- zink: restore previous semaphore (prev_sem) handling 3735- zink: use cached memory for staging resources 3736- zink: init timeline semaphore on screen creation, not first batch creation 3737- zink: only reset query on suspend if the query has previously been stopped 3738- zink: when performing an implicit reset, sync qbos 3739- lavapipe: implement VK_EXT_provoking_vertex 3740- zink: hook up VK_EXT_provoking_vertex 3741- zink: implement VK_EXT_provoking_vertex 3742- zink: ci updates 3743- zink: update docs 3744- nir/gl_lower_buffers: set access for ssbo load/store instrs 3745- zink: use non-atomic load/store ops if intrinsic is not actually coherent 3746- zink: remove leftover references to flatshading in shader keys 3747- zink: hook up VK_KHR_shader_clock 3748- zink: add conversion util for nir_scope -> SpvScope 3749- zink: add spirv builder for unops with a const operand 3750- zink: support nir_intrinsic_shader_clock 3751- zink: export PIPE_CAP_TGSI_CLOCK 3752- zink: generate spirv 1.5 from ntv when using vk >= 1.2 3753- zink: create entrypoints for descriptor variables with spirv 1.5 3754- zink: add fastpath for getting default shader variants 3755- zink: use first-created shader variant as the default 3756- zink: hook up VK_EXT_sample_locations 3757- zink: hook up VK_EXT_conservative_rasterization 3758- zink: hook up VK_EXT_shader_subgroup_ballot 3759- zink: hook up EXT_image_drm_format_modifier 3760- docs: mark off GL_ARB_shader_clock for zink 3761- gallium: rename pipe_draw_start_count -> pipe_draw_start_count_bias 3762- gallium: move pipe_draw_info::index_bias to pipe_draw_start_count_bias 3763- mesa/st: rename DrawGalliumComplex -> DrawGalliumMultiMode 3764- gallium: split drawid out of pipe_draw_info and as a separate draw_vbo param 3765- gallium: remove padding members from pipe_draw_info 3766- util/tc: split out drawid-using draws into a separate call 3767- iris: fix indirect drawid 3768- zink: grab GetPhysicalDeviceMemoryProperties2 from instance 3769- zink: hook up VK_EXT_memory_budget 3770- zink: support PIPE_CAP_QUERY_MEMORY_INFO 3771- zink: minor refactoring of buffer map for read case 3772- zink: add a screen util function for handling VkResults 3773- zink: use zink_screen_handle_vkresult() for fence and timeline waiting 3774- zink: add a ctx function for handling device lost resets 3775- zink: use new ctx device lost checker function 3776- zink: add a pipe_context::resource_commit hook 3777- zink: implement sparse buffer creation/mapping 3778- zink: export PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE 3779- aux/cso_cache: add handling for save/restore of compute states 3780- zink: clamp zs samplers to XXXX swizzle for all non-zero/one swizzles 3781- gallium/inlines: remove atomic set from pipe_reference_init() 3782- nir: add nir_isub_imm 3783- lavapipe: handle buffer sizes better in CmdBindTransformFeedbackBuffersEXT 3784- lavapipe: do not read sampler descriptor info during update if layout has immutables 3785- lavapipe: set events to the unsignalled state on creation 3786- lavapipe: flag renderpasses as having color/zs attachments 3787- lavapipe: update more states on null multisample pipeline info 3788- lavapipe: zero out the dsa state info and flag for updating on null dsa state 3789- lavapipe: zero out the blend state info and flag for updating on null blend state 3790- lavapipe: don't unnecessarily flag dsa states for updating 3791- lavapipe: ignore tess pipeline info if no tess shaders in pipeline 3792- lavapipe: don't access pipeline viewport state when it should be ignored 3793- lavapipe: don't access pipeline dsa state when it should be ignored 3794- lavapipe: don't access pipeline blend state when it should be ignored 3795- zink: split off descriptor layout from descriptor pools 3796- zink: unify pipeline layout creation functions 3797- zink: abstract descriptor init 3798- zink: abstract descriptor usage for programs 3799- zink: abstract descriptor pool usage for programs 3800- zink: use explicit types during descriptor updates 3801- zink: check descriptor layout support before creating it 3802- zink: move more vertex state stuff into the hw state 3803- zink: split vertex state pipeline hashing into its own value 3804- zink: flag pipeline for change more often when vbos change without dynamic state 3805- zink: return current pipeline object if state hasn't changed 3806- zink: hook up dynamic dsa states 3807- zink: start using dynamic front face state 3808- util/hash_table: _mesa_hash_table_create_u32_keys() 3809- zink: add a pipe_context::clear_buffer hook 3810- zink: never use LINEAR for VK_EXT_4444_formats 3811- zink: make ZINK_INLINE_UNIFORMS more standardized in function 3812- zink: clamp 3D surface viewtype to 2D only in the create_surface hook 3813- zink: add a target param to create_ivci() 3814- zink: simplify samplerview surface creation 3815- zink: only set layer info for samplerviews if there are multiple layers 3816- zink: handle in-renderpass clears in fb_clears_apply_internal() 3817- zink: break zs clear loop once both bits are set when beginning renderpass 3818- zink: add debug assert to verify that zink_clear_framebuffer() is accurate 3819- zink: remove compute cruft from resource mapping 3820- zink: break out draw dispatch into separate functions 3821- zink: fix texture barriers for real this time 3822- zink: rework memory_barrier hook again (third time's the charm) 3823- ci: skip glsl-uniform-interstage-limits tests for softpipe jobs 3824- zink: use DONTCARE renderpass when a new scanout fb attachment is set 3825- iris: refcount separate screen objects for resource tracking 3826- zink: stop invalidating descriptor sets on pool destroy 3827- zink: add context-based descriptor info tracking infrastructure 3828- zink: unify resource rebinding 3829- zink: track bind counts for descriptors 3830- zink: update samplerview descriptor layouts when image binds are set 3831- zink: don't track sampler states onto buffer sampler sets 3832- zink: track max slot idx for descriptor types 3833- zink: track number of tbos in shader data 3834- zink: add slot params to zink_context_invalidate_descriptor_state 3835- zink: use better iterating for buffer rebinds 3836- zink: call invalidate on invalid descriptor sets during recycle 3837- zink: make zink_context_update_descriptor_states() static 3838- zink: remove screen param from zink_descriptors_update() 3839- zink: pop descriptor refs when invalidating sets 3840- zink: flush every 100k draws/computes 3841- zink: check for a work_count-based stall in zink_maybe_flush_or_stall() 3842- zink: always do maybe_flush after draw/compute 3843- zink: stop overwriting buffer map pointers for stream uploader 3844- zink: fix DrawParameters shader cap usage 3845- lavapipe: fix fencing when submitting multiple cmdbufs 3846- zink: immediately return false when getting query result if it's not gonna happen 3847- util/queue: don't require a fence when adding a job 3848- zink: split out base renderpass begin into separate function 3849- zink: add a flag for tracking/validating renderpass clears 3850- zink: add flags for determining whether to update framebuffer and renderpass 3851- zink: emit some barriers out of renderpass where possible 3852- nir/builder: add nir_pad_vector and nir_pad_vec4 util functions 3853- zink: don't multiply cube array image layers 3854- zink: populate images with u_blitter if transfer_dst isn't available 3855- zink: add even more validation for linear images before creation 3856- util/primconvert: add C++ guards to header 3857- aux/trace: support pipe_screen::query_memory_info 3858- aux/trace: pipe_screen::query_dmabuf_modifiers 3859- aux/trace: pipe_context::is_dmabuf_modifier_supported 3860- aux/trace: propagate pipe_screen::transfer_helper pointer 3861- aux/trace: pipe_screen::get_dmabuf_modifier_planes 3862- aux/trace: trace pipe_screen::resource_create_with_modifiers 3863- util/prim_restart: fix util_translate_prim_restart_ib 3864- ci: more freedreno flakes 3865- aux/vbuf: prevent uint underflow and assert if no vbs are dirty 3866- aux/trace: add pipe_context::set_debug_callback hook 3867- aux/trace: more effectively unwrap pipe_context params from screen functions 3868- aux/trace: trace transfer ops 3869- aux/trace: stop dumping transfer data for threaded contexts 3870- aux/trace: hook tc methods 3871- aux/trace: fix set_inlinable_constants hook 3872- aux/trace: fix query handling with tc 3873- aux/trace: add a pipe_context::clear_buffer hook 3874- aux/trace: dump 'wait' param for get_query_result 3875- radeonsi: explicitly return support for all index buffer formats 3876- zink: rename ptr_add_usage -> batch_ptr_add_usage 3877- zink: make descriptor_layout_get a public util function 3878- zink: make a public util function for allocating descriptor sets 3879- zink: unify pipeline layout creation and move to descriptor_program_init 3880- zink: pass descriptor type to set layout create() 3881- zink: replace has_descriptors program member with a util function 3882- zink: abstract descriptor functionality and make descriptor structs private 3883- zink: improve samplerview update flagging 3884- zink: emit descriptor barriers and references during bind 3885- zink: add vertex buffer barriers during bind 3886- zink: make timeline_wait use only a screen param 3887- zink: move timeline_wait() to screen function 3888- zink: implement tc idalloc resource id stuff 3889- zink: force streamout rebind when mapping a streamout buffer for writing 3890- zink: implement a tc is_resource_busy hook 3891- zink: call tc_driver_internal_flush_notify() on flush 3892- zink: mark some buffer barrier functions inline/static 3893- zink: switch to memory barriers instead of actual buffer barriers 3894- zink: hook up push descriptor and descriptor template extensions 3895- zink: disable push descriptors on amd 3896- nir/builder: add nir_mask 3897- radv: make radv_pipeline::attrib_ends 32bit 3898- radv: set maxVertexInputAttributeOffset to UINT32_MAX 3899- zink: remove weird lod hack for texturing 3900- zink: ci updates 3901- llvmpipe: remove clamping to [0,1] for tri offset 3902- lavapipe: moar @optimize 3903- llvmpipe: split out scene surface info into separate struct 3904- llvmpipe: split out scene surface init into separate function 3905- llvmpipe: only dump tgsi shaders if they're actually tgsi shaders 3906- llvmpipe: store a screen pointer in resource struct 3907- llvmpipe: stop accessing pipe_resource::screen internally 3908- lavapipe: skip "pipeline barriers" if they're first or last in a cmdbuf 3909- lavapipe: also ignore multiple pipeline barriers in succession 3910- gallium/aux: add helper for pre-clamping clear_buffer value to dword 3911- zink: clamp clear_buffer values 3912- radeonsi: clamp clear_buffer values using new util helper 3913- zink: improve unsupported feature warning message 3914- aux/trace: avoid deadlock in screen::flush_frontbuffer hook 3915- gallivm: fix oob imageLoad with formats that have <4 components 3916- llvmpipe: ci updates 3917- aux/indices: break out primitive type conversion to separate function 3918- aux/indices: break out index size conversion to separate function 3919- aux/indices: break out index count conversion into separate function 3920- aux/indices: employ Delete The Code methodology 3921- lavapipe: add more format mappings for vertex buffer formats 3922- zink: reapply resource/surface refs after app flushes 3923- zink: reapply program refs automatically 3924- zink: remove barriers/refs from descriptor cache 3925- zink: mark some draw functions inline 3926- zink: only rebind pipelines when necessary 3927- zink: handle rebinds for vertex buffers 3928- zink: only rebind vertex buffers when necessary 3929- zink: only update viewport state when necessary 3930- zink: update scissor only when necessary 3931- zink: ref vertex buffers during set_vertex_buffers 3932- zink: stop using util_set_vertex_buffers_mask() 3933- Revert "zink: call tc_driver_internal_flush_notify() on flush" 3934- compiler/spirv: expand_to_vec4 -> nir_pad_vec4 3935- anv: fix availability for copying timestamp query results 3936- zink: add a second descriptor manager 3937- zink: unify code for updating res->bind_count values 3938- zink: unify more resource bind count tracking code 3939- zink: optimize buffer rebinds 3940- zink: ci updates 3941- aux/trace: dump resource for samplerview and surface 3942- aux/draw: if pipe_draw_info::index_bias_varies is not set, ignore index_bias for N>1 3943- aux/draw: fix aalines and aapoints for shaders with explicit FragData outputs 3944- radv: declare index_va in a single call for indexed draw packet emit 3945- radv: explicitly load a desc set layout struct member during set allocate 3946- zink: add a util function to create a null surface 3947- zink: replace context-based null framebuffer surfaces with internal ones 3948- zink: create dummy surface/bufferview for null descriptor use 3949- zink: handle null bufferview/imageview descriptors when robustness2 is missing 3950- zink: ci updates 3951- zink: no-op read access buffer barriers if existing access exists for earlier stage 3952- zink: emit fb attachment barriers inline during renderpass start 3953- zink: track number of fb attachment binds on resources 3954- zink: use VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL when possible 3955- aux/tc: fix ubo unbinding 3956- Revert "Revert "zink: call tc_driver_internal_flush_notify() on flush"" 3957- nouveau: explicitly advertise index buffer format support 3958- r300: explicitly advertise index buffer format support 3959- d3d12: explicitly advertise index buffer format support 3960- zink: explicitly advertise index buffer format support 3961- zink: more accurately handle shader layer/viewport caps 3962- util/prim_restart: assert the index size at the start of the function 3963- util/prim_restart: pre-trim degenerate primitives during draw rewrite 3964- util/prim_restart: store index bounds while rewriting draws 3965- util/prim_restart: store the total index count when rewriting draws 3966- util/prim_restart: update index bounds before draws in util_draw_vbo_without_prim_restart 3967- util/prim_restart: simplify util_draw_vbo_without_prim_restart a bit 3968- zink: populate maxSampleLocationGridSize for all available sample sizes on init 3969- zink: set VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT on zs rts 3970- zink; add a pipe_screen::get_sample_pixel_grid hook 3971- zink: add a pipe_context::set_sample_locations hook 3972- zink: also flag sample_locations_changed if framebuffer samples changes 3973- zink: add a util function for populating VkSampleLocationsInfoEXT 3974- zink: update vk sample location info during framebuffer setup 3975- zink: add a pipe_context::evaluate_depth_buffer hook 3976- zink: use dynamic state to apply sample locations during draw 3977- zink: export PIPE_CAP_PROGRAMMABLE_SAMPLE_LOCATIONS 3978- util/vbuf: fix buffer overrun in attribute conversions 3979- zink: fix caching of shader variants with inlined uniforms 3980- util/blitter: remove duplicated set_sample_mask calls 3981- util/disk_cache: add nocopy variant of disk cache store function 3982- zink: use scissor region for discarding clears during blit 3983- zink: clamp PIPE_CAP_MAX_VIEWPORTS to PIPE_MAX_VIEWPORTS 3984- aux/cso: add flag to disable vbuf 3985- aux/cso: split cso_destroy_context into unbind and a destroy functions 3986- lavapipe: use cso caching 3987- zink: fix typo that's definitely not at all embarrassing or anything like that 3988- aux/cso: store flatshade_first state from rasterizer 3989- util/primconvert: add function for setting flatshade_first 3990- util/vbuf: add flatshade_first to vbuf context and api 3991- aux/cso: set flatshade_first onto vbuf when binding rasterizer 3992- aux/tc: pass rebind count and rebind bitmask with replace_buffer_storage func 3993- util/prim_restart: use more direct conversion for restart index 3994- zink: add a function for creating descriptor layouts for push sets 3995- zink: split lazy sets based on descriptor type 3996- zink: match lazy descriptor set layout in cache mode 3997- zink: modernize cached push ubo descriptor updating 3998- zink: modernize cached ubo descriptor updating 3999- zink: modernize cached ssbo descriptor updating 4000- zink: modernize cached image descriptor updating 4001- zink: remove sorting for dynamic ubo offset updating 4002- zink: move ubo range assert to update_descriptor_state() 4003- zink: unify cached descriptor update code 4004- zink: run lazy batch descriptor functions in cache mode 4005- zink: add is_buffer flag to union zink_descriptor_surface 4006- zink: update null sampler/image descriptor surface with is_buffer during hashing 4007- zink: move shader image descriptor set refs to underlying type 4008- zink: add funcs for descriptor_surface refs 4009- zink: move samplerview descset refs to base objects 4010- zink: enable templated descriptor updates in cache mode 4011- zink: add oob asserts for descriptor set ref setting 4012- zink: skip hash updates for descriptor types which aren't used 4013- zink: unblock last_set cached descriptor reuse when safe to do so 4014- zink: add ZINK_DESCRIPTORS env var to explicitly set a mode 4015- zink: remove zink_batch_state::descs_used 4016- zink: split batch state work_count into separate vars 4017- zink: reorder has_barriers flag in batch state struct 4018- zink: optimize zink_tc_fence struct packing 4019- zink: move batch usage functions to static inlines 4020- zink: remove atomic from batch usage setting 4021- zink: make batch_usage_unset take a batch state param 4022- zink: unset program batch usage on state reset 4023- zink: remove unnecessary conditionals in resource batch tracking 4024- zink: make batch_usage_set take a batch state param 4025- zink: make batch_usage_matches take a batch state param 4026- zink: cache descriptor update templates along with layout 4027- zink: track active use counts for descriptor layouts 4028- zink: destroy lazy descriptor pools during batch reset when unused 4029- zink: slightly refactor program updating during draw 4030- zink: remove return types from program update functions during draw 4031- zink: simplify zink_program_has_descriptors() 4032- zink: mark bind_stage() as inline 4033- zink: unify gfx shader create callbacks 4034- zink: use u_live_shader_cache 4035- zink: remove unnecessary draw checks 4036- zink: move batch decl to top of draw_vbo 4037- zink: stop sanitizing primitive_restart flag in draw info 4038- zink: handle nir_op_pack_64_2x32 4039- zink: add update flag for rasterizer state change 4040- zink: add update flag for dsa state change 4041- zink: split stencil ref changes to separate dirty flag 4042- anv: fix dynamic primitive topology for tess 4043- zink: update pipe_screen::num_contexts 4044- zink: set subdata hook as PIPE_MAP_ONCE 4045- zink: move queue init to screen creation 4046- util/queue: add a global data pointer for the queue object 4047- zink: add a more direct check for rgbx formats in create_sampler_view hook 4048- zink: smash dstAlphaBlendFactor to ZERO for RGBX attachments 4049- zink: also nope out of any dst alpha blends for rgbx formats 4050- zink: support more RGBX formats 4051- zink: ci updates 4052- zink: mark some functions inline 4053- zink: collapse host_visible and non-coherent alignment alloc cases 4054- zink: change a bunch of sparse buffer resource checks to host-visible checks 4055- zink: avoid caching visible vram allocations 4056- zink: key alloc cache on heap index, not heap flags 4057- zink: check actual mem props to determine if resource object is coherent 4058- zink: use fake buffer barriers for descriptors 4059- zink: always defer image descriptor barriers 4060- zink: remove duplicated bitflag filtering for inline uniforms 4061- zink: remove inlinable_uniforms_dirty_mask 4062- radv: move pipe_misaligned and l2_coherent image checks to flags set on init 4063- nine: only enable tgsi disk cache if the driver supports it 4064- nine: add zink to the build target 4065- zink: handle custom border color without matching wrap mode case 4066- zink: add a flag for disabling conditional render during blit 4067- zink: add more clear hooks 4068- zink: clear the fb clears array instead of freeing it on reset 4069- zink: support multidraw 4070- zink: use multidraw 4071- vk/util: add macros for multidraw 4072- zink: clear textures directly when possible 4073- zink: only update last_finished during batch reset if the batch was used 4074- zink: improve tc fence disambiguation 4075- zink: add and use fencing functions which take batch usage structs 4076- zink: use batch usage api for resource helper function 4077- zink: remove no-longer-used resource helper functions 4078- zink: queue v3.0 4079- zink: apply zink_resource_object::offset for memory flush/invalidates 4080- zink: break out offset alignment calculation into helper 4081- zink: make init_mem_range() a public function 4082- zink: enforce multi-context waiting for unflushed resources on foreign batches 4083- zink: move queue submit thread to screen 4084- zink: move sparse buffer commit to screen queue 4085- zink: move fence reset to submit thread 4086- zink: flag scanout updates to batch state, not resource 4087- zink: move some end-of-batch stuff to submit thread 4088- zink: don't clear batch resources on fence finish 4089- ci: disable panfrost t760 jobs 4090- aux/draw: add a util function for reading back indirect draw params 4091- util/prim_restart: break out draw rewriting into separate function 4092- util/primconvert: handle indirect draws 4093- util/primconvert: map index buffer before getting index translator function 4094- util/primconvert: handle rewriting of prim-restart draws with unsupported primtype 4095- util/primconvert: handle multidraws in primconvert 4096- gallium: add a pipe cap to rewrite index buffers for draws using a non-fixed restart index 4097- gallium: handle automatic 8bit -> 16bit index buffer rewrites 4098- gallium: add a pipe cap for performing automatic prim type conversion 4099- gallium: add a pipe cap for determining driver support for prim type in restarts 4100- zink: export PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART 4101- zink: export 8bit index buffer support based on extension presence 4102- zink: export supported prim types 4103- zink: export supported primitive restart types 4104- zink: remove primconvert 4105- zink: ci updates 4106- zink: use depth/stencil-only layouts for depth/stencil-only formats 4107- lavapipe: implement multidraw ext 4108- zink: break out image descriptor layout into util function 4109- zink: split deferring of barriers to image and buffer functions 4110- zink: only do deferred image barriers if layout changes 4111- zink: use bind counts to more accurately determine image descriptor's exact layout 4112- zink: improve automatic layout transitions for sampler+image descriptors 4113- zink: only queue deferred descriptor layout change on first bind or change 4114- zink: flush pending clears if a resource is bound as a descriptor 4115- zink: repack zink_context struct a bit 4116- anv: unify some draw state vertex constant emission 4117- anv: VK_EXT_multi_draw implementation 4118- util/vbuf: always claim support for PATCHES in restart modes 4119- util/vbuf: flag fallback_always if any prim types are missing from restart modes 4120- zink: add direct conversion from pipe_shader_type->VkPipelineStageFlags 4121- zink: split dummy buffer creation and populate 4122- zink: try for better buffer allocation heaps 4123- zink: don't align device-local buffer memory 4124- zink: make mem cache limits dynamically scalable 4125- zink: uncap mem caching 4126- zink: cache visible vram 4127- zink: attempt to handle some resource unmap cases in 32bit envs 4128- radv: pre-calc vertex buffer descriptor size on pipeline object 4129- lavapipe: hook up some bits for handling dynamic line stipple state 4130- lavapipe: implement EXT_vertex_input_dynamic_state 4131- zink: avoid unnecessarily rewriting gl_DrawID 4132- zink: unify/consolidate some barrier queuing 4133- zink: break up ctx descriptor state updating to per-type functions 4134- zink: add a ref for flush resource 4135- zink: unify fb surface unbinding 4136- zink: move line width and depth bias updating into conditional during draw 4137- zink: merge some streamout state emission into the same draw conditional 4138- zink: rework pipeline cache implementation 4139- zink: make prim type a bitfield in pipeline info 4140- zink: rename 'template' struct member 4141- zink: remove unnecessary return from zink_desc_type_from_vktype() 4142- zink: add c++ header guards 4143- zink: add more explicit casts to draw code 4144- zink: don't add batch tracking during buffer rebinds if refs are dirty 4145- zink: remove stencil resource batch tracking 4146- zink: split out resource tracking into more incremental functions 4147- zink: split batch usage setting from refcounting 4148- zink: split samplerview/imageview usage/refcounting calls 4149- zink: add resource refs after last descriptor unbind 4150- zink: use vkresult helper for map return 4151- zink: only flag persistent resource maps for invalidation if they aren't coherent 4152- zink: don't add mem allocation offset when copying buf2image 4153- zink: use pipe_resource::width0 for clamping ssbo sizes 4154- zink: use 0 as the offset when mapping qbos 4155- zink: stop screwing up buffer offsets during for maps 4156- zink: add a screen function for waiting on a batch id 4157- zink: check last_finished before timeline waiting 4158- lavapipe: store whether the geometry shader outputs GL_LINES 4159- lavapipe: store the geometry shader prim type to render state 4160- lavapipe: implement VK_EXT_line_rasterization 4161- lavapipe: wideLines support 4162- zink: ci updates for wideline fails 4163- relnotes: add some line feature updates for lavapipe 4164- features: mark off line rasterization for lavapipe 4165- features: mark off some zink features 4166- features: fix ARB_shader_group_vote -> GL_ARB_shader_group_vote 4167- features: add VK_EXT_multi_draw 4168- features: mark off EXT_vertex_input_dynamic_state for lavapipe 4169- radv: use multidraw iteration for direct draws 4170- radv: emit NOT_EOP for multi indexed draws 4171- radv: emit drawid for multidraws 4172- radv: determine if hardware can emit NOT_EOP before emitting 4173- radv: split indexed draw cases based on whether drawid is used 4174- radv: add a gfx10 bug workaround for NOT_EOP 4175- radv: implement VK_EXT_multi_draw 4176- lavapipe: handle null vertex buffers more gracefully 4177- util/vbuf: check 3-component 16bit int formats for translation 4178- zink: make shader cache local to a single program 4179- zink: split up shader cache per-stage 4180- zink: set gfx program shaders and generate internal tcs during program creation 4181- zink: remove gfx program slot mapping 4182- zink: remove shader_id 4183- zinK: tweak shader module update -> pipeline combined_dirty conditional 4184- lavapipe: implement EXT_separate_stencil_usage 4185- lavapipe: implement KHR_separate_depth_stencil_layouts 4186- features: more lavapipe extensions 4187- relnotes: more lavapipe features 4188- zink: add util function for transferring resource refs to batch 4189- zink: move resource object ref to batch in invalidate hook 4190- zink: move resource object ref to batch in init_storage_object 4191- zink: remove refs from buffer rebinds 4192- zink: remove refs from vertex buffers 4193- zink: remove refs from ubos 4194- zink: remove refs from shader buffers 4195- zink: remove refs from shader images 4196- zink: remove resource refs from samplerviews 4197- zink: remove refs from desc ref updating 4198- zink: add surface ref during rebind if unflushed usage 4199- zink: set new batch usage during surface rebinds 4200- zink: remove imageview refs from shader images 4201- zink: remove samplerview refs 4202- zink: remove fb surface refs 4203- zink: remove fb surface resource refs 4204- zink: remove some descriptor_refs_dirty checks from resource binding 4205- zink: add a per-stage mask for ubo binds 4206- zink: add a per-stage bind mask for ssbos 4207- zink: make samplerview bind mask apply to buffer resources too 4208- zink: make image_bind_count work for buffers 4209- zink: remove barriers from buffer rebinds 4210- zink: optimize buffer rebinds 4211- zink: redo streamout and texture components of memory_barrier hook 4212- zink: remove unnecessary stall during device-local map case 4213- lavapipe: only apply pipeline state for depth bias if it's enabled 4214- lavapipe: implement EXT_extended_dynamic_state2 4215- features: EXT_extended_dynamic_state2 for lavapipe 4216- relnotes: EXT_extended_dynamic_state2 for lavapipe 4217- zink: store the last vertex stage to the context during bind 4218- zink: use last_vertex_stage pointer to optimize streamout emission during draw 4219- zink: update streamout buffer strides inline 4220- zink: move descriptor update closer to start of draw 4221- zink: consolidate and optimize index buffer handling during draw 4222- features: mark off VK_EXT_multi_draw for radv 4223- zink: remove zink_shader_module refcounting 4224- zink: flag all shaders for create during gfx program init 4225- zink: keep a mask of stages present in a gfx program 4226- zink: flag shader modules as default 4227- zink: store the default variant hash for a program 4228- nir/format_convert: nir_shift -> nir_shift_imm 4229- nir/format_convert: add ssa version of uint packing 4230- lavapipe: disable line rasterization ext 4231- zink: ensure sparse allocations aren't marked host-visible 4232- zink: fix mem info query to be more permissive 4233- zink: zero out sampler/image descriptor surface info for null descriptor updates 4234- zink: ci updates 4235- zink: populate modifier props onto screen object during init 4236- zink: start storing modifiers to the base resource struct 4237- zink: store modifier aspect to resource 4238- zink: add a pipe_screen::resource_get_param hook 4239- zink: use VkImageDrmFormatModifierListCreateInfoEXT for creating from modifier array 4240- zink: explicitly disallow using the modifier image create for non-linear images 4241- zink: don't pass modifier count to first image create 4242- zink: add fallback for linear modifier use 4243- zink: add a pipe_screen::resource_create_with_modifiers hook 4244- features: mark off line rasterization for lavapipe 4245- relnotes: add some missing zink/lavapipe updates 4246- ci: add vulkan files to lavapipe rules 4247- ci: only trigger gallium_core_file_list jobs from dri and glx frontend changes 4248- zink: simplify modifier ifdefs 4249- zink: improve detection for broken drawids 4250- lavapipe: increment drawid for multidraws 4251- util/foz: stop crashing on destroy if prepare hasn't been called 4252- zink: use array size in spirv bo length calculations 4253 4254Nanley Chery (8): 4255 4256- anv: Add clear_supported to anv_layout_to_aux_state 4257- anv: Avoid sampling some MCS surfaces with clear 4258- iris: Avoid sampling some MCS surfaces with clear 4259- isl: Add isl_aux_usage_has_compression 4260- iris: Prefer more GPU-based uploads for compression 4261- intel: Limit the D16 workarounds to Gfx12.0 4262- anv,iris: Port the D16 workaround stalls to BLORP 4263- intel/isl: Fix HiZ+CCS comment about ambiguates 4264 4265Neha Bhende (4): 4266 4267- svga: Add target and sampler_return_type info into shader key 4268- svga: Use shader_key info to declare resources if TGSI shader is missing it 4269- svga: Initialize pipe_shader_state for transform shaders 4270- aux/indices: include provoking vertex check in prim type conversion 4271 4272Neil Roberts (1): 4273 4274- kmsro: Fix confusing comma expression 4275 4276Niklas Haas (3): 4277 4278- vulkan/wsi/x11: return VK_SUBOPTIMAL_KHR on mismatched swapchain 4279- vulkan/wsi/x11: lower resize events to VK_SUBOPTIMAL_KHR 4280- vulkan/wsi/wayland: implement the full format table 4281 4282Olivier Fourdan (1): 4283 4284- radeonsi: Check aux_context on si_destroy_screen() 4285 4286Paul Gofman (1): 4287 4288- util: add force_gl_names_reuse for SWKOTOR. 4289 4290Paul Kocialkowski (1): 4291 4292- lima: Take offset in account when checking BO size 4293 4294Paulo Zanoni (2): 4295 4296- iris: finish converting from drmIoctl to intel_ioctl 4297- iris: don't munmap NULL pointers 4298 4299Petr Vaněk (1): 4300 4301- docs/install: remove one extra when 4302 4303Philipp Zabel (1): 4304 4305- etnaviv: fix gbm_bo_get_handle_for_plane for multiplanar images 4306 4307Philippe Normand (1): 4308 4309- i915: Prevent invalid framebuffer usage 4310 4311Pierre Moreau (2): 4312 4313- clover/spirv: Properly size 3-component vector args 4314- clover/nir: Set constant buffer pointer size to host 4315 4316Pierre-Eric Pelloux-Prayer (57): 4317 4318- driconf: add workaround for Golf With Friends 4319- glx: init __GLXvendorInfo to NULL 4320- radeonsi/nir: enable nir_opt_move_discards_to_top pass 4321- radeonsi: enable glsl_correct_derivatives_after_discard by default 4322- st/mesa: fix clearing of 1D array textures 4323- frontend/dri: set PIPE_BIND_PROTECTED later 4324- frontend/dri: fix bool/int comparison 4325- radeonsi: allow write-only mapping of encrypted textures 4326- radeonsi: fix encryption check for buffers 4327- radeonsi: dirty msaa_config on rs->multisample_enable change 4328- winsys/amdgpu: don't read bo->u.slab.entry after pb_slab_free 4329- amdgpu/winsys: remove amdgpu_cs_has_chaining 4330- winsys/amdgpu: reduce amdgpu_cs size 4331- winsys/amdgpu: use int16 for buffer_indices_hashlist 4332- radeonsi: add _once suffix to depth_cleared_level_mask 4333- radeonsi: add si_install_draw_wrapper 4334- radeonsi: use si_install_draw_wrapper for tmz handling 4335- radeonsi/nir: add si_nir_is_output_const_if_tex_is_const 4336- radeonsi: use si_nir_is_output_const_if_tex_is_const 4337- vbo: delay vbo_exec_vtx_map call 4338- radeonsi: delay sample_pos_buffer creation until first use 4339- util/u_queue: move function definition up 4340- util/u_queue: add UTIL_QUEUE_INIT_SCALE_THREADS flag 4341- disk_cache: use UTIL_QUEUE_INIT_SCALE_THREADS 4342- radeonsi: skip instance_count==0 draws on <= GFX9 4343- radeonsi: disable ngg culling on llvm < 12 4344- mesa/shaderapi: change construct_name signature 4345- mesa/shaderapi: add an optional shader override mechanism 4346- ac/llvm: call the callback in all return paths of ac_cull_triangle 4347- radeonsi: fix fb_too_small condition 4348- radeonsi/gfx7: always sync pfp/me 4349- ac/surface: don't print stencil info if tex has no stencil 4350- radeonsi/driconf: add workaround for SpaceEngine 4351- glthread: add a last parameter to unmarshal functions 4352- glthread: return consumed bytes 4353- glthread: use custom marshal/unmarshal for CallList 4354- glthread: merge sucessive glCallList 4355- dlist: add locked param to _mesa_lookup_list 4356- dlist: prelock ctx->Shared->DisplayList before execute_list 4357- dlist: remove OPCODE_EXT_0 4358- dlist: remove InstSize 4359- dlist: unindent code 4360- dlist: use an union instead of allocating a 1-sized array 4361- dlist: always use merged primitive for drawing 4362- dlist: split hot/cold data from vertex_list 4363- dlist: use a separate opcode for vbo replay using loopback 4364- dlist: use a new OPCODE to avoid loading cold data 4365- dlist: increment/check list nesting when handling OPCODE_CALL_LIST(S) 4366- dlist: store all dlist in a continuous memory block 4367- dlist: remove _mesa_dlist_alloc_aligned 4368- dlist: remove unused _mesa_dlist_alloc 4369- dlist: skip NOP command at the head of a list 4370- mesa: clear shader_info::is_lowered in prog_to_nir 4371- mesa: fix bindless uniform samplers update 4372- dlist: don't handle unmerged draws as merged 4373- gallium/va: don't use key=NULL in hash tables 4374- amd/registers: fix fields conflict detection 4375 4376Qiang Yu (1): 4377 4378- st/mesa: fix size miss match for some check 4379 4380Rafael Antognolli (5): 4381 4382- intel/fs: Lower dword integer multiplies on XeHP. 4383- iris/bufmgr: Query memory region info. 4384- iris/bufmgr: Add new set of buckets for local memory. 4385- iris/bufmgr: Add flag to allocate from local memory. 4386- iris: Map with WC on non-LLC platforms. 4387 4388Rhys Perry (92): 4389 4390- aco/ra: use original names when renaming loop carried phi operands 4391- aco/ra: remove live-in temporary from live_out_per_block when moving it 4392- radv: fix barrier in radv_decompress_dcc_compute shader 4393- radv: fix clearing DCC-compressed e5b9g9r9 images 4394- aco: set TRUNC_COORD=0 for nir_texop_tg4 4395- ac/nir: set TRUNC_COORD=0 for nir_texop_tg4 4396- aco: remove image parameter from get_sampler_desc() 4397- Revert "radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it" 4398- aco: don't update register demand during RA validation 4399- aco: allow SDWA sels smaller than the operand size 4400- aco: add and use Program::progress 4401- nir/load_store_vectorize: assume CAN_REORDER ops don't alias with stores 4402- nir/opt_load_store_vectorize: improve handling of swizzles 4403- nir/opt_load_store_vectorize: ignore load_vulkan_descriptor 4404- nir/opt_load_store_vectorize: loop internally 4405- radv: improve vectorization callback for small bit sizes 4406- radv: only set robust_modes if robustBufferAccess2 is enabled 4407- radv: disable VK_FORMAT_R64_SFLOAT 4408- radv: cleanup LLVM implementation of vulkan_descriptor_index 4409- radv: implement vulkan_resource_reindex 4410- nir/lower_non_uniform: allow lowering with vec2 handles 4411- radv,aco: use nir_address_format_vec2_index_32bit_offset 4412- vulkan: fix use-after-free in vk_common_DestroyDebugReportCallbackEXT 4413- radv: fix use-after-free upon GS copy shader cache hits 4414- radv: fix possible use-after-free when inserting GS copy shader from cache 4415- radv,ac/llvm: use a dword alignment for descriptor loads 4416- aco: group loads from the same vertex binding into the same clause 4417- radv,aco: use per-attribute vertex descriptors for robustness 4418- Revert "radv,aco: don't use MUBUF for multi-channel loads on GFX8 with robustness2" 4419- radv,aco: compact vertex buffer descriptors 4420- ci: remove expected robustness2 fails for Renoir 4421- aco/ra: initialize temp_in_scc earlier 4422- aco/ra: fix get_reg_for_operand() with no free registers 4423- aco/ra: fix get_reg_for_operand() when the blocking var is a vector 4424- aco/ra: fix get_reg_for_operand() with vector operands 4425- aco/ra: use flags instead of booleans for update_renames() 4426- aco: disallow SGPRs on DPP instructions 4427- radv: don't allocate DCC predicate if the image doesn't use DCC 4428- radv: add radv_absolute_depth_bias 4429- radv: workaround incorrect depthBiasConstantFactor by Path of Exile 4430- radv: fix formatting of radv_dri_options 4431- radv: make attrib_end variable in radv_flush_vertex_descriptors 32-bit 4432- aco: do not clause NSA instructions 4433- aco/tests: add tests for form_hard_clauses() 4434- aco/tests: improve reporting of failed code checks 4435- aco: don't create 4 and 5 dword NSA instructions on GFX10 4436- aco: don't use nir_block_is_unreachable() 4437- nir/unsigned_upper_bound: don't require dominance metadata 4438- nir/algebraic: optimize extract of extract 4439- nir, nir/algebraic: add byte/word insertion instructions 4440- aco: disallow SDWA for instructions with 64-bit definitions/operands 4441- aco: add p_extract/p_insert 4442- aco: implement nir_op_extract/nir_op_insert 4443- aco: use byte/word extract pseudo-instructions 4444- ac/llvm: implement byte/word extract/insert instructions 4445- radv: use byte/word extract/insert instructions 4446- aco: optimize 32-bit extracts and inserts using SDWA 4447- aco: make validate_ir() output usable in tests 4448- aco: disallow literals with some instruction formats 4449- aco/tests: add tests for p_extract/p_insert lowering 4450- aco/tests: add SDWA tests 4451- aco: use v1b/v2b for ds_read_u8/ds_read_u16 4452- radv: improve LDS alignment check for load/store vectorization 4453- aco: don't ever widen 8/16-bit sgpr load_shared 4454- aco: use ds_read_{u8,u16}_d16 4455- aco: fix emit_mbcnt() with a VGPR mask 4456- radv: increase maxComputeSharedMemorySize 4457- nir/load_store_vectorizer: fix check_for_robustness() with indirect loads 4458- nir/opt_load_store_vectorize: check for restrict at the variable 4459- nir/opt_load_store_vectorize: only require one variable to be restrict 4460- nir: document that ACCESS_RESTRICT is not set at intrinsics 4461- radv,aco: use all attributes in a binding to obtain an alignment for fetch 4462- aco: adjust the condition for expanding vertex fetch data format 4463- aco/ra: use adjust_max_used_regs() in compact_relocate_vars() 4464- aco: don't move descriptor loads below buffer loads 4465- aco: move VMEM instructions below descriptor loads 4466- aco/lower_phis: fix undef_operands initialization with >32 predecessors 4467- aco/lower_phis: don't allocate unused temporary ids 4468- nir: use a single set during CSE 4469- nir/cse: resize the instruction set 4470- nir/propagate_invariant: add invariant_prim option 4471- radv: allow VK_FORMAT_R8G8_SRGB sampling 4472- nir/opt_load_store_vectorize: fix check_for_robustness() with deref access 4473- aco/tests: fix 32-bit build 4474- docs/envvars: fix RADV_TEX_ANISO 4475- aco: remove resource flags 4476- aco: handle NIR loops without breaks 4477- radv: enable VK_KHR_shader_subgroup_uniform_control_flow 4478- radv: don't ever convert num_records to bytes if it's zero 4479- radv: adjust num_records when offset>stride 4480- radv: use null vertex descriptor if num_records=0 4481- aco: don't create v_madmk_f32/v_madak_f32 from v_fma_legacy_f16 4482 4483Rob Clark (157): 4484 4485- freedreno: Add .clang-format 4486- freedreno: Some manual reformatting 4487- freedreno: Re-indent 4488- freedreno: Manual fixups 4489- freedreno: Add missing foreach macros and update indentation 4490- freedreno/drm: Re-indent 4491- freedreno/afuc: Re-indent 4492- freedreno/common: Re-indent 4493- freedreno/computerator: Re-indent 4494- freedreno/decode: Re-indent 4495- freedreno/drm-shim: Re-indent 4496- freedreno/ir2: Re-indent 4497- freedreno/perfcntrs: Re-indent 4498- freedreno/fdl: Re-indent 4499- ir3: handle 16b op_i2b1 4500- ci: Update kernel with a few freedreno related fixes 4501- ci: Add timeout for traces jobs 4502- freedreno: Small indent fix 4503- freedreno: Avoid staging blits with stencil on older gens 4504- freedreno: Make sure we actually flush if we need a fence 4505- freedreno: Add a couple debug traces 4506- freedreno: Allow resource shadowing for TC 4507- freedreno/drm: Move submit->primary to base class 4508- freedreno/drm: Cleanup bo allocation flags 4509- freedreno/drm: Cleanup bo cpu_prep flags 4510- freedreno/drm: Add FD_BO_PREP_FLUSH 4511- freedreno/drm: Move the growable array helper 4512- freedreno/drm: Add locked version fd_{bo,pipe}_del() 4513- freedreno/drm: Userspace fences 4514- freedreno/drm: Inline the fence-table 4515- freedreno/batch: Don't create fences for every batch 4516- freedreno: last_fence optimization for TC async flushes 4517- freedreno: Move fence struct to header 4518- freedreno: Drop unused create_fence() arg 4519- freedreno/drm: Reference count submits 4520- freedreno: Re-work fd_submit fence interface 4521- freedreno/drm: Add pipe tracking for deferred submits 4522- freedreno/drm/sp: Split submit prep and finish 4523- freedreno/drm/sp: Implement deferred submit merging 4524- freedreno: Avoid flushing deferred submits for u_trace 4525- freedreno/drm: fd_submit should hold ref to fd_pipe 4526- freedreno/drm: pipe should hold reference to device 4527- freedreno/drm: Async submit support 4528- freedreno/drm: Assume explicit fences if in_fence_fd 4529- freedreno/ci: Disable counterstrike trace on a306 for now 4530- freedreno/ci: Skip texsubmimage cube_map_array 4531- ci: Add DEQP_CASELIST_INV_FILTER 4532- freedreno/ci: Isolate dEQP-EGL reset_context tests 4533- freedreno: Remove samples-per-tex tracking 4534- freedreno/drm: Allow FD_BO_PREP_FLUSH without _NOSYNC 4535- freedreno: Flush resources harder 4536- freedreno/ci: Mark client_wait_sync_finish as flake 4537- freedreno/ci: Update piglit skips/fails 4538- freedreno/drm: Initialize control->fence 4539- freedreno: Fix TC last_fence optimization 4540- freedreno: Consolidate needs_flush and clearing last_fence 4541- freedreno/query/acc: Set needs_flush 4542- freedreno/tools: Fix async flush vs fdperf/computerator 4543- pps: Lower min sampling interval 4544- util/perfetto: Add one-time init 4545- freedreno: Add freedreno pps driver 4546- gallium/aux: Add perfetto support to u_trace 4547- freedreno/drm: Add support to query device suspend count 4548- freedreno/pps: Detect GPU suspend on newer kernels 4549- freedreno: Moar header C++-proofing 4550- freedreno: Add perfetto renderpass support 4551- pps: Add a more interesting cfg example 4552- docs/perfetto: Updates for freedreno and render-stages 4553- gallium/u_threaded: Add to_call() helper 4554- gallium/u_threaded: Add call logging 4555- freedreno/ir3: Don't force RTNE if rounding mode is undefined 4556- freedreno/a6xx: Add a few registers 4557- freedreno: Rename internal resource_busy 4558- freedreno: Implement TC resource_busy 4559- freedreno/tu+drm: Extract out pm4 pkt header helpers 4560- freedreno: Move pkt parsing helpers to common 4561- freedreno/afuc: Split out instruction decode helper 4562- freedreno/afuc: Split out utils 4563- freedreno/afuc: Clean up special regs 4564- freedreno/afuc: Add pipe reg name decoding 4565- freedreno/afuc: Add emulator mode to afuc-disasm 4566- freedreno/registers: Add a few a6xx regs and notes 4567- freedreno/afuc: Extract full gpu-id 4568- freedreno/afuc: Split out helpers to parse labels and packet-table 4569- freedreno/afuc: Add emulator support to run bootstrap 4570- freedreno/ci: Add real packet-table loading for afuc test 4571- freedreno/afuc: Use emulator to extract jmptbl 4572- freedreno/headergen2: Fix compile warnings with CP_DRAW_INDIRECT_MULTI 4573- freedreno/a6xx: Fix mh31 intermittent faults 4574- freedreno: Fix typo 4575- freedreno: Don't return a flushed batch 4576- egl: zero is a valid fd 4577- egl+libsync: Add check for valid fence-fd 4578- frontend/dri: Fix fence-fd logic 4579- freedreno/ir3: Fix use after free 4580- Revert "st/mesa: execute glFlush asynchronously if no image has been imported/exported" 4581- freedreno: Fix batch flush race condition 4582- freedreno: Fix fdperf flush 4583- gallium/u_threaded: Missing driver-thread marking 4584- freedreno: Add string-marker debug trace 4585- freedreno: Move assert 4586- freedreno: Add tid to DBG() msgs 4587- freedreno: Remove assert 4588- freedreno/registers: add A5XX_RBBM_STATUS3 bit 4589- freedreno: Add missing valid range tracking for SSBOs/images 4590- docs: Update freedreno features 4591- freedreno/ci: Sort a630 piglit xfails 4592- freedreno/a6xx: Fix r16_snorm blits 4593- freedreno/a6xx: Handle non-UBWC surface views 4594- freedreno/a6xx: Improve UBWC demotion logic 4595- freedreno: Drop obsolete comment 4596- freedreno: Don't try staging blit for non-renderable formats 4597- freedreno: Add debugging for blitter fallback recursion 4598- freedreno: Avoid recursive re-entry of u_blitter 4599- freedreno/a6xx: Handle R8G8 sharp edges in validate_format() 4600- freedreno/a6xx: Also validate format in blitter path 4601- freedreno: Flush batches on shadow/uncompress 4602- freedreno: Fallback to sw for copy_image with compressed 4603- freedreno: Fix flushes with NULL batch 4604- freedreno/blitter: Flush before self-blits 4605- freedreno/a6xx: Use UNORM for SNORM copy blits 4606- freedreno/a6xx: Handle u/snorm vs u/sint validation 4607- freedreno: Fix for multi-draw blits 4608- freedreno/a6xx: Flip on copy_image 4609- freedreno/a6xx: Skip nv_copy_image tests 4610- freedreno: Defer freeing batch->key 4611- freedreno/ci: Start longest traces first 4612- freedreno/ci: Increase # of jobs for CI runners 4613- freedreno/ci: Garbage collect some a630 flakes 4614- freedreno/a6xx: Handle fb_read in sysmem path 4615- freedreno: Flush if at risk of overflowing bos table 4616- turnip: Use drmIoctl() 4617- turnip: Fix AcquireImageANDROID() handle type 4618- turnip: Add CrOS Gralloc support 4619- nir: Add pass to lower phi precision 4620- freedreno+ir3: Enable INT16 4621- freedreno/a6xx: Fix framebuffer_barrier crash 4622- turnip: avoid some UB 4623- turnip: Split tu6_emit_xs() 4624- freedreno/computerator: Add script to probe FLUT values 4625- freedreno/ir3: Add float immed "FLUT" support 4626- freedreno: Rename \*_dev_info 4627- freedreno: Generate device-info tables at build time 4628- freedreno: Convert fd_dev_info to const pointer 4629- turnip: Convert fd_dev_info to const pointer 4630- freedreno/ir3: Get tess_use_shared from fd_dev_info 4631- freedreno/ir3: Get reg_size_vec4 from fd_dev_info 4632- turnip: Drop unused vshs_workgroup param 4633- turnip: Get storage_16bit from fd_dev_info 4634- turnip: Get indirect_draw_wfm_quirk from fd_dev_info 4635- turnip: Get has_tex_filter_cubic from fd_dev_info 4636- turnip: Get has_sample_locations from fd_dev_info 4637- freedreno+turnip: Add has_cp_reg_write 4638- freedreno+turnip: Add has_8bpp_ubwc 4639- freedreno+turnip: Get device name from device-info table 4640- freedreno+turnip: Add a6xx gen4 support 4641- freedreno/a6xx: Add missing PC_CCU_INVALIDATE_x 4642 4643Robert Foss (1): 4644 4645- freedreno/regs: add 5nm DSI PHY/PLL regs 4646 4647Robert Tarasov (1): 4648 4649- iris: Check data alignment for copy_mem_mem 4650 4651Rohan Garg (8): 4652 4653- i965: plumb device/driver UUID generators 4654- i965: Initial implementation for EXT_memory_object_* 4655- i965: Implement semaphore support for EXT_external_objects 4656- i965: Implement BufferDataMem 4657- i965: fix in fences backend for ext_external_objects edge case 4658- i965: Enable EXT_memory_object_* for Gen 7 and above 4659- docs: mark external memory and semaphore extensions done for i965 4660- ci: Don't artifact rendered images when job succeeds 4661 4662Roland Scheidegger (1): 4663 4664- llvmpipe: fix nir dot products (fsum op) 4665 4666Roman Stratiienko (7): 4667 4668- anv_android: Add missing type 4669- meson: egl: Do not build platform_drm for Android 4670- android: Add scripts to build using meson 4671- nouveau: Don't require RTTI and use it only when enabled 4672- egl: android: prepare code for adding more buffer_info getters 4673- egl: android: add IMapper@4 metadata API buffer_info getter 4674- AOSP: Do not add '-Wl,--gc-sections' to the linker arguments 4675 4676Ryan Houdek (3): 4677 4678- Default enable SSE2 on mesa builds. 4679- Switch u_format_test to passed on i386 4680- Update release notes with mention that x87 is no longer used on x86 4681 4682Sagar Ghuge (16): 4683 4684- anv: Set correct fast clear value for depth during blorp operation 4685- anv: Avoid corrupting indirect depth clear values 4686- anv: Query memory region info 4687- anv: Wrapper around I915_GEM_CREATE_EXT_MEMORY_REGIONS 4688- anv: Allocate BO in appropriate region 4689- anv: Allocate scratch and workaround BO in local memory 4690- intel/compiler: Define new LSC data port encodings 4691- intel/compiler: Add support for LSC fence operations 4692- intel/compiler: Add helpers for LSC message descriptors 4693- intel/disasm: Disassmeble LSC messages 4694- intel/disasm: Disassemble LSC message extended descriptors 4695- intel/fs: Lower untyped float atomic messages to LSC when available 4696- intel/fs: Lower Byte scattered r/w messages to LSC when available 4697- intel/fs: Lower A64 byte scattered r/w messages to LSC dataport 4698- intel/fs: Lower A64 atomic messages to LSC dataport 4699- intel/fs: Lower varying pull constant load message to LSC dataport 4700 4701Samuel Iglesias Gonsálvez (13): 4702 4703- turnip: move pipeline gras_su and rb{stencil,depth}_cntl_mask initialization 4704- turnip: initialize pipeline->rb_{stencil,depth}_cntl always 4705- turnip: refactor how LRZ state is calculated 4706- turnip/lrz: add support for VK_EXT_extended_dynamic_state 4707- turnip: document GRAS_LRZ_CNTL's UNK5 bitfield 4708- turnip/lrz: added support for depth bounds test enable 4709- turnip: fix typo in tu_CmdBeginRenderPass2() 4710- turnip: implement LRZ direction 4711- turnip: update LRZ state based on stencil test state 4712- turnip: group all geometry constant draw states in one 4713- turnip: fix setting dynamic state mask for VK_DYNAMIC_STATE_STENCIL_OP_EXT case 4714- turnip: add LRZ early-z support 4715- anv: do not dereference VkPipelineMultisampleStateCreateInfo always 4716 4717Samuel Pitoiset (130): 4718 4719- amd: drop support for LLVM 8 4720- radv: keep DCC compressed for clears on compute with image stores 4721- aco: fix opquantize2f16 on GFX6-7 4722- radv: fix fast clearing depth-only or stencil-only aspects with HTILE 4723- radv: fix emitting depth bias when beginning a command buffer 4724- radv: remove radv_image_iview::bo 4725- radv: remove radv_image_iview::multiplane_planes 4726- radv: allow concurrent MSAA images to be FMASK compressed 4727- radv: fix emitting default depth bounds state on GFX6 4728- radv/winsys: remove set but never used use_llvm 4729- radv: remove old comment about LLVM <= 8 4730- ac: move ac_lower_indirect_derefs() outside of the LLVM dir 4731- radv: cleanup LLVM related includes 4732- radv: remove RADV_DEBUG=nothreadllvm 4733- radv/winsys: fix allocating the number of CS in the sysmem path 4734- radv/winsys: fix resetting the number of padded IB words 4735- radv: make sure CP DMA is idle before executing secondary command buffers 4736- radv: remove warnings about RADV_PERFTEST=aco,llvm 4737- radv/llvm: implement the image load DCC bug 4738- radv: enable DCC stores with the LLVM backend 4739- radv: re-introduce missing skip list for Polaris10 4740- radv: fix various CMASK regressions on GFX9 4741- radv: add the provoking vertex mode to the pipeline/shader keys 4742- radv/llvm: adjust NGG if provoking vertex mode is last 4743- aco: adjust NGG if provoking vertex mode is last 4744- radv: implement VK_EXT_provoking_vertex 4745- radv: enable TC-compat CMASK on GFX8-9 4746- radv: fix computation of the number of user SGPRS for NGG GS state 4747- radv: check if DCC is enabled when resolving different levels 4748- radv: only keep concurrent MSAA images compressed if TC-compat CMASK 4749- radv/winsys: add GFX6_MAX_CS_SIZE instead of using a magic value 4750- radv/winsys: fix executing huge secondary command buffers on GFX6 4751- radv: implement RADV_FORCE_VRS for the LLVM backend 4752- util/math: change ROUND_DOWN_TO to return a uint64_t 4753- radv: adjust the computation of the total usage of memory used 4754- radv: expose 2/3rd of total memory as VRAM and 1/3rd as GTT on APUs 4755- radv: fix missing ITERATE_256 for D/S MSAA images that are TC-compat HTILE 4756- radv: declare VK_EXT_extended_dynamic_state2 but leave it disabled 4757- radv: declare new dynamic states for VK_EXT_extended_dynamic_state2 4758- radv: implement dynamic depth bias enable 4759- radv: implement dynamic primitive restart enable 4760- radv: implement dynamic rasterizer discard enable 4761- radv: advertise VK_EXT_extended_dynamic_state2 4762- radv: fix extending the dirty bits to 64-bit 4763- radv: dump the trap handler shader with RADV_DEBUG=metashaders 4764- nir/opt_access: fix getting variables in presence of similar bindings/desc 4765- radv: add missing entrypoints for VK_EXT_extended_dynamic_state2 4766- radv: enable DCC stores on RDNA2 4767- aco: fix derivatives/intrinsics with SGPR sources 4768- Revert "radv: Do not access set layout during vkCmdBindDescriptorSets." 4769- radv: fix heap indices when computing the budget 4770- ac: ac_gpu_info::has_vgt_flush_ngg_legacy_bug 4771- radv: fix fast clearing DCC if one level can't be compressed on GFX10+ 4772- radv: simplify radv_pipeline_has_gs_copy_shader() 4773- radv: remove small overhead of radv_pipeline_has_ngg() 4774- radv: ignore dynamic blend constants if blend isn't enabled 4775- radv: remove an useless TODO for dynamic line width 4776- radv: pass an image range to radv_layout_dcc_compressed() 4777- radv: remove redundant call to radv_dcc_enabled() 4778- radv: only mark DCC as compressed when drawing if layout allows it 4779- radv: only init DCC if compressed in the HW resolve path 4780- radv: do not decompress DCC for partial resolves if stores are supported 4781- radv: use radv_dcc_enabled() for the FB mip flush workaround 4782- aco: fix emitting discard when the program just ends 4783- radv: stop reporting ACO from the device name 4784- radv: remove DFSM 4785- util/drirc: make engine_versions an optional field 4786- radv: add few new drirc options 4787- util/drirc: use application_name_match for the SotTR RADV workaround 4788- radv: move all game workarounds to drirc 4789- radv: fix missing default state for DB_DFSM_CONTROL 4790- radv: fix generating hang reports if mutable descriptors are used 4791- radv: enable RADV_DEBUG=invariantgeom for Monster Hunter World 4792- ac/rgp: mark SQTT_FILE_CHUNK_TYPE_ISA_DATABASE as deprecated 4793- ac/rgp: bump the SQTT file minor version to 5 4794- radv: enable RADV_DEBUG=invariantgeom for SotTR DX11/DX12 versions 4795- ac: import performance counters from RadeonSI 4796- ac: rename ac_dump_thread_trace() to ac_dump_rgp_capture() 4797- ac/rgp: fix ac_fill_sqtt_asic_info() name 4798- ac: add ac_thread_trace::data 4799- radv/winsys: allow to reserve a VMID 4800- radv: emit PA_SC_CONSERVATIVE_RASTERIZATION_CNTL only on GFX9+ 4801- ac/debug: fix color printing PKT3 when count in header is too low 4802- aco: fix range checking for SSBO loads/stores with SGPR offset on GFX6-7 4803- radv: dump SPIR-V instead of using spirv-dis when generating a hang report 4804- aco: fix emitting literal offsets with SMEM on GFX7 4805- ci: update list of expected failures for Pitcairn/Oland (RADV) 4806- radv: do not launch an IB2 for secondary cmdbuf with INDIRECT_MULTI on GFX7 4807- radv/winsys: add a small comment explaining the CHAIN bit 4808- ci: add expected list of failures for Bonaire (RADV) 4809- radv: fix aligning the image offset by using align64() 4810- radv/winsys: adjust some error messages 4811- radv/winsys: remove useless errno.h includes 4812- radv: fix dynamic rasterizer discard enable state 4813- radv: reject binding buffer/image when the device memory is too small 4814- radv: always decompress both aspects of a depth/stencil image 4815- radv: create only one pipeline for decompressing depth/stencil images 4816- radv: fix dynamic culling and depth/stencil related dynamic states 4817- ac/perfcounters: remove ac_pc_block_base::num_prelude 4818- ac/perfcounters,radeonsi: rework performance counters layout 4819- ac/perfcounters: rename num_multi to num_spm_counters 4820- ac/perfcounters: add more SPM configuration fields 4821- ac/perfcounters: add a GPU block ID to every block definitions 4822- radv: implement dynamic logic op 4823- radv: advertise extendedDynamicState2LogicOp 4824- radv: fix RADV_FORCE_VRS for 2x1 and 1x2 4825- radv: fix fd leak in vkAcquireImageANDROID() 4826- radv: disable DCC for DOOM 2016 and Wolfenstein II 4827- radv: implement VK_EXT_color_write_enable 4828- radv: advertise VK_EXT_color_write_enable 4829- radv: add support for more HTILE clear codes 4830- radv: prevent fast clearing HTILE depth for unrestricted ranges 4831- radv: allow more fast clears for depth surfaces without TC-compat HTILE 4832- ci: update list of expected failures against CTS 1.2.6.2 for RADV 4833- ci: remove few CTS that are now skipped with RADV 4834- aco: fix emitting d16 for MIMG instructions on GFX9+ 4835- aco: fix emitting a16 for MIMG instructions on GFX10+ 4836- aco: fix shared_atomic_comp_swap if the second source isn't a VGPR 4837- radv: fix applying radv_disable_dcc for DOOM and Wolfenstein II 4838- aco: use nir_ssa_def_is_unused() to determine if atomic dest is used 4839- ac,radv: implement the cs_regalloc_hang HW bug workaround 4840- radv: fix applying radv_disable_dcc for DOOM 2016 again 4841- radv: lower primitive shading rate in NIR 4842- radv: only init the TC-compat ZRANGE metadata for the depth aspect 4843- radv: fix bounds checking for zero vertex stride on GFX6-7 4844- radv: report APUs as discrete GPUs for Red Dead Redemption 2 4845- radv: fix specifying the stencil layout for separate depth/stencil layouts 4846- radv: allow unused VkSpecializationMapEntries 4847- radv: fix selecting the first active CU when profiling with SQTT 4848- radv: fix missing cache flushes when clearing HTILE levels on GFX10+ 4849 4850Sergii Melikhov (1): 4851 4852- util/format: Change the pointer offset. 4853 4854Simon Ser (27): 4855 4856- radeon/vcn: handle tiled buffers when decoding 4857- util/format: document block depth field 4858- ac/surface: use blocksizebits instead of blocksize 4859- radeonsi: stop special-casing YUV formats in si_query_dmabuf_modifiers 4860- ac/surface: allow non-DCC modifiers for YUV on GFX9+ 4861- frontends/va: improve surface attribs processing 4862- gallium, va: add support for VASurfaceAttribDRMFormatModifiers 4863- radeonsi: implement pipe_context.create_video_buffer_with_modifiers 4864- radv: stop special-casing multi-planar formats in radv_get_modifier_flags 4865- dri: add createImageWithModifiers2 interface 4866- gallium/dri: implement createImageWithModifiers2 4867- i965: implement createImageWithModifiers2 4868- vulkan/wsi/wayland: simplify wl_surface version check 4869- docs/envvars: document MESA_VK_WSI_PRESENT_MODE 4870- radv: implement VK_EXT_physical_device_drm 4871- amd/addrlib: remove Meson debug message() 4872- vulkan/wsi: unify format logic in dmabuf_handle_modifier 4873- vulkan/wsi: prefer the Wayland linux-dmabuf protocol 4874- vulkan/wsi/wayland: remove swapchain wl_drm wrapper 4875- vulkan/wsi/wayland: remove unnecessary wl_proxy_set_queue call 4876- vulkan/wsi/wayland: fix wsi_wl_image_init error code 4877- vulkan/wsi/wayland: handle dmabuf params allocation failure 4878- etnaviv: fix renderonly check in etna_resource_alloc 4879- etnaviv: fail in get_handle(TYPE_KMS) without a scanout resource 4880- freedreno: fail in get_handle(TYPE_KMS) without a scanout resource 4881- panfrost: fail in get_handle(TYPE_KMS) without a scanout resource 4882- lima: fail in get_handle(TYPE_KMS) without a scanout resource 4883 4884Simon Zeni (4): 4885 4886- vulkan/wsi: add drm_fd param to wsi_display_get_connector 4887- vulkan/wsi: Implement VK_EXT_acquire_drm_display 4888- radv: Implement VK_EXT_acquire_drm_display 4889- anv: Implement VK_EXT_acquire_drm_display 4890 4891Steve Pronovost (1): 4892 4893- d3d12: Add mechanism for D3D12 Adapter Selection 4894 4895Stéphane Marchesin (1): 4896 4897- virgl: resources without any binding can be cached 4898 4899SureshGuttula (3): 4900 4901- frontends/va/picture:Fix wrong reallocation even surface is protected 4902- frontends/va: Derive image from interlaced buffers for h26[4/5]encode 4903- radeon/vcn: calc_dpb_size should be based on dpb_type 4904 4905Tapani Pälli (21): 4906 4907- anv: do not support image export with stencil aspect set 4908- glx: fix compilation error when function name not found 4909- glsl: ignore interface precision qualifier on desktop GL 4910- glx: revert "Downgrade sRGB-ful fbconfigs" 4911- i965: support only color formats with memory objects 4912- nir: skip assert check with empty structs 4913- isl: require hiz for depth surface in isl_surf_get_ccs_surf 4914- anv: require rendering support for blit destination feature 4915- mesa: fix error set for glCompressedTexSubImage calls 4916- gitlab-ci: enable building of Vulkan tests in Piglit 4917- anv: introduce new dynamic states 4918- anv: support rasterizer discard dynamic state 4919- anv: support depth bias enable dynamic state 4920- anv: support primitive restart enable dynamic state 4921- anv: centralize vk_to_intel_logic_op array 4922- anv: support blending logic op dynamic state 4923- anv: toggle on VK_EXT_extended_dynamic_state2 4924- docs: add VK_EXT_extended_dynamic_state2 features.txt entry 4925- anv: provide dummy vkCmdSetPatchControlPointsEXT 4926- iris: take a reference to memobj bo in iris_resource_from_memobj 4927- anv: fix emitting dynamic primitive topology 4928 4929Thomas H.P. Andersen (9): 4930 4931- nir: return progress from nir_lower_packing 4932- nir/lower_packing: use shader_instructions_pass 4933- anv: remove dead code 4934- nir/ifind_msb_rev: fix input check 4935- zink: remove initialization override 4936- lavapipe: remove initialization override 4937- broadcom/compiler: use correct flag enum 4938- broadcom/compiler: fix add vs. mul 4939- nine: Fix assert in tx_src_param 4940 4941Thong Thai (1): 4942 4943- radeon/vcn/enc: Add missing line to HEVC SPS header code 4944 4945Timothy Arceri (23): 4946 4947- mesa: fix incomplete GL_NV_half_float implementation 4948- mesa: make _mesa_find_temp_intervals() a static function 4949- mesa: fix _mesa_add{_typed}_unnamed_constant() declarations 4950- mesa: fix _mesa_add_state_reference() declaration mismatch 4951- mesa: fix glShaderSource() error handling 4952- util: disable glthread in CSGO 4953- glsl: create validate_component_layout_for_type() helper 4954- glsl: add missing support for explicit components in interface blocks 4955- nir/lower_io_to_vector: fix per vertex io handling for arrays 4956- Revert "util: disable glthread in CSGO" 4957- util: add work around for the game We Happy Few 4958- util/tests: initialise key in cache_test 4959- mesa: don't crash on incorrect texture use 4960- i965: don't crash on incorrect texture use 4961- glsl: force_glsl_version to shaders with no defined version 4962- util/driconf: add new ignore_write_to_readonly_var workaround 4963- util: add some workarounds for the game Luna Sky 4964- util/disk_cache: delete more cache items in one go when full 4965- util/radeonsi: add radeonsi workaround for Nuclear Throne 4966- glsl: replace some C++ code with C 4967- util: add workaround for Full Bore 4968- glsl: relax rule on varying matching for shaders older than 4.20 4969- intel/compiler: make sure swizzle is applied to if condition 4970 4971Timur Kristóf (74): 4972 4973- aco: Mark VCC clobbered for iadd8 and iadd16 reductions on GFX6-7. 4974- radv: Ignore GS copy shader when determining NGG GS wave size. 4975- radv: Properly enable Wave32 mode for NGG GS. 4976- nir: Support upper bound of subgroup_id/num_subgroups for non-compute. 4977- nir: Support upper bound of unsigned bit size conversions. 4978- nir: Allow load_primitive_id in VS in nir_divergence_analysis. 4979- nir: Add AMD specific intrinsics for merged shaders and NGG. 4980- aco: Allow workgroup barrier and shared scope for NGG shaders. 4981- aco: Fixup the NIR metadata after sanitize_cf_list. 4982- aco: Split ngg_emit_sendmsg_gs_alloc_req from the wave0 check. 4983- radv: Fill shader info earlier. 4984- radv: Gather NGG info sooner. 4985- aco: Implement new NGG specific NIR intrinsics. 4986- ac: Add new NIR pass to lower NGG VS/TES. 4987- radv: Use new NGG NIR lowering for VS/TES when ACO is used. 4988- ac: Add NIR lowering for NGG GS. 4989- radv: Use new NIR lowering of NGG GS when ACO is used. 4990- aco: Determine whether a few more instructions need exec. 4991- aco: Use Operand instead of Temp for the exec mask stack. 4992- aco: Remember when exec mask is const, and restore the const then. 4993- aco: Don't use s_and_saveexec with branches when exec is constant. 4994- aco: Refactor SSA elimination phi info to use vector instead of map. 4995- aco: Eliminate useless exec writes in jump threading. 4996- aco/insert_exec_mask: Fixed unused variable warning in release build. 4997- aco/util: Initialize IDSet::bits_set to zero. 4998- gallium/tessellator: Fix uninitialized variable warnings. 4999- anv: Fix unused function warnings for memory range checks. 5000- gallivm: Fix a few uninitialized variable warnings. 5001- nine: Fix uninitialized warning in texture9.c 5002- radv/cmd_buffer: Fix warning by initializing instance count. 5003- aco: Don't eliminate exec write when it's used by a copy later. 5004- aco: Don't DCE instructions that write non-temps, eg. exec. 5005- aco: Add Operand(Temp, PhysReg) constructor. 5006- aco: New writeout overloads for the test framework. 5007- aco: Introduce a new, post-RA optimizer. 5008- aco: Use s_cbranch_vccz/nz in post-RA optimization. 5009- aco: Eliminate SALU comparison when SCC can be used instead. 5010- radv: Remove duplicate code for getting GS info. 5011- radv: Don't generate GS copy shader when the pipeline has NGG. 5012- radv: Assert that there is no GS copy shader when the pipeline has NGG. 5013- aco: Add note about v_alignbyte in the ISA README. 5014- nir: Add nir_op_sad_u8x4 which corresponds to AMD's v_sad_u8. 5015- aco: Implement nir_op_sad_u8x4. 5016- aco: Add validation for v_permlane instructions. 5017- nir: Add AMD-specific byte and lane permute intrinsics. 5018- aco: Implement byte and lane permute intrinsics. 5019- aco: Keep VGPR destinations for uniform shared loads when beneficial. 5020- ac/nir: Refactor and optimize the repacking sequence. 5021- amd: Add extra source to the mbcnt_amd NIR intrinsic. 5022- aco: Use as_vgpr for the second source of mbcnt_amd. 5023- ac/nir: Update TCS output barriers with nir_var_mem_shared. 5024- aco: Fix checking if load_shared is used by cross lane instructions. 5025- radv/llvm: Emit s_barrier at the beginning of NGG non-GS shaders. 5026- aco/gfx10: NGG zero output workaround for conservative rasterization. 5027- aco/gfx10: Emit barrier at the start of NGG VS and TES. 5028- radv: Add last_vgt_api_stage and use it to simplify some code. 5029- radv: Move radv_optimize_nir_algebraic to a separate function. 5030- radv: Allow enabling vertex grouping, fix NGG info with it disabled. 5031- radv: Set parameter cache oversubscription according to the PC lines. 5032- nir: Add AMD specific intrinsics for NGG shader based culling. 5033- ac/nir: Add a NIR port of ac_llvm_cull. 5034- ac/nir: Use a ballot that matches the wave size during NGG lowering. 5035- ac/nir: Implement NGG deferred attribute culling in NIR. 5036- radv: Expose radv_get_viewport_xform in radv_private.h 5037- radv: New shader args for NGG culling settings and viewport. 5038- aco: Implement NGG culling related intrinsics. 5039- radv: Support NGG culling with new perftest environment variable. 5040- radv: Run algebraic optimizations before NGG lowering. 5041- ac/nir: Reuse the repacked output positions of culling shaders. 5042- ac/nir: Analyze culling shaders to remember which inputs are used when. 5043- ac/nir: Reuse uniforms from top part of culling shaders. 5044- radv, aco, ac/nir: Tweak position export scheduling for NGG culling. 5045- radv: Don't compile NGG culling into shaders that write viewport index. 5046- radv: Remove num_viewports from radv_skip_ngg_culling. 5047 5048Tomeu Vizoso (51): 5049 5050- ci: Reenable radeonsi jobs, and extend coverage 5051- ci/lava: Build all piglit profiles in LAVA images 5052- ci/lava: Update kernel for LAVA to 5.11 5053- ci/lava: Start Xorg on request, for Piglit 5054- ci: Test RadeonSI with piglit's quick_gl 5055- ci: Use a single kernel+rootfs for both baremetal and LAVA jobs 5056- ci: Drop hack to disable all modules from defconfig 5057- ci/radeonsi: Add expected failures due to #4674 having slipped in 5058- panfrost/ci: Enable some dEQP 3.1 tests on Mali T860 5059- Revert "CI: Disable Panfrost and radeonsi" 5060- panfrost: Don't access members of NULL pointers 5061- pan/midgard: Don't emit zero padding 5062- ci: Remove the need for an empty Piglit results file 5063- Revert "CI: Disable all Panfrost/AMD/Iris automatic jobs" 5064- ci: Update kernel to v5.13-rc2 5065- panfrost/ci: Test Panfrost on the Mali G72 GPU 5066- panfrost/ci: Add one more flake test for G72 5067- radv/ci: Test on Stoney on CI 5068- ci/lava: Add caching proxies for trace downloads 5069- ci/piglit: Use wget instead of ci-fairy to check a file exists 5070- ci: Configure DUTs for max performance 5071- ci: Uprev piglit to eee7d89611cf "tests: Replay profile frame times" 5072- ci: Uprev apitrace to 170424754bb4 "retrace: Get --loop to work without rewinding" 5073- radeonsi/ci: Add new Piglit failures 5074- ci/freedreno: Add depth32f_stencil8 flakes 5075- ci/zink: Add nearest_linear_mirror_l8_pot flake 5076- ci/freedreno: Fix name of flake 5077- ci/freedreno: Add new flake after "ci: Configure DUTs for max performance" 5078- ci/freedreno: Add spec\@arb_copy_buffer\@dlist flake on a530 5079- Partial revert of "ci: Add a manual job for tracking the performance of Freedreno" 5080- ci/freedreno: Skip Portal 2 trace on a630, due to flakiness 5081- Revert "ci/freedreno: Skip Portal 2 trace on a630, due to flakiness" 5082- ci/lava: Disable CPU frequency scaling 5083- ci/lava: Switch LAVA jobs to x86 runners 5084- ci: Disable windows builds due to runner not being available 5085- ci: Build Crosvm in our container 5086- ci: Move Kernel build tasks into its own file 5087- ci: Store the credentials in /tmp 5088- ci: Run tests inside Crosvm 5089- iris/ci: Update the checksums for the pixmark-piano trace 5090- panfrost/ci: Add some failures that crept in 5091- ci/lava: Improve error reporting in lava_job_submitter.py 5092- ci/lava: Don't overwrite PIGLIT_REPLAY_EXTRA_ARGS 5093- Revert "ci: Disable the iris APL jobs" 5094- ci/bare-metal: Add parens around shell command 5095- panfrost: Fork pan_pool for Gallium and Vulkan 5096- panvk: Add VkCommandPool support 5097- panvk: Support calls to CreateDescriptorSetLayout without bindings 5098- panvk: Make panvk_queue_transfer_sync more generic 5099- panfrost: Specify alignment for the Job Header descriptor 5100- panvk: Add vkEvents support 5101 5102Tony Wasserka (18): 5103 5104- radv: Remove assert about pDepthStencilState 5105- aco/spill: Fix improper handling of exec phis 5106- aco/scheduler: Fix register demand computation for downwards moves 5107- aco/scheduler: Fix register demand computation for upwards moves 5108- aco/scheduler: Verify register demand invariants in debug mode 5109- util: add support for defining bitwise operators on strongly typed enums 5110- util: tune signatures of generated enum operators 5111- aco/scheduler: Clean up register demand tracking 5112- aco/scheduler: Move cursor handling state to dedicated interfaces 5113- aco/ra: Fix off-by-one-error in print_regs 5114- aco/ra: Clean up print_regs output and support byte-allocated variables 5115- aco/ra: Split print_regs by lines of 64 registers 5116- aco: Replace Operand literal constructors with factory member functions 5117- aco: Remove use of deprecated Operand constructors in test_to_hw_instr.cpp 5118- aco: Remove use of deprecated Operand constructors in aco_builder.h 5119- aco: Remove use of deprecated Operand constructors 5120- aco: Clean up unneeded literal casts 5121- aco: Remove deprecated Operand constructors 5122 5123Vasily Khoruzhick (3): 5124 5125- lima: switch resource to linear layout if there's to many full updates 5126- lima: implement alpha test 5127- lima: handle fp16 vertex formats 5128 5129Ville Syrjälä (2): 5130 5131- i915: Implement __DRI_IMAGE_ATTRIB_OFFSET query 5132- i915: Implement __DRI2_FLUSH version 4 5133 5134Vinson Lee (17): 5135 5136- clover: Add constructor for constant_argument. 5137- glx: Fix macOS build. 5138- nv50/ir: Initialize Graph::Node member tag. 5139- nvc0: Remove unnecessary bsp_bo NULL check. 5140- nv50/ir: Initialize BuildUtil member tail. 5141- nv50/ir: Initialize CodeEmitterNV50 member progType. 5142- nv50/ir: Initialize GCRA::RIG_Node members. 5143- nvc0/ir: Initialize CodeEmitterGK110 member progType in constructor. 5144- nv50/ir: Add ConstantFolding constructor. 5145- travis: Download XQuartz from GitHub. 5146- v3dv: Fix assert. 5147- nvc0/ir: Initialize CodeEmitterNVC0 member progType in constructor. 5148- intel/vec4: Add missing break statement. 5149- nvc0/ir: Initialize Limits members in constructor. 5150- asahi: Fix macOS macro. 5151- st/xa: Mark default xa_get_pipe_format case unreachable. 5152- asahi: Move assignment after null check. 5153 5154Yevhenii Kolesnikov (3): 5155 5156- intel: fix leaking memory on shader creation 5157- glsl: Add operator for .length() method on implicitly-sized arrays 5158- glsl: Properly handle .length() of an unsized array 5159 5160Yiwei Zhang (79): 5161 5162- venus: update venus-protocol headers 5163- venus: implement dma_buf fd import and properties query 5164- venus: cap api version to 1.1 for Android 5165- venus: fix virtgpu_bo_init_dmabuf for classic resource 5166- venus: close the import memory fd on success 5167- venus: force a roundtrip after vn_renderer_bo_create_dmabuf 5168- venus: set bo->size to 0 for classic resource 5169- venus: update venus-protocol headers 5170- venus: implement VK_ANDROID_native_buffer v7 5171- venus: use VK_EXT_image_drm_format_modifier 5172- venus: update venus-protocol headers 5173- venus: enable VK_EXT_queue_family_foreign 5174- venus: handle VK_IMAGE_LAYOUT_PRESENT_SRC_KHR transfer 5175- venus: handle wsi image queue ownership transfer for Android 5176- venus: query extended resource info from gralloc 5177- venus: populate VK_ERROR_OUT_OF_HOST_MEMORY if applied 5178- virgl: do not use winsys info for guest storage of classic resource 5179- venus: fix vkEnumeratePhysicalDeviceGroups 5180- venus: stop advertising KHR_driver_properties for Android 5181- venus: clean up vn_android api names 5182- venus: add AHB format and VkFormat conversion helper functions 5183- venus: add vn_android_get_ahb_usage helper function 5184- venus: add ahb image and buffer properties query support 5185- venus: vn_GetAndroidHardwareBufferPropertiesANDROID (part 1/2) 5186- venus: vn_GetAndroidHardwareBufferPropertiesANDROID (part 2/2) 5187- anv: fix AHB leak upon exportable allocation 5188- radv: fix AHB leak upon exportable allocation 5189- gallium/st: add a back buffer fallback for front rendering 5190- gallium/dri: implement EGL_KHR_mutable_render_buffer 5191- egl/android: check front rendering support for cros gralloc 5192- venus: tiny refactor of vn_android_get_gralloc_buffer_info 5193- venus: complete the format conversion between AHB and Vulkan 5194- venus: fix vn_GetAndroidHardwareBufferPropertiesANDROID 5195- venus: fix AHB image format properties query 5196- venus: prepare image creation helpers for AHB 5197- venus: implement image creation for ahb handle type 5198- venus: refactor device memory fd import 5199- venus: implement AHB allocation and import (part 1/2) 5200- venus: implement AHB allocation and import (part 2/2) 5201- venus: implement vn_GetMemoryAndroidHardwareBufferANDROID 5202- venus: support AHB external format for sampler YCbCr conversion 5203- venus: advertise VK_ANDROID_external_memory_android_hardware_buffer 5204- venus: rename dmabuf to dma_buf when it represents a type 5205- venus: fix misaligned bo_flags between import and query 5206- venus: refactor for property query of dma_buf fd 5207- venus: fix mismatched bo mmap_size for export and multiple imports 5208- venus: initial AHB support for multi-planar format 5209- venus: update to the latest venus protocol 5210- venus: support AHB prop query with host dma_buf size 5211- venus: refactor gralloc buffer and drm modifier properties query 5212- venus: unify VkNativeBufferANDROID and AHardwareBuffer image create info 5213- venus: forward the host renderer hardware info 5214- egl/android: fix cached buffer slots for EGL Android winsys 5215- egl/android: refactor to use the legit vndk/window.h header 5216- vulkan: fix back compat with Android Oreo and below 5217- egl/android: add aosp_nougat system/window.h back for back compat 5218- virgl: forward the host renderer hardware info 5219- anv: fix Android WSI VkFence 5220- venus: silence a build warning 5221- venus: refactor vn_AcquireImageANDROID with globalFencing 5222- venus: moves GPU rendering off CPU timeline for Android WSI 5223- venus: add debug info for experimental features during init 5224- radv: fix build errors after commit 8b7ff784 5225- anv: fix build errors after commit 8b7ff78 5226- venus: remove workarounds for multi-planar format interop 5227- anv: fix some log formats 5228- anv: support multi-planar format in add_all_surfaces_explicit_layout 5229- anv: enable multi-planar support for drm format modifier 5230- venus: properly support GPU_DATA_BUFFER for AHB 5231- venus: use the mesa "drm-uapi/drm_fourcc.h" header 5232- venus: remove unsupported AHB formats 5233- venus: resolve AHB external format with DRM format 5234- venus: add more logs for Android WSI debugging 5235- venus: prepare vn_CreateBuffer for AHB 5236- venus: handle ahb backed VkBuffer creation properly 5237- venus: fix AHB VkBuffer memory requirement 5238- egl/android: only apply front rendering usage in shared buffer mode 5239- egl/android: restore image creation fallback path used by virgl 5240- venus: cache ahb backed buffer memory type bits requirement 5241 5242Yogesh Mohanmarimuthu (4): 5243 5244- radv: set RADEON_FLAG_GTT_WC flag for prime memory 5245- glx: Keep display fd open for prime 5246- glx: create DRI screen for display GPU incase of prime 5247- loader: allocate VRAM in display GPU in case of prime 5248 5249Yurii Kolesnykov (1): 5250 5251- c_std=c11 in meson default_options 5252 5253Zhaofeng Li (1): 5254 5255- Add default driver selections for RISC-V 5256 5257Zhu Yuliang (1): 5258 5259- gallium/vl: don't leak fd in vl_dri3_screen_create 5260 5261Zoltán Böszörményi (2): 5262 5263- crocus: Add pipe loader driver 5264- crocus: Make the driver loader use PCI IDs for crocus 5265 5266cheyang (1): 5267 5268- virgl:Fix the leak of hw_res used as fence 5269 5270luc (1): 5271 5272- panfrost: Only clear existing color buffers 5273