Aaron Watry (1):

Adam Jackson (1):

drisw: Cache the depth of the X drawable

Afonso Bordado (4):

Alan Coopersmith (1):

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

Alejandro Piñeiro (4):

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

Alexander van der Grinten (1):

Alexander von Gluck IV (1):

Alyssa Rosenzweig (223):

pan/midgard: Use fprintf instead of printf for constants

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

panfrost: Expose some functionality with dEQP flag

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

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

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

panfrost: Texture from Z32F_S8 as R32F

pan/midgard: Use upper ALU tags for MFBD writeout

pan/midgard: Use better heuristic for shader termination

panfrost: Disable some CAPs we want lowered

panfrost: Factor batch/resource out of instancing routines

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

pan/midgard: Do witchcraft on texture offsets

pan/midgard: Fix fallthrough from offset to comparator

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

pan/midgard: Use a reg temporary for mutiple writes

panfrost: Pack invocation_shifts manually instead of a bit field

panfrost: Report GPU name in es2_info

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

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

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

pan/midgard: Move spilling code out of scheduler

panfrost: Update SET_VALUE with information from igt

pan/midgard: Splatter on fragment out

pan/midgard: Enable LOD lowering only on buggy chips

pan/midgard: Use shader stage in mir_op_computes_derivative

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

pan/midgard: Disassemble with old pipeline always on T720

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

pan/midgard: Switch base for vertex texturing on T720

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

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

Andreas Baierl (14):

lima: Rotate dump files after each finished pp frame

lima/parser: Some fixes and cleanups

lima/streamparser: Fix typo in vs semaphore parser

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

Andres Rodriguez (1):

Andrii Simiklit (5):

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

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

main: fix several ‘may be used uninitialized’ warnings

Anthony Pesch (5):

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

util: move fnv1a hash implementation into its own header

Anuj Phogat (2):

Arno Messiaen (5):

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

Bas Nieuwenhuizen (33):

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

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

radv: Use new scanout gfx9 metadata flag.

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

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

turnip: Use VK_NULL_HANDLE instead of NULL.

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

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

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

radv: Close all unnecessary fds in secure compile.

Ben Crocker (1):

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

Bernd Kuhls (1):

Boris Brezillon (21):

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

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

panfrost/midgard: Use a union to manipulate embedded constants

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

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

panfrost: Try to evict unused BOs from the cache

panfrost: Destroy the upload manager allocated in panfrost_create_context()

panfrost: MALI_DEPTH_TEST is actually MALI_DEPTH_WRITEMASK

Brian Ho (14):

turnip: Fix vkCmdCopyQueryPoolResults with available flag

turnip: Fix vkGetQueryPoolResults with available flag

Brian Paul (4):

Call shmget() with permission 0600 instead of 0777

C Stout (1):

util/vector: Fix u_vector_foreach when head rolls over

Caio Marcelo de Oliveira Filho (24):

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

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

nir: Add missing nir_var_mem_global to various passes

intel/fs: Only use SLM fence in compute shaders

anv: Ignore some CreateInfo structs when rasterization is disabled

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

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

spirv: Consider the sampled_image case in wa_glslang_179 workaround

anv: Initialize depth_bounds_test_enable when not explicitly set

glsl: Check earlier for MaxTextureImageUnits and MaxImageUniforms

glsl: Check earlier for MaxShaderStorageBlocks and MaxUniformBlocks

spirv: Don’t leak GS initialization to other stages

Chris Wilson (1):

egl: Mention if swrast is being forced

Christian Gmeiner (24):

etnaviv: use a better name for FE_VERTEX_STREAM_UNK14680

etnaviv: gc400 does not support any vertex sampler

etnaviv: check if MSAA is supported

etnaviv: remove not used etna_bits_ones(..)

etnaviv: use a more self-explanatory param name

etnaviv: drop not used config_out function param

etnaviv: rs: upsampling is not supported

Connor Abbott (19):

freedreno: Use new macros for CP_WAIT_REG_MEM and CP_WAIT_MEM_GTE

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

aco: Make num_workgroups and local_invocation_ids one argument each

aco: Split vector arguments at the beginning

aco: Use radv_shader_args in aco_compile_shader()

radv: Move argument declaration out of nir_to_llvm

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

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

Daniel Ogorchock (2):

Daniel Schürmann (58):

docs: add new features for RADV/ACO.

aco: fix combine_salu_not_bitwise() when SCC is used

