1Mesa 20.3.0 Release Notes / 2020-12-03 2====================================== 3 4Mesa 20.3.0 is a new development release. People who are concerned 5with stability and reliability should stick with a previous release or 6wait for Mesa 20.3.1. 7 8Mesa 20.3.0 implements the OpenGL 4.6 API, but the version reported by 9glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / 10glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. 11Some drivers don't support all the features required in OpenGL 4.6. OpenGL 124.6 is **only** available if requested at context creation. 13Compatibility contexts may report a lower version depending on each driver. 14 15Mesa 20.3.0 implements the Vulkan 1.2 API, but the version reported by 16the apiVersion property of the VkPhysicalDeviceProperties struct 17depends on the particular driver being used. 18 19SHA256 checksum 20--------------- 21 22:: 23 24 2999738e888731531cd62b27519fa37566cc0ea2cd7d4d97f46abaa3e949c630 mesa-20.3.0.tar.xz 25 26 27New features 28------------ 29 30- GL 4.5 on llvmpipe 31 32- GL_INTEL_blackhole_render on radeonsi 33 34- GL_NV_copy_depth_to_color for NIR 35 36- GL_NV_half_float 37 38- GL_NV_shader_atomic_int64 on radeonsi 39 40- EGL_KHR_swap_buffers_with_damage on X11 (DRI3) 41 42- VK_PRESENT_MODE_FIFO_RELAXED on X11 43 44- GLX_EXT_swap_control for DRI2 and DRI3 45 46- GLX_EXT_swap_control_tear for DRI3 47 48- VK_KHR_copy_commands2 on RADV 49 50- VK_KHR_shader_terminate_invocation on RADV 51 52- NGG GS support in ACO 53 54- VK_KHR_shader_terminate_invocation on ANV 55 56- driconf: add glx_extension_override 57 58- driconf: add indirect_gl_extension_override 59 60- VK_AMD_mixed_attachment_samples on RADV (GFX6-GFX7). 61 62- GL_MESA_pack_invert on r100 and vieux 63 64- GL_ANGLE_pack_reverse_row_order 65 66- VK_EXT_shader_image_atomic_int64 on RADV 67 68- None 69 70 71Bug fixes 72--------- 73 74- \[icl,tgl][iris][i965][regression][bisected\] piglit failures 75- shader-db valgrind error 76- \[AMDGPU NAVI 5700xt\] Large parts of the Blender viewport does not render correctly if an object with hair is moved. 77- \[aco\] problem compiling compute pipeline 78- zink: regression after !7606 79- glcpp test 084-unbalanced-parentheses fails with bison 3.6.y 80- zink+radv: corruption on pre-game menu in quake3 81- panfrost massive glitches apitrace opengl 2.1 82- \[radeonsi\] After 549ae5f84375dfadb86cfd465f0103acfae3249f commit Firefox Nightly Asan begins crashes 83- Amber test NIR validation failed after spirv_to_nir 84- zink: add detection for wsi_memory_allocate_info usage 85- Follow-up from "nir,spirv: Add generic pointers support" 86- v3d GL_ARB_vertex_array_bgra support 87- iris: glClear with FBO imported from DMA-BUF doesn't work 88- Fast-clears of GL_ALPHA16 textures are broken on TGL 89- NV50_PROG_USE_NIR=1 doesn't work for piglit/bin/pbo-teximage ? 90- Follow-up from "st/mesa: Use nir-to-tgsi for builtins if the driver needs TGSI" 91- \[spirv-fuzz\] Shader causes an assertion failure in nir_opt_large_constants 92- Amber test validate_phi_src 93- Regnum Online UBO break after game update 94- Current mesa git fails to build in multilib environment? 95- radv/aco: Vertex explosion on RPCS3 96- llvmpipe-cl should not run for other drivers 97- Factorio v1.0 - Linux native - 64 bit - OpenGL/radeonsi - completely broken rendering 98- Gnome 3.38 with Xwayland has screen corruption for X11 apps. 99- st/va fails to build on old libva in mesa git 100- sp_state_shader.c:146: undefined reference to \`nir_to_tgsi' 101- anv: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.3d\* failures 102- anv: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.3d\* failures 103- RADV: Death Stranding glitchy sky rendering 104- Crash in glDrawArrays on Intel iris 105- GLX_OML_swap_method not fully supported 106- deinterlace_vaapi=rate=field does not double output's actual frame rate on AMD 107- Steam game Haydee leans on implementation-dependent behavior 108- ANV: Support 1 million update-after-bind descriptors 109- zink: crash in Blender on start-up 110- vc4 in 20.2-rc has regression causing app to crash 111- \[RADV\] broken stencil behaviour when using extended dynamic stencil state 112- \[RADV/ACO\] Star Citizen Lighting/Shadow Issue 113- \[RADV\] Some bindings seem broken with VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT 114- \[RADV/ACO\] ACO build error about SMEM operands 115- Graphics corruption in Super Mega Baseball 2 with RADV on Navi 116- RADV ACO - ground line corruption in Path of Exile with Vulkan renderer 117- omx/tizonia build broken with latest mesa git 118- Request: VK_EXT_transform_feedback on Intel Gen 7 119- iris: Regression in deqp const_write tests 120- \[hsw][bisected][regression\] gpu hangs on dEQP-VK.subgroups.(shuffle|quad) tests 121- \[RADV/LLVM/ACO\] Serious Sam 4 crashes after first cutscene with ACO backend + flickering black spots sprout up everywhere 122- TGL B0 Stepping gpu hangs on many dEQP-VK.subgroups.quad nonconst tests 123- \[machines without AVX2/F16C][bisected\] X server crash, wflinfo crash in mesa CI 124- nir: Mesa regression on Compute shader 125- radv, aco: dEQP-VK.glsl.atomic_operations.*_fragment_reference regressed 126- Commit c6c1fa9a263880 causes corruption in Steam UI 127- \[spirv-fuzz\] Shader generates a wrong image 128- Running Amber test leads to VK_DEVICE_LOST 129- \[Regression][Bisected][20.2][radeonsi\] American Truck Simulator continually allocates memory until OOM 130- \[radeonsi\] bottom mips of height=1 2D texture is uninitialised after upload 131- Missing terrain in Total War: Warhammer 132- anv: dEQP-VK.robustness.robustness2.\* failures on gen12 133- AMD VAAPI encoding - applying filters introduces garbled line at the bottom 134- AMD VAAPI HEVC encoding not working correctly on Polaris 135- \[RADV\] Problems reading primitive ID in fragment shader after tessellation 136- Massive memory leak (at least AMD, others unknown) 137- Substance Painter 6.1.3 black glitches on Radeon RX570 138- \[ivb,hsw,byt,bsw][i965][bisected\] anv_reloc_list_add: Assertion failure 139- vkCmdCopyImage broadcasts subsample 0 of MSAA src into all subsamples of dst on RADV 140- assert(left \<= -1 && top \<= -1 && right \>= 1 && bottom \>= 1) fails in si_emit_guardband 141- Crash in ruvd_end_frame when calling vaBeginPicture/vaEndPicture without rendering anything 142- Release signing key is not readily available 143- \[iris][bisected\] piglit.spec.nv_copy_depth_to_color.nv_copy_depth_to_color failures 144- VAAPI vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED 145- X-Plane 11 Installer crashes on startup since \`glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins\` 146- piglit spec/glsl-1.50/execution/geometry/clip-distance-vs-gs-out.shader_test fails on Iris 147- Amber test opt_peel_loop_initial_if: Assertion failed 148- builder_misc.cpp:137:55: error: ‘get’ is not a member of ‘llvm::ElementCount’ 149- AVX instructions leak outside of CPU feature check and cause SIGILL 150- Dirt Rally: Flickering glitches on certain foliage since Mesa 20.1.0 caused by MSAA 151- Horizon Zero Dawn graphics corruption with with radv 152- Crusader Kings 3 Crashes at start since commit with !6472 153- pan_resource.c:733:38: error: use of GNU empty initializer extension \[-Werror,-Wgnu-empty-initializer\] 154- \[BRW\] WRC 5 asserts with gallium nine and iris. 155- ci/bare-metal: POWER_GOOD detection broken with reboot rework 156- radv: Corruption in "The Surge 2" 157- \[RADV\] Detroit: Become Human Demo game lock-ups with RADV 158- Road Redemption certain graphic effects rendered white color 159- gen_state_llvm.h:54:99: error: invalid conversion from ‘int’ to ‘const llvm::VectorType*’ \[-fpermissive\] 160- Using a shared dEQP build script 161- vulkan/wsi/x11: deadlock with Xwayland when compositor holds multiple buffers 162- \[RADV/ACO\] Death Stranding cause a GPU hung (\*ERROR\* Waiting for fences timed out!) 163- lp_bld_init.c:172:7: error: implicit declaration of function ‘LLVMAddConstantPropagationPass’; did you mean ‘LLVMAddCorrelatedValuePropagationPass’? \[-Werror=implicit-function-declaration\] 164- ci: Use lld or gold instead of ld.bfd 165- Intel Vulkan driver crash with alpha-to-coverage 166- radv: blitting 3D images with linear filter 167- \[ACO\] Compiling pipelines from RPCS3's shader interpreter spins forever in ACO code 168- \[regression][bisected\] nir: nir_intrinsic_io_semantics assert failures in piglit 169- error: ‘static_assert’ was not declared in this scope 170- Intel Vulkan driver assertion with small xfb buffer 171- \<<MESA crashed>\> Array Index Out of Range with Graphicsfuzz application 172- EGL_KHR_swap_buffers_with_damage support on X11 173- \[spirv-fuzz\] SPIR-V parsing failed "src->type->type == dest->type->type" 174- radeonsi: radeonsi crashes in Chrome on chromeos 175- \[RADV\] commit d19bc94e4eb94 broke gamescope with Navi 176- 4e3a7dcf6ee4946c46ae8b35e7883a49859ef6fb breaks Gamescope showing windows properly. 177- anv: crashes in CTS test dEQP-VK.subgroups.*.framebuffer.*_tess_eval 178- Intel Vuikan (anv) crash in copy_non_dynamic_state() when using validation layer 179- \[tgl][bisected][regression\] GPU hang in The Witcher 3 180- Mafia 3: Trees get rendered incorrectly 181- radv: dEQP-VK.synchronization.op.multi_queue.timeline_semaphore.write_clear_attachments_*_concurrent fail when forcing DCC. 182- Crash on GTA 5 through proton 5.0.9 and GE versions 183- Flickering textures in "Divinity Original Sin Enhanced Edition" 184- Mesa 20.2.0-rc1 fails to build for AMD 185- Assertion failure compiling shader from Zigguart 186 187 188Changes 189------- 190 191Aaron Watry (1): 192 193- clover: Fix incorrect error check in clGetSupportedImageFormats 194 195Adam Jackson (22): 196 197- drisw: Port the MIT-SHM check to XCB 198- vulkan: Don't pointlessly depend on libxcb-dri2 199- docs: Stop claiming to implement OpenVG 200- mesa: Fix GL_CLAMP handling in glSamplerParameter 201- mesa: Generate more errors from GetSamplerParameter 202- wsi/x11: Hook up VK_PRESENT_MODE_FIFO_RELAXED_KHR 203- glx: Use GLX_FUNCTION2 only for actually aliased function names 204- glx: Collect all the non-applegl extensions in the GetProcAddress table 205- glx: Reject glXSwapIntervalMESA greater than INT_MAX 206- glx: Implement GLX_EXT_swap_control for DRI2 and DRI3 207- glx/dri3: Implement GLX_EXT_swap_control_tear 208- glx: Allow depth-30 pbuffers to work without a depth-30 pixmap format 209- wsi/x11: Create a present queue for VK_PRESENT_MODE_FIFO_RELAXED_KHR 210- glx: move \__glXGetUST into the DRI1 code 211- glx: Delegate the core of glXGetScreenDriver to the GLX screen vtable 212- glx: Move glXGet{ScreenDriver,DriverConfig} to common code 213- docs/features: Update extensions for softpipe 214- docs/features: Update extensions for swr 215- loader: Print dlerror() output in the failure message 216- mesa: Enable GL_MESA_pack_invert unconditionally 217- mesa: Implement GL_ANGLE_pack_reverse_row_order 218- docs: Add MESA_pack_invert and ANGLE_pack_reverse_row_order 219 220Alejandro Piñeiro (147): 221 222- v3d/compiler: add v3dv_prog_data_size helper 223- v3d/packet: fix typo on Set InstanceID/PrimitiveID packet 224- v3d: set instance id to 0 at start of tile 225- broadcom/qpu_instr: wait is not a read or write vpm instruction 226- nir/lower_io: don't reduce range if parent length is zero 227- broadcom/simulator: update to a newer simulator 228- broadcom/common: increase V3D_MAX_TEXTURE_SAMPLERS, add specific OpenGL limit 229- broadcom/compiler: add V3D_DEBUG_RA option 230- v3dv: add v3d vulkan driver skeleton 231- gitlab-ci: add broadcom vulkan driver 232- v3dv: add support for VK_EXT_debug_report 233- v3dv: memory management stubs 234- v3dv: add support to use v3d simulator 235- v3dv/debug: plug v3d_debug 236- v3dv/debug: add v3dv_debug 237- v3dv: stubs for graphics pipeline methods 238- v3dv: Create/DestroyShaderModule implementation 239- v3d/compiler: num_tex_used on v3d_key 240- v3dv/format: add v3dv_get_format_swizzle 241- v3dv: initial CreateGraphicsPipeline/DestroyPipeline implementation 242- v3dv: initial stub for CmdBindPipeline 243- v3dv: CmdSetViewport and CmdSetScissor implementation 244- v3dv/pipeline: start to track dynamic state 245- v3dv/cmd_buffer: init command buffer dynamic state during pipeline bind 246- v3dv/cmd_buffer: emit Scissor packets 247- v3dv/cmd_buffer: emit Viewport packets 248- v3dv/cmd_buffer: emit shader_state packets 249- v3dv/cmd_buffer: start to emit draw packets 250- v3dv/cmd_buffer: add shader source bos to cmd_buffer 251- v3dv: clif format dumping support 252- v3dv/cmd_buffer: cache viewport translate/scale 253- v3dv: add v3dv_write_uniforms 254- v3dv/cmd_buffer: start jobs with CmdBeginRenderPass 255- v3d/compiler: update uses_vid/uses_iid check 256- v3dv/cmd_buffer: emit CFG_BITS 257- v3dv: partial prepack of the gl_shader_state_record 258- v3dv: prepack VCM_CACHE_SIZE 259- v3dv/pipeline: lower fs/vs inputs/outputs 260- v3dv: vertex input support 261- v3dv: provide default values for input attributes 262- v3dv/format: add R32G32B32A32_SFLOAT format 263- v3dv: stubs for Create/DestroyPipelineCache 264- v3d/cmd_buffer: emit flat_shade/noperspective/centroid flags 265- v3dv/pipeline: adding some nir-based linking 266- v3dv/bo: add a bo name 267- v3dv: debug nir shader also after spirv_to_nir 268- v3dv: initial descriptor set support 269- v3dv/descriptor_set: support for array of ubo/ssbo 270- v3dv/pipeline: null check for pCreateInfo->pDepthStencilState 271- v3dv: no need to manually add assembly bo to the job 272- v3d/compiler: handle GL/Vulkan differences in uniform handling 273- v3dv/cmd_buffer: support for push constants 274- v3dv/descriptor: support for dynamic ubo/ssbo 275- v3dv/pipeline: revamp nir lowering/optimizations passes 276- v3dv/pipeline: clean up io lowering 277- v3dv/descriptor: take into account pPushConstantRanges 278- v3dv/device: tweak ssbo/ubo device limits 279- v3dv/cmd_bufffer: rename and split emit_graphics_pipeline 280- v3dv/cmd_buffer: push constants not using descriptor anymore 281- v3dv/uniforms: cleaning up, moving udpate ubo/ssbo uniforms to a function 282- v3dv/pipeline: unify local allocator name 283- v3dv/pipeline: sampler lowering 284- v3dv/descriptor_set: added support for samplers 285- v3dv/uniforms: filling up QUNIFORM_TMU_CONFIG_P0/P1 286- v3dv/pipeline: add support for shader variants 287- v3dv/cmd_buffer: update shader variants at CmdBindDescriptorSets/CmdBindPipeline 288- v3dv/cmd_buffer: allow return in the middle of variant update if needed 289- v3dv/pipeline: fix adding texture/samplers array elements to texture/sampler map 290- v3dv/descriptor_set: support for immutable samplers 291- v3dv/descriptor: move descriptor_map_get_sampler, add and use get_image_view 292- v3dv/descriptor_set: combine texture and sampler indices 293- v3dv/descriptor: handle not having a sampler when combining texture and sampler id 294- v3dv/uniforms: fill up texture size-related uniforms 295- v3dv/format: expose correctly if a texture format is filterable 296- v3dv: handle texture/sampler shader state bo failure with OOM error 297- v3dv: properly return OOM error during pipeline creation 298- v3dv/meta-copy: ensure valid height/width with compressed formats 299- v3dv/cmd_buffer: move variant checking to CmdDraw 300- v3dv/pipeline: support for specialization constants 301- v3dv/descriptor: add general bo on descriptor pool 302- v3dv/descriptor: use descriptor pool bo for image/samplers 303- v3dv/meta-copy: add uintptr_t casting to avoid warning 304- v3dv/bo: adding a BO cache 305- v3dv/bo: add a maximum size for the bo_cache and a envvar to configure it 306- v3dv/bo: add dump stats info 307- v3d/tex: avoid to ask back for a sampler state if not needed 308- v3dv/pipeline: iterate used textures using the combined index map 309- v3dv/pipeline: set load_layer_id to zero 310- v3dv: initial support for input attachments 311- v3dv/descriptors: support for DESCRIPTOR_TYPE_STORAGE_IMAGE 312- v3dv/pipeline: lower_image_deref 313- v3dv/uniforms: support for some QUNIFORM_IMAGE_XXX 314- nir: include texture query lod as one of the ops that requires a sampler 315- v3dv/device: expose support for image cube array 316- v3dv/image: fix TEXTURE_SHADER_STATE depth for cube arrays 317- v3dv/device: add vendorID/deviceID get helpers 318- v3dv/device: get proper device ID under simulator 319- v3dv/device: proper pipeline cache uuid 320- v3dv/pipeline_cache: bare basic support for pipeline cache 321- v3dv/pipeline_cache: cache nir shaders 322- v3dv/pipeline: add basic ref counting support for variants 323- v3dv/pipeline_cache: cache v3dv_shader_variants 324- v3dv/pipeline_cache: support to serialize/deserialize cached NIRs 325- v3dv/pipeline_cache: MergePipelineCaches implementation 326- v3dv/pipeline: provide a shader_sha1 to private ShaderModules 327- v3dv/pipeline_cache: add default pipeline cache 328- v3dv/pipeline: remove custom variant cache 329- v3dv/pipeline: when looking for a variant, check first current variant 330- v3dv/pipeline: pre-generate more that one shader variant 331- v3dv/pipeline: handle properly OUT_OF_HOST_MEMORY error when allocating p_stage 332- v3dv/descriptor: support for UNIFORM/STORAGE_TEXEL_BUFFER 333- v3dv: add v3dv_limits file 334- v3dv/device: fix minTexelBufferOffsetAlingment 335- v3dv/formats: fix exposing FEATURE_UNIFORM/STORAGE_TEXEL_BUFFER_BIT 336- v3dv/uniforms: handle texture size for texel buffers 337- v3dv/descriptor: remove v3dv_descriptor_map_get_image_view 338- v3dv/device: add assert for texture-related limits 339- v3dv/device: warn when the pipeline cache is disabled 340- v3dv/debug: add v3dv_print_v3d_key 341- v3dv/pipeline: fix combined_index_map insertions 342- v3dv/meta: fix hash table insertion 343- broadcom/compiler: allow GLSL_SAMPLER_DIM_BUF on txs emission 344- v3d/simulator: add v3d_simulator_get_mem_size 345- v3dv/device: fix compute_heap_size for the simulator 346- v3dv/pipeline: use derefs for ubo/ssbo 347- v3dv: Call nir_lower_io for push constants 348- v3dv/pipeline: track if texture is shadow 349- v3dv/pipeline: set 16bit return_size for shadows always 350- v3dv/cmd_buffer: set instance id to 0 at start of tile 351- v3d/limits: add line width and point size limits 352- v3dv/device: fix point-related VkPhysicalDeviceLimits 353- v3dv/device: enable largePoints 354- v3dv/meta_copy: handle mirroring z component bliting 3D images 355- v3dv/formats: properly return unsupported for 1D compressed textures 356- v3dv/meta_copy: fix TFU blitting when using 3D images 357- v3dv/pipeline_cache: set a max size for the pipeline cache 358- v3dv/pipeline_cache: extend pipeline cache envvar 359- v3dv/device: Support loader interface version 3. 360- nir/lower_io_to_scalar: update io semantics on per-component inst 361- docs/features: add v3dv driver 362- v3dv/format: use XYZ1 swizzle for three-component formats 363- v3d/format: use XYZ1 swizzle for three-component formats 364- broadcom/compiler: remove v3d_fs_key depth_enabled field. 365- v3dv/util: remove several logging functions 366- v3dv/util: log debug ignored stype only on debug builds 367- v3dv/device: do nothing when asked physical device pci bus properties 368- v3dv/cmd_buffer: missing (uint8_t \*) casting when calling memcmp 369 370Alexandros Frantzis (5): 371 372- tracie: Make tests independent of environment 373- tracie: Produce JUnit XML results 374- gitlab-ci: Enable unit test reports for normal runner traces jobs 375- gitlab-ci: Enable unit test reports for lava traces jobs 376- gitlab-ci: Enable unit test report for arm64_a630_traces 377 378Alyssa Rosenzweig (388): 379 380- panfrost: Remove blend prettyprinters 381- panfrost: Move format stringify to decode.c 382- pan/decode: Remove shader replacement artefact 383- panfrost: Inline panfrost-misc.h into panfrost-job.h 384- panfrost: Remove panfrost-misc.h 385- panfrost: Don't export exception_status 386- panfrost: Rename encoder/ to lib/ 387- panfrost: Move pandecode into lib/ 388- pan/mdg: Separate disassembler and compiler targets 389- pan/bi: Separate disasm/compiler targets 390- panfrost: Reduce bit dependency to disassembly only 391- panfrost: Add panloader/ to .gitignore 392- pan/bi: Drop use of MALI_POSITIVE 393- panfrost: Inline max rt into compilers 394- panfrost: Treat texture dimension as first-class 395- panfrost: Drop compiler cmdstream deps 396- nir/lower_ssbo: Don't set align\_\* for atomics 397- gallium/dri2: Support Arm modifiers 398- panfrost: Set \`initialized\` more conservatively 399- panfrost: Remove hint-based AFBC heuristic 400- panfrost: Introduce create_with_modifier helper 401- panfrost: Use modifier instead of layout throughout 402- panfrost: Account for modifiers when creating BO 403- panfrost: Respect modifiers in resource management 404- panfrost: Import staging routines from freedreno 405- panfrost: Choose AFBC when available 406- panfrost: Implement YTR availability check 407- panfrost: Enable YTR where allowed 408- panfrost: Allocate enough space for tiled formats 409- panfrost: Ensure AFBC slices are aligned 410- panfrost: Implement panfrost_query_dmabuf_modifiers 411- panfrost: Add stub midgard.xml 412- panfrost: Adopt gen_pack_header.py via v3d 413- panfrost: Build midgard_pack.h via meson 414- panfrost: Redirect cmdstream includes through GenXML 415- pan/decode: Add helper to dump GPU structures 416- panfrost: XMLify job_type 417- panfrost: XMLify draw_mode 418- panfrost: XMLify mali_func 419- panfrost: XMLify stencil op 420- panfrost: XMLify wrap modes 421- panfrost: XMLify viewport 422- panfrost: XMLify UBOs 423- panfrost: XMLify stencil test 424- panfrost: Simplify zsa == NULL case 425- panfrost: Simplify depth/stencil/alpha 426- panfrost: Don't mask coverage mask to 4-bits 427- panfrost: XMLify Midgard samplers 428- panfrost: XMLify Bifrost samplers 429- panfrost: XMLify Midgard textures 430- panfrost: XMLify Bifrost textures 431- panfrost: Drop unused mali_channel_swizzle 432- panfrost: XMLify Block Format 433- panfrost: XMLify MSAA writeout mode 434- panfrost: XMLify exception access 435- panfrost: XMLify enum mali_format 436- panfrost: Set STRIDE_4BYTE_ALIGNED_ONLY 437- panfrost: Drop NXR format 438- panfrost: Squash 22-bit format field in attr_meta 439- panfrost: XMLify mali_channel 440- panfrost: XMLify attributes 441- panfrost: Merge attribute packing routines 442- panfrost: Add XML for attribute buffers 443- panfrost: Use better packs for blits 444- panfrost: Simplify offset fixup proof 445- panfrost: Make attribute-buffer map explicit 446- panfrost: Move attr_meta emission to the draw routine 447- panfrost: Use packs for attributes 448- panfrost: Hoist instance_shift/instance_odd fetch 449- panfrost: Inline panfrost_vertex_instanced 450- panfrost: Use packs for vertex attribute buffers 451- panfrost: Use packs for vertex built-ins 452- panfrost: Reword comment 453- panfrost: Pass varying descriptors by reference 454- panfrost: Factor out general varying case 455- panfrost: Use pack for XFB varying 456- panfrost: Use pack for general varying 457- panfrost: Use MALI_ATTRIBUTE_LENGTH 458- pan/bit: Use packs for Bifrost unit tests 459- panfrost: Remove mali_attr_meta 460- panfrost: Use packs for varying buffers 461- panfrost: Drop hand-rolled pandecode for attribute buffers 462- panfrost: Drop union mali_attr 463- panfrost: Update CI expectations 464- panfrost: Decontextualize rasterizer 465- panfrost: Drop rasterizer null checks in draw calls 466- panfrost: Drop ZSA null checks in draws 467- panfrost: Drop panfrost_invalidate_frame 468- panfrost: Drop QUADS primitive convert 469- panfrost: Hoist add_fbo_bo call 470- panfrost: Remove useless comment 471- panfrost: Hoist assert from bind to create 472- panfrost: Fix WRITES_GLOBAL bit 473- panfrost: Fix shared memory size computation 474- pan/mdg: Ensure barrier op is set on texture 475- pan/mdg: Handle 32-bit offsets from store_shared 476- pan/mdg: Identify barrier out-of-order field 477- pan/mdg: Fix printing of r26 ld/st sources post-RA 478- pan/mdg: Fix auxiliary load/store swizzle packing 479- panfrost: Pre-allocate memory for pool 480- panfrost: Introduce invisible pool 481- panfrost: Avoid minimum stack allocations 482- pan/decode: Don't try to dereference heap mapping 483- panfrost: Share tiler_heap across batches/contexts 484- panfrost: Drop implicit blend pooling 485- panfrost: Explicitly handle nr_cbufs=0 case 486- panfrost: Drop depth-only case in blend finalize 487- panfrost: Keep finalized blend state constant 488- panfrost: Fix blend leak for render targets 5-8 489- panfrost: Free cloned NIR shader 490- panfrost: Free NIR of blit shaders 491- panfrost: Free hash_to_temp map 492- pan/mdg: Free previous liveness 493- panfrost: Use memctx for sysvals 494- panfrost: Free batch->dependencies 495- panfrost: Pass alignments explicitly 496- panfrost: Fix attribute buffer underallocation 497- panfrost: Don't overallocate attributes 498- panfrost: Don't reserve for NPOT w/o instancing 499- panfrost: Reduce attribute buffer allocations 500- panfrost: Fix alignment on Bifrost 501- gallium: Add util_blend_factor_uses_dest helper 502- gallium: Add util_blend_uses_dest helper 503- si: Use util_blend_factor_uses_dest 504- r300: Use util_blend_factor_uses_dest 505- pan/decode: Drop legacy 32-bit job support 506- panfrost: Decode nested structs correctly 507- panfrost: Hoist blend finalize calls 508- panfrost: Separate shader/blend descriptor emits 509- panfrost: XMLify blend flags 510- panfrost: Simplify make_fixed_blend_mode prototype 511- panfrost: Honour load_dest/opaque flags 512- panfrost: XMLify blend equation 513- panfrost: Combine frag_shader_meta_init functions 514- panfrost: Size UBO#0 accurately 515- panfrost: Clamp shader->uniform_count 516- panfrost: Bake the initial tag into the shader pointer 517- panfrost: Specialize compute vs frag shader init 518- panfrost: Rename shader emit functions 519- panfrost: Clean up blend shader errata handling 520- panfrost: Group SFBD state together 521- panfrost: XMLify Midgard properties 522- panfrost: Pack compute Midgard properties 523- panfrost: Use packs for fragment properties 524- panfrost: Use pack for shaderless 525- panfrost: Fold work_count packing for blend shaders 526- panfrost: Simplify bind_blend_state 527- panfrost: Remove midgard1 bitfield 528- panfrost: XMLify bifrost1 529- panfrost: Drop redundant NULL check 530- panfrost: Group SFBD code tighter 531- panfrost: XMLify Bifrost preload 532- panfrost: Identify additional SFBD flags 533- panfrost: Support SHADERLESS mode everywhere 534- panfrost: Quiet pandecode error 535- panfrost: Derive texture/sampler_count from shader 536- panfrost: XMLify beginning of shader descriptor 537- panfrost: Derive UBO count from shader_info 538- panfrost: Pack vertex properties when compiling 539- panfrost: Prepack fragment properties/preload 540- panfrost: Simplify shaderless packing 541- panfrost: Ensure shader-db state is zero-initialized 542- panfrost: Allocate a state uploader 543- panfrost: Upload shader descriptors at CSO create 544- panfrost: Use preuploaded shader descriptors 545- panfrost: XMLify the rest of shader_meta 546- panfrost: Inherit default values from structs 547- panfrost: Use pack for blit shaders 548- panfrost: Use pack for Bifrost test state 549- panfrost: Add optional opaque packs to GenXML 550- panfrost: Use opaque pack for vertex shaders 551- panfrost: Use pack for fragment shaders 552- pan/decode: Use unpacks for state descriptor 553- panfrost: Drop mali_shader_meta 554- panfrost: Add opaque midgard_blend XML 555- panfrost: Emit explicit REPLACE for disabled colour writeout 556- panfrost: Drop blend indirection 557- panfrost: Add padded type for instance fields 558- panfrost: Add XML for mali_vertex_tiler_postfix 559- panfrost: Use draw pack for blit 560- panfrost: Separate postfix from emits 561- panfrost: Inline vt_update_{rasterizer, occlusion} 562- panfrost: Remove postfix parameter from UBO upload 563- panfrost: Avoid postfix dep for vertex_data 564- panfrost: Don't call panfrost_vt_init for compute 565- panfrost: Inline panfrost_vt_init 566- panfrost: Inline panfrost_vt_set_draw_info 567- panfrost: Detangle postfix from varying emits 568- panfrost: Use draw pack for compute jobs 569- panfrost: Use pack for draw descriptor 570- panfrost: Simplify ZSA bind 571- panfrost: Cleanup point sprite linking 572- panfrost: Drop point sprite from shader key 573- panfrost: XMLify primitive information 574- panfrost: Add invocation XML 575- panfrost: XMLify invocations 576- panfrost: Drop bifrost_payload_fused 577- panfrost: Inline bifrost_tiler_only 578- panfrost: Use nir_builder_init_simple_shader for blits 579- pan/decode: Drop scratchpad size dump 580- pan/decode: Drop mali_vertex_tiler_postfix arg 581- pan/decode: Print shader-db even for compute 582- pan/decode: Fix awkward syntax 583- pan/decode: Use generation for vertex_tiler_postfix 584- pan/decode: Use unpack for vertex_tiler_postfix_pre 585- panfrost: Remove mali_vertex_tiler_postfix 586- pan/decode: Drop prefix braces 587- panfrost: Emit texture/sampler points for compute 588- pan/mdg: Implement i/umul_high 589- pan/mdg: Scalarize 64-bit 590- pan/mdg: Bounds check swizzle writing globals 591- pan/mdg: Implement nir_intrinsic_load_sample_mask_in 592- pan/mdg: Refactor texture op/mode handling 593- pan/mdg: Add disassembly for shadow gathers 594- pan/mdg: Implement texture gathers 595- panfrost: Set PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS 596- docs/features: Add missing Panfrost extensions 597- pan/mdg: Fix discard encoding 598- pan/mdg: Fix perspective combination 599- panfrost: Drop PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER/BUFFERS 600- mesa/st: Don't set alpha if ALPHA_TEST is lowered 601- pan/mdg: Obey f2fmp size restriction in fuse_io_16 602- panfrost: Fix nonzero stencil mask on vertex/compute 603- pan/bit: Set d3d=true for CMP tests 604- pan/bit: Fix unit tests 605- pan/bi: Lower flrp16 606- pan/bi: Add XML describing the instruction set 607- pan/bi: Add ISA parser 608- pan/bi: Add packing generator 609- pan/bi: Add disassembler generator 610- pan/bi: Add disassembly prototypes 611- pan/bi: Add bi_disasm_dest\_\* helpers 612- pan/bi: Export dump_src 613- pan/bi: Use new disassembler 614- pan/bi: Use canonical syntax for registers/uniforms/imms 615- pan/bi: Use canonical syntax for special constants 616- pan/bi: Add dummy carry/borrow argument for iadd/isub 617- pan/bi: Introduce segments into the IR 618- pan/bi: Add format field to IR 619- pan/bi: Track compute_lod in IR 620- pan/bi: Pass blend descriptor explicitly in IR 621- pan/bi: Use 8-bit shifts 622- pan/bi: Use src1/dest_invert instead of src_invert[\] 623- pan/bi: Move packing helpers to dedicated file 624- pan/bi: Use new packing 625- pan/bi: Remove unused prints 626- pan/bi: Remove unused packing data structures 627- pan/bi: Drop \*FMIN reference 628- pan/bi: Annotate stop bit (canonically "Z-bit") 629- pan/bi: Annotate disassemble with format names 630- pan/bi: Inline dump_instr 631- pan/bi: Track M values of disassembled constants 632- pan/bi: Decode M values in disasm 633- pan/bi: Disassemble PC-relative addresses 634- pan/bi: Add bifrost_reg_mode enum 635- pan/bi: Pass 'first' through disassembler 636- pan/bi: Decode all 32-bit register modes 637- pan/bi: Rename port -\> slot 638- pan/bi: Use canonical register packing 639- pan/bi: Remove old register mode definitions 640- pan/bi: Fix assert when writing vertex outputs 641- pan/bi: Add copy for register COMBINEs 642- pan/decode: Ensure mappings are zeroed 643- pan/bi: Fix memory corruption in scheduler 644- pan/bi: Drop if 0'd combine lowering 645- pan/bi: Cull unnecessary edges on the CF graph 646- pan/bi: Use canonical floating-point modes 647- pan/bi: Canonicalize terminate_discarded_threads 648- pan/bi: Use canonical next_clause_prefetch 649- pan/bi: Use canonical name for staging registers 650- pan/bi: Expand clause type to 5-bit 651- pan/bi: Add missing message types 652- pan/bi: Print message types as strings 653- pan/bi: Use canonical term "message type" 654- pan/bi: Use canonical term dependency 655- pan/bi: Use canonical flow control enum 656- pan/bi: Pass flow_control through directly 657- pan/bi: Handle vector moves 658- pan/bi: Expose GL 2.1 on Bifrost 659- pan/bi: Fix simple txl test 660- pan/bi: Use canonical texture op names in IR 661- pan/bi: Streamline TEXC/TEXS naming/selection 662- pan/bi: Encode skip bit into IR 663- pan/bi: Pack skip bit for texture operations 664- pan/bi: Add texture operator descriptor 665- pan/bi: Stub out TEXC handling 666- pan/bi: Add data register passing infrastructure 667- pan/bi: Handle nir_tex_src_lod 668- pan/bi: Pack TEXC 669- pan/bi: Rewrite to fit dest = src constraint 670- pan/bi: Prefer 'texture_index' to 'image_index' 671- panfrost: Add missing XML for Bifrost samplers 672- panfrost: Fix Bifrost filter selection 673- panfrost: Fix Bifrost high LOD clamp 674- panfrost: Add some missing Bifrost texture XML 675- pan/bi: Implement txb 676- panfrost: Set helper_invocation_enable for Bifrost 677- pan/bi: Fix message type printing 678- pan/bi: Don't terminate helper threads 679- panfrost: Add panfrost_block_dim helper 680- pan/bi: Use new block dimension helper 681- panfrost: Fix faults on block-based formats on Bifrost 682- pan/bi: Map NIR tex ops to Bifrost ops 683- pan/bi: Add bi_emit_lod_cube helper 684- pan/bi: Implement FETCH 685- panfrost: Update XML for Bifrost early-z/FPK 686- panfrost: Set "shader modifies coverage?" flag 687- panfrost: Temporarily disable FP16 on Bifrost 688- pan/bi: Disable mediump output lowering 689- pan/bi: Range check newc/oldc when rewriting 690- panfrost: Rename gtransfer to transfer 691- panfrost: Use canonical characterization of tls_size 692- panfrost: Drop panfrost_vt_emit_shared_memory 693- pan/mdg: Cleanup mir_rewrite_index_src_single 694- pan/bi: Drop 64-bit constant support 695- pan/bi: Fix handling of small constants in bi_lookup_constant 696- pan/bi: Stub spilling 697- pan/bi: Add no_spill flag to IR 698- pan/bi: Implement bi_choose_spill_node 699- pan/bi: Add spills/fills parameters 700- pan/bi: Add bi_spill helper 701- pan/bi: Add bi_fill 702- pan/bi: Add bi_rewrite_index_src_single helper 703- pan/bi: Add helpers for working with singletons 704- pan/bi: Implement bi_spill_register 705- pan/bi: Factor out singleton construction from scheduler 706- pan/bi: Add bi_foreach_clause_in_block_safe helper 707- pan/bi: Pack LOAD/STORE 708- pan/bi: Implement spilling 709- pan/bi: Pipe through tls_size 710- panfrost: Move nir_undef_to_zero to common util/ 711- pan/bi: Use nir_undef_to_zero 712- panfrost: Record architecture major version 713- panfrost: Don't export queries 714- panfrost: Calculate thread count on Bifrost 715- panfrost: Fix component order XML 716- panfrost: Implement BGRA textures 717- panfrost: Drop PIPE_CAP_GLSL_FEATURE_LEVEL for Bifrost 718- panfrost: Don't advertise MSAA on Bifrost 719- pan/bi: Account for bool32 ld_ubo reads 720- panfrost: Don't double-compose swizzles 721- panfrost: Add MALI_EXTRACT_INDEX helper 722- panfrost: Use consistent swizzle names in XML 723- panfrost: Add a blendable format table 724- panfrost: Use panfrost_blendable_formats for MFBD 725- panfrost: Use panfrost_blendable_formats for SFBD 726- panfrost: Use panfrost_blendable_formats for blending 727- panfrost: Complete format_to_bifrost_blend 728- panfrost: Remove duplicated format arg for ASTC 729- panfrost: Remove panfrost_is_z24s8_variant 730- panfrost: Add v7 special colour formats 731- panfrost: Add missing depth/stencil formats 732- panfrost: Add miscellaneous missing Midgard formats 733- panfrost: Add v7-specific depth formats 734- panfrost: Split out v6/v7 format tables 735- panfrost: Rename VARYING_DISCARD to CONSTANT 736- panfrost: Rename VARYING_POS to SNAP4 737- panfrost: Add missing 1/2/4/64-bit formats to XML 738- panfrost: Use macro for panfrost_get_default_swizzle 739- panfrost: Fix RGB5A1 formats 740- panfrost: Fix BGR233 component order 741- panfrost: Add missing alpha-first special formats 742- pan/bi: Suppress disassembly for internal shaders 743- pan/bi: Lower +CUBEFACE2 744- panfrost: Disable point sprites on Bifrost 745- panfrost: Advertise Bifrost support 746- panfrost: Drop unused swizzles 747- panfrost: Add bi_emit_array_index helper 748- pan/bi: Track tex data register swizzles 749- pan/bi: Handle 3D/array coordinates 750- pan/bi: Don't emit TEXS for array textures 751- panfrost: Set .array_size on Bifrost 752- nir: Add SRC_TYPE to store_combined_output_pan 753- pan/mdg: Deduplicate nir_find_variable_with_driver_location 754- pan/mdg: Move writeout lowering to common panfrost 755- panfrost: Pass through src_type 756- panfrost: Deduplicate shader properties 757- pan/bi: Add +ZS_EMIT instruction to IR 758- pan/bi: Infer z/stencil flags from sources passed 759- pan/bi: Factor out bi_emit_atest 760- pan/bi: Factor out bi_emit_blend 761- pan/bi: Stub handling for nir_intrinsic_store_combined_output_pan 762- pan/bi: Emit +ZS_EMIT as needed 763- pan/bi: Lower depth/stencil stores 764- pan/bi: Correctly calculate render target index 765- pan/mdg: Add missing Collabora copyright notices 766- panfrost: Add missing Collabora copyright notices 767- pan/bi: Model writemasks correctly 768 769Andreas Baierl (4): 770 771- lima/ppir: Skip instruction merge when having more than one successor 772- lima: fix glCopyTexSubImage2D 773- lima: set clear depth value to 0x00ffffff as default 774- lima/parser: Fix varyings decoding in RSW 775 776Andres Gomez (3): 777 778- gitlab-ci: reuse container_post_build when building the test images 779- gitlab-ci: reorder container_post_build call for arm64_test image 780- Revert "gitlab-ci: reuse container_post_build when building the test images" 781 782Andrew Randrianasulu (1): 783 784- st/va: fix build with old libva 785 786Andrey Vostrikov (1): 787 788- egl/x11: Free memory allocated for reply structures on error 789 790Andrii Simiklit (4): 791 792- util/xmlconfig: eliminate memory leak 793- nir: get rid of OOB dereferences in nir_lower_io_arrays_to_elements 794- glx: get rid of memory leak 795- glsl: avoid an out-of-bound access while setting up a location for variable 796 797Anthoine Bourgeois (4): 798 799- docs/features: Minor update extensions support 800- docs/features: VK_KHR_mir_surface is disabled, remove it 801- docs/features: add some extensions we missed 802- docs/features.txt: VK_EXT_separate_stencil_usage not exposed on RADV 803 804Antonio Caggiano (1): 805 806- zink: pre-hash gfx-pipeline-state 807 808Anuj Phogat (2): 809 810- intel/gen9: Enable MSC RAW Hazard Avoidance 811- intel: Pointer to SCISSOR_RECT array should be 64B aligned 812 813Aníbal Limón (1): 814 815- src/util/disk_cache_os.c: Add missing headers for open/fcntl 816 817Arcady Goldmints-Orlov (7): 818 819- broadcom/compiler: support nir_intrinsic_load_sample_id 820- broadcom/compiler: Add a constant folding pass after nir_lower_io 821- broadcom/compiler: Enable PER_QUAD for UBO and SSBO loads. 822- broadcom/compiler: support varyings with struct types 823- broadcom/compiler: use nir io semantics 824- broadcom/compiler: Handle non-SSA destinations for tex instructions 825- broadcom/compiler: Allow spills of temporaries from TMU reads 826 827Bas Nieuwenhuizen (58): 828 829- radv: Add ETC2 support on RAVEN2. 830- radv: Fix assert that is too strict. 831- radv: Add forcecompress debug flag. 832- radv: Do not consider layouts fast-clearable on compute queue. 833- radv: Update CI expectations for the recent descriptor indexing regressions. 834- radv: When importing an image, redo the layout based on the metadata. 835- radv: Clean up setting the surface flags. 836- radv: Use getter instead of setter to extract value. 837- driconf: Support selection by Vulkan applicationName. 838- radv: Override the uniform buffer offset alignment for World War Z. 839- radv: Fix handling of attribs 16-31. 840- radv: Remove conformance warnings with ACO. 841- radv: Update CTS version. 842- radv: Fix 3d blits. 843- radv: Centralize enabling thread trace. 844- radv: Allow triggering thread traces by file. 845- radv: Fix threading issue with submission refcounts. 846- radv: Avoid deadlock on bo_list. 847- spirv: Deal with glslang bug not setting the decoration for stores. 848- spirv: Deal with glslang not setting NonUniform on constructors. 849- radeonsi: Work around Wasteland 2 bug. 850- radv,gallium: Add driconf option to reduce advertised VRAM size. 851- amd/common: Store non-displayable DCC pitch. 852- radeonsi: Put retile map in separate buffers. 853- radeonsi: Move display dcc dirty tracking to framebuffer emission. 854- ac/surface: Fix depth import on GFX6-GFX8. 855- radv,radeonsi: Disable compression on interop depth images 856- Revert "radv: set BIG_PAGE to improve performance on GFX10.3" 857- Revert "radv: emit {CB,DB}_RMI_L2_CACHE_CONTROL at framebuffer time" 858- st/mesa: Deal with empty textures/buffers in semaphore wait/signal. 859- radv: Disable NGG on APUs. 860- radv: Simplify radv_is_hw_resolve_pipeline. 861- radv: Add VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 rendering support. 862- radv: Fix emitting SQTT userdata. 863- radv: Use correct alignment for SQTT buffer sizes. 864- radv: Fix RGP Asic CU info for GFX10+. 865- radv: Include flushes in the barrier. 866- radv: Record cache flushes for RGP. 867- radv: Write correct dispatch size for RGP. 868- radeonsi: Fix imports with displayable DCC. 869- radv: Use atomics to read query results. 870- radv: Set fce metadata correctly on DCC initialization. 871- radv: Fix event write cmdbuffer allocation when tracing. 872- radv/winsys: Expand scope of allbos lock. 873- radv: Fix mipmap extent adjustment on GFX9+. 874- aco: Add VK_KHR_shader_terminate_invocation support. 875- amd/llvm: Add VK_KHR_shader_terminate_invocation support. 876- radv: Advertise VK_KHR_shader_terminate_invocation. 877- frontends/va: Initialize drm modifier on import. 878- radv: Fix 1D compressed mipmaps on GFX9. 879- radv: Do not access set layout during vkCmdBindDescriptorSets. 880- radv: Fix variable name collision. 881- radv: Skip tiny non-visible VRAM heap. 882- radv: Fix budget calculations with large BAR. 883- radv: Fix exporting/importing multisample images. 884- radv: Fix RB+ blending for VK_FORMAT_E5B9G9R9_UFLOAT_PACK32. 885- radv: Fix a hang on CB change by adding flushes. 886- radv: Deal with unused attachments in mip flush 887 888BillKristiansen (1): 889 890- compiler/glsl: Initialize local variable to zero to fix MSVC RTC error 891 892Boris Brezillon (141): 893 894- spirv: Move the emit a 'return value' store logic into own function 895- compiler/nir: Add new flags to lower pack/unpack split instructions 896- nir: Fix i64tof32 lowering 897- spirv: Add support for the CL Round instruction 898- panfrost: Rename panfrost_create_pool() into panfrost_pool_init() 899- panfrost: Avoid accessing pan_pool fields directly 900- panfrost: Store transient BOs in a dynamic array 901- spirv: Add a vtn_get_mem_operands() helper 902- spirv: Don't accept CPacked decoration on struct members 903- spirv: Propagate packed information to glsl_type 904- glsl: Propagate packed info in get_explicit_type_for_size_align() 905- nir/glsl: Consider block interfaces as structs when it comes to size/align calculation 906- nir: Expose the packed attribute attached to glsl_type objects 907- panfrost: gen_pack: Minor formatting improvement 908- panfrost: gen_pack: Fix \__gen_unpack_uint() 909- panfrost: gen_pack: Add pan_{unpack,print}() helpers 910- panfrost: gen_pack: Move the group get_length() logic to its own method 911- panfrost: gen_pack: Add the aggregate concept 912- panfrost: gen_pack: Allow empty structs 913- panfrost: gen_pack: Add an align() modifier 914- panfrost: gen_pack: Add a log2 modifier 915- panfrost: gen_pack: Allow enum/define values expressed in hexadecimal 916- panfrost: decode: Make the indentation consistent with auto-generated print helpers 917- panfrost: decode: Rework the DUMP_{CL,ADDR}() macros 918- panfrost: decode: Add a macro to dump unpacked descriptors 919- panfrost: decode: Use pan_{unpack,print}() when applicable 920- panfrost: XML-ify the local storage descriptor 921- panfrost: Clarify what TILED mode is 922- panfrost: Add Tiled linear mode to the Block Format enum 923- panfrost: XML-ify the midgard tiler descriptor 924- panfrost: XML-ify the single target framebuffer descriptor 925- panfrost: XML-ify the bifrost tiler descriptors 926- panfrost: XML-ify the multi-target framebuffer descriptors 927- panfrost: XML-ify the job header descriptor 928- panfrost: XML-ify the write value job descriptor 929- panfrost: XML-ify the fragment job descriptor 930- panfrost: Rename the Blend dither disable flag 931- panfrost: XML-ify the compute job descriptor 932- panfrost: Avoid copying job descriptors around when we can 933- panfrost: decode: Misc formatting improvements 934- panfrost: gen_pack: Fix gnu-empty-initializer errors 935- ci: Extend meson-clang coverage by compiling all gallium drivers 936- panfrost: Fix bifrost tiler descriptor definition 937- panfrost: Fix bifrost tiler job emission 938- panfrost: Adjust quirks for bifrost v6 939- panfrost: Add preliminary support for Mali G72 940- kmsro: Add mediatek entry point 941- panfrost: Add support for rbg16 formats 942- panfrost: decode: Fix decode_bifrost_constant() prototype 943- panfrost: decode: Flag pandecode_log_typed() as PRINTFLIKE 944- panfrost: bifrost: disassemble: Fix decoding of next_regs 945- panfrost: Fix a warning 946- panfrost: Adjust the draw descriptor definition 947- panfrost: Adjust the primitive desc definition 948- panfrost: Adjust the renderer state definition 949- panfrost: Get rid of the with_opaque qualifier on the renderer state desc 950- panfrost: Drop the with_opaque specifier on midgard blend desc 951- panfrost: gen_pack: Drop support for opaque structs 952- panfrost: gen_pack: Support overlapping structs 953- panfrost: gen_pack: Add a no-direct-packing attribute 954- panfrost: Rework fixed-function blending 955- panfrost: Rework the render target layout to use overlapping structs 956- panfrost: XML-ify the blend descriptors 957- panfrost: Fix fixed-function blend on Mali v6 958- panfrost: Constify the rt_fmts arg passed to pan_lower_framebuffer() 959- panfrost: Move the blend constant mask extraction out of make_fixed_blend_mode() 960- panfrost: Pass compile arguments through a struct 961- panfrost: Allocate blit_blend with ralloc() 962- panfrost: Don't leak NIR blend shaders 963- panfrost: Let compile_blend_shader() allocate the blend shader object 964- panfrost: Get rid of the constant patching done on blend shader binaries 965- panfrost: Move the blend shader cache at the context level 966- panfrost: Fix fixed-function blend on bifrost 967- panfrost: Extend compile_inputs to pass a blend descriptor 968- pan/bi: Copy blend shader info from compile_inputs 969- pan/bi: Use canonical name for FAU RAM sources 970- pan/bi: Get rid of the regs argument in bi_assign_fau_idx() 971- pan/bi: Rework blend descriptor access handling 972- pan/bi: Add support for load_blend_const_color_{r,g,b,a}_float 973- pan/bi: Support indirect jumps 974- panfrost: Add a "Bifrost Internal Blend" descriptor 975- panfrost: Scalarize nir_load_blend_const_color_rgba 976- panfrost: Flag blend shader function as an entry point 977- pan/bi: Add load_output support 978- pan/bi: Collect return addresses of blend calls 979- pan/bi: Special-case BLEND instruction emission for blend shaders 980- pan/bi: Reserve r0-r3 in blend shaders 981- pan/bi: Special-case load_input for blend shaders 982- panfrost: Add missing tile-buffer formats to the format enum 983- panfrost: Add blend shader support to bifrost 984- panfrost: Adjust the renderer state definition 985- panfrost: Fix tiler job injection 986- panfrost: Add the bifrost tiler internal state field 987- panfrost: Add specialized preload descriptors 988- panfrost: Replace unkown renderer state fields by their real names 989- pan/bi: Make sure we don't print special index as a register 990- pan/bi: Print blend descriptor source properly 991- pan/bi: Add support for load_sample_id 992- pan/bi: Support the case where TEXC needs 0 or 1 staging reg 993- pan/bi: Add basic support for txf_ms 994- panfrost: Make {midgard,bifrost}_compile_shader_nir() return a program object 995- panfrost: Build blit shaders on Bifrost too 996- panfrost: Use real name for attribute's unknown field 997- panfrost: Rename panfrost_transfer to panfrost_ptr 998- panfrost: Pass the texture payload through a panfrost_ptr 999- panfrost: Split panfrost_load_midg() 1000- panfrost: Add support for native wallpapering on Bifrost 1001- panfrost: Use native wallpapering on Bifrost 1002- panfrost: Get rid of the non-native wallpering bits 1003- panfrost: Preload primitive flags when gl_FrontFacing is accessed 1004- pan/bi: Add support for load_front_face 1005- pan/bi: Add support for load_point_coord 1006- pan/bi: Lower {i,u}{min,max} instructions 1007- pan/bi: Add ult support 1008- pan/bi: Fix ms_idx type to catch missing ms_index source 1009- panfrost: Leave push_constants pointer to NULL if there's no uniform 1010- panfrost: Suppress Bifrost prefetching 1011- panfrost: Add array size to XML 1012- panfrost: Implement v7 texture payloads 1013- pan/bi: s/t0/t1/ in bi_disasm_dest_add() 1014- pan/bi: Move special instruction packing to a separate helper 1015- pan/bi: Split special class in two 1016- pan/bi: Hook up cube instructions packing 1017- pan/bi: Lower cube map coordinates 1018- panfrost: Force late pixel kill when depth/stencil is written from the FS 1019- panfrost: Expose GLES3 features on Bifrost when PAN_MESA_DEBUG=deqp 1020- pan/bi: Extract LD_VAR sample field from ins->load_vary.interp_mode 1021- pan/bi: Support centroid and sample interpolations 1022- pan/bi: Fix swizzle handling in bi_copy_src() 1023- pan/bi: Add support for load_ubo 1024- pan/bi: Lower uniforms to UBO 1025- pan/bi: Get rid of bi_emit_ld_uniform() 1026- pan/bi: Move bitwise op packing out of bi_pack_fma() 1027- pan/bi: Fix ARSHIFT definitions 1028- pan/bi: Add support for ishr 1029- pan/bi: Add support for ushr 1030- panfrost: Allow linear ZS resources on Bifrost 1031- pan/bi: Add support for load_vertex_id 1032- pan/bi: Add support for load_instance_id 1033- panfrost: Fix Bifrost blend descriptor emission 1034- panfrost: Fix ->reads_frag_coord assignment 1035 1036Boyuan Zhang (5): 1037 1038- vl: add flag and definition for protected playback 1039- frontends/va: handle protected slice data buffer 1040- radeon: add decryption params definition header 1041- radeon/vcn: add defines for drm message buffer 1042- radeon/vcn: program drm message buffer 1043 1044Brendan Dougherty (1): 1045 1046- mesa: Fix vertex_format_to_pipe_format index. 1047 1048Caio Marcelo de Oliveira Filho (19): 1049 1050- intel/compiler: Use C99 array initializers for prog_data/key sizes 1051- nir: Add nir_intrinsic_terminate and nir_intrinsic_terminate_if 1052- spirv: Update headers and metadata from latest Khronos commit 1053- spirv: Handle SpvOpTerminateInvocation 1054- intel/fs: Handle nir_intrinsic_terminate 1055- vulkan: Update XML and headers to 1.2.158 1056- anv: Advertise VK_KHR_shader_terminate_invocation 1057- nir: Use a switch in nir_lower_explicit_io_instr 1058- intel/fs: Don't emit_uniformize when getting a constant SSBO index 1059- spirv: Implement SpvCapabilitySubgroupShuffleINTEL from SPV_INTEL_subgroups 1060- nir: Add nir_intrinsic_{load,store}_deref_block_intel 1061- spirv: Implement SpvCapabilitySubgroupBufferBlockIOINTEL 1062- intel/fs: Add A64 OWORD BLOCK opcodes 1063- intel/fs: Implement nir_intrinsic_{load,store}_global_block_intel 1064- intel/fs: Add surface OWORD BLOCK opcodes 1065- intel/fs: Implement nir_intrinsic_{load,store}_ssbo_block_intel 1066- intel/fs: Implement nir_intrinsic_{load,store}_shared_block_intel 1067- compiler: Add new Vulkan shader stages 1068- spirv: Add Ray Tracing execution models 1069 1070Caleb Callaway (1): 1071 1072- iris: Add missing newline to debug log message 1073 1074Chad Versace (2): 1075 1076- anv/image: Check DISJOINT in vkGetPhysicalDeviceImageFormatProperties2 (v2) 1077- anv/image: Fix isl_surf_usage_flags for stencil images 1078 1079Charmaine Lee (3): 1080 1081- st/mesa: increase size of gl_register_file bitfields 1082- winsys/svga: fix display corruption after surface_init 1083- svga: fix draw elements with 8-bits indices 1084 1085Chia-I Wu (2): 1086 1087- virgl: move protocol headers to a common place 1088- virgl: update protocol headers 1089 1090Christian Gmeiner (17): 1091 1092- etnaviv: call nir_lower_bool_to_bitsize 1093- etnaviv: completely turn off MSAA 1094- ci: do not build libdrm for vc4, reedreno and etnaviv 1095- etnaviv: call nir_opt_shrink_vectors(..) in opt loop 1096- etnaviv: shuffle some variant fields 1097- etnaviv: add disk cache 1098- etnaviv: simplify linear stride implementation 1099- ci: piglit: conditionally build OpenCL tests 1100- ci/bare-metal: suppress 'No such file or directory' 1101- etnaviv: drop etna_pipe_wait(..) 1102- ci/x86: speed up piglit testing 1103- nir: make tgsi_varying_semantic_to_slot(..) public 1104- etnaviv: convert from tgsi semantic/index to varying-slot 1105- etnaviv: move etna_dump_shader(..) to generic location 1106- etnaviv: move etna_destroy_shader(..) to generic location 1107- etnaviv: nir: do not run opt loop after nir_lower_bool_xxx(..) 1108- etnaviv/drm: fix evil-twin etna_drm_table_lock 1109 1110Connor Abbott (59): 1111 1112- freedreno/afuc: Fix printing preemptleave on a5xx 1113- freedreno/afuc: Handle setsecure opcode 1114- freedreno/afuc: Add iret 1115- freedreno/afuc: Handle xmov modifiers 1116- freedreno/afuc: Make 0 a valid number 1117- freedreno/afuc: Install asm/disasm 1118- freedreno: Add afuc regression test 1119- nir/spirv: Add the option to keep ViewIndex as an input 1120- nir/lower_input_attachments: Refactor to use an options struct 1121- nir/lower_input_attachments: Support loading layer id as an input 1122- radv: Use an input for the layer when lowering input attachments 1123- tu: Use an input for the layer when lowering input attachments 1124- nir/lower_input_attachments: Support loading layer id via gl_ViewIndex 1125- freedreno/a6xx: Add multiview registers 1126- ir3: Add support for gl_ViewIndex in VS & FS 1127- tu: Translate VkRenderPassMultiviewCreateInfo to VkRenderPassCreateInfo2 1128- tu: Parse multiview render pass info 1129- tu: Implement multiview clear/resolve interactions 1130- tu: Improve timestamp queries 1131- tu: Implement multiview query interactions 1132- tu: Add multiview lowering pass 1133- tu: Implement multiview pipeline state 1134- tu: Enable VK_KHR_multiview 1135- freedreno/computerator: Use a render node 1136- tu: Expose shaderStorageImageExtendedFormats 1137- tu: Expose shaderImageGatherExtended 1138- ir3: Don't use the format to get the image type 1139- tu: Expose shaderStorageImage*WithoutFormat 1140- nir: Add nir_lower_multiview pass 1141- anv: Use nir_lower_multiview pass 1142- nir: Count i/o slots correctly for per-view variables 1143- nir/lower_io_arrays: Fix xfb_offset bug 1144- nir: Add per_view to IO semantics 1145- nir: Handle per-view io in nir_io_add_const_offset_to_base() 1146- tu: Write multiview control registers in binning pass 1147- tu: Refactor shader compilation flow 1148- ir3, tu: Run optimization loop twice 1149- ir3, tu: Link per-view position correctly 1150- tu: Enable multi-position output 1151- intel/nir: Use nir control flow helpers 1152- radv: Use nir control flow insertion helpers 1153- ttn: Use nir control flow insertion helpers 1154- nir/lower_returns: Use nir control flow insertion helpers 1155- nir/opt_if: Remove open-coded nir_ssa_def_rewrite_uses() 1156- nir/opt_if: Use early returns in opt_if_merge() 1157- ttn: Fix number of components for IF/UIF 1158- nir/lower_clip_cull: Store array size for FS inputs 1159- ir3: Switch tess lowering to use location 1160- ir3: Handle clip+cull distances 1161- tu: Implement clip/cull distances 1162- freedreno/a6xx: Implement user clip/cull distances 1163- freedreno: Introduce common device info struct 1164- tu: Use freedreno_dev_info 1165- freedreno: Use freedreno_dev_info 1166- freedreno/a6xx: Update SO registers for streams 1167- ir3: Support geometry streams 1168- util/bitset: Add a range iterator helper 1169- tu: Support geometryStreams 1170- tu: Support rasterizerDiscardEnable and RasterizationStreamSelect 1171 1172Daniel Abrecht (1): 1173 1174- etnaviv: Make sure to track different pipe_screens for different DRM device descriptions 1175 1176Daniel Schürmann (26): 1177 1178- aco: execute branch instructions in WQM if necessary 1179- nir,amd: remove trinary_minmax opcodes 1180- aco/isel: refactor code and remove unnecessary v_mov 1181- aco/isel: refactor emit_vop3a_instruction() to handle 2 operand instructions 1182- ac/nir: implement nir_op_[un]pack_[64/32]_\* 1183- aco: propagate SGPRs into VOP1 instructions early. 1184- aco: expand create_vector more carefully w.r.t. subdword operands 1185- aco: use p_create_vector for nir_op_pack_half_2x16 1186- nir/opt_algebraic: optimize unpack_half_2x16_split_x(ushr, a, 16) 1187- aco: use p_split_vector for nir_op_unpack_half\_\* 1188- aco: add validation rules for p_split_vector 1189- aco: use v_cvt_pkrtz_f16_f32 for pack_half_2x16 1190- radv,aco: lower_pack_half_2x16 1191- aco: use VOP2 version of v_cvt_pkrtz_f16_f32 on GFX_6_7_10 1192- aco: use VOP2 for v_cvt_pkrtz_f16_f32 if possible 1193- aco: refactor GFX6_7 subdword copy lowering 1194- aco: improve code sequences for 16bit packing 1195- aco: use do_pack() for self-intersecting operations. 1196- aco: fix GFX8 16-bit packing 1197- aco: implement nir_op_unpack_[64/32]_\* 1198- ac/nir: implement nir_op_[un]pack_64_4x16 1199- nir: add options to lower nir_op_pack_[64/32]_\* via nir_lower_alu_to_scalar() 1200- radv: lower pack_[64/32]_\* via nir_lower_alu_to_scalar() 1201- radv: remove call to nir_lower_pack() 1202- aco: refactor split_store_data() to always split into evenly sized elements 1203- nir/lcssa: consider loops with no back-edge invariant 1204 1205Daniel Stone (17): 1206 1207- glsl/test: Don't run whitespace tests in parallel 1208- CI: Disable Panfrost T860 and AMD Stoney tests 1209- CI: Skip flaky CS test on VirGL 1210- CI: Skip another flaky GS test on softpipe 1211- CI: Disable Panfrost T720/T760 CI 1212- meson: Add MSVC narrowing-int-to-char warnings 1213- CI: Windows: Use separate config file for Docker 1214- CI: Re-enable VS2019 build 1215- CI: Disable Windows again 1216- CI: Temporarily disable Panfrost T7xx 1217- CI: Re-enable Panfrost T7xx 1218- CI: Disable Panfrost T7xx CI 1219- CI: Re-enable Panfrost T7xx CI 1220- CI: Don't run pixmark-piano twice on radeonsi 1221- CI: Only run OpenCL tests when we need to 1222- CI: Disable Panfrost T760 1223- freedreno: Add missing dependency to build 1224 1225Danylo Piliaiev (19): 1226 1227- st/mesa: Treat vertex outputs absent in outputMapping as zero in mesa_to_tgsi 1228- anv/nir: Unify inputs_read/outputs_written between geometry stages 1229- spirv: Only require bare types to match when copying variables 1230- ir_constant: Return zero on out-of-bounds vector accesses 1231- glsl: Eliminate assigments to out-of-bounds elements of vector 1232- glsl: Eliminate out-of-bounds triop_vector_insert 1233- intel/disasm: Change visibility of has_uip and has_jip 1234- intel/disasm: brw_label and support functions 1235- intel/disasm: Label support in shader disassembly for UIP/JIP 1236- intel/assembler: Add labels support 1237- intel/compiler: Fix pointer arithmetic when reading shader assembly 1238- st/nir: Call st_glsl_to_nir_post_opts before interface unification 1239- nir/lower_io: Eliminate oob writes and return zero for oob reads 1240- nir/large_constants: Eliminate out-of-bounds writes to large constants 1241- nir/lower_samplers: Clamp out-of-bounds access to array of samplers 1242- intel/fs: Disable sample mask predication for scratch stores 1243- docs: add INTEL_SHADER_ASM_READ_PATH description 1244- nir/lower_returns: Append missing phis' sources after "break" insertion 1245- freedreno/a6xx: Fix typo in height alignment calculation in a6xx layout 1246 1247Dave Airlie (115): 1248 1249- anv: add no reloc flags on empty and simple bo paths. 1250- CI: temp disable t720/t760 jobs. 1251- llvmpipe: only read 0 for channels being read 1252- gallium: add an interface for memory allocations. 1253- gallium: add a resource flag to say no over allocation. 1254- llvmpipe: add support for memory allocation APIs 1255- gallivm/nir: add load push constant support 1256- util/format: add some ZS helpers for vallium 1257- vulkan/wsi: add sw support. (v2) 1258- vallium: initial import of the vulkan frontend 1259- llvmpipe/blit: for 32-bit unorm depth blits just copy 32-bit 1260- llvmpipe: enable GL 4.5 1261- vallium: fix input attachment lowering variable shadowing 1262- llvmpipe/cs: update compute counters not fragment shader. 1263- gallium/nir/tgsi: reindent some code in the nir->tgsi info (v2) 1264- gallivm/nir: add imod support 1265- gallivm/sample: fix lod query on array textures. 1266- llvmpipe: lower uadd_carry/usub_borrow. 1267- gallium/nir/tgsi: add support for compact variables 1268- gallivm/nir: fixup compact TCS variable storage. 1269- gallivm/nir: split tex/sampler indirect offsets 1270- llvmpipe: lower cs local index from id 1271- llvmpipe: lower mul 2x32_64 1272- llvmpipe/nir: lower some more packing at nir level. 1273- llvmpipe: add reference counting to fragment shaders. 1274- vallium: handle 3D image views properly. 1275- vallium: limit buffer allocations to gallium max. 1276- gallium/nir/tgsi: fix nir->tgsi info conversion for samplers/image 1277- gallivm/nir: lower tg4 offsets. 1278- gallivm/nir: add indirect swizzle output loading support 1279- gallivm/nir: add quantize to f16 support 1280- gallivm/nir: fix const compact 1281- gallivm/nir: lower frexp/ldexp 1282- gallivm/nir: add subpass sampler type support 1283- gallivm: use common code to select texel type 1284- llvmpipe: blend has effects even if no colorbuffers. 1285- llvmpipe: add array/3d clearing support 1286- llvmpipe/fs: multisample depth/stencil bad ir generated 1287- gallivm/nir: allow 64-bit arit ops 1288- gallivm/nir: add some f16 support 1289- vallium: disable VK_KHR_shader_float16_int8. 1290- vulkan/device_select: don't pick a cpu driver as the default 1291- llvmpipe: include gallivm perf flags in shader cache. 1292- gallivm: disable brilinear for lod bias and explicit lod. 1293- vtn: add an option to create a nir library from spirv 1294- clover/nir: add libclc lowering pass 1295- util: add missing extern C 1296- clover: handle libclc shader (v3) 1297- gallivm: fix pow(0, y) to be 0 1298- gallivm: fix 64-bit CL intrinsics. 1299- gallivm/nir: fix up non 32-bit load stores 1300- gallivm/nir: handle non-32-bit mul high 1301- llvmpipe: use an alternate env var to enable clover. 1302- lavapipe: rename vallium to lavapipe 1303- gallivm/nir: make sure to mask global reads. 1304- llvmpipe/cs: add in shader shared size. 1305- gallivm/nir: fix non-32 bit find lsb/msb 1306- lavapipe: drop dri,dricommon deps. 1307- ci: move to using clang 10 for meson + clover 1308- clover: Use core libclc loader 1309- ci: enable piglit testing of clover/llvmpipe. 1310- clover: don't call validate spirv at all if not needed 1311- ci: fix deqp clone + fetch 1312- CI: build our own spirv tools 1313- clover/nir: add a constant folding pass before lowering mem const 1314- llvmpipe: fix sampler/image binding for clover. 1315- gallivm: add load/store scratch support. 1316- llvmpipe: fix 8/16 bit global stores 1317- gallivm: fix 64->16 f2f16 1318- gallivm: add 16-bit split/merge support. 1319- gallivm: add b2i8/b216 support 1320- gallivm: handle sub-32 bit masked stores. 1321- gallivm: add support for 8/16-bit mul_hi 1322- gallivm: get correct min/max behaviour for kernels. 1323- gallivm: lower flrp for all sizes. 1324- CI: remove llvmpipe cl flake test 1325- gallivm: zero init the temporary register storage. 1326- gallium: add a level parameter to resource parameter get 1327- gallium: add a layer stride pipe resource parameter. 1328- llvmpipe: add resource get param support. 1329- lavapipe: use resource get param. 1330- gallivm: fix f16 quantize. 1331- lavapipe: don't write to pending clear aspects in cmd buffer 1332- lavapipe: constify state pointers into command buffers. 1333- lavapipe: fix dEQP-VK.info.device_properties 1334- gallivm/nir: handle dvec3/4 inputs properly. 1335- gallivm/nir: fix vulkan vertex inputs 1336- lavapipe: fix 3d compressed texture copies. 1337- lavapipe: stop crashes with 3D z blits 1338- llvmpipe: add clear_buffer callback. (v2) 1339- lavapipe: use clear_buffer callback 1340- lavapipe: don't advertise linear filtering on integer textures. 1341- gallium: add a non-multisample sample mask out behaviour flag. 1342- llvmpipe: respect the sample mask in non-multisample flag 1343- lavapipe: request correct sample mask behaviour 1344- CL: update CL headers to 3.0 1345- vtn/opencl: add ctz support 1346- clover: access 3.0 and deprecated 2.2 API 1347- clover/llvm: add 3.0 versioning. 1348- clover/spirv: hook up spir-v environment for 3.0 1349- clover: add empty cl 3.0 dispatch entries. 1350- gallium: handle empty cbuf slots in framebuffer samples helper 1351- u_blitter: port radv 3D blit coords logic. 1352- lavapipe: enable alpha to one. 1353- lavapipe: disable SNORM blending for now 1354- llvmpipe: just use draw_regions in draw/line setup. 1355- draw: fix tess eval pipeline statistics. 1356- lavapipe: fixup device allocate + enable private data 1357- lavapipe: fix wsi acquire fences 1358- llvmpipe/setup: move point stats collection earlier. 1359- llvmpipe: fix multisample point rendering. 1360- llvmpipe: fix multisample lines. 1361- lavapipe: fixup mipmap precsion bits 1362- lavapipe: enable pipeline stats queries 1363- gallium: fix missing bit field in p_state.h 1364 1365Denis Pauk (1): 1366 1367- mesa: bptc fixes for decompress rgba_unorm and rgb_float 1368 1369Duncan Hopkins (10): 1370 1371- meson: Add xcb-fixes to loader when using x11 and dri3. Fixes undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c 1372- zink: clamped maxPerStageDescriptorUniformBuffers limits to INT_MAX when stored as uint32_t. 1373- zink: Basic framework to check for optional instance layers and instance extensions. 1374- zink: Added support for MacOS MoltenVK APIs. 1375- zink: return fail if create_instance fails 1376- zink: Added inbuilt debug logging from the VK_LAYER_LUNARG_standard_validation layer. 1377- zink: add support to device info for macro guards and just VkPhysicalDevice*Features with out the have\_. 1378- zink: have_triangle_fans support. 1379- zink: For MoltenVk added vkFlushMappedMemoryRanges() to vkMapMemory() to fix empty mapped memory. 1380- zink: make physical device functions use a dynamic function pointers. 1381 1382Dylan Baker (31): 1383 1384- Bump development version and clear new_features 1385- meson/freedreno: Fix lua requirement 1386- docs: update calendar for 20.2.0-rc1 1387- docs: update calendar for 20.2.0-rc2 1388- meson/anv: Use variable that checks for --build-id 1389- glsl/xxd.py: fix imports 1390- clover/meson: use dep.get_variable instead of deprecated get_pkgconfig_variable 1391- meson: generalize libclc usage 1392- docs: update calendar and link releases notes for 20.2 1393- docs/release-calender: Add 20.2 stable releases 1394- docs: add release notes for 20.2.0 1395- docs: Add sh256 sums for 20.2.0 1396- docs: add release notes for 20.2.1 1397- docs: add SHA256 sums for 20.2.1 1398- docs: update calendar and link releases notes for 20.2.1 1399- docs: add release notes for 20.2.2 1400- dcs: Add sha256 sums for 20.2.2 1401- docs: update calendar and link releases notes for 20.2.2 1402- bump version for 20.3-rc1 1403- .pick_status.json: Update to bf5cea7232f9ee2934c212211ebefb6fe766526d 1404- .pick_status.json: Update to 87dc3106b077199b829a082e32ec33d0c6d400ab 1405- .pick_status.json: Update to bac6cc586fe4c1b24351e0574d3a961eb631f6ae 1406- bump VERSION for 20.3.0-rc2 release 1407- .pick_status.json: Update to a59b1b18a95af1f8edb0093baf508e974e3251a2 1408- .pick_status.json: Update to a92f597b98bb032b904c7c8a8c3a9fe798b51915 1409- .pick_status.json: Update to 9fa1cdfe7ffd9e7ebd83055e2008f3e4b8ada549 1410- meson: Don't add extra values to shader-cache 1411- appveyor: disable for now 1412- bump VERSION for 20.3-rc3 1413- .pick_status.json: Update to 89f6b72f19dbc503386643c6283047bdb1013bef 1414- .pick_status.json: Update to d3c67d7e7ec6b9cf10fbea0d08e92751b7b0fbae 1415 1416Eduardo Lima Mitev (9): 1417 1418- st: Pass TextureTiling option from texture to memory obj 1419- freedreno: Implement memory object create/destroy for GL_EXT_memory_object 1420- freedreno: Refactor fd_resource_create_with_modifiers() into a helper 1421- freedreno/layout: Move hard-coded minimum width for UBWC to a macro 1422- freedreno: implement pipe screen's resource_from_memobj 1423- freedreno: Implement pipe screen's get_device/driver_uuid() 1424- freedreno: Enable GL_EXT_memory_object and GL_EXT_memory_object_fd 1425- freedreno: Destroy syncobj too when destroying fence 1426- turnip: Enable support for KHR_incremental_present 1427 1428Eleni Maria Stea (3): 1429 1430- radeonsi: support for external buffers (ext_external_objects) 1431- iris: handle PIPE_FD_TYPE_SYNCOBJ type 1432- iris: add support for fence signal capability 1433 1434Emil Velikov (1): 1435 1436- radv: restrict exported symbols with static llvm 1437 1438Emmanuel Vadot (1): 1439 1440- util/os_misc: os_get_available_system_memory() for FreeBSD 1441 1442Eric Anholt (221): 1443 1444- util: Split the pack/unpack functions out of the format desc. 1445- util: Change a codegenned switch statement to a nice little table. 1446- util: Fix up indentation in the generated format tables code. 1447- uitl: Add R1_UNORM to the list of noaccess (no pack/unpack) formats. 1448- util: Make all 3 fetch_rgba functions occupy the same function slot. 1449- util: Mark the format description getter functions as const. 1450- util: Move fetch_rgba to a separate function table. 1451- gallium: Use unpack_rgba() instead of fetch_rgba in translate_generic 1452- freedreno/ir3: Fix compiler warning from the setjmp fails path. 1453- freedreno/cffdec: When .mergedregs is set, don't count half regs. 1454- freedreno/ir3: Fix assertion failures dumping CS high full regs. 1455- util: Expose rgba unpack/fetch functions as external functions as well. 1456- util: Explicitly call the unpack functions from inside bptc pack/unpack. 1457- radv: Move nir_opt_shrink_vectors() into the opt loop. 1458- nir/opt_undef: Handle a couple more normal store intrinsics. 1459- nir: Expand opt_undef to handle undef channels in a store intrinsic. 1460- nir: Shrink store intrinsic num_components to the size used by the writemask. 1461- ci/deqp-runner: Drop stale comment from deqp-runner.sh. 1462- ci/deqp-runner: Drop unused "count" variable 1463- ci/deqp-runner: Add a post-deqp-run filter list for known flakes. 1464- ci/freedreno: Move our skips lists over to being known-flakes lists. 1465- ci/freedreno: List more common flakes reported recently. 1466- ci/bare-metal: Use a new serial buffer tool. 1467- ci/bare-metal: Convert the main cros-servo boot code to python 1468- ci/bare-metal: Retry booting chezas instead of failing when !POWER_GOOD 1469- ci/bare-metal: Try rebooting chezas again if they get stuck during tftp. 1470- nir: Make the nir_builder \*_imm helpers consistently handle bit size. 1471- nir: Add nir_[iu]shr_imm and nir_udiv_imm helpers and use them. 1472- nir: Add a lowering pass for backends wanting load_ubo with vec4 offsets. 1473- freedreno/ir3: Replace our custom vec4 UBO intrinsic with the shared lowering. 1474- nir/load_store_vectorizer: Clean up unit test swizzle assertions. 1475- freedreno: Drop UNIFORM_BUFFER_OFFSET_ALIGNMENT to 32 1476- ci: Mark the rest of compswap as flaky on freedreno. 1477- freedreno/a5xx: Don't set the VARYING flag for fragcoord-only programs. 1478- ci: Test the KHR-GL\* CTS cases with softpipe. 1479- nir/opt_copy_prop_vars: Quiet valgrind warning about overlapping memcpy. 1480- nir: Add a helper for general instruction-modifying passes. 1481- nir/lower_vec_to_movs: Convert to use nir_shader_instructions_pass(). 1482- nir/opt_undef: Convert to use nir_shader_instructions_pass(). 1483- nir/lower_io_to_scalar: Convert to use nir_shader_instructions_pass(). 1484- nir/nir_lower_wrmasks: Use the nir_lower_instructions_pass() helper. 1485- nir/lower_discard_to_demote: Use nir_shader_instructions_pass(). 1486- drm-shim: Fix unused variable warnings from asserts in release build. 1487- panfrost: Fix OOB array access compiler warning. 1488- panfrost: Fix remaining release-build warnings. 1489- gallium/tests: Fix compiler warning about unused vars in trivial tests. 1490- nvc0: Fix compiler warning about unused var that gets asserted. 1491- vc4: Fix unused var warnings in release builds from assertions. 1492- nv50: Fix uninitialized var warnings from using assert() as unreachable(). 1493- zink: Fix unused var warnings in release build from assertions. 1494- etnaviv: Fix unused var warning in release build from assertions. 1495- lima: Fix unused var/function warnings in release build from assertions. 1496- lima: Fix uninitialized var warning from using assert() as unreachable(). 1497- virgl: Fix unused var warnings in release build from assertions. 1498- ci: Add a release build with -Werror enabled. 1499- nir: Fix printing of individual instructions with io semantics. 1500- nir: Look up the shader when printing a single instruction. 1501- ci: Make a missing device name correctly bail out of deqp-runner.sh. 1502- turnip: Make sure we include the build id. 1503- pipe-loader: Use real galliumvl if radeonsi is being linked. 1504- ci: Switch to using gold as the linker. 1505- nir: Invalidate live SSA def information when making new SSA defs. 1506- nir: Switch the indexing of block->live_in/out arrays. 1507- ci: Bump vulkan CTS version to 1.2.3.2, and keep the GL CTS around. 1508- ci: Use the same VK-GL-CTS tree for GL/GLES as VK. 1509- ci: Enable KHR-GL30 CTS testing on freedreno a630. 1510- freedreno/a6xx: Add ARB_depth_clamp and separate clamp support. 1511- gallivm: Report the unsupported intrinsic instead of just assert(0); 1512- gallium/tgsi: Add support for PRIMITIVEID as a system value. 1513- gallium/tgsi: Add some missing opcodes to tgsi_ureg. 1514- gallium/tgsi: Add a helper for initializing ureg from a shader_info. 1515- gallium/ureg: Set the next shader stage from the shader info. 1516- nir: Add simplistic lowering for bany_equal/ball_inequal. 1517- nir/opt_vectorize: Add a callback for filtering of vectorizing. 1518- gallium/tgsi_exec: Add missing DFLR opcode support. 1519- gallium/tgsi_exec: Fix up NumOutputs counting 1520- ci/bare-metal: Use re.search() instead re.match() for our line matching. 1521- ci/bare-metal: Fix detection of "POWER_GOOD not seen in time" fails 1522- ci/bare-metal: Include a timestamp in our serial reads. 1523- ci/bare-metal: Log why our run restarts when it does. 1524- ci/bare-metal: Fix capturing of serial output as job artifacts. 1525- ci/bare-metal: Use python for handling fastboot booting and parsing 1526- nir/load_store_vectorizer: Use more imm helpers in the tests. 1527- nir/load_store_vectorizer: Add unit tests for alignment handling. 1528- nir: Update the comment about nir_lower_uniforms_to_ubo()'s multiplier. 1529- nir: Add a range_base+range to nir_intrinsic_load_ubo(). 1530- freedreno/ir3: Use the new NIR UBO ranges in UBO analysis. 1531- freedreno/ir3: Apply the max upload limit to initial range setup 1532- nir: Use explicit deref information to provide real UBO ranges. 1533- iris: Add missing range_base/range to our nir_load_ubos. 1534- turnip: Fix a compiler warning in release builds of the query code. 1535- freedreno: Make the pack struct have a .qword for wide addresses. 1536- turnip: Fix truncation of CS shader iovas to 32 bits. 1537- turnip: Fix truncation of iovas to 32 bits in queries. 1538- ci/bare-metal: Update the kernel to msm-next-pgtables 1539- ci/bare-metal: Allow wget of the kernel/dtb for kernel development. 1540- freedreno: Add another new sysmem flake. 1541- freedreno/cffdec: Fix up texturator parsing scripts for XML changes. 1542- freedreno/cffdec: Add support for texturator's 2DMS layout setup. 1543- freedreno/fdl: Add layout test for the Android CTS's MSAA mustpass surface. 1544- turnip: Add support for a615. 1545- turnip/kgsl: Associate fences with submits. 1546- mesa: Make the android_stub be a set of non-installed shared libraries. 1547- android: Disable trying to read/write to the disk cache. 1548- gallium/drm: Deduplicate screen creation for the dynamic (clover) pipe loader. 1549- gallium/drm: Refactor the stub screen create functions. 1550- gallium/drm: Define the DRM entrypoints in drm_helper.h 1551- gallium/drm: Make the pipe loader handle the driconf merging. 1552- util/xmlconfig: Add a unit test of the code. 1553- virgl: Clean up the driconf definition of GLES_SAMPLES_PASSED_VALUE. 1554- driconf: Use nesting macros for defining options. 1555- mesa: Promote Intel's simple logging façade for Android to util/ 1556- turnip: Replace tu_log*() with mesa_log*() 1557- ci/freedreno: Sort the traces in the .yml of expectations 1558- ci/freedreno: Add trace tests for glxgears, 0 A.D., and xonotic. 1559- nir/lower_clip: Add i/o semantics for load/store intrinsics. 1560- intel: Add support for i945g to intel_stub_gpu. 1561- freedreno/ir3: Make sure we run the opt loop after lowering UBOs to vec4. 1562- nir: Document a bit about how align_mul/offset work. 1563- nir: Print the alignment information on casts. 1564- nir/nir_lower_uniforms_to_ubo: Set better alignments on our new instructions. 1565- nir/gl_nir_lower_buffers: Set up align_mul/offset on UBOs. 1566- nir: Make the load_store_vectorizer provide align_mul + align_offset. 1567- nir: Drop the high_offset argument to the load_store_vectorizer filter. 1568- nir: Make nir_lower_ubo_vec4() handle non-vec4-aligned loads. 1569- freedreno/ir3: Enable the i/o vectorizer on UBOs. 1570- ci/bare-metal: Move the "POWER_GOOD not seen in time" check to the right time. 1571- driconf: Eliminate the DRI_CONF_OPT_BEGIN_B macro. 1572- driconf: Fix extra quoting on "Jimenez'". 1573- r200: Reuse DRI_CONF_OPT_F for texture_blend_quality. 1574- driconf: Make a DRI_CONF_OPT_S() for string options. 1575- util/xmlconfig: Drop silly open-coded strdup. 1576- util/xmlconfig: Indent to Mesa style. 1577- driconf: Delete disjoint range support. 1578- driconf: Use DRI_CONF_OPT_I for remaining int options 1579- driconf: Make the driver's declarations be structs instead of XML. 1580- driconf: Stop quoting true/false in boolean option definitions. 1581- util/xmlconfig: Drop use of XML_Char in parsing. 1582- android: Disable the user XML config parsing. 1583- turnip: Don't expose VK_ANDROID_native_buffer on non-Android. 1584- turnip: Use mesa's normal PRINTFLIKE macro instead of our own. 1585- turnip: Mark the vk_errorf helper as bring printflike. 1586- turnip: Extend the coverage of TU_DEBUG=startup. 1587- turnip: Always enable TU_DEBUG=startup on debug drivers. 1588- turnip: Report device loss through \_mesa_loge() instead of fprintf. 1589- turnip/kgsl: Add strerror decode in BO init failure. 1590- driconf: Make sure that the range check on the defaults actually works. 1591- driconf: Restore the ability to override driconf with the environment. 1592- ci/softpipe: Add another flaky GS test to the skips list. 1593- freedreno/ir3: Clean up the UBO upload plan setup. 1594- freedreno/ir3: Don't leave holes the UBO upload plan. 1595- turnip/kgsl: Fix last minute breakage of the build. 1596- turnip/kgsl: Add support for importing dma-bufs. 1597- turnip: Detect Qualcomm gralloc and its UBWC flag on gralloc surfaces. 1598- turnip: Add support for GetSwapchainGrallocUsage2ANDROID(). 1599- meson: Drop adding -Wl,--gc-sections to project c/cpp arguments. 1600- glsl/tests: Make the tests skip on Android binary execution failures. 1601- symbols-check: Add \__cxa_guard_\* to the list of approved symbols. 1602- ci/android: Switch to using the Android NDK. 1603- docs: Document how to replicate a CI build locally. 1604- android_stub: Update platform headers to include gralloc1.h. 1605- ci/android: Switch build to using platform SDK version 26. 1606- util: Import a copy of drm's libsync.h 1607- android: Add pre-4.7 Android kernel compatibility to our libsync header. 1608- turnip: Drop a dead error checking path in device init. 1609- turnip: Use Mesa's libsync.h instead of libdrm's libsync.h. 1610- turnip: Don't link the WSI code if we don't have a WSI extension. 1611- turnip: Only link libdrm in the DRM case, not KGSL. 1612- ci: Enable NIR_VALIDATE everywhere. 1613- nir: Introduce nir_metadata_instr_index for nir_index_instr() being current. 1614- nir: Replace nir_ssa_def->live_index with nir_instr->index. 1615- nir: Add a block start/end ip to live instr index metadata. 1616- nir: Add a call to get a struct describing SSA liveness per instruction. 1617- nir: Add an option to not lower source mods for f64/u64/i64. 1618- gallium: Add a nir-to-TGSI pass. 1619- softpipe: Fix buffer overflows in SSBO atomics. 1620- softpipe: Switch to using NIR as the shader format from mesa/st. 1621- meson: Only require libexpat when a part of the build needs it. 1622- freedreno: Use Android's libsync instead of libdrm's. 1623- meson: Don't try to build GLX by default on Android. 1624- meson: Don't enable libunwind by in 'auto' mode on Android. 1625- docs: Document how to build and install Android drivers. 1626- freedreno/cffdec: Fix format overflow warning. 1627- freedreno/tools: Fix compiler warnings about using sz in the error paths. 1628- freedreno/fdperf: Silence a compiler warning about current counter. 1629- turnip: Handle some error paths in allocating CS space from a command buffer. 1630- turnip: Handle the error path for tu/drm's vkResetFences(). 1631- turnip: Add error path handling for descriptor pool init. 1632- ci: Enable Werror on meson-arm64-build-test. 1633- gallium/ntt: Add default compiler options for non-native-NIR drivers. 1634- st/mesa: Drop the TGSI paths for PBOs and use nir-to-tgsi if needed. 1635- st/mesa: Drop the TGSI paths for drawpixels and use nir-to-tgsi if needed. 1636- nir: Only validate in passes that might have changed things. 1637- docs: Move the gallium driver documentation to the top level. 1638- docs/vmware: Move the vmware driver docs into the drivers section. 1639- docs/vc4: Move my old vc4 wiki's documentation into docs.mesa3d.org. 1640- docs/vc4: Add information on the hw documentation available. 1641- docs/v3d: Add a little stub of v3d documentation. 1642- docs: Drop extra link to old DRI wiki in the "Help" section. 1643- docs: Add a link to the linux kernel DRM docs under "Developer Topics" 1644- docs: Fix "Hosted by" link and drop duplicate. 1645- ci: Add the new timeout-prone softpipe-gl test to the skips list. 1646- mesa/st: Fix a use-after-free of the NIR shader stage. 1647- st/nir: Fix the st->pbo.use_gs case. 1648- st/nir: Drop setting interp mode on system values in builtins. 1649- tu: Make sure spirv_to_nir knows we support imageStorageWithoutFormat. 1650- turnip: Fix image size for 3D vkGetImageSubresourceLayout. 1651- ci/bare-metal: Apply autopep8 to the bare-metal scripts. 1652- ci/bare-metal: Reset colors at the end of a line of serial output. 1653- ci/deqp: Switch to a new dEQP runner written in Rust. 1654- util/set: Fix the \_mesa_set_clear function to not leave tombstones. 1655- ci: Only install kernel modules for LAVA devices. 1656- gallium/draw: Fix rasterizer_discard for wide points/lines. 1657- freedreno: Fix leak of shader binary on disk cache hits. 1658- freedreno: Fix warning about uninit size for the size==0 special case. 1659- gallium: Fix leak of the merged driconf options. 1660- freedreno: Fix leak of u_transfer_helper. 1661- gallium: Fix leak of bound SSBOs at CSO context destruction. 1662- gallivm: Fix max const buffer count. 1663- gallium: Fix leak of currently bound UBOs at CSO context destruction. 1664- freedreno: Break out of "should we free the entry" loop once we've freed. 1665 1666Eric Engestrom (94): 1667 1668- pick-ui: specify git commands in "resolve cherry pick" message 1669- egl/entrypoint-check: split sort-check into a function 1670- egl/entrypoint-check: add check that GLVND and plain EGL have the same entrypoints 1671- driconf: fix force_gl_vendor description 1672- meson: bump required glvnd version 1673- egl: replace \_EGLDriver param with \_EGLDisplay->Driver in \_eglReleaseDisplayResources() 1674- egl: replace \_EGLDriver param with \_EGLDisplay->Driver in dri{2_x11,3}_create_window_surface() 1675- egl: replace \_EGLDriver with \_EGLDisplay->Driver in \_eglQuerySurface() 1676- egl: drop unused \_EGLDriver from Initialize() 1677- egl: drop unused \_EGLDriver from Terminate() 1678- egl: drop unused \_EGLDriver from {Create,Destroy}Context() 1679- egl: drop unused \_EGLDriver from Create{Window,Pixmap,Pbuffer}Surface() & DestroySurface() 1680- egl: drop unused \_EGLDriver from MakeCurrent() 1681- egl: drop unused \_EGLDriver from QuerySurface() 1682- egl: drop unused \_EGLDriver from {Bind,Release}TexImage() 1683- egl: drop unused \_EGLDriver from SwapInterval() 1684- egl: drop unused \_EGLDriver from SwapBuffers{,WithDamageEXT,RegionNOK}() 1685- egl: drop unused \_EGLDriver from CopyBuffers() 1686- egl: drop unused \_EGLDriver from SetDamageRegion() 1687- egl: drop unused \_EGLDriver from WaitClient() 1688- egl: drop unused \_EGLDriver & \_EGLDisplay from WaitNative() 1689- egl: drop unused \_EGLDriver from GetProcAddress() 1690- egl: drop unused \_EGLDriver from {Create,Destroy}ImageKHR() 1691- egl: drop unused \_EGLDriver from {Create,Destroy,ClientWait,Wait,Signal}SyncKHR() 1692- egl: drop unused \_EGLDriver from DupNativeFenceFDANDROID() 1693- egl: drop unused \_EGLDriver from {Create,Export}DRMImageMESA() 1694- egl: drop unused \_EGLDriver from {Bind,Unbind,Query}WaylandDisplayWL() 1695- egl: drop unused \_EGLDriver from CreateWaylandBufferFromImageWL() 1696- egl: drop unused \_EGLDriver from PostSubBufferNV() 1697- egl: drop unused \_EGLDriver from QueryBufferAge() 1698- egl: drop unused \_EGLDriver from ExportDMABUFImage{,Query}MESA() 1699- egl: drop unused \_EGLDriver from QueryDmaBuf{Formats,Modifiers}EXT() 1700- egl: drop unused \_EGLDriver from SetBlobCacheFuncsANDROID() 1701- egl: drop unused \_EGLDriver from \_eglGetConfigs()/_eglChooseConfig()/_eglGetConfigAttrib() 1702- egl: drop unused \_EGLDisplay from \_eglSetDamageRegionKHRClampRects() 1703- egl: drop unused \_EGLDriver & \_EGLDisplay from \_eglQueryContext() 1704- egl: drop unused \_EGLDriver from \_eglSurfaceAttrib() 1705- egl: replace \_EGLDriver with \_EGLDisplay->Driver in \_eglGetSyncAttrib() 1706- egl: replace replace \_EGLDriver with \_EGLDisplay->Driver in eglapi.c 1707- egl: drop unused \_EGLDriver from MesaGLInteropEGL{QueryDeviceInfo,ExportObject}() 1708- egl: replace \`&_eglDriver\`/\`NULL\` tested against \`NULL\` with simple \`true\`/\`false\` 1709- egl: drop unused ${drv}_driver() 1710- egl: inline \_eglGetDriverProc() into eglGetProcAddress() 1711- egl: inline \_eglInitializeDisplay() into eglInitialize() 1712- egl: drop now empty egldriver.c 1713- egl: drop unused egldriver.h header 1714- meson: fix trivial s/dir/dri/ typo 1715- egl/x11_dri3: enable & require xfixes 2.0 1716- egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage 1717- docs: add release notes for 20.1.6 1718- docs: update calendar and link releases notes for 20.1.6 1719- gitlab-ci: fix testing whether a variable with a given name is set or not 1720- gitlab-ci: fix quoting of variables passed down to bare-metal runners 1721- egl: drop an indentation level in \_eglFindDisplay() by replacing break/if with a goto 1722- egl: drop another indentation level in \_eglFindDisplay() by inverting an if 1723- egl: drop invalid shebang 1724- scons: bump c++ standard to 14 to match meson 1725- docs/egl: fix typo 1726- docs/egl: move section around 1727- docs/egl: complete list of dri2 platforms 1728- docs/egl: add haiku driver 1729- docs/egl: add some more documentation 1730- docs/egl: correct/update DRI2 mention with the shiny new DRI3 1731- egl: move extension driver functions after core functions 1732- egl: document which driver hooks are only required by extensions 1733- egl: inline eglSwapInterval() fallback 1734- egl: simplify eglSwapInterval() fallback logic 1735- meson: don't advertise TLS support if glx wasn't build with it 1736- egl/android: simplify dri2_initialize_android() 1737- egl/surfaceless: simplify dri2_initialize_surfaceless() 1738- egl/wayland: simplify dri2_initialize_wayland() 1739- egl/x11: simplify dri2_initialize_x11() 1740- docs: add release notes for 20.1.7 1741- docs: update calendar and link releases notes for 20.1.7 1742- docs: shift 20.2 rc dates by two weeks to match reality 1743- meson: drop leftover PTHREAD_SETAFFINITY_IN_NP_HEADER 1744- docs/download: mention tarball GPG signatures and link to the keys 1745- docs: add another 20.1.x release to allow for more overlap with 20.2 1746- docs/release-calendar: update 20.2 1747- docs: add release notes for 20.1.8 1748- docs: update calendar and link releases notes for 20.1.8 1749- bin/gen_release_notes.py: escape special rST characters 1750- docs: add release notes for 20.1.9 1751- docs: update calendar and link releases notes for 20.1.9 1752- add one last 20.1 release to coincide with expected 20.2.1 1753- radv: add missing u_atomic.h include 1754- docs: fix relnotes index 1755- docs: fix release calendar 1756- docs: fix 20.2.0 relnotes 1757- docs: add release notes for 20.1.10 1758- docs: update calendar and link releases notes for 20.1.10 1759- docs/release-calendar: plan 20.3 release 1760- gitlab-ci: drop deprecated platforms that snuck in when nobody was watching 1761- meson: drop deprecated EGL platform build options 1762 1763Erico Nunes (4): 1764 1765- lima: dont split vec3 unaligned load inputs 1766- lima: allocate new bo for stream draw 1767- lima: fix vertex shader uniform buffer size 1768- lima: add natively supported vertex buffer formats 1769 1770Erik Faye-Lund (123): 1771 1772- st/wgl: do not reject PFD_SUPPORT_GDI 1773- gallium/util: factor out primitive-restart rewriting logic 1774- gallium/indices: don't expand prim-type for 8-bit indices 1775- gallium/indices: generalize primitive-restart logic 1776- gallium/indices: implement prim-restart for line-loops 1777- gallium/indices: use prim_restart-helper for polygon 1778- gallium/indices: implement prim-restart for triangle fans 1779- gallium/indices: introduce u_primconvert_config 1780- gallium/indices: translate primitive-restart values 1781- compiler/nir: make lowering global-id to local-id optional 1782- nir: add iabs-lowering code 1783- gallium/util: use uint sampler for stencil-reads 1784- nir: fix const-cast warning on MSVC 1785- v3d: remove unused header 1786- vc4: remove unused header 1787- gallium/aux: remove unused u_blit.[ch\] 1788- gallium/util: add shader for stencil-blits 1789- gallium/util: add blitter-support for stencil-fallback 1790- mesa: handle GL_FRONT after translating to it 1791- zink: correct typo in stencil-setup 1792- zink: store base-object of DSA-state 1793- zink: only set stencil-ref for back if two-sided 1794- docs: escape backquote character 1795- docs: show 'Edit on GitLab'-link 1796- docs: store prefixes in redirects 1797- docs: remove webmaster article 1798- docs: everytime -\> every time 1799- docs: apis -\> APIs 1800- docs: scons -\> SCons 1801- docs: frambuffer -\> framebuffer 1802- docs: make two acronyms upper-case 1803- docs: unecessarily -\> unnecessarily 1804- docs: behaviour -\> behavior 1805- docs: timeplan -\> time plan 1806- docs: initialisation -\> initialization 1807- docs: gitlab -\> GitLab 1808- docs: url -\> URL 1809- docs: recognisable -\> recognizable 1810- docs: drop outdated gallium-docs comment 1811- docs: clippping -\> clipping 1812- docs: consistantly -\> consistently 1813- docs: stabilisation -\> stabilization 1814- docs: flavours -\> flavors 1815- docs: debian -\> Debian 1816- docs: docker -\> Docker 1817- docs: gallium -\> Gallium 1818- st/mesa: use roundf instead of floorf for lod-bias rounding 1819- gallium/util: set right dst-dimensions 1820- gallium/util: fix texture-coordinates for stencil-fallback 1821- gallium/util: allow scaling blits for stencil-fallback 1822- docs: softwara -\> software 1823- docs: existant -\> existent 1824- docs: webservice -\> web service 1825- docs: bpp -\> BPP 1826- docs: llvm -\> LLVM 1827- docs: correct reference to meson.build 1828- docs: meson -\> Meson 1829- docs: python3 -\> Python 3 1830- docs: flex -\> Flex 1831- docs: bison -\> Bison 1832- docs: mako -\> Mako 1833- docs: chocolatey -\> Chocolatey 1834- docs: ninja -\> Ninja 1835- docs: mingw -\> MinGW 1836- docs: microsoft -\> Microsoft 1837- docs: linux -\> Linux 1838- docs: windows -\> Windows 1839- docs: visual studio -\> Visual Studio 1840- docs: gpu -\> GPU 1841- docs: cmake -\> CMake 1842- docs: x11 -\> X11 1843- docs: wayland -\> Wayland 1844- docs: drm -\> DRM 1845- docs: android -\> Android 1846- docs: git -\> Git 1847- docs: quote "git log" 1848- docs: scons -\> SCons 1849- docs: ubuntu -\> Ubuntu 1850- docs: vmware -\> VMWare 1851- docs: Sandybridge -\> Sandy Bridge 1852- docs: cpu -\> CPU 1853- gallium/util: fix memory-leak 1854- gallium/util: allow scissored blits for stencil-fallback 1855- zink: use nir_lower_ubo_vec4 to simplify things a bit 1856- zink: support non-const offsets 1857- zink: support loading any UBO 1858- zink: do not report SSBOs as halfway supported 1859- zink: add feature-documentation 1860- zink: reject resource-imports with modifiers 1861- v3d: do not report alpha-test as supported 1862- vc4: do not report alpha-test as supported 1863- nir: drop support for using load_alpha_ref_float 1864- nir: drop unused alpha_ref_float 1865- docs: create leading directories for redirects 1866- docs: verify that targets for relative redirects exist 1867- docs: specify redirects relative to docs-root 1868- docs: specify redirects in conf.py instead 1869- zink: verify geometry shader feature 1870- docs: do not document required minimum 1871- docs: document zink's gl \\> 3.0 requirements 1872- mapi: remove unused function 1873- mapi: do not call thread-unsafe dispatch getter 1874- mapi: do not return thread-specific data for wrong thread 1875- docs: add link to extension spec 1876- docs: ie. -\> i.e. 1877- docs: eg. -\> e.g. 1878- docs: anistropy -\> anisotropy 1879- docs: api -\> API 1880- docs: hud -\> HUD 1881- docs: fbo -\> FBO 1882- docs: gcc -\> GCC 1883- docs: clang -\> Clang 1884- docs: s3tc -\> S3TC 1885- spirv: correct sematic-typo 1886- libgl-gdi: support building without softpipe 1887- gallium/util: do not pass undefined sample-count 1888- softpipe: correct signature of get_compiler_options 1889- mesa/main: add missing include in glformats.h 1890- zink: more accurately track supported blits 1891- zink: fix layered resolves 1892- zink: fall back to util_blitter for scaled resolves 1893- docs: document new zink-flag 1894- zink: do not require VK_KHR_external_memory 1895 1896Felix Yan (1): 1897 1898- Correct a typo in threads_win32.h 1899 1900Gert Wollny (81): 1901 1902- gallium + mesa/st: Add PIPE_CAP_NIR_ATOMICS_AS_DEREF and use it 1903- r600: Set PIPE_CAP_NIR_ATOMICS_AS_DEREF to true 1904- r600/sfn: Sort uniforms by binding and offset 1905- r600/sfn: add r600 specific lowering pass for atomics and use it 1906- r600/sfn: Add a mapping table for atomics 1907- r600/sfn: correct allocating and emitting of atomics 1908- r600/sfn: Correct ssbo instruction handling 1909- r600/sfn: handle querying SSBO size 1910- r600/sfn: Force a minimum of 4 GPRs, it seems to fix atomics 1911- r600: Enable compute shaders for NIR code path 1912- compiler/nir: rewrite lower_fragcoord_wtrans to use nir_lower_instructions 1913- compiler/nir: extend lower_fragcoord_wtrans to support VARYING_SLOT_POS 1914- gallium/aux: reorder vertex attributes in triangle fans according to PV 1915- meson: Make some warnings handled as errors with MSVC 1916- r600: revert disabling llvm draw 1917- r600/nir: fetch sources and split uniforms before emittting alu instructions 1918- r600/sfn: correct ring op patching 1919- r600/sfn: Fix loading vertex attributes 1920- r600/sfn: clone shader before lowering to registers and src/dest modifiers 1921- r600/sfn: Fix ordering of tex param moves 1922- r600/sfn: avoid some copies 1923- r600/sfn: Lower \*sign opcodes in nir 1924- r600/sfn: Fix split_alu_modifiers 1925- r600/sfn: Fix bitfield ops and 2x16 split_y 1926- r600/sfn: Fix source swizzle for gradient queries 1927- r600/sfn: more fixing of vec4 fetching 1928- r600/sfn: Fix comparison with different signedness 1929- nir: Add option lower_uniforms_to_ubo 1930- radeonsi: set compiler flag lower_uniforms_to_ubo 1931- freedreno/ir3: set lower_uniforms_to_ubo compiler flag 1932- intel/compiler: Set lower_uniform_to_ubo compiler flag 1933- llvmpipe: set lower_uniform_to_ubo compiler flag 1934- gallium+mesa/st: lower uniforms based on compiler flag instead of packed uniforms cap 1935- r600: enable lowering uniforms to UBO 1936- r600/sfn: Use load_ubo_vec4 lowering pass 1937- nir: remove ubo_r600 instrinsic since ubo_vec4 is used now 1938- r600/sfn: make number of source components a local variable 1939- r600/sfn: Fix component count for fdph 1940- r600/sfn: Fix typo in comment 1941- r600/sfn: use cnde instead of cnde_int 1942- r600/sfn: run late algebraic optimizations 1943- r600/sfn: remove a useless if-condition 1944- r600: Add flag for dual-source blending to shader key 1945- r600/sfn: Sort the outputs of the FS according to data index 1946- r600/sfn: Keep info about dual-source blend in FS 1947- r600/sfn: Handle number of color outputs taking dual source blending into account 1948- r600/sfn: Take dual source blending output indices into account 1949- r600/sfn: Acquire the number of FS outputs and the write_all info early 1950- r600/sfn: Be a bit more verbose when logging skipped FS outputs 1951- r600/sfn: Fix emitting shared atomics with constant sources 1952- r600/sfn: Handle nir_op_b2b32 1953- r600/sfn: lower to scalar for some optimizations and vectortize later 1954- r600/sfn: Support group memory barrier 1955- r600/sfn: save some instructions when doing multisample on sample 0 1956- r600/sfn: use fine gradient evaluation for interpolate_at_offset 1957- r600/sfn: Fix interpolate at sample 1958- r600/sfn: Fix indirect const buffer access 1959- r600/sfn; go back to not lowering uniforms to UBOs 1960- r600/sfn: replace hand-backed literal check by NIR function 1961- r600/sfn: remove old code to track uniforms as it is no longer needed 1962- r600/sfn: Add support for helper invocations 1963- r600/sfn: Fix enabling the right interpolator for inerpolate_at_sample 1964- r600/sfn: Fix IDX register ID 1965- r600/sfn: Add support for more barrier instructions 1966- r600/sfn: extend life range of all variables by one 1967- r600/sfn: Don't reuse registers for workgroup ID and local invocation ID 1968- r600/sfn: Fix ssbo resource offset for buffer loads 1969- r600/sfn: Fix keepalive patch 1970- r600/sfn: fix mega fetch count for SSBO/Image atomics result fetch 1971- r600/sfn: Rework get_temp_register to return a smart pointer to GPRValue 1972- r600/sfn: use shared pointer to GPR for FS sysvalues 1973- r600/sfn: Handle mem barrier and image barrier by using ACK 1974- r600/sfn: use cacheless op for coherent image write 1975- r600/sfn: use 32 bit bools 1976- r600/sfn: fix remapping of deleted attributes 1977- r600/sfn: Use register keep-alive also when scanning the shader 1978- r600/sfn: Fix the parameter component type 1979- r600/sfn: Update state docu 1980- compile/nir: Correct printing dest_type 1981- r600/sfn: lower bool to int32 only after common optimizations 1982- r600/sfn: fix component loading from fixed buffer ID 1983 1984Greg V (1): 1985 1986- radv,anv: use CLOCK_MONOTONIC_FAST when CLOCK_MONOTONIC_RAW is undefined 1987 1988Guido Günther (1): 1989 1990- kmsro: Extend to include imx-dcss 1991 1992Gurchetan Singh (7): 1993 1994- virgl: add flags to (\*resource_create) callback 1995- drm-uapi: virtgpu_drm.h: resource create blob + host visible memory region 1996- virgl/drm: query for resource blob and host visible memory region 1997- virgl/drm: add resource create blob function 1998- virgl: support PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT 1999- virgl: query blob mem 2000- virgl: fix stride + layer_stride inconsistency 2001 2002Hoe Hao Cheng (7): 2003 2004- zink: generate extension infrastructure using a python script 2005- zink: hook zink_device_info.py to build system 2006- zink: use the new extension infrastructure in device creation 2007- zink: use the new, generated extension infrastructure 2008- zink: remove old extension infrastructure 2009- zink: implement pipe_device_reset_callback 2010- zink: call the reset callback not only during a status check 2011 2012Hyunjun Ko (4): 2013 2014- freedreno: support GL_EXT_semaphore 2015- turnip: Refactor structs of tu_query 2016- turnip: Support pipeline statistics query 2017- turnip: Implement VK_EXT_host_query_reset 2018 2019Iago Toral Quiroga (443): 2020 2021- v3d/compiler: fix V3D double-rounding of .8 fixed-point XY coordinates 2022- v3dv: add support for valgrind macros 2023- v3dv: implement vkCreateInstance 2024- v3dv: implement vkDestroyInstance 2025- v3dv: implement vkEnumeratePhysicalDevices 2026- v3dv: pretend to initialize a physical device 2027- v3dv: Implement vkGetPhysicalDeviceProperties 2028- v3dv: retrieve device name from device info 2029- v3dv: add a comment to clarify how we should implement uuid / deviceID retrieval 2030- v3dv: implement vkGetPhysicalDeviceMemoryProperties 2031- v3dv: implement vkGetPhysicalDeviceFeatures 2032- v3dv: implement vkEnumerateDeviceExtensionProperties 2033- v3dv: amend vkEnumerateInstanceExtensionProperties to handle layers 2034- v3dv: implement vkGetPhysicalDeviceQueueFamilyProperties 2035- v3dv: implement vkCreateDevice 2036- v3dv: implement vkGetDeviceQueue 2037- v3dv: add dummy implementations for the packet definition generator 2038- v3dv: add stubs for the format table and vkGetPhysicalDeviceFormatProperties 2039- v3dv: add some basic support for format properties 2040- v3dv: implement vkEnumerate{Instance,Device}LayerProperties 2041- v3dv: add stub for vkDeviceWaitIdle 2042- v3dv: implement vkCreateImage 2043- v3dv: implement vkGetImageMemoryRequirements 2044- v3dv: initialize mememory heaps in the physical device 2045- v3dv: implement vkAllocateMemory 2046- v3dv: implement vkFreeMemory 2047- v3dv: implement vkMapMemory 2048- v3dv: implement vkUnmapMemory 2049- v3dv: implement vkBindImageMemory 2050- v3dv: implement vkCreateImageView 2051- v3dv: implement vk{Create,Destroy}Buffer 2052- v3dv: implement vkGetBufferMemoryRequirements 2053- v3dv: implement vkBindBufferMemory 2054- v3dv: implement vkCreateRenderPass 2055- v3dv: implement vk{Create,Destroy}RenderPass 2056- v3dv: implement vk{Create,Destroy}Framebuffer 2057- v3dv: implement vkCreateCommandPool 2058- v3dv: implement vk{Allocate,Free}CommandBuffers 2059- v3dv: create a v3dv_bo struct and reference it from v3dv_device_memory 2060- v3dv: add a concept of a command list 2061- v3dv: implement vkBeginCommandBuffer 2062- v3dv: start handling command buffer status 2063- v3dv: implement vkGetPhysicalDeviceImageFormatProperties 2064- v3dv: make v3dv_bo_alloc allocate memory for the bo struct 2065- v3dv: compute tile size for framebuffer 2066- v3dv: implement vkCmdBeginRenderPass 2067- v3dv: make the command buffer own the command list BOs 2068- v3dv: add a few more API stubs 2069- v3dv: store base mip level in the image view 2070- v3dv: add the tile state and alloc BOs to the command buffer BO list 2071- v3dv: revert the decision that the command buffer takes ownership of BOs 2072- v3dv: implement vkDestroyImage and vkDestroyImageView 2073- v3dv: make v3dv_layer_offset public 2074- v3dv: plug leak when destroying device 2075- v3dv: precompute more tiling info at framebuffer creation time 2076- v3dv: emit scissor to render area and precompute hw color clear values 2077- v3dv: emit the render command list 2078- v3dv: implement vkEndCommandBuffer 2079- v3dv: create the command buffer BO set before we init CLs 2080- v3dv: keep track of the numbre of BOs in a command buffer 2081- v3dv: clear set of BOs in the command buffer on reset 2082- v3dv: implement vkQueueSubmit 2083- v3dv: be more conservative resetting command buffer state 2084- v3dv: setup color clear values at subpass setup time 2085- v3dv: emit tile loads 2086- v3dv: flush at the end of each subpass 2087- v3dv: split framebuffer internal bpp calculations from tiling calculations 2088- v3dv: rename and make compute_tile_size_for_framebuffer() public 2089- v3dv: implement vkCmdCopyImageToBuffer 2090- v3dv: add the concept of a job 2091- v3dv: implement vkCmdNextSubpass 2092- v3dv: use the correct miplevel slice for the tile load operation 2093- v3dv: implement vkCmdPipelineBarrier 2094- v3dv: do not automatically emit a binner flush when finishing jobs 2095- v3dv: fix clipping against render area 2096- v3dv: add a note on interactions between clearing and scissor 2097- v3dv: rewrite attachment state tracking 2098- v3dv: only clear attachments on the first subpass that uses them 2099- v3dv: merge subpasses into the same job when possible 2100- v3dv: fix tile buffer loading 2101- v3dv: rewrite the attachment needs clearing condition 2102- v3dv: create a helper to start a new frame 2103- v3dv/cmd_buffer: rename render pass RCL emission helpers to be more explicit 2104- v3dv: handle VK_ATTACHMENT_UNUSED properly in more places 2105- v3dv: implement vkDeviceWaitIdle 2106- v3dv: implement vk{Create,Destroy}Semaphore 2107- v3dv: implement semaphore waits and signals on queue submissions 2108- v3dv: implement fences 2109- v3dv: support queue submissions with multiple command buffers 2110- v3dv: implement vkGetPhysicalDeviceSparseImageFormatProperties 2111- v3dv: include Vulkan version 1.1 as unsupported. 2112- v3dv: implement VK_KHR_get_physical_device_properties2 2113- v3dv: implement VK_KHR_external_memory_capabilities 2114- v3dv: implement VK_KHR_external_memory{_fd,_dma_buf} 2115- v3dv: fix copy image to buffer 2116- v3dv: implement vkGetImageSubresourceLayout 2117- v3dv: implement DRM modifier setup for WSI 2118- v3dv: hook up WSI support 2119- v3dv: implement device detection on actual hardware 2120- v3dv: allocate winsys BOs properly 2121- v3dv: rename drm device fields so they are more explict 2122- v3dv: don't swap RB channels when copying images to buffers 2123- v3dv: implement support for depth testing 2124- v3dv: don't always skip tile buffer stores 2125- v3dv: compute subpass ranges for attachments at render pass creation time 2126- v3dv: select the depth/stencil buffer from the attachment aspect mask 2127- v3dv: select correct internal type for depth/stencil formats 2128- v3dv: support depth testing on combined depth/stencil formats 2129- v3dv: implement stencil testing 2130- v3dv: fix indentation 2131- v3dv: support copying depth/stencil aspects to buffer 2132- v3dv: fix viewport state from pipeline 2133- v3dv: implement early Z optimization 2134- v3dv: clamp stencil masks and reference value to supported limits 2135- v3dv: implement dynamic stencil states 2136- v3dv: fix the mess with dynamic state handling 2137- v3dv: add a helper to compute the hardware clear color 2138- v3dv: add a helper to get the Z/S buffer from an aspect mask 2139- v3dv: implement vkCmdClearAttachments 2140- v3dv: implement indexed draws 2141- v3dv: fix clockwise primitive setting 2142- v3dv: ignore image view aspects for depth/stencil attachments 2143- v3dv: take the number of layers from the framebuffer 2144- v3dv: Add more supported formats to our format table 2145- v3dv: don't advertise texel buffer support yet. 2146- v3dv: implement vkCmdCopyBuffer 2147- v3dv: implement vkCmdUpdateBuffer 2148- v3dv: implement vkCmdFillBuffer 2149- v3dv: move the framebuffer setup code for buffer copy/fill to a helper 2150- v3dv: add a concept of a fake framebuffer for meta-copy operations 2151- v3dv: refactor common code in meta copy operations 2152- v3dv: fix copy size for image to buffer copies 2153- v3dv: implement vkCmdCopyImage 2154- v3dv: implement vkCmdClearColorImage 2155- v3dv: fix buffer automatic stride for image to buffer copies 2156- v3dv: implement vkCmdClearDepthStencilImage 2157- v3dv: implement vkCmdCopyBufferToImage for color formats 2158- v3dv: vkCmdCopyBufferToImage for depth/stencil formats 2159- v3dv: add an assert to catch applications trying to clear invalid aspects 2160- v3dv: implement indirect draws 2161- v3dv: add support for primitive restarts on indexed draw calls 2162- v3dv: initialize in_sync_bcl in our submits 2163- v3dv: implement vkResetCommandBuffer 2164- v3dv: add assertions for unimplemented fallback paths 2165- v3dv: honor swizzle for non-copy operations of color formats 2166- v3dv: implement vkQueueWaitIdle 2167- v3dv: destroy wsi device during physical device termination 2168- v3dv: implement vk{Create,Destroy}BufferView 2169- v3dv: implement host-side event handling functions 2170- v3dv: adjust a few limits to comply with CTS minimum requirements 2171- v3dv: declare that we support robust buffer access 2172- v3dv: meet requirements for supported format features and properties 2173- v3dv: implement vkResetCommandPool 2174- v3dv: don't swap R/B channels for VK_FORMAT_R5B6G5_UNORM_PACK16 2175- v3dv: don't use TLB path for formats that are not supported for rendering 2176- v3dv: fix image clearing with VK_REMAINING\_\* 2177- v3dv: don't support image formats that we can rendet to or texture from 2178- v3dv: fix fill buffer with VK_WHOLE_SIZE 2179- v3dv: implement vkGetRenderAreaGranularity 2180- v3dv: fix supertile coverage when render are size is 0. 2181- v3dv: take memory format from appropriate miplevel for image load/store 2182- v3dv: fix framebuffer format when computing fragment shader key 2183- v3dv: fix subpass tracking in the command buffer state 2184- v3dv: rewrite frame tiling setup 2185- v3dv: more frame tiling refactors 2186- v3dv: trivial refactors in a few meta copy helpers 2187- v3dv: assign driver locations on fragment shader output variables 2188- v3dv: don't reset loader data on command buffers 2189- v3dv: drop incorrect assertion 2190- v3dv: add a no-op fragment shader if we don't have one 2191- v3dv: implement interpolation qualifiers 2192- v3d/compiler: implement nir_op_fquantize2f16 2193- v3dv: call nir_lower_io_arrays_to_elements_no_indirects on vertex shaders 2194- v3dv: fix incorrect sizing of the vertex attribute state array 2195- v3dv: split fragment shader array outputs 2196- v3dv: lower usubborrow and uaddcarry 2197- v3dv: lower {i,u}mulExtended 2198- v3dv: don't assume that VkPipelineColorBlendStateCreateInfo is provided 2199- v3dv: drop incorrect assertion 2200- v3dv: drop assert for map of a mapped buffer 2201- v3dv: fix image tiling configuration 2202- v3dv: fix scissor outside viewport 2203- v3dv: fix viewport Z 2204- v3dv: work around viewport Z scale hardware bug 2205- v3dv: don't leak job allocations 2206- v3dv: handle the case where we fail to allocate a new job gracefully 2207- v3dv: only export the last job sync object once 2208- v3dv: support submits without a command buffer 2209- v3dv: return OOM error if we fail to import or export sync objects 2210- v3dv: use vk_error() for all queue/submit errors 2211- v3dv: fix copies and clears of 3D images 2212- v3dv: fix depth/stencil clear color 2213- v3dv: implement color blending 2214- v3dv: only expose blending on formats that support it 2215- v3dv: add an 'always flush' mode 2216- v3dv: always flush draw calls if we are doing sRGB blending 2217- v3dv: implement dynamic state for blend constants 2218- v3dv: only emit blend state if the pipeline is dirty 2219- v3dv: rewrite dirty state handling 2220- v3dv: drop redundant emission of stencil state 2221- v3dv: stencil state fixes 2222- v3dv: only emit config bits and varyings packets if needed 2223- v3dv: use perp end caps rasterization mode for lines 2224- v3dv: drop incorrect assertion on number of clear values at render pass begin 2225- v3dv: disable depth/stencil testing if we don't have a depth/stencil attachment 2226- v3dv: assert on vkCreateComputePipelines 2227- v3dv: improve assert handling for fallback paths on meta copy/clear operations 2228- v3dv: check support for transfer usage flags 2229- v3dv: make sure we only expose transfer features for formats we can use 2230- v3dv: use compatible TLB formats if possible during copies and clears 2231- v3dv: fix incorrect image slice selection 2232- v3dv: fix clearing of 3D images 2233- v3dv: fix job subpass index for vkCmdClearAttachments jobs 2234- v3dv: don't emit the subpass RCL for jobs that have emitted their own 2235- v3dv: fix a1r5g5b5 format 2236- v3dv: allow to create shader modules from NIR 2237- v3dv: improve asserts for VkPipelineColorBlendStateCreateInfo handling 2238- v3dv: implement partial color attachment clears 2239- v3dv: implement partial depth/stencil attachment clears 2240- v3dv: implement proper caching for partial clear pipelines 2241- v3dv: store the clip window in the command buffer state 2242- v3dv: check the render area against the clip window 2243- v3dv: fix v3dv_GetRenderAreaGranularity to account for attachment bpp 2244- v3dv: don't always assert that we have an active job 2245- v3dv: use the TLB to clear attachments even if we have an active scissor 2246- v3dv: restrict render pass clears to the render area 2247- v3dv: handle stencil load/store operations 2248- v3dv: assert on subpasses that use input or resolve attachments 2249- v3dv: push/pop more state during meta operations 2250- v3dv: create a v3dv_cmd_buffer_subpass_resume helper 2251- v3dv: set render area for partial clears to match clear rect 2252- v3dv: compute tile granularity for each subpass 2253- v3dv: fix incorrect attachment reference 2254- v3dv: fix incorrect attachment reference 2255- v3dv: simplify partial clearing code 2256- v3dv: handle partial clears of just one aspect of combined DS targets 2257- v3d/compiler: implement nir_intrinsic_load_base_instance 2258- v3dv: emit instanced draw calls when requested 2259- v3dv: fix subpass merge tests 2260- v3dv: reset all state to dirty when we start a new job for a command buffer 2261- v3dv: implement occlusion queries 2262- v3dv: submit a no-op job if a command buffer doesn't have any jobs. 2263- v3dv: simplify handling of no-op jobs 2264- v3dv: add a bunch of API stubs 2265- v3dv: implement TFU blits 2266- v3dv: reset subpass index at render pass end 2267- v3dv: meta operations can happen outside a render pass 2268- v3dv: save and restore descriptor state during meta operations if needed 2269- v3dv: save and restore push constant state during meta operations 2270- v3dv: implement shader draw fallback for vkCmdBlitImage 2271- v3dv: require optimal tiling for features that reqiure sampling 2272- v3dv: move early-Z update to pre-draw 2273- v3dv: don't leak NIR code in pipelines 2274- v3dv: don't leak host memory allocated for shader variants 2275- v3dv: don't leak default pipeline attributes BO 2276- v3dv: don't leak prog_data from shader variants 2277- v3dv: don't leak the compiler from the physical device 2278- v3dv: don't leak the texture shader state BO from image views 2279- v3dv: don't leak state BO from samplers 2280- v3dv/blit: fix integer blits from larger to lower bit size 2281- v3dv: handle miplevel correctly for blits 2282- v3dv: support depth blits 2283- v3dv: don't support blitting of combined depth/stencil formats 2284- v3dv: don't support 1D depth/stencil for transfer sources or sampling 2285- v3dv: remove incorrect assert 2286- v3dv: support blits with 1D and 3D images 2287- v3dv: add framework for private driver objects 2288- v3dv: fix leaks during recording of meta blits 2289- v3dv: use the private object framework in the meta clear path 2290- v3dv: implement fallback for partial image copies 2291- v3dv: implement stencil aspect blits for combined depth/stencil format 2292- v3d: fix Tile Rendering Mode Cfg (Color) packet description 2293- v3dv: limit software integer RT clamp to rgb10a2 2294- v3dv: handle copies from/to compressed formats 2295- v3dv: implement partial buffer copies to color images 2296- v3dv: support blitting both depth and stencil aspects at the same time 2297- v3dv: implement partial buffer copies to depth/stencil images 2298- v3dv: always return true from a fallback path if it can handle the case 2299- v3dv: fix image addressing calculations to account for suballocation 2300- v3dv: only require 4-byte alignment for linear images 2301- v3dv: implement partial image to buffer copies 2302- v3dv: do not rewrite blit spec for combined depth/stencil in get_blit_pipeline 2303- v3dv: drop blit path for depth/stencil formats 2304- v3dv: implement depth bias 2305- v3dv: ignore dynamic updates of depth bounds state 2306- v3dv: implement wide lines 2307- v3dv: fix dynamic blend constants 2308- v3dv: fix the command buffer private object framework for 32-bit 2309- v3dv: fix depth/stencil clears on hardware 2310- v3dv: make the driver more robust against OOM 2311- v3dv: implement events 2312- v3dv: don't leak BOs from CLs when using BRANCH 2313- v3dv: fix vkResetCommandPool 2314- v3dv: make TLB clearing paths return true/false 2315- v3dv: drop the extra BO handling from the command buffer 2316- v3dv: remove some unnecessary / unused functions 2317- v3dv: assert command buffers are executable when submitting to a queue 2318- v3dv: check that GPU device matches requirements 2319- v3dv: ensure BCL space is available before emitting packets 2320- v3dv: handle OOM properly during command buffer recording in more places 2321- v3dv: fix bogus command buffer allocation scopes 2322- v3dv: add basic support for secondary command buffers 2323- v3dv: implement vkCmdWaitEvents for secondary command buffers 2324- v3dv: support vkCmdClearAttachments in secondary command buffers 2325- v3dv: don't leak attachment state 2326- v3dv: add stubs for missing API implementations 2327- v3dv: warn users that this is not a conformant driver 2328- v3dv: fix BCL start offset in presence of chained BOs 2329- v3dv: regen BO lists for CLs inside cloned jobs 2330- v3dv: fix a few cases where we were ignoring suballocated buffers 2331- v3dv: fix release build warnings 2332- v3dv: actually enable early Z 2333- v3dv: try harder to skip emission of redundant state 2334- v3dv: add a TFU path for buffer to image copies 2335- v3dv: add a CPU path for buffer to image copies 2336- v3dv: try to use TFU path when creating tiled images from linear buffers 2337- v3dv: always map full BOs 2338- v3dv: support compute pipelines 2339- v3dv: handle separate binding points for compute and graphics 2340- v3dv: implement compute dispatch 2341- v3dv: handle unsized arrays in SSBOs 2342- v3dv: always emit index buffer state for new jobs 2343- v3dv: implement indirect compute dispatch 2344- v3dv: return a proper error for too large buffer allocations 2345- v3dv: assert that our framebuffers are single sampled 2346- v3dv: don't free BOs from imported memory objects 2347- v3dv: pipeline initialization fixes for disabled rasterization 2348- v3dv: handle empty set layouts 2349- v3dv: don't reset descriptor state after a meta operation 2350- v3dv: lower unpack_{u,s}norm_2x16 2351- v3dv: lower frexp 2352- v3dv: implement support for shader spilling 2353- v3dv: fix GFXH-930 workaround 2354- v3dv: add workaround for GFXH-1602 2355- v3dv: improve handling of too large image sizes 2356- v3dv: handle draw after barrier 2357- v3dv: fix vkCmdCopyBuffer unaligned TLB access 2358- v3dv: fix textureSize() for cube arrays 2359- v3dv: fix srcSubresource description for image to buffer blits 2360- v3dv: fix blit_shader() to honor the region's aspect mask 2361- v3dv: handle unnormalized coordinates in samplers 2362- v3dv: use swizzle X001 with D/S formats 2363- v3dv: fix regressions for cubemap array load/store 2364- v3dv: fix color border clamping with specific formats 2365- v3dv: make sure we emit vertex attributes in location order 2366- v3d/compiler: support swapping R/B channels in vertex attributes. 2367- v3dv: handle VK_FORMAT_B8G8R8A8_UNORM vertex attributes 2368- v3dv: don't support sRGB buffer formats 2369- v3dv: improve pipeline barrier handling 2370- v3dv: use a binning sync for CL jobs waiting on a semaphore 2371- v3dv: ignore stencil load operation if attachment format doesn't have stencil 2372- v3dv: only use per-buffer clear bit for cases were we are already storing 2373- v3dv: avoid prime blit path when presenting WSI images 2374- v3dv: only care about barriers between GPU jobs 2375- v3dv: emit new shader state if viewport is dirty 2376- v3dv: only clear depth/stencil attachments if any aspect needs clearing 2377- v3dv: add a fast path for vkCmdClearAttachments 2378- v3dv: enable shaderClipDistance 2379- v3dv: enable fillModeNonSolid 2380- v3dv: fix dynamic state after meta operation 2381- v3dv: consider MSAA when computing frame tiling 2382- v3dv: process VkPipelineMultisampleStateCreateInfo properly 2383- v3dv: implement subpass multisample rendering and resolve 2384- v3dv: implement vkCmdResolveImage for whole images 2385- v3dv: handle multisampled image copies in the TLB path 2386- v3dv: setup texture shader state correctly for multisampled images 2387- v3dv: add a blit fallback path for vkCmdResolveImage 2388- v3dv: handle multisampled image copies with the blit path 2389- broadcom/compiler: handle gl_SampleMask writes in fragment shaders 2390- v3dv: amend tile size tables with smallest tile sizes available 2391- nir/glsl: add a glsl_ivec4_type() helper 2392- v3dv: fix blitting of signed integer formats 2393- v3dv: handle multisample resolve of integer formats 2394- v3dv: handle multisample resolves for formats that don't support TLB resolves 2395- v3dv: handle multisample image clears 2396- broadcom/compiler: implement nir_intrinsic_load_sample_pos 2397- broadcom/compiler: track if the fragment shader forces per-sample MSAA 2398- v3dv: enable sample rate shading if fragment shader reads gl_SampleID 2399- v3dv: implement nir_texop_texture_samples 2400- v3dv: handle multisample rasterization with empty framebuffers 2401- nir/lower_io: add an option to lower interpolateAt functions 2402- v3dv: lower interpolateAt functions in NIR and enable sample rate shading 2403- v3dv: only require texel-size alignment for linear images 2404- v3dv: fix 3D image blits 2405- v3dv: don't cache subpass color clear pipelines 2406- v3dV: move meta init/finish to meta implementation files 2407- nir: add a nir_get_ubo_size intrinsic 2408- v3d/compiler: implement nir_intrinsic_get_ubo_size 2409- v3dv: handle QUNIFORM_GET_UBO_SIZE 2410- broadcom/compiler: rename QUNIFORM_GET_BUFFER_SIZE to QUNIFORM_GET_SSBO_SIZE 2411- v3d/compiler: add a lowering pass for robust buffer access 2412- v3dv: hook up robust buffer access 2413- v3dv: fix color clear pipeline destruction for 32-bit architectures 2414- v3dv: handle VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO 2415- v3dv: expose DRM modifiers based on supported features 2416- v3dv: fix offset computed by vkGetImageSubresourceLayout for array images 2417- v3dv: fix size computed by vkGetImageSubresourceLayout for 3D images 2418- v3dv: do not expose VK_IMAGE_USAGE_SAMPLED_BIT for swapchains 2419- v3dv: signal semaphore/fence if needed after acquiring a swapchain image 2420- v3dv: fix sampling from stencil aspect of a combined depth/stencil image 2421- v3dv: honor VkPipelineDepthStencilStateCreateInfo::depthWriteEnable 2422- v3dv: don't leak dumb BO handles allocated for swapchain images 2423- v3dv: clean-up after obtaining an XCB connection 2424- v3dv: free noop job if needed when finishing the queue 2425- v3d/compiler: allow to batch spills 2426- v3dv: always program a reasonable internal depth type for copies/clears 2427- v3dv: only advertise one memory type 2428- v3dv: flag tmu_dirty_rcl in primaries when linking secondaries that have it set 2429- v3dv: implement workaround for GFXH-1461 2430- v3dv: implement workaround for GFXH-1918 2431- v3dv: fixes for barriers in secondary command buffers 2432- v3dv: fix blit path for copies from 3D compressed images 2433- v3dv: generate proper UUIDs for device and driver 2434- v3dv: limit blit framebuffer dimensions to max coordinates 2435- v3dv: drop a couple of obsolete comments 2436- v3dv: fix buffer copies to compressed images on the blit path 2437- broadcom/compiler: track partially interpolated fragment inputs 2438- v3d/compiler: implement load interpolated input intrinsics 2439- v3dv: skip unnecessary tile loads when blitting 2440- v3dv: fix multi-layered buffer to image copies on the blit path 2441- v3dv: do not attempt to blit from a linear image source 2442- v3dv: fix Z coordinate for 3D blits 2443- v3dv: handle compressed image to buffer copies on the blit path 2444- v3dv: handle buffer to linear depth/stencil image copies in blit path 2445- broadcom/cle: fix vec size dump when set to 0 2446- v3d/compiler: fix BGRA vertex attributes for vec2/float size. 2447- v3dv: compute swap_rb flag after applying all swizzles 2448- v3dv: properly describe swap_color_rb 2449- v3dv: enable the logicOp feature 2450- v3dv: grow meta descriptor pool dynamically 2451- v3dv: enable alphaToOne feature 2452- v3dv: add image view debug checks for VK_KHR_maintenance1 2453- v3dv: fix base slice selection for copies involving 3D images 2454- v3dv: update assertion to match VK_KHR_maintenance1 semantics 2455- v3dv: implement vkTrimCommandPool 2456- v3dv: expose VK_KHR_maintenance1 2457- v3dv: add support for timestamp queries 2458- v3dv: fix occlusion query inheritance in secondary command buffers 2459- zink: require Vulkan timestamp queries for time query caps 2460- zink: add VK_STRUCTURE_TYPE_WSI_MEMORY_ALLOCATE_INFO_MESA for WSI allocations 2461- v3dv: add a v3dv_bo_init helper 2462- v3dv: expose more features 2463- zink: fix pNext chain for resource memory allocation 2464 2465Ian Romanick (34): 2466 2467- intel/vec4: Silence unused paramter warnings in brw_vec4_generator.cpp 2468- intel/compiler: Silence unused parameter warning in brw_surface_payload_size 2469- intel/compiler: Don't fallback to vec4 when scalar GS compile fails \[v2\] 2470- intel/vec4: Remove inline lowering of LRP 2471- intel/compiler: Remove INTEL_SCALAR\_... env variables 2472- intel/vec4: Remove all support for Gen8+ \[v2\] 2473- intel/vec4: Remove everything related to VS_OPCODE_SET_SIMD4X2_HEADER_GEN9 2474- i965: Allow viewport array extensions with allow_higher_compat_version 2475- intel: Silence many unused parameter warnings in blorp_genX_exec.h 2476- i965: Silence many unused parameter warnings in genX_blorp_exec.c 2477- i965: Silence many unused parameter warnings in genX_state_upload.c 2478- i965: Make MOCS index tables static const 2479- i965: Rename gen10_emit_isp_disable to gen7_emit_isp_disable 2480- intel: Disable all support for Gen10 2481- intel/compiler: Remove Gen10-specific code 2482- i965: Remove Gen10-specific state setup and workarounds 2483- i965: Don't build Gen10-specific files and libraries 2484- intel: Remove Gen10-specific cache config code 2485- intel/isl: Don't generate Gen10-specific functions 2486- iris: Don't generate Gen10-specific functions 2487- anv: Don't generate Gen10-specific functions 2488- intel: Remove Gen10-speicific perf support 2489- intel: Remove Gen10-specific device entries 2490- i965: Silence unused parameter warnings 2491- mesa/st: Silence unused parameter warnings in st_context.c 2492- mesa: Pass the correct caller string to \_mesa_lookup_or_create_texture 2493- glx: rework \__glXCalculateUsableExtensions to be more readable 2494- nir: Rename replicated-result dot-product instructions 2495- mesa: Open-code hash walk in \_mesa_HashPrint 2496- mesa: Store the atlas Id in the gl_bitmap_atlas structure 2497- i965: Get the gl_perf_query_object Id from the object 2498- mesa: Remove the key parameter from the \_mesa_HashWalk callback 2499- mesa: Remove the key parameter from the \_mesa_HashDeleteAll callback 2500- intel/compiler: Rotate instructions ROR and ROL cannot have source modifiers 2501 2502Icecream95 (27): 2503 2504- panfrost: Fix border colour 2505- docs/features: Add missing Panfrost extensions 2506- panfrost: Cleanup panfrost_get_param 2507- panfrost: Remove old comment on broken depth reload 2508- panfrost: Correctly set modifier_constant 2509- panfrost: Seperate resource setup and bo creation 2510- panfrost: Move tiled-linear conversion checking to a new function 2511- panfrost: AFBC to linear layout conversion 2512- pan/mdg: Fix spilling of non-32-bit types 2513- panfrost: Set modifier_constant to true for exported resources 2514- pan/mdg: Return a bool from midgard_nir_lod_errata 2515- pan/mdg: Use nir_shader_instructions_pass for nir_lod_errata 2516- pan/mdg: Use nir_shader_instructions_pass for fdot2 lowering 2517- Revert "panfrost: Drop implicit blend pooling" 2518- panfrost: Clamp uniform buffer size 2519- panfrost: Handle non-positive viewport positions 2520- panfrost: Remove redundant casts of viewport position 2521- panfrost: Mark blit shaders as internal 2522- pan/mdg: Infer whether to disassemble shaders from info.internal 2523- panfrost: Add a debug flag to disable AFBC 2524- panfrost: Precise occlusion query support 2525- panfrost: Only enable occlusion queries when active 2526- panfrost: Move zs format handling code out of the !afbc case 2527- panfrost: Z16 depth buffer support 2528- panfrost: AFBC compress Z16 depth buffers 2529- panfrost: Fix AFBC blits of resources with faked RGTC 2530- panfrost: Fix stack shift calculation 2531 2532Igor V. Kovalenko (1): 2533 2534- r600: amend space check for chips older than EVERGREEN 2535 2536Ilia Mirkin (1): 2537 2538- panfrost: enable DrawTransformFeedback\* 2539 2540Indrajit Kumar Das (5): 2541 2542- mesa: add NV_copy_depth_to_color support for nir 2543- gallium: prepare framework for supporting GL_NV_shader_atomic_int64 2544- mesa,glsl: add support for GL_NV_shader_atomic_int64 2545- radeonsi: enable support for GL_NV_shader_atomic_int64 2546- radeonsi/gfx10: fix stream index for multi-stream overflow query 2547 2548Italo Nicola (12): 2549 2550- nir: add shared/global atomics to nir_get_io_offset_src() 2551- panfrost: fix undefined value access on mir_set_intr_mask() 2552- panfrost: add atomic_cmpxchg opcode 2553- panfrost: add LDST_ADDRESS property to atomic ops 2554- panfrost: introduce LDST_ATOMIC property 2555- panfrost: add support for src[3\] in LOAD_STORE ops 2556- panfrost: add atomic ops infrastructure 2557- panfrost: add support for atomics 2558- nir/algebraic: fold some nested comparisons with ball and bany 2559- pan/mdg: remove unused arg from ALU_CHECK_CMP and ALU_CASE_CMP 2560- pan/mdg: map uabs_i/usub to i/uabsdiff 2561- pan/mdg: fix LOCAL_STORAGE wls_instances packing 2562 2563Iván Briano (1): 2564 2565- anv: restrict number of subgroups per group 2566 2567James Park (16): 2568 2569- amd/addrlib: Fix warning list for msvc 2570- radv: Increased const usage 2571- util: Hide timespec_passed on Windows 2572- radv: Only close local_fd when valid 2573- ac,amd/llvm,radv: Initialize structs with {0} 2574- util,radv,radv/winsys: Cross-platform rwlock API 2575- util,ac,aco,radv: Cross-platform memstream API 2576- util: Fix rwlock Windows include for MinGW 2577- util/xmlconfig: Disable for Windows like Android 2578- aco: Clean up some C++ usages 2579- vulkan/util,vulkan/wsi,radv: Add typed outarray API 2580- aco: Fix accidental copies, attempt two 2581- nir: Stabilize compact_components sort 2582- amd/llvm,aco: Replace VLA with alloca 2583- radv,radv/winsys: Move RADV_MAX_IBS_PER_SUBMIT 2584- radv: Fix leak in radv_amdgpu_winsys_destroy() 2585 2586Jan Beich (1): 2587 2588- spirv: switch to util_bswap32 to improve portability 2589 2590Jan Ziak (1): 2591 2592- Add driver override to envvars.rst 2593 2594Jason Ekstrand (296): 2595 2596- iris: no-op implement set_compute_resources 2597- iris: Implement set_global_binding 2598- iris: Add support for serialized NIR 2599- intel/cs_intrinsics: Handle 64-bit intrinsics 2600- intel/compiler: Allow MESA_SHADER_KERNEL 2601- iris: Use blob_write_uint32 for num_system_values 2602- iris: Add a kernel_input_size field for compiled shaders 2603- iris/disk_cache: Stop assuming stage == cache_id 2604- iris: Copy dest size from the original intrinsic in setup_uniforms 2605- iris: Upload kernel inputs with system values 2606- iris: Add support for MESA_SHADER_KERNEL in the disk cache 2607- nir: Add and use nir_foreach_block_unstructured helpers 2608- nir/lower_goto_if: Document some data structures 2609- nir/lower_goto_if: Clean up ralloc usage 2610- nir/lower_goto_if: Use util/list instead of exec_list 2611- nir/lower_goto_if: Rework handling of skip targets 2612- nir/lower_goto_if: Rework some set union logic 2613- nir/lower_goto_if: Sort blocks in select_fork 2614- nir/lower_goto_if: Add a block_for_singular_set helper 2615- nir/lower_goto_if: Replace a tripple loop with a double loop 2616- nir/lower_goto_if: Add a route::outside set 2617- nir/lower_goto_if: Add some debug prints 2618- spirv: Add a MESA_SPIRV_FORCE_UNSTRUCTURED environment variable 2619- nir/builder: Make nir_get_ptr_bitsize take a nir_shader 2620- spirv: Don't emit RMW for vector indexing in shared or global 2621- clover/nir: Stop setting ubo_addr_format 2622- clover/nir: Stop computing the global address format twice 2623- clover/nir: Use the correct address mode for shared 2624- nir: Initialize nir_ssa_def::live_index 2625- nir/builder: Add a nir_iand_imm helper 2626- nir/find_array_copies: Handle cast derefs 2627- nir/large_constants: Handle incomplete derefs 2628- compiler/types: Allow interfaces in get_explicit_type_for_size_align 2629- nir/opt_large_constants: Fix a type/deref_type typo 2630- nir: Add an LOD parameter to image_*_size 2631- iris: Stop advertising PIPE_SHADER_IR_NIR_SERIALIZED 2632- iris: Stop advertising clover-only caps 2633- iris: ref/unref the GLSL type singleton in screen_create/destroy 2634- iris: Normalize all compute shaders to MESA_SHADER_COMPUTE 2635- iris: Always re-upload sysvals when we have kernel inputs 2636- intel/fs: Fix an assert in load_scratch 2637- intel/nir: Allow splitting a single load into up to 32 loads 2638- clover/spirv: Don't call llvm::regularizeLlvmForSpirv 2639- clover: Call clang with -O0 for the SPIR-V path 2640- nir: Report progress properly in nir_lower_bool_to\_\* 2641- intel/nir: Pass the nir_builder by reference in lower_alpha_to_coverage 2642- intel/nir: Rewrite the guts of lower_alpha_to_coverage 2643- intel/nir: Clean up lower_alpha_to_coverage a bit 2644- nir: Use a switch in nir_inline_function_impl 2645- nir: Take a variable remap parameter in nir_inline_function_impl 2646- intel/fs: Add support for vec8 and vec16 ops 2647- intel/nir: Lower things with \\> 4 components in lower_mem_access_bit_sizes 2648- spirv: Support big-endian strings 2649- spirv: Delete some dead workgroup variable handling code 2650- nir: Rename num_shared to shared_size 2651- nir: Improve the comment on num_inputs and friends 2652- intel/fs: Fix MOV_INDIRECT and BROADCAST of Q types on Gen11+ 2653- nir: Add a new nir_var_mem_constant variable mode 2654- nir: Add a load_global_constant intrinsic 2655- nir/lower_io: Use the variable mode for load_scratch_base_ptr checks 2656- nir/lower_io: Add a build_addr_for_var helper 2657- nir/lower_io: Add support for nir_var_mem_constant 2658- nir: Allow opt_large_constants to be run with constant_data_size \\> 0 2659- spirv: Use nir_var_mem_constant for UniformConstant data in CL 2660- intel/fs: Implement nir_intrinsic_load_global_constant 2661- nouveau/nir: Implement load_global_constant 2662- llvmpipe: Add support for load_global_constant 2663- clover/nir: Use nir_var_mem_constant for \__constant memory 2664- spirv: Drop the constant_as_global as option 2665- nir/lower_explicit_io: Assert that compute address sizes match derefs 2666- clover: Use 64-bit offsets for shader_in on 64-bit GPUs 2667- nir/clone: Add a helper for cloning most instruction types 2668- intel/compiler: Get rid of the global compaction table pointers 2669- intel/compiler: Get rid of struct gen_disasm 2670- iris: Use gen_disassemble 2671- intel/eu: Add some new helpers 2672- intel/fs,vec4: Stuff the constant data from NIR in the end of the program 2673- anv: Stop storing the shader constant data side-band 2674- intel/eu: Include brw_compiler.h in brw_eu.h 2675- intel/eu: Add a mechanism for emitting relocatable constant MOVs 2676- intel/fs: Add support for a new load_reloc_const intrinsic 2677- anv: Properly cache brw_stage_prog_data::relocs 2678- nir/builder: Add load/store_global helpers 2679- anv: Patch constant data pointers into shaders with using softpin 2680- iris: Patch constant data pointers into shaders 2681- intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy 2682- intel/fs: Use a single untyped surface read for load_num_work_groups 2683- intel/nir: Lower load_num_work_groups to 32-bit if needed 2684- iris: Re-emit push constants if we have a varying workgroup size 2685- intel/compiler: Handle all indirect lowering choices in brw_nir.c 2686- nir/lower_indirect_derefs: Add a threshold 2687- intel/nir: Stop using nir_lower_vars_to_scratch 2688- nir: Don't bail too early in lower_mem_constant_vars 2689- clover: Call nir_lower_mem_constant_vars 2690- compiler/types: Make booleans 32-bit for cl_size/align 2691- nir/glsl: Add an explicit_alignment field to glsl_type 2692- nir: Add alignment information to cast derefs 2693- nir: Handle all array stride cases in nir_deref_instr_array_stride 2694- nir: Add a helper for getting the alignment of a deref 2695- nir/lower_io: Apply alignments from derefs when available 2696- nir/opt_deref: Don't remove casts with alignment information 2697- nir/opt_deref: Remove restrictive alignment information from casts 2698- spirv: Add pointer helper vars to OpCopyMemory 2699- spirv: Propagate alignments to deref chains via casts 2700- nir: Allow var_mem_global in nir_lower_vars_to_explicit_types 2701- nir: Allow uniform in nir_lower_vars_to_explicit_types 2702- clover: Use args.size() to compute new var locations 2703- spirv: Stop counting inputs in entry_point_wrapper 2704- clover/nir: Use lower_vars_to_explicit for uniform and global 2705- spirv: Drop the OpenCL type layout code 2706- anv: Set alignments on UBO/SSBO root derefs 2707- compiler/types: Fix deserializing structs with \>= 15 members 2708- spirv: Improve the "Entry point not found" error message 2709- spirv2nir: Rework argument handling 2710- nir/lower_io: Fix the unknown-array-index case in get_deref_align 2711- nir: Add a dominance validation pass 2712- spirv: Run repair_ssa if there are discard instructions 2713- intel/nir: Call validate_ssa_dominance at both ends of the NIR compile 2714- nir: More NIR_MAX_VEC_COMPONENTS fixes 2715- nir/idiv_const: Use the modern nir_src_as\_\* constant helpers 2716- anv: Fix the target_bo assertion in anv_reloc_list_add 2717- clover: Pull the stride from pipe_transfer for image maps 2718- spirv: Access qualifiers are not a bitfield 2719- spirv: Plumb access qualifiers through from image types 2720- nir: Add a pass for lowering CL-style image ops to texture ops 2721- intel/fs/swsb: SCHEDULING_FENCE only emits SYNC_NOP 2722- nir: Rename get_buffer_size to get_ssbo_size 2723- radeonsi: Only call nir_lower_var_copies at the end of the opt loop 2724- spirv: vtn_fail with a nice message on unsupported rounding modes 2725- nir/liveness: Consider if uses in nir_ssa_defs_interfere 2726- compiler/types: Add glsl_baseN_t_type(bit_size) helpers 2727- spirv: Use the new types helpers 2728- nir: Add a new memcpy intrinsic 2729- nir: Add a lowering pass to lower memcpy 2730- spirv: Add support for OpCopyMemorySized 2731- clover/nir: Call the memcpy lowering pass 2732- nir: Allow creating variables with nir_var_mem_push_const. 2733- nir/lower_io: Add support for push constants 2734- anv,radv,tu,val: Call nir_lower_io for push constants 2735- spirv: Use derefs for push constants 2736- vallium: Stop using lower_ubo_ssbo_access_to_offsets 2737- spirv: Delete the legacy offset/index UBO/SSBO lowering 2738- nir/copy_propagate: Copy-prop into jump conditions 2739- nir: Disallow goto and goto_if in clone and \[de]serialize 2740- nir/cf: Better handle intra-block splits 2741- nir/validate: Improve the validation of blocks 2742- nir/lower_goto_ifs: Don't destroy SSA form in the process 2743- nir/dominance: Use \_mesa_set_clear instead ofhand-rolling it 2744- spirv: Only run repair_ssa if structured 2745- nir/lower_goto_ifs: Use rzalloc 2746- nir/lower_goto_ifs: Add asserts for SSA forks 2747- nir/lower_goto_ifs: Always include level dom_frontiers in prev_frontier 2748- Revert "nir/lower_goto_if: Add a route::outside set" 2749- anv: Allow HiZ clears for multi-view 2750- anv: Use more temp vars in cmd_buffer_begin_subpass 2751- anv: Skip HiZ and CCS ambiguates which preceed fast-clears 2752- nir: Split NIR_INTRINSIC_TYPE into separate src/dest indices 2753- nir: Add a conversion and rounding intrinsic 2754- nir: Add builder helpers for OpenCL type conversions 2755- nir: Add a passes for nir_intrinsic_convert_alu_types 2756- spirv: Add some conversion handling helpers 2757- spirv: Handle all OpenCL conversion ops with full rounding 2758- spirv/opencl: Drop dest_type from handle_v_load_store 2759- clover/nir: Call nir_lower_convert_alu_types 2760- nir: Add lowering from regular ALU conversions to the intrinsic 2761- intel/fs: NoMask initialize the address register for shuffles 2762- nir: Fix a misspelling 2763- nir/find_array_copies: Properly discard copies for casts 2764- nir: Handle memcpy in copy_prop_vars and combine_stores 2765- nir: Add a memcpy optimization pass 2766- nir/opt_load_store_vectorize: Use bit sizes when checking mask compatibility 2767- nir: Add component mask re-interpret helpers 2768- nir/opt_deref: Add an instruction type switch 2769- nir/opt_deref: Add an optimization for bitcasts 2770- nir: Add a pass to lower vec3s to vec4s 2771- intel/fs: Don't use NoDDClk/NoDDClr for split SHUFFLEs 2772- iris: Fix the constant data address calculation 2773- anv: Implement VK_EXT_transform_feedback on Gen7 2774- spirv: Make the clc_shader const 2775- nir/constant_folding: Use the builder 2776- nir/constant_folding: Use nir_shader_instruction_pass 2777- nir: Validate constant initializers 2778- nir/constant_folding: Fold load_deref of nir_var_mem_constant 2779- iris: Add pipe-loader support 2780- iris: Handle runtime-specified local memory size 2781- iris: Add support for load_work_dim as a system value 2782- iris: Fill out compute caps and enable clover support 2783- gallium/pipe: Add a GALLIUM_PIPE_SEARCH_DIR override env var 2784- util/xxd.py: Add an option for binary files 2785- spirv: Add a shared libclc loader 2786- spirv: Move nir_lower_libclc to src/compiler/spirv 2787- intel/nir: Don't try to emit vector load_scratch instructions 2788- intel/nir: Lower load_global_constant in lower_mem_access_bit_sizes 2789- i965: Take an isl_format in emit_buffer_surface_state 2790- intel/fs: Add an alignment to VARYING_PULL_CONSTANT_LOAD_LOGICAL 2791- intel/fs: Add an option to use dataport messages for UBOs 2792- anv: Add a device parameter to format_for_descriptor_type 2793- anv: Use format_for_descriptor_type for descriptor buffers 2794- anv: Plumb the device into \*bits_for_access_flags 2795- anv: Use the data cache for indirect UBO pulls on Gen8+ 2796- iris: Use the data cache for indirect UBO pulls 2797- clover: Stop leaking NIR shaders 2798- nir/opt_deref: Fix the vector bitcast optimization 2799- nir: Allow more deref modes in phis 2800- intel/batch_decoder: Don't clame vec4 vs/gs/tcs shaders on Gen11+ 2801- intel/fs: Copy the PTSS from g0 for scratch reads/writes 2802- intel/fs: Add a SCRATCH_HEADER opcode 2803- intel/fs/ra: Increment spill_offset as part of the emit_spill loop 2804- intel/fs/ra: Refactor handling of Gen7 scratch reads 2805- intel/fs/ra: Store the last non-spill VGRF node 2806- intel/fs/ra: Sanity-check our IP counts 2807- intel/fs/ra: Use a set to track added spill/fill instructions 2808- intel/fs: Rework scratch handling on Gen9+ 2809- intel/fs: Allow constant-propagation into SAMPLEINFO and IMAGE_SIZE 2810- anv: Go back to using the sampler for UBO pulls 2811- Revert "iris: Use the data cache for indirect UBO pulls" 2812- anv: Bump the number of update-after-bind descriptors to 1M 2813- anv: Add a descriptor_count to descriptor sets 2814- anv: Implement VariableDescriptorCount 2815- iris: Flush caches based on brw_compiler::indirect_ubos_use_sampler 2816- anv,iris: Use the data cache for UBO pulls on Gen12+ 2817- spirv: Add 0.5 to integer coordinates for OpImageSampleExplicitLod 2818- nir/lower_io: Assert non-zero power-of-two alignments 2819- compiler/types: Assert non-zero alignments in get_explicit_type_for_size_align 2820- compiler/types: Allow images and samplers in get_explicit_type_for_size_align 2821- clover/nir: Calculate sizes of images and samplers properly 2822- clover/nir: Add an image lowering pass 2823- spirv: Fix OpCopyMemorySized 2824- nir/lower_memcpy: Don't mask the store 2825- docs: Specify when branch points happen 2826- nir/validate: Explain why we don't use nir_foreach_block 2827- mesa/spirv: Lower variable initializers for global variables 2828- nir/builder: Add a nir_ieq_imm helper 2829- nir/phis_to_scalar: Use a deny-list for load_deref modes 2830- nir: Handle incomplete derefs in split_struct_vars 2831- nir: Use var->data.mode instead of deref->mode in a few cases 2832- nir: Disallow writes to system values and mem_constant 2833- nir/opt_find_array_copies: Allow copies from mem_constant 2834- nir: Add and use some deref mode helpers 2835- nir/lower_array_deref_of_vec: Use nir_deref_mode_must_be 2836- nir/lower_io: Use nir_deref_mode\_\* helpers 2837- nir/phis_to_scalar,gcm: Use nir_deref_mode_may_be 2838- nir: Only force loop unrolling if we know it's a in/out/temp 2839- nir/vars_to_ssa: Use nir_deref_must_be 2840- nir/vec3_to_vec4: Use nir_deref_must_be 2841- nir: Use nir_deref_mode_may_be in deref optimizations 2842- nir/find_array_copies: Prepare for generic pointers 2843- nir/split_*_vars: Prepare for generic pointers 2844- nir: Make nir_deref_instr::mode a bitfield 2845- nir: Add support for generic pointers 2846- spirv: Add generic pointer support 2847- nir/opt_deref: Add a deref mode specialization optimization 2848- nir/opt_deref: Add an optimization for deref_mode_is 2849- nir/lower_io: Add a mode parameter to build_addr_iadd 2850- nir/lower_io: Add a mode parameter to addr_format_is\_\* 2851- nir/lower_io: Add support for 32/64bit_global for shared 2852- nir/lower_io: Add support for lowering deref_mode_is 2853- nir/lower_io: Support generic pointer access 2854- nir/lower_io: Add a new 62bit_generic address format 2855- nir/opt_intrinsics: Report progress for the gl_SampleMask optimization 2856- nir/constant_folding: Use a switch in try_fold_intrinsic 2857- nir/constant_folding: Use the standard variable naming convention 2858- nir: Move constant folding of vote to opt_constant_folding 2859- nir/constant_folding: Fold subgroup shuffle intrinsics 2860- nir/opt_intrinsics: Refactor a bit 2861- nir/opt_intrinsic: Optimize bcsel(b, shuffle(x, i), shuffle(x, j)) 2862- nir/find_array_copies: Don't assume all children exist 2863- nir/deref: Fix a typo 2864- spirv: Add basic plumbing for ray-tracing capabilities 2865- spirv: Remove a redundant vtn_fail_if 2866- spirv: Add a guard for OpTypeForwardPointer storage classes 2867- spirv: Pass the deref type to storage_class_to_mode for non-forward pointers 2868- spirv: Add support for OpTypeAccelerationStructureKHR 2869- spirv,nir: Add support for ray-tracing built-ins 2870- nir/builder: Add a select_from_ssa_def_array helper 2871- nir: Add intrinsics for object to/from world RT sysvals 2872- nir: Add new variable modes for ray-tracing 2873- spirv: Implement the new ray-tracing storage classes 2874- nir,spirv: Add support for the ShaderCallKHR scope 2875- spirv,nir: Add ray-tracing intrinsics 2876- nir: Handle ray-tracing intrinsics and storage classes in copy-prop etc. 2877- spirv: Update headers and metadata from latest Khronos commit 2878- nir: Print formats on image intrinsics as text 2879- nir: Validate image atomic formats 2880- util,gallium: Add new 64-bit integer formats 2881- compiler/types: Add 64-bit image types 2882- nir: Allow 64-bit image atomics 2883- spirv: Add support for SPV_EXT_shader_image_atomic_int64 2884- nir/lower_bit_size: Don't cast comparison results 2885- nir/lower_bit_size: Pass a nir_instr to the callback 2886- nir/lower_bit_size: Add support for lowering subgroup ops 2887- intel/nir: Refactor lower_bit_size_callback 2888- intel/nir: Lower 8-bit scan/reduce ops to 16-bit 2889- intel/nir: Lower 8-bit ops to 16-bit in NIR on Gen11+ 2890- intel/fs: Fix use of undefined value in fixup_nomask_control_flow 2891- spirv: Call repair SSA for OpTerminateInvocation 2892 2893Jesse Natalie (61): 2894 2895- nir: nir_range_analysis needs to be updated for vec16 2896- u_debug_stack_test: Fix MSVC compiling by using ATTRIBUTE_NOINLINE 2897- util/macros: Add ATTRIBUTE_NOINLINE definition for MSVC 2898- glsl: Add 'bare' shadow sampler type 2899- nir: Fix serialize/deserialize of void samplers/images 2900- nir: Optimize mask+downcast to just downcast 2901- nir: Add nir_address_format_32bit_offset_as_64bit 2902- nir: Add nir_address_format_32bit_index_offset_pack64 2903- nir/vtn: CL SPIR-V callers should specify address modes 2904- mesa: Move ATTRIBUTE_NOINLINE for glsl_to_tgsi_visitor::visit_expression for MSVC 2905- nir: Add fisnormal op 2906- nir/vtn: Support SpvOpIsNormal via fisnormal 2907- nir: Add fisfinite op 2908- nir/vtn: Support SpvOpIsFinite via fisfinite 2909- nir/vtn: Handle LessOrGreater deprecated opcode 2910- nir/vtn: Support OpOrdered and OpUnordered opcodes 2911- nir/glsl: Add glsl_get_cl_type_size_align helper 2912- nir: Use 'unsigned' instead of enum types in nir_variable::data 2913- wgl: Switch to Win10 version defines to enable usage of Win10 WGL callbacks 2914- nir: Populate some places where existing system values were missing 2915- nir: Add new system values and intrinsics for dealing with CL work offsets 2916- nir: Move compute system value lowering to a separate pass 2917- nir: Add options to nir_lower_compute_system_values to control compute ID base lowering 2918- spirv: Use new global invocation offset system value 2919- nir: Add a lowering pass to split 64bit phis 2920- nir: Relax opt_if logic to prevent re-merging 64bit phis for loop headers 2921- nir_lower_bit_size: Support lowering ops with differing source/dest sizes 2922- nir: Implement mul_high lowering for bit sizes other than 32 2923- nir: Remove 32bit restriction for uadd_carry optimization 2924- nir: Add bit_count to lower_int64 pass 2925- nir/vtn: SPIR-V bit count opcodes (core and extension) dest size mismatches nir 2926- clover/nir/spirv: Use uniform rather than shader_in for kernel inputs 2927- nir/vtn: Add type constant to image intrinsics 2928- nir/vtn: Add support for kernel images to SPIRV-to-NIR. 2929- nir/vtn: Use return type rather than image type for tex ops 2930- nir/vtn: Handle integer sampling coordinates 2931- nir/vtn: ImageSizeLod op can be applied to images 2932- nir/vtn: Add intrinsics for CL image format/order queries 2933- nir/vtn: Convert constant samplers to variables with data 2934- nir_dominance: Use uint32_t instead of int16_t for dominance counters 2935- nir: More NIR_MAX_VEC_COMPONENTS fixes 2936- spirv: Handle OpTypeOpaque 2937- glsl_type: Add packed to structure type comparison for hash map 2938- nir_lower_system_values: Fix load_global_invocation_id to use base_work_group_id even with no base_global id 2939- nir: Add an internal flag to shader_info 2940- nir: Add glsl_base_type unsigned -\> signed version helper 2941- nir/vtn: Add handling for SPIR-V event variables 2942- vtn/opencl: Rework type handling for CL extension opcodes 2943- vtn/opencl: Add infrastructure for calling out to libclc 2944- vtn/opencl: Implement a lot of opcodes via libclc 2945- vtn/opencl: Rework handle_instr to be able to handle core SPIR-V opcodes via libclc 2946- vtn/opencl: Hook up OpenCL async copy and group wait opcodes via libclc 2947- vtn/opencl: Switch non-native trig to use libclc 2948- vtn/opencl: Switch exp/pow/log to use libclc 2949- vtn/opencl: Switch division-related ops to use libclc 2950- vtn/opencl: Switch some nir-sequence ops to use libclc 2951- vtn/opencl: Only use libclc ldexp when lower_ldexp is set 2952- vtn/opencl: Switch fma to conditionally use libclc for 32bit floats 2953- spirv: Implement vload[a]_half[n\] and vstore[a]_half[n][_r\] 2954- util: Move xxd.py to util 2955- util: Make xxd.py output char array instead of string 2956 2957John Bates (1): 2958 2959- disk_cache: build option for disabled-by-default 2960 2961Jonathan Gray (13): 2962 2963- util: unbreak endian detection on OpenBSD 2964- util/anon_file: add OpenBSD shm_mkstemp() path 2965- meson: build with \_ISOC11_SOURCE on OpenBSD 2966- meson: don't build with USE_ELF_TLS on OpenBSD 2967- meson: conditionally include -ldl in gbm pkg-config file 2968- util: futex fixes for OpenBSD 2969- util/u_thread: include pthread_np.h if found 2970- anv: use os_get_total_physical_memory() 2971- util/os_misc: add os_get_available_system_memory() 2972- anv: use os_get_available_system_memory() 2973- util/os_misc: os_get_available_system_memory() for OpenBSD 2974- radv: remove seccomp includes 2975- vulkan: make VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT conditional 2976 2977Jonathan Marek (57): 2978 2979- panfrost: add missing dependency on midgard_pack.h 2980- util/format: expose generated format packing functions through a header 2981- turnip: implement VK_EXT_custom_border_color 2982- turnip: remove dead tu_minify/typed_memcpy functions 2983- turnip: delete a blit_image TODO that has already been resolved 2984- turnip: fix CmdBlitImage with D32_SFLOAT_S8_UINT 2985- turnip: rework format_to_ifmt 2986- turnip: call packing functions directly for pack_gmem_clear_value 2987- turnip: add missing tu_bo_list_add in CmdWriteTimestamp 2988- freedreno/ir3: remove indirect input load 2989- freedreno/ir3: improve handling of aliased inputs 2990- freedreno/ir3: rework setup_{input,output} to make struct varyings work 2991- freedreno/regs: add 7nm DSI PHY/PLL regs 2992- turnip: delete tu_physical_device path field 2993- turnip: delete unused tu_image fields 2994- turnip: fix the type of tu_shader_module code field, delete unused sha1 2995- turnip: delete unused "tu_cmd_buffer_upload" 2996- turnip: remove some unnecessary regs init 2997- turnip: rework vertex buffers draw state handling 2998- turnip: device global bo list 2999- turnip: avoid heap allocations in QueueSubmit when semaphores are used 3000- freedreno/ir3: allow layer/viewport output for VS/GS/DS 3001- freedreno/ir3: add view_zero to shader key 3002- turnip: multiViewport and VK_EXT_shader_viewport_index_layer 3003- vulkan/wsi/display: add option for display fence to signal syncobj 3004- turnip: delete unused tu_fence_signal function 3005- turnip: add a fd field to tu_device 3006- turnip: require syncobj support 3007- turnip: rework fences to use syncobjs 3008- radv: fix incorrect ResetFences path for WSI fence 3009- radv: use syncobj for wsi fence 3010- turnip: fix wrong indentation in tu6_draw_common 3011- turnip: move A6XX_RB_ALPHA_CONTROL write to init_hw 3012- turnip: implement VK_EXT_extended_dynamic_state 3013- turnip: remove unused cmd_buffer/device arguments in descriptor sets 3014- turnip: delete unused/broken pipeline layout hashing code 3015- turnip: initial implementation of VK_KHR_push_descriptor 3016- turnip: clean up tu_device_memory 3017- turnip: always create permanent syncobj for semaphore 3018- turnip: set MSM_SUBMIT_SYNCOBJ_RESET for submit pWaitSemaphores 3019- turnip: semaphores simplification (only syncobj semaphores supported) 3020- turnip: rework GetSemaphoreFdKHR 3021- turnip: rework ImportSemaphoreFdKHR 3022- turnip: remove remaining uses of drmSyncobj helpers 3023- turnip: share code between semaphores/fences + fence import/export 3024- turnip: signal fence and semaphore in AcquireNextImage2KHR 3025- turnip: implement legacy API functions separately 3026- freedreno/cffdec: fix decoding of bindless descriptors 3027- turnip: remove pre-emption marker 3028- turnip: implement timestamp fences/semaphores for kgsl backend 3029- turnip: rework android gralloc path so it doesn't call tu_image_create 3030- turnip: don't implement CreateImage as two separate functions 3031- turnip: LAYOUT_PREINITIALIZED is not different for optimal tiling 3032- turnip: remove useless tu_image asserts 3033- turnip: remove unnecessary/redundant tu_image fields 3034- turnip: don't always fallback to linear for mutable formats 3035- turnip: enable VK_EXT_image_drm_format_modifier 3036 3037Jordan Justen (4): 3038 3039- anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+ 3040- anv: Drop warning about gen12 not being supported 3041- intel/dev: Add device info for ADL-S 3042- intel/mi_builder: Support gen11 command-streamer based register offsets 3043 3044Jose Maria Casanova Crespo (7): 3045 3046- vc4: Avoid negative scissor caused by no intersection 3047- nir/algebraic: optimize iand/ior of (n)eq zero when umax/umin not available 3048- vc4: Enable lower_umax and lower_umin 3049- vc4: enable lower_isign for VC4 3050- vc4: Add missing load_ubo set_align in yuv_blit fs. 3051- vc4: Add missing range_base/range at nir_load_ubos in yuv_blit fs. 3052- vc4: Enable nir_lower_io for uniforms 3053 3054Joshua Ashton (1): 3055 3056- zink: Fix 32-bit compilation 3057 3058Juan A. Suarez Romero (7): 3059 3060- intel: split driver/device UUID generators 3061- iris: plumb device/driver UUID generators 3062- intel/uuid: use git-sha1/package for the driver UUID 3063- st/mesa: initialize lower alpha func to ALWAYS 3064- v3d/compiler: extend swapping R/B support to all vertex attributes 3065- v3dv: mark the right bit to swap R/B vertex attributes 3066- v3d: Add GL_ARB_vertex_array_bgra support 3067 3068Julian Winkler (1): 3069 3070- nir: Add a structurizer 3071 3072Karol Herbst (48): 3073 3074- util/set: add \_mesa_set_intersects 3075- spirv: rename vtn_emit_cf_list to vtn_emit_cf_list_structured 3076- nir: Add a structured flag to nir_shader 3077- nir: Add goto_if jump instruction 3078- spirv: extract switch parsing into its own function 3079- spirv: parse unstructured CFG 3080- clover/nir: fix mem_shared by using address_format_32bit_offset 3081- nv50/ir/nir: fix smem size 3082- nv50/ir/nir: rework indirect function_temp handling 3083- clover/nir: Call vars_to_explicit_types for shared memory 3084- nve4: fix uploading unaligned sized input buffers 3085- nv50/ir/nir: assert on unknown alu ops 3086- clover/nir: support int64 atomics if the device supports it 3087- nv50/ir/nir: fix global_atomic_comp_swap 3088- nvc0: handle nr being 0 in nvc0_set_global_bindings 3089- nv50/ir/nir: support load_work_dim 3090- clover/spirv: rework handling of spirv extensions 3091- clover/spirv: pass list of supported extensions to the translator 3092- nir: rename nir_op_fne to nir_op_fneu 3093- nir: fix nir_variable_create for kernels 3094- clover/nir: add support for global invocation id offsets 3095- nv50/ir: remove symbol table support for compute shaders 3096- nv50/ir: add nv50_ir_prog_info_out 3097- nir: use nir_var_all to get rid of casting 3098- util: add helpers to define bitwise operators on enums for C++ 3099- nir: use enum operator helper for nir_variable_mode and nir_metadata 3100- clover/nir: Lower function_temp to scratch. 3101- nv50/ir: fix cas lowering for 64 bit 3102- clover/nir: use offset for temp memory 3103- clover/llvm: undefine \__IMAGE_SUPPORT_\_ for devices without image support 3104- nvc0/ir: fix load propagation for sub 4 byte addressing 3105- spirv: fix 64 bit atomic inc and dec 3106- nvc0/cl: hande 64 bit pointers in nvc0_set_global_handle 3107- clover/spirv: fix vec3 alignment 3108- nir/serialize: fix serialization of system values 3109- clover/util: add id_type_equals to support symbols with multiple sections 3110- clover: bind constant buffer if one is provided 3111- clover/nir: extract constant buffer into its own section 3112- clover/spirv: parse arg_info 3113- clover/spirv: support CL_KERNEL_COMPILE_WORK_GROUP_SIZE 3114- clover: use pipe_image_view for images instead of set_compute_resources 3115- clover: support custom driver strides 3116- clover/device: use PIPE_MAX_SHADER_SAMPLER_VIEWS for max_images_read 3117- clover/nir: set kernel_image cap 3118- nouveau: hide SVM support behing a variable for now as kernel space is broken 3119- nvc0/CL: enable images 3120- llvmpipe: enable CL images 3121- nv50/ir/nir: don't use designated initializers 3122 3123Kenneth Graunke (15): 3124 3125- iris: Fix headerless sampler messages in compute shaders with preemption 3126- nir: Copy semantics to nir_intrinsic_load_fs_input_interp_deltas 3127- nir: Move new edgeflag assert into the io_lowered case 3128- iris: Reorder the loops in iris_fence_await() for clarity. 3129- iris: Drop stale syncobj references in fence_server_sync 3130- Revert "nir: replace lower_ffma and fuse_ffma with has_ffma" 3131- intel/compiler, anv: Delete cs_prog_data->slm_size 3132- iris: Fix doubling of shared local memory (SLM) sizes. 3133- anv: Set only one ISL usage bit (RT/texture) for CopyBuffer sources 3134- isl, anv, iris: Add a centralized helper to select MOCS based on usage 3135- isl: Enable Tigerlake HDC:L1 caches via MOCS in various cases. 3136- iris: fix source/destination layers for 3D blits 3137- iris: Move blit scissoring earlier. 3138- intel/fs: Fix sampler message headers on Gen11+ when using scratch 3139- nir/algebraic: Avoid creating new fp64 ops when using softfp64 3140 3141Khem Raj (1): 3142 3143- vc4: use intmax_t for formatted output of timespec members 3144 3145Kristian Høgsberg (12): 3146 3147- egl/android: Call createImageFromDmaBufs directly 3148- egl/android: Look up prime fds in droid_create_image_from_prime_fds() 3149- egl/android: Drop unused ctx argument 3150- egl/android: Simplify droid_create_image_from_name() path 3151- egl/android: Move droid_create_image_from_prime_fds() function up 3152- egl/android: Use droid_create_image_from_prime_fds() in get_back_bo() 3153- egl/android: Add support for CrOS buffer info perform op 3154- turnip: Add kgsl backend 3155- util/formats: Add PIPE_FORMAT_R8_G8B8_420_UNORM 3156- st/mesa: Add NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM 3157- freedreno/a6xx: Generalize pointers in struct fd6_pipe_sampler_view 3158- freedreno/a6xx: Support PIPE_FORMAT_R8_G8B8_420_UNORM for texturing 3159 3160Krunal Patel (2): 3161 3162- gallium/auxiliary/vl: Odd Dimensions are failing 3163- radeon/vcn: Bitrate not updated when changing framerate 3164 3165Leo Liu (2): 3166 3167- frontends/omx/dec: Use the known codec profile when allocating buffers 3168- frontends/omx/h265: Check the pps set before the scaling data 3169 3170Lepton Wu (1): 3171 3172- util/ralloc: fix ralloc alignment. 3173 3174Lionel Landwerlin (36): 3175 3176- anv: fix incorrect realloc failure handling 3177- intel/dump_gpu: only write BOs mapped by the driver 3178- intel/dump_gpu: further track mapping of BOs 3179- intel/dump_gpu: set default device_override 3180- intel/dump_gpu: add an only-capture option 3181- intel/dump_gpu: only map in GTT buffers not previously mapped 3182- anv: track the current frame and write it into the driver identifier BO 3183- intel/dump_gpu: fix --platform option 3184- intel/dump_gpu: add an option to capture a single frame 3185- anv: centralize vk to gen arrays 3186- anv: fix up dynamic clip emission 3187- anv: don't fail userspace relocation with perf queries 3188- intel/perf: store query symbol name 3189- intel/perf: fix raw query kernel metric selection 3190- anv: fix transform feedback surface size 3191- anv: move push constant allocation tracking into gfx pipeline state 3192- anv: simplify push constant emissions 3193- anv: VK_INTEL_performance_query interaction with VK_EXT_private_data 3194- anv: fix robust buffer access 3195- include/drm-uapi: bump headers 3196- anv: add new gem/drm helpers 3197- anv: implement shareable timeline semaphores 3198- intel/genxml: make sure test assert are compiled in 3199- intel/compiler: fixup Gen12 workaround for array sizes 3200- vulkan: bump headers/registry to 1.2.154 3201- anv: implement VK_KHR_copy_commands2 3202- intel/perf: fix crash when no perf queries are supported 3203- intel/dev: add a small non installable tool to print device info 3204- intel/dev: fix 32bit build issue 3205- genxml: drop gen10 3206- blorp: identify copy kernels in NIR 3207- blorp: allow blits with floating point source layers 3208- anv: fix source/destination layers for 3D blits 3209- anv: report latest extension spec versions 3210- intel/dev: Bump Max EU per subslice/dualsubslice 3211- anv: fix descriptor pool leak in VMA object 3212 3213Louis Li (1): 3214 3215- radeon/radeon_vce: fix out of target bitrate in CBR mode (H.264) 3216 3217Louis-Francis Ratté-Boulianne (6): 3218 3219- st/mesa: factor ucp-lowering logic into helper 3220- st/mesa: Enable clip planes lowering for geometry shaders 3221- pipebuffer: Remove unused buffer event in slab bufmgr 3222- st/mesa: Replace UsesStreams by ActiveStreamMask for GS 3223- glsl/linker: Add support for XFB varying lowering in geometry shader 3224- gallium: Fix NIR validation when lowering polygon stipple 3225 3226Lucas Stach (19): 3227 3228- etnaviv: stop leaking the dummy texure descriptor BO 3229- gallium/dri: allow create image for formats that only support SV or RT binding 3230- etnaviv: drm: fix BO refcount race 3231- etnaviv: blt: properly program surface TS offset for clears 3232- etnaviv: update headers from rnndb 3233- etnaviv: tex_desc: fix TS compression enable 3234- etnaviv: cosmetic etna_resource_alloc fixes 3235- etnaviv: do proper cpu prep/fini when clearing allocated buffer 3236- etnaviv: simplify etna_screen_bo_from_handle 3237- etnaviv: pass correct layout to etna_resource_alloc for scanout resources 3238- etnaviv: don't import allocated scanout resources via from_handle 3239- Revert "gallium/dri: fix dri2_from_planar for multiplanar images" 3240- etnaviv: emit RA_EARLY_DEPTH on dirty ZSA 3241- etnaviv: flush depth cache when changing depth config 3242- etnaviv: update headers from rnndb 3243- etnaviv: expose shader discard usage in etna_shader_variant 3244- etnaviv: rework ZSA into a derived state 3245- gallium: document convention for get_handle calls on multi-planar resources 3246- etnaviv: fix disabling of INT filter for real 3247 3248Lukas F. Hartmann (1): 3249 3250- etnaviv: Fix disabling early-z rejection on GC7000L (HALTI5) 3251 3252Marcin Ślusarz (50): 3253 3254- intel/perf: fix calculation of used counter space 3255- intel/perf: fix how pipeline stats are stored 3256- intel/perf: streamline error handling in read_oa_samples_until 3257- intel/perf: fix performance counters availability after glFinish 3258- intel/perf: split load_oa_metrics 3259- intel/perf: export performance counters sorted by \[group|set\] and name 3260- glsl: fix crashes on out of bound matrix access using constant index 3261- gitlab: ask for more detailed info about GPU 3262- mesa: fix formatting of messages printed using \_mesa_log 3263- anv: refresh cached current batch bo after emitting some commands 3264- iris: handle os_dupfd_cloexec failure 3265- iris: verify color component width in convert_fast_clear_color 3266- i965: verify format width in blorp_get_client_bo 3267- intel/perf: don't generate logically dead code 3268- intel/compiler/test: use TEST_DEBUG env var consistently 3269- intel/compiler: mark debug constant as const 3270- intel/fs,vec4: remove unused assignments 3271- intel: add INTEL_DEBUG=shaders 3272- intel/fs: add hint how to get more info when shader validation fails 3273- intel/compiler: match brw_compile\_\* declarations with their definitions 3274- intel/compiler: use the same name for nir shaders in brw_compile\_\* functions 3275- intel/compiler: move extern C functions out of namespace brw 3276- intel/compiler: print dispatch width when shader fails to compile 3277- intel/compiler: fix typo in a comment 3278- anv: fix minor gen_ioctl(I915_PERF_IOCTL_CONFIG) error handling issue 3279- intel/compiler: remove unused fs_validator::param_size 3280- intel/compiler: initialize remaining fields of various classes 3281- intel/tools: fix possible memory leak in the error path 3282- intel/tools: handle ftell errors 3283- intel/compiler: quiet Coverity warnings 3284- intel/tools: fix possible randomly increased verbosity of error2aub 3285- intel: add INTEL_DEBUG expected value in declaration 3286- iris: drop likely/unlikely around INTEL_DEBUG 3287- i965: drop likely/unlikely around INTEL_DEBUG 3288- anv: drop likely/unlikely around INTEL_DEBUG 3289- intel: drop likely/unlikely around INTEL_DEBUG 3290- vulkan/wsi: fix possible random stalls in wsi_display_wait_for_event 3291- intel/tools: fix invalid type in argument to printf 3292- intel/genxml: don't generate identical code for different branches 3293- anv: always annotate memory returned from anv_gem_mmap 3294- intel: remove dead code 3295- i965: remove prototypes of not-existing functions 3296- intel/compiler: use C++ template instead of preprocessor 3297- intel/compiler: remove branch weight heuristic 3298- intel/tools: allow --color option to be used without arg 3299- anv: remove dead code from anv_create_cmd_buffer 3300- intel/tools: handle some failures 3301- intel/tools: refactor logging to be easier to follow by static analyzers 3302- intel/tools: add missing new lines to few remaining fail_if users 3303- nir: handle float atomics in copy propagation pass 3304 3305Marek Olšák (278): 3306 3307- radeonsi: enable ETC2 hw acceleration on Raven2 3308- ac/gpu_info: set num_tiles_pipes on gfx10+ too 3309- Revert "radeonsi: honor a user-specified pitch on gfx10.3" 3310- radeonsi: use correct wave size in gfx10_ngg_calculate_subgroup_info 3311- radeonsi: use the same units for esgs_ring_size and ngg_emit_size 3312- radeonsi: increase minimum NGG vertex count requirement per workgroup on gfx 10.3 3313- radeonsi: fix applying the NGG minimum vertex count requirement 3314- radeonsi: don't count unusable vertices to the NGG LDS size 3315- radeonsi: add a common function for getting the size of gs_ngg_scratch 3316- radeonsi: remove the NGG hack decreasing LDS usage to deal with overflows 3317- radeonsi: various fixes for gfx10.3 3318- radeonsi: disable NGG culling on gfx10.3 because of hangs 3319- radeonsi: fix compute-based culling with VERTEX_COUNTER_GDS_MODE == 1 3320- compiler: add glsl_print_type 3321- nir: remove nir_strip stub declaration 3322- nir: handle load_input_vertex in nir_get_io_offset_src 3323- nir: save IO semantics in lowered IO intrinsics 3324- nir: gather all IO info from IO intrinsics 3325- nir: update IO semantics in nir_io_add_const_offset_to_base 3326- nir: print IO semantics (v2) 3327- nir: properly identify texcoords for lowered IO in nir_lower_drawpixels 3328- nir: add shader_info::io_lowered 3329- nir: add interpolation qualifiers for color sysvals into shader_info 3330- nir: generate lowered IO in nir_lower_passthrough_edgeflags 3331- st/mesa: don't pass NIR to draw module if IO is lowered 3332- st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred 3333- st/mesa: handle lowered IO in st_nir_assign_vs_in_locations 3334- gallium/tgsi: add helper tgsi_get_interp_mode 3335- radeonsi: fix tess levels coming as scalar arrays from SPIR-V 3336- st/mesa: remove useless code for lowered IO in st_nir_assign_vs_in_locations 3337- gallivm: fix build on LLVM 12 due to LLVMAddConstantPropagationPass removal 3338- amd/registers: expose the canonicalize.py program as a function 3339- amd/registers: sort registers by offset in json 3340- amd/registers: add a script that generates json from kernel headers 3341- amd/registers: add non-gfx10 register files generated from kernel headers 3342- amd/registers: switch to new generated register definitions 3343- nir: fix a bug in is_dual_slot in nir_io_add_const_offset_to_base 3344- st/mesa: fix lowered IO - don't call st_nir_assign_vs_in_locations twice 3345- radeonsi: don't crash if input_usage_mask is 0 for a VS input 3346- radeonsi: get color interpolation info from shader_info 3347- radeonsi: clean up code for loading VS inputs 3348- ac/nir: handle all lowered IO intrinsics 3349- radeonsi: lower IO intrinsics - complete rewrite of input/output scanning 3350- radeonsi: remove in/out/uniform variables from NIR after lowering IO 3351- radeonsi: don't lower indirect IO in GLSL 3352- radeonsi: don't execute LDS stores for TCS outputs that are never read 3353- radeonsi: simplify handling color interp modes in si_emit_spi_map 3354- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_selector::type) 3355- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_context::type) 3356- radeonsi: change PIPE_SHADER to MESA_SHADER (debug flags) 3357- radeonsi: change PIPE_SHADER to MESA_SHADER (si_compile_llvm) 3358- radeonsi: change PIPE_SHADER to MESA_SHADER (si_get_shader_part) 3359- radeonsi: remove unused si_shader_context::type 3360- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_dump_disassembly) 3361- radeonsi: precompute si_*_descriptors_idx in si_shader_selector 3362- radeonsi: change PIPE_SHADER to MESA_SHADER (si_dump_descriptors) 3363- radeonsi: remove si_shader_selector::type 3364- compiler: add INTERP_MODE_COLOR for radeonsi 3365- radeonsi: replace TGSI_INTERPOLATE with INTERP_MODE 3366- radeonsi: replace TGSI_SEMANTIC with VARYING_SLOT and FRAG_RESULT 3367- radeonsi: optimize out the loop in si_get_ps_input_cntl 3368- ac/llvm: fix unaligned VS input loads on gfx10.3 3369- nir: get ffma support from NIR options for nir_lower_flrp 3370- nir/algebraic: trivially enable existing 32-bit patterns for all bit sizes 3371- nir/algebraic: add 16-bit versions of a few 32-bit patterns 3372- glsl_to_nir: fix crashes with int16 shifts 3373- radeonsi: remove redundant no-signed-zero-fp-math LLVM attribute 3374- radeonsi: move nir_shader_compiler_options into si_screen 3375- Revert "ac: generate FMA for inexact instructions for radeonsi" 3376- ac/llvm: remove stub prototype for fmed3 3377- ac/llvm: fix amdgcn.rcp for v2f16 3378- ac/llvm: fix amdgcn.fract for v2f16 3379- ac/llvm: fix amdgcn.rsq for v2f16 3380- ac/llvm: fix bcsel for v2*16 3381- ac/llvm: remove dead code handling for fmod 3382- ac/llvm: add better code for isign 3383- ac/llvm: add better code for fsign 3384- ac/llvm: fix b2f for v2f16 3385- radeonsi: stop using TGSI_PROPERTY_NEXT_SHADER 3386- radeonsi: stop using TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION / VS_BLIT_SGPRS_AMD 3387- radeonsi: stop using TGSI_PROPERTY_TCS_VERTICES_OUT 3388- radeonsi: stop using TGSI_PROPERTY_TES_POINT_MODE / TES_PRIM_MODE 3389- radeonsi: stop using TGSI_PROPERTY_TES_SPACING 3390- radeonsi: stop using TGSI_PROPERTY_TES_VERTEX_ORDER_CW 3391- radeonsi: stop using TGSI_PROPERTY_GS\_\* 3392- radeonsi: stop using TGSI_PROPERTY_CS\_\* 3393- radeonsi: stop using TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL 3394- radeonsi: stop using TGSI_PROPERTY_FS_POST_DEPTH_COVERAGE 3395- radeonsi: stop using TGSI_PROPERTY_FS_COORD_PIXEL_CENTER 3396- radeonsi: stop using TGSI_PROPERTY_FS_DEPTH_LAYOUT 3397- radeonsi: stop using TGSI_PROPERTY_CS_LOCAL_SIZE 3398- radeonsi: stop using TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS 3399- radeonsi: remove info::samplers_declared, image_buffers, msaa_images_declared 3400- radeonsi: remove redundant si_shader_info::shader_buffers_declared 3401- radeonsi: remove redundant si_shader_info::images_declared 3402- radeonsi: remove redundant si_shader_info::const_buffers_declared 3403- radeonsi: remove redundant si_shader_info:\*(clip|cull)\* fields 3404- radeonsi: remove unused si_shader_info::uses_(vertexid|basevertex) 3405- radeonsi: merge uses_persp_opcode_interp_sample/uses_linear_opcode_interp_sample 3406- radeonsi: remove redundant si_shader_info::uses_kill 3407- radeonsi: reduce type sizes in si_shader_selector 3408- radeonsi: rename num_memory_instructions -\> num_memory_stores 3409- radeonsi: remove redundant si_shader_info::writes_memory 3410- radeonsi: remove redundant GS variables in si_shader_selector 3411- radeonsi: remove redundant si_shader_selector::max_gs_stream 3412- radeonsi: remove redundant si_shader_info::uses_derivatives 3413- radeonsi: use shader_info::cs::local_size_variable to clean up some code 3414- radeonsi: deduplicate setting key.mono.u.vs_export_prim_id 3415- radeonsi: kill point size VS output if it's not used by the rasterizer 3416- radeonsi: set outputs_written_before_ps for geometry shaders too 3417- radeonsi: eliminate unused shader outputs for separate NGG geometry shaders 3418- radeonsi: remove swizzle == ~0 dead code in si_llvm_load_input_gs 3419- ac,radeonsi: lower 64-bit IO to 32 bits and remove all dead code 3420- radeonsi: inline trivial PS functions 3421- nir: add mediump flag to IO semantics 3422- nir: fix lower_mediump_outputs to not require variables 3423- nir/algebraic: add flrp patterns for 16 and 64 bits 3424- nir/algebraic: expand existing 32-bit patterns to all bit sizes using loops 3425- nir: remove redundant opcode u2ump 3426- nir: enforce 32-bit src type requirement for f2fmp and i2imp 3427- nir: add new mediump opcodes f2[ui]mp, i2fmp, u2fmp 3428- nir/algebraic: collapse conversion opcodes (many patterns) 3429- nir/algebraic: add late optimizations that optimize out mediump conversions (v3) 3430- nir/opt_vectorize: don't lose exact and no_*_wrap flags 3431- st/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64 3432- nir,radeonsi: move ffma fusing to late optimizations for better codegen 3433- radeonsi: clean up ffma handling 3434- Revert "radeonsi: set BIG_PAGE fields on gfx10.3" 3435- Revert "radeonsi: move L2_CACHE_CONTROL registers into si_emit_framebuffer_state" 3436- radeonsi: don't lower pack for better 16-bit vectorization 3437- radeonsi: set flags for FP16 in shaders 3438- radeonsi: implement 16-bit FS color outputs 3439- radeonsi: vectorize IO for better ALU vectorization 3440- radeonsi: don't scalarize 16-bit vec2 ALU opcodes 3441- radeonsi: add 16-bit ALU vectorization 3442- gallium: rename PIPE_TRANSFER\_\* -\> PIPE_MAP\_\* 3443- gallium: rename pipe_transfer_usage -\> pipe_map_flags 3444- gallium: rename transfer flags -\> map flags in comments 3445- radeon: rename RADEON_TRANSFER\_\* -\> RADEON_MAP\_\* 3446- radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it 3447- radeonsi: move debug options from si_disk_cache_create to si_get_ir_cache_key 3448- radeonsi: remove KILL_PS_INF_INTERP/CLAMP_DIV_BY_ZERO, use screen::options 3449- amd: add Dimgrey Cavefish support 3450- amd: add VanGogh support 3451- radeonsi: set KEEP_TOGETHER_ENABLE if needed 3452- radeonsi: move binning parameters into si_screen 3453- radeonsi: break a binning batch on a new PS if bins can use multiple state sets 3454- radeonsi: add a tweak for PS wave CU utilization for gfx10.3 3455- nir: split fuse_ffma into fuse_ffma16/32/64 3456- nir: split lower_ffma into lower_ffma16/32/64 3457- radeonsi: fuse or lower ffma optimally on all chips 3458- nir: replace lower_ffma and fuse_ffma with has_ffma 3459- radeonsi: use optimal order of operations when setting up a compute dispatch 3460- radeonsi: call si_upload_graphics_shader_descriptors before the big conditional 3461- radeonsi: move a displaced comment in si_draw_vbo 3462- radeonsi: don't call emit_cache_flush after uploading bindless descriptors 3463- radeonsi: reorganize the code around the gfx9 scissor bug 3464- radeonsi: move si_upload_vertex_buffer_descriptors into si_state_draw.c 3465- radeonsi: add unlikely statements into si_draw_vbo 3466- radeonsi: lift the conditional for skipping si_upload_vertex_buffer_descriptors 3467- radeonsi: always inline draw-related functions that have only one use 3468- nir: gather indirect info from lowered IO intrinsics 3469- nir: gather tess.tcs_cross_invocation info from lowered IO intrinsics 3470- nir: set system_values_read for all intrinsics 3471- nir: gather fs.uses_sample_qualifier from lowered IO 3472- nir: fix input/output info gathering for lowered IO 3473- nir: gather information about fbfetch and dual source color 3474- radeonsi: fix indirect dispatches with variable block sizes 3475- radeonsi: call nir_shader_gather_info after lowering and optimizing NIR 3476- radeonsi: use info.system_values_read 3477- radeonsi: get information about FS color outputs from shader_info directly 3478- radeonsi: get input/output usage flags from shader_info directly 3479- radeonsi: run NIR optimizations that glsl_to_nir runs but other places might not 3480- radeonsi: assume that constant load_local_group_size has been optimized out 3481- radeonsi: remove redundant variables from struct si_compute 3482- radeonsi: remove redundant info.uses_fbfetch 3483- gallivm: add support for lowered IO in vertex shaders 3484- util: implement f16c - fast half<->float conversions 3485- util: move util_half_to_float code into \_mesa_half_to_float_slow 3486- util: remove util_float_to_half and util_half_to_float wrappers 3487- gallium/util: remove redundant util_float_to_half_rtz 3488- gallium/util: remove empty file u_half.h 3489- radeonsi: Fix dead lock with aux_context_lock in si_screen_clear_buffer. 3490- radeonsi: simplify NGG culling enablement and add radeonsi_shader_culling option 3491- radeonsi: kill disabled clip distances and planes at per-channel granularity 3492- radeonsi: move si_set_active_descriptors_for_shader into si_update_common_shader_state 3493- radeonsi: use staging buffer uploads for most VRAM buffers 3494- radeonsi: call nir_lower_bool_to_int32 last because it breaks nir_opt_if 3495- radeonsi: restructure si_pipe_set_constant_buffer 3496- mesa: factor out layout parsing for glInterleavedArrays 3497- gl_marshal.py: inline print_sync_dispatch 3498- driconf: force the vendor string to NVIDIA to fix viewperf energy tests 3499- driconf: enable force_glsl_extensions_warn for viewperf 3500- st/mesa: enable GL name reuse for queries based on the driconf option 3501- util/idalloc: resize if ID is too large for reservation 3502- gallium/util: add set_frontend_noop into driver_noop and u_threaded_context 3503- radeonsi: remove dead variable postponed_kill 3504- radeonsi: implement GL_INTEL_blackhole_render 3505- gallium/u_threaded_context: don't call memcpy in tc_set_constant_buffer 3506- gallium/u_threaded_context: always flush asynchronously if requested 3507- gallium/u_threaded_context: fix use-after-free in transfer_unmap 3508- util: implement F16C using inline assembly on x86_64 3509- util: move util_half_to_float code into \_mesa_half_to_float_slow 3510- util: remove util_float_to_half and util_half_to_float wrappers 3511- gallium/util: remove redundant util_float_to_half_rtz 3512- gallium/util: remove empty file u_half.h 3513- mesa: don't use GET_DISPATCH because it doesn't work with glthread 3514- mesa: remove api_loopback to remove call indirections 3515- glthread: handle glInterleavedArrays 3516- nir/algebraic: always lower idiv to shifts if bitops are allowed 3517- util: add \_mesa_set_create_u32_keys where keys are not pointers 3518- nir: add new helper passes that lower uniforms to literals 3519- gallium: add pipe_context::set_inlinable_constants 3520- st/mesa: pass inlinable uniforms to drivers if they requested it 3521- ac/surface: fix valgrind warnings in DCC retile tile lookups 3522- winsys/amdgpu: rework the VM alignment optimizations 3523- winsys/amdgpu: apply the VM alignment optimization to the physical alignment too 3524- radeonsi: update the DMA perf test 3525- radeonsi: disable SDMA on gfx6-7 and gfx10.3 to decrease CPU overhead 3526- Revert "radeonsi/gfx10: disable vertex grouping" 3527- radeonsi: don't disable NGG culling on gfx10.3 3528- radeonsi: enable NGG culling by default on gfx10.3 dGPUs 3529- radeonsi: optimize out LDS bank conflicts in the NGG culling shader 3530- radeonsi: remove indirection when loading position at the end for NGG culling 3531- radeonsi: write VS/TES system values into LDS after culling 3532- radeonsi: pack LDS better for NGG culling 3533- radeonsi: tweak LATE_ALLOC_GS numbers for faster NGG culling 3534- radeonsi: enable NGG on Navi14 PRO cards 3535- radeonsi: enable NGG culling by default on Navi1x PRO cards 3536- ac/llvm: don't lower bool to int32, switch to native i1 bool 3537- amd: update addrlib 3538- nir: consider load_color intrinsics as both inputs and sysval in gathering 3539- Revert "st/mesa: don't pass NIR to draw module if IO is lowered" 3540- st/mesa: make sure prog->info is up to date for NIR (v2) 3541- amd: regenerate gfx103.json from kernel headers 3542- amd: correct typos in gfx10-rsrc.json 3543- amd: update gfx10-rsrc.json for gfx10.3 3544- amd: replace 0x028848 with the register definition 3545- amd: print NUM_PKRS with AMD_DEBUG=info on gfx10.3 3546- Revert "radeonsi: use staging buffer uploads for most VRAM buffers" 3547- util: remove unused util_get_L3_for_pinned_thread 3548- util: consolidate thread_get_time functions 3549- st/mesa: remove random L3 pinning heuristic for glthread 3550- util: add util_set_thread_affinity helpers including Windows support 3551- util: add util_get_current_cpu using sched_getcpu and Windows equivalent 3552- util: completely rewrite and do AMD Zen L3 cache pinning correctly 3553- glthread: pin driver threads to the same L3 as the main thread regularly 3554- radeonsi: implement inlinable uniforms 3555- gallium: move pipe_draw_info::start/count to the beginning and pad empty space 3556- gallium: add pipe_context::multi_draw 3557- winsys/amdgpu: remove incorrect assertion check against max_check_space_size 3558- radeonsi: add num_draws parameter into si_need_gfx_cs_space 3559- radeonsi don't get count from pipe_draw_info in si_num_prims_for_vertices 3560- radeonsi: don't check info->count == 0 3561- radeonsi: implement multi_draw but supporting only 1 draw 3562- radeonsi: add support for multi draws 3563- radeonsi: set NOT_EOP for back-to-back draws on gfx10+ 3564- radeonsi: implement multi_draw for compute-based primitive culling 3565- gallium/u_threaded: move a structure up to be used later 3566- gallium/u_threaded: merge consecutive draw calls within batches 3567- st/mesa: fix use-after-free when updating shader info in st_link_nir 3568- radeonsi: fix min_direct_count value 3569- radeonsi: do VGT_FLUSH when switching NGG -\> legacy on Sienna Cichlid 3570- radeonsi: only do VGT_FLUSH for fast launch if previous draw was normal launch 3571- radeonsi: determine correctly if switching from normal launch to fast launch 3572- radeonsi: add options.inline_uniforms to the shader cache key 3573- ac: fix detection of Pro graphics 3574- ac: fix min/max_good_num_cu_per_sa on gfx10.3 with disabled SEs 3575- radeonsi: fix NGG streamout regression 3576- radeonsi: fix scan_instruction for bindless inc_wrap/dec_wrap atomics 3577- nir: fix gathering TCS cross invocation access with lowered IO 3578- nir: fix gathering patch IO usage with lowered IO 3579- ac/nir: fix a typo in ac_are_tessfactors_def_in_all_invocs 3580- mesa: call FLUSH_VERTICES before changing sampler uniforms 3581- st/mesa: fix uninitialized/random clip plane state vars in lower_ucp 3582- radeonsi: fix a memory leak in si_create_dcc_retile_cs 3583- radeonsi: fix a nasty bug in si_pm4.c 3584- radeonsi: disable WGP mode on gfx10.3 to prevent hangs 3585 3586Marek Vasut (2): 3587 3588- etnaviv: Remove etna_resource_get_status() 3589- etnaviv: Add lock around pending_ctx 3590 3591Marijn Suijten (5): 3592 3593- util: Makefile.sources: Add disk_cache_os.{c,h} 3594- android: gallium/auxiliary: Deduplicate nir_to_tgsi.c inclusion 3595- scons: gallium/auxiliary: Unconditionally compile NIR regardless of LLVM 3596- android: panfrost: Move nir_undef_to_zero to util 3597- android: freedreno: Add freedreno_dev_info.[ch\] to Makefile.sources 3598 3599Mark Janes (2): 3600 3601- intel/fs: Assert if lower_source_modifiers converts 32x16 to 32x32 multiplication 3602- intel/fs: work around gen12 lower-precision source modifier limitation 3603 3604Mark Menzynski (5): 3605 3606- nv50/ir: Use a bit field in info_out structure 3607- nv50/ir: Add nv50_ir_prog_info_out serialize and deserialize 3608- nv50/ir: Add prog_info_out print 3609- nv50/ir: Add nv50_ir_prog_info serialize 3610- nvc0: Add shader disk caching 3611 3612Martin Peres (11): 3613 3614- driconf: bump the maximum string size from 25 to 1024 3615- driconf: initialize the option value before using it 3616- dri/DRI2ConfigQueryExtension: add support for string options 3617- glx/extensions: split set_glx_extension into find\_ and set\_ 3618- glx: stop using hardcoded array sizes for bitfields 3619- glx: initial plumbing to let users force-enable/disable extensions 3620- glx: let users force-enable/disable indirect GL extensions 3621- driconf: add a way to override GLX extensions 3622- driconf: add a way to override indirect-GL extensions 3623- driconf: disable GLX_OML_swap_method by default on Brink 3624- driconf: allow higher compat version for Brink 3625 3626Matt Turner (3): 3627 3628- intel/tools: Disassemble WAIT's argument as a destination 3629- Revert F16C series (MR 6774) 3630- glcpp: Handle bison-3.6 error message changes 3631 3632Mauro Rossi (28): 3633 3634- android: panfrost: Rename encoder/ to lib/ 3635- android: panfrost: Move pandecode into lib/ 3636- android: pan/mdg: Separate disassembler and compiler targets 3637- android: pan/bi: Separate disasm/compiler targets 3638- android: panfrost: Redirect cmdstream includes through GenXML 3639- android: panfrost/bifrost: add libpanfrost_lib static dependency 3640- android: panfrost: Redirect cmdstream includes through GenXML (v2) 3641- android: util/format: fix generated sources rules 3642- android: amd/registers: switch to new generated register definitions 3643- android: util: fix missing include path 3644- android: nv50/ir: Add nv50_ir_prog_info_out serialize and deserialize 3645- android: freedreno: Implement pipe screen's get_device/driver_uuid() 3646- android: freedreno/common: add libmesa_git_sha1 static dependency 3647- egl/android: HAVE_DRM_GRALLOC path fixes (v2) 3648- android: aco/isel: Move context initialization code to a dedicated file 3649- android: pan/bi: Use new disassembler 3650- android: pan/bi: Use new packing 3651- android: pan/bi: fix typo in bifrost_gen_disasm.c gen rules 3652- android: gallium/iris: cleanup iris_driinfo.h gen rules 3653- android: gallium/radeonsi: cleanup si_driinfo.h gen rules 3654- android: gallium/virgl: cleanup virgl_driinfo.h gen rules 3655- android: util: add log.c to Makefile.sources 3656- android: pan/bi: Use new disassembler (v2) 3657- android: panfrost: use python3 for generated sources rules 3658- android: util: Move xxd.py to util 3659- android: util,ac,aco,radv: Cross-platform memstream API 3660- android: fix libsync dependencies (v2) 3661- android: aco: add aco_form_hard_clauses.cpp to Makefile.sources 3662 3663Michael Olbrich (1): 3664 3665- meson.build: xxf86vm is not needed for -Dglx-direct=false 3666 3667Michael Tretter (2): 3668 3669- etnaviv: fix comment for source of etna_mesa_debug 3670- etnaviv: free tgsi tokens when shader state is deleted 3671 3672Michel Dänzer (31): 3673 3674- ci: Fix up rules for post-merge / main project branch pipelines 3675- ci: Create test-docs job in mesa/mesa pipelines for MRs 3676- ci: Don't exclude "success" job from mesa/mesa pipelines for MRs 3677- ci: Restrict "success" job to pipelines for MRs 3678- ci: Do not create manual test-docs job in post-merge pipelines 3679- ci: Remove any existing results directory before running piglit 3680- ci: Add "is scheduled pipeline" YAML anchor 3681- ci: Add "is master branch of main project" YAML anchor 3682- ci: Add "is pre-merge pipeline for Marge Bot" YAML anchor 3683- ci: Add "is post-merge pipeline, not for Marge Bot" YAML anchor 3684- ci: Add "is forked branch or pre-merge pipeline" YAML anchor 3685- ci: Add "is forked branch" YAML anchor 3686- ci: Add "is post-merge pipeline" YAML anchor 3687- ci: Add "is pre-merge pipeline" YAML anchor 3688- ci: Add "is for Marge Bot" YAML anchor 3689- ci: Always use CI_PROJECT_NAMESPACE instead of CI_PROJECT_PATH 3690- ci: Prevent pages job from running in pre-merge pipelines 3691- ci: Don't create test-docs job if the pages one exists in the pipeline 3692- ci: Use ignore_scheduled_pipelines anchor in .radeonsi-rules 3693- gallium: Make pipe_viewport_state swizzle_x/y/z/w bit-fields 8 bits wide 3694- ci: Move test-docs job to deploy stage 3695- ci: Add empty needs: to pages job 3696- ci: Add jobs running ci-fairy checks 3697- loader/dri3: Only allocate additional buffers if needed 3698- loader/dri3: Keep current number of back buffers if frame was skipped 3699- loader/dri3: Allocate up to 4 back buffers for page flips 3700- ci: Add "check mr" job to needs: of build jobs 3701- ci: Run git_archive job if all_paths matches 3702- i965/bufmgr: Handle NULL bufmgr in brw_bufmgr_get_for_fd 3703- iris/bufmgr: Handle NULL bufmgr in iris_bufmgr_get_for_fd 3704- ac: Don't negate strstr return values in ac_query_gpu_info 3705 3706Michel Zou (9): 3707 3708- swr: fix build with mingw 3709- swr: missing \_BitScanForward64 on 32 bits win 3710- swr: fix \_BitScanForward64 on unix 3711- util: drop non-posix header fnmatch 3712- lavapipe: fix usleep usage in lvp_device 3713- wsi: move drm code to wsi_common_drm.c 3714- gallium: use libpipe_loader_links 3715- lavapipe: configure suffix in icd json 3716- util: use dllexport for mingw too 3717 3718Mike Blumenkrantz (118): 3719 3720- zink: basic primitive restart support for strip/fan topologies 3721- zink: move 8bit index handling out of u_primconvert path 3722- zink: use util_draw_vbo_without_prim_restart for unsupported prim modes 3723- zink: set primitive restart cap 3724- zink: move shader state methods for pipe_context into zink_program.c 3725- zink: adjust zink_shader struct to contain full streamout info 3726- zink: refcount zink_gfx_program objects 3727- zink: split up creating zink_shader objects and VkShaderModule objects 3728- zink: use ZINK_SHADER_COUNT instead of PIPE_SHADER_TYPES - 1 everywhere 3729- zink: start using per-stage flags for new shaders, refcount shader modules 3730- zink: always compile shaders in pipeline order 3731- zink: rename zink_gfx_program::stages to 'modules' 3732- gallium: add pipe_transfer_usage for z/s only mappings 3733- gallium/u_transfer_helper: add util functions for doing deinterleaving during map 3734- zink: print error when getprocaddr fails for extension functions 3735- zink: change pipeline hashes to index based on vk primitive type 3736- zink: handle more draw modes 3737- zink: invalidate pipeline hash on more changes 3738- zink: use u_transfer_helper to split/merge interleaved depth/stencil formats 3739- zink: add note about buffer<->image copy functions not handling multisample 3740- zink: generically handle matrix types 3741- anv: improve error message when failing to open device path 3742- anv: assert that the target bo is valid when adding a reloc list 3743- zink: use correct value for color buffer sample count when creating renderpass 3744- zink: use correct number of samples on framebuffer in set_framebuffer_state 3745- zink: use correct layer count when creating framebuffer 3746- zink: clamp min created fb size to 1x1 3747- zink: verify that src and dst aspects are the same in resource_copy_region hook 3748- zink: implement ARB_instanced_arrays 3749- zink: move viewport count to zink_gfx_pipeline_state 3750- zink: set multiviewport cap in ntv when gl_ViewportIndex is a written output 3751- zink: correctly set up fb-sized scissors for each viewport 3752- zink: apply viewport count when creating pipelines 3753- zink: reorder create_stream_output_target to fix failure case leak 3754- zink: combine all surface layout-setting for src/dst into util function 3755- zink: unify all occurrences of waiting on a fence 3756- zink: correctly handle ARB_arrays_of_arrays in ntv for samplers 3757- zink: run nir_lower_uniforms_to_ubo conditionally 3758- zink: fix shader buffer size caps to use 65536 3759- zink: always emit descriptor set 0 in ntv 3760- zink: emit ubo variables sized based on the overall ubo block size 3761- zink: don't emit ubos or bindings for ubo variables 3762- zink: correctly set up ubo bindings and buffer indices 3763- zink: use sizeof(vec4) multiplier for nir_lower_uniforms_to_ubo 3764- zink: hook up driconf 3765- xmlconfig: fix scandir_filter 3766- zink: handle timestamp queries 3767- zink: handle TIME_ELAPSED queries 3768- zink: add pipe_context::get_timestamp hook 3769- zink: enable pipe caps for ARB_timer_query 3770- anv: remove VkPipelineCacheCreateInfo::flags assert 3771- radv: remove VkPipelineCacheCreateInfo::flags assert 3772- util/hash_table: add function for reserving size in a hash table 3773- zink: enable VK_KHR_vulkan_memory_model extension 3774- zink: add VK_EXT_custom_border_color 3775- zink: support VK_EXT_blend_operation_advanced 3776- zink: support VK_EXT_extended_dynamic_state 3777- zink: add VK_EXT_pipeline_creation_cache_control 3778- zink: enable VK_EXT_shader_stencil_export 3779- zink: ARB_uniform_buffer_object is now implemented, so add cap and feature doc 3780- glsl: fix up location setting for variables pointing to a UBO's base 3781- nir: update ubo locations in nir_lower_uniforms_to_ubo 3782- zink: add a mechanism to track current resource usage in batches 3783- zink: optimize transfer_map for resources with pending reads/writes 3784- zink: add more explicit fencing for transfer maps 3785- zink: explicitly flag fb attachments as being written to in render passes 3786- zink: don't leak sampler view textures 3787- zink: redo slot mapping again for the last time really I mean it 3788- zink: export PIPE_CAP_MAX*_VARYINGS values 3789- zink: unify code for emitting named uint-based variable instructions 3790- glsl: more accurately handle swizzle in 64bit varying split with no left value 3791- zink: increase descriptor pool sizes for other descriptor types we'll be using 3792- zink: implement ARB_texture_buffer_object 3793- zink: ensure resource tracking for sampler buffers in render batches 3794- zink: assert valid format in zink_create_sampler_view() 3795- zink: handle null attachment for ARB_texture_buffer_object samplers 3796- zink: add VK_BUFFER_USAGE_INDEX_BUFFER_BIT to vertex buffer creation 3797- zink: add last few format maps for ARB_vertex_type_2_10_10_10_rev 3798- zink: fix stencil wrapping 3799- zink: add some spirv_builder functions we'll be using for geometry shaders 3800- zink: handle shader io vars more generically for use with gs 3801- zink: add ntv handling for geometry shader variables 3802- zink: re-transform gl_Position for gs input 3803- zink: add handling for gs in ntv 3804- zink: remove ADJACENCY prim types from primconvert path 3805- zink: round out handling for streamout buffer stride setting during draw 3806- zink: add gallium handling for geometry shaders 3807- zink: enable gs pipe caps 3808- zink: bump to glsl 1.40 3809- zink: mark off GL 3.1 as done in features.txt 3810- zink: GLSL 1.50 3811- zink: set 3.2 complete in features.txt 3812- zink: bump GLSL to 3.30 3813- zink: set 3.3 complete in features.txt 3814- zink: implement ARB_draw_indirect 3815- zink: add helper for vec-type input variables in ntv 3816- zink: add ntv handling for ARB_sample_shading 3817- zink: add a pipe_context::get_sample_position hook 3818- zink: mark ARB_sample_shading as supported 3819- doc/features: remove zink entries for GL 3.3 items 3820- zink: deduplicate some query result code 3821- zink: more correctly handle PIPE_QUERY_PRIMITIVES_GENERATED queries 3822- zink: also create an xfb query for every primitives generated query 3823- zink: store batch id onto query object at time of start 3824- zink: fixup gs/xfb tracking for primitives generated queries 3825- zink: rework query overflow handling 3826- zink: always use query->type for starting/stopping xfb queries 3827- zink: always reset query pools on next query begin 3828- zink: add pass for lowering dynamic ubo/ssbo block indexing to constants 3829- zink: break up dynamic access lowering 3830- util/threaded_context: use driver's buffer alignment for staging transfers 3831- nir/clip_disable: write 0s instead of undefs for disabled clip planes 3832- nir/clip_disable: try for better no-op 3833- nir/clip_disable: handle 2x vec4 case 3834- zink: implement ARB_texture_query_lod 3835- zink: use same function for all pipe_context::delete_*_state shader methods 3836- zink: add a quadop function in spirv_builder 3837- zink: add some spirv builder functions for barriers 3838 3839Nanley Chery (46): 3840 3841- dri_util: Update internal_format to GL_RGB8 for MESA_FORMAT_B8G8R8X8_UNORM 3842- iris: Don't call SET_TILING for dmabuf imports 3843- iris: Make iris_bo_import_dmabuf take a modifier 3844- iris: Drop iris_resource_alloc_separate_aux 3845- iris: Drop unused resource allocation optimization 3846- iris: Drop old comment on clear color BO allocation 3847- iris: Move size/offset calculations out of configure_aux 3848- iris: Add and use iris_resource_configure_main 3849- iris: Drop buffer support in resource_from_handle 3850- gallium/dri2: Report correct YUYV and UYVY plane count 3851- iris: Fix aux assertion in resource_get_handle 3852- iris: Fold a condition into no_gpu for consistency 3853- iris: Make iris_has_color_unresolved more generic 3854- iris: Avoid resolving Z/S reads in transfer_map 3855- iris: Drop a use of the need_resolve boolean 3856- iris: Better determine map_would_stall for Z/S 3857- gallium/dri2: Report I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS num_planes 3858- gallium/dri2: Support I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS import 3859- intel/isl: Describe I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS 3860- intel/isl: Support ISL_AUX_USAGE_MC in surface states 3861- intel/isl: Add YUV format info for the aux-map 3862- st/mesa: Don't map all P01X DRM formats to P016 3863- intel/common: Add get_aux_map_format_bits() 3864- iris: Support planar resource imports for MC 3865- intel/common: Drop unused gen_aux_map_add_image 3866- iris: Support MC modifier in plane count queries 3867- iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS 3868- blorp: Fix alignment test for HIZ_CCS_WT fast-clears 3869- blorp: Drop trailing whitespace in blorp_clear.c 3870- anv/image: Disable multi-layer CCS_E on TGL+ 3871- blorp: Ensure aligned HIZ_CCS_WT partial clears 3872- iris: Fix a fast-clear skipping optimization 3873- anv: Enable multi-layer aux-map init for HIZ+CCS 3874- Revert "anv: Add driconf option to disable compression for 16bpp format" 3875- iris: Add fast-clear restriction for 8bpp surfaces 3876- isl: Allow CCS for 8bpp surfaces with 3+ miplevels 3877- st/mesa: Add missing sentinels in format_map[\] 3878- intel/isl: Drop redundant unpack of unorm channels 3879- isl: Fix the aux-map encoding for D24_UNORM_X8 3880- iris: Fix fast-clears of swizzled LA formats 3881- iris: Fix SINT assert in convert_fast_clear_color 3882- iris: Fix fast-clears of swizzled alpha formats 3883- iris: Flush dmabufs during context flushes 3884- mesa: Add and use \_mesa_has_depth_float_channel 3885- mesa: Clamp some depth values in glClearBufferfv 3886- mesa: Clamp some depth values in glClearBufferfi 3887 3888Neil Roberts (3): 3889 3890- v3d: Make the function to set tex dirty state for a stage global 3891- v3d: Split the creating of TEXTURE_SHADER_STATE into a helper function 3892- v3d: Update the TEXTURE_SHADER_STATE when there’s a new buf for a tex 3893 3894Philipp Zabel (3): 3895 3896- meson: fix power8 option 3897- gallium/dri: fix dri2_query_image for multiplanar images 3898- gallium/dri: fix dri2_from_planar for multiplanar images 3899 3900Pierre Moreau (5): 3901 3902- clover/spirv: Remove unused tuple header 3903- clover/spirv: Print linked SPIR-V module if asked 3904- meson: Raise minimum version for SPIR-V OpenCL deps (v4) 3905- clover/llvm: Use the highest supported SPIR-V version (v4) 3906- clover/nir: Register callback for translation messages (v2) 3907 3908Pierre-Eric Pelloux-Prayer (61): 3909 3910- ac/llvm: handle static/shared llvm init separately 3911- mesa/st: introduce PIPE_CAP_NO_CLIP_ON_COPY_TEX 3912- radeonsi: enable PIPE_CAP_NO_CLIP_ON_COPY_TEX 3913- ac/llvm: add option to clamp division by zero 3914- radeonsi,driconf: add clamp_div_by_zero option 3915- radeonsi: use radeonsi_clamp_div_by_zero for SPECviewperf13, Road Redemption 3916- amd/llvm: switch to 3-spaces style 3917- amd/common: switch to 3-spaces style 3918- mesa: move u_idalloc from gallium/aux/util to util 3919- util/idalloc: add util_idalloc_reserve 3920- util/idalloc: add lowest_free_idx to avoid iterating from 0 3921- mesa: add a isGenName parameter to \_mesa_HashInsert 3922- mesa: add GL name reuse support 3923- mesa: add \_mesa_HashFindFreeKeys 3924- mesa: use \_mesa_HashFindFreeKeys for GL functions 3925- driconf: add option to reuse GL names 3926- glsl: fix per_vertex_accumulator::fields size 3927- r600/uvd: set dec->bs_ptr = NULL on unmap 3928- radeon/vcn: set dec->bs_ptr = NULL on unmap 3929- radeonsi: fix quant_mode selection for large negative values 3930- radeonsi: fix guardband handling for large values 3931- mesa: fix glUniform\* when a struct contains a bindless sampler 3932- gallium: add PIPE_CAP_MAX_TEXTURE_MB 3933- radeonsi: move GL vendor workaround to drirc 3934- radeonsi: reduce PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE value 3935- radeonsi: change vendor name to AMD 3936- radeonsi: force linear for textures with height=1 (gfx6-8) 3937- radeonsi/tmz: use secure job if framebuffer has dcc 3938- radeonsi/tmz: use secure job if using an encrypted z/s buffer 3939- radeonsi/tmz: add safety assert when tmz is enabled 3940- radeonsi/tmz: allocate depth/stencil buffers as encrypted 3941- radeonsi: introduce SI_RESOURCE_FLAG_INTERNAL / RADEON_FLAG_DRIVER_INTERNAL 3942- amd: add AMDGPU_IDS_FLAGS_TMZ definition to amdgpu_drm.h 3943- ac/gpu_info: add detection of TMZ support 3944- radeonsi/tmz: allow secure job if the app made a tmz allocation 3945- amd/winsys: add RADEON_FLUSH_TOGGLE_SECURE_SUBMISSION 3946- radeonsi/tmz: fail si_texture_transfer_map if tex is encrypted 3947- radeonsi/tmz: add tmz variant of sctx::wait_mem_scratch 3948- radeonsi/tmz: add tmz variant for sctx::tess_rings 3949- radeonsi: disable primitive discard if tmz is in use 3950- radeonsi/tmz: add a tmz variant for sctx::eop_bug_scratch 3951- radeonsi/tmz: add workaround for mpv/vaapi subtitles 3952- amd/tmz: move uses_secure_bos to radeon_winsys 3953- gallium/vl: do not call transfer_unmap if transfer is NULL 3954- gallium/vl: add chroma_format arg to vl_video_buffer functions 3955- omx/tizonia: fix build 3956- gallium: add new cap PIPE_CAP_DEVICE_PROTECTED_CONTENT 3957- gallium: introduce PIPE_BIND_PROTECTED 3958- radeonsi: honor PIPE_BIND_PROTECTED 3959- egl: implement EGL_EXT_protected_surface support 3960- radeonsi: enable PIPE_CAP_DEVICE_PROTECTED_CONTENT 3961- egl: handle EGL_PROTECTED_CONTENT_EXT for eglImage 3962- dri: introduce createImageFromDmaBufs3 3963- egl/dri2: implement createImageFromDmaBufs3 3964- driconf: add disable_protected_content_check option 3965- radeonsi: fix RADEON_FLUSH flags conflicts 3966- radeon: add si_vid_create_tmz_buffer helper 3967- radeon/vcn: delay dec->ctx and dec->dpb allocation 3968- va/picture: make sure destination buffer is protected if needed 3969- va: support VA_RT_FORMAT_PROTECTED 3970- radeonsi/gfx10: flush gfx cs on ngg -\> legacy transition 3971 3972Pierre-Loup A. Griffais (2): 3973 3974- radv: fix null descriptor for dynamic buffers 3975- radv: fix vertex buffer null descriptors 3976 3977Qiang Yu (4): 3978 3979- radeonsi: fix syncobj wait timeout 3980- radeonsi: fix user fence space when MCBP is enabled 3981- radeonsi: fix max syncobj wait timeout 3982- radeonsi: fix user fence GPU address 3983 3984Rhys Perry (160): 3985 3986- aco: fix C++11/C++14 compilation 3987- aco: set constant_data_offset correctly in the case of merged shaders 3988- aco: don't move memory accesses to before control barriers 3989- nir/opt_remove_phis: optimize out phis with undef 3990- gitlab: ask inxi output to be in code blocks 3991- util: add a alignof() macro 3992- nir: fix potential left shift of a negative value 3993- nir: fix memory leak in nir_cf_list_clone 3994- radv: don't pass null to \_mesa_sha1_update 3995- radv: align pipeline cache entry and header sizes 3996- radv: fix null memcpy and zero-sized malloc 3997- aco: fix non-rtz pack_half_2x16 3998- nir: add and use nir_intrinsic_has\_ helpers 3999- aco: use nir_intrinsic_has_access 4000- bifrost: use nir_intrinsic_has_type 4001- aco: consider branch definitions in spiller 4002- aco: don't consider the first partial spill if it's the wrong type 4003- aco: don't fix break condition for break+discard to exec 4004- aco: fix regclass checks when fixing to vcc/exec with Builder 4005- aco: fix spills_entry heuristic for branch blocks in init_live_in_vars() 4006- aco: keep loop live-through variables spilled 4007- aco: reserve 2 sgprs for each branch 4008- aco: create long jumps 4009- aco/tests: add test for GFX10 0x3f bug 4010- aco: shorten disassembly for repeated instructions 4011- aco/tests: add tests for long jumps 4012- aco: remove 64-bit SGPR ubfe/ibfe 4013- aco: fix sgpr ubfe/ibfe if the offset is too large 4014- aco: sink get_alu_src() in bfe lowering 4015- spirv: fix Uniform and Output MemoryAccessMakePointer{Visible,Available} 4016- spirv: make OpLoad/OpStore visibility/availablity barriers acquire/release 4017- spirv: add vtn_emit_make_{visible,available}_barrier helpers 4018- spirv: implement MakePointerAvailable/MakePointerVisible for OpCopyMemory 4019- spirv: implement Volatile memory semantic 4020- spirv: implement Volatile image operand 4021- spirv: implement SpvMemoryAccessVolatileMask 4022- spirv: add some tests for volatile/available/visible 4023- radv: remove descriptor_indexing fails from expected fails 4024- aco: fix mad splitting after applying output modifiers 4025- aco: remove omod_success/clamp_success 4026- aco: fix byte_align_scalar for 3 dword vectors 4027- nir/load_store_vectorize: rework alignment calculation 4028- nir/opt_shrink_vectors: shrink image stores using the format 4029- aco: fix one-off error in Operand(uint16_t) 4030- aco: improve fsign selection 4031- nir/opt_if: fix opt_if_merge when destination branch has a jump 4032- nir/opt_loop_unroll: fix is_access_out_of_bounds with vectors 4033- aco: fix v_writelane_b32 with two sgprs 4034- aco: workaround disassembler bug of v_writelane_b32 with literal 4035- aco: don't apply constant to SDWA on GFX8 4036- aco: fix value numbering of reductions 4037- aco: fix validation of sub-dword parallel-copies 4038- aco: pass -fno-exceptions and -fno-rtti 4039- aco: fix incorrect assertion in emit_vop3a_instruction() 4040- radv: initialize with expanded cmask if the destination layout needs it 4041- radv,aco: fix reading primitive ID in FS after TES 4042- aco: keep track of temporaries' regclasses in the Program 4043- aco: use bit vectors for liveness sets 4044- aco: use io semantics to get an intrinsic's slot 4045- aco: use nir_get_io_offset_src() in visit_load_input() 4046- aco: use nir's constant source helpers more 4047- aco: remove dead indirect fs input loading 4048- aco: stop multiplying driver_location by 4 4049- st/nir: call nir_opt_access before gl_nir_lower_buffers 4050- radeonsi: don't use nir_opt_access 4051- nir/instr_set: hash intrinsic sources 4052- nir/load_store_vectorize: improve vectorization with identical operations 4053- aco: fix get_buffer_resource_flags() 4054- aco: remove trailing whitespace 4055- radv: remove trailing whitespace 4056- aco: Add loop creation helpers. 4057- nir: return progress from nir_lower_io_to_scalar_early 4058- radv: move optimizations in shader_compile_to_nir() to after io_to_scalar 4059- radv: use radv_optimize_nir() less in radv_link_shaders() 4060- spirv: add and use a generator id enum 4061- spirv: replace discard with demote for incorrect HLSL->SPIR-V translations 4062- radv: remove RDR2 discard workaround 4063- android: fix SPIR-V -\> NIR build 4064- aco: optimize more uniform reductions/scans 4065- aco: implement elect 4066- radv/aco,nir/lower_subgroups: don't lower elect 4067- nir: add last_invocation intrinsic 4068- aco: implement last_invocation 4069- nir: move divergence analysis options to nir_shader_compiler_options 4070- nir: allow divergence information to be updated when inserting instruction 4071- nir: add pass to optimize uniform atomics 4072- aco: use nir_opt_uniform_atomics 4073- nir/opt_uniform_atomics: optimize image atomics 4074- nir/opt_uniform_atomics: don't optimize atomics twice 4075- aco: fix get_ssbo_size with a vgpr resource 4076- scons: fix SPIR-V -\> NIR build 4077- nir/opt_uniform_atomics: remove useless returns 4078- aco: implement 16-bit literals 4079- aco: propagate literals into sub-dword pseudo instructions on GFX9+ 4080- aco: don't use v_pack_b32_f16 if 16-bit input denormals are flushed 4081- nir/opt_load_store_vectorize: don't vectorize stores across demote 4082- nir/opt_load_store_vectorize: add some tests for discard/demote behaviour 4083- aco: add missing SCC clobber in get_buffer_size 4084- ci: disable check commits job for now 4085- nir/loop_analyze: adjust force unrolling to only include interesting modes 4086- ac/nir: remove bindless image atomic format check 4087- aco: remove isel_context::allocated 4088- aco: update phi_map in add_subdword_operand() 4089- aco: don't do divergent break+discard 4090- aco: skip value numbering of copies 4091- aco: copy-propgate through p_create_vector during value numbering 4092- aco: expand vectors passed as copy operands 4093- aco: don't use bld.copy() in handle_operands() 4094- aco: allow literals on sub-dword p_parallelcopy 4095- aco: always use p_parallelcopy for pre-RA copies 4096- aco: use Builder::copy more 4097- aco: remove some unused optimizations 4098- aco: use v_mov_b32_sdwa for some 16-bit constants 4099- aco: remove all-undef phi opt 4100- aco: ignore the ACO-inserted continue in create_continue_phis() 4101- aco: default to a definition size of 32 4102- aco: round bytes_written to dwords if larger than 4 bytes 4103- aco: use control flow creation helpers in select_gs_copy_shader 4104- aco: use mubuf helper in select_gs_copy_shader 4105- aco: move individual instruction disassembly to its own helper 4106- aco: refactor repeated instruction disassembly 4107- aco: switch aco_print_asm to a FILE \\* 4108- aco: create s_clause on GFX10+ 4109- aco: assert a label only uses one of the members in ssa_info's union 4110- aco: fix printing of some sdwa sels 4111- aco: fix combine_inverse_comparison() 4112- aco: don't allow destination opsel for v_cvt_pknorm 4113- aco: handle SDWA in the optimizer 4114- docs/features: update unpromoted Vulkan extensions 4115- docs/features: add Vulkan 1.2 4116- radv: add some missing radv_{start,stop}_feedback 4117- radv: fix shader caching with discard->demote workaround 4118- radv: fix shader caching with NaN fixup workaround 4119- nir: scalarize fdot in reverse 4120- spirv: reverse order in matrix multiplication 4121- nir/algebraic: better propagate constants up fadd chains 4122- nir: add nir_alu_src_is_trivial_ssa() 4123- nir: skip bcsel with non-trivial swizzle in opt_simplify_bcsel_of_phi() 4124- nir: use nir_alu_src_is_trivial_ssa() in nir_ssa_for_alu_src() 4125- nir: add shader_info::bit_sizes_used 4126- nir/lower_bit_size: optimize upcast of b2i8/b2i16 4127- radv: move a few passes to after load/store vectorization 4128- radv: do nir_lower_bit_size after algebraic optimizations 4129- radv: rework nir_lower_bit_size callback and run DA on GFX8+ 4130- aco: implement some 16-bit arithmetic instead of lowering 4131- aco: implement 8/16-bit instructions which can be trivially widened 4132- spirv: fix GLSLstd450Modf/GLSLstd450Frexp when the destination is vector 4133- util: add mapping from Vulkan to Gallium R64 integer formats 4134- amd/common: add PIPE_FORMAT_R64_{UINT,SINT} to GFX10 format table 4135- aco: implement 64-bit images 4136- ac/nir: implement 64-bit images 4137- radv: implement VK_EXT_shader_image_atomic_int64 4138- aco: don't combine precise max(min()) to med3 4139- aco: fix combine_constant_comparison_ordering() NaN check with 16/64-bit 4140- aco: disallow various v_add_u32 opts if modifiers are used 4141- aco: disable omod if the sign of zeros should be preserved 4142- aco: fix fp16 \*0.5 omod 4143- aco: fix v_mul_hi_u32_u24 format 4144- nir/unsigned_upper_bound: fix buffer overflow in search_phi_bcsel 4145- nir: fix sampler_lod_parameters_pan indices 4146 4147Ricardo Garcia (1): 4148 4149- anv: Ignore continue flag in primary cmd buffers 4150 4151Ricardo Quesada (1): 4152 4153- anv: support fd==-1 in ImportSemaphoreFdKHR 4154 4155Rob Clark (46): 4156 4157- freedreno/registers: add some missing regs to build 4158- freedreno/ir3: don't install ir3_compiler cmdline tool 4159- freedreno/ir3: add tracking for \\# of instructions per category 4160- freedreno/ir3: add more disasm stats 4161- freedreno/crashdec: handle section name typos 4162- freedreno/decode: try harder to not crash in disasm 4163- freedreno/registers: SC_WAIT_WC is not a6xx 4164- freedreno/a6xx: only generate streamout for draw pass shader 4165- freedreno/a6xx: fix occlusion query with more than one tile 4166- freedreno/cffdump: add arg to filter by process name 4167- freedreno/a6xx: disable LRZ when color channels are masked 4168- freedreno/a6xx: refactor debug logging 4169- freedreno: add debug helper to dump buffers 4170- freedreno: handle case of shadowing current render target 4171- freedreno/gmemtool: add tile_alignw/h and a650 4172- freedreno: add env var to override GMEM size 4173- freedreno: add env var to override tiles-per-pipe 4174- freedreno/a6xx: fix hang with large render target 4175- freedreno/batch: split out helper for rb alloc 4176- freedreno/batch: replace lrz_clear with prologue 4177- freedreno/a5xx+a6xx: use sysmem path for nondraw batches 4178- freedreno/a6xx: move ubwc clear to blitter 4179- freedreno: Fix missing rsc->seqno updates 4180- freedreno: fence_server_sync() fixes 4181- freedreno: Fix rast state for multisample clear 4182- freedreno: Don't bypass fd_draw_vbo() in clear fallback 4183- freedreno/a6xx: Skip empty tile_setup 4184- freedreno/a6xx: Fix fd6_draw_vbo() return 4185- freedreno: Clear gs/tcs/tes state for clear blits 4186- freedreno/a6xx: Fix MSAA clear 4187- freedreno: fix fence-fd leak 4188- ci/deqp-runner: Allow overriding width/height/config 4189- ci: cherry-pick deqp fix for config choosing 4190- ci: Enable remaining (non-rotate) mustpass CTS tests 4191- freedreno/drm: drop bo's dev reference 4192- freedreno: Don't leak border_color_buf reference 4193- freedreno/a6xx: Small cleanup 4194- freedreno/drm: Also clean ring_cache 4195- freedreno/registers: Add a couple things used on kernel side 4196- freedreno: Don't leak LRZ bo's 4197- freedreno: Update import/export traces 4198- freedreno: Disallow tiled if SHARED and not QCOM_COMPRESSED 4199- freedreno: Rework GMEM limit init 4200- freedreno/gmem: Respect max-height limits too 4201- freedreno: Protect gmem_cache ralloc allocations 4202- freedreno/ir3: Fix crash in shader compile fail path 4203 4204Rohan Garg (3): 4205 4206- anv: Mark anv_dump_{start,finish} as PUBLIC 4207- gitlab-ci: Test the traces from bgfx 4208- virgl: Always enable emulated BGRA and swizzling unless specifically told not to 4209 4210Roland Scheidegger (1): 4211 4212- gallivm: add InstSimplify pass 4213 4214Roman Gilg (2): 4215 4216- vulkan/wsi/x11: add sent image counter 4217- vulkan/wsi/x11: wait for acquirable images in FIFO mode 4218 4219Roman Stratiienko (1): 4220 4221- android: freedreno: Another build fix 4222 4223Ruijing Dong (1): 4224 4225- frontends/omx/enc: fix omx h264 encoding force-keyframe-period issue. 4226 4227Ryan Neph (1): 4228 4229- virgl: Fixes portal2 binary name in tweak config 4230 4231Sagar Ghuge (12): 4232 4233- intel/isl: Drop unnecessary check on 16bpp depth format 4234- intel/blorp: Conditionally clear full surface depth and stencil 4235- anv: Factor out dri option initialization code in separate function 4236- anv: Add driconf option to disable compression for 16bpp format 4237- anv: Return number of layers/levels attached to anv_image 4238- anv: Handle compressed stencil buffer transition on Gen12+ 4239- anv: Set stencil_aux_usage flag 4240- anv: Get aux usage from plane while clearing stencil buffer 4241- anv: Don't track clear bo for stencil buffer compression 4242- anv: Return optimal aux state for stencil buffer compression 4243- anv: Pass correct stencil aux usage during MSAA resolve 4244- anv: Enable stencil buffer compression on Gen12+ 4245 4246Samuel Iglesias Gonsálvez (14): 4247 4248- freedreno/layout: add tile_all flag to the layout 4249- turnip: add environment variable to disable LRZ 4250- turnip: create LRZ buffer 4251- turnip: disable LRZ on specific cases 4252- turnip: disable LRZ writes when blend is enabled 4253- turnip: disable LRZ depending on fragment changes 4254- turnip: add LRZ tracking to command buffer state 4255- turnip: add LRZ valid tracking for secondary command buffers 4256- turnip: add support to clear LRZ 4257- turnip: emit correct LRZ fast clear setup 4258- turnip: disable LRZ on vkCmdClearAttachments() 4259- turnip: disable LRZ on vkCmdClearattachments() 3D fallback path 4260- turnip: enable LRZ 4261- turnip: don't initialize GRAS_LRZ_CNTL/RB_LRZ_CNTL tu6_init_hw() 4262 4263Samuel Pitoiset (157): 4264 4265- radv: allow to force-enable LLVM internally for a specific shader stage 4266- radv: report the spirv-nir logs back to the application 4267- radv: rework the error function helpers a bit 4268- radv: report errors back to the application via VK_EXT_debug_report 4269- radv: report a better error message when QueueWaitIdle() failed 4270- radv/gfx10: add missing initialization of registers 4271- radv: limit LATE_ALLOC_GS to prevent a GPU hang on GFX10 4272- radv: fix emitting the border color pointer on the compute queue 4273- radv/winsys: add null winsys entries for Sienna Cichild/Navy Flounder 4274- gitlab-ci: test Fossilize with GFX1030 4275- aco: do not set valid_mask for POS0 exports on GFX 10.3 4276- radv: track and report if a logical device is lost 4277- aco: rename DEBUG_VALIDATE to DEBUG_VALIDATE_IR 4278- aco: rework the way various compilation/validation errors are reported 4279- radv,aco: report ACO errors/warnings back via VK_EXT_debug_report 4280- aco: fix file leak in ra_fail() 4281- radv: ignore BB labels when splitting the disassembly string 4282- aco: add ACO_DEBUG=force-waitcnt to emit wait-states 4283- amd/registers: add missing TBA registers on GFX6-GFX8 4284- amd/registers: add some SQ_WAVE\_\* register definitions 4285- aco: add TBA/TMA/TTMP0-11 physical registers definitions 4286- aco: validate that SMEM operands can use fixed registers 4287- aco: add a helper for building a trap handler shader 4288- aco: skip unnecessary compiler pass for the trap handler program 4289- radv: add a small interface for creating the trap handler shader 4290- radv: add initial trap handler support with RADV_TRAP_HANDLER=1 4291- radv: enable the trap handler and configure the shader exceptions 4292- radv: use the trap handler to detect faulty shaders/instructions 4293- radv: align the TMA BO size to 256 4294- radv: allocate the TMA BO into 32-bit addr space 4295- radv: fix setting EXCP_EN for different shader stages 4296- radv: print a warning when RADV_TRAP_HANDLER is used 4297- aco: add ACO_DEBUG=novn,noopt,nosched for debugging purposes 4298- radv: emit {CB,DB}_RMI_L2_CACHE_CONTROL at framebuffer time 4299- radv: set BIG_PAGE to improve performance on GFX10.3 4300- aco: fix wrong source position for constant with nir_op_cube_face_coord 4301- radv: dump shader stats with VK_KHR_pipeline_executable_properties 4302- radv: force RADV_DEBUG=syncshaders when RADV_TRACE_FILE is used 4303- radv: improve reporting faulty pipelines when a GPU hang is detected 4304- radv: dump GPU info into the hang report 4305- nir/algebraic: mark some optimizations with fsat(NaN) as inexact 4306- spirv: fix retrieving dest type for OpFragmentMaskFetchAMD 4307- radv,aco: disable opts if VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT 4308- aco: handle unaligned loads on GFX10.3 4309- spirv: fix emitting switch cases that directly jump to the merge block 4310- radv: fix transform feedback crashes if pCounterBufferOffsets is NULL 4311- radv: add a helper for loading meta descriptors 4312- radv: do not lower UBO/SSBO access to offsets 4313- radv: remove useless assignment of MAX_API_VERSION 4314- radv: bump the advertised patch version to 145 4315- radv: add VK_KHR_copy_commands2 but leave it disabled 4316- radv: add support for CmdBlitImage2KHR() 4317- radv: add support for CmdCopyBuffer2KHR() 4318- radv: add support for CmdCopyBufferToImage2KHR() 4319- radv: add support for CmdCopyImage2KHR() 4320- radv: add support for CmdCopyImageToBuffer2KHR() 4321- radv: cleanup selecting the hardware resolve path 4322- radv: add support for CmdResolveImage2KHR() 4323- radv: advertise VK_KHR_copy_commands2 4324- radv: set KEEP_TOGETHER_ENABLE if necessary on GFX10+ 4325- radv: add a tweak for PS wave CU utilization for gfx10.3 4326- ci: adjust RadeonSI rules 4327- ci: add dEQP-VK.info.device_extensions to the list of skipped tests 4328- nir/lower_memory_model: return progress when visiting instructions 4329- nir/lower_memory_model: do not break with global atomic operations 4330- ac/nir: implement nir_intrinsic_{load,store}_global 4331- ac/nir: implement nir_intrinsic_global_atomic\_\* 4332- radv: lower deref operations for global memory for both backends 4333- ac/llvm: fix invalid IR if image stores are shrinked using the format 4334- nir/lower_io: change nir_io_add_const_offset_to_base to use bitfield modes 4335- radeonsi: call nir_io_add_const_offset_to_base only once per shader 4336- radv/llvm: call nir_lower_io_to_vector with FS to fix array tests 4337- radv: call nir_io_add_const_offset_to_base for FS outputs 4338- radv: move lowering of FS outputs outside of ACO 4339- radv: fix gathering writes_memory for global store/atomic operations 4340- ac/llvm: fix invalid use of unreachable in ac_build_atomic_rmw() 4341- ac/nir: fix nir_intrinsic_shared_atomic_fadd 4342- radv: gather output usage mask from store_output for VS, TES and GS 4343- radv/aco: lower IO for all stages outside of ACO 4344- aco: apply the clamped integer addition disassembly workaround for v_add3 4345- aco/tests: add disassembler tests to reproduce the add3+clamp crash 4346- ac/llvm: adjust dmask when image stores are shrinked using the format 4347- ac/nir: remove dead load/store deref code for temporary variables 4348- radv/llvm: assign driver locations for VS, TCS, TES and GS correctly 4349- radv/llvm: lower GS IO 4350- radv/llvm: lower TES IO 4351- radv/llvm: gather TCS outputs from the output variables 4352- radv/llvm: lower TCS IO 4353- radv/llvm: gather VS input usage mask from load_input 4354- radv/llvm: lower VS IO 4355- ac/llvm: implement nir_op_unpack_half_2x16_split_{x,y} 4356- radv/llvm: enable lower_unpack_half_2x16 4357- ac/nir: remove dead global load/store/atomic derefs code 4358- ac/nir: remove dead shader IO code 4359- radeonsi: remove dead code in TCS/TES/GS since const_index is always 0 4360- ac,radv,radeonsi: remove unused parameters in the shader ABI IO 4361- radv: remove unused gs.writes_memory in the shader info pass 4362- radv: remove dead deref code in the shader info pass 4363- ac/nir,radv: fix invalid IR when loading inline uniform blocks 4364- nir/constant_folding: init nir_const_value to zero 4365- aco: bail out if the NIR IO base offset isn't zero 4366- aco: more uses of nir_get_io_offset_src() 4367- ac/nir: implement nir_op_fsat 4368- radv/llvm: do not lower nir_op_fsat 4369- radv/llvm: remove dead code for 64-bit GS inputs 4370- aco: dump the program if the disassembler failed 4371- radv/llvm: do not lower sub 4372- radv: use the same NIR compiler options for both compiler backends 4373- radv/llvm: stop assigning driver_location in NIR->LLVM 4374- ac,radv,radeonsi: stop multiplying driver_location by 4 4375- ac/nir: pass the variable location to store_tcs_outputs 4376- radv/llvm: switch to NIR IO assigned locations 4377- radv/llvm: reduce the ESGS itemsize by using NIR IO assigned locations 4378- radv/llvm: reduce LDS size for tess by using NIR IO assigned locations 4379- radv: remove one leftover TODO in the shader info pass 4380- ac/llvm: move AC_FETCH_FORMAT to non-LLVM code 4381- radv: replace RADV_ALPHA_ADJUST by AC_FETCH_FORMAT 4382- radv: move lower_io_arrays_to_elements before lower_io_to_scalar_early 4383- radv: fix adjusting vertex alpha 4384- aco: implement missing nir_op_unpack_half_2x16_split_{x,y}_flush_to_zero 4385- radv/aco: disable NGG GS support because it randomly hangs the GPU 4386- radv: fix ignoring the vertex attribute stride if set as dynamic 4387- aco: remove stub lower_wqm() prototype 4388- aco: remove useless occurences of radv_nir_compiler_options 4389- aco: remove unused radv_shader.h includes 4390- radv: move compiler statistics to ACO 4391- aco: compute the CS workgroup size from the shader NIR info 4392- aco: adjust an assertion about the wavesize in emit_gfx10_wave64_bpermute() 4393- radv: fix optimizing needed states if some are marked as dynamic 4394- ac/nir: implement missing nir_op_pack_half_2x16_split 4395- radv: report latest extension spec versions 4396- radv: add missing 'discardtodemote' option in the debug list 4397- Revert "radv/aco: disable NGG GS support because it randomly hangs the GPU" 4398- ac/nir: handle non-const offset with txf/txf_ms 4399- radv: move all NIR pass outside of ACO 4400- ac/nir: do not sign-extend the result of texop_samples_identical 4401- radv,aco: fix use of texop_samples_identical in the resolve meta path 4402- aco: fix determining if LOD is zero for nir_texop_txf/nir_texop_txs 4403- ac/nir: ignore set_vertex_and_primitive_count intrinsic 4404- ac/nir: abort when an unknown intrinsic is reached 4405- ac: add an option to dump GPU info to a file 4406- radv: add radv_dump_cmd() helper 4407- radv: dump UMR ring and waves into the hang report 4408- radv: dump GPU hang report logs into $HOME/radv_dumps_<pid\> 4409- radv: re-order GPU hang report dumps by usefulness 4410- radv: replace RADV_TRACE_FILE by RADV_DEBUG=hang 4411- radv: do not perform a FMASK expand for non-writeable MSAA images 4412- radv: flush CB before and after FMASK_DECOMPRESS or DCC_DECOMPRESS 4413- radv: enable VK_AMD_mixed_attachment_samples on GFX6-GFX7 4414- radv,aco: adjust the sample mask only if per-sample shading is enabled 4415- radv,aco: optimize computing the sample mask for per-sample shading 4416- aco: store NIR range analysis data to the isel context 4417- aco: select v_mul_{hi}_u32_u24 for 24-bit multiplications 4418- nir/algebraic: distribute imul(iadd(a, b), c) when b and c are constants 4419- aco: optimize v_and(a, v_subbrev_co(0, 0, vcc)) -\> v_cndmask(0, a, vcc) 4420- nir/algebraic: optimize bitfield_select(a, b, 0) to iand(a, b) 4421- aco: fix combining add/sub to b2i if a new dest needs to be allocated 4422 4423Serge Martin (13): 4424 4425- clover: set LLVM min version to 8.0.1 4426- clover: implements clEnqueueMigrateMemObjects 4427- clover: implements clEnqueueFillImage 4428- clover: implements clGetKernelArgInfo 4429- clover: bind sampler_t type to module::argument::sampler 4430- clover: add CL_KERNEL_ATTRIBUTES for clGetKernelInfo 4431- clover: implements clGetKernelWorkGroupInfo CL_KERNEL_COMPILE_WORK_GROUP_SIZE 4432- clover: implements notification callback on program builds 4433- clover: avoid adding an extra space to compiler options 4434- clover: move tokenize function to algorithm 4435- clover: validate image_row_pitch and image_slice_pitch in clEnqueueMapImage 4436- clover: clCreateImage: calculate image row_pitch and slice_pitch when not provided 4437- clover: implements clSetContextDestructorCallback 4438 4439Suresh Guttula (2): 4440 4441- gallium: update abs_delta segementation parameter 4442- radeon/vcn : Corrected dpb_size calculation for VP9_2 4443 4444Tapani Pälli (16): 4445 4446- anv: add a check for depthStencilState before using it 4447- anv: null check for buffer before reading size 4448- anv: take depth in to account in anv_GetImageSubresourceLayout 4449- mesa: refactor floating point texture fbo completeness check on gles 4450- mesa: add EXT_color_buffer_half_float plumbing 4451- mesa/st: enable EXT_color_buffer_half_float when formats supported 4452- glsl: mark some builtins with correct glsl(es) version check 4453- iris: remove additional pipe control done before hiz for older gens 4454- glsl: take EXT_gpu_shader4 in to account when adding round 4455- gallivm/nir: handle nir_op_flt in lp_build_nir_llvm 4456- iris: fix the order of src and dst for fence memcpy 4457- mesa/st: call memobj_destroy only if there is memory imported 4458- mesa: do not throw \_mesa_problem when invalid enum is used 4459- mesa/st: use a lock to protect access to variants when updating them 4460- egl/dri2: fix race between image create and egl_image_target_texture 4461- iris: initialize shared screen->vtbl only once 4462 4463Thong Thai (10): 4464 4465- radeon/vcn: fix jpeg decode for navi10 4466- frontends/va: Add support for NV12/P010/P016 to vaDeriveImage 4467- frontends/va: Derive image from interlaced buffers 4468- frontends/va: Derive image from interlaced buffers in some cases 4469- gallium: Parse packed HEVC SPS encode header for crop parameters 4470- radeon: Pass HEVC encode crop parameters to the encoder 4471- frontends/va: Enabled packed headers for H.264 encoder 4472- gallium/auxiliary/vl: Include src region in scale_y calculation 4473- frontends/va/postproc: Un-break field flag 4474- frontends/va: Return P010/P016 as possible surface formats when encoding 4475 4476Timothy Arceri (15): 4477 4478- i965: add support for force_gl_vendor 4479- disk_cache: move cache dir generation into OS specific helper file 4480- disk_cache: add disk_cache_enabled() helper 4481- disk_cache: move index mmap into OS specific helper 4482- disk_cache: move munmap into an OS specific helper 4483- disk_cache: move evict_lru_item() to an OS specific helper 4484- disk_cache: create new helper for writing cache items to disk 4485- disk_cache: move get_cache_file() to an OS specific helper 4486- disk_cache: add new OS specific helper disk_cache_evict_item() 4487- disk_cache: move cache item loading code into disk_cache_load_item() helper 4488- glsl: don't duplicate state vars as uniforms in the NIR linker 4489- util/disk_cache: remove unused function param 4490- glsl: relax rule on varying matching for shaders older than 4.00 4491- glsl: add extra pp tokens workaround and enable for CoR 4492- glsl: drop NMS OpenGL workarounds 4493 4494Timur Kristóf (50): 4495 4496- aco: Fix unused variable warning by adding ASSERTED. 4497- aco: Fix convert_to_SDWA when instruction has 3 operands. 4498- aco: Move README to README-ISA 4499- aco: Fixup markdown formatting of the README-ISA. 4500- aco: Add README which explains about what ACO is and how it works. 4501- aco: Fix emit_boolean_exclusive_scan in wave32 mode. 4502- aco: Clean up emit_mbcnt. 4503- aco: Add base argument to emit_mbcnt. 4504- aco: Use NIR IO semantics for tess factor IO locations. 4505- radv/aco: Set I/O variable locations outside ACO. 4506- nir: Add ability to count emitted GS primitives. 4507- nir: Add ability to count emitted GS vertices per primitive. 4508- nir: Add ability to overwrite incomplete GS primitives. 4509- nir: Count vertices per stream. 4510- nir: Add ability to count primitives per stream. 4511- radv/aco: Use new GS lowering options for ACO with NGG GS. 4512- aco: Clarify missing export error message in assembler. 4513- aco: Extract lanecount_to_mask to a separate function. 4514- aco: Extract thread_id_in_threadgroup to a separate function. 4515- aco: Use thread_id_in_threadgroup helper for ES outputs. 4516- aco: Optimize thread_id_in_threadgroup when there is just one wave. 4517- aco: Add wave-specific opcode for s_lshl and s_flbit. 4518- aco/ngg: Refactor gs_alloc_req in preparation for NGG GS. 4519- aco/ngg: Refactor ngg_emit_prim_export in preparation for NGG GS. 4520- aco/ngg: Make primitive export packing less prone to error. 4521- aco/ngg: Clean up and reorganize NGG VS/TES code. 4522- aco/ngg: Allow NGG GS to store ES outputs. 4523- aco/ngg: Allow NGG GS to load per-vertex GS inputs. 4524- aco/ngg: Allow NGG GS to create VS exports. 4525- aco/ngg: Setup NGG GS. 4526- aco/ngg: Create LDS layout for NGG GS. 4527- aco/ngg: Implement workgroup reduce / exclusive scan for NGG GS. 4528- aco/ngg: Implement NGG GS output. 4529- aco/ngg: Place workgroup barrier outside control flow for NGG GS. 4530- aco/ngg: Add shader query support to NGG GS. 4531- radv/aco: Enable NGG GS by default. 4532- aco/ngg: Use more efficient LDS layout to help reduce bank conflicts. 4533- aco/ngg: Allocate NGG GS space early for const vertex/primitive counts. 4534- aco/ngg: Calculate workgroup size of NGG shaders. 4535- nir: Emit set_vertex_and_primitive_count for inactive streams. 4536- aco/ngg: Add assertion to make sure we always know the vertex count. 4537- aco: Assert that workgroup barriers are not used inappropriately. 4538- aco/ngg: Put shader query reduction operand into a VGPR. 4539- aco: Add some validation for PSEUDO_REDUCTION instructions. 4540- aco: Make emitting reduction instructions a bit more convenient. 4541- aco: Add a few assertions about LDS usage. 4542- aco/ngg: Export a zero-area triangle when primitive count is 0. 4543- aco/ngg: Incorporate GS invocations into workgroup size calculation. 4544- aco/optimizer: Only set scc_needed when it is actually needed. 4545- aco: Fix NGG GS assert failure from the WG scan. 4546 4547Tomeu Vizoso (16): 4548 4549- Revert "CI: temp disable t720/t760 jobs." 4550- Revert "CI: Disable Panfrost T720/T760 CI" 4551- ci: Split traces.yml file per driver 4552- ci: Test Panfrost with more traces 4553- ci: Fix URL to imagediff page in traces dashboard 4554- ci: Update kernel used in LAVA to 5.8-based drm-misc 4555- ci: Run deqp-gles2 on RadeonSI 4556- ci: Run deqp-gles3 and deqp-gles31 on RadeonSI 4557- ci: Update kernel for LAVA 4558- ci: Test Panfrost on Khadas VIM3 boards 4559- ci: Disable pm_runtime and max clocks in LAVA jobs 4560- ci: Unskip fragment_ops tests on Bifrost 4561- virgl: Correctly align size of blobs 4562- ci: Update kernel for LAVA to 5.10-rc2 plus patches 4563- ci: Update dEQP skips and fails for Bifrost on G52 4564- ci: Distribute ADMGPU driver to LAVA as a module 4565 4566Tony Wasserka (26): 4567 4568- nir/lower_idiv: Port recent LLVM fixes to emit_udiv 4569- radv: Fix various non-critical integer overflows 4570- aco: Fix integer overflows when emitting parallel copies during RA 4571- amd/common: Fix various non-critical integer overflows 4572- aco/isel: Turn the function template emit_load into a proper function 4573- aco/isel: Simplify nested branching code 4574- aco/isel: Consistently use references for input parameters in emit_load 4575- aco/isel: Remove unused definitions 4576- aco/isel: Move context initialization code to a dedicated file 4577- aco/isel: Move add_startpgm to aco_instruction_selection.cpp 4578- aco/isel: Compile all helper functions with static linkage 4579- nir: Fix undefined behavior due to signed integer multiplication overflows 4580- nir: Fix unaligned pointer access 4581- radv: Avoid calling memcpy with null pointers 4582- radv: Fix unaligned memory access when writing specialization map entries 4583- radv: Clean up CreateDescriptorSetLayout 4584- radv: Respect alignment requirements in descriptor set layouts 4585- aco/isel: Fix out-of-bounds write in visit_load_input 4586- aco/isel: Always export position data from VS/NGG 4587- aco/isel: Remove some dead code 4588- aco/isel: Remove now unused VS-related code from create_null_export 4589- aco: Use strong typing to model SW<->HW stage mappings 4590- aco: Clean up symbol names and comments related to NGG 4591- aco/isel: Miscellaneous cleanups using the new Stage API 4592- aco/ra: Fix counting of subdword variables in get_reg_create_vector 4593- aco: Fix format string used when raising validation errors 4594 4595Veerabadhran Gopalakrishnan (1): 4596 4597- frontends/va: Added protected playback support for VP9 4598 4599Vinson Lee (64): 4600 4601- util: Fix memory leaks in unit test. 4602- meson: Fix lmsensors warning message. 4603- radv/winsys: Fix memory leak. 4604- vulkan: Fix memory leaks. 4605- panfrost: Fix gnu-empty-initializer errors. 4606- freedreno: Fix file descriptor leak. 4607- svga: Fix unused printf argument. 4608- spirv: Initialize spirv_test member shader. 4609- nv50/ir: Add fallthrough statement. 4610- nv50/ir: Remove duplicate mask assignment. 4611- ac/llvm: Fix nonportable sizeof. 4612- freedreno: Check file descriptor before write. 4613- nv50/ir: Initialize Converter members. 4614- libgl-gdi: Fix unused-variable warnings. 4615- disk_cache: Fix filename leak on error path. 4616- radesonsi: Remove unsigned comparison to zero. 4617- panfrost: Delete debug allocated syncobj. 4618- turnip: Release bo_mutex lock before potential error path. 4619- pan/bi: Fix typo. 4620- glsl: Initialize ir_constant member const_elements in all constructors. 4621- r600/sfn: Initialize GPRValue member m_pin_to_channel. 4622- gallium/dri2: Move image->texture assignment after image NULL check. 4623- panfrost: Remove extra printf arguments. 4624- anv: Check file descriptor before closing. 4625- aco: Initialize mad_info member literal_idx. 4626- gallium/swr: Remove unreachable code. 4627- pan/mdg: Fix memory leak on error path. 4628- lima: Print usage if --help is any of the arguments. 4629- radv: Fix asserts using assign instead of compare. 4630- nv50/ir: Initialize Source members. 4631- freedreno: Move rsc NULL check to before rsc dereferences. 4632- intel/vec4: Remove leftover code from Gen8+ removal. 4633- glsl: Initialize ast_node member field location.path in constructor. 4634- meson: Use more portable compiler option -std. 4635- swr/rasterizer: Remove BuilderGfxMem member mpTrackMemAccessFuncTy. 4636- util/xmlconfig: Initialize xmlconfig member options in constructor. 4637- svga: Remove unused printf argument. 4638- glsl: Initialize ir_to_mesa_visitor members in constructor. 4639- v3dv: Fix assert using assign instead of compare. 4640- glsl: Initialize lower_ubo_reference_visitor members in constructor. 4641- glsl: Initialize add_uniform_to_shader member var in constructor. 4642- v3dv: Remove unsigned comparison to zero. 4643- v3dv: Initialize time before usage by free_stale_bos. 4644- panfrost: Fix stride for AFBC_FORMAT_MOD_BLOCK_SIZE_32x8. 4645- v3dv: Fix assert using assign instead of compare. 4646- glsl: Initialize ir_if_to_cond_assign_visitor members in constructor. 4647- glsl: Initialize lower_shared_reference_visitor members. 4648- scons/windows: Support build with LLVM 11. 4649- amd/addrlib: Initialize Gfx10Lib members in constructor. 4650- Fix VMware capitalization. 4651- glsl: Update loop_terminator constructor to accept parameters. 4652- draw: Remove draw_install_aaline_stage dead code. 4653- os: Fix open result check. 4654- gallium: Remove duplicate resource variable. 4655- tgsi: Initialize tgsi_declaration_dimension padding. 4656- radesonsi: Remove unnecessary shader->selector NULL check. 4657- amd/addrlib: Add missing va_end. 4658- v3dv: Remove unsigned comparison to zero. 4659- st/nine: Remove unnecessary NULL check. 4660- turnip: Fix file descriptor return. 4661- vdpau: Add missing printf format specifier. 4662- frontends/va: Fix \*num_entrypoints check. 4663- clover/spirv: Add missing break for SpvOpExecutionMode case. 4664- turnip: Close sync_fd only if it is a valid file descriptor. 4665 4666Woody Chow (1): 4667 4668- st/mesa: Fix EGLImageTargetTexture2D for GL_TEXTURE_2D 4669 4670Yevhenii Kolesnikov (1): 4671 4672- nir/large_constants: only search for constant duplicates 4673 4674Yogesh Mohan Marimuthu (1): 4675 4676- src/mesa: add GL_NV_half_float extension support (v2) 4677 4678jzielins (4): 4679 4680- gallium/swr: Fix compilation with LLVM 12 4681- gallium/swr: Fix compilation TCS/TES compilation issues 4682- swr: Fix crashes on non-AVX hardware 4683- swr: Use ElemenCount constructor for LLVM 11 4684 4685n00b7 (1): 4686 4687- v3dv/device: handle primary nodes for newer kernels 4688 4689orbea (1): 4690 4691- spirv/vtn_cfg.c: Include util/debug.h for env_var_as_boolean. 4692 4693zhu yong (1): 4694 4695- meson: add support for loongson's mips/mips64 arch. 4696