Mesa 20.0.0 Release Notes / 2020-02-19

Mesa 20.0.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.0.1.

Mesa 20.0.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.0.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

bb6db3e54b608d2536d4000b3de7dd3ae115fc114e8acbb5afff4b3bbed04b34  mesa-20.0.0.tar.xz

New features

  • OpenGL 4.6 on radeonsi.

  • GL_ARB_gl_spirv on radeonsi.

  • GL_ARB_spirv_extensions on radeonsi.

  • GL_EXT_direct_state_access for compatibility profile.

  • VK_AMD_device_coherent_memory on RADV.

  • VK_AMD_mixed_attachment_samples on RADV.

  • VK_AMD_shader_explicit_vertex_parameter on RADV.

  • VK_AMD_shader_image_load_store_lod on RADV.

  • VK_AMD_shader_fragment_mask on RADV.

  • VK_EXT_subgroup_size_control on RADV/LLVM.

  • VK_KHR_separate_depth_stencil_layouts on Intel, RADV.

  • VK_KHR_shader_subgroup_extended_types on RADV.

  • VK_KHR_swapchain_mutable_format on RADV.

  • VK_KHR_shader_float_controls on RADV/ACO.

  • GFX6 (Southern Islands) and GFX7 (Sea Islands) support on RADV/ACO.

  • Wave32 support for GFX10 (Navi) on RADV/ACO.

  • Compilation of Geometry Shaders on RADV/ACO.

  • Vulkan 1.2 on Intel, RADV.

  • GL_INTEL_shader_integer_functions2 and VK_INTEL_shader_integer_functions2 on Intel.

Bug fixes

  • drisw crashes on calling NULL putImage on EGL surfaceless platform (pbuffer EGLSurface)

  • [radeonsi][vaapi][bisected] invalid VASurfaceID when playing interlaced DVB stream in Kodi

  • [RADV] GPU hangs while the cutscene plays in the game Assassin’s Creed Origins

  • ACO: The Elder Scrolls Online crashes on startup (Navi)

  • Broken rendering of glxgears on S/390 architecture (64bit, BigEndian)

  • aco: sun flickering with Assassins Creeds Origins

  • !1896 broke ext_image_dma_buf_import piglit tests with radeonsi

  • aco: wrong geometry with Assassins Creed Origins on GFX6

  • valgrind errors since commit a8ec4082a41

  • OSMesa osmesa_choose_format returns a format not supported by st_new_renderbuffer_fb

  • Build error with VS on WIN

  • Using EGL_KHR_surfaceless_context causes spurious “libEGL warning: FIXME: egl/x11 doesn’t support front buffer rendering.”

  • !3460 broke texsubimage test with piglit on zink+anv

  • The screen is black when using ACO

  • [Regression] JavaFX unbounded VRAM+RAM usage

  • radv: implement VK_AMD_shader_explicit_vertex_parameter

  • Civilization VI crashes when loading game (AMD Vega Mobile)

  • [radeonsi] X-Server crashes when trying to start Guild Wars 2 with the commits from !3421

  • aco: implement GFX6 support

  • Add support for VK_KHR_swapchain_mutable_format

  • radv: The Surge 2 crashes in ac_get_elem_bits()

  • [Regression] JavaFX unbounded VRAM+RAM usage

  • Use the OpenCL dispatch defnitions from OpenCL_Headers

  • [regression][ilk,g965,g45] various dEQP-GLES2.functional.shaders.* failures

  • aco: Dead Rising 4 crashes in lower_to_hw_instr() on GFX6-GFX7

  • libvulkan_radeon.so crash with `free(): double free detected in tcache 2`

  • Commit be08e6a causes crash in com.android.launcher3 (Launcher)

  • anv: Regression causing issues for radv when there are no Intel devices

  • Mesa no longer compiles with GCC 10

  • [Navi/aco] Guild Wars 2 - ring gfx timeout with commit 3bca0af2

  • [radv/aco] Regression is causing a soft crash in The Witcher 3

  • [bisected] [radeonsi] GPU hangs/resets while playing interlaced content on Kodi with VAAPI

  • [radeonsi] MSAA image not copied properly after image store through texture view

  • T-Rex and Manhattan onscreen performance issue on Android

  • VkSamplerCreateInfo compareEnable not respected

  • VkSamplerCreateInfo compareEnable not respected

  • Freedreno drm softpin driver implementation leaks memory

  • [POLARIS10] VRAM leak involving glTexImage2D with non-NULL data argument

  • [regression][bisected][ivb/byt] crucible test func.push-constants.basic.q0 causes gpu hang

  • MR 3096 broke lots of piglit ext_framebuffer_object tests on Raven

  • Rise of the Tomb Raider benchmark crash on Dell XPS 7390 2-in-1 w/ Iris Plus Graphics (Ice Lake 8x8 GT2)

  • Raven Ridge (2400G): Resident Evil 2 crashes my machine

  • Common practice of glGetActiveUniform leads to O(N²) behavior in Mesa

  • Rocket League ingame artifacts

  • [radv] SteamVR direct mode no longer works

  • [ANV] unused create parameters not properly ignored

  • [Bisected] Mesa fails to start alacritty with the wayland backend (AMD Vega).

  • [iris] piglit test clip-distance-vs-gs-out fails due to VUE map mismatch between VS <-> GS stages

  • [radv] SteamVR direct mode no longer works

  • Blocky corruption in The Surge 2

  • radeonsi: Floating point exception on R9 270 gpu for a set of traces

  • [RADV] [Navi] LOD artifacting in Halo - The Master Chief Collection (Halo Reach)

  • [CTS] dEQP-VK.api.image_clearing.core.clear_color_image.2d.linear.single_layer.r32g32b32_* fail on GFX6-GFX8

  • Vulkan: Please consider adding another sample count to sampledImageIntegerSampleCounts

  • Navi10: Bitrate based encoding with VAAPI/RadeonSI unusable

  • [RADV] create parameters not properly ignored

  • [regression][bdw,gen9,hsw,icl][iris] gltcs failures on mesa=8172b1fa03f

  • Bugs in RadeonSI VAAPI implementation

  • [GFX10] Glitch rendering Custom Avatars in Beat Saber

  • intel/fs: Check for 16-bit immediates in fs_visitor::lower_mul_dword_inst is too strict

  • i965/iris: assert when destroy GL context with active query

  • Visuals without alpha bits are not sRGB-capable

  • swapchain throttling: wait for fence has 1ns timeout

  • radeonsi: OpenGL app always produces page fault in gfxhub on Navi 10

  • [regression] KHR-GLES31.core.geometry_shader.api.program_pipeline_vs_gs_capture fails for various drivers

  • [CTS] dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.tess_con_pc_entry_point hangs on GFX10

  • [RADV] SPIR-V warning when compiling shader using storage multisampled image array

  • [RADV] The Dead Rising 4 is causing a GPU hang with LLVM backend

  • macOS u_thread.h:156:4: error: implicit declaration of function ‘pthread_getcpuclockid’

  • [Wine / Vulkan] Doom 2016 Hangs on Main Menu

  • NULL resource when playing VP9 video through VDPAU on RX 570

  • radeonsi: mpv –vo=vaapi incorrect rendering on gfx9+

  • [BSW/BDW] skia lcdblendmode & lcdoverlap test failure

  • Create a way to prefer iris vs i965 via driconf

  • [Bisected] i965: CS:GO crashes in emit_deref_copy_load_store with debug Mesa

  • radv/aco Jedi Fallen Order hair rendering buggy

  • Inaccurate information on https://www.mesa3d.org/repository.html about how to get git write access.

  • [RADV] VK_KHR_timeline_semaphore balloons in runtime

  • Shadow of Mordor has randomly dancing black shadows on Talion’s face

  • gen7 crucible failures func.push-constants.basic.q0 and func.shader-subgroup-vote.basic.q0

  • GL_EXT_disjoint_timer_query failing with GL_INVALID_ENUM

  • Unreal 4 Elemental and MatineeFightScene demos misrender

  • gputest gimark has unwanted black liquorice flakes

  • triangle strip clipping with GL_FIRST_VERTEX_CONVENTION causes wrong vertex’s attribute to be broadcasted for flat interpolation

  • [bisected][regression][g45,g965,ilk] piglit arb_fragment_program kil failures

  • glcts crashes since the enablement of ARB_shading_language_include

  • Android build broken

  • ld.lld: error: duplicate symbol (mesa-19.3.0-rc1)

  • Divinity: Original Sin Enhanced Edition(Native) crash on start

  • HSW. Tropico 6 and SuperTuxKart have shadows flickering

  • GL_EXT_disjoint_timer_query failing with GL_INVALID_ENUM

  • glxgears segfaults on POWER / Xvnc

  • [regression][bdw,gen9,icl][iris] piglit failures on mesa f9fd04aca15fd00889caa666ba38007268e67f5c

  • Redundant builds of libmesa_classic and libmesa_gallium

  • [IVB,BYT] [Regression] [Bisected] Core dump at launching arb_compute_shader/linker/bug-93840.shader_test

  • Vulkan drivers need access to format utils of gallium

  • Disabling lower_fragdata_array causes shader-db to crash for some drivers

  • GL_EXT_disjoint_timer_query failing with GL_INVALID_ENUM

  • Android build broken by commit 9020f51 “util/u_endian: Add error checks”

  • radv secure compile feature breaks compilation of RADV on armhf EABI (19.3-rc1)

  • radv_debug.c warnings when compiling on 32 bits : cast to pointer from integer of different size

  • Meson: Mesa3D build failure with standalone Mingw-w64 multilib

  • [regression][bisected] KHR46 VertexArrayAttribFormat has unexpectedly generated GL_INVALID_OPERATION

  • textureSize(samplerExternalOES, int) missing in desktop mesa 19.1.7 implementation

  • zink: implicly casting integers to pointers, warnings on 32-bit compile

  • Objects leaving trails in Firefox with antialias and preserveDrawingBuffer in three.js WebGLRednerer with mesa 19.2