aco: ignore parallelcopies to the same register on jump threading

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

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

aco: improve readfirstlane after uniform ssbo loads on GFX7

aco: use soffset for MUBUF instructions on SI/CI

aco: return to loop_active mask at continue_or_break blocks

radv: disable Youngblood app profile if ACO is used

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

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

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

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

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

aco: move buffer_store data to VGPR if needed

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

aco: refactor visit_store_fs_output() to use the Builder

aco: fix a couple of value numbering issues

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

radv: Enable Subgroup Arithmetic and Clustered for SI

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

aco: value number instructions using the execution mask

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

aco: preserve kill flag on moved operands during RA

aco: fix accidential reordering of instructions when scheduling

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

aco: fix immediate offset for spills if scratch is used

Daniel Stone (2):

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

Danylo Piliaiev (12):

st/mesa: Handle the rest renderbuffer formats from OSMesa

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

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

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

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

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

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

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

Dave Airlie (74):

llvmpipe/nir: use nir_max_vec_components in more places

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

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

llvmpipe: switch to NIR by default

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

vtn: convert vload/store to single value loops

gallivm/draw: add support for draw_id system value.

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

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

llvmpipe: enable support for primitives generated outside streamout

draw: add support for collecting primitives generated outside streamout

llvmpipe: disable occlusion queries when requested by state tracker

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

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

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

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

nouveau: request ufind_msb64 lowering in the frontend.

spirv: get the correct type for function returns.

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

nir/serialize: fix serializing functions with no implementations.

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

David Heidelberg (1):

David Stevens (1):

Denis Pauk (2):

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

Dongwon Kim (3):

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

Drew Davenport (1):

Drew DeVault (1):

Duncan Hopkins (1):

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

Dylan Baker (69):

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

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

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

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

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

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

meson/broadcom: libbroadcom_cle also needs zlib

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

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

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

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

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

docs: Add SHA256 sum for for 19.2.4

util: Use ZSTD for shader cache if possible

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

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

meson: Add dep_glvnd to egl deps when building with glvnd

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

mesa/swrast: replace instances of _mesa_little_endian with preprocessor

mesa/main: replace uses of _mesa_little_endian with preprocessor

util/u_endian: Use _WIN32 instead of _MSC_VER

dri/osmesa: use preprocessor for selecting endian code paths

r100: Use preprocessor to select big vs little endian paths

r200: use preprocessor for big vs little endian checks

nir: correct use of identity check in python

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

Eduardo Lima Mitev (2):

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

Elie Tournier (4):

Emmanuel Gil Peyrot (1):

Eric Anholt (102):

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

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

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

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

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

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

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

freedreno/ir3: Plumb the ir3_shader_variant into legalize.

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

turnip: Disable UBWC on images used as storage images.

turnip: Fix some whitespace around binary operators.

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

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

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

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

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

nir: Drop the ssbo_offset to atomic lowering.

gallium: Pack the atomic counters just above the SSBOs.

i965: Reuse the new core glsl_count_dword_slots().

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

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

mesa: Fix detection of invalidating both depth and stencil.

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

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

tu: Move our image layout into a freedreno_layout struct.

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

freedreno: Drop the extra offset field for mipmap slices.

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

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

turnip: Add a helper function for getting tu_buffer iovas.

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

turnip: Disable timestamp queries for now.

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

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

nir: Make algebraic backtrack and reprocess after a replacement.

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

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

turnip: Drop the copy of the formats table.

util: Add a mapping from VkFormat to PIPE_FORMAT.

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

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

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

ci: Remove old commented copy of freedreno artifacts.

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

ci: Use cts_runner for our dEQP runs.

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

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

mesa/st: Gut most of st_mesa_format_to_pipe_format().

mesa: Redefine MESA_FORMAT_* in terms of PIPE_FORMAT_*.

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

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

gallium: Add an equivalent of MESA_FORMAT_BGR_UNORM8.

gallium: Add some more channel orderings of packed formats.

mesa/st: Add mapping of MESA_FORMAT_RGB_SNORM16 to gallium.

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

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

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

Eric Engestrom (58):

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

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

mesa: avoid returning a value in a void function

travis: autodetect python version instead of hard-coding it

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

docs: reword a bit and list HTTPS before FTP

egl: use EGL_CAST() macro in eglmesaext.h

CL: sync C++ headers with Khronos

CL: sync C headers with Khronos

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

