1Mesa 20.2.0 Release Notes / 2020-09-28 2====================================== 3 4Mesa 20.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 20.2.1. 7 8Mesa 20.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 20.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 63f0359575d558ef98dd78adffc0df4c66b76964ebf603b778b7004964191d30 mesa-20.2.0.tar.xz 25 26 27New features 28------------ 29 30- GL_ARB_compute_variable_group_size on Iris. 31 32- GL_ARB_gpu_shader5 on llvmpipe 33 34- GL_ARB_post_depth_coverage on llvmpipe 35 36- GLES 3.2 on llvmpipe 37 38- GL_EXT_shader_group_vote on GLES3. 39 40- GL_EXT_texture_shadow_lod on llvmpipe 41 42- VK_AMD_texture_gather_bias_lod on RADV. 43 44- VK_AMD_gpu_shader_half_float on RADV/ACO. 45 46- VK_AMD_gpu_shader_int16 on RADV/ACO. 47 48- VK_EXT_extended_dynamic_state on ANV and RADV. 49 50- VK_EXT_image_robustness on RADV. 51 52- VK_EXT_private_data on ANV and RADV. 53 54- VK_EXT_custom_border_color on ANV and RADV. 55 56- VK_EXT_pipeline_creation_cache_control on ANV and RADV. 57 58- VK_EXT_shader_demote_to_helper_invocation on RADV/LLVM. 59 60- VK_EXT_subgroup_size_control on RADV/ACO. 61 62- VK_GOOGLE_user_type on ANV and RADV. 63 64- VK_KHR_shader_subgroup_extended_types on RADV/ACO. 65 66- GL_ARB_gl_spirv on nvc0/nir. 67 68- GL_ARB_spirv_extensions on nvc0/nir. 69 70- RADV now uses ACO per default as backend 71 72- RADV_DEBUG=llvm option to enable LLVM backend for RADV 73 74- VK_EXT_image_robustness for ANV 75 76- VK_EXT_shader_atomic_float on ANV 77 78- VK_EXT_4444_formats on ANV and RADV. 79 80- VK_KHR_memory_model on RADV. 81 82- GL 4.5 on llvmpipe 83 84- EGL_KHR_swap_buffers_with_damage on X11 (DRI3) 85 86 87Bug fixes 88--------- 89 90- [Regression][Bisected][20.2][radeonsi] American Truck Simulator continually allocates memory until OOM 91- anv: dEQP-VK.robustness.robustness2.* failures on gen12 92- [RADV] Problems reading primitive ID in fragment shader after tessellation 93- Massive memory leak (at least AMD, others unknown) 94- Substance Painter 6.1.3 black glitches on Radeon RX570 95- vkCmdCopyImage broadcasts subsample 0 of MSAA src into all subsamples of dst on RADV 96- Crash in ruvd_end_frame when calling vaBeginPicture/vaEndPicture without rendering anything 97- X-Plane 11 Installer crashes on startup since `glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins` 98- Horizon Zero Dawn graphics corruption with with radv 99- Amber test opt_peel_loop_initial_if: Assertion failed 100- Dirt Rally: Flickering glitches on certain foliage since Mesa 20.1.0 caused by MSAA 101- [BRW] WRC 5 asserts with gallium nine and iris. 102- radv: Corruption in "The Surge 2" 103- [RADV] Detroit: Become Human Demo game lock-ups with RADV 104- Road Redemption certain graphic effects rendered white color 105- vulkan/wsi/x11: deadlock with Xwayland when compositor holds multiple buffers 106- [RADV/ACO] Death Stranding cause a GPU hung (*ERROR* Waiting for fences timed out!) 107- lp_bld_init.c:172:7: error: implicit declaration of function ‘LLVMAddConstantPropagationPass’; did you mean ‘LLVMAddCorrelatedValuePropagationPass’? [-Werror=implicit-function-declaration] 108- Intel Vulkan driver crash with alpha-to-coverage 109- EGL_KHR_swap_buffers_with_damage support on X11 110- radv: blitting 3D images with linear filter 111- [ACO] Compiling pipelines from RPCS3's shader interpreter spins forever in ACO code 112- Intel Vulkan driver assertion with small xfb buffer 113- [spirv-fuzz] SPIR-V parsing failed "src->type->type == dest->type->type" 114- radeonsi: radeonsi crashes in Chrome on chromeos 115- [RADV] commit d19bc94e4eb94 broke gamescope with Navi 116- 4e3a7dcf6ee4946c46ae8b35e7883a49859ef6fb breaks Gamescope showing windows properly. 117- anv: crashes in CTS test dEQP-VK.subgroups.*.framebuffer.*_tess_eval 118- Intel Vuikan (anv) crash in copy_non_dynamic_state() when using validation layer 119- Mafia 3: Trees get rendered incorrectly 120- radv: dEQP-VK.synchronization.op.multi_queue.timeline_semaphore.write_clear_attachments_*_concurrent fail when forcing DCC. 121- Crash on GTA 5 through proton 5.0.9 and GE versions 122- Mesa 20.2.0-rc1 fails to build for AMD 123- Assertion failure compiling shader from Zigguart 124- Panfrost locks for waiting fence when running Source engine games 125- ci: `-Dtools=panfrost` should be build-tested 126- panfrost: Register allocation fails for Firefox WebRender shaders 127- VRAM leak with vuilkan external memory + opengl memory objects 128- [vulkan/build] Recent build system changes made VK_EXT_acquire_xlib_display unnecessarily depend on GBM 129- ci: Capture devcoredumps on chezas 130- Possible array out of bounds in brw_vec4_nir.cpp 131- freedreno/a6xx: incorrect rendering in asphalt 9 132- [tgl][bisected][regression][iris] failure on dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_default 133- Multiply defined symbols compiling with gcc@10.1.0 134- shrinking descriptor pool on intel+vulkan 135- dEQP-VK.renderpass2.dedicated_allocation.attachment.1.12 fails on NAVI14 136- turnip: binning and indirect dependency 137- Amber test leads to NIR validation failed after nir_opt_if (on spirv-fuzz shader) 138- Unable to compile mesa-git from b559d26c 139- Ambient light too bright with ACO in AC: Odyssey 140- Multiple issues with Detroit Become Human 141- ci: Capture artifacts in baremetal mode 142- turnip/ir3: fine derivatives 143- panfrost: regression: Major stuttering and low compositor FPS with glmark2 144- khr_debug-push-pop-group_gl: ../src/util/simple_mtx.h:86: simple_mtx_lock: Assertion \`c != _SIMPLE_MTX_INVALID_VALUE' failed. 145- freedreno/a6xx: skai/skqp fails 146- SPIR-V parsing fails in src/compiler/spirv/spirv_to_nir.c 147- SPIR-V parsing fails in src/compiler/spirv/vtn_cfg.c 148- Weird GLSL bug 149- iris driver is broken in Freedesktop 19.08 150- LLVM not properly shutdown in `si_pipe.c`? 151- Panfrost: add current status to docs/features.txt 152- Opengl incorrect rendering on yuzu Amd 153- RADV: VK_ACCESS_MEMORY_READ/WRITE_BIT is not implemented 154- [bisected][regression][all platforms] multiple deqp-gles31/glescts/piglit failures 155- 7406ea37, "ac/surface: require that gfx8 doesn't have DCC in order to be displayable", breaks Gamescope being able to launch games on RX580, and possibly other gfx8 cards 156- vkGetSemaphoreCounterValue doesn't update without vkWaitSemaphores calls on Intel UHD 620 157- [RADV] System crash when playing XCOM Chimera Squad because of commit #7a5e6fd2 158- [RADV] Non-precise occlusion queries return non-zero when all fragments are discarded 159- [DXVK] Project Cars rendering problems 160- ADDRLIB ODR Violation 161- Build fails with current mesa from git "undefinierter Verweis auf »nir_lower_clip_disable«" 162- KDE Compositor stuttering after Check for window destruction in dri3_wait_for_event_locked 163- Add fallthrough to prevent errors caused by missing break 164- i965/20.1: gray rendering with torcs racing 165- glBindBufferRange call seems to be ignored by one of two shader-programs on radeon cards 166- [bisected][g33] piglit.spec.ext_framebuffer_object.fbo-cubemap failure 167- Increase GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS to greater value. 168- nir: st_nir_lower_builtin fails for gl_LightSource[i] 169- Sometimes VLC player process gets stuck in memory after closure if video output used is Auto or OpenGL 170- Double unlock in rbug_context.c 171- Double copy for TexSubImage 172- [v3d] corruption when GS omits some vertices 173- Iris crashes when reading from multisampled front buffer on platforms without front buffer 174- freedreno: subway surfers crash when repeatedly toggling fullscreen 175- [RADV/GFX8] Performance drop in DOOM Eternal when "Present from compute" is enabled 176- freedreno: multiple applications crash on a5xx 177- Use-after-free crash innv50_ir::GCRA::RIG_Node::init() 178- intel: Sample mask writes need to be honored in Vulkan 179- [RADV] - Path of Exile (238960) - Map outline, landscape and markers are missing with the Vulkan renderer. 180- ASTC texture decompression fails when using software fallback 181- [i965][iris][regression][bisected] multiple piglit and glcts failures on all platforms 182- please publish GPG keyring used to sign new releases 183- [BISECTED] compiling shader causes crash 184- Missing render Information on Stellaris 185- freedreno/ir3: allow copy-propagate from array 186- Zink + GALLIUM_HUD SIGSEGV 187- piglit spec@egl_ext_device_base@conformance fails LLVM 11 Git assertion since "llvmpipe/fs: add caching support" 188- llvmpipe: 1x1 framebuffer with a 2x2 viewport 189- [regression] nir build failure 190- ci: need to end baremetal tests after kernel panic/instaboot 191- If-statement body is executed for false condition 192- freedreno/a6xx: broken rendering in playcanvas "after the flood" 193- [regression] performance drop on Dota 2, CS:GO, and gfxbench GL benchmarks on ICL/Iris 194- [amd] C++ ODR violatation for union GB_ADDR_CONFIG 195- Zink reports incorrect amount of video memory 196- [RADV/LLVM]: void llvm::ICmpInst::AssertOK(): Assertion \`getOperand(0)->getType() == getOperand(1)->getType() && "Both operands to ICmp instruction are not of the same type!"' failed. 197- glsl-1.50-gs-max-output hangs on Navi10 + NGG 198- anv: Runs out of binding tables with PPSSPP during long runs 199- Segfault in Panfrost with waypipe 200- ci: Use rsync instead of rm -rf ; cp for baremetal rootfs 201- i965: Rendering problems replaying a trace of "Refunct" after mesa-20.1.0-rc1 release [bisected] 202- Panfrost (rk3399 NanoPi M4) hang/crash on playing video on Kodi/X11 203- gallium/winsys/radeon/drm fails assertion on 32bit 204- NIR validation failed after glsl to nir, before function inline, wrong {src,dst}->type ? 205- nir/spirv asin() function not precise enough 206- Mesa 20.0.7 / 20.1.0-rc4 regression, extremally long shader compilation time in NIR 207- Android build error after 689acc73 208- freedreno/a6xx: gpu hangs in google earth 209- Mesa-git build fails on Fedora Rawhide 210- Doom Eternal 1.1 performs very poorly on RADV 211- iris/i965: possible regression in 20.0.5 due to changes in buffer manager sharing across screens (firefox/mozilla#1634213) 212- iris/i965: possible regression in 20.0.5 due to changes in buffer manager sharing across screens (firefox/mozilla#1634213) 213- Incorrect _NetBSD__ macro inside execmem.c 214- Possible invalid sizeof in device.c 215- YUV FP16 lowering validation failing 216- GLSL compiler assertion is_float() failed in glsl/ir_validate.cpp, visit_leave on specific WebGL shader 217- [RADV] - Doom Eternal (782330) & Metro Exodus (412020) - Title requires 'RADV_DEBUG=zerovram' to eliminate colorful graphical aberrations. 218- [RADV] - Doom Eternal (782330) & Metro Exodus (412020) - Title requires 'RADV_DEBUG=zerovram' to eliminate colorful graphical aberrations. 219- mesa trunk master vulkan overlay-layer meson.build warning empty configuration_data() object 220- [meson] increase minimum required version 221- Kicad fails to render 3D PCB models. 222- freedreno: minetest: alpha channel issue on a6xx 223- Reproduceable i915 gpu hang Intel Iris Plus Graphics (Ice Lake 8x8 GT2) 224- 7 Days to Die - "Reflection Quality" setting broken, results in environment rendered black 225- glsl: regression affecting shader compilation time 226- freedreno: glamor issue with x11 desktops 227- finish converting from fnv1a to xxhash 228- Hang in iris_dri in kitty 229- Setting twice value to output_stream in radv_nir_to_llvm.c 230- Overwriting value of `jit_tex->sample_stride` in lp_setup.c 231- [AMDGPU][OpenGL] apitrace of kernel/firmware crash that requires a reboot 232- Flickering in Superposition benchmark 233- Double lock in fbobject.c 234- Possible typo in aco_insert_waitcnt.cpp 235- [bisected] Steam crashes when newest Iris built with LTO 236- Freeing null pointer inside radv_amdgpu_cs.c 237- Duplicated sub expression in radv_nir_to_llvm.c 238- i965/vec4: opt_cse_local cause the out of bound array access 239- NIR: Regression on shader using 8/16-bit integers 240- ACO: Compiler segfault on 8/16-bit integers. 241- lp_bld_intr.c:70:16: error: use of undeclared identifier 'LLVMFixedVectorTypeKind'; did you mean 'LLVMVectorTypeKind'? 242- recent seqno changes causing surfaceflinger crash 243- [radeonsi] [glthread] Crash with glthread enabled 244- Deadlock in anv_timelines_wait() 245- [gles3] supertuxkart: some textures are incorrect 246- post_version.py does not work with release candidates 247- post_version.py does not work with release candidates 248- radv regression on android 249- ogl: Set mesa_glthread=true as default on the RPCS3 emulator 250- [iris] android deqp dEQP-EGL.functional.robustness.negative_context#invalid_notification_strategy_enum fails 251- zink: conditional rendering 252- [RadeonSI] Glitches on VEGA8 + RX 560X after MR 4863 253- RadeonSI OpenGL broken for GFX8 after unify code for overriding offset 254- freedreno/turnip: Don't request fragcoord components we don't use 255- Make check fails in ANV 256- src\util\meson.build:294:4: ERROR: Program or command 'winepath' not found or not executable 257- Please add Zink to features.txt 258- llvmpipe: assert triggers in LLVM 259- debug builds are massively broken on Windows 260- ci: Report flakes on IRC from baremetal tests 261- heavy glitches on amd ryzen 5 since version 20.x 262- zink asserts with 32-bit boolean 263- OpenGL: Surviving Mars black screen late-game (possible shader problem) 264- Kerbal Space Program (KSP) hangs entire Navi system 265- Dirt: Showdown bad performance and broken rendering with enabled advanced lightning 266- gravit & Firefox WebGL broken since 3dc2ccc14c0e035368fea6ae3cce8c481f3c4ad2 "ac/surface: replace RADEON_SURF_OPTIMIZE_FOR_SPACE with !FORCE_SWIZZLE_MODE" 267- mesa 20.0.5 causing kitty to crash 268- radeonsi: "Torchlight II" trace showing regression on mesa-20.0.6 [bisected] 269- [RADV/LLVM/ACO/Regression] After mesa commit a3dc7fffbb7be0f1b2ac478b16d3acc5662dff66 all games stucks at start 270- Android building error after commit 2ab45f41 271- freedreno/a6xx: pubg rendering glitches 272- iris: Crash when trying to capture window in OBS Studio 273- lp_test_format failure with llvm-11 274 275 276Changes 277------- 278 279Abhishek Kumar (1): 280 281- egl: Limit the EGL ver for android 282 283Adam Jackson (1): 284 285- glx: Fix build and warnings with -Dglx=dri -Dglx-direct=false 286 287Alejandro Piñeiro (9): 288 289- v3d/tex: only look up the 2nd texture gather offset for 1d non-arrays 290- v3d/tex: set up default values for Configuration Parameter 1 if possible 291- v3d/tex: use TMUSLOD register if possible 292- v3d: moving v3d simulator to src/broadcom 293- v3d/tex: handle correctly coordinates for cube/cubearrays images 294- vulkan/util: add struct vk_pipeline_cache_header 295- nir/lower_tex: handle query lod with nir_lower_tex_packing_16 at lower_tex_packing 296- v3d/packet: fix typo on Set InstanceID/PrimitiveID packet 297- v3d: set instance id to 0 at start of tile 298 299Alyssa Rosenzweig (475): 300 301- pan/mdg: Track more types 302- pan/mdg: Be a bit more pedantic in invert passes 303- panfrost: Enumify bifrost blend types 304- pan/bi: Add texture indices to IR 305- pan/bi: Pipe multiple textures through 306- pan/bi: Pack round opcodes (FMA, either 16 or 32) 307- pan/bit: Add framework forinterpreting double vs float 308- pan/bit: Interpret ROUND 309- pan/bit: Add round tests 310- panfrost: Fix texture field size 311- panfrost: Fix size of bifrost sampler descriptor 312- panfrost: Fix sampler wrap/filter field orders 313- panfrost: Fix norm coords on bifrost sampler 314- panfrost: Fix tiled texture "stride"s on Bifrost 315- pan/decode: Don't crash on missing payload 316- pan/bi: Enable lower_mediump_outputs NIR pass 317- panfrost: Update Bifrost fields in mali_shader_meta 318- pan/bi: Lower for now sincos 319- pan/mdg: Ingest actual isub ops 320- pan/mdg: Rename .one to .sat_signed 321- pan/mdg: Move constant switch opts to algebraic pass 322- pan/mdg: Drop forever todo 323- pan/mdg: Drop `opt` in name of midgard_opt_cull_dead_branch 324- pan/mdg: Enable nir_opt_algebraic_distribute_src_mods 325- panfrost: Update dEQP expectation list 326- panfrost: Setup gl_FragCoord as sysval on Bifrost 327- pan/bi: Add clause type for gl_FragCoord.zw load 328- pan/bi: Abort on unknown op packing 329- pan/bi: Abort on unhandled intrinsics 330- pan/bi: Futureproof COMBINE lowering against non-u32 331- pan/bi: Print bad instruction on src packing fail 332- pan/bi: Passthrough direct ld_var addresses 333- pan/bi: Lower gl_FragCoord 334- pan/bi: Set clause type for gl_FragCoord.z 335- pan/bi: Fix double-abs flipping 336- pan/bi: Fix missing swizzle 337- pan/bi: Fix incorrectly flipped swizzle 338- pan/bi: Disable CSEL4 emit for now 339- pan/bi: Fix DISCARD ops in disasm 340- pan/bi: Structify DISCARD 341- pan/bi: Remove BI_GENERIC 342- pan/bi: Unwrap BRANCH into CONDITIONAL class 343- pan/bi: Handle discard_if in NIR->BIR naively 344- pan/bi: Emit discard (not if) 345- pan/bi: Add float-only mode to condition fusing 346- pan/bi: Fuse conditions into discard_if 347- pan/bi: Handle discard/branch in get_component_count 348- pan/bi: Pack ADD.DISCARD 349- pan/bi: Structify ADD ICMP 16 350- pan/bi: Pack ADD ICMP 32 351- pan/bi: Pack ADD ICMP 16 352- pan/bi: Don't pack ICMP on FMA 353- pan/bit: Add swizzles to round tests 354- pan/bit: Add more 16-bit fmod tests 355- pan/bit: Add ICMP tests 356- pan/bi: Rename BI_ISUB to BI_IMATH 357- pan/bi: Use IMATH for nir_op_iadd 358- pan/bi: Pack FMA IADD/ISUB 32 359- pan/bi: Pack ADD IADD/ISUB for 8/16/32 360- pan/bi: Add SUB.v2i16/SUB.v4i8 opcodes to disasm 361- pan/bi: Don't schedule <32-bit IMATH to FMA 362- pan/bit: Interpret IMATH 363- pan/bit: Interpret v4i8 ops 364- pan/bit: Remove test names 365- pan/bit: Use swizzle helper for round 366- pan/bit: Factor out identity swizzle helper 367- pan/bit: Add IMATH packing tests 368- pan/decode: Fix flags_hi printing 369- pan/mdg: Explain helper invocations dataflow theory 370- pan/mdg: Analyze helper invocation termination 371- pan/mdg: Analyze helper execution requirements 372- pan/mdg: Use the helper invo analyze passes 373- pan/mdg: Use analysis to set .cont/.last flags 374- pan/mdg: Remove texture_op_count 375- pan/mdg: Set types for derivatives 376- pan/mdg: Fix derivative swizzle 377- panfrost: Run dEQP-GLES3.functional.shaders.derivate.* on CI 378- pan/decode: Use a page table for tracking mmaps 379- pan/decode: Fix min/max_tile_coord mixup 380- pan/mfbd: Add format codes for PIPE_FORMAT_B5G5R5A1_UNORM 381- panfrost: Switch formats to table 382- panfrost: Fix Z24 vs Z32 mixup 383- panfrost: Enable AFBC for Z24X8 384- nir: Add fsat_signed opcode 385- nir: Add fclamp_pos opcode 386- panfrost: Add modifier detection helpers 387- pan/mdg: Remove .pos propagation pass 388- pan/mdg: Drop nir_lower_to_source_mods 389- pan/mdg: Prepare for modifier helpers 390- pan/mdg: Ingest fsat_signed/fclamp_pos 391- pan/mdg: Apply abs/neg modifiers 392- pan/mdg: Treat inot as a modifier 393- pan/mdg: Remove invert optimizations 394- pan/mdg: Use helpers for branch/discard inversion 395- pan/mdg: Apply outmods 396- pan/mdg: Emit fcsel when beneficial 397- pan/mdg: Optimize pipelining logic 398- pan/mdg: Precompute mir_special_index 399- pan/mdg: Optimize liveness computation in DCE 400- pan/mdg: Handle comparisons in fp16 path 401- pan/mdg: Fix constant combining crash 402- pan/mdg: Remove mir_*size routines 403- pan/mdg: Remove mir_get_alu_src 404- pan/mdg: Include more types 405- pan/mdg: Handle dest up/lower correctly with swizzles 406- pan/mdg: Respect !32-bit sizes in RA 407- pan/mdg: Explain ld/st sign/zero extension 408- pan/mdg: Add abs/neg/shift modifiers to IR 409- pan/mdg: Use src_types to determine size in scheduling 410- pan/mdg: Use type to determine triviality of a move 411- pan/mdg: Identify scalar integer mods 412- pan/mdg: Promote imov to fmov on a NIR level 413- pan/mdg: Remove promote_float pass 414- pan/mdg: Defer modifier packing until emit time 415- pan/mdg: Remove redundant redundancy 416- pan/mdg: Streamline dest_override handling 417- pan/mdg: Implement b2f16 418- pan/mdg: Don't generate conversions for fp16 LUTs 419- pan/mdg: Ignore dest.type when offseting load swizzle 420- pan/lcra: Remove unused alignment parameters 421- pan/lcra: Allow per-variable bounds to be set 422- pan/mdg: Use type size to determine alignment 423- pan/mdg: Eliminate load_64 424- pan/mdg: Set RA bounds for fp16 425- pan/mdg: Print mask when dest=0 426- pan/mdg: Round up bytemasks when spilling 427- pan/mdg: Print constant vectors less wrong 428- pan/mdg: Factor out mir_adjust_constant 429- pan/mdg: Only combine 16-bit constants to lower half 430- pan/mdg: Separately pack constants to the upper half 431- pan/mdg: Fix type checking issues with compute 432- pan/mdg: Pack barriers correctly 433- pan/mdg: Use shifts instead of division for RA sizes 434- pan/mdg: Implement vector constant printing for 8-bit 435- pan/mdg: Implement condense_writemask for 8-bit 436- pan/mdg: Pack 8-bit swizzles in 16-bit ops 437- panfrost: Guard experimental fp16 behind debug flag 438- panfrost: Keep cached BOs mmap'd 439- panfrost: Remove deadcode 440- panfrost: Fill in SCALED formats to format table 441- panfrost: Don't set PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY 442- panfrost: Don't zero staging buffer for tiling 443- panfrost: Allow bpp24 tiling 444- panfrost: Allow tiling on RECT textures 445- panfrost: Limit blend shader work count 446- panfrost: Remove dated comment about leaks 447- panfrost: Disable tib read/write when colourmask = 0x0 448- panfrost: Avoid redundant shader executions with mask=0x0 449- panfrost: Don't set CAN_DISCARD for MFBD 450- panfrost: Fix transform feedback types 451- pan/mdg: Cleanup comments that look like division 452- pan/mdg: Eliminate expand_writemask division 453- pan/mdg: Eliminate 64-bit swizzle packing division 454- pan/mdg: Avoid division in printing helpers 455- pan/mdg: Eliminate remaining divisions from compiler 456- panfrost: Fix dated comment 457- panfrost: Use _mesa_roundevenf when packing clear colours 458- panfrost: Handle !independent_blend for blend shaders 459- pan/mdg: Add pack_colour_32 opcode 460- pan/mdg: Lower shifts to 32-bit 461- pan/mdg: Ensure we don't DCE into impossible masks 462- pan/mdg: Allow DCE on ld_color_buffer masks 463- panfrost: Add debug print before query flushes 464- panfrost: Only run batch debug when specifically asked 465- nir: Add un/pack_32_4x8 opcodes 466- util: Add SATURATE macro 467- util/format: Use SATURATE 468- mesa: Use SATURATE 469- mesa/swrast: Use SATURATE 470- gallium/draw: Use SATURATE 471- glsl: Use SATURATE 472- panfrost: Use SATURATE 473- softpipe: Use SATURATE 474- intel: Use SATURATE 475- i965: Use SATURATE 476- iris: Use SATURATE 477- etnaviv: Use SATURATE 478- nouveau: Use SATURATE 479- pan/decode: Fix unused variable warning 480- pan/decode: Fix tiler warning 481- pan/decode: Dump missing field on Bifrost 482- pan/decode: Dump unknown2 483- panfrost: Fix Bifrost blending with depth-only FBO 484- panfrost: Adjust null_rt for Bifrost 485- panfrost: Tweak zsbuf magic numbers for Bifrost 486- panfrost: Tweak Bifrost colour buffer magic 487- panfrost: Force Z/S tiling on Bifrost 488- panfrost: Share MRT blend flag calculation with Bifrost 489- panfrost: Set unk2 to accomodate blending 490- panfrost: Identify Bifrost texture format swizzle 491- panfrost: Ensure nonlinear strides are 16-aligned 492- panfrost: Document Midgard Inf/NaN suppress bit 493- panfrost: Add defines for bifrost unk1 flags 494- panfrost: Identify MALI_BIFROST_EARLY_Z flag 495- panfrost: Set MALI_BIFROST_EARLY_Z as necessary 496- pan/decode: Decode Bifrost shader flags 497- pan/bi: Add TEX.vtx opcode for vertex texturing 498- pan/bi: Also add compact vertex texturing 499- pan/bi: Document compute_lod bit for compact tex 500- pan/bi: Allow vertex txl with lod=0 as compact 501- pan/bi: Add f16 TEXC.vtx op 502- pan/bi: Pack compact vertex texturing 503- pan/bi: Add CSEL.16 packing tests 504- pan/bi: Suppress inf/nan for now 505- panfrost: Don't generate gl_FragCoord varying on Bifrost 506- panfrost: Set reads_frag_coord as a sysval 507- panfrost: Preload gl_FragCoord on Bifrost 508- pan/bi: Remove FMA? parameter from get_src 509- pan/bi: Remove comment about old scheduler design 510- pan/bi: Move bi_registers to common IR structures 511- pan/bi: Move bi_registers to bi_bundle 512- pan/bi: Drop `struct` from bi_registers 513- pan/bi: Add FILE* argument to bi_print_registers 514- pan/bi: Move bi_flip_ports out of port assignment 515- pan/bi: Document constant count invariant 516- pan/bi: Disassemble pos=0xe 517- pan/bi: Add MUL.i32 to disasm 518- pan/bi: Remove more artefacts of 2-pass scheduling 519- pan/bi: Add bi_layout.c for clause layout helpers 520- pan/bi: Add helper to measure clause size 521- pan/bi: Remove schedule_barrier 522- pan/bi: Allow printing branches without targets 523- pan/bi: Fix emit_if successor assignment 524- pan/bi: Only rewrite COMBINE dest if not SSA 525- pan/bi: Fix CONVERT component counting 526- pan/bi: Fix branch condition typesize 527- pan/bi: Passthrough ZERO in branch packing 528- pan/bi: Add branch constant field to IR 529- pan/bi: Pack branch offset constants 530- pan/bi: Set branch_constant if there is a branch 531- pan/bi: Assign constant port for branch offsets 532- pan/bi: Preliminary branch packing 533- pan/bi: Link clauses back to their blocks 534- pan/bi: Add bi_foreach_clause_in_block_from{_rev} helpers 535- pan/bi: Measure distance between blocks 536- pan/bi: Pack proper clause offsets 537- pan/bi: Set branch_conditional if b2b is set 538- pan/bi: Set back-to-back bit more accurately 539- pan/bi: Set branch conditional bit 540- pan/bi: Pack unconditional branch 541- pan/bi: Defer block naming until after emit 542- pan/bi: Add bi_foreach_block_from_rev helper 543- pan/bi: Measure backwards branches as well 544- pan/bi: Allow two successors in header packing 545- pan/bi: Passthrough deps of the branch target 546- panfrost: Disable QUAD_STRIP/POLYGON on Bifrost 547- panfrost: Add GPU IDs for G31/G52 548- panfrost: Probe G31/G52 if PAN_MESA_DEBUG=bifrost 549- pan/mdg: Handle un/pack opcodes as moves 550- pan/mdg: Add pack_unorm_4x8 via 8-bit 551- pan/mdg: Treat packs "specially" 552- pan/mdg: Handle bitsize for packs 553- pan/mdg: Print 8-bit constants 554- pan/mdg: Drop the u8 from the colorbuf op names 555- pan/mdg: Implement raw colourbuf loads on T720 556- panfrost: Add theory for new framebuffer lowering 557- panfrost: Determine unpacked type for formats 558- panfrost: Add quirks for blend shader types 559- panfrost: Determine load classes for formats 560- panfrost: Determine classes for stores 561- panfrost: Stub out lowering boilerplate 562- panfrost: Un/pack pure 32-bit 563- panfrost: Un/pack pure 16-bit 564- panfrost: Un/pack pure 8-bit 565- panfrost: Un/pack 8-bit UNORM 566- panfrost: Flesh out dispatch 567- panfrost: Un/pack UNORM 4 568- panfrost: Un/pack RGB565 and RGB5A1 569- panfrost: Un/pack RGB10_A2_UNORM 570- panfrost: Un/pack RGB10_A2_UINT 571- panfrost: Un/pack R11G11B10 572- panfrost: Un/pack sRGB via NIR 573- panfrost: Switch to pan_lower_framebuffer 574- panfrost: Conditionally allow fp16 blending 575- panfrost: Account for differing types in blend lower 576- panfrost: Let Gallium pack colours 577- panfrost: Check for large tilebuffer requirements 578- panfrost: Add separate_stencil BO to batch 579- panfrost: Use internal_format throughout 580- panfrost: Update fails list 581- pan/mdg: Handle 16-bit ld_vary 582- pan/mdg: Fuse f2f16 into load_interpolated_input 583- panfrost: Fix PRESENT flag mix-up 584- panfrost: Permit AFBC of RGB8 585- panfrost: Use VTX tag for vertex texturing 586- panfrost: Don't flush explicitly when mipmapping 587- panfrost: Remove unused nir_lower_framebuffer pass 588- pan/mdg: Disassemble out-of-order bits 589- pan/mdg: Add quirk for missing out-of-order support 590- pan/mdg: Enable out-of-order execution after texture ops 591- nir: Fold f2f16(b2f32(x)) to b2f16(x) 592- pan/mdg: Don't double-replicate blend on T720 593- pan/mdg: Distinguish blend shaders in internal shader-db 594- pan/mdg: Add roundmode enum 595- pan/mdg: Add opcode roundmode property 596- pan/mdg: Lower roundmodes 597- pan/mdg: Implement \*_rtz conversions with roundmode 598- pan/mdg: Fold roundmode into applicable instructions 599- pan/mdg: Handle f2u8 600- pan/mdg: Allow f2u8 and friends thru 601- pan/mdg: Handle regular nir_intrinsic_load_output 602- panfrost: Passthrough NATIVE loads/stores 603- pan/bi: Handle SEL with vec3 16-bit 604- pan/bi: Fix SEL.16 swizzle 605- pan/bi: Pack second argument of F32_TO_F16 606- pan/bi: Passthrough second argument of F32_TO_F16 607- pan/bi: Handle vectorized load_const 608- panfrost: Update MALI_EARLY_Z description 609- panfrost: Document MALI_WRITES_GLOBAL bit 610- panfrost: Handle writes_memory correctly 611- panfrost: Readd MIDGARD_SHADERLESS quirk to t760 612- panfrost: Explicitly convert to 32-bit for logic-ops 613- pan/bi: Disassemble gl_PointCoord reads. 614- panfrost: Prefer sysval for gl_PointCoord on Bifrost 615- panfrost: Fix gl_PointSize out of GL_POINTS 616- panfrost: Mark point sprites as todo on Bifrost 617- pan/mdg: Legalize inverts with constants 618- pan/mdg: Ensure ld_vary_16 is aligned 619- panfrost: Ensure we have ro before using it 620- nir: Remove nir_intrinsic_output_u8_as_fp16_pan 621- pan/mdg: Avoid fusing ld_vary_16 with non-zero component 622- panfrost: Calculate varying size by format 623- panfrost: Add panfrost_streamout_offset helper 624- panfrost: Introduce bitfields for tracking varyings 625- panfrost: Determine varying buffer presence 626- panfrost: Emit unlinked varyings 627- panfrost: Emit special varyings 628- panfrost: Emit xfb records 629- panfrost: Add helper to determine if we are capturing 630- panfrost: Add high-level varying emit 631- panfrost: Use new varying linking 632- panfrost: Remove unused routines 633- panfrost: Allow R/RG/RGB varyings 634- panfrost: Only store varying formats 635- panfrost: Use shader_info harder 636- panfrost: Override varying format to minimal precision 637- panfrost: Demote mediump varyings to fp16 638- pan/mdg: Explicitly type 64-bit uniform moves 639- pan/mdg: Analyze types for 64-bitness in RA 640- pan/mdg: Prefer type over regmode for schedule constraints 641- pan/mdg: Precolour blend inputs 642- panfrost: Merge bifrost_bo/midgard_bo 643- panfrost: Update sampler view in Bifrost path 644- panfrost: Fix level_2 645- panfrost: Correctly calculate tiled stride 646- panfrost: Enable AFBC for RGB565 647- panfrost: Simplify AFBC format check 648- pan/mdg: Factor out unit check 649- pan/mdg: Allow scheduling "x + x" to multipliers 650- pan/mdg: Canonicalize (x * 2.0) to (x + x) 651- pan/mdg: Reassociate adds for multiply-by-two 652- nir: Propagate \*2*16 conversions into vectors 653- panfrost: Specify stack_shift on SFBD 654- pan/mdg: Defer nir_fuse_io_16 until after opts 655- pan/mdg: Don't assign destination in writeout block to r1 656- pan/mdg: Remove bundle interference code 657- pan/mdg: Schedule writeout to VLUT 658- pan/mdg: Defer smul, vlut until after writeout moves 659- pan/mdg: Allow Z/S writes to use any 2nd stage unit 660- pan/mdg: Prioritize non-moves on VADD/VLUT 661- pan/mdg: Skip r1.w write where possible 662- pan/mdg: Schedule based on liveness 663- pan/mdg: Respect type/mask in mir_lower_special_reads 664- pan/mdg: Fix indirect UBO swizzles 665- pan/decode: Fix MSAA texture decoding 666- pan/decode: Identify layered MSAA flag 667- pan/mdg: Allow ignoring move mode 668- pan/mdg: Handle GLSL_SAMPLER_DIM_MS 669- pan/mdg: Handle nir_tex_src_ms_index 670- pan/mdg: Handle nir_texop_txf_ms 671- pan/mdg: Use _VTX tag for texelFetch in frag shaders 672- panfrost: Set depth to sample_count for MSAA 2D 673- panfrost: Identify layer_stride 674- panfrost: Allocate space for multisampling 675- panfrost: Index texture by sample 676- panfrost: Include pointer for each sample 677- panfrost: Set layer_stride for multisampled rendering 678- panfrost: Don't advertise MSAA 2x 679- panfrost: Identify coverage_mask 680- panfrost: Pass sample_mask to the hardware 681- panfrost: Implement alpha-to-coverage 682- panfrost: Identify depth/stencil layer strides 683- panfrost: Set depth/stencil_layer_stride accordingly 684- panfrost: Enable MSAA if we render to such a surface 685- panfrost: Save sample_mask before blitting 686- panfrost: Expose MSAA 4x 687- glsl: Handle 16-bit types in loop analysis 688- docs/features: Track Panfrost 689- panfrost: Introduce pan_pool struct 690- panfrost: Allocate pool BOs against the pool 691- panfrost: Track the device through the pool 692- panfrost: Expose pool-based allocation API 693- panfrost: Move debug flags into the device 694- panfrost: Drop Gallium-local pan_bo_create wrapper 695- panfrost: Move pool routines to common code 696- panfrost: Factor out scoreboarding state 697- panfrost: Pass polygon_list to tiler init function 698- panfrost: Drop batch from scoreboard routines 699- panfrost: Move scoreboarding routines to common 700- panfrost: Handle PIPE_FORMAT_X24S8_UINT 701- panfrost: Handle PIPE_FORMAT_S8_UINT 702- panfrost: Move panfrost_translate_texture_type 703- panfrost: Report blend shader work count 704- panfrost: Clamp pure int pixels 705- panfrost: Generate shader variants on framebuffer bind 706- panfrost: Always use SOFTWARE for pure formats 707- panfrost: Extend fetched framebuffer results 708- panfrost: Fix fence leak 709- panfrost: Fix write to free'd memory 710- panfrost: Add a sparse array to map GEM handles to BOs 711- panfrost: Index BOs from the BO map sparse array 712- panfrost: Merge PAN_BO_IMPORTED/PAN_BO_EXPORTED 713- panfrost: Remove PAN_BO_COHERENT_LOCAL 714- panfrost: Remove PAN_BO_DONT_REUSE 715- panfrost: Remove panfrost_bo_access type 716- panfrost: Compact unused BO flag bits 717- panfrost: Add format codes for new compressed textures 718- panfrost: Pipe in compressed texture feature mask 719- panfrost: Filter compressed texture formats 720- panfrost: Map PIPE_{DXT, RGTC, BPTC} to MALI_BCn 721- docs/features: Update ASTC entries for Panfrost 722- pan/mdg: Bump compiler RT maximum 723- pan/mdg: Identify per-sample interpolation mode 724- pan/mdg: Implement gl_SampleID 725- panfrost: Force Z/S writeback 726- panfrost: Expose panfrost_get_blend_shader 727- panfrost: Add MALI_PER_SAMPLE bit 728- panfrost: Include sample count in payload estimates 729- panfrost: Identify zs_samples field 730- panfrost: Add rectangle subtraction algorithm 731- panfrost: Handle per-sample shading 732- panfrost: Set zs_samples as necessary 733- panfrost: Track surfaces drawn per-batch 734- panfrost: Extract panfrost_batch_reserve_framebuffer 735- panfrost: Use Midgard-specific reloads 736- panfrost: Call util_blitter_save_fragment_constant_buffer_slot 737- panfrost: Overhaul tilebuffer allocations 738- panfrost: Set PIPE_CAP_MIXED_COLORBUFFER_FORMATS 739- panfrost: Fix sRGB clear colour packing 740- panfrost: Implement Z32F_S8 blits 741- panfrost: Abort on unsupported blit 742- panfrost: Avoid integer underflow in rt_count_1 743- panfrost: Honour cso->compare_mode 744- panfrost: Fix faults with RASTERIZER_DISCARD 745- panfrost: Report CAPs more honestly 746- panfrost: Enable Chromium 747- panfrost: Revert "Disable frame throttling" 748- docs/features: Mark trivial missed feature 749- panfrost: Enable FP16 by default 750- panfrost: Avoid wait=true flushing all batches 751- panfrost: Remove wait parameter to flush_all_batches 752- panfrost: Skip specifying in_syncs 753- panfrost: Allocate syncobjs in panfrost_flush 754- panfrost: Remove unused batch_fence->signaled 755- panfrost: Remove unused batch_fence->ctx 756- pan/bit: Update f32->f16 convert test 757- pan/bit: Remove BI_SHIFT stub 758- pan/mdg: Mask spills from texture write 759- pan/mdg: Test for SSA before chasing addresses 760- docs/features: Add GL_EXT_multisampled_render_to_texture 761- panfrost: Add MSAA mode selection field 762- panfrost: Implement EXT_multisampled_render_to_texture 763- panfrost: Set STRIDE_4BYTE_ALIGNED_ONLY 764- panfrost: Fix WRITES_GLOBAL bit 765- pan/mdg: Ensure barrier op is set on texture 766- panfrost: Fix blend leak for render targets 5-8 767- panfrost: Free cloned NIR shader 768- panfrost: Free NIR of blit shaders 769- panfrost: Free hash_to_temp map 770- pan/mdg: Free previous liveness 771- panfrost: Use memctx for sysvals 772- panfrost: Free batch->dependencies 773- pan/mdg: Fix discard encoding 774- pan/mdg: Fix perspective combination 775- pan/bit: Set d3d=true for CMP tests 776 777Andreas Baierl (1): 778 779- nir/ lower_int_to_float: Handle umax and umin 780 781Andres Gomez (10): 782 783- .mailmap: add an alias for Iago Toral Quiroga 784- .mailmap: add an alias for Andres Gomez 785- gitlab-ci: update tracie README after changes in main script 786- scripts: remove unittest.mock dependency when not used 787- gitlab-ci: create always the "results" directory with tracie 788- gitlab-ci: correct tracie behavior with replay errors 789- gitlab-ci: build gfxreconstruct from the "dev" branch 790- gitlab-ci: get the last frame from a gfxr trace using gfxrecon-info 791- gitlab-ci/traces: updated paths and checksums for POLARIS10 traces 792- gitlab-ci: Test AMD's Raven with traces 793 794Andrey Vostrikov (1): 795 796- egl/x11: Free memory allocated for reply structures on error 797 798Andrii Simiklit (3): 799 800- glsl_type: don't serialize padding bytes from glsl_struct_field 801- i965/vec4: Ignore swizzle of VGRF for use by var_range_end() 802- glsl: fix crash on glsl macro redefinition 803 804Ani (1): 805 806- drirc: Enable glthread for rpcs3 807 808Anuj Phogat (6): 809 810- intel/devinfo: Add is_dg1 to device info 811- intel/l3: Add DG1 L3 configuration 812- intel/ehl: Use GEN11_URB_MIN_MAX_ENTRIES in device info 813- intel/ehl: Use macro GEN11_LP_FEATURES in device info 814- intel/ehl: Rename gen_device_info struct 815- intel/ehl: Add new PCI-IDs 816 817Arcady Goldmints-Orlov (4): 818 819- anv: increase minUniformBufferOffsetAlignment to 64 820- intel/compiler: fix alignment assert in nir_emit_intrinsic 821- nir/spirv/glsl450: increase asin(x) precision 822- intel/compiler: Always apply sample mask on Vulkan. 823 824Axel Davy (19): 825 826- st/nine: Set correctly blend max_rt 827- gallium/util: Fix leak in the live shader cache 828- ttn: Add new allow_disk_cache parameter 829- ttn: Implement disk cache 830- st/nine: Enable ttn cache 831- radeonsi: Enable tgsi to nir disk cache 832- st/nine: Add checks for pure device 833- st/nine: Return error when setting invalid depth buffer 834- st/nine: Do not return invalidcall on getrenderstate 835- st/nine: Pass more adapter formats for CheckDepthStencilMatch 836- st/nine: Improve return error code in CheckDeviceFormat 837- st/nine: Fix uninitialized variable in BEM() 838- st/nine: Fix a crash if the state is not initialized 839- st/nine: Add missing NULL checks 840- st/nine: Increase available GPU memory 841- st/nine: Retry allocations after freeing some space 842- st/nine: Improve pDestRect handling 843- st/nine: Ignore pDirtyRegion 844- st/nine: Handle full pSourceRect better 845 846Bas Nieuwenhuizen (80): 847 848- radv: Fix implicit sync with recent allocation changes. 849- radv: Extend tiling flags to 64-bit. 850- radv: Provide a better error for permission issues with priorities. 851- radv: Support VK_PIPELINE_COMPILE_REQUIRED_EXT. 852- radv: Support VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT. 853- radv: Support VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT. 854- radv: Expose VK_EXT_pipeline_creation_cache_control. 855- radv/winsys: Finish mapping for sparse residency. 856- radv/winsys: Remove extra sizeof multiply. 857- radv: Handle failing to create .cache dir. 858- radv: Remove dead code. 859- radv: Do not close fd -1 when NULL-winsys creation fails. 860- radv: Implement vkGetSwapchainGrallocUsage2ANDROID. 861- frontend/dri: Implement mapping individual planes. 862- util/format: Add VK_FORMAT_D16_UNORM_S8_UINT. 863- util/format: Use correct pipe format for VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM. 864- util/format: Add more multi-planar formats. 865- gallium/dri: Remove lowered_yuv tracking for plane mapping. 866- radeonsi: Explicitly map Z16_UNORM_S8_UINT to None for GFX10. 867- amd/common,radeonsi: Move gfx10_format_table to common. 868- radeonsi: Define gfx10_format in the common header. 869- radv: Include gfx10_format_table.h only from a single source file. 870- radv: Use common gfx10_format_table.h 871- radv: Use ac_surface to determine fmask enable. 872- radv: Pass no_metadata_planes info in to ac_surface. 873- radv: Enforce the contiguous memory for DCC layers in ac_surface. 874- radv: Rely on ac_surface for avoiding cmask for linear images. 875- radv: Use offsets in surface struct. 876- radv: Disable DCC in ac_surface. 877- radv: Disable HTILE in ac_surface. 878- radv: Allocate values/predicates at the end of the image. 879- amd/common: Add total alignment calculation. 880- radv: Use ac_surface to allocate aux surfaces. 881- vulkan/wsi/x11: Ensure we create at least minImageCount images. 882- radv/winsys: Deal with realloc failures in BO lists. 883- radv: Handle mmap failures. 884- radv/winsys: Distinguish device/host memory errors. 885- radv: Make radv_alloc_shader_memory static. 886- turnip: semaphore support. 887- meson: Do not require shader cache for radv. 888- amd/addrlib: fix another C++ one definition rule violation 889- radv: Set handle types in Android semaphore/fence import. 890- radv: Always enable PERFECT_ZPASS_COUNTS. 891- Revert "radv: add support for MRTs compaction to avoid holes" 892- radv: Use correct semaphore handle type for Android import. 893- amd/llvm: Mark pointer function arguments as 32-byte aligned. 894- amd/common: Cache intra-tile addresses for retile map. 895- amd/addrlib: Clean up unused colorFlags argument 896- amd/registers: add RLC_PERFMON_CLK_CNTL for pre-GFX10 897- radeonsi: Inhibit clock-gating for perf counters. 898- meson: Add mising git_sha1.h dependency. 899- amd: Add detection of timeline semaphore support. 900- radv/winsys: Add binary syncobj ABI changes for timeline semaphores. 901- radv: Add thread for timeline syncobj submission. 902- radv: Add winsys support for submitting timeline syncobj. 903- radv: Add winsys functions for timeline syncobj. 904- radv: Add timeline syncobj for timeline semaphores. 905- radv: Fix uninitialized variable in renderpass. 906- vulkan/wsi/x11: report device-group present rectangles with prime. 907- vulkan/wsi: Convert usage of -1 to UINT32_MAX. 908- radv: Fix host->host signalling with legacy timeline semaphores. 909- mesa/st: Actually free the driver part of memory objects on destruction. 910- radv: Don't use both DCC and CMASK for single sample images. 911- radv: Fix assert that is too strict. 912- radv: Do not consider layouts fast-clearable on compute queue. 913- radv: When importing an image, redo the layout based on the metadata. 914- radv: Use getter instead of setter to extract value. 915- driconf: Support selection by Vulkan applicationName. 916- radv: Override the uniform buffer offset alignment for World War Z. 917- radv: Fix handling of attribs 16-31. 918- radv: Remove conformance warnings with ACO. 919- radv: Update CTS version. 920- radv: Fix 3d blits. 921- radv: Fix threading issue with submission refcounts. 922- radv: Avoid deadlock on bo_list. 923- spirv: Deal with glslang not setting NonUniform on constructors. 924- radeonsi: Work around Wasteland 2 bug. 925- spirv: Deal with glslang bug not setting the decoration for stores. 926- ac/surface: Fix depth import on GFX6-GFX8. 927- st/mesa: Deal with empty textures/buffers in semaphore wait/signal. 928 929Ben Skeggs (38): 930 931- nir: use bitfield_insert instead of bfi in nir_lower_double_ops 932- nvir: bump max encoding size of instructions 933- nvir: introduce OP_LOP3_LUT 934- nvir: introduce OP_WARPSYNC 935- nvir: introduce OP_BREV with lowering to EXTBF_REV for current GPUs 936- nvir: introduce OP_SHF 937- nvir: introduce OP_BMSK 938- nvir: introduce OP_SGXT 939- nvir: introduce OP_FINAL 940- nvir: add constant folding for OP_PERMT 941- nvir: run replaceZero() before replaceCvt() 942- nvir/nir: fix fragment program output when using MRT 943- nvir/nir: move nir options to codegen 944- nvir/nir: flesh out options 945- nvir/nir: turn on lower_rotate 946- nvir/nir: implement nir_op_extract_u8 947- nvir/nir: implement nir_op_extract_i8 948- nvir/nir: implement nir_op_extract_u16 949- nvir/nir: implement nir_op_extract_i16 950- nvir/nir: implement nir_op_urol 951- nvir/nir: implement nir_op_uror 952- nvir/nir: nir expects the shift amount to wrap, rather than clamp 953- nvir/nir: use nir_lower_idiv 954- nvir/gm107: implement OP_PERMT 955- nvir/gm107: replace SHR+AND+AND with PRMT+PRMT in PFETCH lowering 956- nvir/gm107: separate out header for sched data calculator 957- nvir/nir/gm107: split nir shader compiler options from gf100 958- nvir/nir/gm107: turn on nir_lower_extract64 959- nvir/nir/gm107: switch off lower_extract_byte 960- nvir/nir/gm107: switch off lower_extract_word 961- nvir/gv100: initial support 962- nvir/gv100: enable support for tu1xx 963- nvc0: use NVIDIA headers for GK104->GM2xx compute QMD 964- nvc0: use NVIDIA headers for GP100- compute QMD 965- nvc0: move setting of entrypoint for a shader stage to a function 966- nvc0: remove hardcoded blitter vertprog 967- nvc0: initial support for gv100 968- nvc0: initial support for tu1xx 969 970Benjamin Cheng (1): 971 972- drirc: Add picom to adaptive_sync exclusion list 973 974Benjamin Tissoires (3): 975 976- CI: reduce bandwidth for git pull 977- gitlab-ci: update ci-fairy minio to latest upstream 978- gitlab-ci: do not run full CI on scheduled pipelines 979 980Blaž Tomažič (1): 981 982- radeonsi: Fix omitted flush when moving suballocated texture 983 984Boris Brezillon (14): 985 986- spirv: Split the vtn_emit_scoped_memory_barrier() logic 987- nir: Replace the scoped_memory barrier by a scoped_barrier 988- intel/compiler: Extract control barriers from scoped barriers 989- spirv: Use scoped barriers for SpvOpControlBarrier 990- nir: Add new rules to optimize NOOP pack/unpack pairs 991- nir: Use a switch in build_deref_offset()/deref_instr_get_const_offset() 992- nir: Allow casts in nir_deref_instr_get[_const]_offset() 993- freedreno: Initialize lower_int64_options to a proper value 994- nir: Stop passing an options arg to nir_lower_int64() 995- nir: Extend nir_lower_int64() to support i2f/f2i lowering 996- intel: Set int64_options to ~0 when lowering 64b ops 997- nir: Get rid of __[u]int64_to_fp32() and __fp32_to_[u]int64() 998- nir: Fix i64tof32 lowering 999- spirv: Add a vtn_get_mem_operands() helper 1000 1001Boyuan Zhang (2): 1002 1003- radeon/vcn/enc: Re-write PPS encoding for HEVC 1004- radeon/vcn: bump vcn3.0 encode major version to 1 1005 1006Brian Ho (14): 1007 1008- turnip: Execute ir3_nir_lower_gs pass again 1009- turnip: Fill out VkPhysicalDeviceSubgroupProperties 1010- nir: Support sysval tess levels in SPIR-V to NIR 1011- nir: Add an option for lowering TessLevelInner/Outer to vecs 1012- turnip: Lower shaders for tessellation 1013- turnip: Offset by component when lowering gl_TessLevel* 1014- turnip: Parse tess state and support PATCH primtype 1015- turnip: Allocate tess BOs as a function of draw size 1016- turnip: Update VFD_CONTROL with tess system values 1017- turnip: Emit HS/DS user consts as draw states 1018- turnip: Support tess for draws 1019- turnip: Force sysmem for tessellation 1020- ir3: Unconditionally enable MERGEDREGS on a6xx 1021- turnip: Enable tessellationShader physical device feature 1022 1023Caio Marcelo de Oliveira Filho (32): 1024 1025- intel/dev: Bail when INTEL_DEVID_OVERRIDE is not valid 1026- intel/fs: Clean up variable group size handling in backend 1027- intel/fs: Add an option to lower variable group size in backend 1028- intel/fs: Add and use a new load_simd_width_intel intrinsic 1029- intel: Let drivers call brw_nir_lower_cs_intrinsics() 1030- iris: Implement ARB_compute_variable_group_size 1031- util/list: Add list_foreach_entry_from_safe 1032- nir: Use deref intrinsics to set writes_memory when gathering info 1033- intel/fs: Use writes_memory from shader_info 1034- nir: Consider atomic counter intrinsics when setting writes_memory 1035- intel/fs: Remove unused emission of load_simd_with_intel 1036- intel/fs: Remove unused state from brw_nir_lower_cs_intrinsics 1037- intel/fs: Early return when can't satisfy explicit group size 1038- intel/fs: Remove redundant assert() 1039- intel/fs: Remove min_dispatch_width spilling decision from RA 1040- intel/fs: Support INTEL_DEBUG=no8,no32 in compute shaders 1041- intel/fs: Add helper to get prog_offset and simd_size 1042- i965: Use new helper functions to pick SIMD variant for CS 1043- iris: Set CS KernelStatePointer at dispatch 1044- iris: Use new helper functions to pick SIMD variant for CS 1045- anv: Use new helper functions to pick SIMD variant for CS 1046- intel/fs: Generate multiple CS SIMD variants for variable group size 1047- iris, i965: Drop max_variable_local_size 1048- iris, i965: Update limits for ARB_compute_variable_group_size 1049- intel: Add helper to calculate GPGPU_WALKER::RightExecutionMask 1050- nir: Fix printing execution scope of a scoped barrier 1051- spirv: Memory semantics is optional for OpControlBarrier 1052- intel/fs: Add Fall-through comment 1053- nir: Fix logic that ends combine barrier sequence 1054- spirv: Handle most execution modes earlier 1055- nir: Filter modes of scoped memory barrier in nir_opt_load_store_vectorize 1056- spirv: Propagate explicit layout only in types that need it 1057 1058Charmaine Lee (1): 1059 1060- llvmpipe: do not enable tessellation shader without llvm coroutines support 1061 1062Chris Forbes (12): 1063 1064- bifrost: Set RTZ rounding mode for f2i conversion 1065- bifrost: Lower x->bool conversions to != 0 1066- bifrost: Emit "d3d" variant of comparison instructions 1067- bifrost: Document d3d/gl comparison control bit 1068- bifrost: Add lowering for b2i32 1069- bifrost: Add support for nir_op_inot 1070- bifrost: Add support for nir_op_ishl 1071- bifrost: Add support for nir_op_uge 1072- bifrost: Add support for nir_op_imul 1073- bifrost: Add support for nir_op_iabs 1074- bifrost: Honor src swizzle in special math ops 1075- bifrost: Fix packing of ADD_FEXP2_FAST 1076 1077Chris Wilson (6): 1078 1079- iris: Place a seqno at the end of every batch 1080- iris: Convert fences to using lightweight seqno 1081- iris: Store a seqno for each batch in the fence 1082- iris: Initialise stub iris_seqno to 0 1083- iris: Rename iris_seqno to iris_fine_fence 1084- iris: Fixup copy'n'paste mistake in Makefile.sources 1085 1086Christian Gmeiner (31): 1087 1088- etnaviv: fix SAMP_ANISOTROPY register value 1089- etnaviv: do not use int filter when anisotropic filtering is used 1090- ci: bare-metal: make it possible to use a script for serial 1091- ci: extend expect-output.sh 1092- ci: add U-Boot specific fetch strings 1093- etnaviv: drop translate_blend(..) 1094- ci: add arm_test-base docker image 1095- ci: use separate docker images for baremetal builds 1096- ci: fix possible spuriously run of jobs 1097- etnaviv: delete not used struct 1098- etnaviv: convert enums 1099- etnaviv: move etna_lower_io(..) to etnaviv_nir.c 1100- etnaviv: get rid of etna_compile dependency 1101- etnaviv: move etna_lower_alu(..) to etnaviv_nir.c 1102- etnaviv: drop OPT_V define 1103- etnaviv: make more use of compile_error(..) 1104- etnaviv: move liveness related stuff into own file 1105- etnaviv: merge struct etna_compile and etna_state 1106- etnaviv: drop emit macro 1107- etnaviv: move functions that generate asm to own file 1108- etnaviv: move nir compiler related stuff into .c file 1109- etnaviv: move ra into own file 1110- etnaviv: replace prims-emitted query 1111- ci: bare-metal: use nginx to get results from DUT 1112- etnaviv: explicitly set nir_variable_mode 1113- etnaviv: introduce struct etna_compiler 1114- etnaviv: move shader_count to etna_compiler 1115- etnaviv: do register setup only once 1116- etnaviv: fix nir validation problem 1117- etnaviv: call nir_lower_bool_to_bitsize 1118- etnaviv: completely turn off MSAA 1119 1120Christopher Egert (2): 1121 1122- radv: use util_float_to_half_rtz 1123- r600: Use TRUNC_COORD on samplers 1124 1125Clément Guérin (1): 1126 1127- radv: Always expose non-visible local memory type on dedicated GPUs 1128 1129Con Kolivas (1): 1130 1131- Linux: Change minimum priority threads from SCHED_IDLE to nice 19 SCHED_BATCH. 1132 1133Connor Abbott (88): 1134 1135- tu: Support pipelines without a fragment shader 1136- tu: Add a "scratch bo" allocation mechanism 1137- tu: Add noubwc debug flag to disable UBWC 1138- tu: Implement fallback linear staging blit for CopyImage 1139- freedreno/a6xx: Document dual-src blending enable bits 1140- ir3: Fixup dual-source blending slot 1141- tu: Move RENDER_COMPONENTS setting to pipeline state 1142- tu: Implement dual-src blending 1143- tu: Advertise COLOR_ATTACHMENT_BLEND_BIT for blendable formats 1144- tu: Always initialize image_view fields for blit sources 1145- tu: Fall back to 3d blit path for BC1_RGB_* formats 1146- tu: Fix buffer compressed pitch calculation with unaligned sizes 1147- tu: Support VK_FORMAT_FEATURE_BLIT_SRC_BIT for texture-only formats 1148- tu: Fix IBO descriptor for cubes 1149- tu: Respect VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT 1150- tu: Add missing storage image/texel buffer bits 1151- tu: Remove useless post-binning flushes 1152- tu: Don't actually track seqno's for events 1153- tu: Remove useless event_write helpers 1154- tu: Rewrite flushing to use barriers 1155- tu: Fix context faults loading unused descriptor sets 1156- ir3: Pass reserved_user_consts to ir3_shader_from_nir() 1157- tu: Remove num_samp hack 1158- tu: Use the ir3 shader API 1159- tu: Remove tu_shader_compile_options 1160- tu: Set num_components to 0 when building bindless intrinsics 1161- ir3: Don't calculate num_samp ourselves 1162- tu: Actually remove dead variables after io lowering 1163- ir3: Split out variant-specific lowering and optimizations 1164- ir3, freedreno: Round up constlen earlier 1165- ir3: Include ir3_compiler from ir3_shader 1166- ir3: Support variants with different constlen's 1167- ir3: Add ir3_trim_constlen() 1168- tu: Share constlen between different stages properly 1169- freedreno: Refactor ir3_cache shader compilation 1170- freedreno: Share constlen between different stages properly 1171- freedreno: On a5xx+ INDX_SIZE is MAX_INDICES 1172- freedreno/registers: Label firstIndex field in CP_DRAW_INDX_OFFSET 1173- tu: Pass firstIndex directly to CP_DRAW_INDX_OFFSET 1174- freedreno/a6xx: use firstIndex field 1175- nir: Refactor load/store intrinsic helper 1176- nir: add vec2_index_32bit_offset address format 1177- tu: Rewrite variable lowering 1178- tu: Enable KHR_variable_pointers 1179- ir3: Add layer_zero variant bit 1180- tu: Force gl_Layer to 0 when necessary 1181- freedreno/a6xx: Force gl_Layer to 0 when necessary 1182- freedreno: Include adreno_pm4.xml.h before adreno_a6xx.xml.h 1183- freedreno: Sync registers with envytools 1184- freedreno/a6xx: Rename and document HLSQ_UPDATE_CNTL 1185- freedreno/a6xx: Add some documentation for shared consts 1186- tu: Don't invalidate irrelevant state when changing pipeline 1187- freedreno/a6xx: Add stencilref register info 1188- ir3: Handle gl_FragStencilRefARB 1189- tu: Enable VK_EXT_shader_stencil_export 1190- freedreno: Add a helper for computing guardband sizes 1191- tu: Use common guardband helper 1192- freedreno: Use common guardband helper 1193- freedreno/ir3: Fix SSBO size for bindless SSBO's 1194- tu: Enable VK_EXT_depth_clip_enable 1195- freedreno: Clean up CP_DRAW_MULTI_INDIRECT definition 1196- freedreno: Add INDIRECT_COUNT CP_DRAW_INDIRECT_MULTI variants 1197- tu: Integrate WFI/WAIT_FOR_ME/WAIT_MEM_WRITES with cache tracking 1198- tu: Add missing wfi to tu6_emit_hw() 1199- tu: Implement VK_KHR_draw_indirect_count 1200- tu: Fix empty blit scissor case 1201- tu: Fix hangs for DS with no output 1202- tu: Detect invalid-for-binning renderpass dependencies 1203- tu: Enable vertex & fragment stores & atomics 1204- tu: Fix descriptor update templates with input attachments 1205- ir3: Validate bindless samp_tex correctly 1206- ir3: Remove redundant samp_tex validation 1207- ir3: Fix incorrect src flags for samp_tex 1208- tu: Enable resource dynamic indexing 1209- freedreno/rnn: Return success when parsing addvariant 1210- tu: Dump CP_DRAW_INDIRECT_MULTI draw BO's 1211- freedreno/rnn: Support stripes in rnndec_decodereg 1212- freedreno/cffdec: Handle CP_DRAW_INDIRECT_MULTI like other draws 1213- freedreno: Add trace for CP_DRAW_INDIRECT_MULTI 1214- freedreno/a6xx: Fix CP_BIN_SIZE_ADDRESS name 1215- freedreno/rnn: Make rnn_decode_enum() respect variants 1216- freedreno/cffdec: Stop open-coding enum parsing 1217- freedreno/afuc: Add missing rnn_prepdb() 1218- freedreno/afuc: Fix PM4 enum parsing 1219- tu: Fix DST_INCOHERENT_FLUSH copy/paste error 1220- freedreno: Document draw predication packets 1221- tu: Reset has_tess after renderpass 1222- tu: Implement VK_EXT_conditional_rendering 1223 1224D Scott Phillips (4): 1225 1226- intel/fs: Update location of Render Target Array Index for gen12 1227- anv,iris: Fix input vertex max for tcs on gen12 1228- intel/dump_gpu: Fix name of LD_PRELOAD in env append logic 1229- anv/gen11+: Disable object level preemption 1230 1231Daniel Schürmann (54): 1232 1233- aco: either copy-propagate or inline create_vector operands 1234- aco: coalesce parallelcopies during register allocation 1235- nir: add nir_intrinsic_elect to divergence analysis 1236- nir: refactor divergence analysis state 1237- nir: rework phi handling in divergence analysis 1238- nir: simplify phi handling in divergence analysis 1239- nir: reset ssa-defs as non-divergent during divergence analysis instead of upfront 1240- aco: fix WQM coalescing 1241- aco: restrict copying of create_vector operands to GFX9+ 1242- aco: don't move create_vector subdword operands to unsupported register offsets 1243- aco: fix corner case in register allocation 1244- aco: don't allow unaligned subdword accesses on GFX6/7 1245- aco: fix register assignment for p_create_vector on GFX6/7 1246- aco: simplify statistics collection for copies 1247- aco: use full-register instructions to implement subdword packing on GFX6/7 1248- aco: Workarounds subdword lowering on GFX6/7 1249- aco: adjust GFX6 subdword lowering workarounds for 8bit 1250- aco: add and use scratch SGPR to lower subdword p_create_vector on GFX6/7 1251- aco: coalesce copies more aggressively when lowering to hw 1252- aco: skip partial copies on first iteration when lowering to hw 1253- aco: optimize packing of 16bit subdword registers on GFX6/7 1254- aco: remove unnecessary split- and create_vector instructions for subdword loads 1255- aco: fix shared subdword loads 1256- aco: reorder calls to aco_validate() and cleanup aco_compile_shader() 1257- aco: don't allow SGPRs on logical phis 1258- aco: fix WQM handling in nested loops 1259- radv/aco: implement logic64 instead of lowering 1260- aco: align swap operations to 4 bytes on GFX6/7 1261- aco: don't allow partial copies on GFX6/7 1262- radv: introduce RADV_DEBUG=llvm option 1263- radv: change use_aco -> use_llvm 1264- radv: enable ACO by default 1265- aco: fix partial copies on GFX6/7 1266- aco: remove superflous (bool & exec) if the result comes from VOPC 1267- nir: also move vecN in case of nir_move_copies 1268- nir: refactor nir_can_move_instr 1269- nir/algebraic: optimize bcsel(a, 0, 1) to b2i 1270- nir: also move b2i in case of nir_move_copies 1271- nir/algebraic: optimize iand/ior of (n)eq zero 1272- nir/algebraic: add optimizations for fsign/isign 1273- nir/algebraic: add some more unop + bcsel optimizations 1274- nir/algebraic: optimize fmul(x, bcsel(c, -1.0, 1.0)) -> bcsel(c, -x, x) 1275- nir/algebraic: optimize (a < 0.0) ? -a : a -> fabs(a) 1276- nir/algebraic: add distributive rules for ior/iand 1277- nir/algebraic: propagate b2i out of ior/iand 1278- nir/algebraic: fold some nested bcsel 1279- aco: fix scratch loads which cross element_size boundaries 1280- aco: ensure to not extract more components than have been fetched 1281- aco: don't split store data if it was already split into more elements 1282- aco: prevent infinite recursion in RA for subdword variables 1283- aco: ensure readfirstlane subdword operands are always dword aligned 1284- radv: call radv_nir_lower_ycbcr_textures after first optimizations 1285- aco: add GFX6/7 subdword lowering tests 1286- aco: execute branch instructions in WQM if necessary 1287 1288Daniel Stone (13): 1289 1290- CI: Disable Panfrost T7x0 jobs 1291- CI: Re-enable Panfrost T7x0 jobs 1292- llvmpipe: Expect increased exp precision on Windows 1293- CI: Windows: Build LLVM and llvmpipe 1294- CI: Disable Panfrost T720/T760 1295- Revert "CI: Disable Panfrost T720/T760" 1296- CI: Enable assertions on Windows 1297- CI: Try shared libraries on Windows 1298- CI: Correct build-directory path on Windows, and keep it 1299- CI: Re-enable the Windows VS2019 build job 1300- CI: Temporarily disable Panfrost T860 jobs 1301- CI: Re-enable Panfrost T860 jobs 1302- CI: Disable Windows build due to unstable infrastructure 1303 1304Danylo Piliaiev (25): 1305 1306- glsl: rename has_implicit_uint_to_int_conversion to *_int_to_uint_* 1307- i965: Fix out-of-bounds access to brw_stage_state::surf_offset 1308- anv: Translate relative timeout to absolute when calling anv_timelines_wait 1309- anv: Fix deadlock in anv_timelines_wait 1310- meson: Disable GCC's dead store elimination for memory zeroing custom new 1311- mesa: Fix double-lock of Shared->FrameBuffers and usage of wrong mutex 1312- st/mesa: Clear texture's views when texture is removed from Shared->TexObjects 1313- intel/fs: Work around dual-source blending hangs in combination with SIMD16 1314- glsl: Don't replace lrp pattern with lrp if arguments are not floats 1315- glsl: inline functions with unsupported return type before converting to nir 1316- i965: Work around incorrect usage of glDrawRangeElements in UE4 1317- st/mesa: account for "loose", per-mipmap level textures in CopyImageSubData 1318- iris: Honor scanout requirement from DRI 1319- iris: Fix fast-clearing of depth via glClearTex(Sub)Image 1320- nir/opt_if: Fix opt_if_simplification when else branch has jump 1321- nir/tests: Add tests for opt_if_simplification 1322- st/mesa: Treat vertex outputs absent in outputMapping as zero in mesa_to_tgsi 1323- anv/nir: Unify inputs_read/outputs_written between geometry stages 1324- spirv: Only require bare types to match when copying variables 1325- glsl: Eliminate out-of-bounds triop_vector_insert 1326- intel/compiler: Fix pointer arithmetic when reading shader assembly 1327- glsl: Eliminate assigments to out-of-bounds elements of vector 1328- nir/lower_io: Eliminate oob writes and return zero for oob reads 1329- nir/large_constants: Eliminate out-of-bounds writes to large constants 1330- nir/lower_samplers: Clamp out-of-bounds access to array of samplers 1331 1332Daryl W. Grunau (1): 1333 1334- prevent multiply defined symbols 1335 1336Dave Airlie (199): 1337 1338- i965: add support for gen 5 pipelined pointers to dump 1339- i965: disable shadow batches when batch debugging. 1340- draw/tess: free tessellation control shader i/o memory. 1341- llvmpipo/nir: free compute shader NIR 1342- llvmpipe: simple texture barrier implementation. 1343- gallivm/sample: add multisample support for texel fetch 1344- gallivm/sample: add multisample image operation support 1345- gallivm/nir/tgsi: add multisample texture sampling. 1346- gallivm/nir: add multisample support to image size 1347- gallivm/nir: add multisample image operations 1348- draw: introduce sampler num samples + stride members 1349- draw: add support for num_samples + sample_stride to the image paths 1350- llvmpipe: add num_samples/sample_stride support to jit textures 1351- llvmpipe: add samples support to image jit 1352- util: add a resource wrapper to get resource samples 1353- llvmpipe: add multisample support to texture allocator. 1354- llvmpipe: add a max samples define set to 4. 1355- gallium/util: split out zstencil clearing code. 1356- llvmpipe: fix race between draw and setting fragment shader. 1357- llvmpipe: add get_sample_position support (v2) 1358- llvmpipe/jit: pass fragment sample mask via jit context. 1359- llvmpipe: pass incoming sample_mask into fragment shader context. 1360- llvmpipe: add internal multisample texture mapping path. 1361- llvmpipe: add multisample resource copy region support. 1362- llvmpipe: add clear texture support for multisample textures. 1363- llvmpipe: handle multisample render target clears 1364- draw: disable point/line smoothing for multisample (v2) 1365- llvmpipe: pass color and depth sample strides into fragment shader. 1366- llvmpipe: record sample info for color/depth buffers in scene 1367- llvmpipe/rast: fix tile clearing for multisample color and depth tiles 1368- llvmpipe: plumb multisample state bit into setup code. 1369- llvmpipe: add multisample bit to fragment shader key. 1370- llvmpipe: change mask input to fragment shader to 64-bit. 1371- llvmpipe: add cbuf/zsbuf + coverage samples to the fragment shader key. 1372- gallivm: add sample id/pos intrinsic support 1373- gallivm: add mask api to force mask 1374- nir/tgsi: translate the interp location 1375- llvmpipe: pass interp location into interpolation code. 1376- llvmpipe: add centroid interpolation support. 1377- llvmpipe: add per-sample interpolation. 1378- llvmpipe: move getting mask value out of depth code. (v2) 1379- llvmpipe: add per-sample depth/stencil test 1380- llvmpipe: move some fs code around 1381- llvmpipe: multisample sample mask + early/late depth pass 1382- llvmpipe: handle multisample early depth test/late depth write 1383- llvmpipe: interpolate Z at sample points for early depth test. 1384- llvmpipe: handle multisample color stores. 1385- llvmpipe: hook up sample position system value 1386- llvmpipe: add multisample alpha to coverage support. 1387- llvmpipe: add multisample alpha to one support 1388- llvmpipe: handle gl_SampleMask writing. 1389- llvmpipe: don't allow branch to end for early Z with multisample 1390- llvmpipe: pass mask store into interp for centroid interpolation 1391- llvmpipe: move color storing earlier in frag shader 1392- llvmpipe: fix multisample occlusion queries. 1393- llvmpipe: disable opaque variant for multisample 1394- llvmpipe: add new rast api to pass full 64-bit mask. 1395- llvmpipe: add fixed point sample positions to scene. 1396- llvmpipe: build 64-bit coverage mask in rasterizer 1397- llvmpipe: fixup multisample coverage masks for covered tiles 1398- llvmpipe: generate multisample triangle rasterizer functions (v2) 1399- llvmpipe: choose multisample rasterizer functions per triangle (v2) 1400- llvmpipe: choose correct position for multisample 1401- llvmpipe: don't choose pixel centers for multisample 1402- drisw: add multisample support to sw dri layer. 1403- llvmpipe: enable 4x sample MSAA + texture multisample 1404- gallivm/sample: add num samples query for txqs (v2) 1405- gallivm/nir: hooks up texture samples queries 1406- llvmpipe: enable GL_ARB_shader_texture_image_samples 1407- llvmpipe: add min samples support to the fragment shader. 1408- llvmpipe: enable ARB_sample_shading 1409- llvmpipe: make sample position a global array. 1410- zink: enable conditional rendering if available 1411- r600: enable TEXCOORD semantic for TGSI. 1412- r600/sfn: plumb the chip class into the instruction emission 1413- r600/sfn: fix cayman float instruction emission. 1414- r600/sfn: cayman fix int trans op2 1415- r600/sfn: add callstack non-evergreen support 1416- r600/sfn: add emit if start cayman support 1417- llvmpipe: don't use sample mask with 0 samples 1418- llvmpipe: use per-sample position not sample id for interp 1419- llvmpipe/interp: fix interpolating frag pos for sample shading 1420- llvmpipe: remove non-simple interpolation paths. 1421- gallivm/nir: add an interpolation interface. 1422- llvmpipe/interp: refactor out use of pixel center offset 1423- llvmpipe/interp: refactor out centroid calculations 1424- llvmpipe: add interp instruction support 1425- llvmpipe/fs: hook up the interpolation APIs. 1426- gallivm/nir: add sample_mask_in support 1427- llvmpipe: add gl_SampleMaskIn support. 1428- r600/sfn: fix nop channel assignment. 1429- llvmpipe: compute shaders work better with all the threads. 1430- llvmpipe: move coroutines out of noopt case 1431- ci: bump virglrenderer to latest version 1432- util/disk_cache: add fallback for disk_cache_get_function_identifier 1433- llvmpipe/cs: overhaul cs variant key state. 1434- llvmpipe/draw: drop variant number from function names. 1435- gallivm: rework coroutine malloc/free callouts. 1436- gallivm: rework debug printf hook to use global mapping. 1437- gallivm: add support for a cache object 1438- gallivm: skip operations if we have a cached object. 1439- gallivm: add cache interface to mcjit 1440- llvmpipe: add infrastructure for disk cache support 1441- gallivm: don't cache shaders that use fetch functions. 1442- llvmpipe/fs: add caching support 1443- llvmpipe/cs: add shader caching 1444- draw: add disk cache callbacks for draw shaders 1445- llvmpipe: hook draw disk cache up 1446- draw: add disk caching for draw shaders 1447- draw/gs: fix emitting inactive primitives crash 1448- draw/gs: add more info to debugging. 1449- gallivm/nir: add group barrier support 1450- llvmpipe: fix subpixel bits reporting. 1451- gallivm/format: convert unsigned values to float properly. 1452- gallivm/conv: enable conversion min code. (v2) 1453- gallivm/sample: fix texel type for stencil 8-bit 1454- llvmpipe/setup: add planes for draw regions if no scissor. 1455- gallivm/cache: don't require a null terminator for cache data. 1456- mesa/gles3: add support for GL_EXT_shader_group_vote 1457- virgl: change vendor id to reflect reality more. 1458- llvmpipe: change vendor to be more generic. 1459- softpipe: change vendor name to something more generic. 1460- gallivm/nir: fix const loading on big endian systems 1461- glsl: fix constant packing for 64-bit big endian. 1462- gallivm/nir: fix big-endian 64-bit splitting/merging. 1463- llvmpipe: fix occlusion queries on big-endian. 1464- mesa/get: fix enum16 big-endian getting. 1465- draw/llvm: fix big-endian mask adjusting 1466- draw: pass nr_samplers into llvm sample state creation. 1467- llvmpipe: pass number of samplers into llvm sampler code. 1468- gallivm/sample: change texture function generator api 1469- gallivm: add indirect texture switch statement builder. 1470- draw: add support for indirect texture access 1471- llvmpipe: add support for indirect texture access. 1472- gallivm/nir: add texture unit indexing 1473- gallivm/nir: handle non-uniform texture offsets 1474- gallivm/sample: pass indirect offset into texture/image units 1475- llvmpipe/draw: wire up indirect offset 1476- gallivm/sample: handle size unit offset 1477- llvmpipe: enable ARB_gpu_shader5 1478- draw: pass number of images to image soa create 1479- llvmpipe: pass number of images into image soa create 1480- gallivm/nir: support passing image index into image code. 1481- gallivm/nir: refactor image operations for indirect support. 1482- gallivm/img: refactor out the texel return type (v2) 1483- gallivm/nir: add support for indirect image loading 1484- draw/sample: add support for indirect images 1485- llvmpipe: handle indirect images properly 1486- ci: fixup tests after all indirect images fixes. 1487- docs: update llvmpipe GL 4.0 status 1488- draw/clip: cleanup viewport index handling code. 1489- draw/clip: fix viewport index for geometry shaders 1490- mesa/version: only enable GL4.1 with correct limits. 1491- llvmpipe: bump texture/scene limits to enable GL 4.1 1492- llvmpipe: bump to GL support to GL 4.1 1493- llvmpipe: enable GL 4.2 1494- gallivm/nir: call end prim at end on all GS streams. 1495- draw: emit so primitives before ending empty pipeline. 1496- draw/gs: fix up current verts in output fetching. 1497- gallivm/draw/gs: pass vertex stream count into shader build 1498- draw/gs: only allocate memory for streams needed. 1499- gallivm/gs_iface: pass stream into end primitive interface. 1500- gallivm/nir: don't access stream var outside bounds 1501- gallivm/nir: end primitive for all streams. 1502- draw: account primitive lengths for all streams. 1503- draw/gs: reverse the polarity of the invocation/prims execution 1504- draw: use common exit path in pipeline finish. 1505- draw: free vertex info from geometry streams. 1506- draw/gs: use mask to limit vertex emission. 1507- ci/virgl: update results after streams fixes. 1508- llvmpipe: add ARB_post_depth_coverage support. 1509- llvmpipe: denote NEW fs when images change. 1510- llvmpipe: flush resources on sampler view binding 1511- llvmpipe/cs: fix image/sampler binding for compute 1512- nouveau: avoid LTO ODR warning (v2) 1513- gallivm/sample: always square rho before fast log2 1514- llvmpipe/format: fix snorm conversion 1515- mesa: change dsa texture error codes for GL 4.6 1516- ci: bump piglit checkout for dsa tests 1517- llvmpipe: fix stencil only formats. 1518- llvmpipe: fix position offset interpolation 1519- llvmpipe/cs: respect render condition 1520- llvmpipe: add framebuffer fetching support (v1.1) 1521- ci/llvmpipe: reenable gpu shader5 tests 1522- llvmpipe: enable EXT_texture_shadow_lod 1523- llvmpipe/draw: handle constant buffer limits and robustness (v1.1) 1524- drisw: add robustness extension support. 1525- glx/drisw: add robustness support 1526- llvmpipe: add device reset query context hook. 1527- llvmpipe: enable robust buffer access + GL 4.3, GLES 3.2 and robust buffer access behaviour 1528- llvmpipe/ms: fix sign extension bug in rasterizer. 1529- Revert "llvmpipe: Use the default behavior of ALLOW_MAPPED_BUFFERS." 1530- radv: cleanup locking around timeline waiting. 1531- llvmpipe: only read 0 for channels being read 1532- llvmpipe/blit: for 32-bit unorm depth blits just copy 32-bit 1533- llvmpipe: enable GL 4.5 1534- llvmpipe/cs: update compute counters not fragment shader. 1535- llvmpipe: include gallivm perf flags in shader cache. 1536- gallivm: disable brilinear for lod bias and explicit lod. 1537 1538David McFarland (1): 1539 1540- radv: link with ld_args_build_id 1541 1542David Stevens (2): 1543 1544- nir: Add colorspace support to YUV lowering pass 1545- i965/i915: Add colorspace support to YUV sampling 1546 1547Denys (1): 1548 1549- gitlab: Ask about reproduction rate in the issue template 1550 1551Dmitriy Nester (8): 1552 1553- mesa: check draw buffer completeness on glClearBufferfv/glClearBufferuiv 1554- nir: replace fnv1a hash function with xxhash 1555- freedreno: replace fnv1a hash function with xxhash 1556- i965: replace fnv1a hash function with xxhash 1557- util/hash_table: replace fnv1a hash function with xxhash 1558- r600: replace fnv1a hash function with xxhash 1559- zink: replace fnv1a hash function with xxhash 1560- util: delete fnv1a hash function 1561 1562Duncan Hopkins (1): 1563 1564- zink. Changed sampler default name. 1565 1566Dylan Baker (41): 1567 1568- docs: Add release notes for 20.0.6 1569- docs: Add SHA256 sums for 20.0.6 1570- docs: update calendar, add news item, and link releases notes for 20.0.6 1571- docs: Add release notes for 20.0.7 1572- docs/relnotes Add sha256 sums to 20.0.7 1573- docs: update calendar, add news item, and link releases notes for 20.0.7 1574- tests: Make tests aware of meson test wrapper 1575- meson: Bump required version to 0.52.0 1576- meson: Use the check_header function 1577- meson: Use build_always_stale instead of build_always 1578- meson: Use builtins for checking gnu __attributes__ 1579- drm-shim/meson: The name of the target is a string not a list 1580- drm-shim/meson: Use portable override_options for setting C standard 1581- meson: use gnu_symbol_visibility argument 1582- meson: use 2 space not 3 space indent 1583- meson: deprecated 'true' and 'false' in combo options for 'enabled' and 'disabled' 1584- vulkan-overlay/meson: use install_data instead of configure_file 1585- docs: Add release notes for 20.0.8 1586- docs: Add sha256sums for 20.0.8 1587- docs: update calendar, add news item, and link releases notes for 20.0.8 1588- mesa/swrast: use logf2 instead of util_fast_log2 1589- VERSION: bump for 20.2.0-rc1 1590- .pick_status.json: Update to 9333a8570d2174b73da63c3ee6f1a740ae487ab8 1591- .pick_status.json: Update to 1e28745bc0d3528c1dfc25459456849feb58d407 1592- meson/freedreno: Fix lua requirement 1593- .pick_status.json: Update to fdb97d3d2914c8f887a7968432db4fdbd35d8376 1594- bump version for 20.2.0-rc2 1595- .pick_status.json: Update to 61042b1bdb199f98dd34085ed29a8c492ed9b2a3 1596- .pick_status.json: Update to 6d28270968e0728bf8bdf48a6abd261c50d9ef07 1597- .pick_status.json: Update to ca7d66e847d08914cec0a5e003b400da9c0a2695 1598- VERSION: bump for 20.2.0-rc3 1599- .pick_status.json: Update to 7fbded8b5821a47c26245b181446f972f920a96e 1600- .pick_status.json: Mark e93979ba599355c42df01a89073362b970489a3a as denominated 1601- .pick_status.json: Update to b9927c8c8d0c105699306a68773c015930ff9509 1602- VERSION: bump for 20.2.0-rc4 1603- .pick_status.json: Update to ef980ac0c1cd65993ba0c1d20e1c09b45bfef99d 1604- fix: gallivm: disable brilenear for lod bias and explicit lod. 1605- .pick_status.json: Update to a1f46d7b6943699e5efb60fbcfdd1450db85adb1 1606- amd/ac_surface: convert tabs to 3 spaces 1607- .pick_status.json: Update to 90b98c06493f8a9759e5496d5ec91fb60edf7b92 1608- .pick_status.json: Update to 472a20c5fc0feda0f074b4ff95fd7c7a6305c8cd 1609 1610Eduardo Lima Mitev (2): 1611 1612- freedreno: Centralize UUID generation into new files freedreno_uuid.c/h 1613- freedreno/uuid: Generate meaningful device and driver UUID 1614 1615Elie Tournier (12): 1616 1617- virgl: implement ARB_clear_texture 1618- virgl: Enable CAP_CLEAR_TEXTURE if host supports it 1619- docs/features: Add ARB_clear_texture to virgl 1620- gallium: add TGSI_PROPERTY_FS_BLEND_EQUATION_ADVANCED 1621- glsl_to_tgsi: Set TGSI_PROPERTY_FS_BLEND_EQUATION_ADVANCED 1622- virgl: Reserved last caps of capability_bits 1623- gallium: Add PIPE_CAP_BLEND_EQUATION_ADVANCED 1624- st: expose KHR_blend_equation_advanced if PIPE_CAP_BLEND_EQUATION_ADVANCED 1625- glsl_to_ir: do lower_blend_equation if PIPE_CAP_FBFETCH 1626- virgl: Use alpha_src_factor to store blend_equation_advenced value 1627- virgl: Encode barrier for blend_equation_advanced 1628- virgl: set PIPE_CAP_BLEND_EQUATION_ADVANCED 1629 1630Emmanuel (3): 1631 1632- meson: Do not enable USE_ELF_TLS for FreeBSD 1633- iris: Explicitly cast value to uint64_t 1634- i965: Explicitly cast value to uint64_t 1635 1636Emmanuel Gil Peyrot (2): 1637 1638- util/rand_xor: use getrandom() when available 1639- Expose EGL_KHR_platform_* when EXT is supported 1640 1641Emmanuel Vadot (1): 1642 1643- meson: Add versioning for xvmc tracker 1644 1645Eric Anholt (228): 1646 1647- freedreno/ir3: Initialize the unused dwords of the immediates consts. 1648- freedreno/ir3: Drop redundant IR3_REG_HALF setup in ALU ops. 1649- freedreno/ir3: Leave bools as 1-bit, storing them in full regs. 1650- freedreno/ir3: Set up the block predecessors for a3xx TF 1651- freedreno/ir3: Fix the a3xx TF outputs stores. 1652- freedreno/ir3: Fix register allocation assertion failures. 1653- freedreno: Stop doing binning shaders other than the VS in shader-db. 1654- freedreno/ir3: Skip tess epilogue if the program is missing stores. 1655- freedreno: Fix assertion failures on GS/tess shaders with shader-db enabled. 1656- freedreno/ir3: Remove unused half precision shader key flag. 1657- freedreno: Emit debug messages when doing draw-time recompiles of shaders. 1658- freedreno/ir3: Improve shader key normalization. 1659- freedreno/ir3: Stop initializing regid of so->outputs during setup. 1660- freedreno/ir3: Set up outputs for multi-slot varyings. 1661- freedreno: Immediately compile a default variant of shaders. 1662- freedreno/ir3: Set the FS .msaa flag to true during precompiles. 1663- freedreno/ir3: Add some more tests of cat6 disasm. 1664- freedreno/ir3: Sync some new changes from envytools. 1665- freedreno/ir3: Define the bindful uniform/nonuniform desc modes for cat6 a6xx. 1666- freedreno/ir3: Disable sin/cos range reduction for mediump. 1667- ci: Clean up setup of the job-specific env vars in baremetal testing. 1668- ci: Enable IRC flake reporting on freedreno baremetal boards. 1669- ci: Improve the flakes reports on IRC. 1670- ci: Fix the nick used in IRC reporting. 1671- freedreno: Deduplicate ringbuffer macros with computerator/fdperf 1672- freedreno: Clean up tests around ORing in the reloc flags. 1673- freedreno: Rename append_bo() in case it doesn't get inlined. 1674- freedreno: Initialize the bo's iova at creation time. 1675- freedreno: Start moving relocs flags into the BOs. 1676- freedreno: Replace OUT_RELOCD with permanently flagging shader BOs for it. 1677- freedreno: Mark all ringbuffer BOs as to be dumped on crash. 1678- freedreno: Tell the kernel that all BOs are for writing. 1679- freedreno: Replace OUT_RELOCW with OUT_RELOC. 1680- freedreno: Drop the "write" arg to emit_const_bo now relocs don't care. 1681- nir: Fix count when we didn't lower load_uniforms but did shift load_ubos. 1682- freedreno: Fix non-constbuf-upload UBO block indices and count. 1683- freedreno: Add a nohw flag to skip submitting to the kernel. 1684- freedreno: Split the fd_batch_resource_used by read vs write. 1685- freedreno: Add an early out for preparing to read a resource. 1686- freedreno: Move the resource_read early out to an inline. 1687- freedreno: Skip taking the lock for resource usage if it's already flagged. 1688- freedreno/a4xx+: Increase max texture size to 16384. 1689- freedreno/a6xx: Improve layout testcase logging for UBWC fails. 1690- freedreno/a6xx: Add a testcase for UBWC buffer sharing. 1691- freedreno: Pull the tile_alignment lookup for a layout to a helper. 1692- freedreno/a6xx: Fix UBWC blockheight for RG8. 1693- freedreno/a6xx: Fix UBWC mipmap sizing. 1694- freedreno/a6xx: Fix UBWC mipmapping height alignment. 1695- nir: Include num_ubos in the printed shader (if nonzero). 1696- freedreno/ir3: Clean up a silly nir_src_for_ssa(src.ssa). 1697- freedreno/ir3: Leave the cursor alone during ir3_nir_try_propagate_bit_shift. 1698- freedreno/ir3: Move i/o offset lowering after analyze_ubo_ranges. 1699- freedreno: Trim num_ubos to just the ones we haven't lowered to constbuf. 1700- freedreno/a6xx: Use LDC for UBO loads. 1701- freedreno: Drop the noubo fails list for CI, since there aren't any now. 1702- freedreno: Fix attempts to push UBO contents past the constlen on pre-a6xx. 1703- freedreno: Fix resource layout dump loop. 1704- freedreno: Avoid duplicate BO relocs in FD_RINGBUFFER_OBJECTs. 1705- ci: Move cross file generation to a shared script. 1706- ci: Autodetect whether we need cross setup in lava_arm builds. 1707- ci: Make cmake toolchain file for deqp cross build setup. 1708- ci: Make the create-rootfs more resilient. 1709- ci: Update versions of packages to remove from rootfses. 1710- ci: Switch the baremetal runner to be an x86 docker image. 1711- ci: Disable SMP on the a5xx boards. 1712- ci: Make a530's GLES3/31 fractional runs much more complete. 1713- freedreno/a5xx: Move resource layout to fdl. 1714- freedreno/fdl: Separate the list of a6xx testcases from the the test code. 1715- freedreno/a5xx: Add the outline of a unit test for a5xx layout. 1716- freedreno/a5xx: Set MIN_LAYERSZ on 3D textures like we do on a6xx. 1717- freedreno/a5xx: Define the 2D blit UBWC pitch fields 1718- ci: Fix DEQP_CASELIST_FILTER (used by a630 noubo run) 1719- ci: Do an explicit NIR validation-enabled pass on freedreno a630. 1720- ci: Don't forget to set NIR_VALIDATE in baremetal runs. 1721- ci: Enable a fractional run with UBO-to-constbuf disabled on a3xx. 1722- ci: Improve baremetal's logging of the job env var passthrough. 1723- freedreno/a6xx: Fix the size of buffer image views. 1724- freedreno: Fix printing of unused src in disasm of cat6 RESINFO. 1725- freedreno: Add more resinfo/ldgb testcases. 1726- freedreno: Fix resinfo asm, which doesn't have srcs besides IBO number. 1727- freedreno: Set the immediate flag in a4/a5xx resinfos. 1728- freedreno/ir3: Refactor out IBO source references. 1729- freedreno/ir3: Move handle_bindless_cat6 to compiler_nir and reuse. 1730- freedreno/ir3: Use RESINFO for a6xx image size queries. 1731- ci: Drop double ".txt" suffix on the unexpected results file. 1732- ci: Drop old comment about enabling --deqp-watchdog. 1733- ci: Auto-detect the architecture for VK ICD filenames. 1734- ci: Add DEQP_EXPECTED_RENDERER support for VK tests. 1735- ci: Move baremetal DEQP_NO_SAVE_RESULTS setup to the yml. 1736- ci: Quick exit qpa extraction for non-matching qpas. 1737- ci: Disable the firmware loader user helper option in arm64 kernels. 1738- ci: Build a cheza kernel. 1739- ci: Add scripts for controlling bare-metal chezas. 1740- ci: Switch cheza (freedreno a630) testing to baremetal. 1741- ci: Don't build an arm_test container now that the last user is gone. 1742- ci: Rename x86_cross_arm_test to just arm_test. 1743- turnip: Move vertex buffer bindings to SET_DRAW_STATE. 1744- turnip: Don't bother clamping VB size. 1745- turnip: Simplify vertex buffer bindings. 1746- turnip: Use tu_cs_emit_regs() for BLEND_CONTROL. 1747- turnip: Add support for alphaToOne. 1748- freedreno/a6xx: Add support for ALPHA_TO_ONE. 1749- freedreno: Upload gallium constbufs as needed when referenced as a UBO. 1750- freedreno/ir3: Refactor ir3_cp's lower_immed(). 1751- freedreno/ir3: Stop pushing immediates once we've filled the constbuf. 1752- freedreno/ir3: Drop unnecessary alignment of pushed UBO size. 1753- freedreno/ir3: Stop shifting UBO 1 down to be UBO 0. 1754- freedreno/ir3: Account for driver params in UBO max const upload. 1755- freedreno/ir3: Drop the max_const on a6xx to 512. 1756- freedreno/ir3: Handle cases where we decide not to lower UBO 0 loads. 1757- turnip: Fix crashes in compute with no descriptors to load. 1758- ci: Bump up to the current version of the VK CTS. 1759- ci: Disable shader cache on vulkan CI runs. 1760- ci: Build the full VK CTS for baremetal testing. 1761- ci: Enable pre-merge fractional vulkan CTS runs on the turnip driver. 1762- ci: Use rsync for initial nfsroot population on cheza. 1763- turnip: Expose robustBufferAccess. 1764- freedreno/a6xx: Fix clip_halfz support. 1765- ci: Leave a note as to what might be going on with a test. 1766- ci: Fix weird filesystem globs appearing in failed test .qpa files. 1767- ci: Disable some flaky tests on turnip. 1768- ci/bare-metal: Reword the final output of the init script on the board. 1769- ci/bare-metal: Make which test to run configurable. 1770- ci/bare-metal: Use the deqp-runner bits straight out of the artifacts. 1771- ci/bare-metal: Stop fetching the git tree. 1772- ci/bare-metal: Terminate the job with an error on kernel panic. 1773- docs: Replace ancient swrast conformance docs with more current information. 1774- docs: Add dri-devel to the mailing lists and drop the DRI wiki link. 1775- ci: disable the windows tests until the runner can be stabilized again 1776- ci: Bump vulkan CTS to 1.2.3.0. 1777- ci: Enable NIR validation on a630 GLES2 and VK tests. 1778- ci/bare-metal: Skip setting of unset variables at startup. 1779- ci/bare-metal: Don't include dev packages in arm*test. 1780- ci/tracie: Print the path if the trace isn't found. 1781- ci/tracie: Fix apitrace dump using "less" which isn't in the ARM rootfs. 1782- ci: Add a freedreno a630 tracie run. 1783- freedreno/a6xx: Define the register fields for polygon fill mode. 1784- turnip: Add support for polygon fill modes. 1785- freedreno/a6xx: Add support for polygon fill mode (as long as front==back). 1786- ci: Remove a stray "always" on the freedreno traces job. 1787- ci/bare-metal: Fail early when we get stuck powering on a cheza. 1788- ci/baremetal: Bump the kernel to a recent drm-msm-fixes for msm semaphores. 1789- turnip: Do better TU_DEBUG=startup logging of drmGetDevices2() failure. 1790- turnip: Fix error handling of DRM_MSM_GEM_INFO ioctls. 1791- turnip: Properly return VK_DEVICE_LOST on queuesubmit failures. 1792- gallium/util: Add a helper function for point sprite handling. 1793- vc4: Enable PIPE_CAP_TGSI_TEXCOORD. 1794- v3d: Enable PIPE_CAP_TGSI_TEXCOORD. 1795- v3d: Fix -Wmaybe-uninitialized compiler warning in the v33 code. 1796- ci: Disable pixmark-piano trace on a630 due to GPU hangs. 1797- util: Avoid strict aliasing bugs in xxhash. 1798- util: Mark util_format_description() as a const function. 1799- softpipe: Clean up softpipe's SSBO load/store interpreting instructions. 1800- util: Remove unused util_format_planar_is_supported(). 1801- etnaviv: Use the util_pack_color_union() helper. 1802- gallium/util: Fix location of the comment about S8_UINT handling. 1803- gallium/util: Clean up the Z/S tile write path. 1804- gallium/util: Move the Z/S handling to the outside of get_tile(). 1805- svga: Reuse util_format_unpack_rgba(). 1806- util: Merge util_format_write_4* functions. 1807- util: Merge util_format_read_4* functions. 1808- util: Use designated initializers to clean up the format tables' pack/unpack. 1809- llvmpipe: Generalize "could llvmpipe fetch this format" check in unit testing. 1810- util: Remove the stub pack/unpack functions for YUV formats. 1811- util: Share a single function pointer for the 4-byte rgba unpack function. 1812- docs: Move the current CI .rst doc to docs/ci/ and link to it from .gitlab-ci. 1813- docs: Move the conformance and the CI docs to a top level Testing section. 1814- docs: Move the gitlab-ci docs to RST. 1815- docs: Relax the expectations of HW CI farms. 1816- docs: Document how to interact with docker containers. 1817- freedreno/ir3_cmdline: Fix an uninit var warning. 1818- freedreno/ir3: Fix uninit var warning. 1819- intel: Fix release-build warnings about sf_entry_size. 1820- intel/perf: Fix unused var warning in release builds. 1821- intel/perf: Move perf query register programming to static tables. 1822- freedreno/a2xx: Fix compiler warning in disasm. 1823- meson: Enable GCing of functions and data from compilation units by default. 1824- freedreno/ir3: Fix duplicated fine derivatives instructions. 1825- freedreno/ir3: Add unit tests for derivatives disasm. 1826- ci: Use FDO_CI_CONCURRENT as our -j flags when present in the runner env. 1827- freedreno/ir3: Add a note about the instructions in the disasm test. 1828- freedreno/ir3: Add a bunch more tests for cat6 opcodes. 1829- freedreno/ir3: Refactor cat6 general dst printing. 1830- freedreno/ir3: Fix disasm of register offsets in ldp/stp. 1831- freedreno/ir3: Add missing ld_args_build_id to the ir3_delay unit test. 1832- ci: Set XDG_CACHE_HOME to tmpfs for bare-metal runners to avoid NFS. 1833- ci: Update checksums for freedreno traces. 1834- llvmpipe: Remove a bunch of default handling of pipe caps. 1835- llvmpipe: Use the default behavior of ALLOW_MAPPED_BUFFERS. 1836- softpipe: Remove a bunch of default handling of pipe caps. 1837- softpipe: Use the default behavior of ALLOW_MAPPED_BUFFERS. 1838- virgl: Remove a bunch of default handling of pipe caps. 1839- swr: Remove a bunch of default handling of pipe caps. 1840- swr: Use the default behavior of ALLOW_MAPPED_BUFFERS. 1841- svga: Remove a bunch of default handling of pipe caps. 1842- i915: Remove a bunch of default handling of pipe caps. 1843- softpipe: Refactor pipe_shader_state setup. 1844- softpipe: Convert to comma-separated SOFTPIPE_DEBUG for debug options. 1845- softpipe: Add support for reporting shader-db output. 1846- softpipe: Enable PIPE_CAP_TGSI_TEXCOORD. 1847- softpipe: Enable PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS; 1848- ci/bare-metal: Capture the first devcoredump a job produces. 1849- drm-shim: Return -EINVAL instead of abort()ing on unknown ioctls. 1850- docs: Explain how to set up a personal gitlab runner. 1851- nir: Add a pass to cut the trailing ends of vectors. 1852- i965: Enable vector shrinking in the vec4 backend. 1853- amd: Swap from nir_opt_shrink_load() to nir_opt_shrink_vectors(). 1854- nir: Remove the old nir_opt_shrink_load. 1855- freedreno: Fix "Offset of packed bitfield changed" warnings: 1856- nir/lower_amul: Use num_ubos/ssbos instead of recomputing it. 1857- nir: Add a little more docs about NIR's constant_data. 1858- nir: Print the constant data size associated with a shader. 1859- freedreno/ir3: Fix the type of half-float indirect uniform loads. 1860- freedreno/a6xx: Document the bit for the magic 32bit-uniforms-as-16b mode. 1861- freedreno/computerator: Set SP_MODE_CONTROL to the same value as vulkan/GL 1862- freedreno/ir3: Merge the redundant immediate_idx/immediates_count fields 1863- freedreno/ir3: Simpify the immediates from an array of vec4 to array of dwords. 1864- freedreno: Rename emit_const_bo() to emit_const_ptrs(). 1865- freedreno: Split ir3_const's user buffer and indirect upload APIs. 1866- freedreno/ir3: Clean up instrlen setup. 1867- freedreno: Increase the NUM_UNIT on compute's consts in indirect dispatch. 1868- freedreno: Add more asserts for DST_OFF/NUM_UNIT in indirect const uploads. 1869- freedreno/ir3: Fix assertion failures dumping CS high full regs. 1870- turnip: Make sure we include the build id. 1871- gallium/tgsi_exec: Fix up NumOutputs counting 1872- freedreno: Make the pack struct have a .qword for wide addresses. 1873- turnip: Fix truncation of CS shader iovas to 32 bits. 1874- turnip: Fix truncation of iovas to 32 bits in queries. 1875 1876Eric Engestrom (146): 1877 1878- cut 20.1 branch 1879- docs: update calendar for 20.1.0-rc2 1880- post_version.py: fix branch name construction for release candidates 1881- post_version.py: invert `is_point` into `is_first_release` to make its purpose clearer 1882- post_version.py: stop adding release candidates to the index and relnotes 1883- docs: update calendar for 20.1.0-rc3 1884- gitlab-ci: exclude scripts that don't affect the build 1885- util/rand_xor: make it clear that {,s_}rand_xorshift128plus take *exactly 2* uint64_t 1886- util/rand_xor: drop unused header 1887- util/rand_xor: fallback Linux to time-based instead of fixed seed 1888- util/rand_xor: extend the urandom path to all non-Windows platforms 1889- docs: update calendar for 20.1.0-rc4 1890- anv: pass the fd directly to anv_gem_reg_read() 1891- anv: replace magic `| 1` with already #define'd name 1892- anv: disable VK_EXT_calibrated_timestamps when the timestamp register is unreadable 1893- git_sha1_gen.py: fix out-of-date comment 1894- git_sha1_gen.py: fix code style 1895- git_sha1_gen.py: fix whitespace 1896- compiler: delete leftover autotools test wrapper 1897- no_extern_c.h: fix typo in comment 1898- tree-wide: fix deprecated GitLab URLs 1899- docs: drop no-longer-relevant comment about bugzilla 1900- docs: Add release notes for 20.1.0 1901- docs: update calendar, add news item, and link releases notes for 20.1.0 1902- meson: remove "empty array"/"array of an empty string" confusion 1903- glapi: remove deprecated .getchildren() that has been replace with an iterator 1904- intel/genxml: drop sort_xml.sh and move the loop directly in gen_sort_tags.py 1905- intel: fix gen_sort_tags.py 1906- docs: Add release notes for 20.1.1 1907- docs: update calendar, add news item, and link releases notes for 20.1.1 1908- v3d: add missing unlock() in error path 1909- intel/genxml: drop python 2 support for gen_sort_tags.py 1910- intel/genxml: replace gen_sort_tags.py MIT licence with SPDX equivalent 1911- docs: update the blocks of unused EGL enums assigned to us 1912- i965: drop dead #include "config.h" 1913- iris: drop dead #include "config.h" 1914- gen_release_notes.py: update script to the new rST way of things 1915- post_version.py: update script to the new rST way of things 1916- intel/tools: rewrite run-test.sh in python 1917- intel/tools: make test aware of the meson test wrapper 1918- khronos-update.py: add script to simplify update of Khronos headers & xml files 1919- docs: remove plain-text copy of versions.rst 1920- util/os_file: replace broken windows-detection code with detect_os.h 1921- util: introduce os_dupfd_cloexec() helper 1922- replace all F_DUPFD_CLOEXEC with os_dupfd_cloexec() 1923- vulkan/wsi: replace all dup() with os_dupfd_cloexec() 1924- radv: replace all dup() with os_dupfd_cloexec() 1925- anv: replace all dup() with os_dupfd_cloexec() 1926- iris: replace all dup() with os_dupfd_cloexec() 1927- i965: replace all dup() with os_dupfd_cloexec() 1928- egl: replace all dup() with os_dupfd_cloexec() 1929- etnaviv: replace all dup() with os_dupfd_cloexec() 1930- freedreno: replace all dup() with os_dupfd_cloexec() 1931- svga: replace all dup() with os_dupfd_cloexec() 1932- virgl: replace all dup() with os_dupfd_cloexec() 1933- docs: publish our release maintainers' keys 1934- docs: remind release maintainers to sign the tarballs and publish their key 1935- docs: suggest alternative installation methods for meson 1936- docs: stop considering `Cc: mesa-stable` as an email address 1937- docs: reword "sending a patch revision" to "updating a merge request" 1938- docs: drop `git sendemail` instructions 1939- docs: prefer `Fixes:` over `Cc: mesa-stable` 1940- docs: add some formatting to the "backport merge request" option 1941- docs: reword a sentence a bit 1942- docs: make it clear that the tags needs to be in the commit message 1943- docs: move `Fixes:` tag explanation to its own section 1944- docs: move "stable" tag explanation next to `Fixes:` 1945- driconf: drop 28% catalan translation 1946- driconf: drop 15% german translation 1947- driconf: drop 26% spanish translation 1948- driconf: drop 6% french translation 1949- driconf: drop 8% dutch translation 1950- driconf: drop 9% swedish translation 1951- driconf: drop now unused translation facility 1952- util: rename xmlpool.h to driconf.h 1953- gitlab-ci: drop gettext from the build images 1954- docs: drop deleted file from extra sphinx files 1955- docs: cat maintainer keys to a single file 1956- docs: add some padding to the release calendar 1957- docs: add planning for 20.2 1958- bin/symbols-check: explain C++ symbols workaround 1959- docs: Add release notes for 20.1.2 1960- docs: update calendar and link releases notes for 20.1.2 1961- docs: fix 20.1.2 relnotes 1962- docs: add a page explaining the GitLab CI and the Intel CI 1963- mesa/glformats: make _mesa_gles_error_check_format_and_type() more consistent 1964- docs: add release notes for 20.1.3 1965- docs: update calendar and link releases notes for 20.1.3 1966- docs: fix a bunch of typos 1967- egl: always compile surfaceless 1968- vulkan: automatically compile the `display` platform when available 1969- meson: move xlib-lease block further down 1970- egl: automatically compile the `drm` platform when available 1971- introduce `commit_in_branch.py` script to help devs figure this out 1972- bin/gen_release_notes.py: drop new_features.txt when we release XX.Y.0 1973- egl/wayland: add missing newline between functions 1974- glx: drop always-true #ifdef 1975- docs/submittingpatches: add more than one `Cc: mesa-stable` example to the examples list 1976- meson/intel: add missing dep on git_sha1.h 1977- meson: fix android vulkan build 1978- egl: inline fallback for create_pixmap_surface 1979- egl: inline fallback for create_pbuffer_surface 1980- egl: drop unused fallback function 1981- egl: inline fallback for swap_buffers_with_damage 1982- egl: inline fallback for swap_buffers_region 1983- egl: inline fallback for post_sub_buffer 1984- egl: inline fallback for copy_buffers 1985- egl: inline fallback for query_buffer_age 1986- egl: inline fallback for create_wayland_buffer_from_image 1987- egl: inline fallback for get_sync_values 1988- egl: drop now empty egl_dri2_fallbacks.h 1989- egl: mark the rest of the callbacks as mandatory or optional 1990- egl: inline _EGLAPI into _EGLDriver 1991- docs: add release notes for 20.1.4 1992- docs: update calendar and link releases notes for 20.1.4 1993- post_version.py: don't generate relnotes twice 1994- post_version.py: drop incorrect conf.py changes 1995- post_version.py: stop using non-existent functions and fix commit message 1996- post_version.py: update the files in the current worktree, not the one with the script that we run 1997- post_version.py: fix relnotes links 1998- bin/gen_release_notes: automatically commit release notes 1999- docs/releasing: improve wording 2000- bin/khronos-update: having a folder in include/ is not a requirement 2001- bin/khronos-update: add support for the SPIRV files 2002- bin/khronos-update: add workaround for python bug 9625 2003- egl: replace _eglInitDriver() with a simple variable 2004- egl: drop unnecessary _eglGetDriver() 2005- egl: fix _eglMatchDriver() return type 2006- egl: inline _eglMatchAndInitialize() and refactor _eglMatchDriver() 2007- egl: rename _eglMatchDriver() to _eglInitializeDisplay() 2008- egl: drop left-over function prototype 2009- egl: const _eglDriver 2010- egl/haiku: drop overwritten preset of EGL version 2011- egl: consistently use dri2_egl_display() helper macro 2012- meson: fix `-D xlib-lease=auto` detection 2013- docs: add release notes for 20.1.5 2014- docs: update calendar and link releases notes for 20.1.5 2015- pick-ui: specify git commands in "resolve cherry pick" message 2016- egl/entrypoint-check: split sort-check into a function 2017- egl/entrypoint-check: add check that GLVND and plain EGL have the same entrypoints 2018- driconf: fix force_gl_vendor description 2019- meson: bump required glvnd version 2020- egl/x11_dri3: enable & require xfixes 2.0 2021- egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage 2022- meson: don't advertise TLS support if glx wasn't build with it 2023- meson: drop leftover PTHREAD_SETAFFINITY_IN_NP_HEADER 2024 2025Erico Nunes (16): 2026 2027- lima/ppir: introduce liveness internal live set 2028- lima/ppir: fix lod bias register codegen 2029- lima/ppir: do not assume single src for pipeline outputs 2030- lima/ppir: combine varying loads in node_to_instr 2031- lima/ppir: duplicate intrinsics in nir 2032- lima/ppir: duplicate consts in nir 2033- lima/ppir: remove unused clone functions 2034- lima/ppir: rework emit nir to ppir 2035- lima/ppir: rework store output 2036- lima/ppir: add fallback mov option for const scheduler 2037- lima/ppir: rework select conditions 2038- lima/ppir: handle failures on all ppir_emit_cf_list paths 2039- lima/ppir: improve handling for successors in other blocks 2040- lima/ppir: rework tex lowering 2041- lima/ppir: optimize tex loads with single successor 2042- lima/ppir: use a ready list in node_to_instr 2043 2044Erik Faye-Lund (124): 2045 2046- compiler/nir: move tan-calculation to helper 2047- vtn/opencl: add native_tan-support 2048- vtn/opencl: native variants of sin/cos 2049- vtn/opencl: native divide support 2050- vtn/opencl: native powr support 2051- vtn/opencl: native recip support 2052- vtn/opencl: native rsqrt support 2053- vtn/opencl: native sqrt support 2054- compiler/glsl: explicitly store NumUniformBlocks 2055- mesa/st: consider NumUniformBlocks instead of num_ubos when binding 2056- zink: use nir_lower_uniforms_to_ubo 2057- zink: lower b2b to b2i 2058- util/os_memory: never use os_memory_debug.h 2059- st/wgl: pass st_context_iface into stw_st_framebuffer_present_locked 2060- st/wgl: allocate and resolve msaa-textures 2061- docs/features: add zink features 2062- zink: load vk_GetMemoryFdKHR while creating screen 2063- zink: add a GET_PROC_ADDR macro to simplify load_device_extensions 2064- docs/features: mark GL_NV_conditional_render as done for zink 2065- zink: disable vkCmdResolveImage when respecting render-condition 2066- zink: do not expose real value for PIPE_CAP_MAX_VIEWPORTS 2067- zink: correct PIPE_SHADER_CAP_MAX_SHADER_IMAGES 2068- zink: mark depth-component cube-maps as done 2069- zink: implement i2b1 2070- docs: fix broken release-calendar 2071- zink: hammer in an explicit wait when retrieving buffer contents for reading 2072- zink: use samples from state 2073- zink: do not dig into resource for nr_samples 2074- zink: pass batch instead of context for queries 2075- zink: implement nir_texop_txf_ms 2076- zink: expose PIPE_CAP_TEXTURE_MULTISAMPLE 2077- docs/features: mark GL_ARB_texture_multisample as done for zink 2078- zink: use general-layout when blitting to/from same resource 2079- zink: Use store_dest_raw instead of storing an uint 2080- nir: reuse existing psiz-variable 2081- zink: emulate B8G8R8X8_SRGB with B8G8R8A8_SRGB 2082- zink: assert that image-view format isn't undefined 2083- zink: only report device-local memory as video-memory 2084- gallium/hud: do not specify potentially invalid depth-range 2085- TEMP: add rst-conversion scripts 2086- docs: convert articles to reructuredtext 2087- TEMP: remove rst-conversion scripts 2088- docs: delete no longer needed file 2089- docs: fixup botched table 2090- docs: escape double colons 2091- docs: escape asterisks 2092- docs: escape trailing underscores properly 2093- docs: fixup broken rst 2094- docs: fixup heading-levels 2095- docs: use sphinx 2096- docs: disable syntax-highlighting by default 2097- docs: use code-block with caption instead of table 2098- docs: format notes as rst-notes 2099- docs: use code-blocks 2100- docs: drop open-coded toc for articles 2101- docs: add xlibdriver to table-of-contents 2102- docs: do not copy source-files to site 2103- docs: use rst footnotes instead of manual ones 2104- docs: reformat license table as rst table 2105- docs: use rst-note for highlighted text 2106- docs: bundle extra files 2107- docs: include specs into the generated docs 2108- gitlab-ci: build and deploy docs 2109- docs: drop news in favour of the introduction as index-page 2110- README: update references to internal docs 2111- docs: update internal references 2112- docs/relnotes: update internal references 2113- radv: update internal reference 2114- bin/perf-annotate-jit.py: update internal reference 2115- docs/release-calendar: restore missing id 2116- nir: do not try to merge xfb-outputs 2117- Revert "gallium/hud: don't use user vertex buffers" 2118- gallium/hud: don't use user vertex buffers 2119- zink: enable cull-distance if supported 2120- zink: expose GLSL 1.30 2121- docs: update internal references 2122- docs/relnotes: update internal references 2123- docs: fixup relnotes after rst-conversion 2124- docs/features: mark GL3 as complete for zink 2125- docs/features: update ARB_texture_buffer_object line 2126- docs/features: remove driver-list for forward-compatible context 2127- mesa/main: fix inverted condition 2128- gallium/os: call "ANSI" version of GetCommandLine 2129- graw/gdi: do not depend on UNICODE macro 2130- gallium/util: limit STACK_LEN on Windows 2131- gallium/util: add missing include 2132- docs: update favicon 2133- docs: remove non-existent reference 2134- docs: restore accidentally dropped labels 2135- docs: fix internal references 2136- docs: use ref-links for internal references 2137- gallium/docs: update to recent sphinx 2138- gallium/docs: fixup formatting of numbered lists 2139- gallium/docs: remove reference to non-existent label 2140- gallium/docs: use none for highlight_language 2141- gallium/docs: prefix exts dir with underscore 2142- gallium/docs: remove non-existent static dir 2143- gallium/docs: remove unused imgmath extension 2144- ci: only build docs in the upstream-repo 2145- ci: only build docs if any docs changed 2146- ci: test docs for non-master builds 2147- ci: move deploy-stage later in the pipeline 2148- ci: move test-docs to container stage 2149- ci: add graphviz to the .docs-base template 2150- merge gallium docs into main docs 2151- docs: clean up gallium index-file 2152- docs: add an extension to generate redirects 2153- docs: move gallium specific docs into gallium folder 2154- docs: use svg for graphviz output 2155- docs: fixup envvar output 2156- zink: expose depth-clip if supported 2157- mesa/main: factor out one-time-init into a helper 2158- mesa/main: use call_once instead of open-coding 2159- gallium/util: do not use _MTX_INITIALIZER_NP on Windows 2160- mesa/main: use p_atomic_inc_return instead of locking 2161- mesa: do not use bitfields for advanced-blend state 2162- mesa: treat Color._AdvancedBlendMode as enum 2163- zink: use ralloc in nir-to-spirv 2164- zink: use ralloc for plain malloc-calls 2165- zink: pass mem_ctx to ralloc_size-call 2166- zink: use ralloc for spirv_builder as well 2167- mesa/program: fix shadow property for samplers 2168- docs: add some very basic documentation about zink 2169- mesa: handle GL_FRONT after translating to it 2170 2171Francisco Jerez (23): 2172 2173- intel/ir: Update performance analysis parameters for memory fence codegen changes. 2174- iris: Simplify iris_batch_prepare_noop(). 2175- iris: Extend iris_context dirty state flags to 128 bits. 2176- iris: Add batch-local synchronization book-keeping to iris_bo. 2177- iris: Add infrastructure to partition batch into sync boundaries. 2178- iris: Bracket batch operations which access memory within sync regions. 2179- iris: Annotate all BO uses with domain and sequence number information. 2180- iris: Drop redundant iris_address::write flag. 2181- iris: Report use of any in-flight buffers on first draw call after sync boundary. 2182- iris: Introduce cache coherency matrix for batch-local memory ordering. 2183- iris: Update cache coherency matrix on PIPE_CONTROL. 2184- iris: Implement buffer-local memory barrier based on cache coherency matrix. 2185- iris: Insert buffer barrier in existing cache flush helpers. 2186- iris: Remove batch argument of iris_resource_prepare_access() and friends. 2187- iris: Perform compute predraw flushes from compute batch. 2188- iris: Remove depth cache set tracking and synchronization. 2189- iris: Remove render cache hash table-based synchronization. 2190- iris: Open-code iris_cache_flush_for_read() and iris_cache_flush_for_depth(). 2191- iris: Emit single render target flush PIPE_CONTROL on format mismatch. 2192- iris: Remove iris_flush_depth_and_render_caches(). 2193- OPTIONAL: iris: Perform BLORP buffer barriers outside of iris_blorp_exec() hook. 2194- iris/icl+: Report same caching domain as main surface for clear color BO. 2195- intel/ir/gen12+: Work around FS performance regressions due to SIMD32 discard divergence. 2196 2197Frank Binns (2): 2198 2199- docs: change "Fixes:" tag example to match git fixes output 2200- egl/dri2: only take a dri2_dpy reference when binding a new context/surfaces 2201 2202Frédéric Bonnard (2): 2203 2204- clover: Fix types collision between c++ and altivec 2205- meson: Revert commit overriding C++ standard with gnu++11 on ppc64el 2206 2207Gert Wollny (66): 2208 2209- r600: Annotate some case fallthroughs 2210- r600: remove unused static functions 2211- r600/sb: replace memset by using member initialization/assignment 2212- r600: remove some unused variables to silence warnings 2213- r600: Fix warning regarding mixing enums and unsigned in ?: expression 2214- r600: Fix nir compiler options, i.e. don't lower IO to temps for TESS 2215- r600/sfn: Unify semantic name and index query and use TEXCOORD semantic 2216- r600/sfn: Fix printing vertex fetch instruction flags 2217- r600: Lower int64 ops from TGSI-to-NIR shaders too 2218- r600: Lower lerp after tgsi_to_nir 2219- r600: Add support for loading index register from other than chan X 2220- r600/sfn: Handle CF index loading from non-X channel 2221- r600/sfn: rework getting a vector and uniforms from the value pool 2222- r600/sfn: Skip move instructions if they are only ssa and without modifiers 2223- r600/sfn: re-use an allocated register in lookup 2224- r600/sfn: skip copying LOD if the target register is is the same 2225- r600/sfn: Fix memring print output 2226- r600/sfn: Fix RING instruction assembly emission 2227- r600/sfn: Fix GDS assembly emission 2228- r600/sfn: Fix RAT instruction assembly emission 2229- r600/sfn: Make allocate_reserved_registers forward to a virtual function 2230- r600/sfn: Fix handling of output register index 2231- r600/sfn: Make 3vec loads skip possible moves 2232- r600/sfn: Add support for viewport index output 2233- r600/sfn: Take FOGC, and backcolors into account im GS outputs 2234- r600/sfn: Handle loading sample_pos 2235- r600/sfn: Add FS output sample_mask 2236- r600/sfn: Don't reject VARYING_SLOT_PCNT 2237- r600/sfn: remove pointless check 2238- r600/sfn: assert when alu dest is missing 2239- r600/sfn: support indirect sampler buffer reads. 2240- r600/sfn: Add support for texture_samples 2241- r600/sfn: use the per shader atomic base 2242- r600/sfn: SSBO: Fix query of dest components 2243- r600/sfn: Fix clip vertex output as possible stream variable 2244- r600/sfn: Fix splitting constants that come from different kcache banks. 2245- r600/sfn: Don't reorder outputs by location 2246- r600/sfn: Fix printing ALU op without dest 2247- r600: Fix duplicated subexpression in r600_asm.c 2248- r600/sfn: Fix mapping for f32tof64 and f64tof32 2249- r600/sfn: use modern c++ in printing LDS read instruction 2250- r600/sfn: Correctly update the number of literals when forcing a new group 2251- r600/sfn: remove debug output leftover 2252- nir: lower_tex: Don't normalize coordinates for TXF with RECT 2253- r600/sfn: lower image derefs 2254- r600/sfn: Add imageio support 2255- r600/sfn: Add support for image_size 2256- r600/sfn: Add support for reading cube image array dim. 2257- r600/sfn: Take SSBO buffer ID offset into account 2258- r600/sfn: Handle memory_barrier 2259- r600/sfn: Add lowering pass for shared IO 2260- r600/sfn: Add support for shared atomics 2261- r600/sfn: Don't set num_components on TESS sysvalue intrinsics 2262- r600/sfn: lower rotate ALU ops 2263- r600/sfn: Pipe through requesting a register at a given channel 2264- r600/sfn: emit texture instructions in one block 2265- r600/sfn: Add option to get a temp value for a specific channel 2266- r600/sfn: correct handling of loading vec4 with fetching constants 2267- r600/sfn: Add a forced output swizzle for depth write 2268- r600/sfn: Fix Ring output swizzle masks 2269- r600/sfn: Fix default z swizzle for GDS instructions 2270- r600: Add shader key item to identify when the sample mask should be used 2271- r600/sfn: Only use sample mask if the according shader key is set 2272- r600/sfn: Make the pin_to_channel generic 2273- d600/sfn: write stream outputs to correct mem ring 2274- gallivm/nir: Lower uniforms to UBOs in llvm draw if the driver didn't request this already 2275 2276Greg V (1): 2277 2278- gallium,util: undef ALIGN on FreeBSD to prevent name clash 2279 2280Guido Günther (2): 2281 2282- etnaviv: drm: Use NSEC_PER_SEC 2283- etnaviv: drm: Normalize nano seconds 2284 2285Gurchetan Singh (1): 2286 2287- virgl: apply bgra dest swizzle and add Portal 2 2288 2289Hanno Böck (1): 2290 2291- Properly check mmap return value 2292 2293Hyunjun Ko (6): 2294 2295- freedreno,tu: Don't request fragcoord components not being read. 2296- tu,radv: fix potentially wrong offset of flexible array. 2297- vulkan: Adds helpers for vk_object (de)alloation and (de)initialization. 2298- tu: Fix wrong copies of sampler descriptor. 2299- turnip: Use the common base object type and struct. 2300- turnip: implement VK_EXT_private_data 2301 2302Iago Toral Quiroga (7): 2303 2304- v3d/compiler: don't rewrite unused temporaries to point to NOP register 2305- v3d/compiler: fix spill offset 2306- v3d/compiler: fix image size for 1D arrays 2307- nir/lower_clip: make the pass compatible with Vulkan semantics 2308- v3d/compiler: handle compact varyings 2309- v3d/compiler: request fragment shader clip lowering to be vulkan compatible. 2310- nir/lower_tex: skip lower_tex_packing for the texture samples query 2311 2312Ian Romanick (24): 2313 2314- nir/algebraic: Recognize open-coded byte or word extract from bfe 2315- nir/algebraic: Split ibfe and ubfe with two constant sources 2316- nir/algebraic: Optimize some bfe patterns 2317- nir/algebraic: Optimize ushr of pack_half, not ishr 2318- nir/algebraic: Add some half packing optimizations for pack_half_2x16_split 2319- nir/algebraic: Eliminate useless extract before unpack 2320- i965: Assert that blorp always handles color blits 2321- meta: Make _mesa_meta_texture_object_from_renderbuffer static 2322- meta: Make _mesa_meta_setup_sampler static 2323- meta: Remove support for clearing integer buffers 2324- mesa: Add matrix utility functions to load matrices 2325- mesa: Add function to calculate an orthographic projection 2326- meta: Stop frobbing MatrixMode 2327- meta: Use same vertex coordinates for GLSL and FF clears 2328- meta: Coalesce the GLSL and FF paths in meta_clear 2329- meta: Remove support for multisample blits 2330- anv/tests: Don't rely on assert or changing NDEBUG in tests 2331- anv/tests: Silence unused parameter warnings in main 2332- anv: Silence unused parameter warning in anv_image_get_clear_color_addr 2333- intel: Silence unused parameter warning in __intel_log_use_args 2334- intel/drm-shim: Add noop ioctl handler for set_tiling 2335- intel/drm-shim: Return correct values for I915_PARAM_HAS_ALIASING_PPGTT 2336- glsl: Remove integer matrix support from ir_dereference_array::constant_expression_value 2337- nir/algebraic: Don't distrubte absolute-value into dot-products 2338 2339Icecream95 (78): 2340 2341- pan/midgard: Fix old style shadows 2342- panfrost: Fix background showing when using discard 2343- panfrost: Enable PIPE_CAP_VERTEX_COLOR_UNCLAMPED 2344- panfrost: Decode AFBC flag bits 2345- panfrost: Only use AFBC YTR with RGB and RGBA 2346- pan/midgard: Use a signed value for checking inline constants 2347- Revert "panfrost: Keep cached BOs mmap'd" 2348- panfrost: Mark PIPE_BUFFER BOs as not renderable 2349- pan/mdg: Add a macro for printing instruction source information 2350- pan/mdg: Move r1.w writeout to branch->dest 2351- pan/mdg: Remove old zs store lowering 2352- pan/mdg: Remove old depth writeout code 2353- pan/mdg: Remove writeout case from bytemask_of_read_components 2354- nir: Replace the zs_output_pan intrinsic with combined_output_pan 2355- pan/mdg: Replace writeout booleans with a single value 2356- pan/mdg: Add new depth writeout code 2357- pan/mdg: Move search_var to earlier in midgard_compile.c 2358- pan/mdg: Add depth/stencil support to emit_fragment_store 2359- pan/mdg: Add new depth store lowering 2360- pan/mdg: Print writeout sources in mir_print_instruction 2361- panfrost: Add writes_stencil to the EARLY_Z disable list 2362- panfrost: Move sampler view bo creation to a separate function 2363- panfrost: Create a new sampler view bo when the layout changes 2364- panfrost: Tiled to linear layout conversion 2365- panfrost: Clean up panfrost_frag_meta_rasterizer_update 2366- panfrost: Implement ARB_depth_clamp 2367- pan/decode: Fix helper invocations when tracing 2368- pan/decode: Add missing wrap modes 2369- pan/mdg: Fix max_comp calculation for constant printing 2370- panfrost: RGBA4 and RGB5_A1 framebuffer support 2371- panfrost: Update sampler views when the texture bo changes 2372- panfrost: Copy resources when mapping to avoid waiting for readers 2373- panfrost: Only copy resources when they are in a pending batch 2374- panfrost: Add PAN_MESA_DEBUG=gl3 flag 2375- panfrost: Do fine-grained flushing for occlusion query results 2376- pan/mdg: Vectorize vlut operations 2377- pan/decode: Make mapped memory read-only while decoding 2378- nir: Add a base value to load_raw_output_pan 2379- panfrost: Fix MALI_READS_TILEBUFFER 2380- pan/mdg: Handle tilebuffer wait loops 2381- pan/mdg: Use the writeout tag for tilebuffer wait loops 2382- panfrost: Add rt formats to shader state 2383- panfrost: Add a bitset of render targets read by shaders 2384- pan/mdg: Do the pan_lower_framebuffer pass later 2385- pan/mdg: Emit a tilebuffer wait loop when needed 2386- pan/mdg: Handle non-blend framebuffer lowering 2387- pan/mdg: Support MRT in output load lowering 2388- pan/mdg: Set the z/s store intrinsic base correctly 2389- pan/mdg: Use a 32-bit ld_color_buffer op when needed 2390- panfrost: Implement texture_barrier 2391- panfrost: Stop keying on rt format when using native loads 2392- panfrost: Use f2fmp for framebuffer lowering conversions 2393- panfrost: Enable framebuffer fetch 2394- pan/mdg: Fix non-debug compiliation 2395- compiler: Add dual-source factors to blend_factor 2396- gallium: Dual source support in blend_factor_to_shader 2397- pan/mdg: Add a nir pass to reorder store_output intrinsics 2398- pan/mdg: Dual source blend input/writeout support 2399- pan/mdg: Skip z/s combining for dual-source writes 2400- panfrost: Dual source blend support 2401- pan/decode: Open the dump file later 2402- pan/mdg: Don't disassemble blit shaders 2403- panfrost: Rename lower_store to is_blend in pan_lower_framebuffer 2404- pan/mdg: Do per-sample framebuffer loads 2405- panfrost: Do per-sample shading when outputs are read 2406- nir: Add a face_sysval argument to nir_lower_two_sided_color 2407- nir: Fix lower_two_sided_color when the face is an input 2408- panfrost: Report TEXTURE_BUFFER_OBJECTS cap when gl3 flag set 2409- panfrost: Set depth_enabled when stencil is enabled 2410- nir: Set the alignment for SSBO lowering 2411- panfrost: Make panfrost_bo_wait take a wait_readers bool 2412- panfrost: Fix calls to panfrost_flush_batches_accessing_bo 2413- panfrost: Fake RGTC support 2414- panfrost: Use more tilebuffer sizes 2415- panfrost: 8x MRT support 2416- pan/mdg: Use the blend RT for blend shader framebuffer fetches 2417- panfrost: Allow PIPE_TEXTURE_1D_ARRAY textures 2418- pan/mdg: Fix spilling of non-32-bit types 2419 2420Icenowy Zheng (1): 2421 2422- panfrost: signal syncobj if nothing is going to be flushed 2423 2424Ilia Mirkin (14): 2425 2426- freedreno/a3xx: there's no r8i/ui rb format, only rg8i/rg8ui 2427- freedreno/a3xx: reinstate rgb10_a2ui texture format 2428- freedreno/ir3: avoid applying (sat) on bary.f 2429- freedreno/a3xx: fix const footprint 2430- freedreno: fix off-by-one in assertions checking for const sizes 2431- freedreno/a3xx: parameterize ubo optimization 2432- freedreno/a3xx: fix rasterizer discard 2433- nouveau: allow invalidating coherent/persistent buffer backings 2434- st/mesa: allow R8 to not be exposed as renderable by driver 2435- a4xx: add noperspective interpolation support 2436- a4xx: add polygon offset clamp, fix units 2437- ir3: mark ucp_enables as allowed values on all keys 2438- a4xx: hook up centroid ij coords 2439- ir3: use empirical size for params as used by the shader 2440 2441Indrajit Kumar Das (2): 2442 2443- st/mesa: use fragment shader to copy stencil buffer 2444- st/mesa: optimize DEPTH_STENCIL copies using fragment shader 2445 2446Italo Nicola (17): 2447 2448- panfrost: Fix outmods on int to float conversions 2449- pan/mdg: fix src_type in instructions that need a implicit zero 2450- pan/mdg: prepare effective_writemask() 2451- pan/mdg: eliminate references to ins->alu.op 2452- pan/mdg: eliminate references to ins->alu.reg_mode 2453- pan/mdg: fix comment 2454- pan/mdg: eliminate references to ins->alu.outmod 2455- pan/mdg: apply float outmods to textures 2456- pan/mdg: eliminate references to ins->texture.op 2457- pan/mdg: eliminate references to ins->load_store.op 2458- pan/mdg: defer register packing 2459- pan/mdg: externalize mir_pack_mod 2460- pan/mdg: remove ins->alu 2461- pan/mdg: refactor emit_alu_bundle 2462- pan/mdg: defer branch packing 2463- pan/mdg: remove ins->br_compact and ins->branch_extended 2464- pan/mdg: emit REGISTER_UNUSED on unused ALU src2 2465 2466Iván Briano (9): 2467 2468- anv: use the correct format on Android 2469- anv: Disable B5G6R5_UNORM_PACK16 2470- anv: Add a way to reserve states from a pool 2471- anv: Implement VK_EXT_custom_border_color 2472- anv: support externally synchronized pipeline caches 2473- anv: implement VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT 2474- anv: enable VK_EXT_pipeline_creation_cache_control 2475- anv: Add VK_EXT_custom_border_color to relnotes 2476- anv: fix allocation of custom border color pool 2477 2478James Park (1): 2479 2480- amd/llvm: Reorder LLVM headers 2481 2482James Zhu (1): 2483 2484- ac/gpu_info: Correct Acturus cu bitmap 2485 2486Jan Beich (5): 2487 2488- drm-uapi: Add sync_file.h 2489- anv,iris: unbreak on BSDs after 812cf5f522ab,abf8aed68047 2490- util: enable futex usage on BSDs after 7dc2f4788288 2491- meson: unbreak sysctl.h detection on BSDs 2492- anv: disable i915_perf warning on non-Linux 2493 2494Jan Palus (1): 2495 2496- targets/opencl: fix build against LLVM>=10 with Polly support 2497 2498Jan Zielinski (1): 2499 2500- gallium/swr: Fix crashes in sampling code 2501 2502Jason Ekstrand (167): 2503 2504- intel/eu: Use non-coherent mode (BTI=253) for stateless A64 messages 2505- Revert "anv/gen12: Temporarily disable VK_KHR_buffer_device_address (and EXT)" 2506- vulkan: Allow destroying NULL debug report callbacks 2507- vulkan,anv: Add a common base object type for VkDevice 2508- anv: Stop clflushing events 2509- anv: Allocate CPU-side memory for events 2510- vulkan,anv: Add a base object struct type 2511- vulkan,anv: Move the DEFINE_HANDLE_CASTS macros to vk_object.h 2512- anv: Refactor setting descriptors with immutable sampler 2513- vulkan: Add run-time object type asserts in handle casts 2514- vulkan/wsi: Make wsi_swapchain inherit from vk_object_base 2515- anv/allocator: Add a start_offset to anv_state_pool 2516- vulkan/object: Always include the type 2517- anv,vulkan: Implement VK_EXT_private_data 2518- vulkan: Handle vkGet/SetPrivateDataEXT on Android swapchains 2519- nir: Make "divergent" a property of an SSA value 2520- util/list: Add a list pair iterator 2521- util/vma: Add an option to configure high/low preference 2522- util/vma: Add a debug print helper 2523- util/ra: Add [de]serialization support 2524- anv: Set 3DSTATE_VF_INSTANCING on the SVGS element 2525- anv: Set MOCS in 3DSTATE_CONSTANT_* on Gen9+ 2526- nir: Add some docs to the metadata types 2527- anv: Call vk_object_base_finish for image views 2528- anv: Fix descriptor set clean-up on BO allocation failure 2529- nir: Use 8-bit types for most info fields 2530- anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+ 2531- nir: Validate jump instructions as an instruction type 2532- nir: Use a switch statement in nir_handle_add_jump 2533- nir: Add documentation for each jump instruction type 2534- nir/clone: Re-use clone_alu for nir_alu_instr_clone 2535- nir: Add a new helper for iterating phi sources leaving a block 2536- nir: Add a store_reg helper and use the builder in phis_to_regs 2537- nir: Add const to nir_intrinsic_src_components 2538- nir/lower_double_ops: Rework the if (progress) tree 2539- nir/opt_deref: Report progress if we remove a deref 2540- nir/copy_prop_vars: Record progress in more places 2541- nir: Fix sources for image atomic fadd 2542- intel/vec4: Stomp the return type of RESINFO to UINT32 2543- intel/fs: Fix unused texture coordinate zeroing on Gen4-5 2544- intel/fs: Emit HALT for discard on Gen4-5 2545- anv/allocator: Compare to start_offset in state_pool_free_no_vg 2546- nir: Add a nir_metadata_all enum value 2547- nir: Add a nir_shader_preserve_all_metadata helper 2548- nir: Call nir_metadata_preserve on !progress 2549- nir: Properly preserve metadata in more cases 2550- intel/nir: Call nir_metadata_preserve on !progress 2551- iris: Better handle metadata in NIR passes 2552- anv: Add an anv_batch_set_storage helper 2553- anv: Add anv_pipeline_init/finish helpers 2554- nir/intrinsics: Put the _intel intrinsics together at the end 2555- anv: Use resolve_device_entrypoint for dispatch init 2556- vulkan: Update Vulkan XML and headers to 1.2.145 2557- anv: Bump the advertised patch version to 145 2558- intel/fs: Expose a couple of NIR lowering helpers 2559- intel/fs: Break wm_prog_data setup into a helper 2560- intel/fs: Move more prog_data setup into populate_wm_prog_data 2561- intel/compiler: Expose brw_texture_offset to C 2562- intel/eu: Add a brw_urb_dest_msg_type helper 2563- intel/eu: Set the right subnr for ALIGN16 destinations 2564- intel/eu: Add the RNDU opcode 2565- vulkan/wsi: Don't consider VK_SUBOPTIMAL_KHR to be an error condition 2566- wsi/x11: Log swapchain status changes 2567- freedreno: Only call nir_lower_io on shader_in/out 2568- lima: Only call nir_lower_io on shader_in/out 2569- nouveau: Only call nir_lower_io on shader_in/out 2570- vc4: Only call nir_lower_io on shader_in/out 2571- v3d: Only call nir_lower_io on shader_in/out 2572- panfrost: Only call nir_lower_io on shader_in/out 2573- nir: Assert that nir_lower_io is only called with allowed modes 2574- nir: Remove shared support from lower_io 2575- nir: Add docs to nir_lower[_explicit]_io 2576- anv: Handle clamping of inverted depth ranges 2577- nir/validate: Don't abort() until after the shader has printed 2578- spirv: Skip phis in unreachable blocks in the second phi pass 2579- spirv: Allow block-decorated struct types for constants 2580- vulkan: Update Vulkan XML and headers to 1.2.148 2581- anv: Advertise VK_EXT_image_robustness 2582- spirv: Update headers and grammar json 2583- spirv: Add support for SPV_EXT_shader_atomic_float 2584- intel/fs: Use the correct logical op for global float atomics 2585- anv: Advertise support for VK_EXT_shader_atomic_float 2586- nir: Allow for system values with variable numbers of destination components 2587- nir/lower_io: Choose to set access based on intrinsic metadata 2588- nir/lower_io: Use b2b for shader and function temporaries 2589- nir/lower_io: Add support for global scratch addressing 2590- spirv: Simplify our handling of NonUniform 2591- spirv: Drop the void \*ptr from vtn_value 2592- spirv: Fix indentation in vtn_handle_ptr 2593- spirv: Clean up OpSignBitSet 2594- spirv: Use nir_bany/ball for OpAny/All 2595- spirv: Add a helpers for getting types of values 2596- spirv: Rename push_value_pointer to push_pointer 2597- spirv: Add a vtn_push_nir_ssa helper 2598- spirv/amd: Use vtn_push_nir_ssa 2599- spirv: Add a vtn_get_nir_ssa helper 2600- spirv: Use the new helpers in OpConvertUToPtr/PtrToU 2601- spirv: Refactor vtn_push_ssa 2602- spirv/alu: Use vtn_push_ssa_value 2603- spirv/glsl450: Use vtn_push_ssa_value 2604- spirv/subgroups: Stop incrementing w 2605- spirv/subgroups: Refactor to use vtn_push_ssa 2606- spirv: Simplify vtn_ssa_value creation 2607- spirv: Hand-roll fewer vtn_ssa_value creations 2608- spirv: Add better checks for SSA value types 2609- spirv: Drop the sampled boolean from vtn_type 2610- spirv: Give atomic counters their own variable mode 2611- spirv: Add a helper for getting the NIR type of a vtn_type 2612- spirv: Remove a dead case in function parameter handling 2613- spirv: More heavily use vtn_ssa_value in function parameter handling 2614- anv,turnip,radv,clover,glspirv: Run nir_copy_prop before nir_opt_deref 2615- spirv: Rework our handling of images and samplers 2616- spirv: Also copy over binding information for atomic counters 2617- nir: Take a mode in remove_unused_io_vars 2618- nir/dead_variables: Respect the modes passed to remove_dead_vars 2619- nir: Add nir_foreach_shader_in/out_variable helpers 2620- nir: Add a nir_foreach_function_temp_variable helper 2621- nir: Add a nir_foreach_uniform_variable helper 2622- nir: Add a nir_foreach_gl_uniform_variable helper for GL linking 2623- nir: Add and use a nir_variable_list_for_mode helper 2624- nir: Take a nir_shader and variable mode in assign_var_locations 2625- nir: Take a shader and variable mode in nir_assign_io_var_locations 2626- nir/linking: Rework some internal helpers 2627- st/nir: Rework fixup_varying_slots 2628- nir/split_vars: Add mode checks to list walks 2629- nir: Split nir_index_vars into two functions 2630- nir/lower_amul: Add a variable mode check 2631- nir: Use a nir_shader and mode in lower_clip_cull_distance_arrays 2632- nir/lower_io_to_temporaries: Use a separate list for new inputs 2633- nir/io_to_vector: Use nir_foreach_variable_with_modes 2634- nir/lower_two_sided_color: Use nir_variable_create 2635- nir/lower_uniforms_to_ubo: Use nir_foreach_variable_with_modes 2636- nir/split_per_member_structs: Use nir_variable_with_modes_safe 2637- nir/lower_variable_initializers: Restrict the modes we lower 2638- nir/gl_nir_linker: Use nir_foreach_variable_with_modes 2639- freedreno/ir3_lower_tess: Rework var list helpers 2640- lima/standalone: Rework i/o variable fixup 2641- freedreno/ir3_cmdline: Rework i/o variable fixup 2642- r600/sfn/lower_tess_io: Rework get_tcs_varying_offset 2643- r600/sfn/lower_tex: Get rid of the lower_sampler vector 2644- r600/sfn: Use nir_foreach_variable_with_modes in IO vectorization 2645- panfrost/midgard: Make search_var take a nir_shader and mode 2646- panfrost: Use nir_foreach_variable_with_modes in pan_compile 2647- aco: Use nir_foreach_variable_with_modes to walk SSBOs 2648- mesa/ptn: Use nir_variable_create 2649- gallium/ttn: Use variable create/add helpers 2650- nir: Use a single list for all shader variables 2651- nir/split_per_member_structs: Inline split_variables_in_list 2652- nir/gl_nir_linker: Call add_vars_with_modes once for GL_PROGRAM_INPUT 2653- nir: Add a find_variable_with\_[driver\_]location helper 2654- vulkan: Update Vulkan XML and headers to 1.2.149 2655- anv: Implement VK_EXT_4444_formats 2656- nir/deref: Don't try to compare derefs containing casts 2657- compiler/types: Add a struct_type_is_packed wrapper 2658- spirv: Do more complex unwrapping in get_nir_type 2659- anv: Advertise shaderIntegerFunctions2 2660- spirv: Don't emit RMW for vector indexing in shared or global 2661- clover/spirv: Don't call llvm::regularizeLlvmForSpirv 2662- intel/nir: Pass the nir_builder by reference in lower_alpha_to_coverage 2663- intel/nir: Rewrite the guts of lower_alpha_to_coverage 2664- intel/fs: Fix MOV_INDIRECT and BROADCAST of Q types on Gen11+ 2665- intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy 2666- iris: Re-emit push constants if we have a varying workgroup size 2667- spirv: Run repair_ssa if there are discard instructions 2668- nir: More NIR_MAX_VEC_COMPONENTS fixes 2669- intel/fs/swsb: SCHEDULING_FENCE only emits SYNC_NOP 2670- radeonsi: Only call nir_lower_var_copies at the end of the opt loop 2671 2672Jesse Natalie (10): 2673 2674- nir_lower_io: Add addr_format_is_offset helper 2675- nir: When nir_lower_vars_to_explicit_types is run on temps, update scratch_size 2676- nir: Support load/store of temps as scratch in nir_lower_explicit_io 2677- nir: Support vec8/vec16 in nir_lower_bit_size 2678- nir: Support algebraic opts on vectors larger than 4 2679- nir: Support 8 and 16 component vectors for reduceable intrinsics 2680- nir/vtn: Add support for 8 and 16 vector ball/bany 2681- u_debug_stack_test: Fix MSVC compiling by using ATTRIBUTE_NOINLINE 2682- nir: More NIR_MAX_VEC_COMPONENTS fixes 2683- glsl_type: Add packed to structure type comparison for hash map 2684 2685JibbityJobbity (1): 2686 2687- drirc: Enable glthread for PCSX2 2688 2689Jon Turney (1): 2690 2691- glthread: Fix use of alloca() without #include "c99_alloca.h" 2692 2693Jonathan Gray (13): 2694 2695- util: unbreak endian detection on OpenBSD 2696- util/anon_file: add OpenBSD shm_mkstemp() path 2697- meson: build with _ISOC11_SOURCE on OpenBSD 2698- meson: don't build with USE_ELF_TLS on OpenBSD 2699- meson: conditionally include -ldl in gbm pkg-config file 2700- util: futex fixes for OpenBSD 2701- util/u_thread: include pthread_np.h if found 2702- anv: use os_get_total_physical_memory() 2703- util/os_misc: add os_get_available_system_memory() 2704- anv: use os_get_available_system_memory() 2705- util/os_misc: os_get_available_system_memory() for OpenBSD 2706- radv: remove seccomp includes 2707- vulkan: make VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT conditional 2708 2709Jonathan Marek (135): 2710 2711- turnip: update "fetchsize" value to match fdl6_layout changes 2712- turnip: enable tiling for compressed formats 2713- util/format: translate 422_UNORM and 420_UNORM vulkan formats 2714- freedreno/registers: document 422_UNORM and 420_UNORM formats 2715- turnip: implement VK_KHR_sampler_ycbcr_conversion 2716- turnip: enable 422_UNORM formats 2717- freedreno: move a4xx specific layout code to a4xx code 2718- freedreno/a5xx: remove unused reference to gmem_alignw in layout code 2719- freedreno/a6xx: don't use gmem_alignw for imported buffers 2720- freedreno/a6xx: split up gmem/tile alignment requirements 2721- freedreno: reduce extra height alignment in a6xx layout 2722- freedreno/a6xx: use RESOLVE_TS event 2723- freedreno: add adreno 650 2724- freedreno/layout: add explicit offset/pitch argument to fdl6_layout 2725- turnip: support VkImageDrmFormatModifierExplicitCreateInfoEXT 2726- turnip: fix RENDER_COMPONENTS value 2727- turnip: move HLSQ_UPDATE_CNTL write to before xs config writes 2728- turnip: update some properties based on blob driver 2729- turnip: clamp sampler minLod/maxLod 2730- freedreno/a6xx: use nonbinning VS when GS is used 2731- turnip: correctly emit non-binning vs in transform feedback case 2732- turnip: fix HW binning with geometry shader 2733- turnip: use common emit_xs_cntl to fill a6xx_sp_xs_ctrl_reg0 2734- turnip: fix VFD_CONTROL for binning pass 2735- turnip: pipeline program state refactor 2736- turnip: share code between 3D blit/clear path and tu_pipeline 2737- turnip: add layered 3D path clear for CmdClearAttachments 2738- turnip: add emit renderpass cache flushes for sysmem 3D CmdClearAttachments 2739- turnip: remove some dead/redundant code 2740- freedreno/ir3: fix ir3_nir_move_varying_inputs 2741- turnip: remove duplicated stage2opcode and stage2shaderdb 2742- turnip: simplify stage2 helpers 2743- turnip: set VFD_INDEX_OFFSET in 3D clear/blit path 2744- turnip: fix 3D path always being used for CmdBlitImage 2745- turnip: fix cubic filtering with CmdBlitImage 2746- turnip: compute and graphics have completely separate state 2747- turnip: move descriptor set BO tracking to CmdBindDescriptorSets 2748- turnip: improve dirty bit handling a bit 2749- turnip: delete dead dynamic state code 2750- turnip: refactor draw states and dynamic states 2751- turnip: input attachment descriptor set rework 2752- turnip: use draw states for input attachments 2753- turnip: use u_format for packing gmem clear values 2754- freedreno/a6xx: FETCHSIZE is PITCHALIGN 2755- freedreno/fdl6: rework layout code a bit (reduce linear align to 64 bytes) 2756- turnip: fix a crash when rasterizerDiscardEnable is set 2757- turnip: fix a sample shading case 2758- turnip: fix renderpass gmem configs when there are too many attachments 2759- turnip: set the API version 2760- turnip: move enum translation functions to a common header 2761- freedreno/a6xx: VSC "STRM_ARRAY_PITCH" is "STRM_LIMIT" 2762- freedreno/a6xx: remove unnecessary OVERFLOW_FLAG_REG check 2763- turnip: remove unnecessary OVERFLOW_FLAG_REG check 2764- freedreno/a4xx: restore pitch to bytes change to layout code 2765- freedreno/a4xx: simplify setup_slices 2766- turnip: rework streamout state and add missing counter buffer read/writes 2767- turnip: refactor CmdDraw* functions (and a few fixes) 2768- turnip: enable VK_EXT_index_type_uint8 2769- turnip: implement CmdDrawIndirectByteCountEXT 2770- turnip: fix ts_cs_memory typo 2771- turnip: use pipeline cs for shader programs instead of separate bo 2772- freedreno/registers: a6xx depth bounds test registers 2773- turnip: implement depthBounds 2774- turnip: translate CreateRenderPass to CreateRenderPass2 2775- turnip: replace a memset(0) with zalloc in CreateRenderPass 2776- turnip: use RenderPassCreateInfo for render_pass_add_implicit_deps 2777- turnip: move some logic out of create_render_pass_common 2778- turnip: implement VK_EXT_vertex_attribute_divisor 2779- turnip: fix empty scissor case 2780- turnip: fix update_stencil_mask 2781- turnip: disable early_z for VK_FORMAT_S8_UINT 2782- freedreno/registers: add CP_DRAW_INDIRECT_MULTI 2783- freedreno/ir3: add support for load_draw_id 2784- turnip: implement VK_KHR_shader_draw_parameters 2785- turnip: fix VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES 2786- turnip: fix huge scissor min/max case 2787- freedreno/ir3: fix resinfo wrmask 2788- freedreno/regs: add extra bits for UBWC array pitch 2789- turnip: enable largePoints 2790- turnip: enable depthBiasClamp 2791- freedreno/registers: update varying-related registers 2792- freedreno/a3xx: support LINEAR_PIXEL/PERSP_CENTROID/LINEAR_CENTROID sysvals 2793- freedreno/a4xx: fake LINEAR_PIXEL varying support for u_blitter 2794- freedreno/ir3: add generic get_barycentric() 2795- freedreno/a5xx: set missing bary sysvals 2796- freedreno/a6xx: set missing bary sysvals 2797- turnip: set missing bary sysvals 2798- freedreno/ir3: add support for INTERP_MODE_NOPERSPECTIVE 2799- turnip: make tiling config part of framebuffer state 2800- turnip: rework render_tiles loop 2801- turnip: vsc improvements 2802- turnip: fix tess param bo size calculation 2803- turnip: clear_blit: pass aspect mask to setup function 2804- turnip: support multi-image layouts 2805- turnip: enable 420_UNORM formats 2806- freedreno/layout: fix explicit layout offset not added to slice offset 2807- freedreno/ir3: fix/rework tess levels 2808- Revert "nir: Add an option for lowering TessLevelInner/Outer to vecs" 2809- Revert "nir: Support sysval tess levels in SPIR-V to NIR" 2810- freedreno/regs: document SS6_UBO state src 2811- turnip: use global bo for clear blit shaders 2812- freedreno/ir3: add support for a650 tess shared storage 2813- freedreno/regs: document CS shared storage size bit 2814- freedreno/a2xx: fix compressed textures 2815- freedreno: add a fd_resource_pitch helper 2816- freedreno/layout: layout simplifications and pitch from level 0 pitch 2817- turnip: fix active_desc_sets not being set for compute pipeline 2818- freedreno/ir3: fix setup_input for sparse vertex inputs 2819- freedreno/ir3: run nir_opt_loop_unroll in optimization loop 2820- freedreno: fix layout pitchalign field not being set for imported buffers 2821- freedreno/regs: update primitive output related registers 2822- turnip: clean up primitive output state 2823- turnip: drop GS clear path 2824- turnip: use DIRTY SDS bit to avoid making copies of pipeline load state ib 2825- turnip: emit compute pipeline directly in CmdBindPipeline 2826- turnip: fix inconsistencies with tu6_load_state_size 2827- turnip: remove use of tu_cs_entry for draw states 2828- gitlab-ci: re-enable arm64_a630_vk 2829- freedreno/regs: update a6xx GRAS registers 2830- freedreno/regs: update a6xx RB regs 2831- freedreno/regs: update a6xx VPC regs 2832- freedreno/regs: update a6xx PC regs 2833- turnip: disable tiling for NV12/IYUV formats 2834- turnip: remove extra gmem alignment 2835- freedreno/ir3: fix wrong local_primitive_id_start type 2836- turnip: move WFI out of draw state to fix a650 hangs 2837- turnip: use patchControlPoints for HS_INPUT_SIZE value 2838- turnip: fix SP_HS_UNKNOWN_A831 value for A650 2839- turnip: workaround for a630 d24_unorm_s8_uint fails 2840- turnip: fix sysmem CmdClearAttachments 3D fallback breaking GMEM path flush 2841- turnip: delete tu_clear_sysmem_attachments_2d 2842- turnip: add support for D32_SFLOAT_S8_UINT 2843- turnip: rework extended formats to allow more extended formats 2844- util/format: translate A4R4G4B4_UNORM and A4B4G4R4_UNORM vulkan formats 2845- turnip: implement VK_EXT_4444_formats 2846 2847Jordan Justen (17): 2848 2849- intel/dev: Split .num_subslices out of GEN12_FEATURES macro 2850- intel/dev: Add device info for RKL 2851- intel/l3: Don't rely on cfg entry URB size being 0 as a sentinal 2852- intel/l3: Allow platforms to have no l3 configurations 2853- iris/l3: Enable L3 full way allocation when L3 config is NULL 2854- anv: Set L3 full way allocation at context init if L3 cfg is NULL 2855- intel/dev: Add device info for DG1 2856- iris: Make use of devinfo has_aux_map field 2857- anv: Make use of devinfo has_aux_map field 2858- anv/pipeline: Split VFE/INTERFACE_DESCRIPTOR out to emit_media_cs_state 2859- anv/cmd_buffer: Split GPGPU_WALKER out to emit_gpgpu_walker 2860- iris: Split walker and state update into iris_upload_gpgpu_walker 2861- iris/compute: Split out iris_load_indirect_location 2862- intel/compiler/cs: Allow simd32 in some more cases with no8 and/or no16 2863- intel/compiler/fs: Still attempt simd32 when INTEL_DEBUG=no16 is used 2864- iris: Add missing break in switch in modifier_is_supported 2865- anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+ 2866 2867Jose Maria Casanova Crespo (4): 2868 2869- v3d: Fix swizzle in DXT3 and DXT5 formats 2870- v3d: Include supported DXT formats to enable s3tc/dxt extensions 2871- vc4: don't relay on intr->num_components for non-vectorized intrinsics 2872- nir: only uniforms with dynamically_uniform offset are dynamically_uniform 2873 2874Joshua Ashton (7): 2875 2876- anv: Remove RANGE_SIZE usage 2877- radv: Remove RANGE_SIZE usage 2878- turnip: Remove RANGE_SIZE usage 2879- vulkan: Update Vulkan XML and headers to 1.2.140 2880- radv: Implement VK_EXT_custom_border_color 2881- radeonsi: Use TRUNC_COORD on samplers 2882- radv: Implement VK_EXT_4444_formats 2883 2884José Fonseca (3): 2885 2886- glthread: Add GLAPIENTRY to _mesa_marshal_MultiDrawArrays. 2887- appveyor: Upgrade pip. 2888- appveyor: Use Python3. 2889 2890Karol Herbst (50): 2891 2892- nir/deref: copy ptr_stride when rematerializing 2893- nir/validate: validate the stride for deref_ptr_as_array 2894- Revert "nir/validate: validate the stride for deref_ptr_as_array" 2895- nvir/nir: use component helpers instead of insn->num_components 2896- st/mesa: lower images when needed 2897- nir/lower_images: fix for array of arrays 2898- nir/lower_images: handle dec and inc 2899- nv50/ir/nir: move away from image_deref intrinsics 2900- nv50/ir/nir: handle image atomic inc and dec 2901- nv50/ir/nir: remove image uniform hack 2902- gv100/ir: fix atom cas 2903- gv100/ir: fix shift lowering 2904- gv100/ir: fix OP_TXG for shadow textures 2905- nv50/ir/nir: add workaround for double vertex attribs 2906- nv50/ir/print: add missing VIEWPORT_MASK handling 2907- nv50/ir/nir: fix ext_demote_to_helper_invocation 2908- nv50/ir/nir: fix nv_viewport_array2 2909- nvc0: enable spirv caps with nir 2910- nv50/ir/nir: don't emit a restart with set a stream_id 2911- nv50/ir/nir: handle clip vertex for tess eval shaders 2912- nv50/ir/nir: rework input output handling 2913- nv50/ir/nir: rework CFG handling 2914- nv50/ir/ra: convert some for loops to Range-based for loops 2915- nv50/ir/ra: fix memory corruption when spilling 2916- nv50/ir/nir: fix interpolation on explicit operations 2917- gv100/ir: implement sample shading 2918- gv100/ir: fix coherent and volatile memory access 2919- nv50/ir/nir: fix cache mode conversion 2920- nv50/ir: fix memset on non trivial types warning 2921- nv50/ir/tgsi: move call to tgsi_scan_shader inside Source constructor 2922- nvc0: set local mem size for compute on gv100 2923- nvc0: set sampler index mode to independently on gv100 compute 2924- gv100/ir: set ftz bit on floating point operations 2925- ci: bump libdrm to 2.4.102 2926- nouveau: enable HMM 2927- gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY 2928- nvc0: support PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY 2929- nouveau: expose HMM 2930- ci: need to install wget in order to download libdrm 2931- ci: bump libdrm to 2.4.102 2932- nouveau: enable HMM 2933- gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY 2934- nvc0: support PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY 2935- nouveau: expose HMM 2936- st/mesa: fix st_CopyPixels without support for stencil exports 2937- nv50/ir/tgsi: silence warning about unhandled GS_INPUT_PRIM property 2938- nv50/ir: initialize persampleInvocation to false 2939- nir/lower_io: assert that offsets are used for shader_in 2940- nv50/ir/nir: fix global_atomic_comp_swap 2941- spirv: extract switch parsing into its own function 2942 2943Kenneth Graunke (20): 2944 2945- iris: Include linux/sync_file.h instead of cut and pasting contents 2946- anv: Include linux/sync_file.h instead of cut and pasting contents 2947- iris: Rename iris_syncpt to iris_syncobj for clarity. 2948- iris: Give up on not passing ice to iris_init_batch 2949- iris: Destroy transfer slab after batches 2950- iris: Flush any current work in iris_fence_await before adding deps 2951- intel: Move anv_gem_supports_syncobj_wait to common code. 2952- iris: Detect DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT kernel support 2953- iris: Implement PIPE_FLUSH_DEFERRED support. 2954- intel: Delete hardcoded devinfo->urb.size values for Gen7+ (sans DG1). 2955- iris: Delete useless #define 2956- intel/eu: Add a brw_urb_desc helper 2957- CI: Disable Panfrost Mali-T820, Lima Mali-400 and Lima Mali-450 jobs 2958- intel: Disable loading drivers on DG1 devices for now 2959- nir: Fix divergence analysis for tessellation input/outputs 2960- iris: Implement pipe->texture_subdata directly 2961- iris: Fix CCS check in iris_texture_subdata(). 2962- iris: Delete shader variants when deleting the API-facing shader 2963- iris: Reorder the loops in iris_fence_await() for clarity. 2964- iris: Drop stale syncobj references in fence_server_sync 2965 2966Kristian Høgsberg (73): 2967 2968- freedreno/ir3: Pass stream output info to ir3_shader_from_nir 2969- freedreno/ir3: Rename ir3_nir_lower_to_explicit_io 2970- freedreno/ir3: Add ir3_nir_lower_to_explicit_input() pass 2971- freedreno/ir3: Lower GS builtins before lowering IO 2972- freedreno/ir3: Drop hack to clean up split vars 2973- freedreno/fdl: Align after dividing by block size 2974- freedreno/a6xx: Set tfetch correctly for compressed formats 2975- freedreno/ir3: Drop wrmask for ir3 local and global store intrinsics 2976- freedreno/a6xx: Create shader dependent streamout state at compile time 2977- freedreno/a6xx: Map inputs to VFD entries up front 2978- freedreno/a6xx: Allocate ringbuffer based on VFD count 2979- freedreno/a6xx: Emit VFD setup as array writes 2980- freedreno/a6xx: Avoid stalling for occlusion queries 2981- freedreno: Use the right amount of &'s 2982- freedreno: Use explicit \*_NONE enum for undefined formats 2983- turnip: Use hw enum when emitting A6XX_RB_STENCIL_CONTROL 2984- turnip: Use tu6_reduction_mode() to avoid warning 2985- turnip: Use {} initializer to silence warning 2986- freedreno/ir3: Avoid {0} initializer for struct reginfo 2987- src/util: Remove out-of-range comparison 2988- mapi: Fix a couple of warning in generated code 2989- mesa/st: Use memset to zero out struct 2990- egl/android: Move get_format under HAVE_DRM_GRALLOC guard where it's used 2991- egl/android: Drop unused variable 2992- freedreno/a6xx: Move per element offset to VFD_DECODE 2993- freedreno/a6xx: Decouple VFD_FETCH and VFD_DECODE 2994- freedreno/a6xx: Create stateobj for VFD_DECODE 2995- freedreno/a6xx: Program VFD_DEST_CNTL from program stateobj 2996- freedreno/a6xx: Turn on robustness extensions 2997- docs/features.txt: Update for freedreno 2998- freedreno/a6xx: Fix VFD_CONTROL emit 2999- freedreno/a6xx: Don't write REG_A6XX_RB_SRGB_CNTL in restore 3000- freedreno/a6xx: Set index buffer size to bo size 3001- freedreno: Handle DRM_FORMAT_MOD_INVALID in shared code 3002- turnip: Put VK_KHR_external_fence_fd stubs back 3003- freedreno/a6xx: Don't blit with R2D_RAW 3004- freedreno/a6xx: Move fd6_ifmt into fd6_blitter.c 3005- freedreno/a6xx: Split out src and dst setup helpers for blit 3006- freedreno/a6xx: Don't set unknown bit when tiling differs 3007- freedreno/a6xx: Set src and dst rects outside blit loop 3008- freedreno/a6xx: Program SP_2D_SRC_FORMAT outside blit loop 3009- freedreno/a6xx: Consolidate computing blit_cntl 3010- freedreno/a6xx: Don't emit src state when clearing 3011- freedreno/a6xx: Separate stencil sysmem clear fix 3012- freedreno/a6xx: Enable FMT6_10_10_10_2_UNORM blitting 3013- freedreno/a6xx: Make blit_control helper a little more helpful 3014- freedreno/a6xx: Program A6XX_SP_2D_SRC_FORMAT_COLOR_FORMAT based on dst format 3015- freedreno/a6xx: Move REG_A6XX_SP_2D_SRC_FORMAT programming to helper 3016- freedreno/a6xx: Move CP_SET_MARKER to setup helper 3017- freedreno/a6xx: Program RB_UNKNOWN_8C01 in setup helper 3018- freedreno/a6xx: Don't take pipe_blit_info in emit_blit_dst 3019- freedreno/a6xx: Split clear and blit texture into different functions 3020- freedreno/registers: Rename SP_2D_SRC_FORMAT 3021- turnip: Move device enumeration and feature discovery to tu_drm.c 3022- turnip: Move tu_bo functions to tu_drm.c 3023- turnip: Collapse some tu_drm wrappers 3024- turnip: Move remaining drm code to tu_drm.c 3025- turnip: Only include msm_drm in tu_drm.c 3026- egl/android: Remove unused variable 3027- mapi/test: Change type to unsigned for offset 3028- gallium: Switch u_debug_stack/symbol.c to util/hash_table.h 3029- util: Move stack debug functions to src/util 3030- util: Add unit test for stack backtrace caputure 3031- gallium/android: Rewrite backtrace helper for android 3032- ci: Include enough Android headers to let us compile test EGL 3033- mapi: Mark TLS symbols as optional in glapi-symbols.txt 3034- turnip: Make tu_android.c compile again 3035- meson: Define ANDROID and ANDROID_API_LEVEL when compiling for Android 3036- anv: Pass device to setup_gralloc0_usage for error reporting 3037- anv: Add stub for anv_gem_get_tiling() for Android 3038- vulkan: Allow global symbol HMI for Android 3039- radv/android: Remove unused variable 3040- ci: Add a build test for the Android platform 3041 3042Krzysztof Raszkowski (1): 3043 3044- gallium/swr: Fix building swr with MSVC 3045 3046Laura Ekstrand (3): 3047 3048- docs: include meson in the toctree 3049- docs: Remove version. 3050- docs: Add the favicon to the new page. 3051 3052Leo Liu (3): 3053 3054- radeon/vcn: reset the decode flags from message buffer 3055- radeon/vcn: add Sienna to use internal register offset 3056- radeon/vcn/dec: add db_aligned_height to message buffer 3057 3058Lepton Wu (3): 3059 3060- mapi: x86: Fix dynamic entries in x86 tsd stubs. 3061- mapi: Return NULL function pointers for GL_EXT_debug_marker 3062- egl: Allow software rendering for vgem/virtio_gpu in platform_device 3063 3064Lionel Landwerlin (60): 3065 3066- drm-shim: move handle lock to shim_fd 3067- drm-shim: don't create a memfd per BO 3068- drm-shim: silence warnings 3069- intel/dev: print out error when platform is not found by name 3070- intel: add stub_gpu tool 3071- ci: Add intel to shaderdb runs 3072- iris: don't assert on unfinished aux import in copy paths 3073- anv: don't expose VK_INTEL_performance_query without kernel support 3074- anv: fix alignments for uniform buffers 3075- genxml: run sorting script 3076- genxml: fix invalid end value for video fields 3077- genxml: factor out utility functions 3078- genxml: pack: deal with default field not being simple integers 3079- intel/genxml: fix bits generation for MI_LOAD_REGISTER_IMM 3080- intel/mi-builder: add framework for self modifying batches 3081- anv: don't reserve a particular register for draw count 3082- anv: add a new execution mode for secondary command buffers 3083- intel/genxml: add PIPE_CONTROL command cache invalidate bit 3084- intel/perf: make pipeline statistic query loading optional 3085- intel/perf: store the appropriate OA formats in queries 3086- intel/perf: update generated code to ralloc all data 3087- intel/perf: create a unique list of counters 3088- intel/perf: compute number of passes for a set of counters 3089- intel/perf: emit counter units in generated code 3090- intel/perf: add helper to compute metrics from counters 3091- intel/perf: add counter category to generated code 3092- intel/perf: report whether the platform supported 3093- anv: use a query filled by the perf code 3094- intel/perf: reuse offset specified in the query 3095- anv: Implement VK_KHR_performance_query 3096- intel/perf: repurpose INTEL_DEBUG=no-oaconfig 3097- anv: fixup unwinding of device create failure 3098- blorp: rename workaround address function 3099- anv: store the workaround address 3100- iris: store workaround address 3101- i965: store workaround_bo offset 3102- intel: add identifier for debug purposes 3103- iris: add identifier BO 3104- i965: add identifier BO 3105- anv: add identifier BO 3106- intel/aub_error_decoder: print driver identifier if found 3107- iris: fix BO destruction in error path 3108- i965: don't forget to set screen on duped image 3109- iris: fix export of GEM handles 3110- i965: fix export of GEM handles 3111- anv: add an option to disable secondary command buffer calls 3112- anv: garbage collect timeline semaphore when querying value 3113- iris: fix fallback to swrast driver 3114- anv: fix uninitialized variable access 3115- anv: properly handle fence import of sync_fd = -1 3116- anv: fix descriptor set free 3117- anv: fix incorrect realloc failure handling 3118- anv: centralize vk to gen arrays 3119- anv: fix up dynamic clip emission 3120- anv: don't fail userspace relocation with perf queries 3121- anv: fix transform feedback surface size 3122- anv: VK_INTEL_performance_query interaction with VK_EXT_private_data 3123- intel/perf: store query symbol name 3124- intel/perf: fix raw query kernel metric selection 3125- intel/compiler: fixup Gen12 workaround for array sizes 3126 3127Liviu Prodea (1): 3128 3129- util: Make process_test path compatible with mingw native toolchains 3130 3131Louis-Francis Ratté-Boulianne (1): 3132 3133- nir: Always create UBO variable when lowering uniforms to ubo 3134 3135Lucas Stach (3): 3136 3137- etnaviv: generalize FE stall before loading shader and sampler states 3138- etnaviv: retarget transfer to render resource when necessary 3139- etnaviv: don't expose timer queries 3140 3141Luigi Santivetti (3): 3142 3143- dri2: dri2_make_current() fold multiple if blocks 3144- dri2: do not conflate unbind and bindContext() failure 3145- egl/dri2: try to bind old context if bindContext failed 3146 3147Marcin Ślusarz (24): 3148 3149- i965: remove unused variable 3150- glsl_to_tgsi: add fallthrough comments 3151- glsl: cleanup vertex shader input checks 3152- iris: remove unused iris_bo->swizzle_mode 3153- intel/compiler: fix Android build 3154- st/mesa: fix reporting of float perf counters max value 3155- iris: return max counter value for AMD_performance_monitor 3156- iris: remove iris_monitor_config 3157- intel/perf: move query_mask and location out of gen_perf_query_counter 3158- iris: propagate error from gen_perf_begin_query to glBeginPerfQueryINTEL 3159- i965: propagate error from gen_perf_begin_query to glBeginPerfQueryINTEL 3160- util: fix possible fd leaks in os_socket_listen_abstract 3161- glsl: catch out of bounds access in the debug version 3162- util: fix possible buffer overflow in util_get_process_exec_path 3163- util/format: initialize non-important components to 0 3164- mesa: fix out of bounds access in glGetFramebufferParameterivEXT 3165- mesa: quiet down static analyzers 3166- iris: quiet down static analyzers 3167- intel/vec4: fix out of bounds read 3168- intel/perf: fix performance counters availability after glFinish 3169- anv: refresh cached current batch bo after emitting some commands 3170- anv: fix minor gen_ioctl(I915_PERF_IOCTL_CONFIG) error handling issue 3171- intel/perf: split load_oa_metrics 3172- intel/perf: export performance counters sorted by [group|set] and name 3173 3174Marek Olšák (226): 3175 3176- mesa: optimize glPush/PopClientAttrib by removing malloc overhead 3177- mesa: don't call _mesa_update_state for _mesa_get_clamp_fragment_color 3178- mesa: don't set unnecessary program flags in _mesa_update_state 3179- mesa: don't update shaders on fixed-func state changes if user shaders are bound 3180- mesa,st/mesa: add a fast path for non-static VAOs 3181- mesa: inline vbo_context inside gl_context to remove vbo_context dereferences 3182- mesa: add glInternalBufferSubDataCopyMESA for glthread 3183- mesa: add _mesa_InternalBind{ElementBuffer,VertexBuffers} for glthread 3184- glthread: do glBufferSubData as unsynchronized upload + GPU copy 3185- glthread: don't use atomics for refcounting to decrease overhead on AMD Zen 3186- glthread: track pointers and strides for Pointer & EXT_dsa attrib functions 3187- glthread: track instance divisor changes 3188- glthread: track primitive restart state 3189- glthread: initialize VAOs properly 3190- glthread: handle POS vs GENERIC0 aliasing 3191- glthread: handle gl{Push,Pop}ClientAttrib{DefaultEXT} for glthread states 3192- glthread: upload non-VBO vertices and indices for non-Indirect non-IBM draws 3193- tgsi_to_nir: handle TGSI_SEMANTIC_BLOCK_SIZE 3194- tgsi_to_nir: handle TGSI_OPCODE_BARRIER 3195- radeonsi: unify and align down the max SSBO/TBO/UBO buffer binding size 3196- radeonsi: clean up and deduplicate code around internal compute dispatches 3197- radeonsi: bind shader images after DCC is disabled for image stores 3198- radeonsi: add SI_IMAGE_ACCESS_DCC_OFF to ignore DCC for shader images 3199- radeonsi: implement and use compute-based DCC decompression on gfx9-10 3200- radeonsi: add a workaround to fix KHR-GL45.texture_view.view_classes on gfx9 3201- radeonsi: fix si_compute_clear_render_target with render condition enabled 3202- radeonsi: revert an accidental change in si_clear_buffer 3203- Revert "ac/surface: remove RADEON_SURF_TC_COMPATIBLE_HTILE and assume it's always set" 3204- Revert "ac: reassociate FP expressions for inexact instructions for radeonsi" 3205- ac/surface: fix MSAA crash with FORCE_SWIZZLE_MODE on gfx9 3206- radeonsi: don't wait for idle at the end of gfx IBs 3207- ac/surface: unset RADEON_SURF_TC_COMPATIBLE_HTILE if HTILE hasn't been computed 3208- radeonsi/gfx9: always use IMG_DATA_FORMAT_S8_32 for 8-bit stencil 3209- radeonsi: allow tc_compatible_htile to be mutable 3210- radeonsi: enable TC-compatible HTILE on demand for best Z/S performance 3211- tgsi_to_nir: translate non-vec4 image stores correctly 3212- radeonsi: fix compilation of monolithic PS 3213- amd: update amdgpu_drm.h 3214- amd: remove duplicated definitions from amdgpu_drm.h 3215- amd: assume CMASK is always rb/pipe_aligned, remove ac_surface.u.gfx9.cmask 3216- amd: assume HTILE is always rb/pipe_aligned, remove ac_surface.u.gfx9.htile 3217- ac/surface,radeonsi: move the set/get_bo_metadata code to ac_surface.c 3218- ac/surface,radeonsi: move the set/get_umd_metadata code into ac_surface.c 3219- amd: unify code for overriding offset and stride for imported buffers 3220- ac/surface: override all offsets including metadata offsets 3221- ac/surface: fix broken pitch override on gfx8 3222- gallium: rename 'state tracker' to 'frontend' 3223- gallium: change comments to remove 'state tracker' 3224- gallium: rename PIPE_RESOURCE_FLAG_ST_PRIV to FRONTEND_PRIV 3225- gallium: remove more "state tracker" occurences 3226- radeonsi: also enable tgsi_to_nir caching for compute shaders 3227- glthread: stop using GLenum16 to get correct GL errors for out-of-bounds enums 3228- radeonsi: don't expose 16xAA on chips with 1 RB due to an occlusion query issue 3229- ac/nir: honor ACCESS_STREAM_CACHE_POLICY for L1 and L0 caches too 3230- radeonsi: use correct clear value size for EQAA in expand_fmask 3231- radeonsi: optimize access pattern for compute blits with linear textures 3232- radeonsi: tweak clear/copy_buffer limits when to use compute 3233- radeonsi: simplify setting resource usage for si_init_temp_resource_from_box 3234- radeonsi: rename SI_RESOURCE_FLAG_TRANSFER to FORCE_LINEAR 3235- radeonsi: use vi_dcc_enabled instead of using tex->surface.dcc_offset directly 3236- radeonsi: use display_dcc_offset for setting displayable_dcc_cb_mask 3237- winsys/amdgpu: add RADEON_FLAG_UNCACHED for faster blits over PCIe 3238- radeonsi: disable the L2 cache for most CPU mappings of textures 3239- radeonsi: disable the L2 cache for CPU read mappings of buffers 3240- radeonsi: compute perf tests - don't test 1 wave/SA limit, test no limit first 3241- radeonsi: test uncached clear/copy buffer performance with compute shaders 3242- gallium/u_threaded: execute transfer_unmap with THREAD_SAFE directly 3243- ac/gpu_info: compute the best safe IB alignment 3244- ac/surface: don't compute single-sample CMASK if it's unaligned 3245- radeonsi: don't use INDIRECT_BUFFER within IBs 3246- radeonsi: decrease the max GS invocation count to 32 3247- Revert "radeonsi: don't wait for idle at the end of gfx IBs" 3248- ac: update register and packet definitions for preemption 3249- radeonsi: move resetting tracked registers into a new function 3250- radeonsi: split si_all_descriptors_begin_new_cs and rename functions 3251- radeonsi: don't enable TC-compatible HTILE for stencil if stencil doesn't use it 3252- radeonsi/gfx8: enable TC-compatible HTILE from the beginning as before 3253- radeonsi: don't hardcode most perf counter block counts 3254- ac/gpu_info: replace num_good_cu_per_sh with min/max_good_cu_per_sa 3255- amd: replace SH -> SA (shader array) in comments 3256- radeonsi/gfx10: implement most performance counters 3257- glthread: don't upload for glDraw inside a display list and always sync 3258- nir: add i2imp and u2ump opcodes for conversions to mediump 3259- nir: add int16 and uint16 type helpers 3260- nir: lower int16 and uint16 in nir_lower_mediump_outputs 3261- nir: fix lower_wpos for 16-bit fddy 3262- nir: add options::vectorize_vec2_16bit to limit vectorization to vec2 16 3263- glsl: treat lowp as mediump when lowering builtins 3264- glsl: handle int16 and uint16 types and add instructions for mediump 3265- glsl: lower mediump integer types to int16 and uint16 3266- glsl: lower mediump partial derivatives 3267- glsl: lower the precision of imageLoad 3268- glsl: lower samplers with highp coordinates correctly 3269- gallium: add shader caps INT16 and FP16_DERIVATIVES 3270- ac: rename has_double_rate_fp16 -> has_packed_math_16bit 3271- ac/nir: use more types from ac_llvm_context 3272- ac/nir: support vector types in the type suffix of overloaded intrinsics 3273- ac/nir: remove type and num_channels args from ac_build_buffer_store_common 3274- ac/nir: support 16-bit data in buffer_load_format opcodes 3275- ac/nir: support 16-bit data in image opcodes 3276- ac/nir: handle nir_op_[fiu]2[fiu]mp opcodes 3277- ac/nir: select v_cvt_pkrtz for all conversions from f32 to f16 for radeonsi 3278- ac/nir: set the second v_cvt_pkrtz argument to undef if it's unused 3279- ac/nir: support v2f16 derivatives 3280- nir: don't count samplers and images in interface blocks 3281- nir: gather which images are buffers 3282- nir: gather which images are MSAA 3283- radeonsi: remove unused leftover code for INDIRECT_BUFFER inside IBs 3284- radeonsi: remove const_buffers_declared hacks 3285- radeonsi: pass at most 3 images and/or shader buffers via user SGPRs for compute 3286- radeonsi: add a hack to disable TRUNC_COORD for shadow samplers 3287- gallium/u_vbuf: get rid of some pointer dereferences 3288- gallium/u_vbuf: add a faster path for uploading non-interleaved attribs 3289- glthread: sync in glFlush for multiple contexts 3290- radeonsi: enable ARB_sparse_buffer 3291- ac,radeonsi: replace == GFX10 with >= GFX10 where it's needed 3292- ac,radeonsi: start adding support for gfx10.3 3293- ac/surface: add displayable DCC code for gfx10.3 3294- radeonsi: honor a user-specified pitch on gfx10.3 3295- radeonsi: enable larger SDMA clears and copies on gfx10.3 3296- radeonsi: implement R9G9B9E5 render target and image store support on gfx10.3 3297- radeonsi: move L2_CACHE_CONTROL registers into si_emit_framebuffer_state 3298- radeonsi: set BIG_PAGE fields on gfx10.3 3299- radeonsi: don't set any XNACK options on gfx10.3 3300- ac: align num_vgprs for gfx10.3 3301- radeonsi: add support for Sienna Cichlid 3302- radeonsi: require LLVM 11 for gfx10.3 3303- ac/surface: don't recompute the DCC retile map for imported textures 3304- amd/addrlib: don't recompute DCC info for every ComputeDccAddrFromCoord call 3305- amd/addrlib: remove unused members of ADDR2_COMPUTE_DCC_ADDRFROMCOORD_INPUT 3306- ac/surface: add a wrapper structure to hold ADDR_HANDLE 3307- ac/surface: cache DCC retile maps (v2) 3308- amd/addrlib: fix the C++ one definition rule violation 3309- ac/surface: don't set is_displayable if displayable DCC is missing 3310- ac/surface: require that gfx8 doesn't have DCC in order to be displayable 3311- ac/surface: enable DCC for the first level in the mip tail on gfx10 3312- ac/surface: don't free dcc_retile_map on failure 3313- radeonsi: compact MRTs to save PS export memory space 3314- ac/nir: fix 64-bit division for GL CTS 3315- glapi: fix incorrect param names in ARB_vertex_attrib_binding functions 3316- glthread: rename non_vbo_attrib_mask -> user_buffer_mask, attribs -> buffers 3317- glthread: handle ARB_vertex_attrib_binding 3318- radeonsi: don't wait for idle at the end of gfx IBs 3319- radeonsi: replace ctx->screen with sscreen in si_flush_gfx_cs 3320- glsl,driconf: add allow_glsl_120_subset_in_110 for SPECviewperf13 3321- driconf: add workarounds for SPECviewperf13 3322- amd: add proper definitions for NOP packets 3323- ac,winsys/amdgpu: align IBs the same as the kernel 3324- radeonsi: don't add the border color buffer into the init_config state 3325- radeonsi: rename init_config states to cs_preamble states 3326- radeonsi: don't add the tess ring buffers into the cs_preamble state 3327- radeonsi: make wait_mem_scratch unmappable 3328- radeonsi: disallow adding BOs into si_pm4_state except 1 shader BO per state 3329- radeonsi: make si_pm4_cmd_begin/end static and simplify all usages 3330- radeonsi: clear per-context buffers at the end of si_create_context 3331- radeonsi: remove tabs 3332- radeonsi: don't flush in fence_server_sync 3333- ac/gpu_info: fix num_physical_sgprs_per_simd for gfx10 3334- radeonsi: fix NGG culling for Wave64 3335- radeonsi: always use Wave32 for GS fast launch, because Wave64 hangs 3336- radeonsi: always use Wave64 for HS/GS/VS shader stages (except GS fast launch) 3337- radeonsi: don't try to enable NGG culling for GS 3338- radeonsi: add a debug option to enable NGG culling for tessellation 3339- glsl: make print_type non-static for debugging 3340- glsl: print precision qualifiers in IR dumps 3341- glsl: print constant initializers 3342- glsl: fix the type of ir_constant_data::u16 3343- glsl: fix evaluating float16 constant expression matrices 3344- glsl: run validate_ir_tree if GLSL_VALIDATE=1 regardless of the build config 3345- glsl: validate more stuff 3346- glsl: convert reusable lower_precision util code into helper functions 3347- glsl: remove the return type from lower_precision 3348- glsl: cleanups in lower_precision 3349- glsl: flatten a tautological conditional in lower_precision 3350- glsl: don't lower precision of textureSize 3351- glsl: don't lower builtins to mediump that don't allow it 3352- glsl: lower builtins to mediump that ignore precision of certain parameters 3353- glsl: lower builtins to mediump that always return mediump or lowp 3354- glsl: add capability to lower mediump array types 3355- glsl: lower mediump temporaries to 16 bits except structures (v2) 3356- gallium: add PIPE_SHADER_CAP_GLSL_16BIT_TEMPS for LowerPrecisionTemporaries 3357- Revert "ac/surface: require that gfx8 doesn't have DCC in order to be displayable" 3358- glsl: don't validate array types in ir_dereference_variable 3359- radeonsi: prevent a gfx10_ngg_calculate_subgroup_info failure for TES+NGG GS 3360- radeonsi: add missing initialization of registers 3361- radeonsi/gfx10: set the correct value for OFFCHIP_BUFFERING 3362- radeonsi: sort registers in si_emit_initial_compute_regs according to GPU gen 3363- radeonsi: sort registers in si_init_cs_preamble_state according to GPU gen 3364- ac: add helper ac_get_register_name 3365- ac: add tables for CP register shadowing 3366- winsys/amdgpu: make amdgpu_bo_unmap non-static 3367- radeonsi: make cs_preamble_state optional 3368- radeonsi: reorder code in update_gs_ring_buffers and init_tess_factor_ring 3369- radeonsi: implement CP register shadowing 3370- radeonsi: add reg shadowing codepaths to GS and tess ring setup 3371- radeonsi: add debug code for register shadowing 3372- radeonsi: don't restore states at the beginning of IBs if they're shadowed 3373- radeonsi: set up IBs for preemption 3374- radeonsi: enable preemption if the kernel enabled it 3375- amd: rename SIENNA -> SIENNA_CICHLID 3376- amd: add support for Navy Flounder 3377- amd: enable displayable DCC for everything newer than Navi1x 3378- radeonsi: disable SDMA on gfx9 3379- radeonsi: reorder NIR optimizations 3380- radeonsi: call nir_split_array_vars/shrink_vec_array_vars/opt_find_array_copies 3381- glsl: lower_precision - fix assertion failure with dereferences of constants 3382- glsl: fix constant expression evaluation for 16-bit types 3383- glsl: don't lower atomic functions to mediump 3384- glsl: don't create conversion opcodes for array types 3385- glsl: don't lower to mediump for desktop OpenGL 3386- glsl: improve precision determination for calls 3387- Revert "radeonsi: honor a user-specified pitch on gfx10.3" 3388- radeonsi: use correct wave size in gfx10_ngg_calculate_subgroup_info 3389- radeonsi: use the same units for esgs_ring_size and ngg_emit_size 3390- radeonsi: increase minimum NGG vertex count requirement per workgroup on gfx 10.3 3391- radeonsi: fix applying the NGG minimum vertex count requirement 3392- radeonsi: don't count unusable vertices to the NGG LDS size 3393- radeonsi: add a common function for getting the size of gs_ngg_scratch 3394- radeonsi: remove the NGG hack decreasing LDS usage to deal with overflows 3395- radeonsi: various fixes for gfx10.3 3396- radeonsi: disable NGG culling on gfx10.3 because of hangs 3397- st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred 3398- radeonsi: fix tess levels coming as scalar arrays from SPIR-V 3399- gallivm: fix build on LLVM 12 due to LLVMAddConstantPropagationPass removal 3400- ac/llvm: fix unaligned VS input loads on gfx10.3 3401- Revert "ac: generate FMA for inexact instructions for radeonsi" 3402 3403Marek Vasut (3): 3404 3405- etnaviv: Disable seamless cube map on GC880 3406- etnaviv: Remove etna_resource_get_status() 3407- etnaviv: Add lock around pending_ctx 3408 3409Mario Kleiner (1): 3410 3411- vulkan/wsi: Really terminate DRM lease in wsi_release_display(). 3412 3413Mathias Fröhlich (2): 3414 3415- st/mesa: Move _NEW_FRAG_CLAMP to NewFragClamp driver flag. 3416- mesa: set _NEW_FRAG_CLAMP only when needed 3417 3418Matt Turner (22): 3419 3420- intel/compiler: Drop opt_sampler_eot() 3421- intel/tools: Remove unnecessary reg number checking 3422- intel/tools: Drop srctype from ipreg 3423- intel/tools: Require explicit regions/types for special regs 3424- intel/tools: Disallow control subregisters > 3 3425- intel/tools: Add assembler tests for the cr0 register 3426- intel/compiler: Add assert that set bits are within mask 3427- intel/compiler: Don't emit no-op cr0 changes 3428- intel/tools: Fix typos 3429- intel/tools: Remove stray newline 3430- intel/tools: Don't allow empty type specifier 3431- intel/tools: Simplify register type handling 3432- intel/tools: Make swizzle an integer 3433- intel/tools: Make writemask an integer 3434- intel/tools: Simplify immediate handling 3435- intel/tools: Simplify dstregion 3436- intel/compiler: Relax SENDS regioning assertions 3437- intel/tools: Pass integers, not enums, to stride() 3438- intel/tools: Manually set ARF register file/nr/subnr 3439- intel/tools: Don't hardcode notification register 3440- intel/tools: Simplify notification register handling 3441- intel/tools: Test notification subregisters 3442 3443Mauro Rossi (17): 3444 3445- android: iris: add iris_seqno.{c,h} to Makefile.sources 3446- freedreno/drm: android: add libfreedreno_registers static dependency 3447- freedreno: android: add adreno-pm4-pack.xml.h generation to android build 3448- android: util: fix build for GL4.1 support 3449- android: svga: fix build for GL4.1 support 3450- android: aco: add aco_ir.cpp to Makefile.sources 3451- android: nvir/gv100: update sources in Makefile.sources 3452- android: freedreno: add fd5_layout.c to Makefile.sources 3453- android: freedreno/ir3: add missing generated sources and rules 3454- android: freedreno/ir3: simplify generated sources rules 3455- android: panfrost/encoder: add libmesa_nir static dependency 3456- radv: fix build on Android 7 (v2) 3457- android: freedreno/registers: fix generated headers rules 3458- android: freedreno/ir3: fix include paths 3459- android: freedreno/common: add support for libfreedreno_common static 3460- android: freedreno: move a2xx disasm out of gallium 3461- android: freedreno/common: add libmesa_git_sha1 static dependency 3462 3463Michel Dänzer (38): 3464 3465- gitlab-ci: Use YAML anchor for llvmpipe paths in virgl rules 3466- gitlab-ci: Update to current templates 3467- gitlab-ci: Move down container_pre_build.sh invocation in x86_build.sh 3468- gitlab-ci: Add Debian testing repository for x86_build image 3469- gitlab-ci: Install WINE from Debian testing 3470- gitlab-ci: Move lib{drm,pciaccess}-dev cross packages out of loop 3471- gitlab-ci: Install g++-mingw-w64-x86-64-win32 instead of mingw-w64 3472- Revert "ac,radeonsi: fix compilations issues with LLVM 11" 3473- Revert "gallium/gallivm: fix compilation issues with llvm 11" 3474- gitlab-ci: Enable -Werror in `meson-s390x` job 3475- gitlab-ci: Also list arm/x86_build in needs: of test jobs 3476- gitlab-ci: x86_test-base image as common base for x86_test-gl/vk 3477- gitlab-ci: Pull in GCC 9 from Debian testing in x86_test-gl/vk images 3478- gitlab-ci: Move LLVM/clang 6/7 packages to the x86_build_old image 3479- gitlab-ci: Use Debian 10 wine-development packages 3480- gitlab-ci: Stop using packages from Debian testing 3481- gitlab-ci: Move meson back to x86_test-gl/vk ephemeral packages lists 3482- gitlab-ci: Add x86_build-base docker image 3483- gitlab-ci: Use separate docker images for cross builds 3484- loader/dri3: Add dri3_wait_for_event_locked full_sequence out parameter 3485- loader/dri3: Use dri3_wait_for_event_locked in loader_dri3_wait_for_msc 3486- loader/dri3: Check for window destruction in dri3_wait_for_event_locked 3487- gitlab-ci: Automatically run pipelines for Marge Bot pre-merge only 3488- gitlab-ci: Use rules: instead of except:/only: for test-docs job 3489- gitlab-ci: Extend .ci-run-policy template for docs jobs 3490- gitlab-ci: Do not create the "success" job when the test-docs job exists 3491- ci: Use "when: always" for pages job 3492- ci: Move deploy stage between container & build stages 3493- Revert "loader/dri3: Check for window destruction in dri3_wait_for_event_locked" 3494- gitlab-ci: Remove indirect dependencies from needs: 3495- gitlab-ci: Drop dependencies: 3496- Revert https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580 3497- gitlab-ci: Fix "triggered by Marge for a merge request" rule 3498- gitlab-ci: Only trigger test-docs job automatically for MRs 3499- ci: Use FDO_CI_CONCURRENT in run-shader-db.sh as well 3500- ci: Do not mark container / pages jobs as interruptible 3501- ci: Use half as many parallel softpipe / virgl test jobs 3502- ci: Use ignore_scheduled_pipelines anchor in .radeonsi-rules 3503 3504Michel Zou (1): 3505 3506- swr: fix build with mingw 3507 3508Mike Blumenkrantz (73): 3509 3510- zink: explicitly zero some arrays in ntv 3511- zink: add SpvId returns to a couple ntv functions 3512- zink: flush active queries on destroy and free query object 3513- zink: fix vkCmdResetQueryPool usage 3514- zink: reset query on-demand when beginning a new query from resume 3515- zink: always use logical eq ops in ntv with 1bit inputs 3516- zink: track program usages for each shader 3517- zink: emit interpolation decorations for ntv outputs 3518- zink: handle more glsl->spirv builtin translation 3519- zink: rework input/output location emission 3520- zink: use '2' variants for device props/feats, check features for ext enabling 3521- zink: add spirv builder util functions for emitting xfb decorations 3522- zink: add spirv_builder methods for OpVectorExtractDynamic and OpVectorInsertDynamic 3523- zink: implement streamout and xfb handling in ntv 3524- zink: implement transform feedback support to finish off opengl 3.0 3525- zink: set PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED and remove POS special casing 3526- zink: switch to passing VkPhysicalDeviceFeatures2 in VkDeviceCreateInfo 3527- zink: enable xfb extension in screen creation 3528- zink: use int assignment for vk int type 3529- zink: use correct define value for reserved slot count in ntv 3530- zink: clamp VkImageCreateInfo.arrayLayers to 1 for image resource creation 3531- zink: unify code for setting resource barriers 3532- zink: handle signed and unsigned min/max ops in ntv 3533- zink: add ult handling for ntv 3534- zink: add bitfield_reverse handling to ntv 3535- zink: lower byte/word extract ops in nir 3536- zink: handle ixor in ntv 3537- zink: handle isign alu in ntv 3538- zink: set lower_mul_high and lower_rotate in ntv compiler options 3539- zink: use OpFUnordNotEqual for nir_op_fne 3540- zink: set lower_uadd_carry in nir options 3541- zink: implement Vk_EXT_index_type_uint8 3542- nir: add lowering pass for clip plane enabling 3543- st/program: use nir_lower_clip_disable instead of nir_lower_clip_vs conditionally 3544- nir: add lowering pass for fragcolor -> fragdata 3545- zink: translate gl_FragColor to gl_FragData before ntv to fix multi-rt output 3546- u_prim_restart: handle user buffers in util_translate_prim_restart_ib() 3547- nir: allow nir_lower_point_size_mov to run in geometry shader 3548- nir: allow nir_lower_clip_halfz to run in geometry shaders 3549- zink: rework query handling 3550- zink: use #define for number of queries per-pool 3551- zink: only stall during query destroy for xfb queries 3552- zink: properly handle query pool overflows 3553- zink: only reset query pool on query end if current batch isn't in renderpass 3554- zink: use right vulkan type for GL_PRIMITIVES_GENERATED queries 3555- zink: handle ntv case of nested loop instructions more permissively 3556- zink: add lengthy comment and remove assert from discard_if ntv pass 3557- zink: use type of src[0] for ntv store and load ops 3558- zink: try copy_region hook for blits where we can't do a regular blit or resolve 3559- zink: block vkCmdBlitImage usage for multi sampled blits 3560- zink: block resolve blits for depth/stencil buffers 3561- zink: handle empty attachments 3562- zink: try to handle multisampled null buffers 3563- zink: enable tgsi texcoord pipe cap 3564- zink: destroy gfx program when a shader is freed 3565- zink: destroy descriptor pools on context destroy 3566- zink: free pipeline cache during program destroy 3567- zink: free all ntv allocations after creating shader module 3568- zink: use helper function to handle uvec/bvec types 3569- zink: handle texelFetchOffset with offsets 3570- zink: add some asserts for building access chains in ntv 3571- zink: omit Lod image operand in ntv when not using an image texture dim 3572- nir: allow lower_psiz_mov to run in tessellation stages 3573- nir\_ allow nir_lower_clip_halfz to run in tess eval shader 3574- u_prim_restart: handle indirect draws 3575- zink: add extension loading framework for spirv builder 3576- zink: implement VK_EXT_robustness2 3577- zink: clamp PIPE_SHADER_CAP_MAX_SHADER_BUFFERS to PIPE_MAX_SHADER_BUFFERS 3578- zink: handle VK_EXT_vertex_attribute_divisor setup 3579- zink: store valid timestamp bits onto zink_screen 3580- zink: implement handling for VK_EXT_calibrated_timestamps 3581- u_prim_restart: add inline function for getting restart index based on index size 3582- zink: reorder create_stream_output_target to fix failure case leak 3583 3584Miklós Máté (1): 3585 3586- docs: add some missing stuff to sourcetree.rst 3587 3588Nanley Chery (18): 3589 3590- iris: Drop can_fast_clear_color's format parameter 3591- iris: Remove the CCS_D fallback 3592- iris: Avoid fast-clear with incompatible view 3593- iris: Disable sRGB fast-clears for non-0/1 values 3594- intel: Add ISL_AUX_USAGE_GEN12_CCS_E 3595- iris: Don't support sRGB + Y_TILED_CCS on gen9 3596- iris: Use ISL_AUX_USAGE_GEN12_CCS_E on gen12 3597- isl/drm: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS 3598- gallium/dri2: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS 3599- iris: Handle importing aux-enabled surfaces on TGL 3600- iris: Refactor modifier_is_supported for gen12 3601- iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS 3602- iris: Zero the add-on clear color BO on import 3603- dri_util: Update internal_format to GL_RGB8 for MESA_FORMAT_B8G8R8X8_UNORM 3604- iris: Don't call SET_TILING for dmabuf imports 3605- gallium/dri2: Report correct YUYV and UYVY plane count 3606- iris: Fix aux assertion in resource_get_handle 3607- blorp: Fix alignment test for HIZ_CCS_WT fast-clears 3608 3609Nataraj Deshpande (3): 3610 3611- anv: Limit vulkan version to 1.1 for Android 3612- anv: Disable extensions based on Android versions 3613- dri_util: Update internal_format to GL_RGB8 for MESA_FORMAT_R8G8B8X8_UNORM 3614 3615Neha Bhende (6): 3616 3617- util: Initialize pipe_shader_state for passthrough and transform shaders 3618- util: Add util functionality for GL4.1 support 3619- winsys/drm: Add GL4.1 support in drm winsys 3620- svga/include: Headers for GL4.1 support 3621- svga: Add GL4.1(compatibility profile) support in svga driver 3622- svga: Performance fixes 3623 3624Neil Armstrong (2): 3625 3626- Revert "CI: Disable Lima jobs due to lab unhealthiness" 3627- Revert "CI: Disable Panfrost Mali-T820 jobs" 3628 3629Neil Roberts (26): 3630 3631- nir/scheduler: Handle nir_intrinsic_load_per_vertex_input 3632- v3d: Remove unused member of v3d_compile 3633- nir/schedule: Store a pointer to the scoreboard in nir_deps_state 3634- nir/scheduler: Add an option to specify what stages share memory for I/O 3635- v3d: Let scheduler know GS doesn’t have shared I/O memory 3636- gallium: Add pipe cap for primitive restart with fixed index 3637- mesa: Add PrimitiveRestartFixedIndex to gl_constants 3638- v3d: Disable PIPE_CAP_PRIMITIVE_RESTART 3639- v3d: Add missing macro for stvpmd instruction 3640- v3d: Use stvpmd for non-uniform offsets in GS 3641- compiler: Add a system value for the line coord 3642- v3d: Implement the line coord intrinsic 3643- nir: Add intrinsics for the line width 3644- v3d: Handle the line width intrinsics 3645- v3d: Add a lowering pass for line smoothing 3646- v3d: Enable perpendicular line caps when line smoothing 3647- broadcom/qpu: set VC5_QPU_RADDR_A out of the switch at _pack_branch 3648- v3d/compiler: Fix sorting the gs and fs inputs 3649- v3d/compiler: Lower geometry output store base into offset src 3650- nir/scheduler: Move nir_scheduler to its own header 3651- nir/schedule: Store a pointer to the options struct in scoreboard 3652- nir/schedule: Add a callback for backend-specific dependencies 3653- v3d: Mark scheduling dependency for prim id and first output 3654- nir/schedule: Add an option for a fallback scheduling algorithm 3655- v3d: Changed v3d_compile:failed to an enum 3656- v3d: Retry with the fallback scheduler when RA fails 3657 3658Oschowa (5): 3659 3660- radv: Don't take absolute value of unsigned type. 3661- aco: Don't declare 'Block' as class, but define as struct. 3662- aco: Don't std::move temporary object. 3663- aco: Use correct reference type in for-range-loop. 3664- radv: Explicitly cast TIMESTAMP_NOT_READY value to uin32_t where needed. 3665 3666Pablo Saavedra (5): 3667 3668- ci: TRACES_DB_PATH and RESULTS_PATH defined as relative paths 3669- ci: ArgumentParser receives the args from the main parameters 3670- ci: Migrate tracie tests done in shell script to pytest 3671- ci: Split test_tracie_skips_traces_without_checksum in separate cases 3672- ci: Fix TypoError error when traces in traces.yml is an empty list 3673 3674Pavel Asyutchenko (1): 3675 3676- vulkan/overlay: fix crash on destroying NULL swapchain 3677 3678Peter Seiderer (3): 3679 3680- vc4_bufmgr: fix time_t printf 3681- pan_bo.h: add time.h include for time_t 3682- v3d_bufmgr: fix time_t printf 3683 3684Pierre Moreau (4): 3685 3686- clover/nir: Check the result of spirv_to_nir 3687- clover/api: Address missing braces for subobj init 3688- clover: Address unnecessary copy warnings 3689- clover/spirv: Remove unused tuple header 3690 3691Pierre-Eric Pelloux-Prayer (62): 3692 3693- radeonsi: fix export count 3694- mesa: add gl_coontext::ForceIntegerTexNearest 3695- driconf: add force_integer_tex_nearest option 3696- radeonsi: add workaround for issue 2647 3697- radeonsi: don't print gs_copy_shader stats for shaderdb 3698- glsl: init gl_FragColor if zero_init=true 3699- glsl: rework zero initialization 3700- glsl: add a is_implicit_initializer flag 3701- mesa: extend GLSLZeroInit semantics 3702- gallium: add a new cap PIPE_CAP_GLSL_ZERO_INIT 3703- ac/nir: export some undef as zero 3704- ac/surface: remove shadowing declaration 3705- amdgpu/radeon: add secure api 3706- radeonsi: add AMD_DEBUG=tmz option 3707- radeon: add RADEON_CREATE_ENCRYPTED flag 3708- radeonsi: allocate framebuffer texture as secure when using tmz 3709- amdgpu: add encrypted slabs support 3710- radeonsi: force using staging texture when uploading to secure texture 3711- radeonsi/sdma: implement tmz support 3712- gallium: PIPE_RESOURCE_FLAG_ENCRYPTED 3713- radeonsi: add support for PIPE_RESOURCE_FLAG_ENCRYPTED 3714- amdgpu: use AMDGPU_IB_FLAGS_SECURE when requested 3715- radeonsi: determine secure flag must be set for gfx IB 3716- radeonsi: do not use cmask with encrypted texture 3717- amd/addrlib: fix forgotten char -> enum conversions 3718- radeonsi: fix inversed arguments in si_test_gds_memory_management 3719- amdgpu: fix unitialized variable 3720- radeonsi/sdma: remove useless compare 3721- radeonsi/drirc: enable zerovram option for 7 Days to Die 3722- winsys/radeon: do not cast bo->va as void* 3723- radeonsi: add return value to gfx10_ngg_calculate_subgroup_info 3724- radeonsi/ngg: try GS multi-cycling mode if default mode failed 3725- ac/surface: set SCANOUT if surf->is_displayable 3726- ac/surface: fix epitch when modifying surf_pitch 3727- ac/llvm: load 1 byte at a time if unaligned on gfx10 3728- st/mesa: make texture views inherit compressed_data storage 3729- radeonsi: bump SI_NUM_SHADER_BUFFERS to 32 3730- st/mesa: do not clear NewDriverState for inactive states 3731- glsl: reject size1x8 for image variable with floating-point data types 3732- ac/llvm: remove the -1 hack from ac_atomic_inc_wrap 3733- glsl: don't expose imageAtomicIncWrap for signed image 3734- glsl: only allow 32 bits atomic operations on images 3735- glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins 3736- st/mesa: set compressed_data to NULL when freed 3737- bin/symbols-check.py: add --ignore-symbol argument 3738- ac/llvm: export ac_init_llvm_once in targets 3739- mesa: rename _mesa_free_errors_data 3740- mesa: add bool param to _mesa_free_context_data 3741- mesa/st: release debug_output after destroying the context 3742- ac/surface: adapt surf_size when modifying surf_pitch 3743- radeonsi: adjust epitch for PIPE_FORMAT_R8G8_R8B8_UNORM 3744- radeonsi: extend workaround for KHR-GL45.texture_view.view_classes on gfx9 3745- ac/llvm: handle static/shared llvm init separately 3746- mesa/st: introduce PIPE_CAP_NO_CLIP_ON_COPY_TEX 3747- radeonsi: enable PIPE_CAP_NO_CLIP_ON_COPY_TEX 3748- ac/llvm: add option to clamp division by zero 3749- radeonsi,driconf: add clamp_div_by_zero option 3750- radeonsi: use radeonsi_clamp_div_by_zero for SPECviewperf13, Road Redemption 3751- glsl: fix per_vertex_accumulator::fields size 3752- r600/uvd: set dec->bs_ptr = NULL on unmap 3753- radeon/vcn: set dec->bs_ptr = NULL on unmap 3754- mesa: fix glUniform* when a struct contains a bindless sampler 3755 3756Pierre-Loup A. Griffais (2): 3757 3758- radv: fix null descriptor for dynamic buffers 3759- radv: fix vertex buffer null descriptors 3760 3761Qiang Yu (6): 3762 3763- radeonsi: remove emacs style config file 3764- panfrost: don't always build bifrost_compiler 3765- radeonsi: fix syncobj wait timeout 3766- radeonsi: fix user fence space when MCBP is enabled 3767- radeonsi: fix max syncobj wait timeout 3768- radeonsi: fix user fence GPU address 3769 3770Rafael Antognolli (8): 3771 3772- intel: Store the aperture size in devinfo. 3773- intel/isl: Update mocs for DG1 3774- intel/l3: Return the URB size from devinfo for DG1 3775- intel/devinfo: Add function to check for DRM_I915_GEM_GET_TILING. 3776- iris/bufmgr: Do not use map_gtt or use set/get_tiling on DG1 3777- anv/dg1: Don't use SET_TILING kernel uapi. 3778- iris: Align last_seqnos to 64 bits. 3779- anv: Align "used" attribute to 64 bits. 3780 3781Rhys Kidd (5): 3782 3783- nv50_2d: regenerate envytools-based rnndb headers 3784- nv50_2d,nvc0_2d: Document SET_PIXELS_FROM_MEMORY_SAFE_OVERLAP from rnndb 3785- nvc0_2d: Document SET_PIXELS_FROM_MEMORY_CORRAL_SIZE from rnndb 3786- nvc0: fix macro define for NVE4_COPY() 3787- nvc0: add documentation for nve4+ (Kepler) COPY class 3788 3789Rhys Perry (174): 3790 3791- aco: remove use of f-strings 3792- aco: add message to static_assert 3793- nir: add missing group_memory_barrier handling 3794- compiler/spirv: flag nclamp/nmin/nmax as exact 3795- nir: make fsat return 0.0 with NaN instead of passing it through 3796- docs: add src/amd/ to sourcetree.html 3797- docs/envvars: document ACO_DEBUG 3798- docs/envvars: update RADV_FORCE_FAMILY 3799- aco: simplify consecutive ordered vmem/lds writes optimization 3800- aco: fix consecutively written vgprs from vmem instructions 3801- aco: mark phi definitions as last-seen phi operands 3802- aco: consider affinities when creating v_mac_f32 3803- aco: improve phi affinities with p_split_vector 3804- aco: split operations that use a swap's definition 3805- aco: fix disassembly with LLVM 11 3806- nir/opt_if: run opt_peel_loop_initial_if after all other optimizations 3807- nir/opt_if: use nir_src_as_bool in opt_peel_loop_initial_if helper 3808- aco: fix typo in insert_waitcnt's kill() 3809- nir: fix lowering to scratch with boolean access 3810- aco: fix interaction with 3f branch workaround and p_constaddr 3811- aco: consider SDWA during value numbering 3812- aco: check instruction format before waiting for a previous SMEM store 3813- aco: preserve more fields when combining additions into SMEM 3814- aco: don't reorder barriers in the scheduler 3815- aco: fix 64-bit shared_atomic_exchange 3816- docs: add missing "shader\_" in VK_KHR_shader_subgroup_extended_types 3817- radv: set keep_statistic_info with RADV_DEBUG=shaderstats 3818- ac/gpu_info, radv: set max_wave64_per_simd to 20 on GFX10 3819- aco: use v_xor3_b32 3820- aco: validate instructions reading/writing upper halves/bytes 3821- aco: p_extract_vector in 64-bit u2f16/i2f16 3822- aco: allow reading/writing upper halves/bytes when possible 3823- aco: prefer 4-byte aligned definitions 3824- aco: add Info::{operand_size,definition_size} 3825- aco: use Info::definition_size instead of definition's regclass 3826- aco: fix moving sub-dword values out of a register for a fixed definition 3827- aco: use num_opcodes instead of last_opcode 3828- aco: improve code for f2{i,u}{8,16} 3829- aco: use p_as_uniform in emit_vop1_instruction 3830- aco: add and set precise flag 3831- aco: create mads when signed zeros should be preserved 3832- aco: try to use fma instead of mad when denormals are enabled 3833- aco: create 16-bit mad/fma 3834- aco: update comment about preserving fp16/fp64 denormals 3835- aco: create 16-bit input and output modifiers 3836- aco: improve sub-dword check for sgpr/constant propagation 3837- aco: fix half_pi constant for 16-bit fsin/fcos 3838- aco: use 32-bit inline constants for 16-bit integer instructions 3839- aco: improve 8/16-bit constants 3840- aco: copy-propagate constants through p_extract_vector/p_split_vector 3841- aco: optimize 16-bit and 64-bit float comparisons 3842- aco: validate sub-dword pseudo instructions 3843- aco: add more opcodes to can_swap_operands 3844- aco: allow GFX9 partial writes with instructions which use opsel 3845- aco: improve check for moving temporaries out of fixed definitions 3846- aco: fix encoding of certain s_setreg_imm32_b32 instructions 3847- aco: fix validation error from vgpr spill/restore code 3848- aco: fix sub-dword opsel/sdwa checks 3849- aco: fix validation of opsel when set for the definition 3850- aco: shrink ssa_info 3851- aco: make ssa_info::label 64-bit 3852- aco: shrink mad_info 3853- aco: fix edge check with sub-dword temporaries 3854- aco: use the same regclass as the definition for undef phi operands 3855- radv: add new drirc option radv_no_dynamic_bounds 3856- radv: enable radv_no_dynamic_bounds for Path of Exile 3857- radv: enable radv_no_dynamic_bounds for more Path of Exile executables 3858- nir: slight correction to cube_face_coord constant folding 3859- spirv: set variables to restrict by default 3860- radv: fix image variable types in meta shaders 3861- aco: only use SMEM if we can prove it's safe 3862- aco: allow SMEM for some sub-dword accesses 3863- radv/aco,aco: allow SMEM SSBO loads on GFX6/7 3864- aco: fix copy+paste error in split_buffer_store 3865- aco: don't store byte-aligned short stores 3866- aco: add missing bld.scc() in byte_align_scalar() 3867- aco: don't create byte-aligned short loads 3868- aco: fix when sub-dword create_vector operand cannot be placed perfectly 3869- aco: improve vectorization of 8/16-bit loads/stores 3870- aco: ignore blocked registers when checking edges in get_reg_impl() 3871- aco: remove outdated assert in handle_operands() 3872- radv: enable zerovram for Quantic Dream games 3873- aco: use VOP2 version of v_mbcnt_hi_u32_b32 on GFX6/7 3874- aco: rework boolean phi pass 3875- aco: create better code for boolean phis with constant operands 3876- aco: optimize boolean phis with uniform selections 3877- aco: don't create phis with undef operands in the boolean phi pass 3878- aco: read 0 from inactive lanes when using dpp 3879- aco: optimize some masked swizzles to DPP 3880- aco: implement <32-bit masked_swizzle_amd 3881- nir/lower_subgroups: pass options struct to lower_shuffle 3882- nir/lower_subgroups: add lower_shuffle_to_swizzle_amd 3883- radv: use lower_shuffle_to_swizzle_amd 3884- aco: add 32-bit integer addition to can_swap_operands 3885- aco: fix underestimated pressure in spiller when a phi has a killed def 3886- aco: rewrite graph coloring in spiller 3887- aco: use unordered_set for spill id interferences 3888- aco: add add_interference() helper 3889- aco: use s_round_mode/s_denorm_mode 3890- aco: flush denormals before fp16 fabs/fneg if needed 3891- aco: fix nir_op_f2f16_rtne with non-default rounding modes 3892- aco: set tcs_in_out_eq=false if float controls of VS and TCS stages differ 3893- radv: enable more float_controls features 3894- aco: properly recognize that s_waitcnt mitigates VMEMtoScalarWriteHazard 3895- aco: use s_waitcnt_depctr to mitigate VMEMtoScalarWriteHazard 3896- spirv: don't split memory barriers 3897- nir/lower_int64: lower 64-bit amul 3898- aco: always set FI on GFX10 3899- radv: replace discard with demote for Quantic Dream games 3900- aco: implement b2i8/b2i16 3901- aco: be more careful combining additions that could wrap into loads/stores 3902- aco: allow overflow for some SMEM instructions 3903- aco: add NUW flag 3904- nir: add nir_unsigned_upper_bound and nir_addition_might_overflow 3905- aco: use nir_addition_might_overflow to combine additions into SMEM 3906- aco: move some setup code into helpers 3907- aco: make validate() usable in tests 3908- aco: print ACO IR before scheduling instead of after 3909- radv: fix invalid conversion warnings in vk_format.h 3910- aco: fix copy of uninitialized boolean 3911- aco: fix includes in aco_ir.cpp 3912- aco: add missing add_to_hazard_query 3913- aco: rework barriers and replace can_reorder 3914- radv/aco,aco: use scoped barriers 3915- aco: consider intrinsic access in visit_{load,store}_image 3916- nir,radv/aco: add and use pass to lower make available/visible barriers 3917- aco: enable value numbering of s_buffer_load_* 3918- aco: use storage_scratch 3919- aco: improve sync_info for TCS output stores 3920- aco: improve workgroup-scope and lower vmem/smem barriers 3921- aco: create acq+rel barriers instead of acq/rel 3922- nir/load_store_vectorize: fix indentation 3923- ac/nir: implement scoped_barrier 3924- radv: use scoped barriers 3925- aco: remove isel for GLSL-style barriers 3926- aco: add framework for unit testing 3927- aco: add a few tests for the assembler and optimizer 3928- aco: add framework for testing isel and integration tests 3929- ci: enable ACO tests 3930- aco/tests: add tests for sub-dword swaps 3931- aco: optimize swizzled SALU 8/16-bit conversions 3932- aco: fix waitcnt insertion on GFX10.3 3933- aco: don't create v_mad_f32 on GFX10.3 3934- aco: update bug workarounds for GFX10_3 3935- aco: fix max_waves_per_simd on Polaris, VegaM and GFX10.3 3936- aco: update vgpr_alloc_granule for GFX10.3 3937- aco: implement subgroup shader_clock on GFX10.3 3938- aco: update aco_opcodes.py for GFX10.3 3939- aco: disable SMEM stores on GFX10.3 3940- aco: replace MADs in isel with FMA on GFX10.3 3941- spirv: set ACCESS_COHERENT for ssbo/global/image atomic load/store 3942- radv/aco: enable VK_KHR_memory_model 3943- ac/nir: consider an image load/store intrinsic's access 3944- ac/nir: fix coherent global loads/stores 3945- radv/llvm: enable VK_KHR_memory_model 3946- aco: fix C++11/C++14 compilation 3947- aco: set constant_data_offset correctly in the case of merged shaders 3948- aco: don't move memory accesses to before control barriers 3949- aco: fix non-rtz pack_half_2x16 3950- aco: consider branch definitions in spiller 3951- aco: don't consider the first partial spill if it's the wrong type 3952- aco: don't fix break condition for break+discard to exec 3953- aco: fix regclass checks when fixing to vcc/exec with Builder 3954- aco: fix spills_entry heuristic for branch blocks in init_live_in_vars() 3955- aco: keep loop live-through variables spilled 3956- aco: reserve 2 sgprs for each branch 3957- aco: create long jumps 3958- aco: fix byte_align_scalar for 3 dword vectors 3959- aco: fix one-off error in Operand(uint16_t) 3960- nir/opt_if: fix opt_if_merge when destination branch has a jump 3961- aco: fix v_writelane_b32 with two sgprs 3962- aco: don't apply constant to SDWA on GFX8 3963- radv: initialize with expanded cmask if the destination layout needs it 3964- radv,aco: fix reading primitive ID in FS after TES 3965 3966Rob Clark (265): 3967 3968- util/simple_mtx: add assert_locked() 3969- freedreno: add screen lock wrappers 3970- freedreno: switch to simple_mtx 3971- freedreno: fix buffer import 3972- gallium: extract out logicop helper 3973- freedreno/drm: drop atomic refcnts 3974- freedreno/drm: inline the things 3975- freedreno/a6xx: small query cleanup 3976- freedreno/a6xx: avoid unnecessary clearing VS DP state 3977- freedreno/a6xx: move const state to single stateobj 3978- freedreno/a6xx: move scissor state to stateobj 3979- freedreno/a6xx: limit PROG_FB_RAST state emit 3980- freedreno/a6xx: limit LRZ state emit 3981- freedreno/a6xx: move blend-color to stateobj 3982- freedreno/a6xx: combine sample mask into blend state 3983- freedreno/a6xx: skip unnecessary MRT blend state 3984- freedreno/a6xx: add OUT_PKT() 3985- freedreno/a6xx: convert draw packet to OUT_PKT() 3986- freedreno/a6xx: split out const emit 3987- freedreno/ir3: inline const emit 3988- freedreno/a6xx: convert const emit to OUT_PKT() 3989- freedreno: scissor vs disabled scissor micro-opt 3990- freedreno/a6xx: more OUT_REG() 3991- freedreno: sync registers with envytools 3992- freedreno/a6xx: don't set SP_FS_CTRL_REG0.VARYING for fragcoord 3993- freedreno/a6xx: fix LRZ hang 3994- freedreno/a6xx: add some more formats 3995- freedreno: we don't need aligned vbo's 3996- freedreno/a6xx: compressed blit fixes 3997- freedreno/a6xx: enable tiled compressed textures 3998- freedreno/gmem: don't assume scissor opt when estimating # of bins 3999- freedreno: initialize max_scissor 4000- freedreno/gmem: add div_align() helper 4001- freedreno/gmem: add helper to dump GMEM layout 4002- freedreno: add gmemtool 4003- freedreno/gmem: relax alignment on a6xx 4004- freedreno/gmem: rework gmem layout algo 4005- freedreno/ir3: don't allow negative const_offset 4006- freedreno/ir3: fix indirect cb0 load_ubo lowering 4007- freedreno/ir3: limit # of tex prefetch by shader size 4008- freedreno/ir3/postsched: reset sfu_delay on sync 4009- freedreno/ir3/postsched: try to avoid (sy) syncs 4010- freedreno/ir3/sched: avoid scheduling outputs 4011- freedreno/ir3/sched: try to avoid syncs 4012- freedreno/a6xx: fix max-scissor opt 4013- freedreno/ir3: use const_index accessors 4014- nir: fix indices for ir3 ssbo_atomic intrinsics 4015- nir: add helper to copy const_index[] 4016- nir: add pass to lower disjoint wrmask's 4017- freedreno/ir3: use lower_wrmasks pass 4018- freedreno/fdperf: add dependency on generated headers 4019- freedreno/drm: don't pass thru 'DUMP' flag on older kernels 4020- freedreno/drm: handle ancient kernels 4021- freedreno/ir3: remove Sethi-Ullman numbering pass 4022- freedreno/ir3: juggle around ir3_debug_print() 4023- freedreno/ir3/dce: report progress 4024- freedreno/cf: report progress 4025- freedreno/ir3/cp: report progress 4026- freedreno/ir3/deps: report progress 4027- freedreno/ir3/group: report progress 4028- freedreno/ir3/legalize: report progress 4029- freedreno/ir3/postsched: report progress 4030- freedreno/ir3: add IR3_PASS() macro 4031- freedreno/ir3: move where we preserve binning pass inputs 4032- freedreno/ir3: be iterative 4033- freedreno/ir3: make foreach_src declare cursor ptr 4034- freedreno/ir3: make foreach_ssa_src declar cursor ptr 4035- freedreno/ir3: make input/output iterators declare cursor ptr 4036- freedreno/ir3/group: fix for half-regs 4037- freedreno/ir3: fix mismatched flags on split 4038- freedreno/ir3/cf: handle multiple cov's properly 4039- freedreno/ir3: fix immed type in create_addr0() 4040- freedreno/ir3/print: print cat2 condition 4041- freedreno/ir3/cp: fix cmps folding 4042- freedreno/ir3: fix mismatched wrmask for overlapping VS inputs 4043- freedreno/ir3: add simple validate pass 4044- freedreno/ir3: add helpers to deal with src/dst types 4045- freedreno/ir3/validate: add checking for types and opcodes 4046- freedreno/drm: disallow exported buffers in bo cache 4047- freedreno: add batch debugging 4048- freedreno: clear last_fence after resource tracking 4049- freedreno: handle PIPE_TRANSFER_MAP_DIRECTLY 4050- freedreno/gmem: make noscis debug actually do something on a6xx 4051- freedreno/gmemtool: make GMEM alignment per-gen 4052- freedreno/gmemtool: add a405 4053- freedreno/gmemtool: add verbose mode 4054- freedreno/gmem: add some asserts 4055- freedreno/gmem: fix nbins_x/y mismatch 4056- freedreno/gmem: split out helper to calc # of bins 4057- freedreno/a6xx: LRZ fix for alpha-test 4058- freedreno/a6xx: document LRZ flag buffer 4059- freedreno/a6xx: fix vsc assert 4060- nir: get_base_type() should return enum type 4061- nir: extract out convert_to_bitsize() helper 4062- nir/builder: add bitsize conversion helpers 4063- nir/lower_tex: fixes for fp16 yuv lowering 4064- freedreno/ir3: split kill from no_earlyz 4065- freedreno/a6xx: sync registers from envytools 4066- freedreno/a6xx: update depth-plane control regs 4067- freedreno/a6xx: re-work LRZ state tracking 4068- freedreno/a6xx: add early-lrz-late-z mode 4069- freedreno/a6xx: also consider alpha-test for ztest-mode 4070- freedreno/a6xx: more early-z 4071- freedreno/computerator: fix missing dependency on generated header 4072- nir/print: print tex dest type 4073- freedreno/ir3: add debug code to print conflicting half-regs 4074- freedreno/ir3: respect tex prefetch limits 4075- freedreno/ir3: remove RA "q-values" optimization 4076- freedreno/ir3: limit pre-fetched tex dest 4077- freedreno/ir3: unify shader create/delete paths 4078- freedreno/ir3: move the libdrm dependency out of shared code 4079- turnip: drop linking libfreedreno_drm 4080- freedreno/ir3: don't rely on intr->num_components 4081- radv: don't set num_components for non-vectorized intrinsics 4082- nir/builder: don't set intr->num_components 4083- nir/lower-atomics-to-ssbo: don't set num_components 4084- spriv: don't set num_components for non-vectorised intrinsics 4085- v3d: don't use intr->num_components for non-vectorized intrinsics 4086- nir/validate: validate intr->num_components 4087- freedreno/log-parser: fix compute times 4088- freedreno/sched: reset delay counters at start of block 4089- freedreno/ir3/validate: also check instr->address 4090- freedreno/ir3/cp: properly handle already-folded RELATIV 4091- freedreno: splitup emit_string_marker 4092- freedreno/a6xx: emit shader names in debug builds 4093- freedreno/ir3/legalize: don't allow (nopN) if (rptN) 4094- freedreno/ir3/print: print (r) flag 4095- freedreno/ir3: add test for delay slot calculation 4096- freedreno/ir3/delay: calculate delay properly for (rptN)'d instructions 4097- freedreno/ir3: add helpers to move instructions 4098- freedreno/ir3: delay test support for vectorish instructions 4099- freedreno/ir3/cp: extract valid_flags 4100- freedreno/ir3: add post-scheduler cp pass 4101- freedreno/ir3: convert regmask_t to struct 4102- freedreno/ir3: move mergedreg state out of reg 4103- freedreno/ir3: decouple regset from gpu gen 4104- freedreno/ir3: pass variant to postsched 4105- freedreno/ir3: re-work assembler API 4106- freedreno/ir3: make mergedregs a property of the variant 4107- freedreno/a6xx: set .MERGEREGS based on variant 4108- turnip: set .MERGEDREGS based on variant 4109- freedreno/computerator: MERGEDREGS update 4110- freedreno/ir3: update obsolete comment 4111- spirv: atomic_counter_read_deref is not vectorized 4112- spirv: drop some dead code 4113- glsl_to_nir: fix is_helper_invocation 4114- glsl_to_nir: fix shader_clock 4115- glsl_to_nir: fix vote_any/vote_all 4116- freedreno/ir3: refactor out helper to compile shader from asm 4117- freedreno/ir3: add accessor for const_state 4118- freedreno/a6xx: defer userconst cmdstream size calculation 4119- freedreno/ir3: move ubo_state into const_state 4120- freedreno/ir3: drop shader->num_ubos 4121- freedreno/ir3: constify shader key 4122- freedreno/ir3: pass variant to ir3_create() 4123- freedreno/ir3: convert over to ralloc 4124- freedreno/ir3: move num_reserved_user_consts out of const_state 4125- freedreno/ir3: un-embed const_state 4126- freedreno/ir3: move const_state back to variant 4127- freedreno/ir3: move output_loc to variant 4128- freedreno/ir3: split out ubo info from range 4129- freedreno/ir3: splitup get_existing_range() 4130- freedreno/ir3: split ubo analysis/lowering passes 4131- ci: remove some freedreno a6xx skips 4132- freedreno/ir3: add helper to determine point-coord inputs 4133- freedreno/a6xx: de-duplicate vinterp/vpsrepl state building 4134- freedreno/a6xx: use point-coord helper 4135- freedreno/a5xx: use point-coord helper 4136- freedreno/a4xx: use point-coord helper 4137- freedreno/a3xx: use point-coord helper 4138- freedreno: convert builtin blit VS prog to ureg builder 4139- freedreno/ir3: switch PIPE_CAP_TGSI_TEXCOORD 4140- freedreno: make foreach_bit() declare it's cursor 4141- freedreno: split out batch draw tracking helper 4142- freedreno: split out batch clear tracking helper 4143- freedreno: handle batch flush in resource tracking 4144- freedreno/ir3/ra: fix pre-color edge case 4145- freedreno/ir3: add ir3_finalize_nir() 4146- freedreno/ir3: move finalize_nir to pscreen hook 4147- freedreno/ir3: add ir3_compiler_destroy() 4148- freedreno/ir3: shuffle some variant fields 4149- freedreno/a6xx+ir3: stop generating pointless binning shaders 4150- freedreno/ir3: build binning variant at same time as draw variant 4151- freedreno/ir3: disk-cache support 4152- freedreno/ir3: move nir finalization to after cache miss 4153- freedreno/fdperf: fix print of base address 4154- freedreno/fdperf: better compatible string matching 4155- freedreno/fdperf: prefer render node 4156- gitlab-ci: reduce a630 runner load 4157- freedreno/ir3: add missing VS driver params 4158- freedreno/ir3: make compile fails more visible 4159- freedreno/a6xx: bail instead of crash for compile fails 4160- freedreno/ir3/ra: be better at failing 4161- freedreno/a6xx: don't enable early-z/lrz if no z-test 4162- freedreno/ir3: DCE unused arrays 4163- driconf: allowlist/denylist 4164- gitlab-ci: re-enable all a630 jobs 4165- freedreno: small comment re-word 4166- freedreno: whitespace fix 4167- freedreno/ir3/parser: half-precision relative regs 4168- freedreno/ir3: set array precision on creation 4169- freedreno/ir3: fix half-reg array stores 4170- freedreno/ir3/ra: debug msgs tweak 4171- freedreno/ir3/ra: assign vreg names to all array elements 4172- freedreno/ir3/ra: fix array conflicts for split/merged 4173- freedreno: sync registers from envytools 4174- freedreno: make gen_header.py check parent directory 4175- freedreno: slurp in rnndb 4176- freedreno: slurp in rnn 4177- freedreno: slurp in decode tools 4178- freedreno: slurp in afuc 4179- freedreno/rnn: warnings cleanup 4180- freedreno/decode: warnings cleanup 4181- freedreno/afuc: warnings cleanup 4182- freedreno: add CI for envytools tools 4183- freedreno/ir3: split out regmask 4184- freedreno: drop shader_t 4185- freedreno: deduplicate a3xx+ disasm 4186- freedreno: move a2xx disasm out of gallium 4187- freedreno: deduplicate a2xx disasm 4188- freedreno/ci: add a2xx trace to CI job 4189- freedreno/tools: check rnn parse status 4190- freedreno/rnn: split out helper to find files 4191- freedreno/rnn: add error helper 4192- freedreno/rnn: rename schema file 4193- freedreno/rnn: update schema for 'pos' 4194- freedreno/rnn: add relaxed boolean type 4195- freedreno/rnn: add high/low/pos to registers 4196- freedreno/rnn: add radix/align 4197- freedreno/rnn: relax Hexadecimal to HexOrNumber 4198- freedreno/rnn: add variants/varset to domain 4199- freedreno/registers/a2xx: fix validation error 4200- freedreno/registers/a4xx: fix validation error 4201- freedreno/registers/adreno_pm4: fix validation errors 4202- freedreno/rnn: describe copyright element in schema 4203- freedreno/rnn: add "addvariant" to schema 4204- freedreno/rnn: allow name to be optional in arrays 4205- freedreno/rnn: fix use-group 4206- freedreno/registers/mdp5: fix validation error 4207- freedreno/rnn: schema updates for dynamic/irregular offsets 4208- freedreno/rnn: add schema validation 4209- freedreno/rnn: headergen2 warnings cleanup 4210- freedreno/decode: cffdec warnings cleanup 4211- freedreno/ir3: add missing track_ubo_use() 4212- freedreno/a6xx: don't emit a bogus size for empty cb slots 4213- freedreno/a6xx: fixup draw state earlier 4214- freedreno/rnn: also look for .xml.gz 4215- freedreno/rnn: rework RNN_DEF_PATH construction 4216- freedreno/registers: add .gitignore 4217- freedreno/registers: split header build into subdirs 4218- freedreno/registers: install gzip'd register database 4219- freedreno/decode: move dependencies up a level 4220- freedreno: allow fence_fd fences to be recycled 4221- freedreno/ir3: ir3_cmdline updates 4222- freedreno/ir3: lower local_index using local_id 4223- glsl/lower_precision: split out const lowering 4224- gallium: replace 16BIT_TEMPS cap with 16BIT_CONSTS 4225- glsl: remove LowerPrecisionTemporaries 4226- glsl: don't inline intrinsics for mediump 4227- glsl_to_nir: fix bitfield_extract with 16-bit operands 4228- freedreno/registers: add some missing regs to build 4229- freedreno/crashdec: handle section name typos 4230- freedreno/a6xx: fix occlusion query with more than one tile 4231- freedreno: handle case of shadowing current render target 4232- freedreno/gmemtool: add tile_alignw/h and a650 4233 4234Rohan Garg (3): 4235 4236- iris: Fix documentation for _iris_batch_flush 4237- ci: Include trace replay support in ARM rootfses. 4238- gitlab-ci: Replay traces on lava devices 4239 4240Roland Scheidegger (1): 4241 4242- gallivm: fix half to float conversions with llvm 11 4243 4244Roman Gilg (2): 4245 4246- vulkan/wsi/x11: add sent image counter 4247- vulkan/wsi/x11: wait for acquirable images in FIFO mode 4248 4249Roman Stratiienko (5): 4250 4251- egl: Build surfaceless platform on Android 4252- Android: Fixes for Q and R 4253- panfrost: Android build fixes 2020 week 31 4254- lima: Fix lima_screen_query_dmabuf_modifiers() 4255- android: freedreno: Another build fix 4256 4257Sagar Ghuge (3): 4258 4259- iris: Use modfiy disables for 3DSTATE_WM_DEPTH_STENCIL command 4260- intel/compiler: Optimize integer add with 0 into mov 4261- intel/compiler: Remove unnecessary optimization for MUL 4262 4263Samuel Pitoiset (235): 4264 4265- ci: fix reporting the number of unexpected/flakes 4266- ci: add lists of expected failures & skipped tests for RAVEN with ACO 4267- aco: remove unecessary p_split_vector with v2b reg class 4268- radv: enable shaderInt16 unconditionally with LLVM and only GFX8+ with ACO 4269- radv: cleanup radv_CreateInstance() 4270- radv: rename radv_devices() to radv_enumerate_physical_devices() 4271- radv: fix a memleak if the physical device initialization failed 4272- radv: report INITIALIZATION_FAILED when the amdgpu winsys init failed 4273- radv: don't report error with other vendor DRM devices 4274- radv: use a linked list for physical devices 4275- radv: display an error message if the winsys init failed 4276- radv/winsys: do not count visible VRAM buffers twice in the budget 4277- ci: remove unused .test-radv-fossilize rule 4278- ci: set ACO_DEBUG=validateir,validatera global for RADV testing 4279- ci: run radv-fossils with Pitcairn (GFX6) and Bonaire (GFX7) too 4280- radv: remove the LLVM version string when ACO is used 4281- radv: do not print the LLVM version string twice in hang reports 4282- radv: report correct backend IR in hang reports when ACO is used 4283- aco: fix 64-bit trunc with negative exponents on GFX6 4284- nir: do not vectorize load/store if offset can overflow and robustness enabled 4285- aco: prevent invalid loads/stores vectorization if robustness is enabled 4286- radv: limit the Vulkan version to 1.1 for Android 4287- radv: handle different Vulkan API versions correctly 4288- radv: update the list of allowed Android extensions 4289- aco: optimize add/sub(a, cndmask(b, 0, 1, cond)) -> addc/subbrev_co(0, a, b) 4290- radv: use the common base object type for VkDevice 4291- radv: use the base object struct types 4292- radv: implement VK_EXT_private_data 4293- vulkan: import common code for generating extensions 4294- radv: use the common code for generating extensions and dispatch tables 4295- anv: use the common code for generating extensions and dispatch tables 4296- turnip: use the common code for generating extensions and dispatch tables 4297- radv: add a LLVM version string workaround for SotTR and ACO 4298- aco: remove useless check for nir_tex_src_bias 4299- aco: add support for texturing with clamped LOD 4300- ac/llvm: add support for texturing with clamped LOD 4301- radv: enable shaderResourceMinLod 4302- spirv: handle OpCopyObject correctly with any types 4303- radv: fix missing break in radv_GetPhysicalDeviceProperties2() 4304- aco: store 16-bit temporary outputs as v2b 4305- aco: convert 16-bit values before exporting MRTs 4306- aco: allow to load/store 16-bit values in VMEM for tess and geom 4307- aco: implement 8-bit/16-bit mov's with p_create_vector 4308- aco: implement 16-bit vertex fetches with tbuffer_load_format_d16_* 4309- aco: validate v_interp_*_f16 as VOP3 instructions instead of VINTRP 4310- aco: emit v_interp_*_f16 instructions as VOP3 instead of VINTRP 4311- aco: implement 16-bit interp 4312- aco: fix off-by-one error with 16-bit MTBUF opcodes on GFX10 4313- radv/aco: enable storageInputOutput16 on GFX9+ 4314- aco: fix missing break in label_instruction() 4315- radv: fix missing break in radv_GetPhysicalDeviceFeatures2() 4316- radv: fix duplicated expression in ac_setup_rings() 4317- radv/winsys: remove useless free in radv_amdgpu_create_bo_list() 4318- aco: declare 8-bit/16-bit reduce operations 4319- aco: implement 8-bit/16-bit reductions 4320- aco: validate 8-bit/16-bit VGPR operands for readfirstlane/readlane/writelane 4321- aco: implement 8-bit/16-bit nir_intrinsic_read_first_invocation 4322- aco: implement 8-bit/16-bit nir_intrinsic_{shuffle,_read_invocation} 4323- aco: implement 8-bit/16-bit nir_intrinsic_quad_* 4324- aco: use a temporary SGPR for 8-bit/16-bit literal reduction identities 4325- aco: sign-extend the input and identity for 8-bit subgroup operations 4326- radv: do not return from radv_GetPhysicalDeviceFeatures2() 4327- radv: cleanup physical device features 4328- radv: remove useless assignment in build_streamout_vertex() 4329- spirv: add ReadClockKHR support with device scope 4330- aco: implement nir_intrinsic_shader_clock with device scope 4331- ac/nir: fix shader clock with subgroup scope 4332- ac/nir: implement nir_intrinsic_shader_clock with device scope 4333- radv: advertise shaderDeviceClock on GFX8+ 4334- spirv: add SpvCapabilityImageGatherBiasLodAMD 4335- spirv: add support for bias/lod with OpImageGather 4336- ac/nir: add support for bias/lod with texture gather 4337- aco: add support for bias/lod with texture gather 4338- radv: add support for querying which formats support texture gather LOD 4339- radv: advertise VK_AMD_texture_gather_bias_lod 4340- spirv,radv,anv: implement no-op VK_GOOGLE_user_type 4341- radv/aco: enable VK_EXT_subgroup_size_control 4342- aco: fix register allocation for subdword instructions on GFX10 4343- aco: implement 8-bit/16-bit reductions on GFX10 4344- aco: allocate a temp VGPR for some 8-bit/16-bit reduction ops on GFX10 4345- aco: allow gfx10_wave64_bpermute with 8-bit/16-bit input 4346- aco: sign-extend input/indentity for 32-bit reduce ops on GFX10 4347- radv/aco: enable VK_KHR_subgroup_extended_types on GFX8+ 4348- radv: enable zero VRAM for Doom Eternal 4349- radv: enable zero VRAM for all VKD3D (DX12->VK) games 4350- aco: implement 16-bit reduce operations on GFX6-GFX7 4351- aco: implement 16-bit nir_intrinsic_quad_* on GFX6-GFX7 4352- aco: fix subdword copies on GFX6-GFX7 4353- aco: sign-extend input/identity for 16-bit subgroup ops on GFX6-GFX7 4354- radv/aco: enable 64-bit atomic features if RADV is linked with LLVM 8 4355- aco: use v_bfe_u32 for unsigned reductions sign-extension on GFX6-GFX7 4356- aco: fix sign-extend 8-bit subgroup operations on GFX6-GFX7 4357- aco: fix nir_intrinsic_quad_* with 8-bit in GFX6-GFX7 4358- radv/aco: enable VK_KHR_shader_subgroup_extended_types on GFX6-GFX7 4359- ac/nir: adjust an assertion for D16 on GFX6-GFX7 4360- nir/lower_explicit_io: fix NON_UNIFORM access for UBO loads 4361- radv/llvm: expose VK_EXT_shader_demote_to_helper_invocation with LLVM 9+ 4362- aco: implement 8-bit/16-bit conversions on GFX6-GFX7 4363- aco: fix alignment of vectors with 4 elements 4364- radv/aco: enable 8-bit/16-bit storage on GFX6-GFX7 4365- radv/aco: enable shaderInt16 on GFX6-GFX7 4366- radv/aco: enable shaderInt8 and VK_KHR_shader_float16_int8 on GFX6-GFX7 4367- ac/nir: fix integer comparisons with pointers 4368- radv: set DB_SHADER_CONTROL.CONSERVATIVE_Z_EXPORT correctly 4369- radv: add new drirc option radv_enable_mrt_output_nan_fixup 4370- aco: implement radv_enable_mrt_output_nan_fixup workaround 4371- radv/llvm: implement radv_enable_mrt_output_nan_fixup workaround 4372- radv: enable radv_enable_mrt_output_nan_fixup for RAGE 2 4373- ac: add ac_choose_spi_color_formats() to common code 4374- spirv: fix using OpSampledImage with OpUndef instead of OpType{Image,Sampler} 4375- aco: allow to swap operands for some 16-bit float instructions 4376- spirv: do not set num_components for non-vectorized mbcnt_amd intrinsic 4377- radv/aco: enable FP16 features/extensions on GFX9+ 4378- radv: lower discards to demote to workaround a RDR2 game bug 4379- radv: make sure to set CB_SHADER_MASK correctly for internal CB operations 4380- radv: compute CB_SHADER_MASK from the fragment shader outputs 4381- radv: only requires LLVM 9 for GFX10 if not using ACO 4382- radv: replace == GFX10 with >= GFX10 where it's needed 4383- aco: replace == GFX10 with >= GFX10 where it's needed 4384- radv: add support for Sienna Cichlid 4385- radv: require LLVM 11+ for GFX 10.3 if not using ACO 4386- aco: fix printing ASM on GFX6-7 if clrxdisasm is not found 4387- aco: improve validation checks for readlane/writelane 4388- aco: fix printing ASM on GFX6-7 again 4389- gitlab-ci: stop testing RADV with LLVM 4390- gitlab-ci: update the list of expected CTS failures for RADV/ACO 4391- gitlab-ci: update the list of expected failures for Pitcairn 4392- radv: fix checking the return value of cs_finalize() 4393- gitlab-ci: add parallel-rdp fossils 4394- radv: lower 64-bit drcp/dsqrt/drsq for fixing precision issues 4395- radv: lower 64-bit dfloor on GFX6 for fixing precision issues 4396- gitlab-ci: add a list of expected failures for RADV/ACO on NAVI14 4397- gitlab-ci: set the number of Fossilize threads to 4 4398- gitlab-ci: append Fossilize stdout/stderr to a file to reduce spam 4399- gitlab-ci: attach the Fossilize log file as artifact on failure 4400- radv: remove the shader ballot workaround for Youngblood with LLVM 4401- radv: remove the load/store workaround for Monster Hunter World with LLVM 4402- radv: enable VK_AMD_shader_ballot on GFX6-7 with both compiler backends 4403- radv: adjust CB_SHADER_MASK for dual-source blending in the shader info pass 4404- radv: rework 8/16-bit color attachment formats detection 4405- radv: use SPI_SHADER_ZERO for non-written color attachments 4406- radv: add support for MRTs compaction to avoid holes 4407- radv: fix wide points and lines 4408- radv: fix wide lines with multisample enabled 4409- Revert "vulkan/wsi/x11: Ensure we create at least minImageCount images." 4410- radv,vulkan: add a new x11 wsi drirc workaround for DOOM Eternal 4411- radv: disable FMASK compression when drawing with GENERAL layout 4412- radv: set depth/stencil enable values correctly for the meta clear path 4413- radv: implement missing VK_ACCESS_MEMORY_{READ,WRITE}_BIT 4414- radv: store the primitive topology hardware value in the pipeline 4415- radv: adjust IA_MULTI_VGT_PARAM.WD_SWITCH_ON_EOP at draw time 4416- radv: adjust IA_MULTI_VGT_PARAM.PARTIAL_VS_WAVE at draw time 4417- radv: compute prim_vertex_count at draw time 4418- aco: fix more validation errors from vgpr spill/restore code 4419- radv: return VK_ERROR_DEVICE_LOST if wait-for-idle failed or expired 4420- radv: remove the secure compile support feature 4421- radv: rework dynamic viewports/scissors support 4422- radv: add VK_EXT_extended_dynamic_state but leave it disabled 4423- radv: declare new extended dynamic states 4424- radv: add support for dynamic cull mode and front face 4425- radv: add support for dynamic primitive topology 4426- radv: add support for dynamic and scissor count 4427- radv: add support for dynamic depth/stencil states 4428- radv: add support for dynamic vertex input binding stride 4429- radv: advertise VK_EXT_extended_dynamic_state 4430- radv: add the custom border color BO to the list of buffers 4431- radv: destroy the base object if VkCreateQueryPool() failed 4432- radv: destroy the base object if VkCreateRenderPass*() failed 4433- radv: destroy the base object if VkCreateImage() failed 4434- radv: destroy the base object if VkCreateBuffer() failed 4435- radv: destroy the base object if VkCreateEvent() failed 4436- radv: destroy the base object if VkCreateSemaphore() failed 4437- radv: destroy the base object if VkCreateFence() failed 4438- radv: destroy the base object if VkAllocateCommandBuffers() failed 4439- radv: destroy the base object if VkCreateInstance() failed 4440- radv/winsys: replace alloca() by malloc() everywhere 4441- radv/winsys: pass the buffer list via the CS ioctl for less CPU overhead 4442- radv: fix destroying the syncobj when exporting a fence FD 4443- radv: fix the error code when exporting a semaphore/fence fails 4444- radv: fix the error code when allocating a fresh imported syncobj fails 4445- radv: optimize creating signaled syncobj with amdgpu_cs_create_syncobj2() 4446- radv: split fence into two parts as enum+union. 4447- radv: remove one useless goto in radv_queue_submit_deferred() 4448- radv: improve the error messages when a CS submission failed 4449- radv: return better Vulkan error codes when VkQueueSubmit() fails 4450- radv: disable CPU caching for IBS to reduce fetch latency 4451- radv/winsys: always allow GTT placements on APUs 4452- radv: advertise VK_EXT_image_robustness 4453- radv: do not perform read-modify-write with the upload BO 4454- radv: disable CPU caching for the upload BO to reduce fetch latency 4455- aco: add support for nir_intrinsic_shared_atomic_fadd 4456- ac/nir: add support for nir_intrinsic_shared_atomic_fadd 4457- radv: advertise VK_EXT_shader_atomic_float 4458- radv: add missing return values check for some winsys calls 4459- radv/winsys: check more allocation failures 4460- radv/winsys: remove useless check when binding virtual buffers/images 4461- radv/winsys: return a Vulkan error code when binding virtual buffers/images 4462- radv/winsys: be more robust when a CS failed during recording 4463- radv: remove declared but unused radv_pipeline::is_dual_src 4464- radv: remove set but unused radv_pipeline::vertex_elements 4465- radv: remove outdated TODO related to PA_SU_VTX_CNTL.PIX_CENTER 4466- radv: emit more invariant registers as part of the initial gfx state 4467- radv: emit PA_SC_LINE_CNTL as part of the rasterization state 4468- radv: clean up VGT_SHADER_STAGES_EN emission 4469- radv: clean up PA_SC_CLIPRECT_RULE emission 4470- radv: reduce the number of allocated dwords for compute CS 4471- radv: clean up radv_compute_generate_pm4() 4472- radv: remove unnecessary radv_tessellation_state::num_patches 4473- radv: remove no-op si_multiwave_lds_size_workaround() 4474- radv: remove one unnecessary param to radv_generate_graphics_pipeline_key() 4475- radv: align the LDS size in calculate_tess_lds_size() 4476- radv: set LDS TCS size at shaders creation for GFX9+ 4477- radv: remove unnecessary radv_tessellation_state::lds_size 4478- radv: clean up tessellation state emission 4479- radv: add radv_pipeline_init_input_assembly_state() 4480- radv: add radv_pipeline_generate_vgt_gs_out() 4481- radv: clean up adjusting MSAA state if conservative rast is enabled 4482- radv: clean up binning state initialization 4483- radv: assign pipeline gfx fields before PM4 emission 4484- radv: constify all radv_pipeline_generate_*() helpers 4485- radv: add radv_pipeline_init_shader_stages_state() 4486- radv: remove useless return value to radv_pipeline_scratch_init() 4487- radv: clean up remaining pipeline init functions 4488- radv: print warnings for famous RADV_PERFTEST options that no longer exist 4489- radv: do not honor a user-specified pitch on GFX 10.3 4490- radv: increase minimum NGG vertex count requirement per workgroup on GFX 10.3 4491- radv: fix sample shading on GFX 10.3 4492- radv: set BYPASS_VTX_RATE_COMBINER_GFX103 on GFX 10.3 4493- radv/gfx10: add missing initialization of registers 4494- radv: limit LATE_ALLOC_GS to prevent a GPU hang on GFX10 4495- radv: fix emitting the border color pointer on the compute queue 4496- nir/algebraic: mark some optimizations with fsat(NaN) as inexact 4497- aco: handle unaligned loads on GFX10.3 4498- spirv: fix emitting switch cases that directly jump to the merge block 4499- radv: fix transform feedback crashes if pCounterBufferOffsets is NULL 4500 4501Satyajit Sahu (1): 4502 4503- frontends/va: Handle dynamic resolution/SVC for VP9 4504 4505Satyeshwar Singh (1): 4506 4507- intel/dev: Don't consider all TGL SKUs as GT1 only 4508 4509Serge Martin (3): 4510 4511- amd/common: Fix incorrect use of asprintf instead of vasprintf 4512- clover: add more cl_mem_object_type to pipe_texture_target mapping 4513- clover: implements clEnqueueFillBuffer 4514 4515Shawn Guo (1): 4516 4517- freedreno/a4xx: fix \*_NONE enum conversion 4518 4519Simon Ser (3): 4520 4521- EGL: sync headers with Khronos 4522- gbm: document that gbm_bo_map exposes a linear view 4523- radv: use bitshifts for debug enum values 4524 4525SureshGuttula (1): 4526 4527- radeon/vcn: Corrected vp9 ref associated data incase of target->codec is NULL 4528 4529Tapani Pälli (14): 4530 4531- st/mesa: destroy only own program variants when program is released 4532- anv: call base finish only if pass given in DestroyRenderPass 4533- anv: add VK_EXT_extended_dynamic_state but leave it disabled 4534- anv: add new dynamic states 4535- anv: consider dynamic state when creating pipeline 4536- anv: handle dynamic viewport count 4537- anv: add support for dynamic cull mode and winding order 4538- anv: add support for dynamic viewport and scissor with count 4539- anv: add support for dynamic primitive topology change 4540- anv: depth/stencil dynamic state support 4541- anv: dynamic vertex input binding stride and size support 4542- anv: toggle on VK_EXT_extended_dynamic_state 4543- anv: add a check for depthStencilState before using it 4544- anv: null check for buffer before reading size 4545 4546Thong Thai (8): 4547 4548- radeon: Fix whitespaces 4549- gallium/auxiliary/vl: Fix compute shader scaling for non-square pixels 4550- gallium/auxiliary/vl: Fix compute shader scale_y for interlaced videos 4551- frontends/va: Fix deinterlace bottom field first flag 4552- frontends/vdpau: Default destination rect to source rect 4553- radeon/vcn: add vcn 3.0 encode support 4554- radeonsi: use PIPE_FORMAT_P010 for 10-bit VP9 decoding 4555- radeon/vcn: increase render_pic_list size 4556 4557Timothy Arceri (69): 4558 4559- glsl: stop cascading errors if process_parameters() fails 4560- glsl: fix slow linking of uniforms in the nir linker 4561- radv: fix regression with builtin cache 4562- nir: add glsl_get_ifc_packing() helper 4563- nir: add callback to nir_remove_dead_variables() 4564- glsl: add can_remove_uniform() helper to the NIR linker 4565- glsl: remove dead uniforms in the nir linker 4566- glsl/spirv: remove dead uniforms in spirv nir linker 4567- gitlab-ci: bump piglit checkout commit 4568- i965: call brw_nir_lower_uniforms() after uniform linking is complete 4569- util: add BITSET_LAST_BIT() helper 4570- glsl: add struct to gather more info about uniform array access 4571- glsl: add update_array_sizes() helper to the NIR uniform linker 4572- glsl: gather uniform dereference info before main linking loop 4573- glsl: when NIR linker enable use it to resize uniform arrays 4574- glsl: fix potential slow compile times for GLSLOptimizeConservatively 4575- glsl: fix incorrect optimisation in opt_constant_variable() 4576- glsl: fix uniform array resizing in the nir linker 4577- glsl: small optimisation fix for uniform array resizing 4578- st_glsl_to_nir: fix potential use after free 4579- mesa: remove _mesa prefix from static function 4580- mesa: add _mesa_program_state_value_size() helper 4581- glsl: define gl_LightSource members in ARB_vertex_program order 4582- st/glsl_to_nir: disable st_nir_lower_builtin() when packing supported 4583- glsl: remove stale FIXME 4584- i965: add and fix fallthrough comments 4585- llvmpipe: add missing fallthrough comments 4586- gallivm: add missing break 4587- anv: update fallthrough comment so gcc sees it 4588- intel/compiler: add and fix up fallthrough comments for gcc warnings 4589- iris: add missing fallthrough comment 4590- egl: move fallthrough comment so gcc can see it 4591- nir: add missing break to nir_opt_access() 4592- mesa: fix fallthrough in glformats 4593- mesa: add fallthrough comments to glformats.c 4594- mesa: add fallthrough comments to get.c 4595- nir: fix implicit fallthrough warnings 4596- mesa: add fallthrough comments to COPY_SZ_4V() 4597- radeonsi: add missing fallthrough comment 4598- glx: add missing fallthrough comment 4599- glsl: move fallthrough comment to where gcc can see it 4600- radeon: add missing fallthrough comments 4601- spirv: add missing fallthrough comments 4602- mesa/vbo: add some missing fallthrough comments 4603- mesa: add missing fallthrough comment to teximage.c 4604- mesa: fix unintended fallthrough in glIsEnabled() 4605- r300: add and fix up fallthrough comments 4606- svga: add missing fallthrough comments 4607- mesa: update fallthrough comment so gcc can see it 4608- nv30: add missing fallthrough comment 4609- meson: turn on Wimplicit-fallthrough project wide 4610- nouveau: fix pointer-sign warning 4611- gitlab-ci: Enable -Werror in `meson-classic` job 4612- r600/radeonsi: silence zero-length-bounds gcc warnings 4613- radeonsi: fix SI_NUM_ATOMS 4614- iris: fix maybe-uninitialized warning for initial_state variable 4615- iris: silence maybe-uninitialized for stc_dst_aux_usage variable 4616- nouveau/nvc0: silence maybe-uninitialized warning 4617- panfrost: add some missing fallthrough comments 4618- panfrost: hide more unused code in bi_lower_combine.c 4619- panfrost: add some missing fallthrough comments to bi_pack.c 4620- freedreno: fix missing fallthrough comments 4621- v3d: remove redefine of VG(x) 4622- zink: fix missing fallthrough comment 4623- nine: remove unused var 4624- etnaviv: add missing fallthrough comments 4625- lima: add missing fallthrough comments 4626- lima: add missing break 4627- gitlab-ci: Enable -Werror in `meson-gallium` job 4628 4629Timur Kristóf (4): 4630 4631- aco/gfx10: Refactor of GFX10 wave64 bpermute. 4632- aco: Implement subgroup shuffle on GFX6-7. 4633- radv/aco: Always enable subgroup shuffle. 4634- aco: Fix emit_boolean_exclusive_scan in wave32 mode. 4635 4636Tomeu Vizoso (55): 4637 4638- panfrost: Emit blend descriptors on Bifrost 4639- panfrost: Don't leak temporary descriptors array 4640- pan/decode: Check for correct unknown field 4641- pan/decode: Use correct printf modifier for long int 4642- panfrost: Split bit out of format.unk3 4643- panfrost: Create additional BO for the checksum of imported BOs (Bifrost) 4644- panfrost: Add a bit more info about some tiler fields 4645- pan/bi: Print shaders only if BIFROST_MESA_DEBUG=shaders 4646- pan/decode: Trace to stderr with PANDECODE_DUMP_FILE=stderr 4647- panfrost: GPUs newer than G-71 don't have swizzles... 4648- panfrost: mali_attr_meta.unknown1 is zero on Bifrost 4649- panfrost: Add Bifrost texture trampoline BO to batch 4650- pan/decode: Properly print tripped zeroes 4651- virgl: Properly check for encode_stride when encoding transfers 4652- panfrost: Add checksum BOs to batch 4653- panfrost: Don't trample on top of Bifrost-specific unions 4654- panfrost: Handle MALI_RGB8_UNORM in panfrost_format_to_bifrost_blend 4655- gitlab-ci: Run more dEQP tests for virgl 4656- gitlab-ci: Add manual tests for Virgl using GLES on the host 4657- gitlab-ci: Test virgl with Khronos' OpenGL CTS 4658- gitlab-ci: Update CTS runner 4659- ci: Don't call renderdoc's ReplayController.Shutdown() 4660- ci: Move ARM rootfses to stable 4661- gitlab-ci: Build kernel drivers for a few ethernet USB dongles 4662- gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA 4663- gitlab-ci: Remove left-behind rules: 4664- gitlab-ci: Don't rebuild kernels and rootfs if they have been already built in mainline 4665- gitlab-ci: Run all of GLES3 tests for Panfrost 4666- gitlab-ci: Re-add kernels for bare-metal 4667- gitlab-ci: Download traces from MinIO 4668- gitlab-ci: Upload tracie artifacts to MinIO 4669- gitlab-ci: Fix needs: of the arm64 LAVA test jobs 4670- ci: Upload images of failed replays to MinIO 4671- ci: Use smaller glxgears trace 4672- ci: Prefix tracie artifacts with the device name 4673- ci: Test with more traces 4674- ci: Disable trace testing on Mali T760 4675- ci: Fix the overwriting of traces.yml for baremetal 4676- ci: Namespace trace artifacts to the job number 4677- ci: Always print status code of HTTP uploads in tracie 4678- ci: Print load stats after running dEQP 4679- ci: Fix URL for glslang 4680- ci: Don't ship vk-build-programs after building dEQP 4681- ci: Split building of libdrm to its own script 4682- ci: Build kernels and rootfs for x86 devices 4683- ci: Upload reference images for traces 4684- ci: Print URL to image diff when a trace replay fails 4685- ci: Generate MinIO credentials within LAVA jobs 4686- ci: Set date in LAVA DUTs from NTP servers 4687- ci: Build-test Panfrost tools 4688- ci: Upload traces' reference and actual images to MinIO 4689- ci: Download traces from MinIO in baremetal runs 4690- ci: Remove kernel module build that slipped in 4691- ci: Actually upload trace artifacts to MinIO for baremetal 4692- ci: Use a rootfs tarball for NFS root, instead of a ramdisk (for LAVA) 4693 4694Tony Wasserka (4): 4695 4696- nir/lower_idiv: Port recent LLVM fixes to emit_udiv 4697- radv: Fix various non-critical integer overflows 4698- aco: Fix integer overflows when emitting parallel copies during RA 4699- amd/common: Fix various non-critical integer overflows 4700 4701Vinson Lee (25): 4702 4703- freedreno: Add missing break statement. 4704- llvmpipe: Fix variable name. 4705- r600/sfn: Initialize VertexStageExportForGS m_num_clip_dist member variable. 4706- panfrost: Ensure final.no_colour is initialized. 4707- r600/sfn: Use correct setter method. 4708- freedreno: Add missing va_end. 4709- pan/bi: Initialize struct fma_op_info member extended. 4710- zink: Check fopen result. 4711- etnaviv: Fix memory leak on error path. 4712- panfrost: Fix printf format specifier. 4713- r300g: Remove extra printf format specifiers. 4714- vdpau: Fix wrong calloc sizeof argument. 4715- mesa: Fix NetBSD compiler macro. 4716- Switch from cElementTree to ElementTree. 4717- intel/genxml: Migrate from deprecated xml.etree.ElementTree getchildren. 4718- rbug: Fix rbug_delete_vs_state lock acquisition. 4719- nir: Add nir_lower_clip_disable.c to SCons build. 4720- util: Fix SCons build. 4721- util: Fix memory leaks in unit test. 4722- meson: Fix lmsensors warning message. 4723- vulkan: Fix memory leaks. 4724- freedreno: Fix file descriptor leak. 4725- svga: Fix unused printf argument. 4726- freedreno: Check file descriptor before write. 4727- panfrost: Delete debug allocated syncobj. 4728 4729Yevhenii Kharchenko (1): 4730 4731- st/mesa: fix corrupted texture levels, when adding more levels than expected 4732 4733Yevhenii Kolesnikov (5): 4734 4735- glsl: subroutine signatures must match exactly 4736- nvir: don't use designated initialisers in C++ code 4737- intel/compiler: don't propagate cmp to add if add is saturated 4738- mesa: change error code of \*TextureSubImage\* for incorreect target 4739- nine: fix incorrect calculation of layer count for 3D textures 4740 4741jzielins (2): 4742 4743- gallium/swr: Fix compilation warnings 4744- swr: Bump maximum 2D texture size to 16kx16k 4745 4746mmenzyns (1): 4747 4748- nv50: Clear nv50_ir_prog_info of dead and codegen specific variables 4749