Changes

  • clover/llvm: fix build after llvm 10 commit 1dfede3122ee

  • drisw: Cache the depth of the X drawable

  • pan/midgard: Optimize comparisions with similar operations

  • pan/midgard: Move midgard_is_branch_unit to helpers

  • pan/midgard: Optimize branches with inverted arguments

  • pan/midgard: Fix midgard_compile.h includes

  • intel/perf: adapt to platforms like Solaris without d_type in struct dirent

  • v3d: adds an extra MOV for any sig.ld*

  • mesa/main/util: moving gallium u_mm to util, remove main/mm

  • nir/opt_peephole_select: remove unused variables

  • turnip: remove unused descriptor state dirty

  • egl: Fix _eglPointerIsDereferencable w/o mincore()

  • haiku/hgl: Fix build via header reordering

  • pipe-loader: Build kmsro loader for with all kmsro targets

  • pan/midgard: Remove OP_IS_STORE_VARY

  • pan/midgard: Add a dummy source for loads

  • pan/midgard: Refactor swizzles

  • pan/midgard: Eliminate blank_alu_src

  • pan/midgard: Use fp32 blend shaders

  • pan/midgard: Validate tags when branching

  • pan/midgard: Fix quadword_count handling

  • pan/midgard: Compute bundle interference

  • pan/midgard: Add bizarre corner case

  • pan/midgard: offset_swizzle doesn’t need dstsize

  • pan/midgard: Extend offset_swizzle to non-32-bit

  • pan/midgard: Extend swizzle packing for vec4/16-bit

  • pan/midgard: Extend default_phys_reg to !32-bit

  • panfrost/ci: Update T760 expectations

  • pan/midgard: Fix printing of half-registers in texture ops

  • pan/midgard: Disassemble half-steps correctly

  • pan/midgard: Pass shader stage to disassembler

  • pan/midgard: Switch base for vertex texturing on T720

  • nir: Add load_output_u8_as_fp16_pan intrinsic

  • pan/midgard: Identify ld_color_buffer_u8_as_fp16*

  • pan/midgard: Implement nir_intrinsic_load_output_u8_as_fp16_pan

  • pan/midgard: Pack load/store masks

  • panfrost: Select format-specific blending intrinsics

  • pan/midgard: Add blend shader selection bits for MRT

  • pan/midgard: Implement linearly-constrained register allocation

  • pan/midgard: Integrate LCRA

  • pan/midgard: Remove util/ra support

  • pan/midgard: Compute spill costs

  • pan/lcra: Use Chaitin’s spilling heuristic

  • pan/midgard: Copypropagate vector creation

  • pan/midgard: Fix copypropagation for textures

  • pan/midgard: Generalize texture registers across GPUs

  • pan/midgard: Fix vertex texturing on early Midgard

  • pan/midgard: Use texture, not textureLod, on early Midgard

  • pan/midgard: Disassemble with old pipeline always on T720

  • pan/midgard: Prioritize texture registers

  • pan/midgard: Expand 64-bit writemasks

  • pan/midgard: Implement i2i64 and u2u64

  • pan/midgard: Fix mir_round_bytemask_down for !32b

  • pan/midgard: Pack 64-bit swizzles

  • pan/midgard: Use generic constant packing for 8/64-bit

  • pan/midgard: Implement non-aligned UBOs

  • pan/midgard: Expose more typesize helpers

  • pan/midgard: Fix masks/alignment for 64-bit loads

  • pan/midgard: Represent ld/st offset unpacked

  • pan/midgard: Use shader stage in mir_op_computes_derivative

  • panfrost: Stub out clover callbacks

  • panfrost: Pass kernel inputs as uniforms

  • panfrost: Disable tiling for GLOBAL resources

  • panfrost: Set PIPE_COMPUTE_CAP_ADDRESS_BITS to 64

  • pan/midgard: Introduce quirks checks

  • panfrost: Add the lod_bias field

  • nir: Add load_sampler_lod_paramaters_pan intrinsic

  • pan/midgard: Implement load_sampler_lod_paramaters_pan

  • pan/midgard: Add LOD bias/clamp lowering

  • pan/midgard: Describe quirk MIDGARD_BROKEN_LOD

  • pan/midgard: Enable LOD lowering only on buggy chips

  • panfrost: Add lcra.c to Android.mk

  • pan/midgard: Use lower_tex_without_implicit_lod

  • panfrost: Add information about T720 tiling

  • panfrost: Implement pan_tiler for non-hierarchy GPUs

  • panfrost: Simplify draw_flags

  • pan/midgard: Splatter on fragment out

  • gitlab-ci: Remove non-default skips from Panfrost

  • panfrost: Remove blend shader hack

  • panfrost: Update SET_VALUE with information from igt

  • panfrost: Rename SET_VALUE to WRITE_VALUE

  • gallium/util: Support POLYGON in u_stream_outputs_for_vertices

  • pan/midgard: Move spilling code out of scheduler

  • pan/midgard: Split spill node selection/spilling

  • pan/midgard: Simplify spillability test

  • pan/midgard: Remove spill cost heuristic

  • pan/midgard: Move bounds checking into LCRA

  • pan/midgard: Remove consecutive_skip code

  • pan/midgard: Remove code marked “TODO: remove me”

  • pan/midgard: Dynamically allocate r26/27 for spills

  • pan/midgard: Use no_spill bitmask

  • pan/midgard: Don’t use no_spill for memory spill src

  • pan/midgard: Force alignment for csel_v

  • pan/midgard: Don’t try to free NULL in LCRA

  • pan/midgard: Simplify and fix vector copyprop

  • pan/midgard: Fix shift for TLS access

  • panfrost: Describe thread local storage sizing rules

  • panfrost: Rename unknown_address_0 -> scratchpad

  • panfrost: Split stack_shift nibble from unk0

  • panfrost: Add routines to calculate stack size/shift

  • panfrost: Factor out panfrost_query_raw

  • panfrost: Query core count and thread tls alloc

  • panfrost: Route stack_size from compiler

  • panfrost: Emit SFBD/MFBD after a batch, instead of before

  • panfrost: Handle minor cppcheck issues

  • pan/midgard: Remove unused ld/st packing hepers

  • pan/midgard: Handle misc. cppcheck warnings

  • panfrost: Calculate maximum stack_size per batch

  • panfrost: Pass size to panfrost_batch_get_scratchpad

  • pandecode: Add cast

  • panfrost: Move nir_undef_to_zero to Midgard compiler

  • panfrost: Move property queries to _encoder

  • panfrost: Add panfrost_model_name helper

  • panfrost: Report GPU name in es2_info

  • ci: Remove T760/T860 from CI temporarily

  • panfrost: Pass blend RT number through

  • pan/midgard: Add schedule barrier after fragment writeout

  • pan/midgard: Writeout per render target

  • pan/midgard: Fix liveness analysis with multiple epilogues

  • pan/midgard: Set r1.w magic

  • panfrost: Fix FBD issue

  • ci: Reinstate Panfrost CI

  • panfrost: Remove fbd_type enum

  • panfrost: Pack invocation_shifts manually instead of a bit field

  • panfrost: Remove asserts in panfrost_pack_work_groups_compute

  • panfrost: Simplify sampler upload condition

  • panfrost: Don’t double-create scratchpad

  • panfrost: Add PAN_MESA_DEBUG=precompile for shader-db

  • panfrost: Let precompile imply shaderdb

  • panfrost: Handle empty shaders

  • pan/midgard: Use a reg temporary for mutiple writes

  • pan/midgard: Hoist temporary coordinate for cubemaps

  • pan/midgard: Set .shadow for shadow samplers

  • pan/midgard: Set Z to shadow comparator for 2D

  • pan/midgard: Add uniform/work heuristic

  • pan/midgard: Implement textureOffset for 2D textures

  • pan/midgard: Fix crash with txs

  • pan/midgard: Lower txd with lower_tex

  • panfrost: Decode shader types in pantrace shader-db

  • pan/decode: Skip COMPUTE in blobber-db

  • pan/decode: Prefix blobberdb with MESA_SHADER_*

  • pan/decode: Append 0:0 spills:fills to blobber-db

  • pan/midgard: Fix disassembler cycle/quadword counting

  • pan/midgard: Bounds check lcra_restrict_range

  • pan/midgard: Extend IS_VEC4_ONLY to arguments

  • pan/midgard: Clamp LOD register swizzle

  • pan/midgard: Expand swizzle for texelFetch

  • pan/midgard: Fix fallthrough from offset to comparator

  • pan/midgard: Do witchcraft on texture offsets

  • pan/midgard: Generalize temp coordinate to non-2D

  • pan/midgard: Implement shadow cubemaps

  • pan/midgard: Enable lower_(un)pack_* lowering

  • pan/midgard: Support loads from R11G11B10 in a blend shader

  • pan/midgard: Add mir_upper_override helper

  • pan/midgard: Compute destination override

  • panfrost: Rename pan_instancing.c -> pan_attributes.c

  • panfrost: Factor batch/resource out of instancing routines

  • panfrost: Move instancing routines to encoder/

  • panfrost: Factor out panfrost_compute_magic_divisor

  • panfrost: Fix off-by-one in pan_invocation.c

  • pan/decode: Fix reference computation for invocations

  • panfrost: Slight cleanup of Gallium’s pan_attribute.c

  • panfrost: Remove pan_shift_odd

  • pan/decode: Handle gl_VertexID/gl_InstanceID

  • panfrost: Unset vertex_id_zero_based

  • pan/midgard: Factor out emit_attr_read

  • pan/midgard: Lower gl_VertexID/gl_InstanceID to attributes

  • panfrost: Extend attribute_count for vertex builtins

  • panfrost: Route gl_VertexID through cmdstream

  • pan/midgard: Fix minor typo

  • panfrost: Remove MALI_SPECIAL_ATTRIBUTE_BASE defines

  • panfrost: Update information on fixed attributes/varyings

  • panfrost: Remove MALI_ATTR_INTERNAL

  • panfrost: Inline away MALI_NEGATIVE

  • panfrost: Implement remaining texture wrap modes

  • panfrost: Add pan_attributes.c to Android.mk

  • panfrost: Add missing #include in common header

  • panfrost: Remove mali_alt_func

  • panfrost; Update comment about work/uniform_count

  • panfrost: Remove 32-bit next_job path

  • glsl: Set .flat for gl_FrontFacing

  • pan/midgard: Promote tilebuffer reads to 32-bit

  • pan/midgard: Use type-appropriate st_vary

  • pan/midgard: Implement flat shading

  • panfrost: Identify glProvokingVertex flag

  • panfrost: Disable some CAPs we want lowered

  • panfrost: Implement integer varyings

  • panfrost: Remove MRT indirection in blend shaders

  • panfrost: Respect glPointSize()

  • pan/midgard: Convert fragment writeout to proper branches

  • pan/midgard: Remove prepacked_branch

  • panfrost: Handle RGB16F colour clear

  • panfrost: Pack MRT blend shaders into a single BO

  • pan/midgard: Fix memory corruption in constant combining

  • pan/midgard: Use better heuristic for shader termination

  • pan/midgard: Generalize IS_ALU and quadword_size

  • pan/midgard: Generate MRT writeout loops

  • pan/midgard: Remove old comment

  • pan/midgard: Identity ld_color_buffer as 32-bit

  • pan/midgard: Use upper ALU tags for MFBD writeout

  • panfrost: Texture from Z32F_S8 as R32F

  • panfrost: Support rendering to non-zero Z/S layers

  • panfrost: Implement sRGB blend shaders

  • panfrost: Cleanup tiling selection logic

  • panfrost: Report MSAA 4x supported for dEQP

  • panfrost: Handle PIPE_FORMAT_R10G10B10A2_USCALED

  • panfrost: Respect constant buffer_offset

  • panfrost: Adjust for mismatch between hardware/Gallium in arrays/cube

  • pan/midgard: Account for z/w flip in texelFetch

  • panfrost: Don’t double-flip Z/W for 2D arrays

  • pan/midgard: Support indirect UBO offsets

  • panfrost: Fix linear depth textures

  • pan/midgard: Bytemasks should round up, not round down

  • panfrost: Identify un/pack colour opcodes

  • pan/midgard: Fix recursive csel scheduling

  • panfrost: Expose some functionality with dEQP flag

  • panfrost: Compile tiling routines with -O3

  • panfrost,lima: De-Galliumize tiling routines

  • panfrost: Rework linear<—>tiled conversions

  • panfrost: Add pandecode entries for ASTC/ETC formats

  • panfrost: Fix crash in compute variant allocation

  • panfrost: Drop mysterious zero=0xFFFF field

  • panfrost: Don’t use implicit mali_exception_status enum

  • pan/decode: Remove last_size

  • pan/midgard: Remove pack_color define

  • pan/decode: Remove SHORT_SLIDE indirection

  • panfrost: Fix 32-bit warning for `indices`

  • pan/decode: Drop MFBD compute shader stuff

  • pan/midgard: Record TEXTURE_OP_BARRIER

  • pan/midgard: Disassemble barrier instructions

  • pan/midgard: Validate barriers use a barrier tag

  • pan/midgard: Handle tag 0x4 as texture

  • pan/midgard: Remove float_bitcast

  • pan/midgard: Fix missing prefixes

  • pan/midgard: Don’t crash with constants on unknown ops

  • pan/midgard: Use fprintf instead of printf for constants

  • lima: Beautify stream dumps

  • lima: Parse VS and PLBU command stream while making a dump

  • lima/streamparser: Fix typo in vs semaphore parser

  • lima/streamparser: Add findings introduced with gl_PointSize

  • lima/parser: Some fixes and cleanups

  • lima/parser: Add RSW parsing

  • lima/parser: Add texture descriptor parser

  • lima: Rotate dump files after each finished pp frame

  • lima: Fix dump file creation

  • lima/parser: Fix rsw parser

  • lima/parser: Fix VS cmd stream parser

  • lima/parser: Make rsw alpha blend parsing more readable

  • lima: Add stencil support

  • lima: Fix alpha blending

  • vulkan/wsi: disable the hardware cursor

  • main: fix several ‘may be used uninitialized’ warnings

  • glsl: fix an incorrect max_array_access after optimization of ssbo/ubo

  • glsl: fix a binding points assignment for ssbo/ubo arrays

  • glsl/nir: do not change an element index to have correct block name

  • mesa/st: fix a memory leak in get_version

  • util: import xxhash

  • util: move fnv1a hash implementation into its own header

  • util/hash_table: replace _mesa_hash_data’s fnv1a hash function with xxhash

  • util/hash_table: added hash functions for integer types

  • util/hash_table: update users to use new optimal integer hash functions

  • intel: Add device info for 1x4x6 Jasper Lake

  • intel: Add pci-ids for Jasper Lake

  • lima: fix stride in texture descriptor

  • lima: add layer_stride field to lima_resource struct

  • lima: introduce ppir_op_load_coords_reg to differentiate between loading texture coordinates straight from a varying vs loading them from a register

  • lima: add cubemap support

  • lima/ppir: add lod-bias support

  • radv: Fix timeout handling in syncobj wait.

  • radv: Remove _mesa_locale_init/fini calls.

  • turnip: Remove _mesa_locale_init/fini calls.

  • anv: Remove _mesa_locale_init/fini calls.

  • radv: Fix disk_cache_get size argument.

  • radv: Close all unnecessary fds in secure compile.

  • radv: Do not change scratch settings while shaders are active.

  • radv: Allocate cmdbuffer space for buffer marker write.

  • radv: Enable VK_KHR_buffer_device_address.

  • amd/llvm: Refactor ac_build_scan.

  • radv: Unify max_descriptor_set_size.

  • radv: Fix timeline semaphore refcounting.

  • radv: Fix RGBX Android<->Vulkan format correspondence.

  • amd/common: Fix tcCompatible degradation on Stoney.

  • amd/common: Always use addrlib for HTILE tc-compat.

  • radv: Limit workgroup size to 1024.

  • radv: Expose all sample counts for integer formats as well.

  • amd/common: Handle alignment of 96-bit formats.

  • nir: Add clone/hash/serialize support for non-uniform tex instructions.

  • nir: print non-uniform tex fields.

  • amd/common: Always initialize gfx9 mipmap offset/pitch.

  • turnip: Use VK_NULL_HANDLE instead of NULL.

  • meson: Enable -Werror=int-conversion.

  • Revert “amd/common: Always initialize gfx9 mipmap offset/pitch.”

  • radv: Only use the gfx mipmap level offset/pitch for linear textures.

  • spirv: Fix glsl type assert in spir2nir.

  • radv: Emit a BATCH_BREAK when changing pixel shaders or CB_TARGET_MASK.

  • radv: Use new scanout gfx9 metadata flag.

  • radv: Disable VK_EXT_sample_locations on GFX10.

  • radv: Remove syncobj_handle variable in header.

  • radv: Expose VK_KHR_swapchain_mutable_format.

  • radv: Allow DCC & TC-compat HTILE with VK_IMAGE_CREATE_EXTENDED_USAGE_BIT.

  • radv: Do not set SX DISABLE bits for RB+ with unused surfaces.

  • llvmpipe: use ppc64le/ppc64 Large code model for JIT-compiled shaders

  • util/os_socket: Include unistd.h to fix build error

  • panfrost: MALI_DEPTH_TEST is actually MALI_DEPTH_WRITEMASK

  • panfrost: Destroy the upload manager allocated in panfrost_create_context()

  • panfrost: Release the ctx->pipe_framebuffer ref

  • panfrost: Move BO cache related fields to a sub-struct

  • panfrost: Try to evict unused BOs from the cache

  • gallium: Fix the ->set_damage_region() implementation

  • panfrost: Make sure we reset the damage region of RTs at flush time

  • panfrost: Remove unneeded phi nodes

  • panfrost/midgard: Fix swizzle for store instructions

  • panfrost/midgard: Print the actual source register for store operations

  • panfrost/midgard: Use a union to manipulate embedded constants

  • panfrost/midgard: Rework mir_adjust_constants() to make it type/size agnostic

  • panfrost/midgard: Make sure promote_fmov() only promotes 32-bit imovs

  • panfrost/midgard: Factorize f2f and u2u handling

  • panfrost/midgard: Add f2f64 support

  • panfrost/midgard: Fix mir_print_instruction() for branch instructions

  • panfrost/midgard: Add 64 bits float <-> int converters

  • panfrost/midgard: Add missing lowering passes for type/size conversion ops

  • panfrost/midgard: Add a condense_writemask() helper

  • panfrost/midgard: Prettify embedded constant prints

  • panfrost: Fix the damage box clamping logic

  • turnip: Update tu_query_pool with turnip-specific fields

  • turnip: Implement vkCreateQueryPool for occlusion queries

  • turnip: Implement vkCmdBeginQuery for occlusion queries

  • turnip: Implement vkCmdEndQuery for occlusion queries

  • turnip: Update query availability on render pass end

  • turnip: Implement vkGetQueryPoolResults for occlusion queries

  • turnip: Implement vkCmdResetQueryPool

  • turnip: Implement vkCmdCopyQueryPoolResults for occlusion queries

  • anv: Properly fetch partial results in vkGetQueryPoolResults

  • anv: Handle unavailable queries in vkCmdCopyQueryPoolResults

  • turnip: Enable occlusionQueryPrecise

  • turnip: Free event->bo on vkDestroyEvent

  • turnip: Fix vkGetQueryPoolResults with available flag

  • turnip: Fix vkCmdCopyQueryPoolResults with available flag

  • s/APIENTRY/GLAPIENTRY/ in teximage.c

  • nir: fix a couple signed/unsigned comparison warnings in nir_builder.h

  • Call shmget() with permission 0600 instead of 0777

  • nir: no-op C99 _Pragma() with MSVC

  • util/vector: Fix u_vector_foreach when head rolls over

  • spirv: Don’t leak GS initialization to other stages

  • glsl: Check earlier for MaxShaderStorageBlocks and MaxUniformBlocks

  • glsl: Check earlier for MaxTextureImageUnits and MaxImageUniforms

  • anv: Initialize depth_bounds_test_enable when not explicitly set

  • spirv: Consider the sampled_image case in wa_glslang_179 workaround

  • intel/fs: Lower 64-bit MOVs after lower_load_payload()

  • intel/fs: Fix lowering of dword multiplication by 16-bit constant

  • intel/vec4: Fix lowering of multiplication by 16-bit constant

  • anv/gen12: Temporarily disable VK_KHR_buffer_device_address (and EXT)

  • spirv: Implement SPV_KHR_non_semantic_info

  • panfrost: Fix Makefile.sources

  • anv: Drop unused function parameter

  • anv: Ignore some CreateInfo structs when rasterization is disabled

  • intel/fs: Only use SLM fence in compute shaders

  • spirv: Drop EXT for PhysicalStorageBuffer symbols

  • spirv: Handle PhysicalStorageBuffer in memory barriers

  • nir: Add missing nir_var_mem_global to various passes

  • intel/fs: Add FS_OPCODE_SCHEDULING_FENCE

  • intel/fs: Add workgroup_size() helper

  • intel/fs: Don’t emit fence for shared memory if only one thread is used

  • intel/fs: Don’t emit control barrier if only one thread is used

  • anv: Always initialize target_stencil_layout

  • intel/compiler: Add names for SHADER_OPCODE_[IU]SUB_SAT

  • nir: Make nir_deref_path_init skip trivial casts

  • egl: Mention if swrast is being forced

  • drm-shim: fix EOF case

  • etnaviv: rs: upsampling is not supported

  • etnaviv: add drm-shim

  • etnaviv: drop not used config_out function param

  • etnaviv: use a more self-explanatory param name

  • etnaviv: handle 8 byte block in tiling

  • etnaviv: add support for extended pe formats

  • etnaviv: fix integer vertex formats

  • etnaviv: use NORMALIZE_SIGN_EXTEND

  • etnaviv: fix R10G10B10A2 vertex format entries

  • etnaviv: handle integer case for GENERIC_ATTRIB_SCALE

  • etnaviv: remove dead code

  • etnaviv: remove not used etna_bits_ones(..)

  • etnaviv: drop compiled_rs_state forward declaration

  • etnaviv: update resource status after flushing

  • gallium: add PIPE_CAP_MAX_VERTEX_BUFFERS

  • etnaviv: check if MSAA is supported

  • etnaviv: gc400 does not support any vertex sampler

  • etnaviv: use a better name for FE_VERTEX_STREAM_UNK14680

  • etnaviv: move state based texture structs

  • etnaviv: move descriptor based texture structs

  • etnaviv: add deqp debug option

  • etnaviv: drop default state for PE_STENCIL_CONFIG_EXT2

  • etnaviv: drm-shim: add GC400

  • nir: Fix non-determinism in lower_global_vars_to_local

  • radv: Rename ac_arg_regfile

  • ac: Add a shared interface between radv, radeonsi, LLVM and ACO

  • ac/nir, radv, radeonsi: Switch to using ac_shader_args

  • radv: Move argument declaration out of nir_to_llvm

  • aco: Constify radv_nir_compiler_options in isel

  • aco: Use radv_shader_args in aco_compile_shader()

  • aco: Split vector arguments at the beginning

  • aco: Make num_workgroups and local_invocation_ids one argument each

  • radv: Replace supports_spill with explict_scratch_args

  • aco: Use common argument handling

  • aco: Make unused workgroup id’s 0

  • nir: Maintain the algebraic automaton’s state as we work.

  • a6xx: Add more CP packets

  • freedreno: Use new macros for CP_WAIT_REG_MEM and CP_WAIT_MEM_GTE

  • freedreno: Fix CP_MEM_TO_REG flag definitions

  • freedreno: Document CP_COND_REG_EXEC more

  • freedreno: Document CP_UNK_A6XX_55

  • freedreno: Document CP_INDIRECT_BUFFER_CHAIN

  • panfrost: Fix panfrost_bo_access memory leak

  • panfrost: Fix headers and gpu_headers memory leak

  • aco: fix immediate offset for spills if scratch is used

  • aco: only use single-dword loads/stores for spilling

  • aco: fix accidential reordering of instructions when scheduling

  • aco: workaround Tonga/Iceland hardware bug

  • aco: fix invalid access on Pseudo_instructions

  • aco: preserve kill flag on moved operands during RA

  • aco: rematerialize s_movk instructions

  • aco: check if SALU instructions are predeceeded by exec when calculating WQM needs

  • aco: value number instructions using the execution mask

  • aco: use s_and_b64 exec to reduce uniform booleans to one bit

  • amd/llvm: Add Subgroup Scan functions for SI

  • radv: Enable Subgroup Arithmetic and Clustered for SI

  • aco: don’t value-number instructions from within a loop with ones after the loop.

  • aco: don’t split live-ranges of linear VGPRs

  • aco: fix a couple of value numbering issues

  • aco: refactor visit_store_fs_output() to use the Builder

  • aco: Initial GFX7 Support

  • aco: SI/CI - fix sampler aniso

  • aco: fix SMEM offsets for SI/CI

  • aco: implement nir_op_fquantize2f16 for SI/CI

  • aco: only use scalar loads for readonly buffers on SI/CI

  • aco: implement nir_op_isign on SI/CI

  • aco: move buffer_store data to VGPR if needed

  • aco: implement quad swizzles for SI/CI

  • aco: recognize SI/CI SMRD hazards

  • aco: fix disassembly of writelane instructions.

  • aco: split read/writelane opcode into VOP2/VOP3 version for SI/CI

  • aco: implement 64bit VGPR shifts for SI/CI

  • aco: make 1/2*PI a literal constant on SI/CI

  • aco: implement 64bit i2b for SI /CI

  • aco: implement 64bit ine/ieq for SI/CI

  • aco: disable disassembly for SI/CI due to lack of support by LLVM

  • radv: only flush scalar cache for SSBO writes with ACO on GFX8+

  • aco: flush denorms after fmin/fmax on pre-GFX9

  • aco: don’t use a scalar temporary for reductions on GFX10

  • aco: implement (clustered) reductions for SI/CI

  • aco: implement inclusive_scan for SI/CI

  • aco: implement exclusive scan for SI/CI

  • radv: disable Youngblood app profile if ACO is used

  • aco: return to loop_active mask at continue_or_break blocks

  • radv: Enable ACO on GFX7 (Sea Islands)

  • aco: use soffset for MUBUF instructions on SI/CI

  • aco: improve readfirstlane after uniform ssbo loads on GFX7

  • aco: propagate temporaries into expanded vectors

  • nir: fix printing of var_decl with more than 4 components.

  • aco: compact various Instruction classes

  • aco: compact aco::span<T> to use uint16_t offset and size instead of pointer and size_t.

  • aco: fix unconditional demote_to_helper

  • aco: rework lower_to_cssa()

  • aco: handle phi affinities transitively through parallelcopies

  • aco: ignore parallelcopies to the same register on jump threading

  • aco: fix combine_salu_not_bitwise() when SCC is used

  • aco: reorder VMEM operands in ACO IR

  • aco: fix register allocation with multiple live-range splits

  • aco: simplify adjust_sample_index_using_fmask() & get_image_coords()

  • aco: simplify gathering of MIMG address components

  • docs: add new features for RADV/ACO.

  • aco: fix image_atomic_cmp_swap

  • Revert “st/dri: do FLUSH_VERTICES before calling flush_resource”

  • Revert “gallium: add st_context_iface::flush_resource to call FLUSH_VERTICES”

  • intel/blorp: Fix usage of uninitialized memory in key hashing

  • i965/program_cache: Lift restriction on shader key size

  • intel/blorp: Fix usage of uninitialized memory in key hashing

  • intel/fs: Do not lower large local arrays to scratch on gen7

  • i965: Unify CC_STATE and BLEND_STATE atoms on Haswell as a workaround

  • glsl: Add varyings to “zero-init of uninitialized vars” workaround

  • drirc: Add glsl_zero_init workaround for GpuTest

  • iris/query: Implement PIPE_QUERY_GPU_FINISHED

  • iris: Fix value of out-of-bounds accesses for vertex attributes

  • i965: Do not set front_buffer_dirty if there is no front buffer

  • st/mesa: Handle the rest renderbuffer formats from OSMesa

  • st/nir: Unify inputs_read/outputs_written before serializing NIR

  • nir/serialize: pack function has name and entry point into flags.

  • nir/serialize: fix serializing functions with no implementations.

  • spirv: don’t store 0 to cs.ptr_size for non kernel stages.

  • spirv: get the correct type for function returns.

  • spirv/nir/opencl: handle some multiply instructions.

  • nir: add 64-bit ufind_msb lowering support. (v2)

  • nouveau: request ufind_msb64 lowering in the frontend.

  • vtn/opencl: add clz support

  • nir: fix deref offset builder

  • llvmpipe: initial query buffer object support. (v2)

  • docs: add llvmpipe to ARB_query_buffer_object.

  • gallivm: split out the flow control ir to a common file.

  • gallivm: nir->tgsi info convertor (v2)

  • gallivm: add popcount intrinsic wrapper

  • gallivm: add cttz wrapper

  • gallivm: add selection for non-32 bit types

  • gallivm: add nir->llvm translation (v2)

  • draw: add nir info gathering and building support

  • gallium: add nir lowering passes for the draw pipe stages. (v2)

  • gallivm: add swizzle support where one channel isn’t defined.

  • llvmpipe: add initial nir support

  • nir/samplers: don’t zero samplers_used/txf.

  • llvmpipe/images: handle undefined atomic without crashing

  • gallivm/llvmpipe: add support for front facing in sysval.

  • llvmpipe: enable texcoord semantics

  • gallium/scons: fix graw-xlib build on OSX.

  • llvmpipe: add queries disabled flag

  • llvmpipe: disable occlusion queries when requested by state tracker

  • draw: add support for collecting primitives generated outside streamout

  • llvmpipe: enable support for primitives generated outside streamout

  • aco: handle gfx7 int8/10 clamping on exports

  • gallivm: add bitfield reverse and ufind_msb

  • llvmpipe/nir: handle texcoord requirements

  • gallivm: fix transpose for when first channel isn’t created

  • gallivm: fix perspective enable if usage_mask doesn’t have 0 bit set

  • gallivm/nir: cleanup code and call cmp wrapper

  • gallivm/nir: copy compare ordering code from tgsi

  • gallivm: add base instance sysval support

  • gallivm/draw: add support for draw_id system value.

  • gallivm: fixup base_vertex support

  • llvmpipe: enable ARB_shader_draw_parameters.

  • vtn: convert vload/store to single value loops

  • vtn/opencl: add shuffle/shuffle support

  • gallivm/nir: wrap idiv to avoid divide by 0 (v2)

  • llvmpipe: switch to NIR by default

  • nir: sanitize work group intrinsics to always be 32-bit.

  • gallivm: add 64-bit const int creator.

  • llvmpipe/gallivm: add kernel inputs

  • gallivm: add support for 8-bit/16-bit integer builders

  • gallivm: pick integer builders for alu instructions.

  • gallivm/nir: allow 8/16-bit conversion and comparison.

  • tgsi/mesa: handle KERNEL case

  • gallivm/llvmpipe: add support for work dimension intrinsic.

  • gallivm/llvmpipe: add support for block size intrinsic

  • gallivm/llvmpipe: add support for global operations.

  • llvmpipe: handle serialized nir as a shader type.

  • llvmpipe: add support for compute shader params

  • llvmpipe/nir: use nir_max_vec_components in more places

  • gallivm: handle non-32 bit undefined

  • llvmpipe: lower hadd/add_sat

  • gallivm/nir: lower packing

  • gallivm/nir: add vec8/16 support

  • llvmpipe: add debug option to enable OpenCL support.

  • gallivm: fixup const int64 builder.

  • llvmpipe: enable ARB_shader_group_vote.

  • gallium/util: add multi_draw_indirect to util_draw_indirect.

  • llvmpipe: enable driver side multi draw indirect

  • llvmpipe: add support for ARB_indirect_parameters.

  • llvmpipe: add ARB_derivative_control support

  • gallivm: fix gather component handling.

  • llvmpipe: fix some integer instruction lowering.

  • galllivm: fix gather offset casting

  • gallivm: fix find lsb

  • gallivm/nir: add missing break for isub.

  • .mailmap: use correct email address

  • virgl: support emulating planar image sampling

  • gallium/swr: Enable support bptc format.

  • docs/features: mark GL_ARB_texture_compression_bptc as done for llvmpipe, softpipe, swr

  • gallium: enable INTEL_PERFORMANCE_QUERY

  • iris: INTEL performance query implementation

  • gallium: check all planes’ pipe formats in case of multi-samplers

  • radeonsi: Clear uninitialized variable

  • st_get_external_sampler_key: improve error message

  • zink: make sure src image is transfer-src-optimal

  • Bump VERSION to 20.0.0-devel

  • docs/new_features: Empty the feature list for the 20.0 cycle

  • nir: correct use of identity check in python

  • r200: use preprocessor for big vs little endian checks

  • r100: Use preprocessor to select big vs little endian paths

  • dri/osmesa: use preprocessor for selecting endian code paths

  • util/u_endian: Use _WIN32 instead of _MSC_VER

  • util/u_endian: set PIPE_ARCH_*_ENDIAN to 1

  • mesa/main: replace uses of _mesa_little_endian with preprocessor

  • mesa/swrast: replace instances of _mesa_little_endian with preprocessor

  • mesa/main: delete now unused _mesa_little_endian

  • gallium/osmesa: Use PIPE_ARCH_*_ENDIAN instead of little_endian function

  • util: rename PIPE_ARCH_*_ENDIAN to UTIL_ARCH_*_ENDIAN

  • util/u_endian: Add error checks

  • meson: Add dep_glvnd to egl deps when building with glvnd

  • docs: add release notes for 19.2.3

  • docs: add sha256 sum to 19.2.3 release notes

  • docs: update calendar, add news item and link release notes for 19.2.2

  • meson: gtest needs pthreads

  • gallium/osmesa: Convert osmesa test to gtest

  • osmesa/tests: Extend render test to cover other working cases

  • util: Use ZSTD for shader cache if possible

  • docs: Add release notes for 19.2.4

  • docs: Add SHA256 sum for for 19.2.4

  • docs: update calendar, add news item and link release notes for 19.2.4

  • docs: Add relnotes for 19.2.5

  • docs/relnotes/19.2.5: Add SHA256 sum

  • docs: update calendar, add news item and link release notes for 19.2.5

  • docs/release-calendar: Update for extended 19.3 rc period

  • docs: Add release notes for 19.2.6

  • docs: Add SHA256 sum for 19.2.6

  • docs: update calendar, add news item and link release notes for 19.2.6

  • gallium/auxiliary: Fix uses of gnu struct = {} extension

  • meson: Add -Werror=gnu-empty-initializer to MSVC compat args

  • docs: Add release notes for 19.2.7

  • docs: Add SHA256 sums for 19.2.7

  • docs: update calendar, add news item and link release notes for 19.2.7

  • docs: Update mesa 19.3 release calendar

  • meson/broadcom: libbroadcom_cle needs expat headers

  • meson/broadcom: libbroadcom_cle also needs zlib

  • docs: add release notes for 19.3.0

  • docs/19.3.0: Add SHA256 sums

  • docs: Update release notes, index, and calendar for 19.3.0

  • dcos: add releanse notes for 19.3.1

  • docs: Add release notes, update calendar, and add news for 19.3.1

  • docs: add relnotes for 19.2.8

  • docs/relnotes/19.2.8: Add SHA256 sum

  • docs: Add release notes, news, and update calendar for 19.2.8

  • docs: Add release notes for 19.3.2

  • docs: add SHA256 sums for 19.3.2

  • docs: Add release notes for 19.3.2, update calendar and home page

  • docs: Update release calendar for 20.0

  • docs: Add relnotes for 19.3.3 release

  • docs: Add SHA 256 sums for 19.3.3

  • docs: update news, calendar, and link release notes for 19.3.3

  • VERSION: bump to 20.0.0-rc1

  • bin/pick-ui: Add a new maintainer script for picking patches

  • .pick_status.json: Update to 0d14f41625fa00187f690f283c1eb6a22e354a71

  • .pick_status.json: Update to b550b7ef3b8d12f533b67b1a03159a127a3ff34a

  • .pick_status.json: Update to 9afdcd64f2c96f3fcc1a28912987f2e8066aa995

  • .pick_status.json: Update to 7eaf21cb6f67adbe0e79b80b4feb8c816a98a720

  • VERSION: bump to 20.0-rc2

  • .pick_status.json: Update to d8bae10bfe0f487dcaec721743cd51441bcc12f5

  • .pick_status.json: Update to 689817c9dfde9a0852f2b2489cb0fa93ffbcb215

  • .pick_status.json: Update to 23037627359e739c42b194dec54875aefbb9d00b

  • VERSION: bump for 20.0.0-rc3

  • .pick_status.json: Update to 2a98cf3b2ecea43cea148df7f77d2abadfd1c9db

  • .pick_status.json: Update to 946eacbafb47c8b94d47e7c9d2a8b02fff5a22fa

  • .pick_status.json: Update to bee5c9b0dc13dbae0ccf124124eaccebf7f2a435

  • turnip: Remove failed command buffer from pool

  • turnip: Fix issues in tu_compute_pipeline_create() that may lead to crash

  • Docs: remove duplicate meson docs for windows

  • docs: fix ascii html representation

  • nir/algebraic: i2f(f2i()) -> trunc()

  • nir/algebraic: sqrt(x)*sqrt(x) -> fabs(x)

  • intel/compiler: Return early if read() failed

  • ci: Make lava inherit the ccache setup of the .build script.

  • ci: Switch over to an autoscaling GKE cluster for builds.

  • Revert “ci: Switch over to an autoscaling GKE cluster for builds.”

  • mesa/st: Add mapping of MESA_FORMAT_RGB_SNORM16 to gallium.

  • gallium: Add defines for FXT1 texture compression.

  • gallium: Add some more channel orderings of packed formats.

  • gallium: Add an equivalent of MESA_FORMAT_BGR_UNORM8.

  • gallium: Add equivalents of packed MESA_FORMAT_*UINT formats.

  • mesa: Stop defining a full separate format for RGBA_UINT8.

  • mesa/st: Test round-tripping of all compressed formats.

  • mesa: Prepare for the MESA_FORMAT_* enum to be sparse.

  • mesa: Redefine MESA_FORMAT_* in terms of PIPE_FORMAT_*.

  • mesa/st: Gut most of st_mesa_format_to_pipe_format().

  • mesa/st: Make st_pipe_format_to_mesa_format an effective no-op.

  • u_format: Fix swizzle of A1R5G5B5.

  • ci: Use several debian buster packages instead of hand-building.

  • ci: Make the skip list regexes match the full test name.

  • ci: Use cts_runner for our dEQP runs.

  • ci: Enable all of GLES3/3.1 testing for softpipe.

  • ci: Remove old commented copy of freedreno artifacts.

  • ci: Disable flappy blit tests on a630.

  • ci: Expand the freedreno blit skip regex to cover more cases.

  • util: Move gallium’s PIPE_FORMAT utils to /util/format/

  • mesa: Move compile of common Mesa core files to a static lib.

  • mesa/st: Simplify st_choose_matching_format().

  • mesa: Don’t put sRGB formats in the array format table.

  • mesa/st: Reuse st_choose_matching_format from st_choose_format().

  • util: Add a mapping from VkFormat to PIPE_FORMAT.

  • turnip: Drop the copy of the formats table.

  • ci: Move freedreno’s parallelism to the runner instead of gitlab-ci jobs.

  • ci: Use a tag from the parallel-deqp-runner repo.

  • nir: Add a scheduler pass to reduce maximum register pressure.

  • nir: Refactor algebraic’s block walk

  • nir: Make algebraic backtrack and reprocess after a replacement.

  • freedreno: Introduce a fd_resource_layer_stride() helper.

  • freedreno: Introduce a fd_resource_tile_mode() helper.

  • freedreno: Introduce a resource layout header.

  • freedreno: Convert the slice struct to the new resource header.

  • freedreno/a6xx: Log the tiling mode in resource layout debug.

  • turnip: Disable timestamp queries for now.

  • turnip: Fix unused variable warnings.

  • turnip: Drop redefinition of VALIDREG now that it’s in ir3.h.

  • turnip: Reuse tu6_stage2opcode() more.

  • turnip: Add basic SSBO support.

  • turnip: Refactor the graphics pipeline create implementation.

  • turnip: Add a helper function for getting tu_buffer iovas.

  • turnip: Sanity check that we’re adding valid BOs to the list.

  • turnip: Move pipeline BO list adding to BindPipeline.

  • turnip: Add support for compute shaders.

  • ci: Disable egl_ext_device_drm tests in piglit.

  • freedreno: Enable texture upload memory throttling.

  • freedreno: Stop forcing ALLOW_MAPPED_BUFFERS_DURING_EXEC off.

  • freedreno: Track the set of UBOs to be uploaded in UBO analysis.

  • freedreno: Drop the extra offset field for mipmap slices.

  • freedreno: Refactor the UBWC flags registers emission.

  • freedreno: Move UBWC layout into a slices array like the non-UBWC slices.

  • tu: Move our image layout into a freedreno_layout struct.

  • freedreno: Move a6xx’s setup_slices() to a shareable helper function.

  • freedreno: Switch the 16-bit workaround to match what turnip does.

  • tu: Move UBWC layout into fdl6_layout() and use that function.

  • turnip: Lower usub_borrow.

  • turnip: Drop unused variable.

  • turnip: Add support for descriptor arrays.

  • turnip: Fix support for immutable samplers.

  • ci: Fix caselist results archiving after parallel-deqp-runner rename.

  • mesa: Fix detection of invalidating both depth and stencil.

  • mesa/st: Deduplicate the NIR uniform lowering code.

  • mesa/st: Move the vec4 type size function into core GLSL types.

  • mesa/prog: Reuse count_vec4_slots() from ir_to_mesa.

  • mesa/st: Move the dword slot counting function to glsl_types as well.

  • i965: Reuse the new core glsl_count_dword_slots().

  • nir: Fix printing of ~0 .locations.

  • turnip: Refactor linkage state setup.

  • mesa: Make atomic lowering put atomics above SSBOs.

  • gallium: Pack the atomic counters just above the SSBOs.

  • nir: Drop the ssbo_offset to atomic lowering.

  • compiler: Add a note about how num_ssbos works in the program info.

  • freedreno: Stop scattered remapping of SSBOs/images to IBOs.

  • radeonsi: Remove a bunch of default handling of pipe caps.

  • r600: Remove a bunch of default handling of pipe caps.

  • r300: Remove a bunch of default handling of pipe caps.

  • radeonsi: Drop PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS.

  • turnip: Fix some whitespace around binary operators.

  • turnip: Refactor the intrinsic lowering.

  • turnip: Add limited support for storage images.

  • turnip: Disable UBWC on images used as storage images.

  • turnip: Add support for non-zero (still constant) UBO buffer indices.

  • turnip: Add support for uniform texel buffers.

  • freedreno/ir3: Plumb the ir3_shader_variant into legalize.

  • turnip: Add support for fine derivatives.

  • turnip: Fix execution of secondary cmd bufs with nothing in primary.

  • freedreno: Add some missing a6xx address declarations.

  • freedreno: Fix OUT_REG() on address regs without a .bo supplied.

  • turnip: Port krh’s packing macros from freedreno to tu.

  • turnip: Convert renderpass setup to the new register packing macros.

  • turnip: Convert the rest of tu_cmd_buffer.c over to the new pack macros.

  • vulkan/wsi: Fix compiler warning when no WSI platforms are enabled.

  • iris: Silence warning about AUX_USAGE_MC.

  • mesa/st: Fix compiler warnings from INTEL_shader_integer_functions.

  • ci: Enable -Werror on the meson-i386 build.

  • tu: Fix binning address setup after pack macros change.

  • Revert “gallium: Fix big-endian addressing of non-bitmask array formats.”

  • meson: split out idep_xmlconfig_headers from idep_xmlconfig

  • anv: add missing xmlconfig headers dependency

  • radv: drop unnecessary xmlpool_options_h

  • pipe-loader: drop unnecessary xmlpool_options_h

  • loader: replace xmlpool_options_h with idep_xmlconfig_headers

  • targets/omx: replace xmlpool_options_h with idep_xmlconfig_headers

  • targets/va: replace xmlpool_options_h with idep_xmlconfig_headers

  • targets/vdpau: replace xmlpool_options_h with idep_xmlconfig_headers

  • targets/xa: replace xmlpool_options_h with idep_xmlconfig_headers

  • targets/xvmc: replace xmlpool_options_h with idep_xmlconfig_headers

  • dri: replace xmlpool_options_h with idep_xmlconfig_headers

  • i915: replace xmlpool_options_h with idep_xmlconfig_headers

  • nouveau: replace xmlpool_options_h with idep_xmlconfig_headers

  • r200: replace xmlpool_options_h with idep_xmlconfig_headers

  • radeon: replace xmlpool_options_h with idep_xmlconfig_headers

  • meson: move idep_xmlconfig_headers to xmlpool/

  • gitlab-ci: build a recent enough version of GLVND (ie. 1.2.0)

  • meson: require glvnd 1.2.0

  • meson: revert glvnd workaround

  • meson: add variable to control the symbols checks

  • meson: move the generic symbols check arguments to a common variable

  • meson: add windows support to symbols checks

  • meson: require `nm` again on Unix systems

  • mesa/imports: let the build system detect strtok_r()

  • egl: fix _EGL_NATIVE_PLATFORM fallback

  • egl: move #include of local headers out of Khronos headers

  • gitlab-ci: build libdrm using meson instead of autotools

  • gitlab-ci: auto-cancel CI runs when a newer commit is pushed to the same branch

  • CL: sync C headers with Khronos

  • CL: sync C++ headers with Khronos

  • vulkan: delete typo’d header

  • egl: use EGL_CAST() macro in eglmesaext.h

  • anv: add missing “fall-through” annotation

  • vk_util: drop duplicate formats in vk_format_map[]

  • meson: drop duplicate `lib` prefix on libiris_gen*

  • meson: drop `intel_` prefix on imgui_core

  • docs: reword a bit and list HTTPS before FTP

  • intel: add mi_builder_test for gen12

  • intel/compiler: add ASSERTED annotation to avoid “unused variable” warning

  • intel/compiler: replace `0` pointer with `NULL`

  • util/simple_mtx: don’t set the canary when it can’t be checked

  • anv: drop unused #include

  • travis: autodetect python version instead of hard-coding it

  • util/format: remove left-over util_format_description_table declaration

  • util/format: add PIPE_FORMAT_ASTC_*x*x*_SRGB to util_format_{srgb,linear}()

  • util/format: add trivial srgb<->linear conversion test

  • u_format: move format tests to util/tests/

  • amd: fix empty-body issues

  • nine: fix empty-body-issues

  • meson: simplify install_megadrivers.py invocation

  • mesa: avoid returning a value in a void function

  • meson: use github URL for wraps instead of completely unreliable wrapdb

  • egl: drop confusing mincore() error message

  • llvmpipe: drop LLVM < 3.4 support

  • util/atomic: fix return type of p_atomic_add_return() fallback

  • util/os_socket: fix header unavailable on windows

  • freedreno/perfcntrs: fix fd leak

  • util/disk_cache: check for write() failure in the zstd path

  • lima: fix nir shader memory leak

  • lima: fix bo submit memory leak

  • lima/ppir: enable lower_fdph

  • gallium/util: add alignment parameter to util_upload_index_buffer

  • lima: allocate separate bo to store varyings

  • lima: refactor indexed draw indices upload

  • vc4: move the draw splitting routine to shared code

  • lima: split draw calls on 64k vertices

  • lima/ppir: fix lod bias src

  • lima/ppir: remove assert on ppir_emit_tex unsupported feature

  • lima: set shader caps to optimize control flow

  • lima/ppir: remove orphan load node after cloning

  • lima/ppir: implement full liveness analysis for regalloc

  • lima/ppir: handle write to dead registers in ppir

  • lima/ppir: fix ssa undef emit

  • lima/ppir: split ppir_op_undef into undef and dummy again

  • lima/ppir: fix src read mask swizzling

  • zink: heap-allocate samplers objects

  • zink: emit line-width when using polygon line-mode

  • anv: remove incorrect polygonMode=point early-out

  • zink: use actual format for render-pass

  • zink: always allow mutating the format

  • zink: do not advertize coherent mapping

  • zink: disable fragment-shader texture-lod

  • zink: transition resources before resolving

  • zink: always allow sampling of images

  • zink: use u_blitter when format-reinterpreting

  • zink/spirv: drop temp-array for component-count

  • zink/spirv: support loading bool constants

  • zink/spirv: implement bany_fnequal[2-4]

  • zink/spirv: implement bany_inequal[2-4]

  • zink/spirv: implement ball_iequal[2-4]

  • zink/spirv: implement ball_fequal[2-4]

  • zink: do advertize integer support in shaders

  • zink/spirv: add support for nir_op_flrp

  • zink: correct depth-stencil format

  • nir: patch up deref-vars when lowering clip-planes

  • zink: always allow transfer to/from buffers

  • zink: implement buffer-to-buffer copies

  • zink: remove no-longer-needed hack

  • zink: move format-checking to separate source

  • zink: move filter-helper to separate helper-header

  • zink: move blitting to separate source

  • zink: move drawing separate source

  • st/mesa: unmap pbo after updating cache

  • zink: use true/false instead of TRUE/FALSE

  • zink: reject invalid sample-counts

  • zink: fix crash when restoring sampler-states

  • zink: delete query rather than allocating a new one

  • zink: do not try to destroy NULL-fence

  • zink: handle calloc-failure

  • zink: avoid NULL-deref

  • zink: avoid NULL-deref

  • zink: avoid NULL-deref

  • zink: error-check right variable

  • zink: silence coverity error

  • zink: enable PIPE_CAP_MIXED_COLORBUFFER_FORMATS

  • zink: implement nir_texop_txd

  • zink: implement txf

  • zink: implement some more trivial opcodes

  • zink: simplify front-face type

  • zink: factor out builtin-var creation

  • zink: implement load_vertex_id

  • zink: use nir_fmul_imm

  • zink: remove unused code-path in lower_pos_write

  • nir/zink: move clip_halfz-lowering to common code

  • etnaviv: use nir_lower_clip_halfz instead of open-coding

  • st/mesa: use uint-samplers for sampling stencil buffers

  • zink: fixup initialization of operand_mask / num_extra_operands

  • util: initialize float-array with float-literals

  • st/wgl: eliminate implicit cast warning

  • gallium: fix a warning

  • mesa/st: use float literals

  • docs: fix typo in html tag name

  • docs: fix paragraphs

  • docs: open paragraph before closing it

  • docs: use code-tag instead of pre-tag

  • docs: use code-tags instead of pre-tags

  • docs: use code-tags instead of pre-tags

  • docs: move paragraph closing tag

  • docs: remove double-closed definition-list

  • docs: do not double-close link tag

  • docs: do not use definition-list for sub-topics

  • docs: use figure/figcaption instead of tables

  • docs: remove trailing header

  • docs: remove leading spaces

  • docs: remove trailing newlines

  • docs: use [1] instead of asterisk for footnote

  • docs: remove pointless, stray newline

  • docs: fixup indentation

  • zink: implement nir_texop_txs

  • zink: support offset-variants of texturing

  • zink: avoid incorrect vector-construction

  • zink: store image-type per texture

  • zink: support sampling non-float textures

  • zink: support arrays of samplers

  • zink: set compareEnable when setting compareOp

  • st/mesa: use uint-result for sampling stencil buffers

  • Revert “nir: Add a couple trivial abs optimizations”

  • radv/winsys: set IB flags prior to submit in the sysmem path

  • glsl: Fix software 64-bit integer to 32-bit float conversions.

  • intel/fs/gen11+: Handle ROR/ROL in lower_simd_width().

  • intel/fs/gen8+: Fix r127 dst/src overlap RA workaround for EOT message payload.

  • intel/fs: Fix nir_intrinsic_load_barycentric_at_sample for SIMD32.

  • intel/fs/cse: Fix non-deterministic behavior due to inaccurate liveness calculation.

  • intel/fs: Make implied_mrf_writes() an fs_inst method.

  • intel/fs: Try to vectorize header setup in lower_load_payload().

  • intel/fs: Generalize fs_reg::is_contiguous() to register files other than VGRF.

  • intel/fs: Rework fs_inst::is_copy_payload() into multiple classification helpers.

  • intel/fs: Extend copy propagation dataflow analysis to copies with FIXED_GRF source.

  • intel/fs: Add partial support for copy-propagating FIXED_GRFs.

  • intel/fs: Add support for copy-propagating a block of multiple FIXED_GRFs.

  • intel/fs: Allow limited copy propagation of a LOAD_PAYLOAD into another.

  • intel/fs/gen4-6: Allocate registers from aligned_pairs_class based on LINTERP use.

  • intel/fs/gen6: Constrain barycentric source of LINTERP during bank conflict mitigation.

  • intel/fs/gen6: Generalize aligned_pairs_class to SIMD16 aligned barycentrics.

  • intel/fs/gen6: Use SEL instead of bashing thread payload for unlit centroid workaround.

  • intel/fs: Split fetch_payload_reg() into separate helper for barycentrics.

  • intel/fs: Introduce barycentric layout lowering pass.

  • intel/fs: Switch to standard vector layout for barycentrics at optimization time.

  • intel/fs/cse: Make HALT instruction act as CSE barrier.

  • intel/fs/gen7: Fix fs_inst::flags_written() for SHADER_OPCODE_FIND_LIVE_CHANNEL.

  • intel/fs: Add virtual instruction to load mask of live channels into flag register.

  • intel/fs/gen12: Workaround unwanted SEND execution due to broken NoMask control flow.

  • intel/fs/gen12: Fixup/simplify SWSB annotations of SIMD32 scratch writes.

  • intel/fs/gen12: Workaround data coherency issues due to broken NoMask control flow.

  • freedreno: reorder format check

  • Correctly wait in the fragment stage until all semaphores are signaled

  • Vulkan Overlay: Don’t try to change the image layout to present twice

  • Vulkan overlay: use the corresponding image index for each swapchain

  • r600: Disable eight bit three channel formats

  • virgl: Increase the shader transfer buffer by doubling the size

  • gallium/tgsi_from_mesa: Add ‘extern “C”’ to be able to include from C++

  • nir: make nir_get_texture_size/lod available outside nir_lower_tex

  • gallium: tgsi_from_mesa - handle VARYING_SLOT_FACE

  • r600: Add functions to dump the shader info

  • r600: Make it possible to include r600_asm.h in a C++ file

  • r600/sb: Correct SB disassambler for better debugging

  • r600: Fix maximum line width

  • r600: Make SID and unsigned value

  • r600: Delete vertex buffer only if there is actually a shader state

  • mesa/st: glsl_to_nir: don’t lower atomics to SSBOs if driver supports HW atomics

  • etnaviv: drm: Don’t miscalculate timeout

  • freedreno/drm: Don’t miscalculate timeout

  • drirc: set allow_higher_compat_version for Faster Than Light

  • virgl/drm: update UAPI

  • teximage: split out helper from EGLImageTargetTexture2DOES

  • glapi / teximage: implement EGLImageTargetTexStorageEXT

  • dri_util: add driImageFormatToSizedInternalGLFormat function

  • i965: track if image is created by a dmabuf

  • i965: refactor intel_image_target_texture_2d

  • i965: support EXT_EGL_image_storage

  • st/dri: track if image is created by a dmabuf

  • st/mesa: refactor egl image binding a bit

  • st/mesa: implement EGLImageTargetTexStorage

  • freedreno/ir3: cleanup by removing repeated code

  • freedreno: support 16b for the sampler opcode

  • freedreno/ir3: fix printing output registers of FS.

  • freedreno/ir3: fixup when changing to mad.f16

  • freedreno/ir3: enable half precision for pre-fs texture fetch

  • turnip: fix invalid VK_ERROR_OUT_OF_POOL_MEMORY

  • freedreno/ir3: put the conversion back for half const to the right place.

  • v3d: rename vertex shader key (num)_fs_inputs fields

  • mesa/st: make sure we remove dead IO variables before handing NIR to backends

  • glsl: add missing initialization of the location path field

  • v3d: fix indirect BO allocation for uniforms

  • v3d: actually root the first BO in a command list in the job

  • v3d: add missing plumbing for VPM load instructions

  • v3d: add debug assert

  • v3d: enable debug options for geometry shader dumps

  • v3d: remove unused variable

  • v3d: add initial compiler plumbing for geometry shaders

  • v3d: fix packet descriptions for geometry and tessellation shaders

  • v3d: emit geometry shader state commands

  • v3d: implement geometry shader instancing

  • v3d: add 1-way SIMD packing definition

  • v3d: compute appropriate VPM memory configuration for geometry shader workloads

  • v3d: we always have at least one output segment

  • v3d: add support for adjacency primitives

  • v3d: don’t try to render if shaders failed to compile

  • v3d: predicate geometry shader outputs inside non-uniform control flow

  • v3d: save geometry shader state for blitting

  • v3d: support transform feedback with geometry shaders

  • v3d: remove obsolete assertion

  • v3d: do not limit new CL space allocations with branch to 4096 bytes

  • v3d: support rendering to multi-layered framebuffers

  • v3d: move layer rendering to a separate helper

  • v3d: handle writes to gl_Layer from geometry shaders

  • v3d: fix primitive queries for geometry shaders

  • v3d: disable lowering of indirect inputs

  • v3d: support precompiling geometry shaders

  • v3d: expose OES_geometry_shader

  • u_vbuf: don’t try to delete NULL driver CSO

  • v3d: fix bug when checking result of syncobj fence import

  • intel/compiler: Report the number of non-spill/fill SEND messages on vec4 too

  • nir/algebraic: Add the ability to mark a replacement as exact

  • nir/algebraic: Mark other comparison exact when removing a == a

  • intel/fs: Disable conditional discard optimization on Gen4 and Gen5

  • nir/range-analysis: Add pragmas to help loop unrolling

  • nir/range_analysis: Make sure the table validation only occurs once

  • nir/opt_peephole_select: Don’t count some unary operations

  • intel/compiler: Increase nir_opt_peephole_select threshold

  • nir/algebraic: Simplify some Inf and NaN avoidance code

  • nir/algebraic: Rearrange bcsel sequences generated by nir_opt_peephole_select

  • intel/compiler: Fix ‘comparison is always true’ warning

  • mesa: Silence ‘left shift of negative value’ warning in BPTC compression code

  • mesa: Silence unused parameter warning

  • anv: Fix error message format string

  • mesa: Extension boilerplate for INTEL_shader_integer_functions2

  • glsl: Add new expressions for INTEL_shader_integer_functions2

  • glsl_types: Add function to get an unsigned base type from a signed type

  • glsl: Add built-in functions for INTEL_shader_integer_functions2

  • nir: Add new instructions for INTEL_shader_integer_functions2

  • nir/algebraic: Add lowering for uabs_usub and uabs_isub

  • nir/algebraic: Add lowering for 64-bit hadd and rhadd

  • nir/algebraic: Add lowering for 64-bit usub_sat

  • nir/algebraic: Add lowering for 64-bit uadd_sat

  • nir/algebraic: Add lowering for 64-bit iadd_sat and isub_sat

  • compiler: Translate GLSL IR to NIR for new INTEL_shader_integer_functions2 expressions

  • intel/fs: Don’t lower integer multiplies that don’t need lowering

  • intel/fs: Add SHADER_OPCODE_[IU]SUB_SAT pseudo-ops

  • intel/fs: Implement support for NIR opcodes for INTEL_shader_integer_functions2

  • nir/spirv: Translate SPIR-V to NIR for new INTEL_shader_integer_functions2 opcodes

  • spirv: Silence a bunch of unused parameter warnings

  • spirv: Add support for IntegerFunctions2INTEL capability

  • i965: Enable INTEL_shader_integer_functions2 on Gen8+

  • gallium: Add a cap bit for OpenCL-style extended integer functions

  • gallium: Add a cap bit for integer multiplication between 32-bit and 16-bit

  • iris: Enable INTEL_shader_integer_functions2

  • anv: Enable SPV_INTEL_shader_integer_functions2 and VK_INTEL_shader_integer_functions2

  • nir/algebraic: Optimize some 64-bit integer comparisons involving zero

  • relnotes: Add GL_INTEL_shader_integer_functions2 and VK_INTEL_shader_integer_functions2

  • intel/fs: Don’t count integer instructions as being possibly coissue

  • gallium/auxiliary: Reduce conversions in u_vbuf_get_minmax_index_mapped

  • gallium/auxiliary: Handle count == 0 in u_vbuf_get_minmax_index_mapped

  • panfrost: Add negative lod bias support

  • panfrost: Compact the bo_access readers array

  • panfrost: Dynamically allocate shader variants

  • panfrost: Add ETC1/ETC2 texture formats

  • panfrost: Add ASTC texture formats

  • pan/midgard: Fix bundle dynarray leak

  • pan/midgard: Fix a memory leak in the disassembler

  • pan/midgard: Support disassembling to a file

  • pan/bifrost: Support disassembling to a file

  • pan/decode: Support dumping to a file

  • pan/decode: Dump to a file

  • pan/decode: Rotate trace files

  • panfrost: Don’t copy uniforms when the size is zero

  • pan/midgard: Fix a liveness info leak

  • lima: support indexed draw with bias

  • lima: fix lima_set_vertex_buffers()

  • gm107/ir: fix loading z offset for layered 3d image bindings

  • nv50/ir: mark STORE destination inputs as used

  • nv50,nvc0: fix destination coordinates of blit

  • nvc0: add dummy reset status support

  • gm107/ir: avoid combining geometry shader stores at 0x60

  • nvc0: treat all draws without color0 broadcast as MRT

  • nvc0: disable xfb’s which don’t have a stride

  • intel/compiler: remove old comment

  • intel/compiler: Don’t change hstride if not needed

  • anv: Export filter_minmax support only when it’s really supported

  • anv: Export VK_KHR_buffer_device_address only when really supported

  • anv: Enable Vulkan 1.2 support

  • iris: try to set the specified tiling when importing a dmabuf

  • gallium: dmabuf support for yuv formats that are not natively supported

  • gallium: let the pipe drivers decide the supported modifiers

  • clover: Initialize Asm Parsers

  • clover: Use explicit conversion from llvm::StringRef to std::string

  • gallium/swr: Fix depth values for blit scenario

  • swr/rasterizer: Add tessellator implementation to the rasterizer

  • gallium/swr: Fix Windows build

  • gallium/gallivm/tgsi: enable tessellation shaders

  • gallium/gallivm: enable linking lp_bld_printf function with C++ code

  • gallium/swr: implementation of tessellation shaders compilation

  • gallium/swr: fix tessellation state save/restore

  • docs: Update SWR tessellation support

  • util: Add a util_sparse_array data structure

  • anv: Move refcount to anv_bo

  • anv: Use a util_sparse_array for the GEM handle -> BO map

  • anv: Fix a relocation race condition

  • anv: Stop storing the GEM handle in anv_reloc_list_add

  • anv: Declare the bo in the anv_block_pool_foreach_bo loop

  • anv: Inline anv_block_pool_get_bo

  • anv: Replace ANV_BO_EXTERNAL with anv_bo::is_external

  • anv: Handle state pool relocations using “wrapper” BOs

  • anv: Fix a potential BO handle leak

  • anv: Rework anv_block_pool_expand_range

  • anv: Use anv_block_pool_foreach_bo in get_bo_from_pool

  • anv: Rework the internal BO allocation API

  • anv: Choose BO flags internally in anv_block_pool

  • anv/tests: Zero-initialize instances

  • anv/tests: Initialize the BO cache and device mutex

  • anv: Allocate block pool BOs from the cache

  • anv: Use the query_slot helper in vkResetQueryPoolEXT

  • anv: Allocate query pool BOs from the cache

  • anv: Set more flags on descriptor pool buffers

  • anv: Allocate descriptor buffers from the BO cache

  • util: Add a free list structure for use with util_sparse_array

  • anv: Allocate batch and fence buffers from the cache

  • anv: Allocate scratch BOs from the cache

  • anv: Allocate misc BOs from the cache

  • anv: Drop anv_bo_init and anv_bo_init_new

  • anv: Add a device parameter to anv_execbuf_add_bo

  • anv: Set the batch allocator for compute pipelines

  • anv: Use a bitset for tracking residency

  • anv: Zero released anv_bo structs

  • anv: Use the new BO alloc API for Android

  • anv: Don’t delete fragment shaders that write sample mask

  • anv: Don’t claim the null RT as a valid color target

  • anv: Stop compacting render targets in the binding table

  • anv: Move the RT BTI flush workaround to begin_subpass

  • spirv: Remove the type from sampled_image

  • spirv: Add a vtn_decorate_pointer helper

  • spirv: Sort out the mess that is sampled image

  • nir/builder: Add a nir_extract_bits helper

  • nir: Add tests for nir_extract_bits

  • intel/nir: Use nir_extract_bits in lower_mem_access_bit_sizes

  • intel/fs: Add DWord scattered read/write opcodes

  • intel/fs: refactor surface header setup

  • intel/nir: Plumb devinfo through lower_mem_access_bit_sizes

  • intel/fs: Implement the new load/store_scratch intrinsics

  • intel/fs: Lower large local arrays to scratch

  • anv: Lock around fetching sync file FDs from semaphores

  • anv: Plumb timeline semaphore signal/wait values through from the API

  • spirv: Fix the MSVC build

  • anv/pipeline: Assume layout != NULL

  • genxml: Mark everything in genX_pack.h always_inline

  • anv: Input attachments are always single-plane

  • anv: Flatten descriptor bindings in anv_nir_apply_pipeline_layout

  • anv: Delete dead shader constant pushing code

  • anv: Stop bounds-checking pushed UBOs

  • anv: Pre-compute push ranges for graphics pipelines

  • intel/compiler: Add a flag to avoid compacting push constants

  • anv: Re-arrange push constant data a bit

  • anv: Rework push constant handling

  • anv: Use a switch statement for binding table setup

  • anv: More carefully dirty state in BindDescriptorSets

  • anv: More carefully dirty state in BindPipeline

  • anv: Use an anv_state for the next binding table

  • anv: Emit a NULL vertex for zero base_vertex/instance

  • nir: Validate that variables are in the right lists

  • iris: Re-enable param compaction

  • Revert “i965/fs: Merge CMP and SEL into CSEL on Gen8+”

  • vulkan/enum_to_str: Handle out-of-order aliases

  • anv/entrypoints: Better handle promoted extensions

  • vulkan: Update the XML and headers to 1.1.129

  • anv: Push constants are relative to dynamic state on IVB

  • anv: Set up SBE_SWIZ properly for gl_Viewport

  • anv: Respect the always_flush_cache driconf option

  • iris: Stop setting up fake params

  • anv: Drop bo_flags from anv_bo_pool

  • anv: Add a has_softpin boolean

  • blorp: Pass the VB size to the VF cache workaround

  • anv: Always invalidate the VF cache in BeginCommandBuffer

  • anv: Apply cache flushes after setting index/draw VBs

  • anv: Use PIPE_CONTROL flushes to implement the gen8 VF cache WA

  • anv: Don’t leak when set_tiling fails

  • util/atomic: Add a _return variant of p_atomic_add

  • anv: Disallow allocating above heap sizes

  • anv: Stop tracking VMA allocations

  • anv: Set up VMA heaps independently from memory heaps

  • anv: Stop advertising two heaps just for the VF cache WA

  • anv: Add an explicit_address parameter to anv_device_alloc_bo

  • util/vma: Factor out the hole splitting part of util_vma_heap_alloc

  • util/vma: Add a function to allocate a particular address range

  • anv: Add allocator support for client-visible addresses

  • anv: Use a pNext loop in AllocateMemory

  • anv: Implement VK_KHR_buffer_device_address

  • util/atomic: Add p_atomic_add_return for the unlocked path

  • vulkan/wsi: Provide the implicitly synchronized BO to vkQueueSubmit

  • vulkan/wsi: Add a hooks for signaling semaphores and fences

  • anv: Always add in EXEC_OBJECT_WRITE when specified in extra_flags

  • anv: Use submit-time implicit sync instead of allocate-time

  • anv: Add a fence_reset_reset_temporary helper

  • anv: Use BO fences/semaphores for AcquireNextImage

  • anv: Return VK_ERROR_OUT_OF_DEVICE_MEMORY for too-large buffers

  • anv: Re-capture all batch and state buffers

  • anv: Re-emit all compute state on pipeline switch

  • ANV: Stop advertising smoothLines support on gen10+

  • anv: Flush the queue on DeviceWaitIdle

  • anv: Unconditionally advertise Vulkan 1.1

  • anv: Bump the advertised patch version to 129

  • i965: Enable GL_EXT_gpu_shader4 on Gen6+

  • anv: Properly advertise sampledImageIntegerSampleCounts

  • anv: Drop unneeded struct keywords

  • blorp: Stop whacking Z24 depth to BGRA8

  • blorp: Allow reading with HiZ

  • i965/blorp: Don’t resolve HiZ unless we’re reinterpreting

  • intel/blorp: Use the source format when using blorp_copy with HiZ

  • anv: Allow HiZ in TRANSFER_SRC_OPTIMAL on Gen8-9

  • i965: Allow HiZ for glCopyImageSubData sources

  • intel/nir: Add a memory barrier before barrier()

  • intel/disasm: Fix decoding of src0 of SENDS

  • genxml: Remove a non-existant HW bit

  • anv: Don’t add dynamic state base address to push constants on Gen7

  • anv: Flag descriptors dirty when gl_NumWorkgroups is used

  • anv: Re-use flush_descriptor_sets in flush_compute_state

  • intel/vec4: Support scoped_memory_barrier

  • nir: Handle more barriers in dead_write and copy_prop

  • nir: Handle barriers with more granularity in combine_stores

  • llmvpipe: No-op implement more barriers

  • nir: Add a new memory_barrier_tcs_patch intrinsic

  • spirv: Add a workaround for OpControlBarrier on old GLSLang

  • spirv: Add output memory semantics to OpControlBarrier in TCS

  • nir/glsl: Emit memory barriers as part of barrier()

  • intel/nir: Stop adding redundant barriers

  • nir: Rename nir_intrinsic_barrier to control_barrier

  • nir/lower_atomics_to_ssbo: Also lower barriers

  • anv: Drop an unused variable

  • intel/blorp: Fill out all the dwords of MI_ATOMIC

  • anv: Don’t over-advertise descriptor indexing features

  • anv: Memset array properties

  • vulkan/wsi: Add a driconf option to force WSI to advertise BGRA8_UNORM first

  • vulkan: Update the XML and headers to 1.2.131

  • turnip: Pretend to support Vulkan 1.2

  • anv: Bump the patch version to 131

  • anv,nir: Lower quad_broadcast with dynamic index in NIR

  • anv: Implement the new core version feature queries

  • anv: Implement the new core version property queries

  • relnotes: Add Vulkan 1.2

  • anv: Drop some VK_IMAGE_TILING_OPTIMAL checks

  • anv: Support modifiers in GetImageFormatProperties2

  • vulkan/wsi: Move the ImageCreateInfo higher up

  • vulkan/wsi: Use the interface from the real modifiers extension

  • vulkan/wsi: Filter modifiers with ImageFormatProperties

  • vulkan/wsi: Implement VK_KHR_swapchain_mutable_format

  • anv/blorp: Rename buffer image stride parameters

  • anv: Canonicalize buffer formats for image/buffer copies

  • anv: Add an anv_physical_device field to anv_device

  • anv: Take an anv_device in vk_errorf

  • anv: Take a device in anv_perf_warn

  • anv: Stop allocating WSI event fences off the instance

  • anv: Drop the instance pointer from anv_device

  • anv: Move the physical device dispatch table to anv_instance

  • anv: Drop separate chipset_id fields

  • anv: Re-arrange physical_device_init

  • anv: Allow enumerating multiple physical devices

  • anv/apply_pipeline_layout: Initialize the nir_builder before use

  • intel/blorp: resize src and dst surfaces separately

  • anv: Use TRANSFER_SRC_OPTIMAL for depth/stencil MSAA resolves

  • anv: Add a layout_to_aux_state helper

  • anv: Use isl_aux_state for HiZ resolves

  • anv: Add a usage parameter to anv_layout_to_aux_usage

  • anv: Allow HiZ in read-only depth layouts

  • anv: Improve BTI change cache flushing

  • intel/fs: Don’t unnecessarily fall back to indirect sends on Gen12

  • intel/disasm: Properly disassemble indirect SENDs

  • intel/isl: Plumb devinfo into isl_genX(buffer_fill_state_s)

  • intel/isl: Add a hack for the Gen12 A0 texture buffer bug

  • anv: Rework the meaning of anv_image::planes[]::aux_usage

  • anv: Replace aux_surface.isl.size_B checks with aux_usage checks

  • intel/aux-map: Add some #defines

  • intel/aux-map: Factor out some useful helpers

  • anv: Delete a redundant calculation

  • isl: Add a helper for calculating subimage memory ranges

  • anv: Add another align_down helper

  • anv: Make AUX table invalidate a PIPE_* bit

  • anv: Make anv_vma_alloc/free a lot dumber

  • anv: Rework CCS memory handling on TGL-LP

  • intel/blorp: Add support for CCS_E copies with UNORM formats

  • intel/isl: Allow CCS_E on more formats

  • intel/genxml: Make SO_DECL::”Hole Flag” a Boolean

  • anv: Insert holes for non-existant XFB varyings

  • intel/blorp: Handle bit-casting UNORM and BGRA formats

  • anv: Replace one more aux_surface.isl.size_B check

  • intel/mi_builder: Force write completion on Gen12+

  • anv: Set actual state pool sizes when we have softpin

  • anv: Re-use one old BT block in reset_batch_bo_chain

  • anv/block_pool: Ensure allocations have contiguous maps

  • anv: Rename a variable

  • genxml: Add a new 3DSTATE_SF field on gen12

  • anv,iris: Set 3DSTATE_SF::DerefBlockSize to per-poly on Gen12+

  • intel/genxml: Drop SLMEnable from L3CNTLREG on Gen11

  • iris: Set SLMEnable based on the L3$ config

  • iris: Store the L3$ configs in the screen

  • iris: Use the URB size from the L3$ config

  • i965: Re-emit l3 state before BLORP executes

  • intel: Take a gen_l3_config in gen_get_urb_config

  • intel/blorp: Always emit URB config on Gen7+

  • iris: Consolodate URB emit

  • anv: Emit URB setup earlier

  • intel/common: Return the block size from get_urb_config

  • intel/blorp: Plumb deref block size through to 3DSTATE_SF

  • anv: Plumb deref block size through to 3DSTATE_SF

  • iris: Plumb deref block size through to 3DSTATE_SF

  • anv: Always fill out the AUX table even if CCS is disabled

  • intel/fs: Write the address register with NoMask for MOV_INDIRECT

  • anv/blorp: Use the correct size for vkCmdCopyBufferToImage

  • winsys/amdgpu: avoid double simple_mtx_unlock()

  • i965: update Makefile.sources for perf changes

  • util/futex: use futex syscall on OpenBSD

  • util/u_thread: don’t restrict u_thread_get_time_nano() to __linux__

  • freedreno: add Adreno 640 ID

  • freedreno/ir3: disable texture prefetch for 1d array textures

  • freedreno/registers: fix a6xx_2d_blit_cntl ROTATE

  • etnaviv: blt: use only for tiling, and add missing formats

  • etnaviv: separate PE and RS formats, use only RS only for tiling

  • etnaviv: blt: set TS dirty after clear

  • turnip: add display wsi

  • turnip: add x11 wsi

  • turnip: implement CmdClearColorImage/CmdClearDepthStencilImage

  • turnip: fix sRGB GMEM clear

  • util: add missing R8G8B8A8_SRGB format to vk_format_map

  • freedreno/regs: update UBWC related bits

  • turnip: implement UBWC

  • etnaviv: avoid using RS for 64bpp formats

  • etnaviv: implement 64bpp clear

  • etnaviv: blt: fix partial ZS clears with TS

  • etnaviv: support 3d/array/integer formats in texture descriptors

  • turnip: fix integer render targets

  • freedreno/registers: add missing MH perfcounter enum for a2xx

  • freedreno/perfcntrs: add a2xx MH counters

  • freedreno/perfcntrs/fdperf: fix u64 print on 32-bit builds

  • freedreno/perfcntrs/fdperf: add missing a20x compatible

  • freedreno/perfcntrs/fdperf: add missing a2xx case in select_counter

  • turnip: fix display wsi fence timing out

  • turnip: don’t skip unused attachments when setting up tiling config

  • turnip: implement CmdClearAttachments

  • turnip: don’t set unused BLIT_DST_INFO bits for GMEM clear

  • turnip: MSAA resolve directly from GMEM

  • turnip: allow writes to draw_cs outside of render pass

  • turnip: add function to allocate aligned memory in a substream cs

  • turnip: improve emit_textures

  • turnip: implement border color

  • turnip: add hw binning

  • turnip: fix incorrectly failing assert

  • freedreno/ir3: add GLSL_SAMPLER_DIM_SUBPASS to tex_info

  • freedreno/registers: add a6xx texture format for stencil sampler

  • turnip: fix hw binning render area

  • turnip: fix tile layout logic

  • turnip: update tile_align_w/tile_align_h

  • turnip: set load_layer_id to zero

  • turnip: set FRAG_WRITES_SAMPMASK bit

  • turnip: fix VK_IMAGE_ASPECT_STENCIL_BIT image view

  • turnip: no 8x msaa on 128bpp formats

  • turnip: add dirty bit for push constants

  • turnip: subpass rework

  • turnip: CmdClearAttachments fixes

  • turnip: implement subpass input attachments

  • etnaviv: remove sRGB formats from format table

  • etnaviv: sRGB render target support

  • etnaviv: set output mode and saturate bits

  • etnaviv: update INT_FILTER choice for GLES3 formats

  • etnaviv: disable integer vertex formats on pre-HALTI2 hardware

  • etnaviv: remove swizzle from format table

  • etnaviv: add missing formats

  • etnaviv: add missing vs_needs_z_div handling to NIR backend

  • turnip: use single substream cs

  • turnip: use common blit path for buffer copy

  • turnip: don’t require src image to be set for clear blits

  • turnip: implement CmdFillBuffer/CmdUpdateBuffer

  • freedreno/ir3: lower mul_2x32_64

  • turnip: fix emit_textures for compute shaders

  • turnip: remove compute emit_border_color

  • turnip: fix emit_ibo

  • turnip: change emit_ibo to be like emit_textures

  • turnip: remove duplicate A6XX_SP_CS_CONFIG_NIBO

  • nir: add option to lower half packing opcodes

  • freedreno/ir3: lower pack/unpack ops

  • turnip: don’t set LRZ enable at end of renderpass

  • freedreno/ir3: update prefetch input_offset when packing inlocs

  • turnip: add cache invalidate to fix input attachment cases

  • turnip: don’t set SP_FS_CTRL_REG0_VARYING if only fragcoord is used

  • freedreno/ir3: fix vertex shader sysvals with pre_assign_inputs

  • freedreno/registers: document vertex/instance id offset bits

  • freedreno/ir3: support load_base_instance

  • turnip: emit base instance vs driver param

  • turnip: emit_compute_driver_params fixes

  • turnip: compute gmem offsets at renderpass creation time

  • turnip: implement secondary command buffers

  • nir: fix assign_io_var_locations for vertex inputs

  • turnip: minor warning fixes

  • util/format: add missing vulkan formats

  • turnip: disable B8G8R8 vertex formats

  • etnaviv: fix incorrectly failing vertex size assert

  • etnaviv: update headers from rnndb

  • etnaviv: HALTI2+ instanced draw

  • etnaviv: implement gl_VertexID/gl_InstanceID

  • etnaviv: remove unnecessary vertex_elements_state_create error checking

  • st/mesa: don’t lower YUV when driver supports it natively

  • st/mesa: run st_nir_lower_tex_src_plane for lowered xyuv/ayuv

  • freedreno/ir3: allow inputs with the same location

  • turnip: remove tu_sort_variables_by_location

  • turnip: fix array/matrix varyings

  • turnip: hook up GetImageDrmFormatModifierPropertiesEXT

  • turnip: set linear tiling for scanout images

  • vulkan/wsi: remove unused image_get_modifier

  • turnip: simplify tu_physical_device_get_format_properties

  • etnaviv: implement UBOs

  • turnip: hook up cmdbuffer event set/wait

  • iris: Add IRIS_DIRTY_RENDER_BUFFER state flag

  • iris/gen11+: Move flush for render target change

  • iris: Allow max dynamic pool size of 2GB for gen12

  • intel: Remove unused Tigerlake PCI ID

  • iris: Fix some indentation in iris_init_render_context

  • iris: Emit CS Stall before Instruction Cache flush for gen12 WA

  • anv: Emit CS Stall before Instruction Cache flush for gen12 WA

  • v3d: Fix predication with atomic image operations

  • nir/lower_double_ops: relax lower mod()

  • Revert “nir/lower_double_ops: relax lower mod()”

  • nir/spirv: skip unreachable blocks in Phi second pass

  • nir: fix unused variable warning in nir_lower_vars_to_explicit_types

  • nir: fix unused variable warning in find_and_update_previous_uniform_storage

  • nir: fix unused function warning in src/compiler/nir/nir.c

  • intel/gen_decoder: Fix unused-but-set-variable warning

  • nv50/ir: fix crash in isUniform for undefined values

  • nir/validate: validate num_components on registers and intrinsics

  • nir/serialize: fix vec8 and vec16

  • nir/tests: add serializer tests

  • nir/tests: MSVC build fix

  • spirv: handle UniformConstant for OpenCL kernels

  • clover/nir: treat UniformConstant as global memory

  • clover/nir: set spirv environment to OpenCL

  • clover/spirv: allow Int64 Atomics for supported devices

  • nir: handle nir_deref_type_ptr_as_array in rematerialize_deref_in_block

  • nv50/ir: implement global atomics and handle it for nir

  • nir/serialize: cast swizzle before shifting

  • aco: use NIR_MAX_VEC_COMPONENTS instead of 4

  • nv50ir/nir: support vec8 and vec16

  • iris: Fix “Force Zero RTA Index Enable” setting again

  • nir: Handle image arrays when setting variable data

  • Revert “intel/blorp: Fix usage of uninitialized memory in key hashing”

  • iris: Properly move edgeflag_out from output list to global list

  • iris: Wrap iris_fix_edge_flags in NIR_PASS

  • mesa: Handle GL_COLOR_INDEX in _mesa_format_from_format_and_type().

  • iris: Change keybox parenting

  • iris: Stop mutating the resource in get_rt_read_isl_surf().

  • iris: Drop ‘old_address’ parameter from iris_rebind_buffer

  • iris: Create an “iris_surface_state” wrapper struct

  • iris: Maintain CPU-side SURFACE_STATE copies for views and surfaces.

  • iris: Update SURFACE_STATE addresses when setting sampler views

  • iris: Disable VF cache partial address workaround on Gen11+

  • driconf, glsl: Add a vs_position_always_invariant option

  • drirc: Set vs_position_always_invariant for Shadow of Mordor on Intel

  • st/mesa: Add GL_TDFX_texture_compression_FXT1 support

  • iris: Map FXT1 texture formats

  • meson: Add a “prefer_iris” build option

  • main: Change u_mmAllocMem align2 from bytes (old API) to bits (new API)

  • meson: Include iris in default gallium-drivers for x86/x86_64

  • util: Detect use-after-destroy in simple_mtx

  • intel/genxml: Add a partial TCCNTLREG definition

  • iris: Enable Gen11 Color/Z write merging optimization

  • anv: Enable Gen11 Color/Z write merging optimization

  • intel/decoder: Make get_state_size take a full 64-bit address and a base

  • iris: Create smaller program keys without legacy features

  • iris: Default to X-tiling for scanout buffers without modifiers

  • iris: Alphabetize source files after iris_perf.c was added

  • drirc: Final Fantasy VIII: Remastered needs allow_higher_compat_version

  • iris: Make helper functions to turn iris shader keys into brw keys.

  • iris: Fix shader recompile debug printing

  • iris: Avoid replacing backing storage for buffers with no contents

  • intel: Drop Gen11 WaBTPPrefetchDisable workaround

  • st/nir: Optionally unify inputs_read/outputs_written when linking.

  • iris: Set nir_shader_compiler_options::unify_interfaces.

  • st/mesa: Allow ASTC5x5 fallbacks separately from other ASTC LDR formats.

  • iris: Disable ASTC 5x5 support on Gen9 for now.

  • iris: Delete remnants of the unimplemented ASTC 5x5 workaround

  • iris: Allow HiZ for copy_region sources

  • anv: Only enable EWA LOD algorithm when doing anisotropic filtering.

  • Revert “nir: assert that nir_lower_tex runs after lowering derefs”

  • i965: Simplify brw_get_renderer_string()

  • iris: Simplify iris_get_renderer_string()

  • intel: Use similar brand strings to the Windows drivers

  • intel/compiler: Fix illegal mutation in get_nir_image_intrinsic_image

  • iris: Fix export of fences that have already completed.

  • st/mesa: Allocate full miplevels if MaxLevel is explicitly set

  • iris: Drop some workarounds which are no longer necessary

  • anv: Drop some workarounds that are no longer necessary

  • intel: Fix aux map alignments on 32-bit builds.

  • meson: Prefer ‘iris’ by default over ‘i965’.

  • loader: Check if the kernel driver is i915 before loading iris

  • iris: Drop ‘engine’ from iris_batch.

  • iris: Make iris_emit_default_l3_config pull devinfo from the batch

  • iris: Support multiple chained batches.

  • i965: Use brw_batch_references in tex_busy check

  • loader: Fix leak of kernel driver name

  • freedreno/registers: Fix typo

  • freedreno/registers: Move SP_PRIMITIVE_CNTL and SP_VS_VPC_DST

  • freedreno/registers: Add comments about primitive counters

  • freedreno/a6xx: Fix primitive counters again

  • freedreno/a6xx: Clear sysmem with CP_BLIT

  • freedreno: Add nogmem debug option to force bypass rendering

  • freedreno/a6xx: Fix layered texture type enum

  • freedreno/a6x: Rename z/s formats

  • freedreno/a6xx: Add register offset for STG/LDG

  • freedreno/ir3: Emit link map as byte or dwords offsets as needed

  • freedreno/ir3: Add load and store intrinsics for global io

  • freedreno: Don’t count primitives for patches

  • freedreno/ir3: Add ir3 intrinsics for tessellation

  • freedreno/ir3: Use imul24 in offset calculations

  • freedreno/ir3: Add tessellation field to shader key

  • freedreno/ir3: Extend geometry lowering pass to handle tessellation

  • freedreno/ir3: Add new synchronization opcodes

  • freedreno/ir3: End TES with chsh when using GS

  • freedreno/ir3: Implement tess coord intrinsic

  • freedreno/ir3: Implement TCS synchronization intrinsics

  • freedreno/ir3: Setup inputs and outputs for tessellation stages

  • freedreno/ir3: Don’t assume binning shader is always VS

  • freedreno/ir3: Pre-color TCS header and primitive ID inputs

  • freedreno/ir3: Allocate const space for tessellation parameters

  • freedreno/a6xx: Build the right draw command for tessellation

  • freedreno/a6xx: Allocate and program tessellation buffer

  • freedreno/a6xx: Emit constant parameters for tessellation stages

  • freedreno/a6xx: Program state for tessellation stages

  • freedreno: Use bypass rendering for tessellation

  • freedreno/a6xx: Only set emit.hs/ds when we’re drawing patches

  • freedreno/blitter: Save tessellation state

  • freedreno/a6xx: Only use merged regs and four quads for VS+FS

  • freedreno/a6xx: Turn on tessellation shaders

  • freedreno/ir3: Use regid() helper when setting up precolor regs

  • freedreno/registers: Remove duplicate register definitions

  • freedreno: New struct packing macros

  • freedreno/registers: Add 64 bit address registers

  • freedreno/a6xx: Drop stale include

  • freedreno/a6xx: Include fd6_pack.h in a few files

  • freedreno/a6xx: Convert emit_mrt() to OUT_REG()

  • freedreno/a6xx: Convert emit_zs() to OUT_REG()

  • freedreno/a6xx: Convert VSC pipe setup to OUT_REG()

  • freedreno/a6xx: Convert gmem blits to OUT_REG()

  • freedreno/a6xx: Convert some tile setup to OUT_REG()

  • freedreno/a6xx: Silence warning for unused perf counters

  • freedreno/a6xx: Document the CP_SET_DRAW_STATE enable bits

  • freedreno/a6xx: Make DEBUG_BLIT_FALLBACK only dump fallbacks

  • freedreno: Add debug flag for forcing linear layouts

  • freedreno/a6xx: Program sampler swap based on resource tiling

  • freedreno/a6xx: Pick blitter swap based on resource tiling

  • freedreno/a6xx: Add fd_resource_swap() helper

  • freedreno/a6xx: Use blitter for resolve blits

  • freedreno/a6xx: RB6_R8G8B8 is actually 32 bit RGBX

  • freedreno/a6xx: Use A6XX_SP_2D_SRC_FORMAT_MASK macro

  • freedreno/a6xx: Handle srgb blits on the blitter

  • freedreno/a6xx: Move handle_rgba_blit() up

  • freedreno/a6xx: Rewrite compressed blits in a helper function

  • freedreno/a6xx: Set up multisample sysmem MRTs correctly

  • st/mesa: Lower vars to ssa and constant prop before gl_nir_lower_buffers

  • ir3: Set up full/half register conflicts correctly

  • iris: Advertise PIPE_CAP_NATIVE_FENCE_FD

  • iris: Print warning and return *out = NULL when fd to syncobj fails

  • gallium/swr: Fix GS invocation issues - Fixed proper setting gl_InvocationID. - Fixed GS vertices output memory overflow.

  • gallium/swr: Enable some ARB_gpu_shader5 extensions Enable / add to features.txt: - Enhanced textureGather. - Geometry shader instancing. - Geometry shader multiple streams.

  • gallium/swr: Fix crash when use GL_TDFX_texture_compression_FXT1 format.

  • gallivm: add TGSI bit arithmetic opcodes support

  • gallium/swr: Fix glVertexPointer race condition.

  • gallium/swr: Disable showing detected arch message.

  • docs/GL4: update gallium/swr features

  • gallium/swr: add option for static link

  • gallium/swr: Fix gcc 4.8.5 compile error

  • gallium/swr: simplify environmental variabled expansion code

  • freedreno/drm: Fix memory leak in softpin implementation

  • egl: avoid local modifications for eglext.h Khronos standard header file

  • ac: add missing Arcturus to the info of pc lines

  • gallium: dri2: Use index as plane number.

  • android: mesa: Revert “android: mesa: revert “Enable asm unconditionally””

  • intel/dev: set default num_eu_per_subslice on gen12

  • intel/perf: add TGL support

  • intel/perf: fix Android build

  • mesa: check draw buffer completeness on glClearBufferfi/glClearBufferiv

  • vulkan: bump headers/registry to 1.1.127

  • anv: Properly handle host query reset of performance queries

  • anv: implement VK_KHR_separate_depth_stencil_layouts

  • mesa: check framebuffer completeness only after state update

  • anv: invalidate file descriptor of semaphore sync fd at vkQueueSubmit

  • anv: remove list items on batch fini

  • anv: detach batch emission allocation from device

  • anv: expose timeout helpers outside of anv_queue.c

  • anv: move queue init/finish to anv_queue.c

  • anv: allow NULL batch parameter to anv_queue_submit_simple_batch

  • anv: prepare driver to report submission error through queues

  • anv: refcount semaphores

  • anv: prepare the driver for delayed submissions

  • anv/wsi: signal the semaphore in the acquireNextImage

  • anv: implement VK_KHR_timeline_semaphore

  • intel/dev: flag the Elkhart Lake platform

  • intel/perf: add EHL performance query support

  • intel/perf: fix invalid hw_id in query results

  • intel/perf: set read buffer len to 0 to identify empty buffer

  • intel/perf: take into account that reports read can be fairly old

  • intel/perf: simplify the processing of OA reports

  • intel/perf: fix improper pointer access

  • anv: fix missing gen12 handling

  • anv: fix incorrect VMA alignment for CCS main surfaces

  • anv: fix fence underlying primitive checks

  • anv: fix assumptions about temporary fence payload

  • intel/perf: drop batchbuffer flushing at query begin

  • i965/iris: perf-queries: don’t invalidate/flush 3d pipeline

  • anv: constify pipeline layout in nir passes

  • anv: drop unused parameter from apply layout pass

  • vulkan/wsi: error out when image fence doesn’t signal

  • mesa: avoid triggering assert in implementation

  • i965/iris/perf: factor out frequency register capture

  • loader: fix close on uninitialized file descriptor value

  • anv: don’t close invalid syncfd semaphore

  • anv: fix intel perf queries availability writes

  • anv: set stencil layout for input attachments

  • iris: Implement Gen12 workaround for non pipelined state

  • anv: Implement Gen12 workaround for non pipelined state

  • anv: only use VkSamplerCreateInfo::compareOp if enabled

  • anv: fix pipeline switch back for non pipelined states

  • genxml: add new Gen11+ PIPE_CONTROL field

  • iris: handle new PIPE_CONTROL field

  • iris: implement another workaround for non pipelined states

  • anv: implement another workaround for non pipelined states

  • intel/perf: expose timestamp begin for mdapi

  • intel/perf: report query split for mdapi

  • anv: enable VK_KHR_swapchain_mutable_format

  • anv: don’t report error with other vendor DRM devices

  • anv: ensure prog params are initialized with 0s

  • anv/iris: warn gen12 3DSTATE_HS restriction

  • intel: Implement Gen12 workaround for array textures of size 1

  • isl: drop CCS row pitch requirement for linear surfaces

  • isl: add gen12 comment about CCS for linear tiling

  • anv: implement gen9 post sync pipe control workaround

  • anv: set MOCS on push constants

  • radv: fix radv secure compile feature breaks compilation on armhf EABI and aarch64

  • etnaviv: Fix assert when try to accumulate an invalid fd

  • glsl: encode/decode types using a union with bitfields for readability

  • glsl: encode vector_elements and matrix_columns better

  • glsl: encode explicit_stride for basic types better

  • glsl: encode array types better

  • glsl: encode struct/interface types better

  • st/mesa: call nir_opt_access only once

  • st/mesa: call nir_lower_flrp only once per shader

  • compiler: make variable::data::binding unsigned

  • nir: pack nir_variable::data::stream

  • nir: pack nir_variable::data::xfb_*

  • radeonsi: use IR SHA1 as the cache key for the in-memory shader cache

  • radeonsi: don’t keep compute shader IR after compilation

  • radeonsi: keep serialized NIR instead of nir_shader in si_shader_selector

  • nir: pack the rest of nir_variable::data

  • nir/serialize: don’t expand 16-bit variable state slots to 32 bits

  • nir/serialize: store 32-bit object IDs instead of 64-bit

  • nir/serialize: pack nir_variable flags

  • mesa: expose SPIR-V extensions in the Compatibility profile too

  • util: add blob_finish_get_buffer

  • radeonsi/nir: call nir_serialize only once per shader

  • radeonsi/nir: fix compute shader crash due to nir_binary == NULL

  • glsl/linker: pass shader_info to analyze_clip_cull_usage directly

  • compiler: pack shader_info from 160 bytes to 96 bytes

  • st/mesa: fix Sanctuary and Tropics by disabling ARB_gpu_shader5 for them

  • st/mesa: rename DEBUG_TGSI -> DEBUG_PRINT_IR

  • st/mesa: remove \n being only printed in debug builds after printed TGSI

  • st/mesa: print TCS/TES/GS/CS TGSI in the right place & keep disk cache enabled

  • st/mesa: add ST_DEBUG=nir to print NIR shaders

  • st/mesa: remove unused TGSI-only debug printing functions

  • gallium/noop: call finalize_nir

  • radeonsi/nir: remove dead function temps

  • radeonsi/nir: call nir_lower_flrp only once per shader

  • radeonsi/nir: don’t lower fma, instead, fuse fma

  • mesa: enable glthread for 7 Days To Die

  • st/mesa: rename delete_basic_variant -> delete_common_variant

  • st/mesa: decrease the size of st_fp_variant_key from 48 to 40 bytes

  • st/mesa: start deduplicating some program code

  • st/mesa: initialize affected_states and uniform storage earlier in deserialize

  • st/mesa: consolidate and simplify code flagging program::affected_states

  • st/mesa: trivially merge st_vertex_program into st_common_program

  • st/mesa: rename st_common_program to st_program

  • st/mesa: cleanups after unification of st_vertex/common program

  • st/mesa: rename occurences of stcp to stp to correspond to st_program

  • st/mesa: more cleanups after unification of st_vertex/common_program

  • st/mesa: subclass st_vertex_program for VP-specific members

  • st/mesa: call nir_sweep in st_finalize_nir

  • st/mesa: keep serialized NIR instead of nir_shader in st_program

  • st/mesa: call nir_serialize only once per shader

  • nir: move data.image.access to data.access

  • nir/print: only print image.format for image variables

  • glsl_to_nir: rename image_access to mem_access

  • nir: move data.descriptor_set above data.index for better packing

  • nir: don’t use GLenum16 in nir.h

  • ac: add radeon_info::num_rings and move ring_type to amd_family.h

  • ac: fill num_rings for remaining IPs

  • winsys/amdgpu: detect noop dependencies on the same ring correctly

  • nir: strip as we serialize to remove the nir_shader_clone call

  • nir/serialize: do ctx = {0} instead of manual initializations

  • util/blob: add 8-bit and 16-bit reads and writes

  • nir/serialize: pack instructions better

  • nir/serialize: pack src better and limit the object count to 1M from 1G

  • nir/serialize: don’t serialize var->data for temporaries

  • nir/serialize: deduplicate serialized var types by reusing the last unique one

  • nir/serialize: try to store a diff in var data locations instead of var data

  • nir/serialize: pack load_const with non-64-bit constants better

  • nir/serialize: pack 1-component constants into 20 bits if possible

  • nir/serialize: pack nir_intrinsic_instr::const_index[] better

  • nir/serialize: try to pack two alu srcs into 1 uint32

  • nir/serialize: don’t store deref types if not needed

  • nir/serialize: don’t serialize mode for deref non-cast instructions

  • nir/serialize: try to put deref->var index into the unused bits of the header

  • nir/serialize: cleanup - fold nir_deref_type_var cases into switches

  • nir/serialize: try to pack both deref array src into 32 bits

  • nir/serialize: remove up to 3 consecutive equal ALU instruction headers

  • nir/serialize: reuse the writemask field for 2 src X swizzles of SSA ALU

  • nir/serialize: serialize swizzles for vec8 and vec16

  • nir/serialize: serialize writemask for vec8 and vec16

  • nir/serialize: don’t serialize redundant nir_intrinsic_instr::num_components

  • nir/serialize: use 3 unused bits in intrinsic for packed_const_indices

  • nir/serialize: support any num_components for remaining instructions

  • ac: set swizzled bit in cache policy as a hint not to merge loads/stores

  • radeonsi: initialize the per-context compiler on demand

  • radeonsi/nir: don’t run si_nir_opts again if there is no change

  • st/mesa: don’t serialize all streamout state if there are no SO outputs

  • st/mesa: don’t use redundant stp->state.ir.nir

  • st/mesa: don’t call ProgramStringNotify in glsl_to_nir

  • st/mesa: propagate gl_PatchVerticesIn from TCS to TES before linking for NIR

  • st/mesa: simplify looping over linked shaders when linking NIR

  • st/mesa: don’t use ** in the st_nir_link_shaders signature

  • st/mesa: add st_variant base class to simplify code for shader variants

  • ac/nir: don’t rely on data.patch for tess factors

  • radeonsi/nir: implement subgroup system values for SPIR-V

  • radeonsi: simplify the interface of get_dw_address_from_generic_indices

  • radeonsi: simplify get_tcs_tes_buffer_address_from_generic_indices

  • radeonsi/nir: validate is_patch because SPIR-V doesn’t set it for tess factors

  • radeonsi/nir: don’t rely on data.patch for tess factors

  • radeonsi/nir: fix location_frac handling for TCS outputs

  • radeonsi/nir: support interface output types to fix SPIR-V xfb piglits

  • radeonsi: enable SPIR-V and GL 4.6 for NIR

  • util/driconfig: print ATTENTION if MESA_DEBUG=silent is not set

  • radeonsi/gfx10: simplify some duplicated NGG GS code

  • radeonsi/gfx10: fix the vertex order for triangle strips emitted by a GS

  • llvmpipe: implement TEX_LZ and TXF_LZ opcodes

  • gallivm: implement LOAD with CONSTBUF but don’t enable it for llvmpipe

  • st/mesa: support UBOs for Selection/Feedback/RasterPos

  • st/mesa: save currently bound vertex samplers and sampler views in st_context

  • st/mesa: support samplers for Selection/Feedback/RasterPos

  • st/mesa: support SSBOs for Selection/Feedback/RasterPos

  • st/mesa: support shader images for Selection/Feedback/RasterPos

  • st/mesa: use a separate VS variant for the draw module

  • st/mesa: remove st_vp_variant::num_inputs

  • st/mesa: remove struct st_vp_variant in favor of st_common_variant

  • st/mesa: don’t generate VS TGSI if NIR is enabled

  • draw, st/mesa: generate TGSI for ffvp/ARB_vp if draw lacks LLVM

  • st/mesa: release the draw shader properly to fix driver crashes (iris)

  • st/dri: assume external consumers of back buffers can write to the buffers

  • radeonsi: enable NIR by default and document GL 4.6 support

  • radeonsi/gfx10: disable vertex grouping

  • radeonsi/gfx10: simplify the tess_turns_off_ngg condition

  • radeonsi: don’t rely on CLEAR_STATE to set PA_SC_GENERIC_SCISSOR_*

  • ac: fix ac_get_i1_sgpr_mask for Wave32

  • ac: fix the return value in cull_bbox when bbox culling is disabled

  • radeonsi: deduplicate ES and GS thread enablement code

  • radeonsi: disallow compute-based culling if polygon mode is enabled

  • radeonsi: set is_monolithic for VS prologs when the shader is really monolithic

  • radeonsi: don’t wrap the VS prolog in if (ES thread) .. endif

  • radeonsi/gfx10: don’t insert NGG streamout atomics if they are never used

  • radeonsi: allow generating VS prologs with 0 inputs

  • radeonsi: fix determining whether the VS prolog is needed

  • radeonsi: reset more fields in si_llvm_context_set_ir to fix reusing ctx

  • radeonsi/gfx10: fix ngg_get_ordered_id

  • amd/addrlib: update to the latest version

  • ac/surface: fix an assertion failure on gfx9 in CMASK computation

  • radeonsi/gfx10: don’t declare any LDS for NGG if it’s not used

  • radeonsi/gfx10: enable NGG passthrough for eligible shaders

  • radeonsi/gfx10: improve performance for TES using PrimID but not exporting it

  • Revert “u_vbuf: Regard non-constant vbufs with non-instance elements as free”

  • winsys/radeon: initialize pte_fragment_size

  • radeonsi: preserve the scanout flag for shared resources on gfx9 and gfx10

  • radeonsi: ignore PIPE_BIND_SCANOUT for imported textures

  • radeonsi: remove the “display_dcc_offset == 0” assertion

  • radeonsi: rename SDMA debug flags

  • radeonsi: remove broken and unused SI SDMA image copy code

  • radeonsi: add AMD_DEBUG=nodmaclear for debugging

  • radeonsi: add AMD_DEBUG=nodmacopyimage for debugging

  • radeonsi: rename dma_cs -> sdma_cs

  • radeonsi: move SI and CIK+ SDMA code into 1 common function for cleanups

  • radeonsi: disable SDMA on gfx8 to fix corruption on RX 580

  • radeonsi: remove TGSI

  • gallium: put u_vbuf_get_caps return values into u_vbuf_caps

  • gallium/cso_context: move non-vbuf vertex buffer and element code into helpers

  • gallium: bypass u_vbuf if it’s not needed (no fallbacks and no user VBOs)

  • ac/gpu_info: always use distributed tessellation on gfx10

  • radeonsi: fix monolithic pixel shaders with two-sided colors and SampleMaskIn

  • radeonsi: fix context roll tracking in si_emit_shader_vs

  • radeonsi: test polygon mode enablement accurately

  • radeonsi: determine accurately if line stippling is enabled for performance

  • radeonsi: clean up messy si_emit_rasterizer_prim_state

  • ac: unify build_sendmsg_gs_alloc_req

  • ac: unify primitive export code

  • ac/gpu_info: add pc_lines and use it in radeonsi

  • ac: add 128-bit bitcount

  • ac: add ac_build_s_endpgm

  • radeonsi/gfx9: force the micro tile mode for MSAA resolve correctly on gfx9

  • radeonsi: rename desc_list_byte_size -> vb_desc_list_alloc_size

  • radeonsi: add si_context::num_vertex_elements

  • radeonsi: don’t allow draw calls with uninitialized VS inputs

  • radeonsi: simplify si_set_vertex_buffers

  • ac,radeonsi: increase the maximum number of shader args and return values

  • radeonsi: put up to 5 VBO descriptors into user SGPRs

  • radeonsi: don’t enable VBOs in user SGPRs if compute-based culling can be used

  • radeonsi: fix assertion and other failures in si_emit_graphics_shader_pointers

  • radeonsi: actually enable VBOs in user SGPRs

  • radeonsi: don’t adjust depth and stencil PS output locations

  • radeonsi: rename DBG_NO_TGSI -> DBG_NO_NIR

  • radeonsi: remove TGSI from comments

  • radeonsi: rename si_shader_info -> si_shader_binary_info

  • radeonsi: fork tgsi_shader_info and tgsi_tessctrl_info

  • radeonsi: merge si_tessctrl_info into si_shader_info

  • radeonsi: clean up si_shader_info

  • radeonsi: rename si_compile_tgsi_main -> si_build_main_function

  • radeonsi: rename si_shader_create -> si_create_shader_variant for clarity

  • radeonsi: fold si_create_function into si_llvm_create_func

  • radeonsi: remove always constant ballot_mask_bits from si_llvm_context_init

  • radeonsi: move PS LLVM code into si_shader_llvm_ps.c

  • radeonsi: separate code computing info for small primitive culling

  • ac/cull: don’t read Position.Z if it’s not needed for culling

  • radeonsi: make si_insert_input_* functions non-static

  • radeonsi: move VS_STATE.LS_OUT_PATCH_SIZE a few bits higher to make space there

  • radeonsi/gfx10: separate code for getting edgeflags from the gs_invocation_id VGPR

  • radeonsi/gfx10: separate code for determining the number of vertices for NGG

  • radeonsi: fix si_build_wrapper_function for compute-based primitive culling

  • radeonsi: work around an LLVM crash when using llvm.amdgcn.icmp.i64.i1

  • radeonsi: move si_insert_input_* functions

  • radeonsi: move tessellation shader code into si_shader_llvm_tess.c

  • radeonsi: remove llvm_type_is_64bit

  • radeonsi: move geometry shader code into si_shader_llvm_gs.c

  • radeonsi: move code for shader resources into si_shader_llvm_resources.c

  • radeonsi: remove useless #includes

  • radeonsi: merge si_compile_llvm and si_llvm_compile functions

  • gallium: add st_context_iface::flush_resource to call FLUSH_VERTICES

  • st/dri: do FLUSH_VERTICES before calling flush_resource

  • Revert “radeonsi: unbind image before compute clear”

  • radeonsi: clean up how internal compute dispatches are handled

  • radeonsi: don’t invoke decompression inside internal launch_grid

  • radeonsi: fix doubles and int64

  • radeonsi: turn an assertion into return in si_nir_store_output_tcs

  • ac: add prefix bitcount functions

  • ac: add ac_build_readlane without optimization barrier

  • radeonsi/gfx10: update comments and remove invalid TODOs

  • radeonsi/gfx10: correct VS PrimitiveID implementation for NGG

  • radeonsi/gfx10: move s_sendmsg gs_alloc_req to the beginning of shaders

  • radeonsi/gfx10: export primitives at the beginning of VS/TES

  • radeonsi/gfx10: merge main and pos/param export IF blocks into one if possible

  • radeonsi/gfx10: don’t initialize VGPRs not used by NGG passthrough

  • radeonsi/gfx10: move GE_PC_ALLOC setting to shader states

  • radeonsi/gfx10: implement NGG culling for 4x wave32 subgroups

  • ac: add helper ac_build_triangle_strip_indices_to_triangle

  • radeonsi/gfx10: rewrite late alloc computation

  • radeonsi/gfx10: enable GS fast launch for triangles and strips with NGG culling

  • radeonsi: use ctx->ac. for types and integer constants

  • radeonsi: move non-LLVM code out of si_shader_llvm.c

  • radeonsi: move VS shader code into si_shader_llvm_vs.c

  • radeonsi: move si_shader_llvm_build.c content into si_shader_llvm.c

  • radeonsi: minor cleanup in si_shader_internal.h

  • radeonsi: move si_nir_build_llvm into si_shader_llvm.c

  • radeonsi: fold si_shader_context_set_ir into si_build_main_function

  • radeonsi: move more LLVM functions into si_shader_llvm.c

  • radeonsi: make si_compile_llvm return bool

  • radeonsi: make si_compile_shader return bool

  • radeonsi: change prototypes of si_is_multi_part_shader & si_is_merged_shader

  • radeonsi: separate LLVM compilation from non-LLVM code

  • util/simple_mtx: add a missing include to get ASSERTED

  • gallium/util: add a cache of live shaders for shader CSO deduplication

  • radeonsi: use the live shader cache

  • radeonsi: restructure si_shader_cache_load_shader

  • radeonsi: print shader cache stats with AMD_DEBUG=cache_stats

  • radeonsi: expose shader cache stats to the HUD

  • radeonsi: make screen available to shader part compilation

  • radeonsi: fix a regression since the addition of si_shader_llvm_vs.c

  • Revert “winsys/amdgpu: Close KMS handles for other DRM file descriptions”

  • Revert “winsys/amdgpu: Re-use amdgpu_screen_winsys when possible”

  • radeonsi: don’t report that multi-plane formats are supported

  • radeonsi: fix the DCC MSAA bug workaround

  • radeonsi: don’t wait for shader compilation to finish when destroying a context

  • etnaviv: Replace bitwise OR with logical OR

  • etnaviv: tgsi: Fix gl_FrontFacing support

  • etnaviv: Report correct number of vertex buffers

  • etnaviv: Do not filter out PIPE_FORMAT_S8_UINT_Z24_UNORM on pre-HALTI2

  • etnaviv: Destroy rsc->pending_ctx set in etna_resource_destroy()

  • Revert “st/mesa: call nir_serialize only once per shader”

  • Revert “st/mesa: keep serialized NIR instead of nir_shader in st_program”

  • iris: separating out common perf code

  • mapi/glapi: Generate sizeof() helpers instead of fixed sizes.

  • mesa/glthread: Implement ARB_multi_bind.

  • drirc: Enable glthread for dolphin/citra/yuzu.

  • etnaviv: update Android build files

  • egl: Implement getImage/putImage on pbuffer swrast.

  • intel/compiler: Use ARRAY_SIZE()

  • intel/compiler: Extract GEN_* macros into separate file

  • intel/compiler: Split has_64bit_types into float/int

  • intel/compiler: Don’t disassemble align1 3-src operands on Gen < 10

  • intel/compiler: Limit compaction unit tests to specific gens

  • intel/compiler: Add NF some more places

  • intel/compiler: Add a INVALID_{,HW_}REG_TYPE macros

  • intel/compiler: Split hw_type tables

  • intel/compiler: Handle invalid inputs to brw_reg_type_to_*()

  • intel/compiler: Handle invalid compacted immediates

  • intel/compiler: Factor out brw_validate_instruction()

  • intel/compiler: Validate some instruction word encodings

  • intel/compiler: Add unit tests for new EU validation checks

  • intel/compiler: Validate fuzzed instructions

  • intel/compiler: Test compaction on Gen <= 12

  • gitlab-ci: Skip ext_timer_query/time-elapsed

  • intel/compiler: Move Gen4/5 rounding to visitor

  • util: Explain BITSET_FOREACH_SET params

  • util: Remove tmp argument from BITSET_FOREACH_SET macro

  • android: aco: fix Lower to CSSA

  • android: radeonsi: fix build error due to wrong u_format.csv file path

  • android: util/format: fix include path list

  • android: radeonsi: fix build after vl refactoring (v2)

  • android: nir: add a load/store vectorization pass

  • android: util: Add a mapping from VkFormat to PIPE_FORMAT.

  • android: radv: fix vk_format_table.c generated source build

  • android: radeonsi,ac: fix building error due to ac changes

  • android: radv: build radv_shader_args.c

  • gitlab-ci: Set arm job CCACHE_DIR properly

  • gitlab-ci: Use separate arm64 build/test docker images

  • gitlab-ci: Don’t build libdrm for ARM

  • gitlab-ci: Use ninja -j4 for building dEQP

  • gitlab-ci: Move artifact preparation to separate script

  • gitlab-ci: Share dEQP build process between x86 & ARM test image scripts

  • gitlab-ci: Sort packages in debian-install.sh

  • gitlab-ci: Run piglit tests with llvmpipe

  • gitlab-ci: Use separate docker images for x86 build/test jobs

  • gitlab-ci: Delete install/bin from artifacts as well

  • gitlab-ci: Document that ci-templates refs must be in sync

  • gitlab-ci: Use functional container job names

  • gitlab-ci: Rename container install scripts to match job names (better)

  • gitlab-ci: Organize images using new REPO_SUFFIX templates feature

  • gitlab-ci: Directly use host-mapped directory for ccache

  • gitlab-ci: Stop reporting piglit test results via JUnit

  • gitlab-ci: Stop storing piglit test results as JUnit

  • gitlab-ci: Put HTML summary in artifacts for failed piglit jobs

  • gitlab-ci: Update to current ci-templates master

  • gitlab-ci: Run piglit glslparser & quick_shader tests separately

  • glsl/tests: Use splitlines() instead of strip()

  • gitlab-ci: Use the common run policy for LAVA jobs as well again

  • gitlab-ci: Overhaul job run policy

  • gitlab-ci: Don’t exclude any piglit quick_shader tests

  • gitlab-ci: Test against LLVM / clang 9 on x86

  • gitlab-ci: Stop using manual jobs for merge requests

  • gitlab-ci: Set GIT_STRATEGY to none for the dummy job

  • gitlab-ci: Use single if for manual job rules entry

  • winsys/amdgpu: Keep a list of amdgpu_screen_winsyses in amdgpu_winsys

  • winsys/amdgpu: Keep track of retrieved KMS handles using hash tables

  • winsys/amdgpu: Only re-export KMS handles for different DRM FDs

  • util: Add os_same_file_description helper

  • winsys/amdgpu: Re-use amdgpu_screen_winsys when possible

  • winsys/amdgpu: Close KMS handles for other DRM file descriptions

  • winsys/amdgpu: Re-use amdgpu_screen_winsys when possible

  • winsys/amdgpu: Close KMS handles for other DRM file descriptions

  • Meson: Check for dladdr with MinGW

  • disk_cache_get_function_timestamp: check for dladdr

  • Meson: Add llvm>=9 modules

  • i965: Ensure that all 2101010 image imports can pass framebuffer completeness.

  • gallium/dri2: Fix creation of multi-planar modifier images

  • gallium: Store the image format in winsys_handle

  • iris: Fix import of multi-planar surfaces with modifiers

  • egl/android: Restrict minimum triple buffering for android color_buffers

  • llvmpipe: Check thread creation errors

  • st/mesa: release tgsi tokens for shader states

  • svga: fix size of format_conversion_table[]

  • svga: Use pipe_shader_state_from_tgsi to set shader state

  • Add support for T820 CI Jobs

  • ci: Remove T820 from CI temporarily

  • gitlab-ci/lava: add pipeline information in the lava job name

  • nir/opcodes: Add a helper function to generate the comparison binops

  • nir/opcodes: Add a helper function to generate reduce opcodes

  • nir: Add a 16-bit bool type

  • nir: Add a 8-bit bool type

  • nir/lower_alu_to_scalar: Support lowering 8- and 16-bit reduce ops

  • freedreno/ir3: Support 16-bit comparison instructions

  • freedreno/ir3: Add implementation of nir_op_b16csel

  • freedreno/ir3: Implement f2b16 and i2b16

  • freedreno/ir3: Enabling lowering 16-bit flrp

  • kmsro: Extend to include ingenic-drm

  • u_vbuf: Mark vbufs incompatible if more were requested than HW supports

  • u_vbuf: Only create driver CSO if no incompatible elements

  • u_vbuf: Regard non-constant vbufs with non-instance elements as free

  • u_vbuf: Return true in u_vbuf_get_caps if nb of vbufs is below minimum

  • state_tracker: Handle texture view min level in st_generate_mipmap()

  • intel/compiler: remove the operand restriction for src1 on GLK

  • intel/compiler: fix nir_op_{i,u}*32 on ICL

  • radeonsi: make si_fence_server_signal flush pipe without work

  • svga: check return value of define_query_vgpu{9,10}

  • compiler/spirv: Fix uses of gnu struct = {} extension

  • include/CL: Update OpenCL headers to latest

  • clover: Use the dispatch table type from the OpenCL headers

  • clover/meson: Define OpenCL header macros

  • radeonsi: tell the shader disk cache what IR is used

  • mesa: enable msaa in clear_with_quad if needed

  • mesa: pass vao as a function paramter

  • mesa: add EXT_dsa glVertexArray* functions declarations

  • mesa: rework _mesa_lookup_vao_err to allow usage from EXT_dsa

  • mesa: add vao/vbo lookup helper for EXT_dsa

  • mesa: add EXT_dsa glVertexArray* functions implementation

  • mesa: add gl_vertex_array_object parameter to client state helpers

  • mesa: add EXT_dsa glEnableVertexArrayEXT / glDisableVertexArrayEXT

  • mesa: add EXT_dsa EnableVertexArrayAttribEXT / DisableVertexArrayAttribEXT

  • mesa: extract helper function from _mesa_GetPointerv

  • mesa: add EXT_dsa glGetVertexArray* 4 functions

  • mesa: fix call to _mesa_lookup_vao_err

  • radeonsi: fix shader disk cache key

  • radeonsi: enable mesa_glthread for GfxBench

  • mesa: update features.txt to reflect EXT_dsa status

  • mesa: add ARB_framebuffer_no_attachments named functions

  • mesa: add ARB_vertex_attrib_64bit VertexArrayVertexAttribLOffsetEXT

  • mesa: add ARB_clear_buffer_object named functions

  • mesa: add ARB_gpu_shader_fp64 selector-less functions

  • mesa: add ARB_instanced_arrays EXT_dsa function

  • mesa: add ARB_texture_buffer_range glTextureBufferRangeEXT function

  • mesa: implement ARB_texture_storage_multisample + EXT_dsa functions

  • mesa: extend vertex_array_attrib_format to support EXT_dsa

  • mesa: add ARB_vertex_attrib_binding glVertexArray* functions

  • mesa: add ARB_sparse_buffer NamedBufferPageCommitmentEXT function

  • mesa: enable EXT_direct_state_access

  • mesa: fix warning in 32 bits build

  • radeonsi: implement sdma for GFX9

  • radeonsi: display cs blit count for AMD_DEBUG=testdma

  • radeonsi: use gfx9.surf_offset to compute texture offset

  • radeonsi: fix multi plane buffers creation

  • radeonsi: dcc dirty flag

  • st/mesa: add a notify_before_flush callback param to flush

  • st/dri: use st->flush callback to flush the backbuffer

  • radeonsi: disable dcc for 2x MSAA surface and bpe < 4

  • gallium: refuse to create buffers larger than UINT32_MAX

  • radeon/vcn2: enable rate control for hevc encoding

  • radeonsi: check ctx->sdma_cs before using it

  • radeonsi: release saved resources in si_retile_dcc

  • radeonsi: release saved resources in si_compute_expand_fmask

  • radeonsi: release saved resources in si_compute_clear_render_target

  • radeonsi: release saved resources in si_compute_copy_image

  • radeonsi: release saved resources in si_compute_clear_12bytes_buffer

  • radeonsi: release saved resources in si_compute_do_clear_or_copy

  • radeonsi: fix fmask expand compute shader

  • radeonsi: make sure fmask expand is done if needed

  • radeonsi: unbind image before compute clear

  • radeonsi: drop the negation from fmask_is_not_identity

  • util: call bind_sampler_states before setting sampler_views

  • radeonsi: move AMD_DEBUG tests to AMD_TEST

  • docs: document AMD_DEBUG variable

  • radeonsi: stop using the VM_ALWAYS_VALID flag

  • radeonsi/ngg: add VGT_FLUSH when enabling fast launch

  • Meson: Remove lib prefix from graw and osmesa when building with Mingw. Also remove version sufix from osmesa swrast on Windows.

  • Appveyor: Quickly fix meson build. As this required use of Python 3.8, mako module also had to be updated.

  • lima: sync lima_drm.h with kernel

  • lima: create heap buffer with new interface if available

  • lima: add noheap debug option

  • intel/isl: Add MOCS settings to isl_device.

  • anv: Use mocs settings from isl_dev.

  • iris: Use mocs from isl_dev.

  • intel: Add workaround for stencil state.

  • intel/genxml: Add 3DSTATE_CONSTANT_ALL packet.

  • intel/aubinator: Decode 3DSTATE_CONSTANT_ALL.

  • intel/blorp: Use 3DSTATE_CONSTANT_ALL to setup push constants.

  • iris: Rework push constants emitting code.

  • iris: Use 3DSTATE_CONSTANT_ALL when possible.

  • anv: Move gen8+ push constant packet workaround.

  • anv: Add get_push_range_address() helper.

  • anv: Move code for emitting push constants into its own function.

  • anv: Use 3DSTATE_CONSTANT_ALL when possible.

  • iris: Add restriction to 3DSTATE_CONSTANT_ packets.

  • util/os_socket: Add socket related functions.

  • vulkan/overlay: Add a control socket.

  • vulkan/overlay: Add support for a control socket.

  • vulkan/overlay: Add a command to start capturing data to a file.

  • vulkan/overlay: Add basic overlay control script.

  • vulkan/overlay: Update docs.

  • iris: Implement WA for push constants.

  • utils/os_socket: Define ssize_t on windows.

  • intel: Load the driver even if I915_PARAM_REVISION is not found.

  • radv: adjust loop unrolling heuristics for int64

  • aco: add Instruction::usesModifiers() and add more checks in the optimizer

  • radv: fix radv_nir_get_max_workgroup_size when nir=NULL

  • aco: use DPP instead of exec modification when lowering GFX10 shuffles

  • aco: fix shuffle with uniform operands

  • nir/divergence: improve DA of shuffle

  • aco: fix read_invocation with VGPR lane index

  • aco: don’t propagate vgprs into v_readlane/v_writelane

  • aco: combine read_invocation and shuffle implementations

  • radv: enable FP16/FP64 denormals earlier and only for LLVM

  • aco: don’t combine literals into v_cndmask_b32/v_subb/v_addc

  • aco: fix 64-bit fsign with 0

  • aco: implement VK_KHR_shader_float_controls

  • aco: refactor reduction lowering helpers

  • aco: implement 64-bit integer reductions

  • radv/aco: enable VK_KHR_shader_subgroup_extended_types

  • nir: make nir_variable::{num_members,num_state_slots} a uint16_t

  • nir: add nir_variable::index and nir_index_vars

  • nir/large_constants: use nir_index_vars and nir_variable::index

  • docs: update features.txt for RADV

  • aco: improve waitcnt insertion around loops

  • aco: fix copy+paste error

  • aco: fix waitcnts for barriers at block ends

  • nir: add nir_num_variable_modes and nir_var_mem_push_const

  • radv: set alignment for load_ssbo/store_ssbo in meta shaders

  • nir: add a load/store vectorization pass

  • nir: add load/store vectorizer tests

  • aco: enable load/store vectorizer

  • aco: allow constant offsets for global/scratch instructions on GFX10

  • aco: set dlc/glc correctly for image loads

  • aco: propagate p_wqm on an image_sample’s coordinate p_create_vector

  • aco: fix i2i64

  • aco: fix incorrect cast in parse_wait_instr()

  • aco: add v_nop inbetween exec write and VMEM/DS/FLAT

  • aco: improve WAR hazard workaround with >64bit stores

  • aco: fix GFX10 opcodes for some global/flat atomics

  • aco: fix assembly of FLAT/GLOBAL atomics

  • aco: fix SADDR with FLAT on GFX10

  • aco: don’t enable store_global for helper invocations

  • aco: improve FLAT/GLOBAL scheduling

  • aco: implement global atomics

  • ac/llvm: fix pointer type for global atomics

  • ac/llvm: improve sync scope for global atomics

  • radv: set writes_memory for global memory stores/atomics

  • aco: validate the CFG

  • aco: handle loop exit and IF merge phis with break/discard

  • aco: fix block_kind_discard s_andn2 definition to exec

  • nir/lower_io_to_vector: don’t create arrays when not needed

  • nir/load_store_vectorize: fix combining stores with aliasing loads between

  • aco/wave32: fix comparison optimizations

  • aco: improve jump threading with wave32

  • aco: fix vgpr alloc granule with wave32

  • aco: limit register usage for large work groups

  • aco: set vm for pos0 exports on GFX10

  • aco: fix imageSize()/textureSize() with large buffers on GFX8

  • aco: fix uninitialized data in the binary

  • aco: handle VOP3 modifiers when combining a constant comparison’s NaN test

  • aco: handle omod successors with the constant in the first operand

  • aco: check usesModifiers() when identifying a neg/abs

  • aco: better handle neg/abs of sgprs

  • aco: set exec_potentially_empty for demotes

  • aco: don’t DCE atomics with return values

  • aco: disable add combining for ds_swizzle_b32

  • aco: check if multiplication/clamp is live when applying output modifier

  • nir/divergence: handle load_primitive_id in GS

  • nir/lower_gs_intrinsics: add option for per-stream counts

  • aco: update IR validator

  • aco: apply literals to split mads

  • aco: combine two sgprs into a VALU if they’re the same

  • aco: improve can_use_VOP3()

  • aco: rewrite literal combining

  • aco: rewrite apply_sgprs()

  • aco: add check_vop3_operands()

  • aco: be more careful with literals in combine_salu_{n2,lshl_add}

  • aco: follow through temporary when merging tests into constant comparisons

  • aco: allow applying two sgprs to an instruction

  • aco: allow an extra SGPR with multiple uses to be applied to VOP3

  • aco: take advantage of GFX10’s constant bus limit and VOP3 literals

  • aco: improve creation of v_madmk_f32/v_madak_f32

  • aco: fix clamp optimization

  • aco: improve clamp optimization

  • aco: add min(-max(), ) and max(-min(), ) optimization

  • aco: don’t move literal to reg when making an instruction VOP3 on GFX10

  • aco: allow input modifiers on v_cndmask_b32

  • aco: replace extract_vector with copies

  • aco: improve readfirstlane after uniform LDS loads

  • aco: add integer min/max to can_swap_operands

  • nir/sink,nir/move: move/sink load_per_vertex_input

  • nir/sink,nir/move: move/sink nir_op_mov

  • nir/algebraic: a & ~(a >> 31) -> imax(a, 0)

  • aco: fix stack buffer overflow in apply_sgprs()

  • aco: fix fall-through test in try_remove_simple_block() with back-edges

  • aco: fix operand kill flags when a temporary is used more than once

  • aco: fix off-by-one error when initializing sgpr_live_in

  • radv: move gs copy shader creation before other variants

  • aco: improve support for s_sendmsg

  • radv/aco,aco: implement GS on GFX9+

  • aco: implement GS on GFX7-8

  • radv/aco: allow ACO for GS

  • aco: explicitly mark end blocks for exports

  • aco: remove needs_instance_id

  • aco: implement GS copy shaders

  • radv/aco: use ACO for GS copy shaders

  • aco: use nir_move_copies

  • aco: fix WaR check for >64-bit FLAT/GLOBAL instructions

  • aco: fix operand to scc when selecting SGPR ufind_msb/ifind_msb

  • aco: always add sgprs to sgpr_ids when choosing literals

  • aco: fix literal application with v_cndmask_b32/v_addc_co_u32/etc

  • amd/common,radv: move vertex_format_table to ac_shader_util.{h,c}

  • aco: rework vertex fetching a bit

  • aco: skip unused channels at the start when fetching vertices

  • aco: handle unaligned vertex fetch on GFX10

  • aco: value-number MUBUF instructions

  • aco: use MUBUF in some situations instead of splitting vertex fetches

  • aco: fix rebase error from GS copy shader support

  • aco: ensure predecessors’ p_logical_end is in WQM when a p_phi is in WQM

  • aco: run p_wqm instructions in WQM

  • nir/algebraic: add patterns for a >> #b << #b

  • nir/algebraic: add some half packing optimizations

  • aco: fix target calculation when vgpr spilling introduces sgpr spilling

  • aco: don’t consider loop header blocks branch blocks in add_coupling_code

  • aco: don’t update demand in add_coupling_code() for loop headers

  • aco: only create parallelcopy to restore exec at loop exit if needed

  • aco: don’t always add logical edges from continue_break blocks to headers

  • aco: error when block has no logical preds but VGPRs are live at the start

  • aco: set exec_potentially_empty after continues/breaks in nested IFs

  • aco: improve assertion at the end of spiller

  • aco: fill reg_demand with sensible information in add_coupling_code()

  • aco: parallelcopy exec mask before s_wqm

  • aco: fix exec mask consistency issues

  • aco: fix gfx10_wave64_bpermute

  • anv: Unify GetDeviceQueue and GetDeviceQueue2

  • freedreno/ir3: split pre-coloring to it’s own function

  • freedreno/ir3: use SSA flag on dest register too

  • freedreno/ir3: ir3_print tweaks

  • freedreno/ir3/ra: move regs_count==0 check

  • freedreno/ir3/ra: remove ir print after livein/out

  • freedreno/ir3: remove obsolete comment

  • freedreno/a3xx: fix SP_FS_MRT_REG.HALF_PRECISION

  • freedreno/a4xx: fix SP_FS_MRT_REG.HALF_PRECISION

  • freedreno/ir3: sync disasm changes from envytools

  • freedreno/ir3: also track # of nops for shader-db

  • freedreno: fix eglDupNativeFenceFD error

  • freedreno/ir3: fix valgrind complaint with STLW

  • freedreno/ir3: remove half-precision output

  • freedreno/ir3: rename fanin/fanout to collect/split

  • freedreno/ir3: remove impossible condition

  • freedreno/ir3: add input/output iterators

  • freedreno/ir3: show input/output wrmask’s in disasm

  • freedreno/ir3: helper to print ir if debug enabled

  • freedreno/ir3: remove first-vertex sysval

  • freedreno/ir3: simplify creating sysval inputs

  • freedreno/ir3: re-work shader inputs/outputs

  • freedreno/ir3: only tex instructions have wrmask

  • freedreno/ir3: fix gpu hang with pre-fs-tex-fetch

  • freedreno/ir3: legalize cleanups

  • freedreno/ir3: remove unused parameter

  • freedreno/perfcntrs: small cleanup

  • freedreno/perfcntrs: remove gallium dependencies

  • freedreno/perfcntrs: move to shared location

  • freedreno/perfcntrs: add accessor to get per-gen tables

  • freedreno/perfctrs/a2xx: move CP to be first group

  • freedreno/perfcntrs/a6xx: remove RBBM counters

  • freedreno/perfcntrs: add fdperf

  • freedreno/perfctrs/fdperf: periodically restore counters

  • gitlab-ci: update deqp build so we can generate xml

  • gitlab-ci/deqp: preserve full list of unexpected results

  • gitlab-ci/deqp: preserve caselists for blocks with fails

  • gitlab-ci/deqp: detect and report flakes

  • gitlab-ci: bump arm test container

  • gitlab-ci/deqp: generate xml results for fails/flakes

  • gitlab-ci/deqp: generate junit results

  • gitlab-ci/freedreno/a6xx: remove most of the flakes

  • freedreno: use rsc->slice accessor everywhere

  • freedreno: switch to layout helper

  • gitlab-ci: disable junit results for deqp

  • freedreno/ir3: remove store_output lowered to store_shared_ir3

  • freedreno/ir3: fix neverball assert in case of unused VS inputs

  • nir/lower_clip: Fix incorrect driver loc for clipdist outputs

  • freedreno/fdperf: use drmOpen()

  • freedreno/a6xx: disable LRZ when blending

  • freedreno/a5xx+a6xx: split LRZ layout to per-gen

  • freedreno/a6xx: fix LRZ layout

  • freedreno/a6xx: fix LRZ logic

  • freedreno/a6xx: enable LRZ by default

  • spirv: add OpLifetime*

  • freedreno/ir3: add last-baryf shaderdb stat

  • freedreno/ir3: add scheduler traces

  • freedreno/ir3: add iterator macros

  • freedreno/a6xx: fix OUT_REG() vs growable cmdstream

  • nir+vtn: vec8+vec16 support

  • freedreno/ir3: fix flat shading again

  • nir: assert that nir_lower_tex runs after lowering derefs

  • mesa/st: lower samplers before nir_lower_tex

  • freedreno/ir3: rename instructions

  • gitlab-ci: fix missing caselist.css/xsl

  • freedreno/a6xx: limit scratch/debug markers to debug builds

  • freedreno/a6xx: cleanup rasterizer state

  • freedreno/a6xx: separate rast stateobj for prim restart

  • freedreno/a6xx: drop a few more per-draw registers

  • freedreno/a6xx: move dynamic program state to streaming stateobj

  • freedreno/a6xx: add PROG_FB_RAST stateobj

  • freedreno/drm: fix invalid-cmdstream-size with older kernels

  • freedreno: use PIPE_CAP_RGB_OVERRIDE_DST_ALPHA_BLEND

  • mesa/st: random whitespace cleanup

  • freedreno/a6xx: remove special handling based on MRT format

  • freedreno/a6xx: convert blend state to stateobj

  • freedreno: extract vsc pipe bo from GMEM state

  • freedreno: consolidate GMEM state

  • freedreno: constify fd_tile

  • freedreno: constify fd_vsc_pipe

  • freedreno/a6xx: constify gmem state

  • freedreno/a5xx: constify gmem state

  • freedreno/a4xx: constify gmem state

  • freedreno/a3xx: constify gmem state

  • freedreno/a2xx: constify gmem state

  • freedreno: get GMEM state from batch

  • freedreno: add gmem state cache

  • freedreno: add gmem_lock

  • freedreno: remove flush-queue

  • freedreno: allow ctx->batch to be NULL

  • nir: Build nir_lower_point_size.c in libmesa_nir

  • android: Add panfrost support to build scripts

  • android: Fix u_format_table.c being generated twice

  • panfrost: Prefix schedule_program to prevent collision

  • android: Fix whitespace issue

  • gitlab-ci: Use lavacli from packages

  • gallium/scons: fix graw_gdi build

  • util/atomic: Fix p_atomic_add for unlocked and msvc paths

  • winsys/svga: use new ioctl for logging

  • Android: Fix build issue without LLVM

  • panfrost: Fix Android build

  • intel: limit shader geometry on BDW GT1

  • intel/compiler: Clear accumulator register before EOT

  • main: fix coverity error in _mesa_program_resource_find_name()

  • radv: declare NGG scratch for VS or TES and only on GFX10

  • radv: fix compute pipeline keys when optimizations are disabled

  • docs: document all RADV environment variables

  • radv: add a note about perftest/debug options

  • radv: fix 32-bit compiler warnings

  • nir: fix packing of nir_variable

  • radv/gfx10: enable wave32 for compute based on shader’s wavesize

  • radv: hardcode the number of waves for the GFX6 LS-HS bug

  • radv: determine shaders wavesize at pipeline level

  • radv: rely on shader’s wavesize when computing NGG info

  • radv: implement VK_EXT_subgroup_size_control

  • radv/gfx10: fix primitive indices orientation for NGG GS

  • ac: handle pointer types to LDS in ac_get_elem_bits()

  • gitlab-ci: build a specific libdrm version for ARM64

  • gitlab-ci: build RADV on ARM64

  • ac: fix build with recent LLVM

  • radv: remove useless RADV_DEBUG=unsafemath debug option

  • radv: make sure to not clear the ds attachment after resolves

  • ac: add radeon_info::has_l2_uncached

  • radv: implement VK_AMD_device_coherent_memory

  • spirv: fix lowering of OpGroupNonUniformAllEqual

  • ac: remove useless cast in ac_build_set_inactive()

  • ac: add 8-bit and 16-bit supports to ac_build_shuffle()

  • ac: add 8-bit and 16-bit supports to ac_build_readlane()

  • ac: add 8-bit and 16-bit supports to ac_build_set_inactive()

  • ac: add 8-bit and 16-bit supports to ac_build_dpp()

  • ac: add 8-bit and 16-bit supports to ac_build_swizzle()

  • ac: add 8-bit and 16-bit supports to get_reduction_identity()

  • ac: add 8-bit and 16-bit supports to ac_build_wwm()

  • ac: add 8-bit and 16-bit supports to ac_build_optimization_barrier()

  • ac: add 16-bit float support to ac_build_alu_op()

  • radv: advertise VK_KHR_shader_subgroup_extended_types on GFX8-GFX9

  • radv: enable VK_KHR_shader_subgroup_extended_types on GFX6-GFX7

  • docs: add missing new features for RADV

  • pipe-loader: check that the pointer to driconf_xml isn’t NULL

  • gitlab-ci: move building piglit into a separate script

  • gitlab-ci: fix ldd check for Vulkan drivers

  • gitlab-ci: add a job that only build things needed for testing

  • gitlab-ci: do not build with debugoptimized for meson-main

  • gitlab-ci: build swr in meson-main

  • gitlab-ci: build GLVND in meson-clang

  • gitlab-ci: remove now useless meson-swr-glvnd build job

  • gitlab-ci: reduce the number of scons build

  • radv: disable subgroup shuffle operations on GFX10

  • ac/llvm: fix the local invocation index for wave32

  • meson: only build imgui when needed

  • radv: set the image view aspect mask during subpass transitions

  • radv: set the image view aspect mask before resolves

  • radv: rework creation of decompress/resummarize meta pipelines

  • radv: create decompress pipelines for separate depth/stencil layouts

  • radv: select the depth decompress path based on the aspect mask

  • ac/llvm: fix warning in ac_build_canonicalize()

  • radv: fix reporting subgroup size with VK_KHR_pipeline_executable_properties

  • radv: fix enabling sample shading with SampleID/SamplePosition

  • radv/gfx10: fix implementation of exclusive scans

  • ac: add 8-bit and 16-bit supports to ac_build_permlane16()

  • radv: enable VK_KHR_shader_subgroup_extended_types on GFX10

  • ac/llvm: convert src operands to pointers if necessary

  • radv: add more constants to avoid using magic numbers

  • radv,ac/nir: lower deref operations for shared memory

  • aco: drop useless lowering of deref operations for shared memory

  • ac/llvm: fix atomic var operations if source isn’t a deref

  • radv: remove dead shader input/output variables

  • radv: simplify a check in radv_fixup_vertex_input_fetches()

  • radv/gfx10: fix the vertex order for triangle strips emitted by a GS

  • gitlab-ci: rename build-deqp.sh to build-deqp-gl.sh

  • gitlab-ci: add a gl suffix to the x86 test image and all test jobs

  • gitlab-ci: add a new job that builds a base test image for VK

  • gitlab-ci: build cts_runner in the x86 test image for VK

  • gitlab-ci: build dEQP VK 1.1.6 in the x86 test image for VK

  • gitlab-ci: add a new base test job for VK

  • gitlab-ci: allow to run dEQP Vulkan with DEQP_VER

  • gitlab-ci: configure the Vulkan ICD export with VK_DRIVER

  • gitlab-ci: build RADV in meson-testing

  • gitlab-ci: add a job that runs Vulkan CTS with RADV conditionally

  • radv: do not use VK_TRUE/VK_FALSE

  • radv: move emission of two PA_SC_* registers to the pipeline CS

  • radv: fix possibly wrong PA_SC_AA_CONFIG value for conservative rast

  • radv: synchronize after performing a separate depth/stencil fast clears

  • radv: do not init HTILE as compressed state when dst layout allows it

  • radv: initialize HTILE for separate depth/stencil aspects

  • radv: implement VK_KHR_separate_depth_stencil_layouts

  • gitlab-ci: set RADV_DEBUG=checkir for RADV test jobs

  • ac/nir: fix out-of-bound access when loading constants from global

  • radv: enable SpvCapabilityImageMSArray

  • radv: handle unaligned vertex fetches on GFX6/GFX10

  • radv/gfx10: fix ngg_get_ordered_id

  • radv/gfx10: fix the out-of-bounds check for vertex descriptors

  • ac: declare an enum for the OOB select field on GFX10

  • radv: init a default multisample state for the resolve FS path

  • radv: ignore pMultisampleState if rasterization is disabled

  • radv: ignore pTessellationState if the pipeline doesn’t use tess

  • radv: ignore pDepthStencilState if rasterization is disabled

  • radv: tidy up radv_pipeline_init_blend_state()

  • radv: ignore pColorBlendState if rasterization is disabled

  • radv: rely on pipeline layout when creating push descriptors with template

  • radv: return the correct pitch for linear mipmaps on GFX10

  • radv: record number of color/depth samples for each subpass

  • radv: implement VK_AMD_mixed_attachment_samples

  • ac/surface: use uint16_t for mipmap level pitches

  • radv: do not fill keys from fragment shader twice

  • spirv: add SpvCapabilityImageReadWriteLodAMD

  • spirv,nir: add new lod parameter to image_{load,store} intrinsics

  • amd/llvm: handle nir_intrinsic_image_deref_{load,store} with lod

  • aco: handle nir_intrinsic_image_deref_{load,store} with lod

  • radv: advertise VK_AMD_shader_image_load_store_lod

  • radv/gfx10: disable vertex grouping

  • radv/gfx10: determine if a pipeline is eligible for NGG passthrough

  • radv/gfx10: do not declare LDS for NGG if useless

  • radv/gfx10: add support for NGG passthrough mode

  • radv/gfx10: improve performance for TES using PrimID but not exporting it

  • radv: only use VkSamplerCreateInfo::compareOp if enabled

  • radv/gfx10: enable all CUs if NGG is never used

  • radv/gfx10: simplify some duplicated NGG GS code

  • vulkan/overlay: Fix for Vulkan 1.2

  • radv: update VK_EXT_descriptor_indexing for Vulkan 1.2

  • radv: update VK_EXT_host_query_reset for Vulkan 1.2

  • radv: update VK_EXT_sampler_filter_minmax for Vulkan 1.2

  • radv: update VK_EXT_scalar_block_layout for Vulkan 1.2

  • radv: update VK_KHR_8bit_storage for Vulkan 1.2

  • radv: update VK_KHR_buffer_device_address for Vulkan 1.2

  • radv: update VK_KHR_create_renderpass2 for Vulkan 1.2

  • radv: update VK_KHR_depth_stencil_resolve for Vulkan 1.2

  • radv: update VK_KHR_draw_indirect_count for Vulkan 1.2

  • radv: update VK_KHR_driver_properties for Vulkan 1.2

  • radv: update VK_KHR_image_format_list for Vulkan 1.2

  • radv: update VK_KHR_imageless_framebuffer for Vulkan 1.2

  • radv: update VK_KHR_shader_atomic_int64 for Vulkan 1.2

  • radv: update VK_KHR_shader_float16_int8 for Vulkan 1.2

  • radv: update VK_KHR_shader_float_controls for Vulkan 1.2

  • radv: update VK_KHR_shader_subgroup_extended_types for Vulkan 1.2

  • radv: update VK_KHR_uniform_buffer_standard_layout for Vulkan 1.2

  • radv: update VK_KHR_timeline_semaphore for Vulkan 1.2

  • radv: implement Vulkan 1.1 features and properties

  • radv: implement Vulkan 1.2 features and properties

  • radv: enable Vulkan 1.2

  • aco: fix emitting SMEM instructions with no operands on GFX6-GFX7

  • aco: do not select 96-bit/128-bit variants for ds_read/ds_write on GFX6

  • aco: do not combine additions of DS instructions on GFX6

  • aco: implement stream output with vec3 on GFX6

  • aco: fix emitting slc for MUBUF instructions on GFX6-GFX7

  • aco: print assembly with CLRXdisasm for GFX6-GFX7 if found on the system

  • aco: fix constant folding of SMRD instructions on GFX6

  • aco: do not use the vec3 variant for stores on GFX6

  • aco: do not use the vec3 variant for loads on GFX6

  • aco: add new addr64 bit to MUBUF instructions on GFX6-GFX7

  • aco: implement nir_intrinsic_load_barycentric_at_sample on GFX6

  • radv: fix double free corruption in radv_alloc_memory()

  • radv: add explicit external subpass dependencies to meta operations

  • radv: handle missing implicit subpass dependencies

  • spirv: add SpvCapabilityFragmentMaskAMD

  • nir: add two new texture ops for multisample fragment color/mask fetches

  • spirv: add support for SpvOpFragment{Mask}FetchAMD operations

  • nir/lower_input_attachments: lower nir_texop_fragment_{mask}_fetch

  • ac/nir: add support for nir_texop_fragment_{mask}_fetch

  • aco: add support for nir_texop_fragment_{mask}_fetch

  • radv: advertise VK_AMD_shader_fragment_mask

  • aco: fix printing assembly with CLRXdisasm on GFX6

  • aco: fix wrong IR in nir_intrinsic_load_barycentric_at_sample

  • aco: implement nir_intrinsic_store_global on GFX6

  • aco: implement nir_intrinsic_load_global on GFX6

  • aco: implement nir_intrinsic_global_atomic_* on GFX6

  • aco: implement 64-bit nir_op_ftrunc on GFX6

  • aco: implement 64-bit nir_op_fceil on GFX6

  • aco: implement 64-bit nir_op_fround_even on GFX6

  • aco: implement 64-bit nir_op_ffloor on GFX6

  • aco: implement nir_op_f2i64/nir_op_f2u64 on GFX6

  • ac/llvm: fix missing casts in ac_build_readlane()

  • aco: combine MRTZ (depth, stencil, sample mask) exports

  • aco: fix a hardware bug for MRTZ exports on GFX6

  • aco: fix a hazard with v_interp_* and v_{read,readfirst}lane_* on GFX6

  • aco: copy the literal offset of SMEM instructions to a temporary

  • radv: enable ACO support for GFX6

  • radv: print NIR shaders after lowering FS inputs/outputs

  • radv: do not allow sparse resources with multi-planar formats

  • radv: enable VK_AMD_shader_fragment_mask on GFX6-GFX7

  • compiler: add a new explicit interpolation mode

  • spirv: add support for SpvDecorationExplicitInterpAMD

  • compiler: add PERSP to the existing barycentric system values

  • compiler: add new SYSTEM_VALUE_BARYCENTRIC_*

  • spirv: add support for SpvBuiltInBaryCoord*

  • nir: add nir_intrinsic_load_barycentric_model

  • nir: lower SYSTEM_VALUE_BARYCENTRIC_* to nir_load_barycentric()

  • nir: add nir_intrinsic_interp_deref_at_vertex

  • nir: lower interp_deref_at_vertex to load_input_vertex

  • spirv: implement SPV_AMD_shader_explicit_vertex_parameter

  • ac/llvm: implement VK_AMD_shader_explicit_vertex_parameter

  • aco: implement VK_AMD_shader_explicit_vertex_parameter

  • radv: gather which input PS variables use an explicit interpolation mode

  • radv: implement VK_AMD_shader_explicit_vertex_parameter

  • radv: bump conformance version to 1.2.0.0

  • radv: remove the non conformant VK implementation warning on GFX10

  • aco: fix VS input loads with MUBUF on GFX6

  • radv/gfx10: add a separate flag for creating a GDS OA buffer

  • radv/gfx10: implement NGG GS queries

  • radv/gfx10: re-enable NGG GS

  • radv: refactor physical device properties

  • aco: fix MUBUF VS input loads when expanding vec3 to vec4 on GFX6

  • aco: do not use ds_{read,write}2 on GFX6

  • aco: fix waiting for scalar stores before “writing back” data on GFX8-GFX9

  • aco: fix creating v_madak if v_mad_f32 has two sgpr literals

  • nir: do not use De Morgan’s Law rules for flt and fge

  • loader: #define PATH_MAX when undefined (eg. Hurd)

  • util: Do not fail to build on unknown pthread_setname_np

  • meson: Do not require libdrm for DRI2 on hurd

  • radeon/vcn: Handle crop parameters for encoder

  • radeonsi: use compute shader for clear 12-byte buffer

  • kmsro: Add “mcde” entry point

  • nir: fix couple of compile warnings

  • util/android: fix android build errors

  • Revert “egl: implement new functions from EGL_EXT_image_flush_external”

  • Revert “egl: handle EGL_IMAGE_EXTERNAL_FLUSH_EXT”

  • Revert “st/dri: add support for EGL_EXT_image_flush_external”

  • Revert “st/dri: assume external consumers of back buffers can write to the buffers”

  • Revert “dri_interface: add interface for EGL_EXT_image_flush_external”

  • mesa: allow bit queries for EXT_disjoint_timer_query

  • Revert “mesa: allow bit queries for EXT_disjoint_timer_query”

  • mesa: allow bit queries for EXT_disjoint_timer_query

  • gitlab-ci: update Piglit commit, update skips

  • mapi: add GetInteger64vEXT with EXT_disjoint_timer_query

  • glsl: handle max uniform limits with lower_const_arrays_to_uniforms

  • gitlab-ci: bump piglit checkout commit

  • glsl: additional interface redeclaration check for SSO programs

  • intel/compiler: add newline to limit_dispatch_width message

  • intel/compiler: force simd8 when dual src blending on gen8

  • dri: add __DRI_IMAGE_FORMAT_SXRGB8

  • i965: expose MESA_FORMAT_B8G8R8X8_SRGB visual

  • mesa/st/i965: add a ProgramResourceHash for quicker resource lookup

  • mesa: create program resource hash in a single place

  • iris: set depth stall enabled when depth flush enabled on gen12

  • anv: set depth stall enabled when depth flush enabled on gen12

  • isl/gen12: add reminder comment about missing WA with 3D surfaces

  • anv: fix assert in GetImageDrmFormatModifierPropertiesEXT

  • anv: add assert for isl_mod_info in choose_isl_tiling_flags

  • anv: initialize clear_color_is_zero_one

  • egl/android: fix buffer_count for applications setting max count

  • anv/android: setup gralloc1 usage from gralloc0 usage manually

  • anv/android: make format_supported_with_usage static

  • intel/vec4: fix valgrind errors with vf_values array

  • glsl: fix a memory leak with resource_set

  • iris: fix aux buf map failure in 32bits app on Android

  • winsys/svga: Enable transhuge pages for buffer objects

  • svga: Avoid discard DMA uploads

  • gallium/util: Increase the debug_flush map depth

  • svga: Fix banded DMA upload

  • st/va: Convert interlaced NV12 to progressive

  • util/format: Add the P010 format used for 10-bit videos

  • gallium: Add PIPE_FORMAT_P010 support

  • st/va: Add support for P010, used for 10-bit videos

  • radeon: Use P010 for decoding of 10-bit videos

  • r600: Remove HEVC related code since HEVC is not supported

  • mesa: Prevent _MaxLevel from being less than zero

  • Revert “st/va: Convert interlaced NV12 to progressive”

  • glsl: just use NIR to lower outputs when driver can’t read outputs

  • glsl: disable lower_fragdata_array() for NIR drivers

  • mesa: add ARB_shading_language_include stubs

  • glsl: add infrastructure for ARB_shading_language_include

  • mesa: add ARB_shading_language_include infrastructure to gl_shared_state

  • mesa: add helper to validate tokenise shader include path

  • mesa: add _mesa_lookup_shader_include() helper

  • mesa: add copy_string() helper

  • mesa: add glNamedStringARB() support

  • mesa: implement glGetNamedStringARB()

  • mesa: make error checking optional in _mesa_lookup_shader_include()

  • mesa: implement glIsNamedStringARB()

  • mesa: implement glGetNamedStringivARB()

  • mesa: split _mesa_lookup_shader_include() in two

  • mesa: implement glDeleteNamedStringARB()

  • glsl: add ARB_shading_language_include support to #line

  • glsl: pass gl_context to glcpp_parser_create()

  • glsl: add preprocessor #include support

  • glsl: error if #include used while extension is disabled

  • glsl: add can_skip_compile() helper

  • glsl: delay compilation skip if shader contains an include

  • mesa: add support cursor support for relative path shader includes

  • mesa: add shader include lookup support for relative paths

  • mesa: implement glCompileShaderIncludeARB()

  • mesa: enable ARB_shading_language_include

  • gitlab-ci: bump piglit checkout commit

  • gitlab-ci: update for arb_shading_language_include

  • compiler: move build definition of pp_standalone_scaffolding.c

  • radv: add some infrastructure for fresh forks for each secure compile

  • radv: add a secure_compile_open_fifo_fds() helper

  • radv: create a fresh fork for each pipeline compile

  • docs: update source code repository documentation

  • glsl: move calculate_array_size_and_stride() to link_uniforms.cpp

  • glsl: don’t set uniform block as used when its not

  • glsl: make use of active_shader_mask when building resource list

  • glsl/nir: iterate the system values list when adding varyings

  • docs: remove mailing list as way of submitting patches

  • glsl: move nir_remap_dual_slot_attributes() call out of glsl_to_nir()

  • glsl: copy the how_declared field when converting to nir

  • nir: add some fields to nir_variable_data

  • glsl: copy the new data fields when converting to nir

  • glsl: add support for named varyings in nir_build_program_resource_list()

  • glsl: add subroutine support to nir_build_program_resource_list()

  • st/glsl_to_nir: call gl_nir_lower_buffers() a little later

  • st/glsl_to_nir: use nir based program resource list builder

  • st/glsl_to_nir: fix SSO validation regression

  • glsl: rename gl_nir_link() to gl_nir_link_spirv()

  • glsl: add gl_nir_link_check_atomic_counter_resources()

  • glsl: add new gl_nir_link_glsl() helper

  • glsl: reorder link_and_validate_uniforms() calls

  • mesa: add new UseNIRGLSLLinker constant

  • glsl: use nir linker to link atomics

  • glsl: add check_image_resources() for the nir linker

  • glsl: use nir version of check_image_resources() for nir linker

  • glsl: move check_subroutine_resources() into the shared util code

  • glsl: call check_subroutine_resources() from the nir linker

  • glsl: move uniform resource checks into the common linker code

  • glsl: call uniform resource checks from the nir linker

  • glsl: move calculate_subroutine_compat() to shared linker code

  • glsl: call calculate_subroutine_compat() from the nir linker

  • glsl: fix potential bug in nir uniform linker

  • glsl: remove bogus assert in nir uniform linking

  • glsl: fix check for matrices in blocks when using nir uniform linker

  • glsl: count uniform components and storage better in nir linking

  • glsl_to_nir: update interface type properly

  • glsl: fix gl_nir_set_uniform_initializers() for image arrays

  • ac: Handle invalid GFX10 format correctly in ac_get_tbuffer_format.

  • aco: Make sure not to mistakenly propagate 64-bit constants.

  • aco: Treat all booleans as per-lane.

  • aco: Optimize out trivial code from uniform bools.

  • aco: Fix operand of s_bcnt1_i32_b64 in emit_boolean_reduce.

  • aco: Remove superfluous argument from emit_boolean_logic.

  • aco: Remove lower_linear_bool_phi, it is not needed anymore.

  • aco: Optimize load_subgroup_id to one bit field extract instruction.

  • aco/wave32: Change uniform bool optimization to work with wave32.

  • aco/wave32: Replace hardcoded numbers in spiller with wave size.

  • aco/wave32: Introduce emit_mbcnt which takes wave size into account.

  • aco/wave32: Add wave size specific opcodes to aco_builder.

  • aco/wave32: Use lane mask regclass for exec/vcc.

  • aco/wave32: Fix load_local_invocation_index to support wave32.

  • aco/wave32: Use wave_size for barrier intrinsic.

  • aco/wave32: Allow setting the subgroup ballot size to 64-bit.

  • aco/wave32: Fix reductions.

  • aco: Fix uniform i2i64.

  • ac/llvm: Fix ac_build_reduce in wave32 mode.

  • aco/wave32: Set the definitions of v_cmp instructions to the lane mask.

  • aco: Implement 64-bit constant propagation.

  • aco: Allow optimizing vote_all and nir_op_iand.

  • aco: Don’t skip combine_instruction when definitions[1] is used.

  • aco: Optimize out s_and with exec, when used on uniform bitwise values.

  • aco: Flip s_cbranch / s_cselect to optimize out an s_not if possible.

  • nouveau/nvc0: add extern keyword to nvc0_miptree_vtbl.

  • intel/compiler: Fix array bounds warning on GCC 10.

  • radeon: Move si_get_pic_param to radeon_vce.c

  • r600: Move get_pic_param to radeon_vce.c

  • gallium: Fix a couple of multiple definition warnings.

  • radeon: Fix multiple definition error with radeon_debug

  • aco: Fix -Wstringop-overflow warnings in aco_span.

  • aco: Fix maybe-uninitialized warnings.

  • aco: Fix signedness compare warning.

  • aco: Make a better guess at which instructions need the VCC hint.

  • aco: Transform uniform bitwise instructions to 32-bit if possible.

  • aco/gfx10: Fix VcmpxExecWARHazard mitigation.

  • aco: Fix the meaning of is_atomic.

  • aco/optimizer: Don’t combine uniform bool s_and to s_andn2.

  • gallium/swr: Fix arb_transform_feedback2

  • gitlab-ci: Disable lima jobs

  • gitlab-ci: Run only LAVA jobs in special-named branches

  • panfrost: Add checksum fields to SFBD descriptor

  • panfrost: Set 0x10 bit on mali_shader_meta.unknown2_4 on T720

  • panfrost: Rework format encoding on SFBD

  • panfrost: Take into account texture layers in SFBD

  • panfrost: Decode blend shaders for SFBD

  • panfrost: Generate polygon list manually for SFBD

  • panfrost: Print the right zero field

  • panfrost: Pipe the GPU ID into compiler and disassembler

  • panfrost: Set depth and stencil for SFBD based on the format

  • panfrost: Multiply offset_units by 2

  • panfrost: Make sure the shader descriptor is in sync with the GL state

  • gitlab-ci: Remove limit on kernel logging

  • panfrost: Just print tiler fields as-is for Tx20

  • panfrost: Rework buffers in SFBD

  • gitlab-ci: Fix dir name for VK-GL-CTS sources

  • panfrost: Don’t print the midgard_blend_rt structs on SFBD

  • panfrost: Add quirks system to cmdstream

  • panfrost: Simplify shader patching

  • panfrost: White list the Mali T720

  • gitlab-ci: Test Panfrost on T720 GPUs

  • panfrost: Add PAN_MESA_DEBUG=sync

  • panfrost: Hold a reference to sampler views

  • pan/midgard: Remove undefined behavior

  • nir: Don’t copy empty array

  • util: Don’t access members of NULL pointers

  • panfrost: Don’t lose bits!

  • st/mesa: Don’t access members of NULL pointers

  • panfrost: Handle Z24_UNORM_S8_UINT as MALI_Z32_UNORM

  • panfrost: Increase PIPE_SHADER_CAP_MAX_OUTPUTS to 16

  • panfrost: Dynamically allocate array of texture pointers

  • panfrost: Map with size of first layer for 3D textures

  • panfrost: Store internal format

  • gitlab-ci: Update kernel for LAVA to 5.5-rc1 plus fixes

  • gitlab-ci: Switch LAVA jobs to use shared dEQP runner

  • gitlab-ci: Upgrade kernel for LAVA jobs to v5.5-rc5

  • gitlab-ci: Consolidate container and build stages for LAVA

  • panfrost: free last_read/write tables in mir_create_dependency_graph

  • panfrost: free allocations in schedule_block

  • panfrost: add lcra_free() to free lcra state

  • panfrost: free spill cost table in mir_spill_register

  • lima: add debug prints for BO cache

  • lima: align size before trying to fetch BO from cache

  • lima: ignore flags while looking for BO in cache

  • lima: set dithering flag when necessary

  • lima: add support for gl_PointSize

  • lima: enable tiling

  • lima: handle DRM_FORMAT_MOD_INVALID in resource_from_handle()

  • lima: expose tiled format modifier in query_dmabuf_modifiers()

  • lima: use single BO for GP outputs

  • lima: drop suballocator

  • lima: fix allocation of GP outputs storage for indexed draw

  • lima: postpone PP stream generation

  • lima: don’t reload and redraw tiles that were not updated

  • lima: fix PP stream terminator size

  • lima: use linear layout for shared buffers if modifier is not specified

  • lima: add debug flag to disable tiling

  • lima: drop support for R8G8B8 format

  • lima: fix PLBU_CMD_PRIMITIVE_SETUP command

  • lima: fix viewport clipping

  • lima: implement polygon offset

  • lima: fix PIPE_CAP_* to mark features that aren’t supported yet

  • lima: add new findings to texture descriptor

  • lima: fix handling of reverse depth range

  • ci: lava: pass CI_NODE_INDEX and CI_NODE_TOTAL to lava jobs

  • ci: Re-enable CI for lima on mali450

  • lima: implement invalidate_resource()

  • nir: don’t emit ishl in _nir_mul_imm() if backend doesn’t support bitops

  • lima: use imul for calculations with intrinsic src

  • lima: ppir: don’t delete root ld_tex nodes without successors in current block

  • lima: ppir: always create move and update ld_tex successors for all blocks

  • lima: disable early-z if fragment shader uses discard

  • swr: Fix build with llvm-10.0.

  • panfrost: Fix gnu-empty-initializer build errors.

  • scons: Bump C standard to gnu11 on macOS 10.15.

  • util/u_thread: Restrict u_thread_get_time_nano on macOS.

  • swr: Fix build with llvm-10.0.

  • swr: Fix build with llvm-10.0.

  • lima: Fix build with GCC 10.

  • swr: Fix GCC 4.9 checks.

  • panfrost: Remove unused anonymous enum variables.

  • u_vbuf: add logic to use a limited number of vbufs

  • u_vbuf: use single vertex buffer if it’s not possible to have multiple

  • util/u_thread: Fix build under Haiku

  • glsl: Enable textureSize for samplerExternalOES

  • meson: Fix linkage of libgallium_nine with libgalliumvl

  • meta: Cleanup function for DrawTex

  • main: allow external textures for BindImageTexture

  • meta: Add cleanup function for Bitmap

  • Revert “draw: revert using correct order for prim decomposition.”

  • zink: confused compilation macro usage for zink in target helpers.