gitlab-ci: build libdrm using meson instead of autotools

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

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

meson: require `nm` again on Unix systems

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

meson: add variable to control the symbols checks

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

meson: split out idep_xmlconfig_headers from idep_xmlconfig

Erico Nunes (17):

lima/ppir: split ppir_op_undef into undef and dummy again

lima/ppir: handle write to dead registers in ppir

vc4: move the draw splitting routine to shared code

Erik Faye-Lund (82):

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

docs: use [1] instead of asterisk for footnote

docs: use figure/figcaption instead of tables

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

docs: do not double-close link tag

docs: use code-tags instead of pre-tags

docs: use code-tags instead of pre-tags

docs: use code-tag instead of pre-tag

docs: open paragraph before closing it

docs: fix typo in html tag name

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

etnaviv: use nir_lower_clip_halfz instead of open-coding

zink: implement some more trivial opcodes

zink: do not try to destroy NULL-fence

zink: delete query rather than allocating a new one

zink: use true/false instead of TRUE/FALSE

zink: always allow transfer to/from buffers

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

zink: do advertize integer support in shaders

zink: use u_blitter when format-reinterpreting

zink: always allow sampling of images

zink: do not advertize coherent mapping

zink: always allow mutating the format

zink: use actual format for render-pass

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

Florian Will (1):

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

Francisco Jerez (26):

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

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

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

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

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

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

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

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

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

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

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

Fritz Koenig (1):

Georg Lehmann (3):

Vulkan overlay: use the corresponding image index for each swapchain

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

Correctly wait in the fragment stage until all semaphores are signaled

Gert Wollny (12):

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

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

r600: Make SID and unsigned value

r600/sb: Correct SB disassambler for better debugging

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

r600: Add functions to dump the shader info

nir: make nir_get_texture_size/lod available outside nir_lower_tex

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

virgl: Increase the shader transfer buffer by doubling the size

r600: Disable eight bit three channel formats

Guido Günther (2):

Gurchetan Singh (11):

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

i965: track if image is created by a dmabuf

teximage: split out helper from EGLImageTargetTexture2DOES

drirc: set allow_higher_compat_version for Faster Than Light

Hyunjun Ko (7):

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

freedreno/ir3: fixup when changing to mad.f16

freedreno: support 16b for the sampler opcode

Iago Toral Quiroga (32):

v3d: fix bug when checking result of syncobj fence import

u_vbuf: don’t try to delete NULL driver CSO

v3d: handle writes to gl_Layer from geometry shaders

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

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

v3d: we always have at least one output segment

v3d: compute appropriate VPM memory configuration for geometry shader workloads

v3d: fix packet descriptions for geometry and tessellation shaders

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

glsl: add missing initialization of the location path field

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

Ian Romanick (39):

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

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

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

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

intel/fs: Implement support for NIR opcodes for INTEL_shader_integer_functions2

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

compiler: Translate GLSL IR to NIR for new INTEL_shader_integer_functions2 expressions

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

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

nir/algebraic: Add lowering for uabs_usub and uabs_isub

nir: Add new instructions for INTEL_shader_integer_functions2

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

glsl: Add new expressions for INTEL_shader_integer_functions2

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

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

nir/algebraic: Simplify some Inf and NaN avoidance code

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

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

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

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

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

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

Icecream95 (16):

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

pan/midgard: Fix a memory leak in the disassembler

Icenowy Zheng (2):

Ilia Mirkin (7):

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

nvc0: treat all draws without color0 broadcast as MRT

nv50/ir: mark STORE destination inputs as used

Italo Nicola (1):

Iván Briano (4):

anv: Export VK_KHR_buffer_device_address only when really supported

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

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

James Xiong (3):

gallium: let the pipe drivers decide the supported modifiers

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

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

Jan Vesely (2):

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

Jan Zielinski (8):

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

swr/rasterizer: Add tessellator implementation to the rasterizer

Jason Ekstrand (212):

anv/blorp: Use the correct size for vkCmdCopyBufferToImage

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

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

iris: Plumb deref block size through to 3DSTATE_SF

anv: Plumb deref block size through to 3DSTATE_SF

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

intel/common: Return the block size from get_urb_config

intel/blorp: Always emit URB config on Gen7+

intel: Take a gen_l3_config in gen_get_urb_config

iris: Use the URB size from the L3$ config

iris: Store the L3$ configs in the screen

iris: Set SLMEnable based on the L3$ config

