From af74c35d7d2e513b9da6981f672d3a48ac1b7cb1 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Thu, 3 Dec 2020 09:49:56 -0800 Subject: [PATCH] docs: add release notes for 20.3.0 Part-of: --- docs/relnotes/20.3.0.rst | 4695 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 4695 insertions(+) create mode 100644 docs/relnotes/20.3.0.rst diff --git a/docs/relnotes/20.3.0.rst b/docs/relnotes/20.3.0.rst new file mode 100644 index 00000000000..ca347cac139 --- /dev/null +++ b/docs/relnotes/20.3.0.rst @@ -0,0 +1,4695 @@ +Mesa 20.3.0 Release Notes / 2020-12-03 +====================================== + +Mesa 20.3.0 is a new development release. People who are concerned +with stability and reliability should stick with a previous release or +wait for Mesa 20.3.1. + +Mesa 20.3.0 implements the OpenGL 4.6 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.6. OpenGL +4.6 is **only** available if requested at context creation. +Compatibility contexts may report a lower version depending on each driver. + +Mesa 20.3.0 implements the Vulkan 1.2 API, but the version reported by +the apiVersion property of the VkPhysicalDeviceProperties struct +depends on the particular driver being used. + +SHA256 checksum +--------------- + +:: + + TBD. + + +New features +------------ + +- GL 4.5 on llvmpipe + +- GL_INTEL_blackhole_render on radeonsi + +- GL_NV_copy_depth_to_color for NIR + +- GL_NV_half_float + +- GL_NV_shader_atomic_int64 on radeonsi + +- EGL_KHR_swap_buffers_with_damage on X11 (DRI3) + +- VK_PRESENT_MODE_FIFO_RELAXED on X11 + +- GLX_EXT_swap_control for DRI2 and DRI3 + +- GLX_EXT_swap_control_tear for DRI3 + +- VK_KHR_copy_commands2 on RADV + +- VK_KHR_shader_terminate_invocation on RADV + +- NGG GS support in ACO + +- VK_KHR_shader_terminate_invocation on ANV + +- driconf: add glx_extension_override + +- driconf: add indirect_gl_extension_override + +- VK_AMD_mixed_attachment_samples on RADV (GFX6-GFX7). + +- GL_MESA_pack_invert on r100 and vieux + +- GL_ANGLE_pack_reverse_row_order + +- VK_EXT_shader_image_atomic_int64 on RADV + +- None + + +Bug fixes +--------- + +- \[icl,tgl][iris][i965][regression][bisected\] piglit failures +- shader-db valgrind error +- \[AMDGPU NAVI 5700xt\] Large parts of the Blender viewport does not render correctly if an object with hair is moved. +- \[aco\] problem compiling compute pipeline +- zink: regression after !7606 +- glcpp test 084-unbalanced-parentheses fails with bison 3.6.y +- zink+radv: corruption on pre-game menu in quake3 +- panfrost massive glitches apitrace opengl 2.1 +- \[radeonsi\] After 549ae5f84375dfadb86cfd465f0103acfae3249f commit Firefox Nightly Asan begins crashes +- Amber test NIR validation failed after spirv_to_nir +- zink: add detection for wsi_memory_allocate_info usage +- Follow-up from "nir,spirv: Add generic pointers support" +- v3d GL_ARB_vertex_array_bgra support +- iris: glClear with FBO imported from DMA-BUF doesn't work +- Fast-clears of GL_ALPHA16 textures are broken on TGL +- NV50_PROG_USE_NIR=1 doesn't work for piglit/bin/pbo-teximage ? +- Follow-up from "st/mesa: Use nir-to-tgsi for builtins if the driver needs TGSI" +- \[spirv-fuzz\] Shader causes an assertion failure in nir_opt_large_constants +- Amber test validate_phi_src +- Regnum Online UBO break after game update +- Current mesa git fails to build in multilib environment? +- radv/aco: Vertex explosion on RPCS3 +- llvmpipe-cl should not run for other drivers +- Factorio v1.0 - Linux native - 64 bit - OpenGL/radeonsi - completely broken rendering +- Gnome 3.38 with Xwayland has screen corruption for X11 apps. +- st/va fails to build on old libva in mesa git +- sp_state_shader.c:146: undefined reference to \`nir_to_tgsi' +- anv: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.3d\* failures +- anv: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.3d\* failures +- RADV: Death Stranding glitchy sky rendering +- Crash in glDrawArrays on Intel iris +- GLX_OML_swap_method not fully supported +- deinterlace_vaapi=rate=field does not double output's actual frame rate on AMD +- Steam game Haydee leans on implementation-dependent behavior +- ANV: Support 1 million update-after-bind descriptors +- zink: crash in Blender on start-up +- vc4 in 20.2-rc has regression causing app to crash +- \[RADV\] broken stencil behaviour when using extended dynamic stencil state +- \[RADV/ACO\] Star Citizen Lighting/Shadow Issue +- \[RADV\] Some bindings seem broken with VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT +- \[RADV/ACO\] ACO build error about SMEM operands +- Graphics corruption in Super Mega Baseball 2 with RADV on Navi +- RADV ACO - ground line corruption in Path of Exile with Vulkan renderer +- omx/tizonia build broken with latest mesa git +- Request: VK_EXT_transform_feedback on Intel Gen 7 +- iris: Regression in deqp const_write tests +- \[hsw][bisected][regression\] gpu hangs on dEQP-VK.subgroups.(shuffle|quad) tests +- \[RADV/LLVM/ACO\] Serious Sam 4 crashes after first cutscene with ACO backend + flickering black spots sprout up everywhere +- TGL B0 Stepping gpu hangs on many dEQP-VK.subgroups.quad nonconst tests +- \[machines without AVX2/F16C][bisected\] X server crash, wflinfo crash in mesa CI +- nir: Mesa regression on Compute shader +- radv, aco: dEQP-VK.glsl.atomic_operations.*_fragment_reference regressed +- Commit c6c1fa9a263880 causes corruption in Steam UI +- \[spirv-fuzz\] Shader generates a wrong image +- Running Amber test leads to VK_DEVICE_LOST +- \[Regression][Bisected][20.2][radeonsi\] American Truck Simulator continually allocates memory until OOM +- \[radeonsi\] bottom mips of height=1 2D texture is uninitialised after upload +- Missing terrain in Total War: Warhammer +- anv: dEQP-VK.robustness.robustness2.\* failures on gen12 +- AMD VAAPI encoding - applying filters introduces garbled line at the bottom +- AMD VAAPI HEVC encoding not working correctly on Polaris +- \[RADV\] Problems reading primitive ID in fragment shader after tessellation +- Massive memory leak (at least AMD, others unknown) +- Substance Painter 6.1.3 black glitches on Radeon RX570 +- \[ivb,hsw,byt,bsw][i965][bisected\] anv_reloc_list_add: Assertion failure +- vkCmdCopyImage broadcasts subsample 0 of MSAA src into all subsamples of dst on RADV +- assert(left \<= -1 && top \<= -1 && right \>= 1 && bottom \>= 1) fails in si_emit_guardband +- Crash in ruvd_end_frame when calling vaBeginPicture/vaEndPicture without rendering anything +- Release signing key is not readily available +- \[iris][bisected\] piglit.spec.nv_copy_depth_to_color.nv_copy_depth_to_color failures +- VAAPI vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED +- X-Plane 11 Installer crashes on startup since \`glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins\` +- piglit spec/glsl-1.50/execution/geometry/clip-distance-vs-gs-out.shader_test fails on Iris +- Amber test opt_peel_loop_initial_if: Assertion failed +- builder_misc.cpp:137:55: error: ‘get’ is not a member of ‘llvm::ElementCount’ +- AVX instructions leak outside of CPU feature check and cause SIGILL +- Dirt Rally: Flickering glitches on certain foliage since Mesa 20.1.0 caused by MSAA +- Horizon Zero Dawn graphics corruption with with radv +- Crusader Kings 3 Crashes at start since commit with !6472 +- pan_resource.c:733:38: error: use of GNU empty initializer extension \[-Werror,-Wgnu-empty-initializer\] +- \[BRW\] WRC 5 asserts with gallium nine and iris. +- ci/bare-metal: POWER_GOOD detection broken with reboot rework +- radv: Corruption in "The Surge 2" +- \[RADV\] Detroit: Become Human Demo game lock-ups with RADV +- Road Redemption certain graphic effects rendered white color +- gen_state_llvm.h:54:99: error: invalid conversion from ‘int’ to ‘const llvm::VectorType*’ \[-fpermissive\] +- Using a shared dEQP build script +- vulkan/wsi/x11: deadlock with Xwayland when compositor holds multiple buffers +- \[RADV/ACO\] Death Stranding cause a GPU hung (*ERROR\* Waiting for fences timed out!) +- lp_bld_init.c:172:7: error: implicit declaration of function ‘LLVMAddConstantPropagationPass’; did you mean ‘LLVMAddCorrelatedValuePropagationPass’? \[-Werror=implicit-function-declaration\] +- ci: Use lld or gold instead of ld.bfd +- Intel Vulkan driver crash with alpha-to-coverage +- radv: blitting 3D images with linear filter +- \[ACO\] Compiling pipelines from RPCS3's shader interpreter spins forever in ACO code +- \[regression][bisected\] nir: nir_intrinsic_io_semantics assert failures in piglit +- error: ‘static_assert’ was not declared in this scope +- Intel Vulkan driver assertion with small xfb buffer +- \<\> Array Index Out of Range with Graphicsfuzz application +- EGL_KHR_swap_buffers_with_damage support on X11 +- \[spirv-fuzz\] SPIR-V parsing failed "src->type->type == dest->type->type" +- radeonsi: radeonsi crashes in Chrome on chromeos +- \[RADV\] commit d19bc94e4eb94 broke gamescope with Navi +- 4e3a7dcf6ee4946c46ae8b35e7883a49859ef6fb breaks Gamescope showing windows properly. +- anv: crashes in CTS test dEQP-VK.subgroups.*.framebuffer.*_tess_eval +- Intel Vuikan (anv) crash in copy_non_dynamic_state() when using validation layer +- \[tgl][bisected][regression\] GPU hang in The Witcher 3 +- Mafia 3: Trees get rendered incorrectly +- radv: dEQP-VK.synchronization.op.multi_queue.timeline_semaphore.write_clear_attachments_*_concurrent fail when forcing DCC. +- Crash on GTA 5 through proton 5.0.9 and GE versions +- Flickering textures in "Divinity Original Sin Enhanced Edition" +- Mesa 20.2.0-rc1 fails to build for AMD +- Assertion failure compiling shader from Zigguart + + +Changes +------- + +Aaron Watry (1): + +- clover: Fix incorrect error check in clGetSupportedImageFormats + +Adam Jackson (22): + +- drisw: Port the MIT-SHM check to XCB +- vulkan: Don't pointlessly depend on libxcb-dri2 +- docs: Stop claiming to implement OpenVG +- mesa: Fix GL_CLAMP handling in glSamplerParameter +- mesa: Generate more errors from GetSamplerParameter +- wsi/x11: Hook up VK_PRESENT_MODE_FIFO_RELAXED_KHR +- glx: Use GLX_FUNCTION2 only for actually aliased function names +- glx: Collect all the non-applegl extensions in the GetProcAddress table +- glx: Reject glXSwapIntervalMESA greater than INT_MAX +- glx: Implement GLX_EXT_swap_control for DRI2 and DRI3 +- glx/dri3: Implement GLX_EXT_swap_control_tear +- glx: Allow depth-30 pbuffers to work without a depth-30 pixmap format +- wsi/x11: Create a present queue for VK_PRESENT_MODE_FIFO_RELAXED_KHR +- glx: move \__glXGetUST into the DRI1 code +- glx: Delegate the core of glXGetScreenDriver to the GLX screen vtable +- glx: Move glXGet{ScreenDriver,DriverConfig} to common code +- docs/features: Update extensions for softpipe +- docs/features: Update extensions for swr +- loader: Print dlerror() output in the failure message +- mesa: Enable GL_MESA_pack_invert unconditionally +- mesa: Implement GL_ANGLE_pack_reverse_row_order +- docs: Add MESA_pack_invert and ANGLE_pack_reverse_row_order + +Alejandro Piñeiro (147): + +- v3d/compiler: add v3dv_prog_data_size helper +- v3d/packet: fix typo on Set InstanceID/PrimitiveID packet +- v3d: set instance id to 0 at start of tile +- broadcom/qpu_instr: wait is not a read or write vpm instruction +- nir/lower_io: don't reduce range if parent length is zero +- broadcom/simulator: update to a newer simulator +- broadcom/common: increase V3D_MAX_TEXTURE_SAMPLERS, add specific OpenGL limit +- broadcom/compiler: add V3D_DEBUG_RA option +- v3dv: add v3d vulkan driver skeleton +- gitlab-ci: add broadcom vulkan driver +- v3dv: add support for VK_EXT_debug_report +- v3dv: memory management stubs +- v3dv: add support to use v3d simulator +- v3dv/debug: plug v3d_debug +- v3dv/debug: add v3dv_debug +- v3dv: stubs for graphics pipeline methods +- v3dv: Create/DestroyShaderModule implementation +- v3d/compiler: num_tex_used on v3d_key +- v3dv/format: add v3dv_get_format_swizzle +- v3dv: initial CreateGraphicsPipeline/DestroyPipeline implementation +- v3dv: initial stub for CmdBindPipeline +- v3dv: CmdSetViewport and CmdSetScissor implementation +- v3dv/pipeline: start to track dynamic state +- v3dv/cmd_buffer: init command buffer dynamic state during pipeline bind +- v3dv/cmd_buffer: emit Scissor packets +- v3dv/cmd_buffer: emit Viewport packets +- v3dv/cmd_buffer: emit shader_state packets +- v3dv/cmd_buffer: start to emit draw packets +- v3dv/cmd_buffer: add shader source bos to cmd_buffer +- v3dv: clif format dumping support +- v3dv/cmd_buffer: cache viewport translate/scale +- v3dv: add v3dv_write_uniforms +- v3dv/cmd_buffer: start jobs with CmdBeginRenderPass +- v3d/compiler: update uses_vid/uses_iid check +- v3dv/cmd_buffer: emit CFG_BITS +- v3dv: partial prepack of the gl_shader_state_record +- v3dv: prepack VCM_CACHE_SIZE +- v3dv/pipeline: lower fs/vs inputs/outputs +- v3dv: vertex input support +- v3dv: provide default values for input attributes +- v3dv/format: add R32G32B32A32_SFLOAT format +- v3dv: stubs for Create/DestroyPipelineCache +- v3d/cmd_buffer: emit flat_shade/noperspective/centroid flags +- v3dv/pipeline: adding some nir-based linking +- v3dv/bo: add a bo name +- v3dv: debug nir shader also after spirv_to_nir +- v3dv: initial descriptor set support +- v3dv/descriptor_set: support for array of ubo/ssbo +- v3dv/pipeline: null check for pCreateInfo->pDepthStencilState +- v3dv: no need to manually add assembly bo to the job +- v3d/compiler: handle GL/Vulkan differences in uniform handling +- v3dv/cmd_buffer: support for push constants +- v3dv/descriptor: support for dynamic ubo/ssbo +- v3dv/pipeline: revamp nir lowering/optimizations passes +- v3dv/pipeline: clean up io lowering +- v3dv/descriptor: take into account pPushConstantRanges +- v3dv/device: tweak ssbo/ubo device limits +- v3dv/cmd_bufffer: rename and split emit_graphics_pipeline +- v3dv/cmd_buffer: push constants not using descriptor anymore +- v3dv/uniforms: cleaning up, moving udpate ubo/ssbo uniforms to a function +- v3dv/pipeline: unify local allocator name +- v3dv/pipeline: sampler lowering +- v3dv/descriptor_set: added support for samplers +- v3dv/uniforms: filling up QUNIFORM_TMU_CONFIG_P0/P1 +- v3dv/pipeline: add support for shader variants +- v3dv/cmd_buffer: update shader variants at CmdBindDescriptorSets/CmdBindPipeline +- v3dv/cmd_buffer: allow return in the middle of variant update if needed +- v3dv/pipeline: fix adding texture/samplers array elements to texture/sampler map +- v3dv/descriptor_set: support for immutable samplers +- v3dv/descriptor: move descriptor_map_get_sampler, add and use get_image_view +- v3dv/descriptor_set: combine texture and sampler indices +- v3dv/descriptor: handle not having a sampler when combining texture and sampler id +- v3dv/uniforms: fill up texture size-related uniforms +- v3dv/format: expose correctly if a texture format is filterable +- v3dv: handle texture/sampler shader state bo failure with OOM error +- v3dv: properly return OOM error during pipeline creation +- v3dv/meta-copy: ensure valid height/width with compressed formats +- v3dv/cmd_buffer: move variant checking to CmdDraw +- v3dv/pipeline: support for specialization constants +- v3dv/descriptor: add general bo on descriptor pool +- v3dv/descriptor: use descriptor pool bo for image/samplers +- v3dv/meta-copy: add uintptr_t casting to avoid warning +- v3dv/bo: adding a BO cache +- v3dv/bo: add a maximum size for the bo_cache and a envvar to configure it +- v3dv/bo: add dump stats info +- v3d/tex: avoid to ask back for a sampler state if not needed +- v3dv/pipeline: iterate used textures using the combined index map +- v3dv/pipeline: set load_layer_id to zero +- v3dv: initial support for input attachments +- v3dv/descriptors: support for DESCRIPTOR_TYPE_STORAGE_IMAGE +- v3dv/pipeline: lower_image_deref +- v3dv/uniforms: support for some QUNIFORM_IMAGE_XXX +- nir: include texture query lod as one of the ops that requires a sampler +- v3dv/device: expose support for image cube array +- v3dv/image: fix TEXTURE_SHADER_STATE depth for cube arrays +- v3dv/device: add vendorID/deviceID get helpers +- v3dv/device: get proper device ID under simulator +- v3dv/device: proper pipeline cache uuid +- v3dv/pipeline_cache: bare basic support for pipeline cache +- v3dv/pipeline_cache: cache nir shaders +- v3dv/pipeline: add basic ref counting support for variants +- v3dv/pipeline_cache: cache v3dv_shader_variants +- v3dv/pipeline_cache: support to serialize/deserialize cached NIRs +- v3dv/pipeline_cache: MergePipelineCaches implementation +- v3dv/pipeline: provide a shader_sha1 to private ShaderModules +- v3dv/pipeline_cache: add default pipeline cache +- v3dv/pipeline: remove custom variant cache +- v3dv/pipeline: when looking for a variant, check first current variant +- v3dv/pipeline: pre-generate more that one shader variant +- v3dv/pipeline: handle properly OUT_OF_HOST_MEMORY error when allocating p_stage +- v3dv/descriptor: support for UNIFORM/STORAGE_TEXEL_BUFFER +- v3dv: add v3dv_limits file +- v3dv/device: fix minTexelBufferOffsetAlingment +- v3dv/formats: fix exposing FEATURE_UNIFORM/STORAGE_TEXEL_BUFFER_BIT +- v3dv/uniforms: handle texture size for texel buffers +- v3dv/descriptor: remove v3dv_descriptor_map_get_image_view +- v3dv/device: add assert for texture-related limits +- v3dv/device: warn when the pipeline cache is disabled +- v3dv/debug: add v3dv_print_v3d_key +- v3dv/pipeline: fix combined_index_map insertions +- v3dv/meta: fix hash table insertion +- broadcom/compiler: allow GLSL_SAMPLER_DIM_BUF on txs emission +- v3d/simulator: add v3d_simulator_get_mem_size +- v3dv/device: fix compute_heap_size for the simulator +- v3dv/pipeline: use derefs for ubo/ssbo +- v3dv: Call nir_lower_io for push constants +- v3dv/pipeline: track if texture is shadow +- v3dv/pipeline: set 16bit return_size for shadows always +- v3dv/cmd_buffer: set instance id to 0 at start of tile +- v3d/limits: add line width and point size limits +- v3dv/device: fix point-related VkPhysicalDeviceLimits +- v3dv/device: enable largePoints +- v3dv/meta_copy: handle mirroring z component bliting 3D images +- v3dv/formats: properly return unsupported for 1D compressed textures +- v3dv/meta_copy: fix TFU blitting when using 3D images +- v3dv/pipeline_cache: set a max size for the pipeline cache +- v3dv/pipeline_cache: extend pipeline cache envvar +- v3dv/device: Support loader interface version 3. +- nir/lower_io_to_scalar: update io semantics on per-component inst +- docs/features: add v3dv driver +- v3dv/format: use XYZ1 swizzle for three-component formats +- v3d/format: use XYZ1 swizzle for three-component formats +- broadcom/compiler: remove v3d_fs_key depth_enabled field. +- v3dv/util: remove several logging functions +- v3dv/util: log debug ignored stype only on debug builds +- v3dv/device: do nothing when asked physical device pci bus properties +- v3dv/cmd_buffer: missing (uint8_t \*) casting when calling memcmp + +Alexandros Frantzis (5): + +- tracie: Make tests independent of environment +- tracie: Produce JUnit XML results +- gitlab-ci: Enable unit test reports for normal runner traces jobs +- gitlab-ci: Enable unit test reports for lava traces jobs +- gitlab-ci: Enable unit test report for arm64_a630_traces + +Alyssa Rosenzweig (388): + +- panfrost: Remove blend prettyprinters +- panfrost: Move format stringify to decode.c +- pan/decode: Remove shader replacement artefact +- panfrost: Inline panfrost-misc.h into panfrost-job.h +- panfrost: Remove panfrost-misc.h +- panfrost: Don't export exception_status +- panfrost: Rename encoder/ to lib/ +- panfrost: Move pandecode into lib/ +- pan/mdg: Separate disassembler and compiler targets +- pan/bi: Separate disasm/compiler targets +- panfrost: Reduce bit dependency to disassembly only +- panfrost: Add panloader/ to .gitignore +- pan/bi: Drop use of MALI_POSITIVE +- panfrost: Inline max rt into compilers +- panfrost: Treat texture dimension as first-class +- panfrost: Drop compiler cmdstream deps +- nir/lower_ssbo: Don't set align_\* for atomics +- gallium/dri2: Support Arm modifiers +- panfrost: Set \`initialized\` more conservatively +- panfrost: Remove hint-based AFBC heuristic +- panfrost: Introduce create_with_modifier helper +- panfrost: Use modifier instead of layout throughout +- panfrost: Account for modifiers when creating BO +- panfrost: Respect modifiers in resource management +- panfrost: Import staging routines from freedreno +- panfrost: Choose AFBC when available +- panfrost: Implement YTR availability check +- panfrost: Enable YTR where allowed +- panfrost: Allocate enough space for tiled formats +- panfrost: Ensure AFBC slices are aligned +- panfrost: Implement panfrost_query_dmabuf_modifiers +- panfrost: Add stub midgard.xml +- panfrost: Adopt gen_pack_header.py via v3d +- panfrost: Build midgard_pack.h via meson +- panfrost: Redirect cmdstream includes through GenXML +- pan/decode: Add helper to dump GPU structures +- panfrost: XMLify job_type +- panfrost: XMLify draw_mode +- panfrost: XMLify mali_func +- panfrost: XMLify stencil op +- panfrost: XMLify wrap modes +- panfrost: XMLify viewport +- panfrost: XMLify UBOs +- panfrost: XMLify stencil test +- panfrost: Simplify zsa == NULL case +- panfrost: Simplify depth/stencil/alpha +- panfrost: Don't mask coverage mask to 4-bits +- panfrost: XMLify Midgard samplers +- panfrost: XMLify Bifrost samplers +- panfrost: XMLify Midgard textures +- panfrost: XMLify Bifrost textures +- panfrost: Drop unused mali_channel_swizzle +- panfrost: XMLify Block Format +- panfrost: XMLify MSAA writeout mode +- panfrost: XMLify exception access +- panfrost: XMLify enum mali_format +- panfrost: Set STRIDE_4BYTE_ALIGNED_ONLY +- panfrost: Drop NXR format +- panfrost: Squash 22-bit format field in attr_meta +- panfrost: XMLify mali_channel +- panfrost: XMLify attributes +- panfrost: Merge attribute packing routines +- panfrost: Add XML for attribute buffers +- panfrost: Use better packs for blits +- panfrost: Simplify offset fixup proof +- panfrost: Make attribute-buffer map explicit +- panfrost: Move attr_meta emission to the draw routine +- panfrost: Use packs for attributes +- panfrost: Hoist instance_shift/instance_odd fetch +- panfrost: Inline panfrost_vertex_instanced +- panfrost: Use packs for vertex attribute buffers +- panfrost: Use packs for vertex built-ins +- panfrost: Reword comment +- panfrost: Pass varying descriptors by reference +- panfrost: Factor out general varying case +- panfrost: Use pack for XFB varying +- panfrost: Use pack for general varying +- panfrost: Use MALI_ATTRIBUTE_LENGTH +- pan/bit: Use packs for Bifrost unit tests +- panfrost: Remove mali_attr_meta +- panfrost: Use packs for varying buffers +- panfrost: Drop hand-rolled pandecode for attribute buffers +- panfrost: Drop union mali_attr +- panfrost: Update CI expectations +- panfrost: Decontextualize rasterizer +- panfrost: Drop rasterizer null checks in draw calls +- panfrost: Drop ZSA null checks in draws +- panfrost: Drop panfrost_invalidate_frame +- panfrost: Drop QUADS primitive convert +- panfrost: Hoist add_fbo_bo call +- panfrost: Remove useless comment +- panfrost: Hoist assert from bind to create +- panfrost: Fix WRITES_GLOBAL bit +- panfrost: Fix shared memory size computation +- pan/mdg: Ensure barrier op is set on texture +- pan/mdg: Handle 32-bit offsets from store_shared +- pan/mdg: Identify barrier out-of-order field +- pan/mdg: Fix printing of r26 ld/st sources post-RA +- pan/mdg: Fix auxiliary load/store swizzle packing +- panfrost: Pre-allocate memory for pool +- panfrost: Introduce invisible pool +- panfrost: Avoid minimum stack allocations +- pan/decode: Don't try to dereference heap mapping +- panfrost: Share tiler_heap across batches/contexts +- panfrost: Drop implicit blend pooling +- panfrost: Explicitly handle nr_cbufs=0 case +- panfrost: Drop depth-only case in blend finalize +- panfrost: Keep finalized blend state constant +- panfrost: Fix blend leak for render targets 5-8 +- panfrost: Free cloned NIR shader +- panfrost: Free NIR of blit shaders +- panfrost: Free hash_to_temp map +- pan/mdg: Free previous liveness +- panfrost: Use memctx for sysvals +- panfrost: Free batch->dependencies +- panfrost: Pass alignments explicitly +- panfrost: Fix attribute buffer underallocation +- panfrost: Don't overallocate attributes +- panfrost: Don't reserve for NPOT w/o instancing +- panfrost: Reduce attribute buffer allocations +- panfrost: Fix alignment on Bifrost +- gallium: Add util_blend_factor_uses_dest helper +- gallium: Add util_blend_uses_dest helper +- si: Use util_blend_factor_uses_dest +- r300: Use util_blend_factor_uses_dest +- pan/decode: Drop legacy 32-bit job support +- panfrost: Decode nested structs correctly +- panfrost: Hoist blend finalize calls +- panfrost: Separate shader/blend descriptor emits +- panfrost: XMLify blend flags +- panfrost: Simplify make_fixed_blend_mode prototype +- panfrost: Honour load_dest/opaque flags +- panfrost: XMLify blend equation +- panfrost: Combine frag_shader_meta_init functions +- panfrost: Size UBO#0 accurately +- panfrost: Clamp shader->uniform_count +- panfrost: Bake the initial tag into the shader pointer +- panfrost: Specialize compute vs frag shader init +- panfrost: Rename shader emit functions +- panfrost: Clean up blend shader errata handling +- panfrost: Group SFBD state together +- panfrost: XMLify Midgard properties +- panfrost: Pack compute Midgard properties +- panfrost: Use packs for fragment properties +- panfrost: Use pack for shaderless +- panfrost: Fold work_count packing for blend shaders +- panfrost: Simplify bind_blend_state +- panfrost: Remove midgard1 bitfield +- panfrost: XMLify bifrost1 +- panfrost: Drop redundant NULL check +- panfrost: Group SFBD code tighter +- panfrost: XMLify Bifrost preload +- panfrost: Identify additional SFBD flags +- panfrost: Support SHADERLESS mode everywhere +- panfrost: Quiet pandecode error +- panfrost: Derive texture/sampler_count from shader +- panfrost: XMLify beginning of shader descriptor +- panfrost: Derive UBO count from shader_info +- panfrost: Pack vertex properties when compiling +- panfrost: Prepack fragment properties/preload +- panfrost: Simplify shaderless packing +- panfrost: Ensure shader-db state is zero-initialized +- panfrost: Allocate a state uploader +- panfrost: Upload shader descriptors at CSO create +- panfrost: Use preuploaded shader descriptors +- panfrost: XMLify the rest of shader_meta +- panfrost: Inherit default values from structs +- panfrost: Use pack for blit shaders +- panfrost: Use pack for Bifrost test state +- panfrost: Add optional opaque packs to GenXML +- panfrost: Use opaque pack for vertex shaders +- panfrost: Use pack for fragment shaders +- pan/decode: Use unpacks for state descriptor +- panfrost: Drop mali_shader_meta +- panfrost: Add opaque midgard_blend XML +- panfrost: Emit explicit REPLACE for disabled colour writeout +- panfrost: Drop blend indirection +- panfrost: Add padded type for instance fields +- panfrost: Add XML for mali_vertex_tiler_postfix +- panfrost: Use draw pack for blit +- panfrost: Separate postfix from emits +- panfrost: Inline vt_update_{rasterizer, occlusion} +- panfrost: Remove postfix parameter from UBO upload +- panfrost: Avoid postfix dep for vertex_data +- panfrost: Don't call panfrost_vt_init for compute +- panfrost: Inline panfrost_vt_init +- panfrost: Inline panfrost_vt_set_draw_info +- panfrost: Detangle postfix from varying emits +- panfrost: Use draw pack for compute jobs +- panfrost: Use pack for draw descriptor +- panfrost: Simplify ZSA bind +- panfrost: Cleanup point sprite linking +- panfrost: Drop point sprite from shader key +- panfrost: XMLify primitive information +- panfrost: Add invocation XML +- panfrost: XMLify invocations +- panfrost: Drop bifrost_payload_fused +- panfrost: Inline bifrost_tiler_only +- panfrost: Use nir_builder_init_simple_shader for blits +- pan/decode: Drop scratchpad size dump +- pan/decode: Drop mali_vertex_tiler_postfix arg +- pan/decode: Print shader-db even for compute +- pan/decode: Fix awkward syntax +- pan/decode: Use generation for vertex_tiler_postfix +- pan/decode: Use unpack for vertex_tiler_postfix_pre +- panfrost: Remove mali_vertex_tiler_postfix +- pan/decode: Drop prefix braces +- panfrost: Emit texture/sampler points for compute +- pan/mdg: Implement i/umul_high +- pan/mdg: Scalarize 64-bit +- pan/mdg: Bounds check swizzle writing globals +- pan/mdg: Implement nir_intrinsic_load_sample_mask_in +- pan/mdg: Refactor texture op/mode handling +- pan/mdg: Add disassembly for shadow gathers +- pan/mdg: Implement texture gathers +- panfrost: Set PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS +- docs/features: Add missing Panfrost extensions +- pan/mdg: Fix discard encoding +- pan/mdg: Fix perspective combination +- panfrost: Drop PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER/BUFFERS +- mesa/st: Don't set alpha if ALPHA_TEST is lowered +- pan/mdg: Obey f2fmp size restriction in fuse_io_16 +- panfrost: Fix nonzero stencil mask on vertex/compute +- pan/bit: Set d3d=true for CMP tests +- pan/bit: Fix unit tests +- pan/bi: Lower flrp16 +- pan/bi: Add XML describing the instruction set +- pan/bi: Add ISA parser +- pan/bi: Add packing generator +- pan/bi: Add disassembler generator +- pan/bi: Add disassembly prototypes +- pan/bi: Add bi_disasm_dest_\* helpers +- pan/bi: Export dump_src +- pan/bi: Use new disassembler +- pan/bi: Use canonical syntax for registers/uniforms/imms +- pan/bi: Use canonical syntax for special constants +- pan/bi: Add dummy carry/borrow argument for iadd/isub +- pan/bi: Introduce segments into the IR +- pan/bi: Add format field to IR +- pan/bi: Track compute_lod in IR +- pan/bi: Pass blend descriptor explicitly in IR +- pan/bi: Use 8-bit shifts +- pan/bi: Use src1/dest_invert instead of src_invert[\] +- pan/bi: Move packing helpers to dedicated file +- pan/bi: Use new packing +- pan/bi: Remove unused prints +- pan/bi: Remove unused packing data structures +- pan/bi: Drop \*FMIN reference +- pan/bi: Annotate stop bit (canonically "Z-bit") +- pan/bi: Annotate disassemble with format names +- pan/bi: Inline dump_instr +- pan/bi: Track M values of disassembled constants +- pan/bi: Decode M values in disasm +- pan/bi: Disassemble PC-relative addresses +- pan/bi: Add bifrost_reg_mode enum +- pan/bi: Pass 'first' through disassembler +- pan/bi: Decode all 32-bit register modes +- pan/bi: Rename port -\> slot +- pan/bi: Use canonical register packing +- pan/bi: Remove old register mode definitions +- pan/bi: Fix assert when writing vertex outputs +- pan/bi: Add copy for register COMBINEs +- pan/decode: Ensure mappings are zeroed +- pan/bi: Fix memory corruption in scheduler +- pan/bi: Drop if 0'd combine lowering +- pan/bi: Cull unnecessary edges on the CF graph +- pan/bi: Use canonical floating-point modes +- pan/bi: Canonicalize terminate_discarded_threads +- pan/bi: Use canonical next_clause_prefetch +- pan/bi: Use canonical name for staging registers +- pan/bi: Expand clause type to 5-bit +- pan/bi: Add missing message types +- pan/bi: Print message types as strings +- pan/bi: Use canonical term "message type" +- pan/bi: Use canonical term dependency +- pan/bi: Use canonical flow control enum +- pan/bi: Pass flow_control through directly +- pan/bi: Handle vector moves +- pan/bi: Expose GL 2.1 on Bifrost +- pan/bi: Fix simple txl test +- pan/bi: Use canonical texture op names in IR +- pan/bi: Streamline TEXC/TEXS naming/selection +- pan/bi: Encode skip bit into IR +- pan/bi: Pack skip bit for texture operations +- pan/bi: Add texture operator descriptor +- pan/bi: Stub out TEXC handling +- pan/bi: Add data register passing infrastructure +- pan/bi: Handle nir_tex_src_lod +- pan/bi: Pack TEXC +- pan/bi: Rewrite to fit dest = src constraint +- pan/bi: Prefer 'texture_index' to 'image_index' +- panfrost: Add missing XML for Bifrost samplers +- panfrost: Fix Bifrost filter selection +- panfrost: Fix Bifrost high LOD clamp +- panfrost: Add some missing Bifrost texture XML +- pan/bi: Implement txb +- panfrost: Set helper_invocation_enable for Bifrost +- pan/bi: Fix message type printing +- pan/bi: Don't terminate helper threads +- panfrost: Add panfrost_block_dim helper +- pan/bi: Use new block dimension helper +- panfrost: Fix faults on block-based formats on Bifrost +- pan/bi: Map NIR tex ops to Bifrost ops +- pan/bi: Add bi_emit_lod_cube helper +- pan/bi: Implement FETCH +- panfrost: Update XML for Bifrost early-z/FPK +- panfrost: Set "shader modifies coverage?" flag +- panfrost: Temporarily disable FP16 on Bifrost +- pan/bi: Disable mediump output lowering +- pan/bi: Range check newc/oldc when rewriting +- panfrost: Rename gtransfer to transfer +- panfrost: Use canonical characterization of tls_size +- panfrost: Drop panfrost_vt_emit_shared_memory +- pan/mdg: Cleanup mir_rewrite_index_src_single +- pan/bi: Drop 64-bit constant support +- pan/bi: Fix handling of small constants in bi_lookup_constant +- pan/bi: Stub spilling +- pan/bi: Add no_spill flag to IR +- pan/bi: Implement bi_choose_spill_node +- pan/bi: Add spills/fills parameters +- pan/bi: Add bi_spill helper +- pan/bi: Add bi_fill +- pan/bi: Add bi_rewrite_index_src_single helper +- pan/bi: Add helpers for working with singletons +- pan/bi: Implement bi_spill_register +- pan/bi: Factor out singleton construction from scheduler +- pan/bi: Add bi_foreach_clause_in_block_safe helper +- pan/bi: Pack LOAD/STORE +- pan/bi: Implement spilling +- pan/bi: Pipe through tls_size +- panfrost: Move nir_undef_to_zero to common util/ +- pan/bi: Use nir_undef_to_zero +- panfrost: Record architecture major version +- panfrost: Don't export queries +- panfrost: Calculate thread count on Bifrost +- panfrost: Fix component order XML +- panfrost: Implement BGRA textures +- panfrost: Drop PIPE_CAP_GLSL_FEATURE_LEVEL for Bifrost +- panfrost: Don't advertise MSAA on Bifrost +- pan/bi: Account for bool32 ld_ubo reads +- panfrost: Don't double-compose swizzles +- panfrost: Add MALI_EXTRACT_INDEX helper +- panfrost: Use consistent swizzle names in XML +- panfrost: Add a blendable format table +- panfrost: Use panfrost_blendable_formats for MFBD +- panfrost: Use panfrost_blendable_formats for SFBD +- panfrost: Use panfrost_blendable_formats for blending +- panfrost: Complete format_to_bifrost_blend +- panfrost: Remove duplicated format arg for ASTC +- panfrost: Remove panfrost_is_z24s8_variant +- panfrost: Add v7 special colour formats +- panfrost: Add missing depth/stencil formats +- panfrost: Add miscellaneous missing Midgard formats +- panfrost: Add v7-specific depth formats +- panfrost: Split out v6/v7 format tables +- panfrost: Rename VARYING_DISCARD to CONSTANT +- panfrost: Rename VARYING_POS to SNAP4 +- panfrost: Add missing 1/2/4/64-bit formats to XML +- panfrost: Use macro for panfrost_get_default_swizzle +- panfrost: Fix RGB5A1 formats +- panfrost: Fix BGR233 component order +- panfrost: Add missing alpha-first special formats +- pan/bi: Suppress disassembly for internal shaders +- pan/bi: Lower +CUBEFACE2 +- panfrost: Disable point sprites on Bifrost +- panfrost: Advertise Bifrost support +- panfrost: Drop unused swizzles +- panfrost: Add bi_emit_array_index helper +- pan/bi: Track tex data register swizzles +- pan/bi: Handle 3D/array coordinates +- pan/bi: Don't emit TEXS for array textures +- panfrost: Set .array_size on Bifrost +- nir: Add SRC_TYPE to store_combined_output_pan +- pan/mdg: Deduplicate nir_find_variable_with_driver_location +- pan/mdg: Move writeout lowering to common panfrost +- panfrost: Pass through src_type +- panfrost: Deduplicate shader properties +- pan/bi: Add +ZS_EMIT instruction to IR +- pan/bi: Infer z/stencil flags from sources passed +- pan/bi: Factor out bi_emit_atest +- pan/bi: Factor out bi_emit_blend +- pan/bi: Stub handling for nir_intrinsic_store_combined_output_pan +- pan/bi: Emit +ZS_EMIT as needed +- pan/bi: Lower depth/stencil stores +- pan/bi: Correctly calculate render target index +- pan/mdg: Add missing Collabora copyright notices +- panfrost: Add missing Collabora copyright notices +- pan/bi: Model writemasks correctly + +Andreas Baierl (4): + +- lima/ppir: Skip instruction merge when having more than one successor +- lima: fix glCopyTexSubImage2D +- lima: set clear depth value to 0x00ffffff as default +- lima/parser: Fix varyings decoding in RSW + +Andres Gomez (3): + +- gitlab-ci: reuse container_post_build when building the test images +- gitlab-ci: reorder container_post_build call for arm64_test image +- Revert "gitlab-ci: reuse container_post_build when building the test images" + +Andrew Randrianasulu (1): + +- st/va: fix build with old libva + +Andrey Vostrikov (1): + +- egl/x11: Free memory allocated for reply structures on error + +Andrii Simiklit (4): + +- util/xmlconfig: eliminate memory leak +- nir: get rid of OOB dereferences in nir_lower_io_arrays_to_elements +- glx: get rid of memory leak +- glsl: avoid an out-of-bound access while setting up a location for variable + +Anthoine Bourgeois (4): + +- docs/features: Minor update extensions support +- docs/features: VK_KHR_mir_surface is disabled, remove it +- docs/features: add some extensions we missed +- docs/features.txt: VK_EXT_separate_stencil_usage not exposed on RADV + +Antonio Caggiano (1): + +- zink: pre-hash gfx-pipeline-state + +Anuj Phogat (2): + +- intel/gen9: Enable MSC RAW Hazard Avoidance +- intel: Pointer to SCISSOR_RECT array should be 64B aligned + +Aníbal Limón (1): + +- src/util/disk_cache_os.c: Add missing headers for open/fcntl + +Arcady Goldmints-Orlov (7): + +- broadcom/compiler: support nir_intrinsic_load_sample_id +- broadcom/compiler: Add a constant folding pass after nir_lower_io +- broadcom/compiler: Enable PER_QUAD for UBO and SSBO loads. +- broadcom/compiler: support varyings with struct types +- broadcom/compiler: use nir io semantics +- broadcom/compiler: Handle non-SSA destinations for tex instructions +- broadcom/compiler: Allow spills of temporaries from TMU reads + +Bas Nieuwenhuizen (58): + +- radv: Add ETC2 support on RAVEN2. +- radv: Fix assert that is too strict. +- radv: Add forcecompress debug flag. +- radv: Do not consider layouts fast-clearable on compute queue. +- radv: Update CI expectations for the recent descriptor indexing regressions. +- radv: When importing an image, redo the layout based on the metadata. +- radv: Clean up setting the surface flags. +- radv: Use getter instead of setter to extract value. +- driconf: Support selection by Vulkan applicationName. +- radv: Override the uniform buffer offset alignment for World War Z. +- radv: Fix handling of attribs 16-31. +- radv: Remove conformance warnings with ACO. +- radv: Update CTS version. +- radv: Fix 3d blits. +- radv: Centralize enabling thread trace. +- radv: Allow triggering thread traces by file. +- radv: Fix threading issue with submission refcounts. +- radv: Avoid deadlock on bo_list. +- spirv: Deal with glslang bug not setting the decoration for stores. +- spirv: Deal with glslang not setting NonUniform on constructors. +- radeonsi: Work around Wasteland 2 bug. +- radv,gallium: Add driconf option to reduce advertised VRAM size. +- amd/common: Store non-displayable DCC pitch. +- radeonsi: Put retile map in separate buffers. +- radeonsi: Move display dcc dirty tracking to framebuffer emission. +- ac/surface: Fix depth import on GFX6-GFX8. +- radv,radeonsi: Disable compression on interop depth images +- Revert "radv: set BIG_PAGE to improve performance on GFX10.3" +- Revert "radv: emit {CB,DB}_RMI_L2_CACHE_CONTROL at framebuffer time" +- st/mesa: Deal with empty textures/buffers in semaphore wait/signal. +- radv: Disable NGG on APUs. +- radv: Simplify radv_is_hw_resolve_pipeline. +- radv: Add VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 rendering support. +- radv: Fix emitting SQTT userdata. +- radv: Use correct alignment for SQTT buffer sizes. +- radv: Fix RGP Asic CU info for GFX10+. +- radv: Include flushes in the barrier. +- radv: Record cache flushes for RGP. +- radv: Write correct dispatch size for RGP. +- radeonsi: Fix imports with displayable DCC. +- radv: Use atomics to read query results. +- radv: Set fce metadata correctly on DCC initialization. +- radv: Fix event write cmdbuffer allocation when tracing. +- radv/winsys: Expand scope of allbos lock. +- radv: Fix mipmap extent adjustment on GFX9+. +- aco: Add VK_KHR_shader_terminate_invocation support. +- amd/llvm: Add VK_KHR_shader_terminate_invocation support. +- radv: Advertise VK_KHR_shader_terminate_invocation. +- frontends/va: Initialize drm modifier on import. +- radv: Fix 1D compressed mipmaps on GFX9. +- radv: Do not access set layout during vkCmdBindDescriptorSets. +- radv: Fix variable name collision. +- radv: Skip tiny non-visible VRAM heap. +- radv: Fix budget calculations with large BAR. +- radv: Fix exporting/importing multisample images. +- radv: Fix RB+ blending for VK_FORMAT_E5B9G9R9_UFLOAT_PACK32. +- radv: Fix a hang on CB change by adding flushes. +- radv: Deal with unused attachments in mip flush + +BillKristiansen (1): + +- compiler/glsl: Initialize local variable to zero to fix MSVC RTC error + +Boris Brezillon (141): + +- spirv: Move the emit a 'return value' store logic into own function +- compiler/nir: Add new flags to lower pack/unpack split instructions +- nir: Fix i64tof32 lowering +- spirv: Add support for the CL Round instruction +- panfrost: Rename panfrost_create_pool() into panfrost_pool_init() +- panfrost: Avoid accessing pan_pool fields directly +- panfrost: Store transient BOs in a dynamic array +- spirv: Add a vtn_get_mem_operands() helper +- spirv: Don't accept CPacked decoration on struct members +- spirv: Propagate packed information to glsl_type +- glsl: Propagate packed info in get_explicit_type_for_size_align() +- nir/glsl: Consider block interfaces as structs when it comes to size/align calculation +- nir: Expose the packed attribute attached to glsl_type objects +- panfrost: gen_pack: Minor formatting improvement +- panfrost: gen_pack: Fix \__gen_unpack_uint() +- panfrost: gen_pack: Add pan_{unpack,print}() helpers +- panfrost: gen_pack: Move the group get_length() logic to its own method +- panfrost: gen_pack: Add the aggregate concept +- panfrost: gen_pack: Allow empty structs +- panfrost: gen_pack: Add an align() modifier +- panfrost: gen_pack: Add a log2 modifier +- panfrost: gen_pack: Allow enum/define values expressed in hexadecimal +- panfrost: decode: Make the indentation consistent with auto-generated print helpers +- panfrost: decode: Rework the DUMP_{CL,ADDR}() macros +- panfrost: decode: Add a macro to dump unpacked descriptors +- panfrost: decode: Use pan_{unpack,print}() when applicable +- panfrost: XML-ify the local storage descriptor +- panfrost: Clarify what TILED mode is +- panfrost: Add Tiled linear mode to the Block Format enum +- panfrost: XML-ify the midgard tiler descriptor +- panfrost: XML-ify the single target framebuffer descriptor +- panfrost: XML-ify the bifrost tiler descriptors +- panfrost: XML-ify the multi-target framebuffer descriptors +- panfrost: XML-ify the job header descriptor +- panfrost: XML-ify the write value job descriptor +- panfrost: XML-ify the fragment job descriptor +- panfrost: Rename the Blend dither disable flag +- panfrost: XML-ify the compute job descriptor +- panfrost: Avoid copying job descriptors around when we can +- panfrost: decode: Misc formatting improvements +- panfrost: gen_pack: Fix gnu-empty-initializer errors +- ci: Extend meson-clang coverage by compiling all gallium drivers +- panfrost: Fix bifrost tiler descriptor definition +- panfrost: Fix bifrost tiler job emission +- panfrost: Adjust quirks for bifrost v6 +- panfrost: Add preliminary support for Mali G72 +- kmsro: Add mediatek entry point +- panfrost: Add support for rbg16 formats +- panfrost: decode: Fix decode_bifrost_constant() prototype +- panfrost: decode: Flag pandecode_log_typed() as PRINTFLIKE +- panfrost: bifrost: disassemble: Fix decoding of next_regs +- panfrost: Fix a warning +- panfrost: Adjust the draw descriptor definition +- panfrost: Adjust the primitive desc definition +- panfrost: Adjust the renderer state definition +- panfrost: Get rid of the with_opaque qualifier on the renderer state desc +- panfrost: Drop the with_opaque specifier on midgard blend desc +- panfrost: gen_pack: Drop support for opaque structs +- panfrost: gen_pack: Support overlapping structs +- panfrost: gen_pack: Add a no-direct-packing attribute +- panfrost: Rework fixed-function blending +- panfrost: Rework the render target layout to use overlapping structs +- panfrost: XML-ify the blend descriptors +- panfrost: Fix fixed-function blend on Mali v6 +- panfrost: Constify the rt_fmts arg passed to pan_lower_framebuffer() +- panfrost: Move the blend constant mask extraction out of make_fixed_blend_mode() +- panfrost: Pass compile arguments through a struct +- panfrost: Allocate blit_blend with ralloc() +- panfrost: Don't leak NIR blend shaders +- panfrost: Let compile_blend_shader() allocate the blend shader object +- panfrost: Get rid of the constant patching done on blend shader binaries +- panfrost: Move the blend shader cache at the context level +- panfrost: Fix fixed-function blend on bifrost +- panfrost: Extend compile_inputs to pass a blend descriptor +- pan/bi: Copy blend shader info from compile_inputs +- pan/bi: Use canonical name for FAU RAM sources +- pan/bi: Get rid of the regs argument in bi_assign_fau_idx() +- pan/bi: Rework blend descriptor access handling +- pan/bi: Add support for load_blend_const_color_{r,g,b,a}_float +- pan/bi: Support indirect jumps +- panfrost: Add a "Bifrost Internal Blend" descriptor +- panfrost: Scalarize nir_load_blend_const_color_rgba +- panfrost: Flag blend shader function as an entry point +- pan/bi: Add load_output support +- pan/bi: Collect return addresses of blend calls +- pan/bi: Special-case BLEND instruction emission for blend shaders +- pan/bi: Reserve r0-r3 in blend shaders +- pan/bi: Special-case load_input for blend shaders +- panfrost: Add missing tile-buffer formats to the format enum +- panfrost: Add blend shader support to bifrost +- panfrost: Adjust the renderer state definition +- panfrost: Fix tiler job injection +- panfrost: Add the bifrost tiler internal state field +- panfrost: Add specialized preload descriptors +- panfrost: Replace unkown renderer state fields by their real names +- pan/bi: Make sure we don't print special index as a register +- pan/bi: Print blend descriptor source properly +- pan/bi: Add support for load_sample_id +- pan/bi: Support the case where TEXC needs 0 or 1 staging reg +- pan/bi: Add basic support for txf_ms +- panfrost: Make {midgard,bifrost}_compile_shader_nir() return a program object +- panfrost: Build blit shaders on Bifrost too +- panfrost: Use real name for attribute's unknown field +- panfrost: Rename panfrost_transfer to panfrost_ptr +- panfrost: Pass the texture payload through a panfrost_ptr +- panfrost: Split panfrost_load_midg() +- panfrost: Add support for native wallpapering on Bifrost +- panfrost: Use native wallpapering on Bifrost +- panfrost: Get rid of the non-native wallpering bits +- panfrost: Preload primitive flags when gl_FrontFacing is accessed +- pan/bi: Add support for load_front_face +- pan/bi: Add support for load_point_coord +- pan/bi: Lower {i,u}{min,max} instructions +- pan/bi: Add ult support +- pan/bi: Fix ms_idx type to catch missing ms_index source +- panfrost: Leave push_constants pointer to NULL if there's no uniform +- panfrost: Suppress Bifrost prefetching +- panfrost: Add array size to XML +- panfrost: Implement v7 texture payloads +- pan/bi: s/t0/t1/ in bi_disasm_dest_add() +- pan/bi: Move special instruction packing to a separate helper +- pan/bi: Split special class in two +- pan/bi: Hook up cube instructions packing +- pan/bi: Lower cube map coordinates +- panfrost: Force late pixel kill when depth/stencil is written from the FS +- panfrost: Expose GLES3 features on Bifrost when PAN_MESA_DEBUG=deqp +- pan/bi: Extract LD_VAR sample field from ins->load_vary.interp_mode +- pan/bi: Support centroid and sample interpolations +- pan/bi: Fix swizzle handling in bi_copy_src() +- pan/bi: Add support for load_ubo +- pan/bi: Lower uniforms to UBO +- pan/bi: Get rid of bi_emit_ld_uniform() +- pan/bi: Move bitwise op packing out of bi_pack_fma() +- pan/bi: Fix ARSHIFT definitions +- pan/bi: Add support for ishr +- pan/bi: Add support for ushr +- panfrost: Allow linear ZS resources on Bifrost +- pan/bi: Add support for load_vertex_id +- pan/bi: Add support for load_instance_id +- panfrost: Fix Bifrost blend descriptor emission +- panfrost: Fix ->reads_frag_coord assignment + +Boyuan Zhang (5): + +- vl: add flag and definition for protected playback +- frontends/va: handle protected slice data buffer +- radeon: add decryption params definition header +- radeon/vcn: add defines for drm message buffer +- radeon/vcn: program drm message buffer + +Brendan Dougherty (1): + +- mesa: Fix vertex_format_to_pipe_format index. + +Caio Marcelo de Oliveira Filho (19): + +- intel/compiler: Use C99 array initializers for prog_data/key sizes +- nir: Add nir_intrinsic_terminate and nir_intrinsic_terminate_if +- spirv: Update headers and metadata from latest Khronos commit +- spirv: Handle SpvOpTerminateInvocation +- intel/fs: Handle nir_intrinsic_terminate +- vulkan: Update XML and headers to 1.2.158 +- anv: Advertise VK_KHR_shader_terminate_invocation +- nir: Use a switch in nir_lower_explicit_io_instr +- intel/fs: Don't emit_uniformize when getting a constant SSBO index +- spirv: Implement SpvCapabilitySubgroupShuffleINTEL from SPV_INTEL_subgroups +- nir: Add nir_intrinsic_{load,store}_deref_block_intel +- spirv: Implement SpvCapabilitySubgroupBufferBlockIOINTEL +- intel/fs: Add A64 OWORD BLOCK opcodes +- intel/fs: Implement nir_intrinsic_{load,store}_global_block_intel +- intel/fs: Add surface OWORD BLOCK opcodes +- intel/fs: Implement nir_intrinsic_{load,store}_ssbo_block_intel +- intel/fs: Implement nir_intrinsic_{load,store}_shared_block_intel +- compiler: Add new Vulkan shader stages +- spirv: Add Ray Tracing execution models + +Caleb Callaway (1): + +- iris: Add missing newline to debug log message + +Chad Versace (2): + +- anv/image: Check DISJOINT in vkGetPhysicalDeviceImageFormatProperties2 (v2) +- anv/image: Fix isl_surf_usage_flags for stencil images + +Charmaine Lee (3): + +- st/mesa: increase size of gl_register_file bitfields +- winsys/svga: fix display corruption after surface_init +- svga: fix draw elements with 8-bits indices + +Chia-I Wu (2): + +- virgl: move protocol headers to a common place +- virgl: update protocol headers + +Christian Gmeiner (17): + +- etnaviv: call nir_lower_bool_to_bitsize +- etnaviv: completely turn off MSAA +- ci: do not build libdrm for vc4, reedreno and etnaviv +- etnaviv: call nir_opt_shrink_vectors(..) in opt loop +- etnaviv: shuffle some variant fields +- etnaviv: add disk cache +- etnaviv: simplify linear stride implementation +- ci: piglit: conditionally build OpenCL tests +- ci/bare-metal: suppress 'No such file or directory' +- etnaviv: drop etna_pipe_wait(..) +- ci/x86: speed up piglit testing +- nir: make tgsi_varying_semantic_to_slot(..) public +- etnaviv: convert from tgsi semantic/index to varying-slot +- etnaviv: move etna_dump_shader(..) to generic location +- etnaviv: move etna_destroy_shader(..) to generic location +- etnaviv: nir: do not run opt loop after nir_lower_bool_xxx(..) +- etnaviv/drm: fix evil-twin etna_drm_table_lock + +Connor Abbott (59): + +- freedreno/afuc: Fix printing preemptleave on a5xx +- freedreno/afuc: Handle setsecure opcode +- freedreno/afuc: Add iret +- freedreno/afuc: Handle xmov modifiers +- freedreno/afuc: Make 0 a valid number +- freedreno/afuc: Install asm/disasm +- freedreno: Add afuc regression test +- nir/spirv: Add the option to keep ViewIndex as an input +- nir/lower_input_attachments: Refactor to use an options struct +- nir/lower_input_attachments: Support loading layer id as an input +- radv: Use an input for the layer when lowering input attachments +- tu: Use an input for the layer when lowering input attachments +- nir/lower_input_attachments: Support loading layer id via gl_ViewIndex +- freedreno/a6xx: Add multiview registers +- ir3: Add support for gl_ViewIndex in VS & FS +- tu: Translate VkRenderPassMultiviewCreateInfo to VkRenderPassCreateInfo2 +- tu: Parse multiview render pass info +- tu: Implement multiview clear/resolve interactions +- tu: Improve timestamp queries +- tu: Implement multiview query interactions +- tu: Add multiview lowering pass +- tu: Implement multiview pipeline state +- tu: Enable VK_KHR_multiview +- freedreno/computerator: Use a render node +- tu: Expose shaderStorageImageExtendedFormats +- tu: Expose shaderImageGatherExtended +- ir3: Don't use the format to get the image type +- tu: Expose shaderStorageImage*WithoutFormat +- nir: Add nir_lower_multiview pass +- anv: Use nir_lower_multiview pass +- nir: Count i/o slots correctly for per-view variables +- nir/lower_io_arrays: Fix xfb_offset bug +- nir: Add per_view to IO semantics +- nir: Handle per-view io in nir_io_add_const_offset_to_base() +- tu: Write multiview control registers in binning pass +- tu: Refactor shader compilation flow +- ir3, tu: Run optimization loop twice +- ir3, tu: Link per-view position correctly +- tu: Enable multi-position output +- intel/nir: Use nir control flow helpers +- radv: Use nir control flow insertion helpers +- ttn: Use nir control flow insertion helpers +- nir/lower_returns: Use nir control flow insertion helpers +- nir/opt_if: Remove open-coded nir_ssa_def_rewrite_uses() +- nir/opt_if: Use early returns in opt_if_merge() +- ttn: Fix number of components for IF/UIF +- nir/lower_clip_cull: Store array size for FS inputs +- ir3: Switch tess lowering to use location +- ir3: Handle clip+cull distances +- tu: Implement clip/cull distances +- freedreno/a6xx: Implement user clip/cull distances +- freedreno: Introduce common device info struct +- tu: Use freedreno_dev_info +- freedreno: Use freedreno_dev_info +- freedreno/a6xx: Update SO registers for streams +- ir3: Support geometry streams +- util/bitset: Add a range iterator helper +- tu: Support geometryStreams +- tu: Support rasterizerDiscardEnable and RasterizationStreamSelect + +Daniel Abrecht (1): + +- etnaviv: Make sure to track different pipe_screens for different DRM device descriptions + +Daniel Schürmann (26): + +- aco: execute branch instructions in WQM if necessary +- nir,amd: remove trinary_minmax opcodes +- aco/isel: refactor code and remove unnecessary v_mov +- aco/isel: refactor emit_vop3a_instruction() to handle 2 operand instructions +- ac/nir: implement nir_op_[un]pack_[64/32]_\* +- aco: propagate SGPRs into VOP1 instructions early. +- aco: expand create_vector more carefully w.r.t. subdword operands +- aco: use p_create_vector for nir_op_pack_half_2x16 +- nir/opt_algebraic: optimize unpack_half_2x16_split_x(ushr, a, 16) +- aco: use p_split_vector for nir_op_unpack_half_\* +- aco: add validation rules for p_split_vector +- aco: use v_cvt_pkrtz_f16_f32 for pack_half_2x16 +- radv,aco: lower_pack_half_2x16 +- aco: use VOP2 version of v_cvt_pkrtz_f16_f32 on GFX_6_7_10 +- aco: use VOP2 for v_cvt_pkrtz_f16_f32 if possible +- aco: refactor GFX6_7 subdword copy lowering +- aco: improve code sequences for 16bit packing +- aco: use do_pack() for self-intersecting operations. +- aco: fix GFX8 16-bit packing +- aco: implement nir_op_unpack_[64/32]_\* +- ac/nir: implement nir_op_[un]pack_64_4x16 +- nir: add options to lower nir_op_pack_[64/32]_\* via nir_lower_alu_to_scalar() +- radv: lower pack_[64/32]_\* via nir_lower_alu_to_scalar() +- radv: remove call to nir_lower_pack() +- aco: refactor split_store_data() to always split into evenly sized elements +- nir/lcssa: consider loops with no back-edge invariant + +Daniel Stone (17): + +- glsl/test: Don't run whitespace tests in parallel +- CI: Disable Panfrost T860 and AMD Stoney tests +- CI: Skip flaky CS test on VirGL +- CI: Skip another flaky GS test on softpipe +- CI: Disable Panfrost T720/T760 CI +- meson: Add MSVC narrowing-int-to-char warnings +- CI: Windows: Use separate config file for Docker +- CI: Re-enable VS2019 build +- CI: Disable Windows again +- CI: Temporarily disable Panfrost T7xx +- CI: Re-enable Panfrost T7xx +- CI: Disable Panfrost T7xx CI +- CI: Re-enable Panfrost T7xx CI +- CI: Don't run pixmark-piano twice on radeonsi +- CI: Only run OpenCL tests when we need to +- CI: Disable Panfrost T760 +- freedreno: Add missing dependency to build + +Danylo Piliaiev (19): + +- st/mesa: Treat vertex outputs absent in outputMapping as zero in mesa_to_tgsi +- anv/nir: Unify inputs_read/outputs_written between geometry stages +- spirv: Only require bare types to match when copying variables +- ir_constant: Return zero on out-of-bounds vector accesses +- glsl: Eliminate assigments to out-of-bounds elements of vector +- glsl: Eliminate out-of-bounds triop_vector_insert +- intel/disasm: Change visibility of has_uip and has_jip +- intel/disasm: brw_label and support functions +- intel/disasm: Label support in shader disassembly for UIP/JIP +- intel/assembler: Add labels support +- intel/compiler: Fix pointer arithmetic when reading shader assembly +- st/nir: Call st_glsl_to_nir_post_opts before interface unification +- nir/lower_io: Eliminate oob writes and return zero for oob reads +- nir/large_constants: Eliminate out-of-bounds writes to large constants +- nir/lower_samplers: Clamp out-of-bounds access to array of samplers +- intel/fs: Disable sample mask predication for scratch stores +- docs: add INTEL_SHADER_ASM_READ_PATH description +- nir/lower_returns: Append missing phis' sources after "break" insertion +- freedreno/a6xx: Fix typo in height alignment calculation in a6xx layout + +Dave Airlie (115): + +- anv: add no reloc flags on empty and simple bo paths. +- CI: temp disable t720/t760 jobs. +- llvmpipe: only read 0 for channels being read +- gallium: add an interface for memory allocations. +- gallium: add a resource flag to say no over allocation. +- llvmpipe: add support for memory allocation APIs +- gallivm/nir: add load push constant support +- util/format: add some ZS helpers for vallium +- vulkan/wsi: add sw support. (v2) +- vallium: initial import of the vulkan frontend +- llvmpipe/blit: for 32-bit unorm depth blits just copy 32-bit +- llvmpipe: enable GL 4.5 +- vallium: fix input attachment lowering variable shadowing +- llvmpipe/cs: update compute counters not fragment shader. +- gallium/nir/tgsi: reindent some code in the nir->tgsi info (v2) +- gallivm/nir: add imod support +- gallivm/sample: fix lod query on array textures. +- llvmpipe: lower uadd_carry/usub_borrow. +- gallium/nir/tgsi: add support for compact variables +- gallivm/nir: fixup compact TCS variable storage. +- gallivm/nir: split tex/sampler indirect offsets +- llvmpipe: lower cs local index from id +- llvmpipe: lower mul 2x32_64 +- llvmpipe/nir: lower some more packing at nir level. +- llvmpipe: add reference counting to fragment shaders. +- vallium: handle 3D image views properly. +- vallium: limit buffer allocations to gallium max. +- gallium/nir/tgsi: fix nir->tgsi info conversion for samplers/image +- gallivm/nir: lower tg4 offsets. +- gallivm/nir: add indirect swizzle output loading support +- gallivm/nir: add quantize to f16 support +- gallivm/nir: fix const compact +- gallivm/nir: lower frexp/ldexp +- gallivm/nir: add subpass sampler type support +- gallivm: use common code to select texel type +- llvmpipe: blend has effects even if no colorbuffers. +- llvmpipe: add array/3d clearing support +- llvmpipe/fs: multisample depth/stencil bad ir generated +- gallivm/nir: allow 64-bit arit ops +- gallivm/nir: add some f16 support +- vallium: disable VK_KHR_shader_float16_int8. +- vulkan/device_select: don't pick a cpu driver as the default +- llvmpipe: include gallivm perf flags in shader cache. +- gallivm: disable brilinear for lod bias and explicit lod. +- vtn: add an option to create a nir library from spirv +- clover/nir: add libclc lowering pass +- util: add missing extern C +- clover: handle libclc shader (v3) +- gallivm: fix pow(0, y) to be 0 +- gallivm: fix 64-bit CL intrinsics. +- gallivm/nir: fix up non 32-bit load stores +- gallivm/nir: handle non-32-bit mul high +- llvmpipe: use an alternate env var to enable clover. +- lavapipe: rename vallium to lavapipe +- gallivm/nir: make sure to mask global reads. +- llvmpipe/cs: add in shader shared size. +- gallivm/nir: fix non-32 bit find lsb/msb +- lavapipe: drop dri,dricommon deps. +- ci: move to using clang 10 for meson + clover +- clover: Use core libclc loader +- ci: enable piglit testing of clover/llvmpipe. +- clover: don't call validate spirv at all if not needed +- ci: fix deqp clone + fetch +- CI: build our own spirv tools +- clover/nir: add a constant folding pass before lowering mem const +- llvmpipe: fix sampler/image binding for clover. +- gallivm: add load/store scratch support. +- llvmpipe: fix 8/16 bit global stores +- gallivm: fix 64->16 f2f16 +- gallivm: add 16-bit split/merge support. +- gallivm: add b2i8/b216 support +- gallivm: handle sub-32 bit masked stores. +- gallivm: add support for 8/16-bit mul_hi +- gallivm: get correct min/max behaviour for kernels. +- gallivm: lower flrp for all sizes. +- CI: remove llvmpipe cl flake test +- gallivm: zero init the temporary register storage. +- gallium: add a level parameter to resource parameter get +- gallium: add a layer stride pipe resource parameter. +- llvmpipe: add resource get param support. +- lavapipe: use resource get param. +- gallivm: fix f16 quantize. +- lavapipe: don't write to pending clear aspects in cmd buffer +- lavapipe: constify state pointers into command buffers. +- lavapipe: fix dEQP-VK.info.device_properties +- gallivm/nir: handle dvec3/4 inputs properly. +- gallivm/nir: fix vulkan vertex inputs +- lavapipe: fix 3d compressed texture copies. +- lavapipe: stop crashes with 3D z blits +- llvmpipe: add clear_buffer callback. (v2) +- lavapipe: use clear_buffer callback +- lavapipe: don't advertise linear filtering on integer textures. +- gallium: add a non-multisample sample mask out behaviour flag. +- llvmpipe: respect the sample mask in non-multisample flag +- lavapipe: request correct sample mask behaviour +- CL: update CL headers to 3.0 +- vtn/opencl: add ctz support +- clover: access 3.0 and deprecated 2.2 API +- clover/llvm: add 3.0 versioning. +- clover/spirv: hook up spir-v environment for 3.0 +- clover: add empty cl 3.0 dispatch entries. +- gallium: handle empty cbuf slots in framebuffer samples helper +- u_blitter: port radv 3D blit coords logic. +- lavapipe: enable alpha to one. +- lavapipe: disable SNORM blending for now +- llvmpipe: just use draw_regions in draw/line setup. +- draw: fix tess eval pipeline statistics. +- lavapipe: fixup device allocate + enable private data +- lavapipe: fix wsi acquire fences +- llvmpipe/setup: move point stats collection earlier. +- llvmpipe: fix multisample point rendering. +- llvmpipe: fix multisample lines. +- lavapipe: fixup mipmap precsion bits +- lavapipe: enable pipeline stats queries +- gallium: fix missing bit field in p_state.h + +Denis Pauk (1): + +- mesa: bptc fixes for decompress rgba_unorm and rgb_float + +Duncan Hopkins (10): + +- meson: Add xcb-fixes to loader when using x11 and dri3. Fixes undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c +- zink: clamped maxPerStageDescriptorUniformBuffers limits to INT_MAX when stored as uint32_t. +- zink: Basic framework to check for optional instance layers and instance extensions. +- zink: Added support for MacOS MoltenVK APIs. +- zink: return fail if create_instance fails +- zink: Added inbuilt debug logging from the VK_LAYER_LUNARG_standard_validation layer. +- zink: add support to device info for macro guards and just VkPhysicalDevice*Features with out the have_. +- zink: have_triangle_fans support. +- zink: For MoltenVk added vkFlushMappedMemoryRanges() to vkMapMemory() to fix empty mapped memory. +- zink: make physical device functions use a dynamic function pointers. + +Dylan Baker (31): + +- Bump development version and clear new_features +- meson/freedreno: Fix lua requirement +- docs: update calendar for 20.2.0-rc1 +- docs: update calendar for 20.2.0-rc2 +- meson/anv: Use variable that checks for --build-id +- glsl/xxd.py: fix imports +- clover/meson: use dep.get_variable instead of deprecated get_pkgconfig_variable +- meson: generalize libclc usage +- docs: update calendar and link releases notes for 20.2 +- docs/release-calender: Add 20.2 stable releases +- docs: add release notes for 20.2.0 +- docs: Add sh256 sums for 20.2.0 +- docs: add release notes for 20.2.1 +- docs: add SHA256 sums for 20.2.1 +- docs: update calendar and link releases notes for 20.2.1 +- docs: add release notes for 20.2.2 +- dcs: Add sha256 sums for 20.2.2 +- docs: update calendar and link releases notes for 20.2.2 +- bump version for 20.3-rc1 +- .pick_status.json: Update to bf5cea7232f9ee2934c212211ebefb6fe766526d +- .pick_status.json: Update to 87dc3106b077199b829a082e32ec33d0c6d400ab +- .pick_status.json: Update to bac6cc586fe4c1b24351e0574d3a961eb631f6ae +- bump VERSION for 20.3.0-rc2 release +- .pick_status.json: Update to a59b1b18a95af1f8edb0093baf508e974e3251a2 +- .pick_status.json: Update to a92f597b98bb032b904c7c8a8c3a9fe798b51915 +- .pick_status.json: Update to 9fa1cdfe7ffd9e7ebd83055e2008f3e4b8ada549 +- meson: Don't add extra values to shader-cache +- appveyor: disable for now +- bump VERSION for 20.3-rc3 +- .pick_status.json: Update to 89f6b72f19dbc503386643c6283047bdb1013bef +- .pick_status.json: Update to d3c67d7e7ec6b9cf10fbea0d08e92751b7b0fbae + +Eduardo Lima Mitev (9): + +- st: Pass TextureTiling option from texture to memory obj +- freedreno: Implement memory object create/destroy for GL_EXT_memory_object +- freedreno: Refactor fd_resource_create_with_modifiers() into a helper +- freedreno/layout: Move hard-coded minimum width for UBWC to a macro +- freedreno: implement pipe screen's resource_from_memobj +- freedreno: Implement pipe screen's get_device/driver_uuid() +- freedreno: Enable GL_EXT_memory_object and GL_EXT_memory_object_fd +- freedreno: Destroy syncobj too when destroying fence +- turnip: Enable support for KHR_incremental_present + +Eleni Maria Stea (3): + +- radeonsi: support for external buffers (ext_external_objects) +- iris: handle PIPE_FD_TYPE_SYNCOBJ type +- iris: add support for fence signal capability + +Emil Velikov (1): + +- radv: restrict exported symbols with static llvm + +Emmanuel Vadot (1): + +- util/os_misc: os_get_available_system_memory() for FreeBSD + +Eric Anholt (221): + +- util: Split the pack/unpack functions out of the format desc. +- util: Change a codegenned switch statement to a nice little table. +- util: Fix up indentation in the generated format tables code. +- uitl: Add R1_UNORM to the list of noaccess (no pack/unpack) formats. +- util: Make all 3 fetch_rgba functions occupy the same function slot. +- util: Mark the format description getter functions as const. +- util: Move fetch_rgba to a separate function table. +- gallium: Use unpack_rgba() instead of fetch_rgba in translate_generic +- freedreno/ir3: Fix compiler warning from the setjmp fails path. +- freedreno/cffdec: When .mergedregs is set, don't count half regs. +- freedreno/ir3: Fix assertion failures dumping CS high full regs. +- util: Expose rgba unpack/fetch functions as external functions as well. +- util: Explicitly call the unpack functions from inside bptc pack/unpack. +- radv: Move nir_opt_shrink_vectors() into the opt loop. +- nir/opt_undef: Handle a couple more normal store intrinsics. +- nir: Expand opt_undef to handle undef channels in a store intrinsic. +- nir: Shrink store intrinsic num_components to the size used by the writemask. +- ci/deqp-runner: Drop stale comment from deqp-runner.sh. +- ci/deqp-runner: Drop unused "count" variable +- ci/deqp-runner: Add a post-deqp-run filter list for known flakes. +- ci/freedreno: Move our skips lists over to being known-flakes lists. +- ci/freedreno: List more common flakes reported recently. +- ci/bare-metal: Use a new serial buffer tool. +- ci/bare-metal: Convert the main cros-servo boot code to python +- ci/bare-metal: Retry booting chezas instead of failing when !POWER_GOOD +- ci/bare-metal: Try rebooting chezas again if they get stuck during tftp. +- nir: Make the nir_builder \*_imm helpers consistently handle bit size. +- nir: Add nir_[iu]shr_imm and nir_udiv_imm helpers and use them. +- nir: Add a lowering pass for backends wanting load_ubo with vec4 offsets. +- freedreno/ir3: Replace our custom vec4 UBO intrinsic with the shared lowering. +- nir/load_store_vectorizer: Clean up unit test swizzle assertions. +- freedreno: Drop UNIFORM_BUFFER_OFFSET_ALIGNMENT to 32 +- ci: Mark the rest of compswap as flaky on freedreno. +- freedreno/a5xx: Don't set the VARYING flag for fragcoord-only programs. +- ci: Test the KHR-GL\* CTS cases with softpipe. +- nir/opt_copy_prop_vars: Quiet valgrind warning about overlapping memcpy. +- nir: Add a helper for general instruction-modifying passes. +- nir/lower_vec_to_movs: Convert to use nir_shader_instructions_pass(). +- nir/opt_undef: Convert to use nir_shader_instructions_pass(). +- nir/lower_io_to_scalar: Convert to use nir_shader_instructions_pass(). +- nir/nir_lower_wrmasks: Use the nir_lower_instructions_pass() helper. +- nir/lower_discard_to_demote: Use nir_shader_instructions_pass(). +- drm-shim: Fix unused variable warnings from asserts in release build. +- panfrost: Fix OOB array access compiler warning. +- panfrost: Fix remaining release-build warnings. +- gallium/tests: Fix compiler warning about unused vars in trivial tests. +- nvc0: Fix compiler warning about unused var that gets asserted. +- vc4: Fix unused var warnings in release builds from assertions. +- nv50: Fix uninitialized var warnings from using assert() as unreachable(). +- zink: Fix unused var warnings in release build from assertions. +- etnaviv: Fix unused var warning in release build from assertions. +- lima: Fix unused var/function warnings in release build from assertions. +- lima: Fix uninitialized var warning from using assert() as unreachable(). +- virgl: Fix unused var warnings in release build from assertions. +- ci: Add a release build with -Werror enabled. +- nir: Fix printing of individual instructions with io semantics. +- nir: Look up the shader when printing a single instruction. +- ci: Make a missing device name correctly bail out of deqp-runner.sh. +- turnip: Make sure we include the build id. +- pipe-loader: Use real galliumvl if radeonsi is being linked. +- ci: Switch to using gold as the linker. +- nir: Invalidate live SSA def information when making new SSA defs. +- nir: Switch the indexing of block->live_in/out arrays. +- ci: Bump vulkan CTS version to 1.2.3.2, and keep the GL CTS around. +- ci: Use the same VK-GL-CTS tree for GL/GLES as VK. +- ci: Enable KHR-GL30 CTS testing on freedreno a630. +- freedreno/a6xx: Add ARB_depth_clamp and separate clamp support. +- gallivm: Report the unsupported intrinsic instead of just assert(0); +- gallium/tgsi: Add support for PRIMITIVEID as a system value. +- gallium/tgsi: Add some missing opcodes to tgsi_ureg. +- gallium/tgsi: Add a helper for initializing ureg from a shader_info. +- gallium/ureg: Set the next shader stage from the shader info. +- nir: Add simplistic lowering for bany_equal/ball_inequal. +- nir/opt_vectorize: Add a callback for filtering of vectorizing. +- gallium/tgsi_exec: Add missing DFLR opcode support. +- gallium/tgsi_exec: Fix up NumOutputs counting +- ci/bare-metal: Use re.search() instead re.match() for our line matching. +- ci/bare-metal: Fix detection of "POWER_GOOD not seen in time" fails +- ci/bare-metal: Include a timestamp in our serial reads. +- ci/bare-metal: Log why our run restarts when it does. +- ci/bare-metal: Fix capturing of serial output as job artifacts. +- ci/bare-metal: Use python for handling fastboot booting and parsing +- nir/load_store_vectorizer: Use more imm helpers in the tests. +- nir/load_store_vectorizer: Add unit tests for alignment handling. +- nir: Update the comment about nir_lower_uniforms_to_ubo()'s multiplier. +- nir: Add a range_base+range to nir_intrinsic_load_ubo(). +- freedreno/ir3: Use the new NIR UBO ranges in UBO analysis. +- freedreno/ir3: Apply the max upload limit to initial range setup +- nir: Use explicit deref information to provide real UBO ranges. +- iris: Add missing range_base/range to our nir_load_ubos. +- turnip: Fix a compiler warning in release builds of the query code. +- freedreno: Make the pack struct have a .qword for wide addresses. +- turnip: Fix truncation of CS shader iovas to 32 bits. +- turnip: Fix truncation of iovas to 32 bits in queries. +- ci/bare-metal: Update the kernel to msm-next-pgtables +- ci/bare-metal: Allow wget of the kernel/dtb for kernel development. +- freedreno: Add another new sysmem flake. +- freedreno/cffdec: Fix up texturator parsing scripts for XML changes. +- freedreno/cffdec: Add support for texturator's 2DMS layout setup. +- freedreno/fdl: Add layout test for the Android CTS's MSAA mustpass surface. +- turnip: Add support for a615. +- turnip/kgsl: Associate fences with submits. +- mesa: Make the android_stub be a set of non-installed shared libraries. +- android: Disable trying to read/write to the disk cache. +- gallium/drm: Deduplicate screen creation for the dynamic (clover) pipe loader. +- gallium/drm: Refactor the stub screen create functions. +- gallium/drm: Define the DRM entrypoints in drm_helper.h +- gallium/drm: Make the pipe loader handle the driconf merging. +- util/xmlconfig: Add a unit test of the code. +- virgl: Clean up the driconf definition of GLES_SAMPLES_PASSED_VALUE. +- driconf: Use nesting macros for defining options. +- mesa: Promote Intel's simple logging façade for Android to util/ +- turnip: Replace tu_log*() with mesa_log*() +- ci/freedreno: Sort the traces in the .yml of expectations +- ci/freedreno: Add trace tests for glxgears, 0 A.D., and xonotic. +- nir/lower_clip: Add i/o semantics for load/store intrinsics. +- intel: Add support for i945g to intel_stub_gpu. +- freedreno/ir3: Make sure we run the opt loop after lowering UBOs to vec4. +- nir: Document a bit about how align_mul/offset work. +- nir: Print the alignment information on casts. +- nir/nir_lower_uniforms_to_ubo: Set better alignments on our new instructions. +- nir/gl_nir_lower_buffers: Set up align_mul/offset on UBOs. +- nir: Make the load_store_vectorizer provide align_mul + align_offset. +- nir: Drop the high_offset argument to the load_store_vectorizer filter. +- nir: Make nir_lower_ubo_vec4() handle non-vec4-aligned loads. +- freedreno/ir3: Enable the i/o vectorizer on UBOs. +- ci/bare-metal: Move the "POWER_GOOD not seen in time" check to the right time. +- driconf: Eliminate the DRI_CONF_OPT_BEGIN_B macro. +- driconf: Fix extra quoting on "Jimenez'". +- r200: Reuse DRI_CONF_OPT_F for texture_blend_quality. +- driconf: Make a DRI_CONF_OPT_S() for string options. +- util/xmlconfig: Drop silly open-coded strdup. +- util/xmlconfig: Indent to Mesa style. +- driconf: Delete disjoint range support. +- driconf: Use DRI_CONF_OPT_I for remaining int options +- driconf: Make the driver's declarations be structs instead of XML. +- driconf: Stop quoting true/false in boolean option definitions. +- util/xmlconfig: Drop use of XML_Char in parsing. +- android: Disable the user XML config parsing. +- turnip: Don't expose VK_ANDROID_native_buffer on non-Android. +- turnip: Use mesa's normal PRINTFLIKE macro instead of our own. +- turnip: Mark the vk_errorf helper as bring printflike. +- turnip: Extend the coverage of TU_DEBUG=startup. +- turnip: Always enable TU_DEBUG=startup on debug drivers. +- turnip: Report device loss through \_mesa_loge() instead of fprintf. +- turnip/kgsl: Add strerror decode in BO init failure. +- driconf: Make sure that the range check on the defaults actually works. +- driconf: Restore the ability to override driconf with the environment. +- ci/softpipe: Add another flaky GS test to the skips list. +- freedreno/ir3: Clean up the UBO upload plan setup. +- freedreno/ir3: Don't leave holes the UBO upload plan. +- turnip/kgsl: Fix last minute breakage of the build. +- turnip/kgsl: Add support for importing dma-bufs. +- turnip: Detect Qualcomm gralloc and its UBWC flag on gralloc surfaces. +- turnip: Add support for GetSwapchainGrallocUsage2ANDROID(). +- meson: Drop adding -Wl,--gc-sections to project c/cpp arguments. +- glsl/tests: Make the tests skip on Android binary execution failures. +- symbols-check: Add \__cxa_guard_\* to the list of approved symbols. +- ci/android: Switch to using the Android NDK. +- docs: Document how to replicate a CI build locally. +- android_stub: Update platform headers to include gralloc1.h. +- ci/android: Switch build to using platform SDK version 26. +- util: Import a copy of drm's libsync.h +- android: Add pre-4.7 Android kernel compatibility to our libsync header. +- turnip: Drop a dead error checking path in device init. +- turnip: Use Mesa's libsync.h instead of libdrm's libsync.h. +- turnip: Don't link the WSI code if we don't have a WSI extension. +- turnip: Only link libdrm in the DRM case, not KGSL. +- ci: Enable NIR_VALIDATE everywhere. +- nir: Introduce nir_metadata_instr_index for nir_index_instr() being current. +- nir: Replace nir_ssa_def->live_index with nir_instr->index. +- nir: Add a block start/end ip to live instr index metadata. +- nir: Add a call to get a struct describing SSA liveness per instruction. +- nir: Add an option to not lower source mods for f64/u64/i64. +- gallium: Add a nir-to-TGSI pass. +- softpipe: Fix buffer overflows in SSBO atomics. +- softpipe: Switch to using NIR as the shader format from mesa/st. +- meson: Only require libexpat when a part of the build needs it. +- freedreno: Use Android's libsync instead of libdrm's. +- meson: Don't try to build GLX by default on Android. +- meson: Don't enable libunwind by in 'auto' mode on Android. +- docs: Document how to build and install Android drivers. +- freedreno/cffdec: Fix format overflow warning. +- freedreno/tools: Fix compiler warnings about using sz in the error paths. +- freedreno/fdperf: Silence a compiler warning about current counter. +- turnip: Handle some error paths in allocating CS space from a command buffer. +- turnip: Handle the error path for tu/drm's vkResetFences(). +- turnip: Add error path handling for descriptor pool init. +- ci: Enable Werror on meson-arm64-build-test. +- gallium/ntt: Add default compiler options for non-native-NIR drivers. +- st/mesa: Drop the TGSI paths for PBOs and use nir-to-tgsi if needed. +- st/mesa: Drop the TGSI paths for drawpixels and use nir-to-tgsi if needed. +- nir: Only validate in passes that might have changed things. +- docs: Move the gallium driver documentation to the top level. +- docs/vmware: Move the vmware driver docs into the drivers section. +- docs/vc4: Move my old vc4 wiki's documentation into docs.mesa3d.org. +- docs/vc4: Add information on the hw documentation available. +- docs/v3d: Add a little stub of v3d documentation. +- docs: Drop extra link to old DRI wiki in the "Help" section. +- docs: Add a link to the linux kernel DRM docs under "Developer Topics" +- docs: Fix "Hosted by" link and drop duplicate. +- ci: Add the new timeout-prone softpipe-gl test to the skips list. +- mesa/st: Fix a use-after-free of the NIR shader stage. +- st/nir: Fix the st->pbo.use_gs case. +- st/nir: Drop setting interp mode on system values in builtins. +- tu: Make sure spirv_to_nir knows we support imageStorageWithoutFormat. +- turnip: Fix image size for 3D vkGetImageSubresourceLayout. +- ci/bare-metal: Apply autopep8 to the bare-metal scripts. +- ci/bare-metal: Reset colors at the end of a line of serial output. +- ci/deqp: Switch to a new dEQP runner written in Rust. +- util/set: Fix the \_mesa_set_clear function to not leave tombstones. +- ci: Only install kernel modules for LAVA devices. +- gallium/draw: Fix rasterizer_discard for wide points/lines. +- freedreno: Fix leak of shader binary on disk cache hits. +- freedreno: Fix warning about uninit size for the size==0 special case. +- gallium: Fix leak of the merged driconf options. +- freedreno: Fix leak of u_transfer_helper. +- gallium: Fix leak of bound SSBOs at CSO context destruction. +- gallivm: Fix max const buffer count. +- gallium: Fix leak of currently bound UBOs at CSO context destruction. +- freedreno: Break out of "should we free the entry" loop once we've freed. + +Eric Engestrom (94): + +- pick-ui: specify git commands in "resolve cherry pick" message +- egl/entrypoint-check: split sort-check into a function +- egl/entrypoint-check: add check that GLVND and plain EGL have the same entrypoints +- driconf: fix force_gl_vendor description +- meson: bump required glvnd version +- egl: replace \_EGLDriver param with \_EGLDisplay->Driver in \_eglReleaseDisplayResources() +- egl: replace \_EGLDriver param with \_EGLDisplay->Driver in dri{2_x11,3}_create_window_surface() +- egl: replace \_EGLDriver with \_EGLDisplay->Driver in \_eglQuerySurface() +- egl: drop unused \_EGLDriver from Initialize() +- egl: drop unused \_EGLDriver from Terminate() +- egl: drop unused \_EGLDriver from {Create,Destroy}Context() +- egl: drop unused \_EGLDriver from Create{Window,Pixmap,Pbuffer}Surface() & DestroySurface() +- egl: drop unused \_EGLDriver from MakeCurrent() +- egl: drop unused \_EGLDriver from QuerySurface() +- egl: drop unused \_EGLDriver from {Bind,Release}TexImage() +- egl: drop unused \_EGLDriver from SwapInterval() +- egl: drop unused \_EGLDriver from SwapBuffers{,WithDamageEXT,RegionNOK}() +- egl: drop unused \_EGLDriver from CopyBuffers() +- egl: drop unused \_EGLDriver from SetDamageRegion() +- egl: drop unused \_EGLDriver from WaitClient() +- egl: drop unused \_EGLDriver & \_EGLDisplay from WaitNative() +- egl: drop unused \_EGLDriver from GetProcAddress() +- egl: drop unused \_EGLDriver from {Create,Destroy}ImageKHR() +- egl: drop unused \_EGLDriver from {Create,Destroy,ClientWait,Wait,Signal}SyncKHR() +- egl: drop unused \_EGLDriver from DupNativeFenceFDANDROID() +- egl: drop unused \_EGLDriver from {Create,Export}DRMImageMESA() +- egl: drop unused \_EGLDriver from {Bind,Unbind,Query}WaylandDisplayWL() +- egl: drop unused \_EGLDriver from CreateWaylandBufferFromImageWL() +- egl: drop unused \_EGLDriver from PostSubBufferNV() +- egl: drop unused \_EGLDriver from QueryBufferAge() +- egl: drop unused \_EGLDriver from ExportDMABUFImage{,Query}MESA() +- egl: drop unused \_EGLDriver from QueryDmaBuf{Formats,Modifiers}EXT() +- egl: drop unused \_EGLDriver from SetBlobCacheFuncsANDROID() +- egl: drop unused \_EGLDriver from \_eglGetConfigs()/_eglChooseConfig()/_eglGetConfigAttrib() +- egl: drop unused \_EGLDisplay from \_eglSetDamageRegionKHRClampRects() +- egl: drop unused \_EGLDriver & \_EGLDisplay from \_eglQueryContext() +- egl: drop unused \_EGLDriver from \_eglSurfaceAttrib() +- egl: replace \_EGLDriver with \_EGLDisplay->Driver in \_eglGetSyncAttrib() +- egl: replace replace \_EGLDriver with \_EGLDisplay->Driver in eglapi.c +- egl: drop unused \_EGLDriver from MesaGLInteropEGL{QueryDeviceInfo,ExportObject}() +- egl: replace \`&_eglDriver`/`NULL\` tested against \`NULL\` with simple \`true`/`false\` +- egl: drop unused ${drv}_driver() +- egl: inline \_eglGetDriverProc() into eglGetProcAddress() +- egl: inline \_eglInitializeDisplay() into eglInitialize() +- egl: drop now empty egldriver.c +- egl: drop unused egldriver.h header +- meson: fix trivial s/dir/dri/ typo +- egl/x11_dri3: enable & require xfixes 2.0 +- egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage +- docs: add release notes for 20.1.6 +- docs: update calendar and link releases notes for 20.1.6 +- gitlab-ci: fix testing whether a variable with a given name is set or not +- gitlab-ci: fix quoting of variables passed down to bare-metal runners +- egl: drop an indentation level in \_eglFindDisplay() by replacing break/if with a goto +- egl: drop another indentation level in \_eglFindDisplay() by inverting an if +- egl: drop invalid shebang +- scons: bump c++ standard to 14 to match meson +- docs/egl: fix typo +- docs/egl: move section around +- docs/egl: complete list of dri2 platforms +- docs/egl: add haiku driver +- docs/egl: add some more documentation +- docs/egl: correct/update DRI2 mention with the shiny new DRI3 +- egl: move extension driver functions after core functions +- egl: document which driver hooks are only required by extensions +- egl: inline eglSwapInterval() fallback +- egl: simplify eglSwapInterval() fallback logic +- meson: don't advertise TLS support if glx wasn't build with it +- egl/android: simplify dri2_initialize_android() +- egl/surfaceless: simplify dri2_initialize_surfaceless() +- egl/wayland: simplify dri2_initialize_wayland() +- egl/x11: simplify dri2_initialize_x11() +- docs: add release notes for 20.1.7 +- docs: update calendar and link releases notes for 20.1.7 +- docs: shift 20.2 rc dates by two weeks to match reality +- meson: drop leftover PTHREAD_SETAFFINITY_IN_NP_HEADER +- docs/download: mention tarball GPG signatures and link to the keys +- docs: add another 20.1.x release to allow for more overlap with 20.2 +- docs/release-calendar: update 20.2 +- docs: add release notes for 20.1.8 +- docs: update calendar and link releases notes for 20.1.8 +- bin/gen_release_notes.py: escape special rST characters +- docs: add release notes for 20.1.9 +- docs: update calendar and link releases notes for 20.1.9 +- add one last 20.1 release to coincide with expected 20.2.1 +- radv: add missing u_atomic.h include +- docs: fix relnotes index +- docs: fix release calendar +- docs: fix 20.2.0 relnotes +- docs: add release notes for 20.1.10 +- docs: update calendar and link releases notes for 20.1.10 +- docs/release-calendar: plan 20.3 release +- gitlab-ci: drop deprecated platforms that snuck in when nobody was watching +- meson: drop deprecated EGL platform build options + +Erico Nunes (4): + +- lima: dont split vec3 unaligned load inputs +- lima: allocate new bo for stream draw +- lima: fix vertex shader uniform buffer size +- lima: add natively supported vertex buffer formats + +Erik Faye-Lund (123): + +- st/wgl: do not reject PFD_SUPPORT_GDI +- gallium/util: factor out primitive-restart rewriting logic +- gallium/indices: don't expand prim-type for 8-bit indices +- gallium/indices: generalize primitive-restart logic +- gallium/indices: implement prim-restart for line-loops +- gallium/indices: use prim_restart-helper for polygon +- gallium/indices: implement prim-restart for triangle fans +- gallium/indices: introduce u_primconvert_config +- gallium/indices: translate primitive-restart values +- compiler/nir: make lowering global-id to local-id optional +- nir: add iabs-lowering code +- gallium/util: use uint sampler for stencil-reads +- nir: fix const-cast warning on MSVC +- v3d: remove unused header +- vc4: remove unused header +- gallium/aux: remove unused u_blit.[ch\] +- gallium/util: add shader for stencil-blits +- gallium/util: add blitter-support for stencil-fallback +- mesa: handle GL_FRONT after translating to it +- zink: correct typo in stencil-setup +- zink: store base-object of DSA-state +- zink: only set stencil-ref for back if two-sided +- docs: escape backquote character +- docs: show 'Edit on GitLab'-link +- docs: store prefixes in redirects +- docs: remove webmaster article +- docs: everytime -\> every time +- docs: apis -\> APIs +- docs: scons -\> SCons +- docs: frambuffer -\> framebuffer +- docs: make two acronyms upper-case +- docs: unecessarily -\> unnecessarily +- docs: behaviour -\> behavior +- docs: timeplan -\> time plan +- docs: initialisation -\> initialization +- docs: gitlab -\> GitLab +- docs: url -\> URL +- docs: recognisable -\> recognizable +- docs: drop outdated gallium-docs comment +- docs: clippping -\> clipping +- docs: consistantly -\> consistently +- docs: stabilisation -\> stabilization +- docs: flavours -\> flavors +- docs: debian -\> Debian +- docs: docker -\> Docker +- docs: gallium -\> Gallium +- st/mesa: use roundf instead of floorf for lod-bias rounding +- gallium/util: set right dst-dimensions +- gallium/util: fix texture-coordinates for stencil-fallback +- gallium/util: allow scaling blits for stencil-fallback +- docs: softwara -\> software +- docs: existant -\> existent +- docs: webservice -\> web service +- docs: bpp -\> BPP +- docs: llvm -\> LLVM +- docs: correct reference to meson.build +- docs: meson -\> Meson +- docs: python3 -\> Python 3 +- docs: flex -\> Flex +- docs: bison -\> Bison +- docs: mako -\> Mako +- docs: chocolatey -\> Chocolatey +- docs: ninja -\> Ninja +- docs: mingw -\> MinGW +- docs: microsoft -\> Microsoft +- docs: linux -\> Linux +- docs: windows -\> Windows +- docs: visual studio -\> Visual Studio +- docs: gpu -\> GPU +- docs: cmake -\> CMake +- docs: x11 -\> X11 +- docs: wayland -\> Wayland +- docs: drm -\> DRM +- docs: android -\> Android +- docs: git -\> Git +- docs: quote "git log" +- docs: scons -\> SCons +- docs: ubuntu -\> Ubuntu +- docs: vmware -\> VMWare +- docs: Sandybridge -\> Sandy Bridge +- docs: cpu -\> CPU +- gallium/util: fix memory-leak +- gallium/util: allow scissored blits for stencil-fallback +- zink: use nir_lower_ubo_vec4 to simplify things a bit +- zink: support non-const offsets +- zink: support loading any UBO +- zink: do not report SSBOs as halfway supported +- zink: add feature-documentation +- zink: reject resource-imports with modifiers +- v3d: do not report alpha-test as supported +- vc4: do not report alpha-test as supported +- nir: drop support for using load_alpha_ref_float +- nir: drop unused alpha_ref_float +- docs: create leading directories for redirects +- docs: verify that targets for relative redirects exist +- docs: specify redirects relative to docs-root +- docs: specify redirects in conf.py instead +- zink: verify geometry shader feature +- docs: do not document required minimum +- docs: document zink's gl \\> 3.0 requirements +- mapi: remove unused function +- mapi: do not call thread-unsafe dispatch getter +- mapi: do not return thread-specific data for wrong thread +- docs: add link to extension spec +- docs: ie. -\> i.e. +- docs: eg. -\> e.g. +- docs: anistropy -\> anisotropy +- docs: api -\> API +- docs: hud -\> HUD +- docs: fbo -\> FBO +- docs: gcc -\> GCC +- docs: clang -\> Clang +- docs: s3tc -\> S3TC +- spirv: correct sematic-typo +- libgl-gdi: support building without softpipe +- gallium/util: do not pass undefined sample-count +- softpipe: correct signature of get_compiler_options +- mesa/main: add missing include in glformats.h +- zink: more accurately track supported blits +- zink: fix layered resolves +- zink: fall back to util_blitter for scaled resolves +- docs: document new zink-flag +- zink: do not require VK_KHR_external_memory + +Felix Yan (1): + +- Correct a typo in threads_win32.h + +Gert Wollny (81): + +- gallium + mesa/st: Add PIPE_CAP_NIR_ATOMICS_AS_DEREF and use it +- r600: Set PIPE_CAP_NIR_ATOMICS_AS_DEREF to true +- r600/sfn: Sort uniforms by binding and offset +- r600/sfn: add r600 specific lowering pass for atomics and use it +- r600/sfn: Add a mapping table for atomics +- r600/sfn: correct allocating and emitting of atomics +- r600/sfn: Correct ssbo instruction handling +- r600/sfn: handle querying SSBO size +- r600/sfn: Force a minimum of 4 GPRs, it seems to fix atomics +- r600: Enable compute shaders for NIR code path +- compiler/nir: rewrite lower_fragcoord_wtrans to use nir_lower_instructions +- compiler/nir: extend lower_fragcoord_wtrans to support VARYING_SLOT_POS +- gallium/aux: reorder vertex attributes in triangle fans according to PV +- meson: Make some warnings handled as errors with MSVC +- r600: revert disabling llvm draw +- r600/nir: fetch sources and split uniforms before emittting alu instructions +- r600/sfn: correct ring op patching +- r600/sfn: Fix loading vertex attributes +- r600/sfn: clone shader before lowering to registers and src/dest modifiers +- r600/sfn: Fix ordering of tex param moves +- r600/sfn: avoid some copies +- r600/sfn: Lower \*sign opcodes in nir +- r600/sfn: Fix split_alu_modifiers +- r600/sfn: Fix bitfield ops and 2x16 split_y +- r600/sfn: Fix source swizzle for gradient queries +- r600/sfn: more fixing of vec4 fetching +- r600/sfn: Fix comparison with different signedness +- nir: Add option lower_uniforms_to_ubo +- radeonsi: set compiler flag lower_uniforms_to_ubo +- freedreno/ir3: set lower_uniforms_to_ubo compiler flag +- intel/compiler: Set lower_uniform_to_ubo compiler flag +- llvmpipe: set lower_uniform_to_ubo compiler flag +- gallium+mesa/st: lower uniforms based on compiler flag instead of packed uniforms cap +- r600: enable lowering uniforms to UBO +- r600/sfn: Use load_ubo_vec4 lowering pass +- nir: remove ubo_r600 instrinsic since ubo_vec4 is used now +- r600/sfn: make number of source components a local variable +- r600/sfn: Fix component count for fdph +- r600/sfn: Fix typo in comment +- r600/sfn: use cnde instead of cnde_int +- r600/sfn: run late algebraic optimizations +- r600/sfn: remove a useless if-condition +- r600: Add flag for dual-source blending to shader key +- r600/sfn: Sort the outputs of the FS according to data index +- r600/sfn: Keep info about dual-source blend in FS +- r600/sfn: Handle number of color outputs taking dual source blending into account +- r600/sfn: Take dual source blending output indices into account +- r600/sfn: Acquire the number of FS outputs and the write_all info early +- r600/sfn: Be a bit more verbose when logging skipped FS outputs +- r600/sfn: Fix emitting shared atomics with constant sources +- r600/sfn: Handle nir_op_b2b32 +- r600/sfn: lower to scalar for some optimizations and vectortize later +- r600/sfn: Support group memory barrier +- r600/sfn: save some instructions when doing multisample on sample 0 +- r600/sfn: use fine gradient evaluation for interpolate_at_offset +- r600/sfn: Fix interpolate at sample +- r600/sfn: Fix indirect const buffer access +- r600/sfn; go back to not lowering uniforms to UBOs +- r600/sfn: replace hand-backed literal check by NIR function +- r600/sfn: remove old code to track uniforms as it is no longer needed +- r600/sfn: Add support for helper invocations +- r600/sfn: Fix enabling the right interpolator for inerpolate_at_sample +- r600/sfn: Fix IDX register ID +- r600/sfn: Add support for more barrier instructions +- r600/sfn: extend life range of all variables by one +- r600/sfn: Don't reuse registers for workgroup ID and local invocation ID +- r600/sfn: Fix ssbo resource offset for buffer loads +- r600/sfn: Fix keepalive patch +- r600/sfn: fix mega fetch count for SSBO/Image atomics result fetch +- r600/sfn: Rework get_temp_register to return a smart pointer to GPRValue +- r600/sfn: use shared pointer to GPR for FS sysvalues +- r600/sfn: Handle mem barrier and image barrier by using ACK +- r600/sfn: use cacheless op for coherent image write +- r600/sfn: use 32 bit bools +- r600/sfn: fix remapping of deleted attributes +- r600/sfn: Use register keep-alive also when scanning the shader +- r600/sfn: Fix the parameter component type +- r600/sfn: Update state docu +- compile/nir: Correct printing dest_type +- r600/sfn: lower bool to int32 only after common optimizations +- r600/sfn: fix component loading from fixed buffer ID + +Greg V (1): + +- radv,anv: use CLOCK_MONOTONIC_FAST when CLOCK_MONOTONIC_RAW is undefined + +Guido Günther (1): + +- kmsro: Extend to include imx-dcss + +Gurchetan Singh (7): + +- virgl: add flags to (*resource_create) callback +- drm-uapi: virtgpu_drm.h: resource create blob + host visible memory region +- virgl/drm: query for resource blob and host visible memory region +- virgl/drm: add resource create blob function +- virgl: support PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT +- virgl: query blob mem +- virgl: fix stride + layer_stride inconsistency + +Hoe Hao Cheng (7): + +- zink: generate extension infrastructure using a python script +- zink: hook zink_device_info.py to build system +- zink: use the new extension infrastructure in device creation +- zink: use the new, generated extension infrastructure +- zink: remove old extension infrastructure +- zink: implement pipe_device_reset_callback +- zink: call the reset callback not only during a status check + +Hyunjun Ko (4): + +- freedreno: support GL_EXT_semaphore +- turnip: Refactor structs of tu_query +- turnip: Support pipeline statistics query +- turnip: Implement VK_EXT_host_query_reset + +Iago Toral Quiroga (443): + +- v3d/compiler: fix V3D double-rounding of .8 fixed-point XY coordinates +- v3dv: add support for valgrind macros +- v3dv: implement vkCreateInstance +- v3dv: implement vkDestroyInstance +- v3dv: implement vkEnumeratePhysicalDevices +- v3dv: pretend to initialize a physical device +- v3dv: Implement vkGetPhysicalDeviceProperties +- v3dv: retrieve device name from device info +- v3dv: add a comment to clarify how we should implement uuid / deviceID retrieval +- v3dv: implement vkGetPhysicalDeviceMemoryProperties +- v3dv: implement vkGetPhysicalDeviceFeatures +- v3dv: implement vkEnumerateDeviceExtensionProperties +- v3dv: amend vkEnumerateInstanceExtensionProperties to handle layers +- v3dv: implement vkGetPhysicalDeviceQueueFamilyProperties +- v3dv: implement vkCreateDevice +- v3dv: implement vkGetDeviceQueue +- v3dv: add dummy implementations for the packet definition generator +- v3dv: add stubs for the format table and vkGetPhysicalDeviceFormatProperties +- v3dv: add some basic support for format properties +- v3dv: implement vkEnumerate{Instance,Device}LayerProperties +- v3dv: add stub for vkDeviceWaitIdle +- v3dv: implement vkCreateImage +- v3dv: implement vkGetImageMemoryRequirements +- v3dv: initialize mememory heaps in the physical device +- v3dv: implement vkAllocateMemory +- v3dv: implement vkFreeMemory +- v3dv: implement vkMapMemory +- v3dv: implement vkUnmapMemory +- v3dv: implement vkBindImageMemory +- v3dv: implement vkCreateImageView +- v3dv: implement vk{Create,Destroy}Buffer +- v3dv: implement vkGetBufferMemoryRequirements +- v3dv: implement vkBindBufferMemory +- v3dv: implement vkCreateRenderPass +- v3dv: implement vk{Create,Destroy}RenderPass +- v3dv: implement vk{Create,Destroy}Framebuffer +- v3dv: implement vkCreateCommandPool +- v3dv: implement vk{Allocate,Free}CommandBuffers +- v3dv: create a v3dv_bo struct and reference it from v3dv_device_memory +- v3dv: add a concept of a command list +- v3dv: implement vkBeginCommandBuffer +- v3dv: start handling command buffer status +- v3dv: implement vkGetPhysicalDeviceImageFormatProperties +- v3dv: make v3dv_bo_alloc allocate memory for the bo struct +- v3dv: compute tile size for framebuffer +- v3dv: implement vkCmdBeginRenderPass +- v3dv: make the command buffer own the command list BOs +- v3dv: add a few more API stubs +- v3dv: store base mip level in the image view +- v3dv: add the tile state and alloc BOs to the command buffer BO list +- v3dv: revert the decision that the command buffer takes ownership of BOs +- v3dv: implement vkDestroyImage and vkDestroyImageView +- v3dv: make v3dv_layer_offset public +- v3dv: plug leak when destroying device +- v3dv: precompute more tiling info at framebuffer creation time +- v3dv: emit scissor to render area and precompute hw color clear values +- v3dv: emit the render command list +- v3dv: implement vkEndCommandBuffer +- v3dv: create the command buffer BO set before we init CLs +- v3dv: keep track of the numbre of BOs in a command buffer +- v3dv: clear set of BOs in the command buffer on reset +- v3dv: implement vkQueueSubmit +- v3dv: be more conservative resetting command buffer state +- v3dv: setup color clear values at subpass setup time +- v3dv: emit tile loads +- v3dv: flush at the end of each subpass +- v3dv: split framebuffer internal bpp calculations from tiling calculations +- v3dv: rename and make compute_tile_size_for_framebuffer() public +- v3dv: implement vkCmdCopyImageToBuffer +- v3dv: add the concept of a job +- v3dv: implement vkCmdNextSubpass +- v3dv: use the correct miplevel slice for the tile load operation +- v3dv: implement vkCmdPipelineBarrier +- v3dv: do not automatically emit a binner flush when finishing jobs +- v3dv: fix clipping against render area +- v3dv: add a note on interactions between clearing and scissor +- v3dv: rewrite attachment state tracking +- v3dv: only clear attachments on the first subpass that uses them +- v3dv: merge subpasses into the same job when possible +- v3dv: fix tile buffer loading +- v3dv: rewrite the attachment needs clearing condition +- v3dv: create a helper to start a new frame +- v3dv/cmd_buffer: rename render pass RCL emission helpers to be more explicit +- v3dv: handle VK_ATTACHMENT_UNUSED properly in more places +- v3dv: implement vkDeviceWaitIdle +- v3dv: implement vk{Create,Destroy}Semaphore +- v3dv: implement semaphore waits and signals on queue submissions +- v3dv: implement fences +- v3dv: support queue submissions with multiple command buffers +- v3dv: implement vkGetPhysicalDeviceSparseImageFormatProperties +- v3dv: include Vulkan version 1.1 as unsupported. +- v3dv: implement VK_KHR_get_physical_device_properties2 +- v3dv: implement VK_KHR_external_memory_capabilities +- v3dv: implement VK_KHR_external_memory{_fd,_dma_buf} +- v3dv: fix copy image to buffer +- v3dv: implement vkGetImageSubresourceLayout +- v3dv: implement DRM modifier setup for WSI +- v3dv: hook up WSI support +- v3dv: implement device detection on actual hardware +- v3dv: allocate winsys BOs properly +- v3dv: rename drm device fields so they are more explict +- v3dv: don't swap RB channels when copying images to buffers +- v3dv: implement support for depth testing +- v3dv: don't always skip tile buffer stores +- v3dv: compute subpass ranges for attachments at render pass creation time +- v3dv: select the depth/stencil buffer from the attachment aspect mask +- v3dv: select correct internal type for depth/stencil formats +- v3dv: support depth testing on combined depth/stencil formats +- v3dv: implement stencil testing +- v3dv: fix indentation +- v3dv: support copying depth/stencil aspects to buffer +- v3dv: fix viewport state from pipeline +- v3dv: implement early Z optimization +- v3dv: clamp stencil masks and reference value to supported limits +- v3dv: implement dynamic stencil states +- v3dv: fix the mess with dynamic state handling +- v3dv: add a helper to compute the hardware clear color +- v3dv: add a helper to get the Z/S buffer from an aspect mask +- v3dv: implement vkCmdClearAttachments +- v3dv: implement indexed draws +- v3dv: fix clockwise primitive setting +- v3dv: ignore image view aspects for depth/stencil attachments +- v3dv: take the number of layers from the framebuffer +- v3dv: Add more supported formats to our format table +- v3dv: don't advertise texel buffer support yet. +- v3dv: implement vkCmdCopyBuffer +- v3dv: implement vkCmdUpdateBuffer +- v3dv: implement vkCmdFillBuffer +- v3dv: move the framebuffer setup code for buffer copy/fill to a helper +- v3dv: add a concept of a fake framebuffer for meta-copy operations +- v3dv: refactor common code in meta copy operations +- v3dv: fix copy size for image to buffer copies +- v3dv: implement vkCmdCopyImage +- v3dv: implement vkCmdClearColorImage +- v3dv: fix buffer automatic stride for image to buffer copies +- v3dv: implement vkCmdClearDepthStencilImage +- v3dv: implement vkCmdCopyBufferToImage for color formats +- v3dv: vkCmdCopyBufferToImage for depth/stencil formats +- v3dv: add an assert to catch applications trying to clear invalid aspects +- v3dv: implement indirect draws +- v3dv: add support for primitive restarts on indexed draw calls +- v3dv: initialize in_sync_bcl in our submits +- v3dv: implement vkResetCommandBuffer +- v3dv: add assertions for unimplemented fallback paths +- v3dv: honor swizzle for non-copy operations of color formats +- v3dv: implement vkQueueWaitIdle +- v3dv: destroy wsi device during physical device termination +- v3dv: implement vk{Create,Destroy}BufferView +- v3dv: implement host-side event handling functions +- v3dv: adjust a few limits to comply with CTS minimum requirements +- v3dv: declare that we support robust buffer access +- v3dv: meet requirements for supported format features and properties +- v3dv: implement vkResetCommandPool +- v3dv: don't swap R/B channels for VK_FORMAT_R5B6G5_UNORM_PACK16 +- v3dv: don't use TLB path for formats that are not supported for rendering +- v3dv: fix image clearing with VK_REMAINING_\* +- v3dv: don't support image formats that we can rendet to or texture from +- v3dv: fix fill buffer with VK_WHOLE_SIZE +- v3dv: implement vkGetRenderAreaGranularity +- v3dv: fix supertile coverage when render are size is 0. +- v3dv: take memory format from appropriate miplevel for image load/store +- v3dv: fix framebuffer format when computing fragment shader key +- v3dv: fix subpass tracking in the command buffer state +- v3dv: rewrite frame tiling setup +- v3dv: more frame tiling refactors +- v3dv: trivial refactors in a few meta copy helpers +- v3dv: assign driver locations on fragment shader output variables +- v3dv: don't reset loader data on command buffers +- v3dv: drop incorrect assertion +- v3dv: add a no-op fragment shader if we don't have one +- v3dv: implement interpolation qualifiers +- v3d/compiler: implement nir_op_fquantize2f16 +- v3dv: call nir_lower_io_arrays_to_elements_no_indirects on vertex shaders +- v3dv: fix incorrect sizing of the vertex attribute state array +- v3dv: split fragment shader array outputs +- v3dv: lower usubborrow and uaddcarry +- v3dv: lower {i,u}mulExtended +- v3dv: don't assume that VkPipelineColorBlendStateCreateInfo is provided +- v3dv: drop incorrect assertion +- v3dv: drop assert for map of a mapped buffer +- v3dv: fix image tiling configuration +- v3dv: fix scissor outside viewport +- v3dv: fix viewport Z +- v3dv: work around viewport Z scale hardware bug +- v3dv: don't leak job allocations +- v3dv: handle the case where we fail to allocate a new job gracefully +- v3dv: only export the last job sync object once +- v3dv: support submits without a command buffer +- v3dv: return OOM error if we fail to import or export sync objects +- v3dv: use vk_error() for all queue/submit errors +- v3dv: fix copies and clears of 3D images +- v3dv: fix depth/stencil clear color +- v3dv: implement color blending +- v3dv: only expose blending on formats that support it +- v3dv: add an 'always flush' mode +- v3dv: always flush draw calls if we are doing sRGB blending +- v3dv: implement dynamic state for blend constants +- v3dv: only emit blend state if the pipeline is dirty +- v3dv: rewrite dirty state handling +- v3dv: drop redundant emission of stencil state +- v3dv: stencil state fixes +- v3dv: only emit config bits and varyings packets if needed +- v3dv: use perp end caps rasterization mode for lines +- v3dv: drop incorrect assertion on number of clear values at render pass begin +- v3dv: disable depth/stencil testing if we don't have a depth/stencil attachment +- v3dv: assert on vkCreateComputePipelines +- v3dv: improve assert handling for fallback paths on meta copy/clear operations +- v3dv: check support for transfer usage flags +- v3dv: make sure we only expose transfer features for formats we can use +- v3dv: use compatible TLB formats if possible during copies and clears +- v3dv: fix incorrect image slice selection +- v3dv: fix clearing of 3D images +- v3dv: fix job subpass index for vkCmdClearAttachments jobs +- v3dv: don't emit the subpass RCL for jobs that have emitted their own +- v3dv: fix a1r5g5b5 format +- v3dv: allow to create shader modules from NIR +- v3dv: improve asserts for VkPipelineColorBlendStateCreateInfo handling +- v3dv: implement partial color attachment clears +- v3dv: implement partial depth/stencil attachment clears +- v3dv: implement proper caching for partial clear pipelines +- v3dv: store the clip window in the command buffer state +- v3dv: check the render area against the clip window +- v3dv: fix v3dv_GetRenderAreaGranularity to account for attachment bpp +- v3dv: don't always assert that we have an active job +- v3dv: use the TLB to clear attachments even if we have an active scissor +- v3dv: restrict render pass clears to the render area +- v3dv: handle stencil load/store operations +- v3dv: assert on subpasses that use input or resolve attachments +- v3dv: push/pop more state during meta operations +- v3dv: create a v3dv_cmd_buffer_subpass_resume helper +- v3dv: set render area for partial clears to match clear rect +- v3dv: compute tile granularity for each subpass +- v3dv: fix incorrect attachment reference +- v3dv: fix incorrect attachment reference +- v3dv: simplify partial clearing code +- v3dv: handle partial clears of just one aspect of combined DS targets +- v3d/compiler: implement nir_intrinsic_load_base_instance +- v3dv: emit instanced draw calls when requested +- v3dv: fix subpass merge tests +- v3dv: reset all state to dirty when we start a new job for a command buffer +- v3dv: implement occlusion queries +- v3dv: submit a no-op job if a command buffer doesn't have any jobs. +- v3dv: simplify handling of no-op jobs +- v3dv: add a bunch of API stubs +- v3dv: implement TFU blits +- v3dv: reset subpass index at render pass end +- v3dv: meta operations can happen outside a render pass +- v3dv: save and restore descriptor state during meta operations if needed +- v3dv: save and restore push constant state during meta operations +- v3dv: implement shader draw fallback for vkCmdBlitImage +- v3dv: require optimal tiling for features that reqiure sampling +- v3dv: move early-Z update to pre-draw +- v3dv: don't leak NIR code in pipelines +- v3dv: don't leak host memory allocated for shader variants +- v3dv: don't leak default pipeline attributes BO +- v3dv: don't leak prog_data from shader variants +- v3dv: don't leak the compiler from the physical device +- v3dv: don't leak the texture shader state BO from image views +- v3dv: don't leak state BO from samplers +- v3dv/blit: fix integer blits from larger to lower bit size +- v3dv: handle miplevel correctly for blits +- v3dv: support depth blits +- v3dv: don't support blitting of combined depth/stencil formats +- v3dv: don't support 1D depth/stencil for transfer sources or sampling +- v3dv: remove incorrect assert +- v3dv: support blits with 1D and 3D images +- v3dv: add framework for private driver objects +- v3dv: fix leaks during recording of meta blits +- v3dv: use the private object framework in the meta clear path +- v3dv: implement fallback for partial image copies +- v3dv: implement stencil aspect blits for combined depth/stencil format +- v3d: fix Tile Rendering Mode Cfg (Color) packet description +- v3dv: limit software integer RT clamp to rgb10a2 +- v3dv: handle copies from/to compressed formats +- v3dv: implement partial buffer copies to color images +- v3dv: support blitting both depth and stencil aspects at the same time +- v3dv: implement partial buffer copies to depth/stencil images +- v3dv: always return true from a fallback path if it can handle the case +- v3dv: fix image addressing calculations to account for suballocation +- v3dv: only require 4-byte alignment for linear images +- v3dv: implement partial image to buffer copies +- v3dv: do not rewrite blit spec for combined depth/stencil in get_blit_pipeline +- v3dv: drop blit path for depth/stencil formats +- v3dv: implement depth bias +- v3dv: ignore dynamic updates of depth bounds state +- v3dv: implement wide lines +- v3dv: fix dynamic blend constants +- v3dv: fix the command buffer private object framework for 32-bit +- v3dv: fix depth/stencil clears on hardware +- v3dv: make the driver more robust against OOM +- v3dv: implement events +- v3dv: don't leak BOs from CLs when using BRANCH +- v3dv: fix vkResetCommandPool +- v3dv: make TLB clearing paths return true/false +- v3dv: drop the extra BO handling from the command buffer +- v3dv: remove some unnecessary / unused functions +- v3dv: assert command buffers are executable when submitting to a queue +- v3dv: check that GPU device matches requirements +- v3dv: ensure BCL space is available before emitting packets +- v3dv: handle OOM properly during command buffer recording in more places +- v3dv: fix bogus command buffer allocation scopes +- v3dv: add basic support for secondary command buffers +- v3dv: implement vkCmdWaitEvents for secondary command buffers +- v3dv: support vkCmdClearAttachments in secondary command buffers +- v3dv: don't leak attachment state +- v3dv: add stubs for missing API implementations +- v3dv: warn users that this is not a conformant driver +- v3dv: fix BCL start offset in presence of chained BOs +- v3dv: regen BO lists for CLs inside cloned jobs +- v3dv: fix a few cases where we were ignoring suballocated buffers +- v3dv: fix release build warnings +- v3dv: actually enable early Z +- v3dv: try harder to skip emission of redundant state +- v3dv: add a TFU path for buffer to image copies +- v3dv: add a CPU path for buffer to image copies +- v3dv: try to use TFU path when creating tiled images from linear buffers +- v3dv: always map full BOs +- v3dv: support compute pipelines +- v3dv: handle separate binding points for compute and graphics +- v3dv: implement compute dispatch +- v3dv: handle unsized arrays in SSBOs +- v3dv: always emit index buffer state for new jobs +- v3dv: implement indirect compute dispatch +- v3dv: return a proper error for too large buffer allocations +- v3dv: assert that our framebuffers are single sampled +- v3dv: don't free BOs from imported memory objects +- v3dv: pipeline initialization fixes for disabled rasterization +- v3dv: handle empty set layouts +- v3dv: don't reset descriptor state after a meta operation +- v3dv: lower unpack_{u,s}norm_2x16 +- v3dv: lower frexp +- v3dv: implement support for shader spilling +- v3dv: fix GFXH-930 workaround +- v3dv: add workaround for GFXH-1602 +- v3dv: improve handling of too large image sizes +- v3dv: handle draw after barrier +- v3dv: fix vkCmdCopyBuffer unaligned TLB access +- v3dv: fix textureSize() for cube arrays +- v3dv: fix srcSubresource description for image to buffer blits +- v3dv: fix blit_shader() to honor the region's aspect mask +- v3dv: handle unnormalized coordinates in samplers +- v3dv: use swizzle X001 with D/S formats +- v3dv: fix regressions for cubemap array load/store +- v3dv: fix color border clamping with specific formats +- v3dv: make sure we emit vertex attributes in location order +- v3d/compiler: support swapping R/B channels in vertex attributes. +- v3dv: handle VK_FORMAT_B8G8R8A8_UNORM vertex attributes +- v3dv: don't support sRGB buffer formats +- v3dv: improve pipeline barrier handling +- v3dv: use a binning sync for CL jobs waiting on a semaphore +- v3dv: ignore stencil load operation if attachment format doesn't have stencil +- v3dv: only use per-buffer clear bit for cases were we are already storing +- v3dv: avoid prime blit path when presenting WSI images +- v3dv: only care about barriers between GPU jobs +- v3dv: emit new shader state if viewport is dirty +- v3dv: only clear depth/stencil attachments if any aspect needs clearing +- v3dv: add a fast path for vkCmdClearAttachments +- v3dv: enable shaderClipDistance +- v3dv: enable fillModeNonSolid +- v3dv: fix dynamic state after meta operation +- v3dv: consider MSAA when computing frame tiling +- v3dv: process VkPipelineMultisampleStateCreateInfo properly +- v3dv: implement subpass multisample rendering and resolve +- v3dv: implement vkCmdResolveImage for whole images +- v3dv: handle multisampled image copies in the TLB path +- v3dv: setup texture shader state correctly for multisampled images +- v3dv: add a blit fallback path for vkCmdResolveImage +- v3dv: handle multisampled image copies with the blit path +- broadcom/compiler: handle gl_SampleMask writes in fragment shaders +- v3dv: amend tile size tables with smallest tile sizes available +- nir/glsl: add a glsl_ivec4_type() helper +- v3dv: fix blitting of signed integer formats +- v3dv: handle multisample resolve of integer formats +- v3dv: handle multisample resolves for formats that don't support TLB resolves +- v3dv: handle multisample image clears +- broadcom/compiler: implement nir_intrinsic_load_sample_pos +- broadcom/compiler: track if the fragment shader forces per-sample MSAA +- v3dv: enable sample rate shading if fragment shader reads gl_SampleID +- v3dv: implement nir_texop_texture_samples +- v3dv: handle multisample rasterization with empty framebuffers +- nir/lower_io: add an option to lower interpolateAt functions +- v3dv: lower interpolateAt functions in NIR and enable sample rate shading +- v3dv: only require texel-size alignment for linear images +- v3dv: fix 3D image blits +- v3dv: don't cache subpass color clear pipelines +- v3dV: move meta init/finish to meta implementation files +- nir: add a nir_get_ubo_size intrinsic +- v3d/compiler: implement nir_intrinsic_get_ubo_size +- v3dv: handle QUNIFORM_GET_UBO_SIZE +- broadcom/compiler: rename QUNIFORM_GET_BUFFER_SIZE to QUNIFORM_GET_SSBO_SIZE +- v3d/compiler: add a lowering pass for robust buffer access +- v3dv: hook up robust buffer access +- v3dv: fix color clear pipeline destruction for 32-bit architectures +- v3dv: handle VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO +- v3dv: expose DRM modifiers based on supported features +- v3dv: fix offset computed by vkGetImageSubresourceLayout for array images +- v3dv: fix size computed by vkGetImageSubresourceLayout for 3D images +- v3dv: do not expose VK_IMAGE_USAGE_SAMPLED_BIT for swapchains +- v3dv: signal semaphore/fence if needed after acquiring a swapchain image +- v3dv: fix sampling from stencil aspect of a combined depth/stencil image +- v3dv: honor VkPipelineDepthStencilStateCreateInfo::depthWriteEnable +- v3dv: don't leak dumb BO handles allocated for swapchain images +- v3dv: clean-up after obtaining an XCB connection +- v3dv: free noop job if needed when finishing the queue +- v3d/compiler: allow to batch spills +- v3dv: always program a reasonable internal depth type for copies/clears +- v3dv: only advertise one memory type +- v3dv: flag tmu_dirty_rcl in primaries when linking secondaries that have it set +- v3dv: implement workaround for GFXH-1461 +- v3dv: implement workaround for GFXH-1918 +- v3dv: fixes for barriers in secondary command buffers +- v3dv: fix blit path for copies from 3D compressed images +- v3dv: generate proper UUIDs for device and driver +- v3dv: limit blit framebuffer dimensions to max coordinates +- v3dv: drop a couple of obsolete comments +- v3dv: fix buffer copies to compressed images on the blit path +- broadcom/compiler: track partially interpolated fragment inputs +- v3d/compiler: implement load interpolated input intrinsics +- v3dv: skip unnecessary tile loads when blitting +- v3dv: fix multi-layered buffer to image copies on the blit path +- v3dv: do not attempt to blit from a linear image source +- v3dv: fix Z coordinate for 3D blits +- v3dv: handle compressed image to buffer copies on the blit path +- v3dv: handle buffer to linear depth/stencil image copies in blit path +- broadcom/cle: fix vec size dump when set to 0 +- v3d/compiler: fix BGRA vertex attributes for vec2/float size. +- v3dv: compute swap_rb flag after applying all swizzles +- v3dv: properly describe swap_color_rb +- v3dv: enable the logicOp feature +- v3dv: grow meta descriptor pool dynamically +- v3dv: enable alphaToOne feature +- v3dv: add image view debug checks for VK_KHR_maintenance1 +- v3dv: fix base slice selection for copies involving 3D images +- v3dv: update assertion to match VK_KHR_maintenance1 semantics +- v3dv: implement vkTrimCommandPool +- v3dv: expose VK_KHR_maintenance1 +- v3dv: add support for timestamp queries +- v3dv: fix occlusion query inheritance in secondary command buffers +- zink: require Vulkan timestamp queries for time query caps +- zink: add VK_STRUCTURE_TYPE_WSI_MEMORY_ALLOCATE_INFO_MESA for WSI allocations +- v3dv: add a v3dv_bo_init helper +- v3dv: expose more features +- zink: fix pNext chain for resource memory allocation + +Ian Romanick (34): + +- intel/vec4: Silence unused paramter warnings in brw_vec4_generator.cpp +- intel/compiler: Silence unused parameter warning in brw_surface_payload_size +- intel/compiler: Don't fallback to vec4 when scalar GS compile fails \[v2\] +- intel/vec4: Remove inline lowering of LRP +- intel/compiler: Remove INTEL_SCALAR_... env variables +- intel/vec4: Remove all support for Gen8+ \[v2\] +- intel/vec4: Remove everything related to VS_OPCODE_SET_SIMD4X2_HEADER_GEN9 +- i965: Allow viewport array extensions with allow_higher_compat_version +- intel: Silence many unused parameter warnings in blorp_genX_exec.h +- i965: Silence many unused parameter warnings in genX_blorp_exec.c +- i965: Silence many unused parameter warnings in genX_state_upload.c +- i965: Make MOCS index tables static const +- i965: Rename gen10_emit_isp_disable to gen7_emit_isp_disable +- intel: Disable all support for Gen10 +- intel/compiler: Remove Gen10-specific code +- i965: Remove Gen10-specific state setup and workarounds +- i965: Don't build Gen10-specific files and libraries +- intel: Remove Gen10-specific cache config code +- intel/isl: Don't generate Gen10-specific functions +- iris: Don't generate Gen10-specific functions +- anv: Don't generate Gen10-specific functions +- intel: Remove Gen10-speicific perf support +- intel: Remove Gen10-specific device entries +- i965: Silence unused parameter warnings +- mesa/st: Silence unused parameter warnings in st_context.c +- mesa: Pass the correct caller string to \_mesa_lookup_or_create_texture +- glx: rework \__glXCalculateUsableExtensions to be more readable +- nir: Rename replicated-result dot-product instructions +- mesa: Open-code hash walk in \_mesa_HashPrint +- mesa: Store the atlas Id in the gl_bitmap_atlas structure +- i965: Get the gl_perf_query_object Id from the object +- mesa: Remove the key parameter from the \_mesa_HashWalk callback +- mesa: Remove the key parameter from the \_mesa_HashDeleteAll callback +- intel/compiler: Rotate instructions ROR and ROL cannot have source modifiers + +Icecream95 (27): + +- panfrost: Fix border colour +- docs/features: Add missing Panfrost extensions +- panfrost: Cleanup panfrost_get_param +- panfrost: Remove old comment on broken depth reload +- panfrost: Correctly set modifier_constant +- panfrost: Seperate resource setup and bo creation +- panfrost: Move tiled-linear conversion checking to a new function +- panfrost: AFBC to linear layout conversion +- pan/mdg: Fix spilling of non-32-bit types +- panfrost: Set modifier_constant to true for exported resources +- pan/mdg: Return a bool from midgard_nir_lod_errata +- pan/mdg: Use nir_shader_instructions_pass for nir_lod_errata +- pan/mdg: Use nir_shader_instructions_pass for fdot2 lowering +- Revert "panfrost: Drop implicit blend pooling" +- panfrost: Clamp uniform buffer size +- panfrost: Handle non-positive viewport positions +- panfrost: Remove redundant casts of viewport position +- panfrost: Mark blit shaders as internal +- pan/mdg: Infer whether to disassemble shaders from info.internal +- panfrost: Add a debug flag to disable AFBC +- panfrost: Precise occlusion query support +- panfrost: Only enable occlusion queries when active +- panfrost: Move zs format handling code out of the !afbc case +- panfrost: Z16 depth buffer support +- panfrost: AFBC compress Z16 depth buffers +- panfrost: Fix AFBC blits of resources with faked RGTC +- panfrost: Fix stack shift calculation + +Igor V. Kovalenko (1): + +- r600: amend space check for chips older than EVERGREEN + +Ilia Mirkin (1): + +- panfrost: enable DrawTransformFeedback\* + +Indrajit Kumar Das (5): + +- mesa: add NV_copy_depth_to_color support for nir +- gallium: prepare framework for supporting GL_NV_shader_atomic_int64 +- mesa,glsl: add support for GL_NV_shader_atomic_int64 +- radeonsi: enable support for GL_NV_shader_atomic_int64 +- radeonsi/gfx10: fix stream index for multi-stream overflow query + +Italo Nicola (12): + +- nir: add shared/global atomics to nir_get_io_offset_src() +- panfrost: fix undefined value access on mir_set_intr_mask() +- panfrost: add atomic_cmpxchg opcode +- panfrost: add LDST_ADDRESS property to atomic ops +- panfrost: introduce LDST_ATOMIC property +- panfrost: add support for src[3\] in LOAD_STORE ops +- panfrost: add atomic ops infrastructure +- panfrost: add support for atomics +- nir/algebraic: fold some nested comparisons with ball and bany +- pan/mdg: remove unused arg from ALU_CHECK_CMP and ALU_CASE_CMP +- pan/mdg: map uabs_i/usub to i/uabsdiff +- pan/mdg: fix LOCAL_STORAGE wls_instances packing + +Iván Briano (1): + +- anv: restrict number of subgroups per group + +James Park (16): + +- amd/addrlib: Fix warning list for msvc +- radv: Increased const usage +- util: Hide timespec_passed on Windows +- radv: Only close local_fd when valid +- ac,amd/llvm,radv: Initialize structs with {0} +- util,radv,radv/winsys: Cross-platform rwlock API +- util,ac,aco,radv: Cross-platform memstream API +- util: Fix rwlock Windows include for MinGW +- util/xmlconfig: Disable for Windows like Android +- aco: Clean up some C++ usages +- vulkan/util,vulkan/wsi,radv: Add typed outarray API +- aco: Fix accidental copies, attempt two +- nir: Stabilize compact_components sort +- amd/llvm,aco: Replace VLA with alloca +- radv,radv/winsys: Move RADV_MAX_IBS_PER_SUBMIT +- radv: Fix leak in radv_amdgpu_winsys_destroy() + +Jan Beich (1): + +- spirv: switch to util_bswap32 to improve portability + +Jan Ziak (1): + +- Add driver override to envvars.rst + +Jason Ekstrand (296): + +- iris: no-op implement set_compute_resources +- iris: Implement set_global_binding +- iris: Add support for serialized NIR +- intel/cs_intrinsics: Handle 64-bit intrinsics +- intel/compiler: Allow MESA_SHADER_KERNEL +- iris: Use blob_write_uint32 for num_system_values +- iris: Add a kernel_input_size field for compiled shaders +- iris/disk_cache: Stop assuming stage == cache_id +- iris: Copy dest size from the original intrinsic in setup_uniforms +- iris: Upload kernel inputs with system values +- iris: Add support for MESA_SHADER_KERNEL in the disk cache +- nir: Add and use nir_foreach_block_unstructured helpers +- nir/lower_goto_if: Document some data structures +- nir/lower_goto_if: Clean up ralloc usage +- nir/lower_goto_if: Use util/list instead of exec_list +- nir/lower_goto_if: Rework handling of skip targets +- nir/lower_goto_if: Rework some set union logic +- nir/lower_goto_if: Sort blocks in select_fork +- nir/lower_goto_if: Add a block_for_singular_set helper +- nir/lower_goto_if: Replace a tripple loop with a double loop +- nir/lower_goto_if: Add a route::outside set +- nir/lower_goto_if: Add some debug prints +- spirv: Add a MESA_SPIRV_FORCE_UNSTRUCTURED environment variable +- nir/builder: Make nir_get_ptr_bitsize take a nir_shader +- spirv: Don't emit RMW for vector indexing in shared or global +- clover/nir: Stop setting ubo_addr_format +- clover/nir: Stop computing the global address format twice +- clover/nir: Use the correct address mode for shared +- nir: Initialize nir_ssa_def::live_index +- nir/builder: Add a nir_iand_imm helper +- nir/find_array_copies: Handle cast derefs +- nir/large_constants: Handle incomplete derefs +- compiler/types: Allow interfaces in get_explicit_type_for_size_align +- nir/opt_large_constants: Fix a type/deref_type typo +- nir: Add an LOD parameter to image_*_size +- iris: Stop advertising PIPE_SHADER_IR_NIR_SERIALIZED +- iris: Stop advertising clover-only caps +- iris: ref/unref the GLSL type singleton in screen_create/destroy +- iris: Normalize all compute shaders to MESA_SHADER_COMPUTE +- iris: Always re-upload sysvals when we have kernel inputs +- intel/fs: Fix an assert in load_scratch +- intel/nir: Allow splitting a single load into up to 32 loads +- clover/spirv: Don't call llvm::regularizeLlvmForSpirv +- clover: Call clang with -O0 for the SPIR-V path +- nir: Report progress properly in nir_lower_bool_to_\* +- intel/nir: Pass the nir_builder by reference in lower_alpha_to_coverage +- intel/nir: Rewrite the guts of lower_alpha_to_coverage +- intel/nir: Clean up lower_alpha_to_coverage a bit +- nir: Use a switch in nir_inline_function_impl +- nir: Take a variable remap parameter in nir_inline_function_impl +- intel/fs: Add support for vec8 and vec16 ops +- intel/nir: Lower things with \\> 4 components in lower_mem_access_bit_sizes +- spirv: Support big-endian strings +- spirv: Delete some dead workgroup variable handling code +- nir: Rename num_shared to shared_size +- nir: Improve the comment on num_inputs and friends +- intel/fs: Fix MOV_INDIRECT and BROADCAST of Q types on Gen11+ +- nir: Add a new nir_var_mem_constant variable mode +- nir: Add a load_global_constant intrinsic +- nir/lower_io: Use the variable mode for load_scratch_base_ptr checks +- nir/lower_io: Add a build_addr_for_var helper +- nir/lower_io: Add support for nir_var_mem_constant +- nir: Allow opt_large_constants to be run with constant_data_size \\> 0 +- spirv: Use nir_var_mem_constant for UniformConstant data in CL +- intel/fs: Implement nir_intrinsic_load_global_constant +- nouveau/nir: Implement load_global_constant +- llvmpipe: Add support for load_global_constant +- clover/nir: Use nir_var_mem_constant for \__constant memory +- spirv: Drop the constant_as_global as option +- nir/lower_explicit_io: Assert that compute address sizes match derefs +- clover: Use 64-bit offsets for shader_in on 64-bit GPUs +- nir/clone: Add a helper for cloning most instruction types +- intel/compiler: Get rid of the global compaction table pointers +- intel/compiler: Get rid of struct gen_disasm +- iris: Use gen_disassemble +- intel/eu: Add some new helpers +- intel/fs,vec4: Stuff the constant data from NIR in the end of the program +- anv: Stop storing the shader constant data side-band +- intel/eu: Include brw_compiler.h in brw_eu.h +- intel/eu: Add a mechanism for emitting relocatable constant MOVs +- intel/fs: Add support for a new load_reloc_const intrinsic +- anv: Properly cache brw_stage_prog_data::relocs +- nir/builder: Add load/store_global helpers +- anv: Patch constant data pointers into shaders with using softpin +- iris: Patch constant data pointers into shaders +- intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy +- intel/fs: Use a single untyped surface read for load_num_work_groups +- intel/nir: Lower load_num_work_groups to 32-bit if needed +- iris: Re-emit push constants if we have a varying workgroup size +- intel/compiler: Handle all indirect lowering choices in brw_nir.c +- nir/lower_indirect_derefs: Add a threshold +- intel/nir: Stop using nir_lower_vars_to_scratch +- nir: Don't bail too early in lower_mem_constant_vars +- clover: Call nir_lower_mem_constant_vars +- compiler/types: Make booleans 32-bit for cl_size/align +- nir/glsl: Add an explicit_alignment field to glsl_type +- nir: Add alignment information to cast derefs +- nir: Handle all array stride cases in nir_deref_instr_array_stride +- nir: Add a helper for getting the alignment of a deref +- nir/lower_io: Apply alignments from derefs when available +- nir/opt_deref: Don't remove casts with alignment information +- nir/opt_deref: Remove restrictive alignment information from casts +- spirv: Add pointer helper vars to OpCopyMemory +- spirv: Propagate alignments to deref chains via casts +- nir: Allow var_mem_global in nir_lower_vars_to_explicit_types +- nir: Allow uniform in nir_lower_vars_to_explicit_types +- clover: Use args.size() to compute new var locations +- spirv: Stop counting inputs in entry_point_wrapper +- clover/nir: Use lower_vars_to_explicit for uniform and global +- spirv: Drop the OpenCL type layout code +- anv: Set alignments on UBO/SSBO root derefs +- compiler/types: Fix deserializing structs with \>= 15 members +- spirv: Improve the "Entry point not found" error message +- spirv2nir: Rework argument handling +- nir/lower_io: Fix the unknown-array-index case in get_deref_align +- nir: Add a dominance validation pass +- spirv: Run repair_ssa if there are discard instructions +- intel/nir: Call validate_ssa_dominance at both ends of the NIR compile +- nir: More NIR_MAX_VEC_COMPONENTS fixes +- nir/idiv_const: Use the modern nir_src_as_\* constant helpers +- anv: Fix the target_bo assertion in anv_reloc_list_add +- clover: Pull the stride from pipe_transfer for image maps +- spirv: Access qualifiers are not a bitfield +- spirv: Plumb access qualifiers through from image types +- nir: Add a pass for lowering CL-style image ops to texture ops +- intel/fs/swsb: SCHEDULING_FENCE only emits SYNC_NOP +- nir: Rename get_buffer_size to get_ssbo_size +- radeonsi: Only call nir_lower_var_copies at the end of the opt loop +- spirv: vtn_fail with a nice message on unsupported rounding modes +- nir/liveness: Consider if uses in nir_ssa_defs_interfere +- compiler/types: Add glsl_baseN_t_type(bit_size) helpers +- spirv: Use the new types helpers +- nir: Add a new memcpy intrinsic +- nir: Add a lowering pass to lower memcpy +- spirv: Add support for OpCopyMemorySized +- clover/nir: Call the memcpy lowering pass +- nir: Allow creating variables with nir_var_mem_push_const. +- nir/lower_io: Add support for push constants +- anv,radv,tu,val: Call nir_lower_io for push constants +- spirv: Use derefs for push constants +- vallium: Stop using lower_ubo_ssbo_access_to_offsets +- spirv: Delete the legacy offset/index UBO/SSBO lowering +- nir/copy_propagate: Copy-prop into jump conditions +- nir: Disallow goto and goto_if in clone and \[de]serialize +- nir/cf: Better handle intra-block splits +- nir/validate: Improve the validation of blocks +- nir/lower_goto_ifs: Don't destroy SSA form in the process +- nir/dominance: Use \_mesa_set_clear instead ofhand-rolling it +- spirv: Only run repair_ssa if structured +- nir/lower_goto_ifs: Use rzalloc +- nir/lower_goto_ifs: Add asserts for SSA forks +- nir/lower_goto_ifs: Always include level dom_frontiers in prev_frontier +- Revert "nir/lower_goto_if: Add a route::outside set" +- anv: Allow HiZ clears for multi-view +- anv: Use more temp vars in cmd_buffer_begin_subpass +- anv: Skip HiZ and CCS ambiguates which preceed fast-clears +- nir: Split NIR_INTRINSIC_TYPE into separate src/dest indices +- nir: Add a conversion and rounding intrinsic +- nir: Add builder helpers for OpenCL type conversions +- nir: Add a passes for nir_intrinsic_convert_alu_types +- spirv: Add some conversion handling helpers +- spirv: Handle all OpenCL conversion ops with full rounding +- spirv/opencl: Drop dest_type from handle_v_load_store +- clover/nir: Call nir_lower_convert_alu_types +- nir: Add lowering from regular ALU conversions to the intrinsic +- intel/fs: NoMask initialize the address register for shuffles +- nir: Fix a misspelling +- nir/find_array_copies: Properly discard copies for casts +- nir: Handle memcpy in copy_prop_vars and combine_stores +- nir: Add a memcpy optimization pass +- nir/opt_load_store_vectorize: Use bit sizes when checking mask compatibility +- nir: Add component mask re-interpret helpers +- nir/opt_deref: Add an instruction type switch +- nir/opt_deref: Add an optimization for bitcasts +- nir: Add a pass to lower vec3s to vec4s +- intel/fs: Don't use NoDDClk/NoDDClr for split SHUFFLEs +- iris: Fix the constant data address calculation +- anv: Implement VK_EXT_transform_feedback on Gen7 +- spirv: Make the clc_shader const +- nir/constant_folding: Use the builder +- nir/constant_folding: Use nir_shader_instruction_pass +- nir: Validate constant initializers +- nir/constant_folding: Fold load_deref of nir_var_mem_constant +- iris: Add pipe-loader support +- iris: Handle runtime-specified local memory size +- iris: Add support for load_work_dim as a system value +- iris: Fill out compute caps and enable clover support +- gallium/pipe: Add a GALLIUM_PIPE_SEARCH_DIR override env var +- util/xxd.py: Add an option for binary files +- spirv: Add a shared libclc loader +- spirv: Move nir_lower_libclc to src/compiler/spirv +- intel/nir: Don't try to emit vector load_scratch instructions +- intel/nir: Lower load_global_constant in lower_mem_access_bit_sizes +- i965: Take an isl_format in emit_buffer_surface_state +- intel/fs: Add an alignment to VARYING_PULL_CONSTANT_LOAD_LOGICAL +- intel/fs: Add an option to use dataport messages for UBOs +- anv: Add a device parameter to format_for_descriptor_type +- anv: Use format_for_descriptor_type for descriptor buffers +- anv: Plumb the device into \*bits_for_access_flags +- anv: Use the data cache for indirect UBO pulls on Gen8+ +- iris: Use the data cache for indirect UBO pulls +- clover: Stop leaking NIR shaders +- nir/opt_deref: Fix the vector bitcast optimization +- nir: Allow more deref modes in phis +- intel/batch_decoder: Don't clame vec4 vs/gs/tcs shaders on Gen11+ +- intel/fs: Copy the PTSS from g0 for scratch reads/writes +- intel/fs: Add a SCRATCH_HEADER opcode +- intel/fs/ra: Increment spill_offset as part of the emit_spill loop +- intel/fs/ra: Refactor handling of Gen7 scratch reads +- intel/fs/ra: Store the last non-spill VGRF node +- intel/fs/ra: Sanity-check our IP counts +- intel/fs/ra: Use a set to track added spill/fill instructions +- intel/fs: Rework scratch handling on Gen9+ +- intel/fs: Allow constant-propagation into SAMPLEINFO and IMAGE_SIZE +- anv: Go back to using the sampler for UBO pulls +- Revert "iris: Use the data cache for indirect UBO pulls" +- anv: Bump the number of update-after-bind descriptors to 1M +- anv: Add a descriptor_count to descriptor sets +- anv: Implement VariableDescriptorCount +- iris: Flush caches based on brw_compiler::indirect_ubos_use_sampler +- anv,iris: Use the data cache for UBO pulls on Gen12+ +- spirv: Add 0.5 to integer coordinates for OpImageSampleExplicitLod +- nir/lower_io: Assert non-zero power-of-two alignments +- compiler/types: Assert non-zero alignments in get_explicit_type_for_size_align +- compiler/types: Allow images and samplers in get_explicit_type_for_size_align +- clover/nir: Calculate sizes of images and samplers properly +- clover/nir: Add an image lowering pass +- spirv: Fix OpCopyMemorySized +- nir/lower_memcpy: Don't mask the store +- docs: Specify when branch points happen +- nir/validate: Explain why we don't use nir_foreach_block +- mesa/spirv: Lower variable initializers for global variables +- nir/builder: Add a nir_ieq_imm helper +- nir/phis_to_scalar: Use a deny-list for load_deref modes +- nir: Handle incomplete derefs in split_struct_vars +- nir: Use var->data.mode instead of deref->mode in a few cases +- nir: Disallow writes to system values and mem_constant +- nir/opt_find_array_copies: Allow copies from mem_constant +- nir: Add and use some deref mode helpers +- nir/lower_array_deref_of_vec: Use nir_deref_mode_must_be +- nir/lower_io: Use nir_deref_mode_\* helpers +- nir/phis_to_scalar,gcm: Use nir_deref_mode_may_be +- nir: Only force loop unrolling if we know it's a in/out/temp +- nir/vars_to_ssa: Use nir_deref_must_be +- nir/vec3_to_vec4: Use nir_deref_must_be +- nir: Use nir_deref_mode_may_be in deref optimizations +- nir/find_array_copies: Prepare for generic pointers +- nir/split_*_vars: Prepare for generic pointers +- nir: Make nir_deref_instr::mode a bitfield +- nir: Add support for generic pointers +- spirv: Add generic pointer support +- nir/opt_deref: Add a deref mode specialization optimization +- nir/opt_deref: Add an optimization for deref_mode_is +- nir/lower_io: Add a mode parameter to build_addr_iadd +- nir/lower_io: Add a mode parameter to addr_format_is_\* +- nir/lower_io: Add support for 32/64bit_global for shared +- nir/lower_io: Add support for lowering deref_mode_is +- nir/lower_io: Support generic pointer access +- nir/lower_io: Add a new 62bit_generic address format +- nir/opt_intrinsics: Report progress for the gl_SampleMask optimization +- nir/constant_folding: Use a switch in try_fold_intrinsic +- nir/constant_folding: Use the standard variable naming convention +- nir: Move constant folding of vote to opt_constant_folding +- nir/constant_folding: Fold subgroup shuffle intrinsics +- nir/opt_intrinsics: Refactor a bit +- nir/opt_intrinsic: Optimize bcsel(b, shuffle(x, i), shuffle(x, j)) +- nir/find_array_copies: Don't assume all children exist +- nir/deref: Fix a typo +- spirv: Add basic plumbing for ray-tracing capabilities +- spirv: Remove a redundant vtn_fail_if +- spirv: Add a guard for OpTypeForwardPointer storage classes +- spirv: Pass the deref type to storage_class_to_mode for non-forward pointers +- spirv: Add support for OpTypeAccelerationStructureKHR +- spirv,nir: Add support for ray-tracing built-ins +- nir/builder: Add a select_from_ssa_def_array helper +- nir: Add intrinsics for object to/from world RT sysvals +- nir: Add new variable modes for ray-tracing +- spirv: Implement the new ray-tracing storage classes +- nir,spirv: Add support for the ShaderCallKHR scope +- spirv,nir: Add ray-tracing intrinsics +- nir: Handle ray-tracing intrinsics and storage classes in copy-prop etc. +- spirv: Update headers and metadata from latest Khronos commit +- nir: Print formats on image intrinsics as text +- nir: Validate image atomic formats +- util,gallium: Add new 64-bit integer formats +- compiler/types: Add 64-bit image types +- nir: Allow 64-bit image atomics +- spirv: Add support for SPV_EXT_shader_image_atomic_int64 +- nir/lower_bit_size: Don't cast comparison results +- nir/lower_bit_size: Pass a nir_instr to the callback +- nir/lower_bit_size: Add support for lowering subgroup ops +- intel/nir: Refactor lower_bit_size_callback +- intel/nir: Lower 8-bit scan/reduce ops to 16-bit +- intel/nir: Lower 8-bit ops to 16-bit in NIR on Gen11+ +- intel/fs: Fix use of undefined value in fixup_nomask_control_flow +- spirv: Call repair SSA for OpTerminateInvocation + +Jesse Natalie (61): + +- nir: nir_range_analysis needs to be updated for vec16 +- u_debug_stack_test: Fix MSVC compiling by using ATTRIBUTE_NOINLINE +- util/macros: Add ATTRIBUTE_NOINLINE definition for MSVC +- glsl: Add 'bare' shadow sampler type +- nir: Fix serialize/deserialize of void samplers/images +- nir: Optimize mask+downcast to just downcast +- nir: Add nir_address_format_32bit_offset_as_64bit +- nir: Add nir_address_format_32bit_index_offset_pack64 +- nir/vtn: CL SPIR-V callers should specify address modes +- mesa: Move ATTRIBUTE_NOINLINE for glsl_to_tgsi_visitor::visit_expression for MSVC +- nir: Add fisnormal op +- nir/vtn: Support SpvOpIsNormal via fisnormal +- nir: Add fisfinite op +- nir/vtn: Support SpvOpIsFinite via fisfinite +- nir/vtn: Handle LessOrGreater deprecated opcode +- nir/vtn: Support OpOrdered and OpUnordered opcodes +- nir/glsl: Add glsl_get_cl_type_size_align helper +- nir: Use 'unsigned' instead of enum types in nir_variable::data +- wgl: Switch to Win10 version defines to enable usage of Win10 WGL callbacks +- nir: Populate some places where existing system values were missing +- nir: Add new system values and intrinsics for dealing with CL work offsets +- nir: Move compute system value lowering to a separate pass +- nir: Add options to nir_lower_compute_system_values to control compute ID base lowering +- spirv: Use new global invocation offset system value +- nir: Add a lowering pass to split 64bit phis +- nir: Relax opt_if logic to prevent re-merging 64bit phis for loop headers +- nir_lower_bit_size: Support lowering ops with differing source/dest sizes +- nir: Implement mul_high lowering for bit sizes other than 32 +- nir: Remove 32bit restriction for uadd_carry optimization +- nir: Add bit_count to lower_int64 pass +- nir/vtn: SPIR-V bit count opcodes (core and extension) dest size mismatches nir +- clover/nir/spirv: Use uniform rather than shader_in for kernel inputs +- nir/vtn: Add type constant to image intrinsics +- nir/vtn: Add support for kernel images to SPIRV-to-NIR. +- nir/vtn: Use return type rather than image type for tex ops +- nir/vtn: Handle integer sampling coordinates +- nir/vtn: ImageSizeLod op can be applied to images +- nir/vtn: Add intrinsics for CL image format/order queries +- nir/vtn: Convert constant samplers to variables with data +- nir_dominance: Use uint32_t instead of int16_t for dominance counters +- nir: More NIR_MAX_VEC_COMPONENTS fixes +- spirv: Handle OpTypeOpaque +- glsl_type: Add packed to structure type comparison for hash map +- nir_lower_system_values: Fix load_global_invocation_id to use base_work_group_id even with no base_global id +- nir: Add an internal flag to shader_info +- nir: Add glsl_base_type unsigned -\> signed version helper +- nir/vtn: Add handling for SPIR-V event variables +- vtn/opencl: Rework type handling for CL extension opcodes +- vtn/opencl: Add infrastructure for calling out to libclc +- vtn/opencl: Implement a lot of opcodes via libclc +- vtn/opencl: Rework handle_instr to be able to handle core SPIR-V opcodes via libclc +- vtn/opencl: Hook up OpenCL async copy and group wait opcodes via libclc +- vtn/opencl: Switch non-native trig to use libclc +- vtn/opencl: Switch exp/pow/log to use libclc +- vtn/opencl: Switch division-related ops to use libclc +- vtn/opencl: Switch some nir-sequence ops to use libclc +- vtn/opencl: Only use libclc ldexp when lower_ldexp is set +- vtn/opencl: Switch fma to conditionally use libclc for 32bit floats +- spirv: Implement vload[a]_half[n\] and vstore[a]_half[n][_r\] +- util: Move xxd.py to util +- util: Make xxd.py output char array instead of string + +John Bates (1): + +- disk_cache: build option for disabled-by-default + +Jonathan Gray (13): + +- util: unbreak endian detection on OpenBSD +- util/anon_file: add OpenBSD shm_mkstemp() path +- meson: build with \_ISOC11_SOURCE on OpenBSD +- meson: don't build with USE_ELF_TLS on OpenBSD +- meson: conditionally include -ldl in gbm pkg-config file +- util: futex fixes for OpenBSD +- util/u_thread: include pthread_np.h if found +- anv: use os_get_total_physical_memory() +- util/os_misc: add os_get_available_system_memory() +- anv: use os_get_available_system_memory() +- util/os_misc: os_get_available_system_memory() for OpenBSD +- radv: remove seccomp includes +- vulkan: make VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT conditional + +Jonathan Marek (57): + +- panfrost: add missing dependency on midgard_pack.h +- util/format: expose generated format packing functions through a header +- turnip: implement VK_EXT_custom_border_color +- turnip: remove dead tu_minify/typed_memcpy functions +- turnip: delete a blit_image TODO that has already been resolved +- turnip: fix CmdBlitImage with D32_SFLOAT_S8_UINT +- turnip: rework format_to_ifmt +- turnip: call packing functions directly for pack_gmem_clear_value +- turnip: add missing tu_bo_list_add in CmdWriteTimestamp +- freedreno/ir3: remove indirect input load +- freedreno/ir3: improve handling of aliased inputs +- freedreno/ir3: rework setup_{input,output} to make struct varyings work +- freedreno/regs: add 7nm DSI PHY/PLL regs +- turnip: delete tu_physical_device path field +- turnip: delete unused tu_image fields +- turnip: fix the type of tu_shader_module code field, delete unused sha1 +- turnip: delete unused "tu_cmd_buffer_upload" +- turnip: remove some unnecessary regs init +- turnip: rework vertex buffers draw state handling +- turnip: device global bo list +- turnip: avoid heap allocations in QueueSubmit when semaphores are used +- freedreno/ir3: allow layer/viewport output for VS/GS/DS +- freedreno/ir3: add view_zero to shader key +- turnip: multiViewport and VK_EXT_shader_viewport_index_layer +- vulkan/wsi/display: add option for display fence to signal syncobj +- turnip: delete unused tu_fence_signal function +- turnip: add a fd field to tu_device +- turnip: require syncobj support +- turnip: rework fences to use syncobjs +- radv: fix incorrect ResetFences path for WSI fence +- radv: use syncobj for wsi fence +- turnip: fix wrong indentation in tu6_draw_common +- turnip: move A6XX_RB_ALPHA_CONTROL write to init_hw +- turnip: implement VK_EXT_extended_dynamic_state +- turnip: remove unused cmd_buffer/device arguments in descriptor sets +- turnip: delete unused/broken pipeline layout hashing code +- turnip: initial implementation of VK_KHR_push_descriptor +- turnip: clean up tu_device_memory +- turnip: always create permanent syncobj for semaphore +- turnip: set MSM_SUBMIT_SYNCOBJ_RESET for submit pWaitSemaphores +- turnip: semaphores simplification (only syncobj semaphores supported) +- turnip: rework GetSemaphoreFdKHR +- turnip: rework ImportSemaphoreFdKHR +- turnip: remove remaining uses of drmSyncobj helpers +- turnip: share code between semaphores/fences + fence import/export +- turnip: signal fence and semaphore in AcquireNextImage2KHR +- turnip: implement legacy API functions separately +- freedreno/cffdec: fix decoding of bindless descriptors +- turnip: remove pre-emption marker +- turnip: implement timestamp fences/semaphores for kgsl backend +- turnip: rework android gralloc path so it doesn't call tu_image_create +- turnip: don't implement CreateImage as two separate functions +- turnip: LAYOUT_PREINITIALIZED is not different for optimal tiling +- turnip: remove useless tu_image asserts +- turnip: remove unnecessary/redundant tu_image fields +- turnip: don't always fallback to linear for mutable formats +- turnip: enable VK_EXT_image_drm_format_modifier + +Jordan Justen (4): + +- anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+ +- anv: Drop warning about gen12 not being supported +- intel/dev: Add device info for ADL-S +- intel/mi_builder: Support gen11 command-streamer based register offsets + +Jose Maria Casanova Crespo (7): + +- vc4: Avoid negative scissor caused by no intersection +- nir/algebraic: optimize iand/ior of (n)eq zero when umax/umin not available +- vc4: Enable lower_umax and lower_umin +- vc4: enable lower_isign for VC4 +- vc4: Add missing load_ubo set_align in yuv_blit fs. +- vc4: Add missing range_base/range at nir_load_ubos in yuv_blit fs. +- vc4: Enable nir_lower_io for uniforms + +Joshua Ashton (1): + +- zink: Fix 32-bit compilation + +Juan A. Suarez Romero (7): + +- intel: split driver/device UUID generators +- iris: plumb device/driver UUID generators +- intel/uuid: use git-sha1/package for the driver UUID +- st/mesa: initialize lower alpha func to ALWAYS +- v3d/compiler: extend swapping R/B support to all vertex attributes +- v3dv: mark the right bit to swap R/B vertex attributes +- v3d: Add GL_ARB_vertex_array_bgra support + +Julian Winkler (1): + +- nir: Add a structurizer + +Karol Herbst (48): + +- util/set: add \_mesa_set_intersects +- spirv: rename vtn_emit_cf_list to vtn_emit_cf_list_structured +- nir: Add a structured flag to nir_shader +- nir: Add goto_if jump instruction +- spirv: extract switch parsing into its own function +- spirv: parse unstructured CFG +- clover/nir: fix mem_shared by using address_format_32bit_offset +- nv50/ir/nir: fix smem size +- nv50/ir/nir: rework indirect function_temp handling +- clover/nir: Call vars_to_explicit_types for shared memory +- nve4: fix uploading unaligned sized input buffers +- nv50/ir/nir: assert on unknown alu ops +- clover/nir: support int64 atomics if the device supports it +- nv50/ir/nir: fix global_atomic_comp_swap +- nvc0: handle nr being 0 in nvc0_set_global_bindings +- nv50/ir/nir: support load_work_dim +- clover/spirv: rework handling of spirv extensions +- clover/spirv: pass list of supported extensions to the translator +- nir: rename nir_op_fne to nir_op_fneu +- nir: fix nir_variable_create for kernels +- clover/nir: add support for global invocation id offsets +- nv50/ir: remove symbol table support for compute shaders +- nv50/ir: add nv50_ir_prog_info_out +- nir: use nir_var_all to get rid of casting +- util: add helpers to define bitwise operators on enums for C++ +- nir: use enum operator helper for nir_variable_mode and nir_metadata +- clover/nir: Lower function_temp to scratch. +- nv50/ir: fix cas lowering for 64 bit +- clover/nir: use offset for temp memory +- clover/llvm: undefine \__IMAGE_SUPPORT_\_ for devices without image support +- nvc0/ir: fix load propagation for sub 4 byte addressing +- spirv: fix 64 bit atomic inc and dec +- nvc0/cl: hande 64 bit pointers in nvc0_set_global_handle +- clover/spirv: fix vec3 alignment +- nir/serialize: fix serialization of system values +- clover/util: add id_type_equals to support symbols with multiple sections +- clover: bind constant buffer if one is provided +- clover/nir: extract constant buffer into its own section +- clover/spirv: parse arg_info +- clover/spirv: support CL_KERNEL_COMPILE_WORK_GROUP_SIZE +- clover: use pipe_image_view for images instead of set_compute_resources +- clover: support custom driver strides +- clover/device: use PIPE_MAX_SHADER_SAMPLER_VIEWS for max_images_read +- clover/nir: set kernel_image cap +- nouveau: hide SVM support behing a variable for now as kernel space is broken +- nvc0/CL: enable images +- llvmpipe: enable CL images +- nv50/ir/nir: don't use designated initializers + +Kenneth Graunke (15): + +- iris: Fix headerless sampler messages in compute shaders with preemption +- nir: Copy semantics to nir_intrinsic_load_fs_input_interp_deltas +- nir: Move new edgeflag assert into the io_lowered case +- iris: Reorder the loops in iris_fence_await() for clarity. +- iris: Drop stale syncobj references in fence_server_sync +- Revert "nir: replace lower_ffma and fuse_ffma with has_ffma" +- intel/compiler, anv: Delete cs_prog_data->slm_size +- iris: Fix doubling of shared local memory (SLM) sizes. +- anv: Set only one ISL usage bit (RT/texture) for CopyBuffer sources +- isl, anv, iris: Add a centralized helper to select MOCS based on usage +- isl: Enable Tigerlake HDC:L1 caches via MOCS in various cases. +- iris: fix source/destination layers for 3D blits +- iris: Move blit scissoring earlier. +- intel/fs: Fix sampler message headers on Gen11+ when using scratch +- nir/algebraic: Avoid creating new fp64 ops when using softfp64 + +Khem Raj (1): + +- vc4: use intmax_t for formatted output of timespec members + +Kristian Høgsberg (12): + +- egl/android: Call createImageFromDmaBufs directly +- egl/android: Look up prime fds in droid_create_image_from_prime_fds() +- egl/android: Drop unused ctx argument +- egl/android: Simplify droid_create_image_from_name() path +- egl/android: Move droid_create_image_from_prime_fds() function up +- egl/android: Use droid_create_image_from_prime_fds() in get_back_bo() +- egl/android: Add support for CrOS buffer info perform op +- turnip: Add kgsl backend +- util/formats: Add PIPE_FORMAT_R8_G8B8_420_UNORM +- st/mesa: Add NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM +- freedreno/a6xx: Generalize pointers in struct fd6_pipe_sampler_view +- freedreno/a6xx: Support PIPE_FORMAT_R8_G8B8_420_UNORM for texturing + +Krunal Patel (2): + +- gallium/auxiliary/vl: Odd Dimensions are failing +- radeon/vcn: Bitrate not updated when changing framerate + +Leo Liu (2): + +- frontends/omx/dec: Use the known codec profile when allocating buffers +- frontends/omx/h265: Check the pps set before the scaling data + +Lepton Wu (1): + +- util/ralloc: fix ralloc alignment. + +Lionel Landwerlin (36): + +- anv: fix incorrect realloc failure handling +- intel/dump_gpu: only write BOs mapped by the driver +- intel/dump_gpu: further track mapping of BOs +- intel/dump_gpu: set default device_override +- intel/dump_gpu: add an only-capture option +- intel/dump_gpu: only map in GTT buffers not previously mapped +- anv: track the current frame and write it into the driver identifier BO +- intel/dump_gpu: fix --platform option +- intel/dump_gpu: add an option to capture a single frame +- anv: centralize vk to gen arrays +- anv: fix up dynamic clip emission +- anv: don't fail userspace relocation with perf queries +- intel/perf: store query symbol name +- intel/perf: fix raw query kernel metric selection +- anv: fix transform feedback surface size +- anv: move push constant allocation tracking into gfx pipeline state +- anv: simplify push constant emissions +- anv: VK_INTEL_performance_query interaction with VK_EXT_private_data +- anv: fix robust buffer access +- include/drm-uapi: bump headers +- anv: add new gem/drm helpers +- anv: implement shareable timeline semaphores +- intel/genxml: make sure test assert are compiled in +- intel/compiler: fixup Gen12 workaround for array sizes +- vulkan: bump headers/registry to 1.2.154 +- anv: implement VK_KHR_copy_commands2 +- intel/perf: fix crash when no perf queries are supported +- intel/dev: add a small non installable tool to print device info +- intel/dev: fix 32bit build issue +- genxml: drop gen10 +- blorp: identify copy kernels in NIR +- blorp: allow blits with floating point source layers +- anv: fix source/destination layers for 3D blits +- anv: report latest extension spec versions +- intel/dev: Bump Max EU per subslice/dualsubslice +- anv: fix descriptor pool leak in VMA object + +Louis Li (1): + +- radeon/radeon_vce: fix out of target bitrate in CBR mode (H.264) + +Louis-Francis Ratté-Boulianne (6): + +- st/mesa: factor ucp-lowering logic into helper +- st/mesa: Enable clip planes lowering for geometry shaders +- pipebuffer: Remove unused buffer event in slab bufmgr +- st/mesa: Replace UsesStreams by ActiveStreamMask for GS +- glsl/linker: Add support for XFB varying lowering in geometry shader +- gallium: Fix NIR validation when lowering polygon stipple + +Lucas Stach (19): + +- etnaviv: stop leaking the dummy texure descriptor BO +- gallium/dri: allow create image for formats that only support SV or RT binding +- etnaviv: drm: fix BO refcount race +- etnaviv: blt: properly program surface TS offset for clears +- etnaviv: update headers from rnndb +- etnaviv: tex_desc: fix TS compression enable +- etnaviv: cosmetic etna_resource_alloc fixes +- etnaviv: do proper cpu prep/fini when clearing allocated buffer +- etnaviv: simplify etna_screen_bo_from_handle +- etnaviv: pass correct layout to etna_resource_alloc for scanout resources +- etnaviv: don't import allocated scanout resources via from_handle +- Revert "gallium/dri: fix dri2_from_planar for multiplanar images" +- etnaviv: emit RA_EARLY_DEPTH on dirty ZSA +- etnaviv: flush depth cache when changing depth config +- etnaviv: update headers from rnndb +- etnaviv: expose shader discard usage in etna_shader_variant +- etnaviv: rework ZSA into a derived state +- gallium: document convention for get_handle calls on multi-planar resources +- etnaviv: fix disabling of INT filter for real + +Lukas F. Hartmann (1): + +- etnaviv: Fix disabling early-z rejection on GC7000L (HALTI5) + +Marcin Ślusarz (50): + +- intel/perf: fix calculation of used counter space +- intel/perf: fix how pipeline stats are stored +- intel/perf: streamline error handling in read_oa_samples_until +- intel/perf: fix performance counters availability after glFinish +- intel/perf: split load_oa_metrics +- intel/perf: export performance counters sorted by \[group|set\] and name +- glsl: fix crashes on out of bound matrix access using constant index +- gitlab: ask for more detailed info about GPU +- mesa: fix formatting of messages printed using \_mesa_log +- anv: refresh cached current batch bo after emitting some commands +- iris: handle os_dupfd_cloexec failure +- iris: verify color component width in convert_fast_clear_color +- i965: verify format width in blorp_get_client_bo +- intel/perf: don't generate logically dead code +- intel/compiler/test: use TEST_DEBUG env var consistently +- intel/compiler: mark debug constant as const +- intel/fs,vec4: remove unused assignments +- intel: add INTEL_DEBUG=shaders +- intel/fs: add hint how to get more info when shader validation fails +- intel/compiler: match brw_compile_\* declarations with their definitions +- intel/compiler: use the same name for nir shaders in brw_compile_\* functions +- intel/compiler: move extern C functions out of namespace brw +- intel/compiler: print dispatch width when shader fails to compile +- intel/compiler: fix typo in a comment +- anv: fix minor gen_ioctl(I915_PERF_IOCTL_CONFIG) error handling issue +- intel/compiler: remove unused fs_validator::param_size +- intel/compiler: initialize remaining fields of various classes +- intel/tools: fix possible memory leak in the error path +- intel/tools: handle ftell errors +- intel/compiler: quiet Coverity warnings +- intel/tools: fix possible randomly increased verbosity of error2aub +- intel: add INTEL_DEBUG expected value in declaration +- iris: drop likely/unlikely around INTEL_DEBUG +- i965: drop likely/unlikely around INTEL_DEBUG +- anv: drop likely/unlikely around INTEL_DEBUG +- intel: drop likely/unlikely around INTEL_DEBUG +- vulkan/wsi: fix possible random stalls in wsi_display_wait_for_event +- intel/tools: fix invalid type in argument to printf +- intel/genxml: don't generate identical code for different branches +- anv: always annotate memory returned from anv_gem_mmap +- intel: remove dead code +- i965: remove prototypes of not-existing functions +- intel/compiler: use C++ template instead of preprocessor +- intel/compiler: remove branch weight heuristic +- intel/tools: allow --color option to be used without arg +- anv: remove dead code from anv_create_cmd_buffer +- intel/tools: handle some failures +- intel/tools: refactor logging to be easier to follow by static analyzers +- intel/tools: add missing new lines to few remaining fail_if users +- nir: handle float atomics in copy propagation pass + +Marek Olšák (278): + +- radeonsi: enable ETC2 hw acceleration on Raven2 +- ac/gpu_info: set num_tiles_pipes on gfx10+ too +- Revert "radeonsi: honor a user-specified pitch on gfx10.3" +- radeonsi: use correct wave size in gfx10_ngg_calculate_subgroup_info +- radeonsi: use the same units for esgs_ring_size and ngg_emit_size +- radeonsi: increase minimum NGG vertex count requirement per workgroup on gfx 10.3 +- radeonsi: fix applying the NGG minimum vertex count requirement +- radeonsi: don't count unusable vertices to the NGG LDS size +- radeonsi: add a common function for getting the size of gs_ngg_scratch +- radeonsi: remove the NGG hack decreasing LDS usage to deal with overflows +- radeonsi: various fixes for gfx10.3 +- radeonsi: disable NGG culling on gfx10.3 because of hangs +- radeonsi: fix compute-based culling with VERTEX_COUNTER_GDS_MODE == 1 +- compiler: add glsl_print_type +- nir: remove nir_strip stub declaration +- nir: handle load_input_vertex in nir_get_io_offset_src +- nir: save IO semantics in lowered IO intrinsics +- nir: gather all IO info from IO intrinsics +- nir: update IO semantics in nir_io_add_const_offset_to_base +- nir: print IO semantics (v2) +- nir: properly identify texcoords for lowered IO in nir_lower_drawpixels +- nir: add shader_info::io_lowered +- nir: add interpolation qualifiers for color sysvals into shader_info +- nir: generate lowered IO in nir_lower_passthrough_edgeflags +- st/mesa: don't pass NIR to draw module if IO is lowered +- st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred +- st/mesa: handle lowered IO in st_nir_assign_vs_in_locations +- gallium/tgsi: add helper tgsi_get_interp_mode +- radeonsi: fix tess levels coming as scalar arrays from SPIR-V +- st/mesa: remove useless code for lowered IO in st_nir_assign_vs_in_locations +- gallivm: fix build on LLVM 12 due to LLVMAddConstantPropagationPass removal +- amd/registers: expose the canonicalize.py program as a function +- amd/registers: sort registers by offset in json +- amd/registers: add a script that generates json from kernel headers +- amd/registers: add non-gfx10 register files generated from kernel headers +- amd/registers: switch to new generated register definitions +- nir: fix a bug in is_dual_slot in nir_io_add_const_offset_to_base +- st/mesa: fix lowered IO - don't call st_nir_assign_vs_in_locations twice +- radeonsi: don't crash if input_usage_mask is 0 for a VS input +- radeonsi: get color interpolation info from shader_info +- radeonsi: clean up code for loading VS inputs +- ac/nir: handle all lowered IO intrinsics +- radeonsi: lower IO intrinsics - complete rewrite of input/output scanning +- radeonsi: remove in/out/uniform variables from NIR after lowering IO +- radeonsi: don't lower indirect IO in GLSL +- radeonsi: don't execute LDS stores for TCS outputs that are never read +- radeonsi: simplify handling color interp modes in si_emit_spi_map +- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_selector::type) +- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_context::type) +- radeonsi: change PIPE_SHADER to MESA_SHADER (debug flags) +- radeonsi: change PIPE_SHADER to MESA_SHADER (si_compile_llvm) +- radeonsi: change PIPE_SHADER to MESA_SHADER (si_get_shader_part) +- radeonsi: remove unused si_shader_context::type +- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_dump_disassembly) +- radeonsi: precompute si_*_descriptors_idx in si_shader_selector +- radeonsi: change PIPE_SHADER to MESA_SHADER (si_dump_descriptors) +- radeonsi: remove si_shader_selector::type +- compiler: add INTERP_MODE_COLOR for radeonsi +- radeonsi: replace TGSI_INTERPOLATE with INTERP_MODE +- radeonsi: replace TGSI_SEMANTIC with VARYING_SLOT and FRAG_RESULT +- radeonsi: optimize out the loop in si_get_ps_input_cntl +- ac/llvm: fix unaligned VS input loads on gfx10.3 +- nir: get ffma support from NIR options for nir_lower_flrp +- nir/algebraic: trivially enable existing 32-bit patterns for all bit sizes +- nir/algebraic: add 16-bit versions of a few 32-bit patterns +- glsl_to_nir: fix crashes with int16 shifts +- radeonsi: remove redundant no-signed-zero-fp-math LLVM attribute +- radeonsi: move nir_shader_compiler_options into si_screen +- Revert "ac: generate FMA for inexact instructions for radeonsi" +- ac/llvm: remove stub prototype for fmed3 +- ac/llvm: fix amdgcn.rcp for v2f16 +- ac/llvm: fix amdgcn.fract for v2f16 +- ac/llvm: fix amdgcn.rsq for v2f16 +- ac/llvm: fix bcsel for v2*16 +- ac/llvm: remove dead code handling for fmod +- ac/llvm: add better code for isign +- ac/llvm: add better code for fsign +- ac/llvm: fix b2f for v2f16 +- radeonsi: stop using TGSI_PROPERTY_NEXT_SHADER +- radeonsi: stop using TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION / VS_BLIT_SGPRS_AMD +- radeonsi: stop using TGSI_PROPERTY_TCS_VERTICES_OUT +- radeonsi: stop using TGSI_PROPERTY_TES_POINT_MODE / TES_PRIM_MODE +- radeonsi: stop using TGSI_PROPERTY_TES_SPACING +- radeonsi: stop using TGSI_PROPERTY_TES_VERTEX_ORDER_CW +- radeonsi: stop using TGSI_PROPERTY_GS_\* +- radeonsi: stop using TGSI_PROPERTY_CS_\* +- radeonsi: stop using TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL +- radeonsi: stop using TGSI_PROPERTY_FS_POST_DEPTH_COVERAGE +- radeonsi: stop using TGSI_PROPERTY_FS_COORD_PIXEL_CENTER +- radeonsi: stop using TGSI_PROPERTY_FS_DEPTH_LAYOUT +- radeonsi: stop using TGSI_PROPERTY_CS_LOCAL_SIZE +- radeonsi: stop using TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS +- radeonsi: remove info::samplers_declared, image_buffers, msaa_images_declared +- radeonsi: remove redundant si_shader_info::shader_buffers_declared +- radeonsi: remove redundant si_shader_info::images_declared +- radeonsi: remove redundant si_shader_info::const_buffers_declared +- radeonsi: remove redundant si_shader_info:*(clip|cull)\* fields +- radeonsi: remove unused si_shader_info::uses_(vertexid|basevertex) +- radeonsi: merge uses_persp_opcode_interp_sample/uses_linear_opcode_interp_sample +- radeonsi: remove redundant si_shader_info::uses_kill +- radeonsi: reduce type sizes in si_shader_selector +- radeonsi: rename num_memory_instructions -\> num_memory_stores +- radeonsi: remove redundant si_shader_info::writes_memory +- radeonsi: remove redundant GS variables in si_shader_selector +- radeonsi: remove redundant si_shader_selector::max_gs_stream +- radeonsi: remove redundant si_shader_info::uses_derivatives +- radeonsi: use shader_info::cs::local_size_variable to clean up some code +- radeonsi: deduplicate setting key.mono.u.vs_export_prim_id +- radeonsi: kill point size VS output if it's not used by the rasterizer +- radeonsi: set outputs_written_before_ps for geometry shaders too +- radeonsi: eliminate unused shader outputs for separate NGG geometry shaders +- radeonsi: remove swizzle == ~0 dead code in si_llvm_load_input_gs +- ac,radeonsi: lower 64-bit IO to 32 bits and remove all dead code +- radeonsi: inline trivial PS functions +- nir: add mediump flag to IO semantics +- nir: fix lower_mediump_outputs to not require variables +- nir/algebraic: add flrp patterns for 16 and 64 bits +- nir/algebraic: expand existing 32-bit patterns to all bit sizes using loops +- nir: remove redundant opcode u2ump +- nir: enforce 32-bit src type requirement for f2fmp and i2imp +- nir: add new mediump opcodes f2[ui]mp, i2fmp, u2fmp +- nir/algebraic: collapse conversion opcodes (many patterns) +- nir/algebraic: add late optimizations that optimize out mediump conversions (v3) +- nir/opt_vectorize: don't lose exact and no_*_wrap flags +- st/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64 +- nir,radeonsi: move ffma fusing to late optimizations for better codegen +- radeonsi: clean up ffma handling +- Revert "radeonsi: set BIG_PAGE fields on gfx10.3" +- Revert "radeonsi: move L2_CACHE_CONTROL registers into si_emit_framebuffer_state" +- radeonsi: don't lower pack for better 16-bit vectorization +- radeonsi: set flags for FP16 in shaders +- radeonsi: implement 16-bit FS color outputs +- radeonsi: vectorize IO for better ALU vectorization +- radeonsi: don't scalarize 16-bit vec2 ALU opcodes +- radeonsi: add 16-bit ALU vectorization +- gallium: rename PIPE_TRANSFER_\* -\> PIPE_MAP_\* +- gallium: rename pipe_transfer_usage -\> pipe_map_flags +- gallium: rename transfer flags -\> map flags in comments +- radeon: rename RADEON_TRANSFER_\* -\> RADEON_MAP_\* +- radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it +- radeonsi: move debug options from si_disk_cache_create to si_get_ir_cache_key +- radeonsi: remove KILL_PS_INF_INTERP/CLAMP_DIV_BY_ZERO, use screen::options +- amd: add Dimgrey Cavefish support +- amd: add VanGogh support +- radeonsi: set KEEP_TOGETHER_ENABLE if needed +- radeonsi: move binning parameters into si_screen +- radeonsi: break a binning batch on a new PS if bins can use multiple state sets +- radeonsi: add a tweak for PS wave CU utilization for gfx10.3 +- nir: split fuse_ffma into fuse_ffma16/32/64 +- nir: split lower_ffma into lower_ffma16/32/64 +- radeonsi: fuse or lower ffma optimally on all chips +- nir: replace lower_ffma and fuse_ffma with has_ffma +- radeonsi: use optimal order of operations when setting up a compute dispatch +- radeonsi: call si_upload_graphics_shader_descriptors before the big conditional +- radeonsi: move a displaced comment in si_draw_vbo +- radeonsi: don't call emit_cache_flush after uploading bindless descriptors +- radeonsi: reorganize the code around the gfx9 scissor bug +- radeonsi: move si_upload_vertex_buffer_descriptors into si_state_draw.c +- radeonsi: add unlikely statements into si_draw_vbo +- radeonsi: lift the conditional for skipping si_upload_vertex_buffer_descriptors +- radeonsi: always inline draw-related functions that have only one use +- nir: gather indirect info from lowered IO intrinsics +- nir: gather tess.tcs_cross_invocation info from lowered IO intrinsics +- nir: set system_values_read for all intrinsics +- nir: gather fs.uses_sample_qualifier from lowered IO +- nir: fix input/output info gathering for lowered IO +- nir: gather information about fbfetch and dual source color +- radeonsi: fix indirect dispatches with variable block sizes +- radeonsi: call nir_shader_gather_info after lowering and optimizing NIR +- radeonsi: use info.system_values_read +- radeonsi: get information about FS color outputs from shader_info directly +- radeonsi: get input/output usage flags from shader_info directly +- radeonsi: run NIR optimizations that glsl_to_nir runs but other places might not +- radeonsi: assume that constant load_local_group_size has been optimized out +- radeonsi: remove redundant variables from struct si_compute +- radeonsi: remove redundant info.uses_fbfetch +- gallivm: add support for lowered IO in vertex shaders +- util: implement f16c - fast half<->float conversions +- util: move util_half_to_float code into \_mesa_half_to_float_slow +- util: remove util_float_to_half and util_half_to_float wrappers +- gallium/util: remove redundant util_float_to_half_rtz +- gallium/util: remove empty file u_half.h +- radeonsi: Fix dead lock with aux_context_lock in si_screen_clear_buffer. +- radeonsi: simplify NGG culling enablement and add radeonsi_shader_culling option +- radeonsi: kill disabled clip distances and planes at per-channel granularity +- radeonsi: move si_set_active_descriptors_for_shader into si_update_common_shader_state +- radeonsi: use staging buffer uploads for most VRAM buffers +- radeonsi: call nir_lower_bool_to_int32 last because it breaks nir_opt_if +- radeonsi: restructure si_pipe_set_constant_buffer +- mesa: factor out layout parsing for glInterleavedArrays +- gl_marshal.py: inline print_sync_dispatch +- driconf: force the vendor string to NVIDIA to fix viewperf energy tests +- driconf: enable force_glsl_extensions_warn for viewperf +- st/mesa: enable GL name reuse for queries based on the driconf option +- util/idalloc: resize if ID is too large for reservation +- gallium/util: add set_frontend_noop into driver_noop and u_threaded_context +- radeonsi: remove dead variable postponed_kill +- radeonsi: implement GL_INTEL_blackhole_render +- gallium/u_threaded_context: don't call memcpy in tc_set_constant_buffer +- gallium/u_threaded_context: always flush asynchronously if requested +- gallium/u_threaded_context: fix use-after-free in transfer_unmap +- util: implement F16C using inline assembly on x86_64 +- util: move util_half_to_float code into \_mesa_half_to_float_slow +- util: remove util_float_to_half and util_half_to_float wrappers +- gallium/util: remove redundant util_float_to_half_rtz +- gallium/util: remove empty file u_half.h +- mesa: don't use GET_DISPATCH because it doesn't work with glthread +- mesa: remove api_loopback to remove call indirections +- glthread: handle glInterleavedArrays +- nir/algebraic: always lower idiv to shifts if bitops are allowed +- util: add \_mesa_set_create_u32_keys where keys are not pointers +- nir: add new helper passes that lower uniforms to literals +- gallium: add pipe_context::set_inlinable_constants +- st/mesa: pass inlinable uniforms to drivers if they requested it +- ac/surface: fix valgrind warnings in DCC retile tile lookups +- winsys/amdgpu: rework the VM alignment optimizations +- winsys/amdgpu: apply the VM alignment optimization to the physical alignment too +- radeonsi: update the DMA perf test +- radeonsi: disable SDMA on gfx6-7 and gfx10.3 to decrease CPU overhead +- Revert "radeonsi/gfx10: disable vertex grouping" +- radeonsi: don't disable NGG culling on gfx10.3 +- radeonsi: enable NGG culling by default on gfx10.3 dGPUs +- radeonsi: optimize out LDS bank conflicts in the NGG culling shader +- radeonsi: remove indirection when loading position at the end for NGG culling +- radeonsi: write VS/TES system values into LDS after culling +- radeonsi: pack LDS better for NGG culling +- radeonsi: tweak LATE_ALLOC_GS numbers for faster NGG culling +- radeonsi: enable NGG on Navi14 PRO cards +- radeonsi: enable NGG culling by default on Navi1x PRO cards +- ac/llvm: don't lower bool to int32, switch to native i1 bool +- amd: update addrlib +- nir: consider load_color intrinsics as both inputs and sysval in gathering +- Revert "st/mesa: don't pass NIR to draw module if IO is lowered" +- st/mesa: make sure prog->info is up to date for NIR (v2) +- amd: regenerate gfx103.json from kernel headers +- amd: correct typos in gfx10-rsrc.json +- amd: update gfx10-rsrc.json for gfx10.3 +- amd: replace 0x028848 with the register definition +- amd: print NUM_PKRS with AMD_DEBUG=info on gfx10.3 +- Revert "radeonsi: use staging buffer uploads for most VRAM buffers" +- util: remove unused util_get_L3_for_pinned_thread +- util: consolidate thread_get_time functions +- st/mesa: remove random L3 pinning heuristic for glthread +- util: add util_set_thread_affinity helpers including Windows support +- util: add util_get_current_cpu using sched_getcpu and Windows equivalent +- util: completely rewrite and do AMD Zen L3 cache pinning correctly +- glthread: pin driver threads to the same L3 as the main thread regularly +- radeonsi: implement inlinable uniforms +- gallium: move pipe_draw_info::start/count to the beginning and pad empty space +- gallium: add pipe_context::multi_draw +- winsys/amdgpu: remove incorrect assertion check against max_check_space_size +- radeonsi: add num_draws parameter into si_need_gfx_cs_space +- radeonsi don't get count from pipe_draw_info in si_num_prims_for_vertices +- radeonsi: don't check info->count == 0 +- radeonsi: implement multi_draw but supporting only 1 draw +- radeonsi: add support for multi draws +- radeonsi: set NOT_EOP for back-to-back draws on gfx10+ +- radeonsi: implement multi_draw for compute-based primitive culling +- gallium/u_threaded: move a structure up to be used later +- gallium/u_threaded: merge consecutive draw calls within batches +- st/mesa: fix use-after-free when updating shader info in st_link_nir +- radeonsi: fix min_direct_count value +- radeonsi: do VGT_FLUSH when switching NGG -\> legacy on Sienna Cichlid +- radeonsi: only do VGT_FLUSH for fast launch if previous draw was normal launch +- radeonsi: determine correctly if switching from normal launch to fast launch +- radeonsi: add options.inline_uniforms to the shader cache key +- ac: fix detection of Pro graphics +- ac: fix min/max_good_num_cu_per_sa on gfx10.3 with disabled SEs +- radeonsi: fix NGG streamout regression +- radeonsi: fix scan_instruction for bindless inc_wrap/dec_wrap atomics +- nir: fix gathering TCS cross invocation access with lowered IO +- nir: fix gathering patch IO usage with lowered IO +- ac/nir: fix a typo in ac_are_tessfactors_def_in_all_invocs +- mesa: call FLUSH_VERTICES before changing sampler uniforms +- st/mesa: fix uninitialized/random clip plane state vars in lower_ucp +- radeonsi: fix a memory leak in si_create_dcc_retile_cs +- radeonsi: fix a nasty bug in si_pm4.c +- radeonsi: disable WGP mode on gfx10.3 to prevent hangs + +Marek Vasut (2): + +- etnaviv: Remove etna_resource_get_status() +- etnaviv: Add lock around pending_ctx + +Marijn Suijten (5): + +- util: Makefile.sources: Add disk_cache_os.{c,h} +- android: gallium/auxiliary: Deduplicate nir_to_tgsi.c inclusion +- scons: gallium/auxiliary: Unconditionally compile NIR regardless of LLVM +- android: panfrost: Move nir_undef_to_zero to util +- android: freedreno: Add freedreno_dev_info.[ch\] to Makefile.sources + +Mark Janes (2): + +- intel/fs: Assert if lower_source_modifiers converts 32x16 to 32x32 multiplication +- intel/fs: work around gen12 lower-precision source modifier limitation + +Mark Menzynski (5): + +- nv50/ir: Use a bit field in info_out structure +- nv50/ir: Add nv50_ir_prog_info_out serialize and deserialize +- nv50/ir: Add prog_info_out print +- nv50/ir: Add nv50_ir_prog_info serialize +- nvc0: Add shader disk caching + +Martin Peres (11): + +- driconf: bump the maximum string size from 25 to 1024 +- driconf: initialize the option value before using it +- dri/DRI2ConfigQueryExtension: add support for string options +- glx/extensions: split set_glx_extension into find\_ and set\_ +- glx: stop using hardcoded array sizes for bitfields +- glx: initial plumbing to let users force-enable/disable extensions +- glx: let users force-enable/disable indirect GL extensions +- driconf: add a way to override GLX extensions +- driconf: add a way to override indirect-GL extensions +- driconf: disable GLX_OML_swap_method by default on Brink +- driconf: allow higher compat version for Brink + +Matt Turner (3): + +- intel/tools: Disassemble WAIT's argument as a destination +- Revert F16C series (MR 6774) +- glcpp: Handle bison-3.6 error message changes + +Mauro Rossi (28): + +- android: panfrost: Rename encoder/ to lib/ +- android: panfrost: Move pandecode into lib/ +- android: pan/mdg: Separate disassembler and compiler targets +- android: pan/bi: Separate disasm/compiler targets +- android: panfrost: Redirect cmdstream includes through GenXML +- android: panfrost/bifrost: add libpanfrost_lib static dependency +- android: panfrost: Redirect cmdstream includes through GenXML (v2) +- android: util/format: fix generated sources rules +- android: amd/registers: switch to new generated register definitions +- android: util: fix missing include path +- android: nv50/ir: Add nv50_ir_prog_info_out serialize and deserialize +- android: freedreno: Implement pipe screen's get_device/driver_uuid() +- android: freedreno/common: add libmesa_git_sha1 static dependency +- egl/android: HAVE_DRM_GRALLOC path fixes (v2) +- android: aco/isel: Move context initialization code to a dedicated file +- android: pan/bi: Use new disassembler +- android: pan/bi: Use new packing +- android: pan/bi: fix typo in bifrost_gen_disasm.c gen rules +- android: gallium/iris: cleanup iris_driinfo.h gen rules +- android: gallium/radeonsi: cleanup si_driinfo.h gen rules +- android: gallium/virgl: cleanup virgl_driinfo.h gen rules +- android: util: add log.c to Makefile.sources +- android: pan/bi: Use new disassembler (v2) +- android: panfrost: use python3 for generated sources rules +- android: util: Move xxd.py to util +- android: util,ac,aco,radv: Cross-platform memstream API +- android: fix libsync dependencies (v2) +- android: aco: add aco_form_hard_clauses.cpp to Makefile.sources + +Michael Olbrich (1): + +- meson.build: xxf86vm is not needed for -Dglx-direct=false + +Michael Tretter (2): + +- etnaviv: fix comment for source of etna_mesa_debug +- etnaviv: free tgsi tokens when shader state is deleted + +Michel Dänzer (31): + +- ci: Fix up rules for post-merge / main project branch pipelines +- ci: Create test-docs job in mesa/mesa pipelines for MRs +- ci: Don't exclude "success" job from mesa/mesa pipelines for MRs +- ci: Restrict "success" job to pipelines for MRs +- ci: Do not create manual test-docs job in post-merge pipelines +- ci: Remove any existing results directory before running piglit +- ci: Add "is scheduled pipeline" YAML anchor +- ci: Add "is master branch of main project" YAML anchor +- ci: Add "is pre-merge pipeline for Marge Bot" YAML anchor +- ci: Add "is post-merge pipeline, not for Marge Bot" YAML anchor +- ci: Add "is forked branch or pre-merge pipeline" YAML anchor +- ci: Add "is forked branch" YAML anchor +- ci: Add "is post-merge pipeline" YAML anchor +- ci: Add "is pre-merge pipeline" YAML anchor +- ci: Add "is for Marge Bot" YAML anchor +- ci: Always use CI_PROJECT_NAMESPACE instead of CI_PROJECT_PATH +- ci: Prevent pages job from running in pre-merge pipelines +- ci: Don't create test-docs job if the pages one exists in the pipeline +- ci: Use ignore_scheduled_pipelines anchor in .radeonsi-rules +- gallium: Make pipe_viewport_state swizzle_x/y/z/w bit-fields 8 bits wide +- ci: Move test-docs job to deploy stage +- ci: Add empty needs: to pages job +- ci: Add jobs running ci-fairy checks +- loader/dri3: Only allocate additional buffers if needed +- loader/dri3: Keep current number of back buffers if frame was skipped +- loader/dri3: Allocate up to 4 back buffers for page flips +- ci: Add "check mr" job to needs: of build jobs +- ci: Run git_archive job if all_paths matches +- i965/bufmgr: Handle NULL bufmgr in brw_bufmgr_get_for_fd +- iris/bufmgr: Handle NULL bufmgr in iris_bufmgr_get_for_fd +- ac: Don't negate strstr return values in ac_query_gpu_info + +Michel Zou (9): + +- swr: fix build with mingw +- swr: missing \_BitScanForward64 on 32 bits win +- swr: fix \_BitScanForward64 on unix +- util: drop non-posix header fnmatch +- lavapipe: fix usleep usage in lvp_device +- wsi: move drm code to wsi_common_drm.c +- gallium: use libpipe_loader_links +- lavapipe: configure suffix in icd json +- util: use dllexport for mingw too + +Mike Blumenkrantz (118): + +- zink: basic primitive restart support for strip/fan topologies +- zink: move 8bit index handling out of u_primconvert path +- zink: use util_draw_vbo_without_prim_restart for unsupported prim modes +- zink: set primitive restart cap +- zink: move shader state methods for pipe_context into zink_program.c +- zink: adjust zink_shader struct to contain full streamout info +- zink: refcount zink_gfx_program objects +- zink: split up creating zink_shader objects and VkShaderModule objects +- zink: use ZINK_SHADER_COUNT instead of PIPE_SHADER_TYPES - 1 everywhere +- zink: start using per-stage flags for new shaders, refcount shader modules +- zink: always compile shaders in pipeline order +- zink: rename zink_gfx_program::stages to 'modules' +- gallium: add pipe_transfer_usage for z/s only mappings +- gallium/u_transfer_helper: add util functions for doing deinterleaving during map +- zink: print error when getprocaddr fails for extension functions +- zink: change pipeline hashes to index based on vk primitive type +- zink: handle more draw modes +- zink: invalidate pipeline hash on more changes +- zink: use u_transfer_helper to split/merge interleaved depth/stencil formats +- zink: add note about buffer<->image copy functions not handling multisample +- zink: generically handle matrix types +- anv: improve error message when failing to open device path +- anv: assert that the target bo is valid when adding a reloc list +- zink: use correct value for color buffer sample count when creating renderpass +- zink: use correct number of samples on framebuffer in set_framebuffer_state +- zink: use correct layer count when creating framebuffer +- zink: clamp min created fb size to 1x1 +- zink: verify that src and dst aspects are the same in resource_copy_region hook +- zink: implement ARB_instanced_arrays +- zink: move viewport count to zink_gfx_pipeline_state +- zink: set multiviewport cap in ntv when gl_ViewportIndex is a written output +- zink: correctly set up fb-sized scissors for each viewport +- zink: apply viewport count when creating pipelines +- zink: reorder create_stream_output_target to fix failure case leak +- zink: combine all surface layout-setting for src/dst into util function +- zink: unify all occurrences of waiting on a fence +- zink: correctly handle ARB_arrays_of_arrays in ntv for samplers +- zink: run nir_lower_uniforms_to_ubo conditionally +- zink: fix shader buffer size caps to use 65536 +- zink: always emit descriptor set 0 in ntv +- zink: emit ubo variables sized based on the overall ubo block size +- zink: don't emit ubos or bindings for ubo variables +- zink: correctly set up ubo bindings and buffer indices +- zink: use sizeof(vec4) multiplier for nir_lower_uniforms_to_ubo +- zink: hook up driconf +- xmlconfig: fix scandir_filter +- zink: handle timestamp queries +- zink: handle TIME_ELAPSED queries +- zink: add pipe_context::get_timestamp hook +- zink: enable pipe caps for ARB_timer_query +- anv: remove VkPipelineCacheCreateInfo::flags assert +- radv: remove VkPipelineCacheCreateInfo::flags assert +- util/hash_table: add function for reserving size in a hash table +- zink: enable VK_KHR_vulkan_memory_model extension +- zink: add VK_EXT_custom_border_color +- zink: support VK_EXT_blend_operation_advanced +- zink: support VK_EXT_extended_dynamic_state +- zink: add VK_EXT_pipeline_creation_cache_control +- zink: enable VK_EXT_shader_stencil_export +- zink: ARB_uniform_buffer_object is now implemented, so add cap and feature doc +- glsl: fix up location setting for variables pointing to a UBO's base +- nir: update ubo locations in nir_lower_uniforms_to_ubo +- zink: add a mechanism to track current resource usage in batches +- zink: optimize transfer_map for resources with pending reads/writes +- zink: add more explicit fencing for transfer maps +- zink: explicitly flag fb attachments as being written to in render passes +- zink: don't leak sampler view textures +- zink: redo slot mapping again for the last time really I mean it +- zink: export PIPE_CAP_MAX*_VARYINGS values +- zink: unify code for emitting named uint-based variable instructions +- glsl: more accurately handle swizzle in 64bit varying split with no left value +- zink: increase descriptor pool sizes for other descriptor types we'll be using +- zink: implement ARB_texture_buffer_object +- zink: ensure resource tracking for sampler buffers in render batches +- zink: assert valid format in zink_create_sampler_view() +- zink: handle null attachment for ARB_texture_buffer_object samplers +- zink: add VK_BUFFER_USAGE_INDEX_BUFFER_BIT to vertex buffer creation +- zink: add last few format maps for ARB_vertex_type_2_10_10_10_rev +- zink: fix stencil wrapping +- zink: add some spirv_builder functions we'll be using for geometry shaders +- zink: handle shader io vars more generically for use with gs +- zink: add ntv handling for geometry shader variables +- zink: re-transform gl_Position for gs input +- zink: add handling for gs in ntv +- zink: remove ADJACENCY prim types from primconvert path +- zink: round out handling for streamout buffer stride setting during draw +- zink: add gallium handling for geometry shaders +- zink: enable gs pipe caps +- zink: bump to glsl 1.40 +- zink: mark off GL 3.1 as done in features.txt +- zink: GLSL 1.50 +- zink: set 3.2 complete in features.txt +- zink: bump GLSL to 3.30 +- zink: set 3.3 complete in features.txt +- zink: implement ARB_draw_indirect +- zink: add helper for vec-type input variables in ntv +- zink: add ntv handling for ARB_sample_shading +- zink: add a pipe_context::get_sample_position hook +- zink: mark ARB_sample_shading as supported +- doc/features: remove zink entries for GL 3.3 items +- zink: deduplicate some query result code +- zink: more correctly handle PIPE_QUERY_PRIMITIVES_GENERATED queries +- zink: also create an xfb query for every primitives generated query +- zink: store batch id onto query object at time of start +- zink: fixup gs/xfb tracking for primitives generated queries +- zink: rework query overflow handling +- zink: always use query->type for starting/stopping xfb queries +- zink: always reset query pools on next query begin +- zink: add pass for lowering dynamic ubo/ssbo block indexing to constants +- zink: break up dynamic access lowering +- util/threaded_context: use driver's buffer alignment for staging transfers +- nir/clip_disable: write 0s instead of undefs for disabled clip planes +- nir/clip_disable: try for better no-op +- nir/clip_disable: handle 2x vec4 case +- zink: implement ARB_texture_query_lod +- zink: use same function for all pipe_context::delete_*_state shader methods +- zink: add a quadop function in spirv_builder +- zink: add some spirv builder functions for barriers + +Nanley Chery (46): + +- dri_util: Update internal_format to GL_RGB8 for MESA_FORMAT_B8G8R8X8_UNORM +- iris: Don't call SET_TILING for dmabuf imports +- iris: Make iris_bo_import_dmabuf take a modifier +- iris: Drop iris_resource_alloc_separate_aux +- iris: Drop unused resource allocation optimization +- iris: Drop old comment on clear color BO allocation +- iris: Move size/offset calculations out of configure_aux +- iris: Add and use iris_resource_configure_main +- iris: Drop buffer support in resource_from_handle +- gallium/dri2: Report correct YUYV and UYVY plane count +- iris: Fix aux assertion in resource_get_handle +- iris: Fold a condition into no_gpu for consistency +- iris: Make iris_has_color_unresolved more generic +- iris: Avoid resolving Z/S reads in transfer_map +- iris: Drop a use of the need_resolve boolean +- iris: Better determine map_would_stall for Z/S +- gallium/dri2: Report I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS num_planes +- gallium/dri2: Support I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS import +- intel/isl: Describe I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS +- intel/isl: Support ISL_AUX_USAGE_MC in surface states +- intel/isl: Add YUV format info for the aux-map +- st/mesa: Don't map all P01X DRM formats to P016 +- intel/common: Add get_aux_map_format_bits() +- iris: Support planar resource imports for MC +- intel/common: Drop unused gen_aux_map_add_image +- iris: Support MC modifier in plane count queries +- iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS +- blorp: Fix alignment test for HIZ_CCS_WT fast-clears +- blorp: Drop trailing whitespace in blorp_clear.c +- anv/image: Disable multi-layer CCS_E on TGL+ +- blorp: Ensure aligned HIZ_CCS_WT partial clears +- iris: Fix a fast-clear skipping optimization +- anv: Enable multi-layer aux-map init for HIZ+CCS +- Revert "anv: Add driconf option to disable compression for 16bpp format" +- iris: Add fast-clear restriction for 8bpp surfaces +- isl: Allow CCS for 8bpp surfaces with 3+ miplevels +- st/mesa: Add missing sentinels in format_map[\] +- intel/isl: Drop redundant unpack of unorm channels +- isl: Fix the aux-map encoding for D24_UNORM_X8 +- iris: Fix fast-clears of swizzled LA formats +- iris: Fix SINT assert in convert_fast_clear_color +- iris: Fix fast-clears of swizzled alpha formats +- iris: Flush dmabufs during context flushes +- mesa: Add and use \_mesa_has_depth_float_channel +- mesa: Clamp some depth values in glClearBufferfv +- mesa: Clamp some depth values in glClearBufferfi + +Neil Roberts (3): + +- v3d: Make the function to set tex dirty state for a stage global +- v3d: Split the creating of TEXTURE_SHADER_STATE into a helper function +- v3d: Update the TEXTURE_SHADER_STATE when there’s a new buf for a tex + +Philipp Zabel (3): + +- meson: fix power8 option +- gallium/dri: fix dri2_query_image for multiplanar images +- gallium/dri: fix dri2_from_planar for multiplanar images + +Pierre Moreau (5): + +- clover/spirv: Remove unused tuple header +- clover/spirv: Print linked SPIR-V module if asked +- meson: Raise minimum version for SPIR-V OpenCL deps (v4) +- clover/llvm: Use the highest supported SPIR-V version (v4) +- clover/nir: Register callback for translation messages (v2) + +Pierre-Eric Pelloux-Prayer (61): + +- ac/llvm: handle static/shared llvm init separately +- mesa/st: introduce PIPE_CAP_NO_CLIP_ON_COPY_TEX +- radeonsi: enable PIPE_CAP_NO_CLIP_ON_COPY_TEX +- ac/llvm: add option to clamp division by zero +- radeonsi,driconf: add clamp_div_by_zero option +- radeonsi: use radeonsi_clamp_div_by_zero for SPECviewperf13, Road Redemption +- amd/llvm: switch to 3-spaces style +- amd/common: switch to 3-spaces style +- mesa: move u_idalloc from gallium/aux/util to util +- util/idalloc: add util_idalloc_reserve +- util/idalloc: add lowest_free_idx to avoid iterating from 0 +- mesa: add a isGenName parameter to \_mesa_HashInsert +- mesa: add GL name reuse support +- mesa: add \_mesa_HashFindFreeKeys +- mesa: use \_mesa_HashFindFreeKeys for GL functions +- driconf: add option to reuse GL names +- glsl: fix per_vertex_accumulator::fields size +- r600/uvd: set dec->bs_ptr = NULL on unmap +- radeon/vcn: set dec->bs_ptr = NULL on unmap +- radeonsi: fix quant_mode selection for large negative values +- radeonsi: fix guardband handling for large values +- mesa: fix glUniform\* when a struct contains a bindless sampler +- gallium: add PIPE_CAP_MAX_TEXTURE_MB +- radeonsi: move GL vendor workaround to drirc +- radeonsi: reduce PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE value +- radeonsi: change vendor name to AMD +- radeonsi: force linear for textures with height=1 (gfx6-8) +- radeonsi/tmz: use secure job if framebuffer has dcc +- radeonsi/tmz: use secure job if using an encrypted z/s buffer +- radeonsi/tmz: add safety assert when tmz is enabled +- radeonsi/tmz: allocate depth/stencil buffers as encrypted +- radeonsi: introduce SI_RESOURCE_FLAG_INTERNAL / RADEON_FLAG_DRIVER_INTERNAL +- amd: add AMDGPU_IDS_FLAGS_TMZ definition to amdgpu_drm.h +- ac/gpu_info: add detection of TMZ support +- radeonsi/tmz: allow secure job if the app made a tmz allocation +- amd/winsys: add RADEON_FLUSH_TOGGLE_SECURE_SUBMISSION +- radeonsi/tmz: fail si_texture_transfer_map if tex is encrypted +- radeonsi/tmz: add tmz variant of sctx::wait_mem_scratch +- radeonsi/tmz: add tmz variant for sctx::tess_rings +- radeonsi: disable primitive discard if tmz is in use +- radeonsi/tmz: add a tmz variant for sctx::eop_bug_scratch +- radeonsi/tmz: add workaround for mpv/vaapi subtitles +- amd/tmz: move uses_secure_bos to radeon_winsys +- gallium/vl: do not call transfer_unmap if transfer is NULL +- gallium/vl: add chroma_format arg to vl_video_buffer functions +- omx/tizonia: fix build +- gallium: add new cap PIPE_CAP_DEVICE_PROTECTED_CONTENT +- gallium: introduce PIPE_BIND_PROTECTED +- radeonsi: honor PIPE_BIND_PROTECTED +- egl: implement EGL_EXT_protected_surface support +- radeonsi: enable PIPE_CAP_DEVICE_PROTECTED_CONTENT +- egl: handle EGL_PROTECTED_CONTENT_EXT for eglImage +- dri: introduce createImageFromDmaBufs3 +- egl/dri2: implement createImageFromDmaBufs3 +- driconf: add disable_protected_content_check option +- radeonsi: fix RADEON_FLUSH flags conflicts +- radeon: add si_vid_create_tmz_buffer helper +- radeon/vcn: delay dec->ctx and dec->dpb allocation +- va/picture: make sure destination buffer is protected if needed +- va: support VA_RT_FORMAT_PROTECTED +- radeonsi/gfx10: flush gfx cs on ngg -\> legacy transition + +Pierre-Loup A. Griffais (2): + +- radv: fix null descriptor for dynamic buffers +- radv: fix vertex buffer null descriptors + +Qiang Yu (4): + +- radeonsi: fix syncobj wait timeout +- radeonsi: fix user fence space when MCBP is enabled +- radeonsi: fix max syncobj wait timeout +- radeonsi: fix user fence GPU address + +Rhys Perry (160): + +- aco: fix C++11/C++14 compilation +- aco: set constant_data_offset correctly in the case of merged shaders +- aco: don't move memory accesses to before control barriers +- nir/opt_remove_phis: optimize out phis with undef +- gitlab: ask inxi output to be in code blocks +- util: add a alignof() macro +- nir: fix potential left shift of a negative value +- nir: fix memory leak in nir_cf_list_clone +- radv: don't pass null to \_mesa_sha1_update +- radv: align pipeline cache entry and header sizes +- radv: fix null memcpy and zero-sized malloc +- aco: fix non-rtz pack_half_2x16 +- nir: add and use nir_intrinsic_has\_ helpers +- aco: use nir_intrinsic_has_access +- bifrost: use nir_intrinsic_has_type +- aco: consider branch definitions in spiller +- aco: don't consider the first partial spill if it's the wrong type +- aco: don't fix break condition for break+discard to exec +- aco: fix regclass checks when fixing to vcc/exec with Builder +- aco: fix spills_entry heuristic for branch blocks in init_live_in_vars() +- aco: keep loop live-through variables spilled +- aco: reserve 2 sgprs for each branch +- aco: create long jumps +- aco/tests: add test for GFX10 0x3f bug +- aco: shorten disassembly for repeated instructions +- aco/tests: add tests for long jumps +- aco: remove 64-bit SGPR ubfe/ibfe +- aco: fix sgpr ubfe/ibfe if the offset is too large +- aco: sink get_alu_src() in bfe lowering +- spirv: fix Uniform and Output MemoryAccessMakePointer{Visible,Available} +- spirv: make OpLoad/OpStore visibility/availablity barriers acquire/release +- spirv: add vtn_emit_make_{visible,available}_barrier helpers +- spirv: implement MakePointerAvailable/MakePointerVisible for OpCopyMemory +- spirv: implement Volatile memory semantic +- spirv: implement Volatile image operand +- spirv: implement SpvMemoryAccessVolatileMask +- spirv: add some tests for volatile/available/visible +- radv: remove descriptor_indexing fails from expected fails +- aco: fix mad splitting after applying output modifiers +- aco: remove omod_success/clamp_success +- aco: fix byte_align_scalar for 3 dword vectors +- nir/load_store_vectorize: rework alignment calculation +- nir/opt_shrink_vectors: shrink image stores using the format +- aco: fix one-off error in Operand(uint16_t) +- aco: improve fsign selection +- nir/opt_if: fix opt_if_merge when destination branch has a jump +- nir/opt_loop_unroll: fix is_access_out_of_bounds with vectors +- aco: fix v_writelane_b32 with two sgprs +- aco: workaround disassembler bug of v_writelane_b32 with literal +- aco: don't apply constant to SDWA on GFX8 +- aco: fix value numbering of reductions +- aco: fix validation of sub-dword parallel-copies +- aco: pass -fno-exceptions and -fno-rtti +- aco: fix incorrect assertion in emit_vop3a_instruction() +- radv: initialize with expanded cmask if the destination layout needs it +- radv,aco: fix reading primitive ID in FS after TES +- aco: keep track of temporaries' regclasses in the Program +- aco: use bit vectors for liveness sets +- aco: use io semantics to get an intrinsic's slot +- aco: use nir_get_io_offset_src() in visit_load_input() +- aco: use nir's constant source helpers more +- aco: remove dead indirect fs input loading +- aco: stop multiplying driver_location by 4 +- st/nir: call nir_opt_access before gl_nir_lower_buffers +- radeonsi: don't use nir_opt_access +- nir/instr_set: hash intrinsic sources +- nir/load_store_vectorize: improve vectorization with identical operations +- aco: fix get_buffer_resource_flags() +- aco: remove trailing whitespace +- radv: remove trailing whitespace +- aco: Add loop creation helpers. +- nir: return progress from nir_lower_io_to_scalar_early +- radv: move optimizations in shader_compile_to_nir() to after io_to_scalar +- radv: use radv_optimize_nir() less in radv_link_shaders() +- spirv: add and use a generator id enum +- spirv: replace discard with demote for incorrect HLSL->SPIR-V translations +- radv: remove RDR2 discard workaround +- android: fix SPIR-V -\> NIR build +- aco: optimize more uniform reductions/scans +- aco: implement elect +- radv/aco,nir/lower_subgroups: don't lower elect +- nir: add last_invocation intrinsic +- aco: implement last_invocation +- nir: move divergence analysis options to nir_shader_compiler_options +- nir: allow divergence information to be updated when inserting instruction +- nir: add pass to optimize uniform atomics +- aco: use nir_opt_uniform_atomics +- nir/opt_uniform_atomics: optimize image atomics +- nir/opt_uniform_atomics: don't optimize atomics twice +- aco: fix get_ssbo_size with a vgpr resource +- scons: fix SPIR-V -\> NIR build +- nir/opt_uniform_atomics: remove useless returns +- aco: implement 16-bit literals +- aco: propagate literals into sub-dword pseudo instructions on GFX9+ +- aco: don't use v_pack_b32_f16 if 16-bit input denormals are flushed +- nir/opt_load_store_vectorize: don't vectorize stores across demote +- nir/opt_load_store_vectorize: add some tests for discard/demote behaviour +- aco: add missing SCC clobber in get_buffer_size +- ci: disable check commits job for now +- nir/loop_analyze: adjust force unrolling to only include interesting modes +- ac/nir: remove bindless image atomic format check +- aco: remove isel_context::allocated +- aco: update phi_map in add_subdword_operand() +- aco: don't do divergent break+discard +- aco: skip value numbering of copies +- aco: copy-propgate through p_create_vector during value numbering +- aco: expand vectors passed as copy operands +- aco: don't use bld.copy() in handle_operands() +- aco: allow literals on sub-dword p_parallelcopy +- aco: always use p_parallelcopy for pre-RA copies +- aco: use Builder::copy more +- aco: remove some unused optimizations +- aco: use v_mov_b32_sdwa for some 16-bit constants +- aco: remove all-undef phi opt +- aco: ignore the ACO-inserted continue in create_continue_phis() +- aco: default to a definition size of 32 +- aco: round bytes_written to dwords if larger than 4 bytes +- aco: use control flow creation helpers in select_gs_copy_shader +- aco: use mubuf helper in select_gs_copy_shader +- aco: move individual instruction disassembly to its own helper +- aco: refactor repeated instruction disassembly +- aco: switch aco_print_asm to a FILE \\* +- aco: create s_clause on GFX10+ +- aco: assert a label only uses one of the members in ssa_info's union +- aco: fix printing of some sdwa sels +- aco: fix combine_inverse_comparison() +- aco: don't allow destination opsel for v_cvt_pknorm +- aco: handle SDWA in the optimizer +- docs/features: update unpromoted Vulkan extensions +- docs/features: add Vulkan 1.2 +- radv: add some missing radv_{start,stop}_feedback +- radv: fix shader caching with discard->demote workaround +- radv: fix shader caching with NaN fixup workaround +- nir: scalarize fdot in reverse +- spirv: reverse order in matrix multiplication +- nir/algebraic: better propagate constants up fadd chains +- nir: add nir_alu_src_is_trivial_ssa() +- nir: skip bcsel with non-trivial swizzle in opt_simplify_bcsel_of_phi() +- nir: use nir_alu_src_is_trivial_ssa() in nir_ssa_for_alu_src() +- nir: add shader_info::bit_sizes_used +- nir/lower_bit_size: optimize upcast of b2i8/b2i16 +- radv: move a few passes to after load/store vectorization +- radv: do nir_lower_bit_size after algebraic optimizations +- radv: rework nir_lower_bit_size callback and run DA on GFX8+ +- aco: implement some 16-bit arithmetic instead of lowering +- aco: implement 8/16-bit instructions which can be trivially widened +- spirv: fix GLSLstd450Modf/GLSLstd450Frexp when the destination is vector +- util: add mapping from Vulkan to Gallium R64 integer formats +- amd/common: add PIPE_FORMAT_R64_{UINT,SINT} to GFX10 format table +- aco: implement 64-bit images +- ac/nir: implement 64-bit images +- radv: implement VK_EXT_shader_image_atomic_int64 +- aco: don't combine precise max(min()) to med3 +- aco: fix combine_constant_comparison_ordering() NaN check with 16/64-bit +- aco: disallow various v_add_u32 opts if modifiers are used +- aco: disable omod if the sign of zeros should be preserved +- aco: fix fp16 \*0.5 omod +- aco: fix v_mul_hi_u32_u24 format +- nir/unsigned_upper_bound: fix buffer overflow in search_phi_bcsel +- nir: fix sampler_lod_parameters_pan indices + +Ricardo Garcia (1): + +- anv: Ignore continue flag in primary cmd buffers + +Ricardo Quesada (1): + +- anv: support fd==-1 in ImportSemaphoreFdKHR + +Rob Clark (46): + +- freedreno/registers: add some missing regs to build +- freedreno/ir3: don't install ir3_compiler cmdline tool +- freedreno/ir3: add tracking for \\# of instructions per category +- freedreno/ir3: add more disasm stats +- freedreno/crashdec: handle section name typos +- freedreno/decode: try harder to not crash in disasm +- freedreno/registers: SC_WAIT_WC is not a6xx +- freedreno/a6xx: only generate streamout for draw pass shader +- freedreno/a6xx: fix occlusion query with more than one tile +- freedreno/cffdump: add arg to filter by process name +- freedreno/a6xx: disable LRZ when color channels are masked +- freedreno/a6xx: refactor debug logging +- freedreno: add debug helper to dump buffers +- freedreno: handle case of shadowing current render target +- freedreno/gmemtool: add tile_alignw/h and a650 +- freedreno: add env var to override GMEM size +- freedreno: add env var to override tiles-per-pipe +- freedreno/a6xx: fix hang with large render target +- freedreno/batch: split out helper for rb alloc +- freedreno/batch: replace lrz_clear with prologue +- freedreno/a5xx+a6xx: use sysmem path for nondraw batches +- freedreno/a6xx: move ubwc clear to blitter +- freedreno: Fix missing rsc->seqno updates +- freedreno: fence_server_sync() fixes +- freedreno: Fix rast state for multisample clear +- freedreno: Don't bypass fd_draw_vbo() in clear fallback +- freedreno/a6xx: Skip empty tile_setup +- freedreno/a6xx: Fix fd6_draw_vbo() return +- freedreno: Clear gs/tcs/tes state for clear blits +- freedreno/a6xx: Fix MSAA clear +- freedreno: fix fence-fd leak +- ci/deqp-runner: Allow overriding width/height/config +- ci: cherry-pick deqp fix for config choosing +- ci: Enable remaining (non-rotate) mustpass CTS tests +- freedreno/drm: drop bo's dev reference +- freedreno: Don't leak border_color_buf reference +- freedreno/a6xx: Small cleanup +- freedreno/drm: Also clean ring_cache +- freedreno/registers: Add a couple things used on kernel side +- freedreno: Don't leak LRZ bo's +- freedreno: Update import/export traces +- freedreno: Disallow tiled if SHARED and not QCOM_COMPRESSED +- freedreno: Rework GMEM limit init +- freedreno/gmem: Respect max-height limits too +- freedreno: Protect gmem_cache ralloc allocations +- freedreno/ir3: Fix crash in shader compile fail path + +Rohan Garg (3): + +- anv: Mark anv_dump_{start,finish} as PUBLIC +- gitlab-ci: Test the traces from bgfx +- virgl: Always enable emulated BGRA and swizzling unless specifically told not to + +Roland Scheidegger (1): + +- gallivm: add InstSimplify pass + +Roman Gilg (2): + +- vulkan/wsi/x11: add sent image counter +- vulkan/wsi/x11: wait for acquirable images in FIFO mode + +Roman Stratiienko (1): + +- android: freedreno: Another build fix + +Ruijing Dong (1): + +- frontends/omx/enc: fix omx h264 encoding force-keyframe-period issue. + +Ryan Neph (1): + +- virgl: Fixes portal2 binary name in tweak config + +Sagar Ghuge (12): + +- intel/isl: Drop unnecessary check on 16bpp depth format +- intel/blorp: Conditionally clear full surface depth and stencil +- anv: Factor out dri option initialization code in separate function +- anv: Add driconf option to disable compression for 16bpp format +- anv: Return number of layers/levels attached to anv_image +- anv: Handle compressed stencil buffer transition on Gen12+ +- anv: Set stencil_aux_usage flag +- anv: Get aux usage from plane while clearing stencil buffer +- anv: Don't track clear bo for stencil buffer compression +- anv: Return optimal aux state for stencil buffer compression +- anv: Pass correct stencil aux usage during MSAA resolve +- anv: Enable stencil buffer compression on Gen12+ + +Samuel Iglesias Gonsálvez (14): + +- freedreno/layout: add tile_all flag to the layout +- turnip: add environment variable to disable LRZ +- turnip: create LRZ buffer +- turnip: disable LRZ on specific cases +- turnip: disable LRZ writes when blend is enabled +- turnip: disable LRZ depending on fragment changes +- turnip: add LRZ tracking to command buffer state +- turnip: add LRZ valid tracking for secondary command buffers +- turnip: add support to clear LRZ +- turnip: emit correct LRZ fast clear setup +- turnip: disable LRZ on vkCmdClearAttachments() +- turnip: disable LRZ on vkCmdClearattachments() 3D fallback path +- turnip: enable LRZ +- turnip: don't initialize GRAS_LRZ_CNTL/RB_LRZ_CNTL tu6_init_hw() + +Samuel Pitoiset (157): + +- radv: allow to force-enable LLVM internally for a specific shader stage +- radv: report the spirv-nir logs back to the application +- radv: rework the error function helpers a bit +- radv: report errors back to the application via VK_EXT_debug_report +- radv: report a better error message when QueueWaitIdle() failed +- radv/gfx10: add missing initialization of registers +- radv: limit LATE_ALLOC_GS to prevent a GPU hang on GFX10 +- radv: fix emitting the border color pointer on the compute queue +- radv/winsys: add null winsys entries for Sienna Cichild/Navy Flounder +- gitlab-ci: test Fossilize with GFX1030 +- aco: do not set valid_mask for POS0 exports on GFX 10.3 +- radv: track and report if a logical device is lost +- aco: rename DEBUG_VALIDATE to DEBUG_VALIDATE_IR +- aco: rework the way various compilation/validation errors are reported +- radv,aco: report ACO errors/warnings back via VK_EXT_debug_report +- aco: fix file leak in ra_fail() +- radv: ignore BB labels when splitting the disassembly string +- aco: add ACO_DEBUG=force-waitcnt to emit wait-states +- amd/registers: add missing TBA registers on GFX6-GFX8 +- amd/registers: add some SQ_WAVE_\* register definitions +- aco: add TBA/TMA/TTMP0-11 physical registers definitions +- aco: validate that SMEM operands can use fixed registers +- aco: add a helper for building a trap handler shader +- aco: skip unnecessary compiler pass for the trap handler program +- radv: add a small interface for creating the trap handler shader +- radv: add initial trap handler support with RADV_TRAP_HANDLER=1 +- radv: enable the trap handler and configure the shader exceptions +- radv: use the trap handler to detect faulty shaders/instructions +- radv: align the TMA BO size to 256 +- radv: allocate the TMA BO into 32-bit addr space +- radv: fix setting EXCP_EN for different shader stages +- radv: print a warning when RADV_TRAP_HANDLER is used +- aco: add ACO_DEBUG=novn,noopt,nosched for debugging purposes +- radv: emit {CB,DB}_RMI_L2_CACHE_CONTROL at framebuffer time +- radv: set BIG_PAGE to improve performance on GFX10.3 +- aco: fix wrong source position for constant with nir_op_cube_face_coord +- radv: dump shader stats with VK_KHR_pipeline_executable_properties +- radv: force RADV_DEBUG=syncshaders when RADV_TRACE_FILE is used +- radv: improve reporting faulty pipelines when a GPU hang is detected +- radv: dump GPU info into the hang report +- nir/algebraic: mark some optimizations with fsat(NaN) as inexact +- spirv: fix retrieving dest type for OpFragmentMaskFetchAMD +- radv,aco: disable opts if VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT +- aco: handle unaligned loads on GFX10.3 +- spirv: fix emitting switch cases that directly jump to the merge block +- radv: fix transform feedback crashes if pCounterBufferOffsets is NULL +- radv: add a helper for loading meta descriptors +- radv: do not lower UBO/SSBO access to offsets +- radv: remove useless assignment of MAX_API_VERSION +- radv: bump the advertised patch version to 145 +- radv: add VK_KHR_copy_commands2 but leave it disabled +- radv: add support for CmdBlitImage2KHR() +- radv: add support for CmdCopyBuffer2KHR() +- radv: add support for CmdCopyBufferToImage2KHR() +- radv: add support for CmdCopyImage2KHR() +- radv: add support for CmdCopyImageToBuffer2KHR() +- radv: cleanup selecting the hardware resolve path +- radv: add support for CmdResolveImage2KHR() +- radv: advertise VK_KHR_copy_commands2 +- radv: set KEEP_TOGETHER_ENABLE if necessary on GFX10+ +- radv: add a tweak for PS wave CU utilization for gfx10.3 +- ci: adjust RadeonSI rules +- ci: add dEQP-VK.info.device_extensions to the list of skipped tests +- nir/lower_memory_model: return progress when visiting instructions +- nir/lower_memory_model: do not break with global atomic operations +- ac/nir: implement nir_intrinsic_{load,store}_global +- ac/nir: implement nir_intrinsic_global_atomic_\* +- radv: lower deref operations for global memory for both backends +- ac/llvm: fix invalid IR if image stores are shrinked using the format +- nir/lower_io: change nir_io_add_const_offset_to_base to use bitfield modes +- radeonsi: call nir_io_add_const_offset_to_base only once per shader +- radv/llvm: call nir_lower_io_to_vector with FS to fix array tests +- radv: call nir_io_add_const_offset_to_base for FS outputs +- radv: move lowering of FS outputs outside of ACO +- radv: fix gathering writes_memory for global store/atomic operations +- ac/llvm: fix invalid use of unreachable in ac_build_atomic_rmw() +- ac/nir: fix nir_intrinsic_shared_atomic_fadd +- radv: gather output usage mask from store_output for VS, TES and GS +- radv/aco: lower IO for all stages outside of ACO +- aco: apply the clamped integer addition disassembly workaround for v_add3 +- aco/tests: add disassembler tests to reproduce the add3+clamp crash +- ac/llvm: adjust dmask when image stores are shrinked using the format +- ac/nir: remove dead load/store deref code for temporary variables +- radv/llvm: assign driver locations for VS, TCS, TES and GS correctly +- radv/llvm: lower GS IO +- radv/llvm: lower TES IO +- radv/llvm: gather TCS outputs from the output variables +- radv/llvm: lower TCS IO +- radv/llvm: gather VS input usage mask from load_input +- radv/llvm: lower VS IO +- ac/llvm: implement nir_op_unpack_half_2x16_split_{x,y} +- radv/llvm: enable lower_unpack_half_2x16 +- ac/nir: remove dead global load/store/atomic derefs code +- ac/nir: remove dead shader IO code +- radeonsi: remove dead code in TCS/TES/GS since const_index is always 0 +- ac,radv,radeonsi: remove unused parameters in the shader ABI IO +- radv: remove unused gs.writes_memory in the shader info pass +- radv: remove dead deref code in the shader info pass +- ac/nir,radv: fix invalid IR when loading inline uniform blocks +- nir/constant_folding: init nir_const_value to zero +- aco: bail out if the NIR IO base offset isn't zero +- aco: more uses of nir_get_io_offset_src() +- ac/nir: implement nir_op_fsat +- radv/llvm: do not lower nir_op_fsat +- radv/llvm: remove dead code for 64-bit GS inputs +- aco: dump the program if the disassembler failed +- radv/llvm: do not lower sub +- radv: use the same NIR compiler options for both compiler backends +- radv/llvm: stop assigning driver_location in NIR->LLVM +- ac,radv,radeonsi: stop multiplying driver_location by 4 +- ac/nir: pass the variable location to store_tcs_outputs +- radv/llvm: switch to NIR IO assigned locations +- radv/llvm: reduce the ESGS itemsize by using NIR IO assigned locations +- radv/llvm: reduce LDS size for tess by using NIR IO assigned locations +- radv: remove one leftover TODO in the shader info pass +- ac/llvm: move AC_FETCH_FORMAT to non-LLVM code +- radv: replace RADV_ALPHA_ADJUST by AC_FETCH_FORMAT +- radv: move lower_io_arrays_to_elements before lower_io_to_scalar_early +- radv: fix adjusting vertex alpha +- aco: implement missing nir_op_unpack_half_2x16_split_{x,y}_flush_to_zero +- radv/aco: disable NGG GS support because it randomly hangs the GPU +- radv: fix ignoring the vertex attribute stride if set as dynamic +- aco: remove stub lower_wqm() prototype +- aco: remove useless occurences of radv_nir_compiler_options +- aco: remove unused radv_shader.h includes +- radv: move compiler statistics to ACO +- aco: compute the CS workgroup size from the shader NIR info +- aco: adjust an assertion about the wavesize in emit_gfx10_wave64_bpermute() +- radv: fix optimizing needed states if some are marked as dynamic +- ac/nir: implement missing nir_op_pack_half_2x16_split +- radv: report latest extension spec versions +- radv: add missing 'discardtodemote' option in the debug list +- Revert "radv/aco: disable NGG GS support because it randomly hangs the GPU" +- ac/nir: handle non-const offset with txf/txf_ms +- radv: move all NIR pass outside of ACO +- ac/nir: do not sign-extend the result of texop_samples_identical +- radv,aco: fix use of texop_samples_identical in the resolve meta path +- aco: fix determining if LOD is zero for nir_texop_txf/nir_texop_txs +- ac/nir: ignore set_vertex_and_primitive_count intrinsic +- ac/nir: abort when an unknown intrinsic is reached +- ac: add an option to dump GPU info to a file +- radv: add radv_dump_cmd() helper +- radv: dump UMR ring and waves into the hang report +- radv: dump GPU hang report logs into $HOME/radv_dumps_ +- radv: re-order GPU hang report dumps by usefulness +- radv: replace RADV_TRACE_FILE by RADV_DEBUG=hang +- radv: do not perform a FMASK expand for non-writeable MSAA images +- radv: flush CB before and after FMASK_DECOMPRESS or DCC_DECOMPRESS +- radv: enable VK_AMD_mixed_attachment_samples on GFX6-GFX7 +- radv,aco: adjust the sample mask only if per-sample shading is enabled +- radv,aco: optimize computing the sample mask for per-sample shading +- aco: store NIR range analysis data to the isel context +- aco: select v_mul_{hi}_u32_u24 for 24-bit multiplications +- nir/algebraic: distribute imul(iadd(a, b), c) when b and c are constants +- aco: optimize v_and(a, v_subbrev_co(0, 0, vcc)) -\> v_cndmask(0, a, vcc) +- nir/algebraic: optimize bitfield_select(a, b, 0) to iand(a, b) +- aco: fix combining add/sub to b2i if a new dest needs to be allocated + +Serge Martin (13): + +- clover: set LLVM min version to 8.0.1 +- clover: implements clEnqueueMigrateMemObjects +- clover: implements clEnqueueFillImage +- clover: implements clGetKernelArgInfo +- clover: bind sampler_t type to module::argument::sampler +- clover: add CL_KERNEL_ATTRIBUTES for clGetKernelInfo +- clover: implements clGetKernelWorkGroupInfo CL_KERNEL_COMPILE_WORK_GROUP_SIZE +- clover: implements notification callback on program builds +- clover: avoid adding an extra space to compiler options +- clover: move tokenize function to algorithm +- clover: validate image_row_pitch and image_slice_pitch in clEnqueueMapImage +- clover: clCreateImage: calculate image row_pitch and slice_pitch when not provided +- clover: implements clSetContextDestructorCallback + +Suresh Guttula (2): + +- gallium: update abs_delta segementation parameter +- radeon/vcn : Corrected dpb_size calculation for VP9_2 + +Tapani Pälli (16): + +- anv: add a check for depthStencilState before using it +- anv: null check for buffer before reading size +- anv: take depth in to account in anv_GetImageSubresourceLayout +- mesa: refactor floating point texture fbo completeness check on gles +- mesa: add EXT_color_buffer_half_float plumbing +- mesa/st: enable EXT_color_buffer_half_float when formats supported +- glsl: mark some builtins with correct glsl(es) version check +- iris: remove additional pipe control done before hiz for older gens +- glsl: take EXT_gpu_shader4 in to account when adding round +- gallivm/nir: handle nir_op_flt in lp_build_nir_llvm +- iris: fix the order of src and dst for fence memcpy +- mesa/st: call memobj_destroy only if there is memory imported +- mesa: do not throw \_mesa_problem when invalid enum is used +- mesa/st: use a lock to protect access to variants when updating them +- egl/dri2: fix race between image create and egl_image_target_texture +- iris: initialize shared screen->vtbl only once + +Thong Thai (10): + +- radeon/vcn: fix jpeg decode for navi10 +- frontends/va: Add support for NV12/P010/P016 to vaDeriveImage +- frontends/va: Derive image from interlaced buffers +- frontends/va: Derive image from interlaced buffers in some cases +- gallium: Parse packed HEVC SPS encode header for crop parameters +- radeon: Pass HEVC encode crop parameters to the encoder +- frontends/va: Enabled packed headers for H.264 encoder +- gallium/auxiliary/vl: Include src region in scale_y calculation +- frontends/va/postproc: Un-break field flag +- frontends/va: Return P010/P016 as possible surface formats when encoding + +Timothy Arceri (15): + +- i965: add support for force_gl_vendor +- disk_cache: move cache dir generation into OS specific helper file +- disk_cache: add disk_cache_enabled() helper +- disk_cache: move index mmap into OS specific helper +- disk_cache: move munmap into an OS specific helper +- disk_cache: move evict_lru_item() to an OS specific helper +- disk_cache: create new helper for writing cache items to disk +- disk_cache: move get_cache_file() to an OS specific helper +- disk_cache: add new OS specific helper disk_cache_evict_item() +- disk_cache: move cache item loading code into disk_cache_load_item() helper +- glsl: don't duplicate state vars as uniforms in the NIR linker +- util/disk_cache: remove unused function param +- glsl: relax rule on varying matching for shaders older than 4.00 +- glsl: add extra pp tokens workaround and enable for CoR +- glsl: drop NMS OpenGL workarounds + +Timur Kristóf (50): + +- aco: Fix unused variable warning by adding ASSERTED. +- aco: Fix convert_to_SDWA when instruction has 3 operands. +- aco: Move README to README-ISA +- aco: Fixup markdown formatting of the README-ISA. +- aco: Add README which explains about what ACO is and how it works. +- aco: Fix emit_boolean_exclusive_scan in wave32 mode. +- aco: Clean up emit_mbcnt. +- aco: Add base argument to emit_mbcnt. +- aco: Use NIR IO semantics for tess factor IO locations. +- radv/aco: Set I/O variable locations outside ACO. +- nir: Add ability to count emitted GS primitives. +- nir: Add ability to count emitted GS vertices per primitive. +- nir: Add ability to overwrite incomplete GS primitives. +- nir: Count vertices per stream. +- nir: Add ability to count primitives per stream. +- radv/aco: Use new GS lowering options for ACO with NGG GS. +- aco: Clarify missing export error message in assembler. +- aco: Extract lanecount_to_mask to a separate function. +- aco: Extract thread_id_in_threadgroup to a separate function. +- aco: Use thread_id_in_threadgroup helper for ES outputs. +- aco: Optimize thread_id_in_threadgroup when there is just one wave. +- aco: Add wave-specific opcode for s_lshl and s_flbit. +- aco/ngg: Refactor gs_alloc_req in preparation for NGG GS. +- aco/ngg: Refactor ngg_emit_prim_export in preparation for NGG GS. +- aco/ngg: Make primitive export packing less prone to error. +- aco/ngg: Clean up and reorganize NGG VS/TES code. +- aco/ngg: Allow NGG GS to store ES outputs. +- aco/ngg: Allow NGG GS to load per-vertex GS inputs. +- aco/ngg: Allow NGG GS to create VS exports. +- aco/ngg: Setup NGG GS. +- aco/ngg: Create LDS layout for NGG GS. +- aco/ngg: Implement workgroup reduce / exclusive scan for NGG GS. +- aco/ngg: Implement NGG GS output. +- aco/ngg: Place workgroup barrier outside control flow for NGG GS. +- aco/ngg: Add shader query support to NGG GS. +- radv/aco: Enable NGG GS by default. +- aco/ngg: Use more efficient LDS layout to help reduce bank conflicts. +- aco/ngg: Allocate NGG GS space early for const vertex/primitive counts. +- aco/ngg: Calculate workgroup size of NGG shaders. +- nir: Emit set_vertex_and_primitive_count for inactive streams. +- aco/ngg: Add assertion to make sure we always know the vertex count. +- aco: Assert that workgroup barriers are not used inappropriately. +- aco/ngg: Put shader query reduction operand into a VGPR. +- aco: Add some validation for PSEUDO_REDUCTION instructions. +- aco: Make emitting reduction instructions a bit more convenient. +- aco: Add a few assertions about LDS usage. +- aco/ngg: Export a zero-area triangle when primitive count is 0. +- aco/ngg: Incorporate GS invocations into workgroup size calculation. +- aco/optimizer: Only set scc_needed when it is actually needed. +- aco: Fix NGG GS assert failure from the WG scan. + +Tomeu Vizoso (16): + +- Revert "CI: temp disable t720/t760 jobs." +- Revert "CI: Disable Panfrost T720/T760 CI" +- ci: Split traces.yml file per driver +- ci: Test Panfrost with more traces +- ci: Fix URL to imagediff page in traces dashboard +- ci: Update kernel used in LAVA to 5.8-based drm-misc +- ci: Run deqp-gles2 on RadeonSI +- ci: Run deqp-gles3 and deqp-gles31 on RadeonSI +- ci: Update kernel for LAVA +- ci: Test Panfrost on Khadas VIM3 boards +- ci: Disable pm_runtime and max clocks in LAVA jobs +- ci: Unskip fragment_ops tests on Bifrost +- virgl: Correctly align size of blobs +- ci: Update kernel for LAVA to 5.10-rc2 plus patches +- ci: Update dEQP skips and fails for Bifrost on G52 +- ci: Distribute ADMGPU driver to LAVA as a module + +Tony Wasserka (26): + +- nir/lower_idiv: Port recent LLVM fixes to emit_udiv +- radv: Fix various non-critical integer overflows +- aco: Fix integer overflows when emitting parallel copies during RA +- amd/common: Fix various non-critical integer overflows +- aco/isel: Turn the function template emit_load into a proper function +- aco/isel: Simplify nested branching code +- aco/isel: Consistently use references for input parameters in emit_load +- aco/isel: Remove unused definitions +- aco/isel: Move context initialization code to a dedicated file +- aco/isel: Move add_startpgm to aco_instruction_selection.cpp +- aco/isel: Compile all helper functions with static linkage +- nir: Fix undefined behavior due to signed integer multiplication overflows +- nir: Fix unaligned pointer access +- radv: Avoid calling memcpy with null pointers +- radv: Fix unaligned memory access when writing specialization map entries +- radv: Clean up CreateDescriptorSetLayout +- radv: Respect alignment requirements in descriptor set layouts +- aco/isel: Fix out-of-bounds write in visit_load_input +- aco/isel: Always export position data from VS/NGG +- aco/isel: Remove some dead code +- aco/isel: Remove now unused VS-related code from create_null_export +- aco: Use strong typing to model SW<->HW stage mappings +- aco: Clean up symbol names and comments related to NGG +- aco/isel: Miscellaneous cleanups using the new Stage API +- aco/ra: Fix counting of subdword variables in get_reg_create_vector +- aco: Fix format string used when raising validation errors + +Veerabadhran Gopalakrishnan (1): + +- frontends/va: Added protected playback support for VP9 + +Vinson Lee (64): + +- util: Fix memory leaks in unit test. +- meson: Fix lmsensors warning message. +- radv/winsys: Fix memory leak. +- vulkan: Fix memory leaks. +- panfrost: Fix gnu-empty-initializer errors. +- freedreno: Fix file descriptor leak. +- svga: Fix unused printf argument. +- spirv: Initialize spirv_test member shader. +- nv50/ir: Add fallthrough statement. +- nv50/ir: Remove duplicate mask assignment. +- ac/llvm: Fix nonportable sizeof. +- freedreno: Check file descriptor before write. +- nv50/ir: Initialize Converter members. +- libgl-gdi: Fix unused-variable warnings. +- disk_cache: Fix filename leak on error path. +- radesonsi: Remove unsigned comparison to zero. +- panfrost: Delete debug allocated syncobj. +- turnip: Release bo_mutex lock before potential error path. +- pan/bi: Fix typo. +- glsl: Initialize ir_constant member const_elements in all constructors. +- r600/sfn: Initialize GPRValue member m_pin_to_channel. +- gallium/dri2: Move image->texture assignment after image NULL check. +- panfrost: Remove extra printf arguments. +- anv: Check file descriptor before closing. +- aco: Initialize mad_info member literal_idx. +- gallium/swr: Remove unreachable code. +- pan/mdg: Fix memory leak on error path. +- lima: Print usage if --help is any of the arguments. +- radv: Fix asserts using assign instead of compare. +- nv50/ir: Initialize Source members. +- freedreno: Move rsc NULL check to before rsc dereferences. +- intel/vec4: Remove leftover code from Gen8+ removal. +- glsl: Initialize ast_node member field location.path in constructor. +- meson: Use more portable compiler option -std. +- swr/rasterizer: Remove BuilderGfxMem member mpTrackMemAccessFuncTy. +- util/xmlconfig: Initialize xmlconfig member options in constructor. +- svga: Remove unused printf argument. +- glsl: Initialize ir_to_mesa_visitor members in constructor. +- v3dv: Fix assert using assign instead of compare. +- glsl: Initialize lower_ubo_reference_visitor members in constructor. +- glsl: Initialize add_uniform_to_shader member var in constructor. +- v3dv: Remove unsigned comparison to zero. +- v3dv: Initialize time before usage by free_stale_bos. +- panfrost: Fix stride for AFBC_FORMAT_MOD_BLOCK_SIZE_32x8. +- v3dv: Fix assert using assign instead of compare. +- glsl: Initialize ir_if_to_cond_assign_visitor members in constructor. +- glsl: Initialize lower_shared_reference_visitor members. +- scons/windows: Support build with LLVM 11. +- amd/addrlib: Initialize Gfx10Lib members in constructor. +- Fix VMware capitalization. +- glsl: Update loop_terminator constructor to accept parameters. +- draw: Remove draw_install_aaline_stage dead code. +- os: Fix open result check. +- gallium: Remove duplicate resource variable. +- tgsi: Initialize tgsi_declaration_dimension padding. +- radesonsi: Remove unnecessary shader->selector NULL check. +- amd/addrlib: Add missing va_end. +- v3dv: Remove unsigned comparison to zero. +- st/nine: Remove unnecessary NULL check. +- turnip: Fix file descriptor return. +- vdpau: Add missing printf format specifier. +- frontends/va: Fix \*num_entrypoints check. +- clover/spirv: Add missing break for SpvOpExecutionMode case. +- turnip: Close sync_fd only if it is a valid file descriptor. + +Woody Chow (1): + +- st/mesa: Fix EGLImageTargetTexture2D for GL_TEXTURE_2D + +Yevhenii Kolesnikov (1): + +- nir/large_constants: only search for constant duplicates + +Yogesh Mohan Marimuthu (1): + +- src/mesa: add GL_NV_half_float extension support (v2) + +jzielins (4): + +- gallium/swr: Fix compilation with LLVM 12 +- gallium/swr: Fix compilation TCS/TES compilation issues +- swr: Fix crashes on non-AVX hardware +- swr: Use ElemenCount constructor for LLVM 11 + +n00b7 (1): + +- v3dv/device: handle primary nodes for newer kernels + +orbea (1): + +- spirv/vtn_cfg.c: Include util/debug.h for env_var_as_boolean. + +zhu yong (1): + +- meson: add support for loongson's mips/mips64 arch.