intel/genxml: Drop SLMEnable from L3CNTLREG on Gen11

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

genxml: Add a new 3DSTATE_SF field on gen12

anv: Re-use one old BT block in reset_batch_bo_chain

anv: Set actual state pool sizes when we have softpin

anv: Replace one more aux_surface.isl.size_B check

intel/isl: Allow CCS_E on more formats

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

intel/aux-map: Factor out some useful helpers

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

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

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

anv: Allow HiZ in read-only depth layouts

anv: Use isl_aux_state for HiZ resolves

anv: Use TRANSFER_SRC_OPTIMAL for depth/stencil MSAA resolves

anv/apply_pipeline_layout: Initialize the nir_builder before use

anv: Move the physical device dispatch table to anv_instance

anv: Drop the instance pointer from anv_device

anv: Stop allocating WSI event fences off the instance

anv: Take a device in anv_perf_warn

anv: Take an anv_device in vk_errorf

anv: Add an anv_physical_device field to anv_device

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

vulkan/wsi: Move the ImageCreateInfo higher up

anv: Implement the new core version property queries

anv: Implement the new core version feature queries

anv,nir: Lower quad_broadcast with dynamic index in NIR

anv: Bump the patch version to 131

vulkan: Update the XML and headers to 1.2.131

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

intel/blorp: Fill out all the dwords of MI_ATOMIC

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

spirv: Add output memory semantics to OpControlBarrier in TCS

spirv: Add a workaround for OpControlBarrier on old GLSLang

nir: Handle barriers with more granularity in combine_stores

nir: Handle more barriers in dead_write and copy_prop

anv: Flag descriptors dirty when gl_NumWorkgroups is used

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

intel/disasm: Fix decoding of src0 of SENDS

i965: Allow HiZ for glCopyImageSubData sources

anv: Allow HiZ in TRANSFER_SRC_OPTIMAL on Gen8-9

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

blorp: Allow reading with HiZ

anv: Bump the advertised patch version to 129

anv: Flush the queue on DeviceWaitIdle

anv: Re-emit all compute state on pipeline switch

anv: Re-capture all batch and state buffers

anv: Use BO fences/semaphores for AcquireNextImage

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

anv: Always add in EXEC_OBJECT_WRITE when specified in extra_flags

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

vulkan/wsi: Provide the implicitly synchronized BO to vkQueueSubmit

util/atomic: Add p_atomic_add_return for the unlocked path

anv: Use a pNext loop in AllocateMemory

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

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

anv: Add an explicit_address parameter to anv_device_alloc_bo

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

anv: Set up VMA heaps independently from memory heaps

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

anv: Always invalidate the VF cache in BeginCommandBuffer

blorp: Pass the VB size to the VF cache workaround

anv: Set up SBE_SWIZ properly for gl_Viewport

anv: Push constants are relative to dynamic state on IVB

vulkan: Update the XML and headers to 1.1.129

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

nir: Validate that variables are in the right lists

anv: Emit a NULL vertex for zero base_vertex/instance

anv: Use an anv_state for the next binding table

anv: More carefully dirty state in BindPipeline

anv: More carefully dirty state in BindDescriptorSets

anv: Use a switch statement for binding table setup

anv: Input attachments are always single-plane

genxml: Mark everything in genX_pack.h always_inline

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

anv: Lock around fetching sync file FDs from semaphores

intel/fs: Implement the new load/store_scratch intrinsics

intel/nir: Use nir_extract_bits in lower_mem_access_bit_sizes

spirv: Sort out the mess that is sampled image

spirv: Remove the type from sampled_image

anv: Move the RT BTI flush workaround to begin_subpass

anv: Stop compacting render targets in the binding table

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

anv: Use the new BO alloc API for Android

anv: Use a bitset for tracking residency

anv: Set the batch allocator for compute pipelines

anv: Allocate misc BOs from the cache

anv: Allocate scratch BOs from the cache

anv: Allocate batch and fence buffers from the cache

util: Add a free list structure for use with util_sparse_array

anv: Allocate descriptor buffers from the BO cache

anv: Set more flags on descriptor pool buffers

anv: Allocate query pool BOs from the cache

anv: Use the query_slot helper in vkResetQueryPoolEXT

anv: Allocate block pool BOs from the cache

anv/tests: Initialize the BO cache and device mutex

anv: Use anv_block_pool_foreach_bo in get_bo_from_pool

anv: Declare the bo in the anv_block_pool_foreach_bo loop

anv: Stop storing the GEM handle in anv_reloc_list_add

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

Jonathan Gray (4):

util/futex: use futex syscall on OpenBSD

i965: update Makefile.sources for perf changes

Jonathan Marek (98):

freedreno/ir3: allow inputs with the same location

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

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

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

turnip: change emit_ibo to be like emit_textures

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

turnip: use common blit path for buffer copy

turnip: no 8x msaa on 128bpp formats

turnip: set load_layer_id to zero

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

turnip: allow writes to draw_cs outside of render pass

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

etnaviv: avoid using RS for 64bpp formats

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

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

Jordan Justen (7):

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

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

iris: Fix some indentation in iris_init_render_context

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

Jose Maria Casanova Crespo (1):

Juan A. Suarez Romero (3):

nir/spirv: skip unreachable blocks in Phi second pass

Kai Wasserbäch (4):

Karol Herbst (14):

aco: use NIR_MAX_VEC_COMPONENTS instead of 4

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

clover/spirv: allow Int64 Atomics for supported devices

nir/validate: validate num_components on registers and intrinsics

nv50/ir: fix crash in isUniform for undefined values

Kenneth Graunke (57):

loader: Fix leak of kernel driver name

i965: Use brw_batch_references in tex_busy check

iris: Make iris_emit_default_l3_config pull devinfo from the batch

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

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

anv: Drop some workarounds that are no longer necessary

iris: Drop some workarounds which are no longer necessary

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

iris: Fix export of fences that have already completed.

intel: Use similar brand strings to the Windows drivers

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

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

iris: Allow HiZ for copy_region sources

iris: Delete remnants of the unimplemented ASTC 5x5 workaround

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

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

iris: Avoid replacing backing storage for buffers with no contents

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

iris: Alphabetize source files after iris_perf.c was added

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

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

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

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

drirc: Set vs_position_always_invariant for Shadow of Mordor on Intel

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

iris: Stop mutating the resource in get_rt_read_isl_surf().

iris: Properly move edgeflag_out from output list to global list

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

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

Kristian Høgsberg (62):

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

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

freedreno/a6xx: Handle srgb blits on the blitter

freedreno/a6xx: RB6_R8G8B8 is actually 32 bit RGBX

freedreno/a6xx: Use blitter for resolve blits

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

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

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

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

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

freedreno: Use bypass rendering for tessellation

freedreno/a6xx: Build the right draw command for tessellation

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

freedreno/ir3: Setup inputs and outputs for tessellation stages

freedreno/ir3: End TES with chsh when using GS

freedreno/ir3: Use imul24 in offset calculations

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

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

Krzysztof Raszkowski (10):

gallium/swr: Fix crash when use GL_TDFX_texture_compression_FXT1 format.

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

Lasse Lopperi (1):

Laurent Carlier (1):

Leo Liu (1):

ac: add missing Arcturus to the info of pc lines

Lepton Wu (2):

gallium: dri2: Use index as plane number.

Lionel Landwerlin (60):

isl: add gen12 comment about CCS for linear tiling

intel: Implement Gen12 workaround for array textures of size 1

anv: ensure prog params are initialized with 0s

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

anv: implement another workaround for non pipelined states

iris: implement another workaround for non pipelined states

anv: fix pipeline switch back for non pipelined states

anv: only use VkSamplerCreateInfo::compareOp if enabled

anv: Implement Gen12 workaround for non pipelined state

iris: Implement Gen12 workaround for non pipelined state

loader: fix close on uninitialized file descriptor value

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

intel/perf: simplify the processing of OA reports

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

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

anv/wsi: signal the semaphore in the acquireNextImage

anv: prepare the driver for delayed submissions

anv: prepare driver to report submission error through queues

anv: allow NULL batch parameter to anv_queue_submit_simple_batch

anv: expose timeout helpers outside of anv_queue.c

anv: invalidate file descriptor of semaphore sync fd at vkQueueSubmit

mesa: check framebuffer completeness only after state update

Luis Mendes (1):

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

Marco Felsch (1):

etnaviv: Fix assert when try to accumulate an invalid fd

Marek Olšák (245):

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

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

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

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

radeonsi: make screen available to shader part compilation

radeonsi: expose shader cache stats to the HUD

radeonsi: use the live shader cache

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

util/simple_mtx: add a missing include to get ASSERTED

radeonsi: move more LLVM functions into si_shader_llvm.c

radeonsi: move VS shader code into si_shader_llvm_vs.c

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

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

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

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

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

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

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

radeonsi/gfx10: correct VS PrimitiveID implementation for NGG

radeonsi: turn an assertion into return in si_nir_store_output_tcs

radeonsi: clean up how internal compute dispatches are handled

st/dri: do FLUSH_VERTICES before calling flush_resource

radeonsi: move code for shader resources into si_shader_llvm_resources.c

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

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

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

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

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

radeonsi: remove always constant ballot_mask_bits from si_llvm_context_init

radeonsi: actually enable VBOs in user SGPRs

radeonsi: fix assertion and other failures in si_emit_graphics_shader_pointers

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

radeonsi: put up to 5 VBO descriptors into user SGPRs

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

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

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

ac/gpu_info: add pc_lines and use it in radeonsi

radeonsi: determine accurately if line stippling is enabled for performance

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

ac/gpu_info: always use distributed tessellation on gfx10

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

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

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

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

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

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

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

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

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

amd/addrlib: update to the latest version

radeonsi: reset more fields in si_llvm_context_set_ir to fix reusing ctx

radeonsi: fix determining whether the VS prolog is needed

radeonsi: allow generating VS prologs with 0 inputs

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

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

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

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

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

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

radeonsi: enable NIR by default and document GL 4.6 support

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

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

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

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

st/mesa: remove struct st_vp_variant in favor of st_common_variant

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

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

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

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

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

radeonsi: enable SPIR-V and GL 4.6 for NIR

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

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

radeonsi: simplify the interface of get_dw_address_from_generic_indices

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

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

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

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

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

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

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

radeonsi: initialize the per-context compiler on demand

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

nir/serialize: support any num_components for remaining instructions

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

nir/serialize: serialize writemask for vec8 and vec16

nir/serialize: serialize swizzles for vec8 and vec16

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

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

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

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

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

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

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

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

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

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

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

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

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

nir: strip as we serialize to remove the nir_shader_clone call

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

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

nir: don’t use GLenum16 in nir.h

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

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

st/mesa: call nir_serialize only once per shader

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

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

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

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

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

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

mesa: enable glthread for 7 Days To Die

radeonsi/nir: call nir_lower_flrp only once per shader

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

st/mesa: remove

being only printed in debug builds after printed TGSI

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

compiler: pack shader_info from 160 bytes to 96 bytes

radeonsi/nir: call nir_serialize only once per shader

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

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

nir: pack the rest of nir_variable::data

radeonsi: keep serialized NIR instead of nir_shader in si_shader_selector

radeonsi: don’t keep compute shader IR after compilation

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

st/mesa: call nir_lower_flrp only once per shader

st/mesa: call nir_opt_access only once

glsl: encode explicit_stride for basic types better

glsl: encode vector_elements and matrix_columns better

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

Marek Vasut (5):

etnaviv: Do not filter out PIPE_FORMAT_S8_UINT_Z24_UNORM on pre-HALTI2

etnaviv: Replace bitwise OR with logical OR

Mark Janes (3):

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

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

Markus Wick (3):

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

Martin Fuzzey (1):

Mathias Fröhlich (1):

Matt Turner (19):

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

intel/compiler: Add NF some more places

Mauro Rossi (9):

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

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

Michel Dänzer (36):

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

winsys/amdgpu: Re-use amdgpu_screen_winsys when possible

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

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

winsys/amdgpu: Keep a list of amdgpu_screen_winsyses in amdgpu_winsys

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

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

gitlab-ci: Stop using manual jobs for merge requests

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

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

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

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

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

gitlab-ci: Organize images using new REPO_SUFFIX templates feature

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

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

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

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

gitlab-ci: Use ninja -j4 for building dEQP

Michel Zou (3):

Meson: Check for dladdr with MinGW

Miguel Casas-Sanchez (1):

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

Nanley Chery (3):

iris: Fix import of multi-planar surfaces with modifiers

gallium: Store the image format in winsys_handle

Nataraj Deshpande (1):

Nathan Kidd (1):

Neha Bhende (3):

svga: Use pipe_shader_state_from_tgsi to set shader state

Neil Armstrong (3):

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

Neil Roberts (9):

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

Paul Cercueil (5):

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

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

u_vbuf: Only create driver CSO if no incompatible elements

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

Paul Gofman (1):

Paulo Zanoni (2):

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

Peng Huang (1):

Philipp Sieweck (1):

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

Pierre Moreau (4):

clover: Use the dispatch table type from the OpenCL headers

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

Pierre-Eric Pelloux-Prayer (54):

radeonsi: stop using the VM_ALWAYS_VALID flag

radeonsi: drop the negation from fmask_is_not_identity

radeonsi: make sure fmask expand is done if needed

radeonsi: check ctx->sdma_cs before using it

gallium: refuse to create buffers larger than UINT32_MAX

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

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

radeonsi: use gfx9.surf_offset to compute texture offset

mesa: rework _mesa_lookup_vao_err to allow usage from EXT_dsa

mesa: enable msaa in clear_with_quad if needed

radeonsi: tell the shader disk cache what IR is used

Prodea Alexandru-Liviu (2):

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

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

Qiang Yu (3):

lima: create heap buffer with new interface if available

Rafael Antognolli (23):

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

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

anv: Use 3DSTATE_CONSTANT_ALL when possible.

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

iris: Use 3DSTATE_CONSTANT_ALL when possible.

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

iris: Use mocs from isl_dev.

anv: Use mocs settings from isl_dev.

Rhys Perry (131):

aco: fill reg_demand with sensible information in add_coupling_code()

aco: improve assertion at the end of spiller

aco: set exec_potentially_empty after continues/breaks in nested IFs

aco: error when block has no logical preds but VGPRs are live at the start

aco: don’t always add logical edges from continue_break blocks to headers

aco: only create parallelcopy to restore exec at loop exit if needed

aco: don’t update demand in add_coupling_code() for loop headers

aco: don’t consider loop header blocks branch blocks in add_coupling_code

aco: ensure predecessors’ p_logical_end is in WQM when a p_phi is in WQM

aco: use MUBUF in some situations instead of splitting vertex fetches

aco: skip unused channels at the start when fetching vertices

aco: always add sgprs to sgpr_ids when choosing literals

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

radv/aco: use ACO for GS copy shaders

radv/aco: allow ACO for GS

radv: move gs copy shader creation before other variants

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

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

aco: allow input modifiers on v_cndmask_b32

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

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

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

aco: allow applying two sgprs to an instruction

aco: follow through temporary when merging tests into constant comparisons

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

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

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

aco: better handle neg/abs of sgprs

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

aco: fix uninitialized data in the binary

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

aco: set vm for pos0 exports on GFX10

nir/load_store_vectorize: fix combining stores with aliasing loads between

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

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

aco: fix SADDR with FLAT on GFX10

aco: fix GFX10 opcodes for some global/flat atomics

aco: propagate p_wqm on an image_sample’s coordinate p_create_vector

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

radv: set alignment for load_ssbo/store_ssbo in meta shaders

aco: fix waitcnts for barriers at block ends

nir/large_constants: use nir_index_vars and nir_variable::index

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

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

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

Ricardo Garcia (1):

Rob Clark (89):

freedreno: allow ctx->batch to be NULL

freedreno: get GMEM state from batch

freedreno/a6xx: drop a few more per-draw registers

nir: assert that nir_lower_tex runs after lowering derefs

freedreno/ir3: fix neverball assert in case of unused VS inputs

freedreno: use rsc->slice accessor everywhere

gitlab-ci/freedreno/a6xx: remove most of the flakes

gitlab-ci/deqp: preserve caselists for blocks with fails

gitlab-ci: update deqp build so we can generate xml

freedreno/perfctrs/a2xx: move CP to be first group

freedreno/perfcntrs: add accessor to get per-gen tables

freedreno/ir3: only tex instructions have wrmask

freedreno/ir3: helper to print ir if debug enabled

freedreno/ir3: also track # of nops for shader-db

freedreno/ir3: sync disasm changes from envytools

freedreno/ir3: use SSA flag on dest register too

freedreno/ir3: split pre-coloring to it’s own function

Robert Foss (5):

android: Fix u_format_table.c being generated twice

Rohan Garg (1):

gitlab-ci: Use lavacli from packages

Roland Scheidegger (3):

winsys/svga: use new ioctl for logging

util/atomic: Fix p_atomic_add for unlocked and msvc paths

Roman Stratiienko (2):

Ross Zwisler (1):

Sagar Ghuge (1):

Samuel Iglesias Gonsálvez (1):

Samuel Pitoiset (202):

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