Mesa 19.3.0 Release Notes / 2019-12-12

Mesa 19.3.0 is a new development release. People who are concerned with stability and reliability should stick with a previous release or wait for Mesa 19.3.1.

Mesa 19.3.0 implements the OpenGL 4.6 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. Some drivers don’t support all the features required in OpenGL 4.6. OpenGL 4.6 is only available if requested at context creation. Compatibility contexts may report a lower version depending on each driver.

Mesa 19.3.0 implements the Vulkan 1.1 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used.

SHA256 checksum

5fa0e4e9dca79560f6882e362f9db36d81cf96da16cf6a84e0ada7466a99a5d7  mesa-19.3.0.tar.xz

New features

  • GL_ARB_gl_spirv on i965, iris.

  • GL_ARB_spirv_extensions on i965, iris.

  • GL_EXT_demote_to_helper_invocation on iris, i965.

  • OpenGL 4.6 on i965, iris.

  • EGL_EXT_image_flush_external

  • VK_ANDROID_external_memory_android_hardware_buffer on RADV.

  • VK_KHR_shader_clock on Intel, RADV.

  • VK_KHR_shader_float_controls on Intel, RADV.

  • VK_KHR_spirv_1_4 on Intel, RADV.

  • VK_KHR_timeline_semaphore on RADV.

  • VK_KHR_vulkan_memory_model on Intel.

  • VK_EXT_shader_subgroup_ballot on Intel.

  • VK_EXT_shader_subgroup_vote on Intel.

  • VK_EXT_texel_buffer_alignment on RADV.

  • VK_INTEL_performance_query on Intel.

  • Meson support for windows using MSVC and MinGW

  • scons has been deprecated for non windows

  • Initial Intel gen12 (Tigerlake) support on anvil and iris

  • New compiler backend “ACO” for RADV (RADV_PERFTEST=aco)

  • VK_EXT_shader_demote_to_helper_invocation on RADV/ACO.

Bug fixes

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

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

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

  • gnome-shell overview mode crash in recent mesa

  • radv/aco Jedi Fallen Order hair rendering buggy

  • [RADV] VK_KHR_timeline_semaphore balloons in runtime

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

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

  • 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

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

  • HSW. Tropico 6 and SuperTuxKart have shadows flickering

  • glxgears segfaults on POWER / Xvnc

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

  • radv regression after 84d9551b232bdcead017b212cbb3e291486e698c: vk: error: failed to submit CS

  • Rename ACO README to README.md

  • Steam crash due to commit e137b3a9b71a2711c1f68c8a8b9c0a7407fbcc4b (bisected)

  • [Anv regression] SPIR-V abort in Aztec Ruins

  • FreeBSD does not have _GNU_SOURCE in util/strtod.c

  • glLinkProgram crash when using gcc-9 -O3 -flto due to use of uninitialised value

  • KeyError: ‘force_scons’:

  • link_shader and deserialize_glsl_program suddenly consume huge amount of RAM

  • build errors after “meson: add -Werror=empty-body to disallow `if(x);`”

  • performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

  • Vulkan version of “Middle-earth: Shadow of Mordor” has graphics glitches on RADV driver (part 2)

  • swr/rasterizer/core/format_types.h:1183: undefined reference to `_mm256_cvtps_ph’

  • Meson: Building osmesa gallium and tests at the same time results in osmesa gallium build failure

  • Vulkan version of “Middle-earth: Shadow of Mordor” has graphics glitches on RADV driver

  • [amdgpu][Navi][llvm] Minimap problem in Nier Automata

  • [bisected] anon_inode:sync_file file descriptor leak

  • Cache meson packagecach in appveyor

  • Piglit tests regression in gallium drivers

  • Black ground in Dirt 4

  • Superbibles examples crashing Mesa drivers (radeonsi) and causing gpu reset

  • [CTS] dEQP-VK.graphicsfuzz.write-red-in-loop-nest crashes

  • mesa and libglvnd install the same headers

  • Multiple EGL displays with multiple window systems leads to a crash

  • Regression: Doom (2016) crashes on Mesa 19.2 and above and Radeon 380 with Vulkan (worked on Mesa 19.1)

  • Rocket League displays corruption when the game starts

  • drm.h:50:9: error: unknown type name ‘uint8_t’

  • Mesa build breaks when only building radeonsi due to missing llvm coroutines symbols

  • radeonsi aborting in LLVM validation test in si_compile_tgsi_shader()

  • meson.build:1447:6: ERROR: Problem encountered: libdrm required for gallium video statetrackers when using x11

  • Mesa doesn’t build with current Scons version (3.1.0)

  • libXvMC-1.0.12 breaks mesa build

  • Meson can’t find 32-bit libXvMCW in non-standard path

  • Mesa installs gl.pc and egl.pc even with libglvnd >= 1.2.0

Changes

Adam Jackson (44):

  • glx: Whitespace cleanups

  • glx: Sync <GL/glxext.h> with Khronos

  • glx: Make __glXGetDrawableAttribute return true sometimes

  • glx: Unset the direct_support bit for GLX_EXT_import_context

  • Revert “glx: Unset the direct_support bit for GLX_EXT_import_context”

  • egl: Enable 10bpc EGLConfigs for platform_{device,surfaceless}

  • gallium/xlib: Fix an obvious thinko

  • mesa: Remove unused gl_config::indexBits

  • mesa: Eliminate gl_config::have{Accum,Depth,Stencil}Buffer

  • mesa: Eliminate gl_config::rgbMode

  • gallium: Require LLVM >= 3.4

  • gallium: Require LLVM >= 3.5

  • gallium: Require LLVM >= 3.6

  • gallium: Require LLVM >= 3.7

  • gallium: Require LLVM >= 3.8

  • gallium: Require LLVM >= 3.9

  • egl/dri2: Refuse to add EGLConfigs with no supported surface types

  • glx: Remove unused indirection for glx_context->fillImage

  • gallium: Restore VSX for llvm >= 4

  • ci: Run tests on i386 cross builds

  • gallium/xlib: Remove drawable caching from the MakeCurrent path

  • gallium/xlib: Remove MakeCurrent_PrevContext

  • gallium/xlib: Fix glXMakeCurrent(dpy, None, None, ctx)

  • docs: Update bug report URLs for the gitlab migration

  • glx: Avoid atof() when computing the server’s GLX version

  • glx: Fix drawable lookup bugs in glXUseXFont

  • egl/wayland: Reindent the format table

  • egl/wayland: Add FP16 format support

  • egl/wayland: Implement getCapability for the dri2 and image loaders

  • egl/surfaceless: Add FP16 format support

  • libgbm: Wire up getCapability for the image loader

  • glx: Move vertex array protocol state into the indirect backend

  • glx: Lift sending the MakeCurrent request to top-level code

  • glx: Implement GLX_EXT_no_config_context

  • Revert “glx: Implement GLX_EXT_no_config_context”

  • Revert “glx: Lift sending the MakeCurrent request to top-level code”

  • drisw: Simplify GC setup

  • drisw: Fix and simplify drawable setup

  • glx: Log the filename of the drm device if we fail to open it

  • egl/dri2: Don’t dlclose() the driver on dri2_load_driver_common failure

  • surfaceless: Support EGL_WL_bind_wayland_display

  • egl: Make native display detection work more than once

  • gallium/xlib: Fix xmesa drawable creation

Alan Coopersmith (6):

  • gallium: Fix a bunch of undefined left-shifts in u_format_*

  • c99_compat.h: Don’t try to use ‘restrict’ in C++ code

  • util: Make Solaris implemention of p_atomic_add work with gcc

  • util: Workaround lack of flock on Solaris

  • util: Solaris has linux-style pthread_setname_np

  • meson: recognize “sunos” as the system name for Solaris

  • intel/common: include unistd.h for ioctl() prototype on Solaris

Alejandro Piñeiro (5):

  • i965: enable ARB_gl_spirv extension and ARB_spirv_extensions for gen7+

  • mesa/version: uncomment SPIR-V extensions

  • i965: Enable OpenGL 4.6 for Gen8+

  • v3d: take into account prim_counts_offset

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

Alex Smith (1):

  • radv: Change memory type order for GPUs without dedicated VRAM

Alexandros Frantzis (1):

  • gitlab-ci: Update required libdrm version

Alyssa Rosenzweig (220):

  • pan/decode: Eliminate DYN_MEMORY_PROP

  • pan/decode: Don’t print MALI_DRAW_NONE

  • panfrost: Move pan_invocation to shared panfrost/

  • panfrost: Set workgroups z to 32 for non-instanced graphics

  • pan/decode: Don’t print canonical workgroup encoding

  • panfrost: Implement workgroups_x_shift_2 quirk

  • pan/decode: Silence workgroups_x_shift_2

  • pan/decode: Fix missing NULL terminator

  • pan/decode: Don’t print zero exception_status

  • pan/decode: Express tiler structures as offsets

  • pan/decode: Allow updating mmaps

  • pan/decode: Bounds check polygon list and tiler heap

  • panfrost: Move pan_tiler.c outside of Gallium

  • pan/decode: Verify and omit polygon size

  • pan/decode: Print “just right” count of texture pointers

  • panfrost: Remove DRY_RUN

  • panfrost: Correct polygon size computations

  • pan/decode: Check for a number of potential issues

  • pan/decode: Don’t print unreferenced attribute memory

  • pan/decode: Add static bounds checking utility

  • pan/decode: Do not print uniform/buffers explicitly

  • pan/decode: Validate AFBC fields are zero when AFBC is disabled

  • pan/decode: Check for MFBD preload chicken bit

  • pan/decode: Mark tripped zeroes with XXX

  • pan/decode: Normalize case matching XXX format

  • pan/decode: Normalize final instances of XXX

  • panfrost: Fix scoreboarding with dependency on job #0

  • panfrost: Do not expose PIPE_CAP_TEXTURE_MIRROR_CLAMP

  • panfrost: Don’t crash on GL_CLAMP

  • pan/decode: Guard attribute unknowns

  • panfrost: Don’t trip the prefix magic field

  • pan/decode: Handle VARYING_DISCARD

  • pan/decode: Treat RESERVED swizzles as errors

  • pan/decode: Validate swizzles against format

  • pan/decode: Don’t print the default swizzle

  • pan/decode: Use GLSL style formats/swizzles

  • pan/decode: Guard texture unknowns as zero trips

  • pan/decode: Break out pandecode_texture function

  • pan/decode: Validate texture dimensionality

  • panfrost: nr_mipmap_levels -> levels

  • panfrost: Remove ancient TODO

  • pan/decode: Pretty-print sRGB format

  • panfrost: Break up usage2 field

  • pan/decode: Use concise texture printing

  • pan/decode: Include address in union mali_attr

  • pan/decode: Validate attribute/varying buffer pointer

  • pan/decode: Cleanup mali_attr printing

  • pan/midgard: Free liveness info

  • pan/midgard: Allocate `dependencies` on stack

  • pan/decode: Don’t leak FBD pointer

  • pan/decode: Remove all_zero

  • pan/bifrost: Avoid buffer overflow in disassembler

  • pan/midgard: Represent unused nodes by ~0

  • pan/midgard: Reorder bits check to fix 8-bit masks

  • pan/midgard: Simplify contradictory check.

  • panfrost: Don’t check reads_point_coord

  • pan/midgard: Mark fallthrough explicitly

  • panfrost: Pay attention to framebuffer dimension sign

  • panfrost: Clarify intention with PIPE_SWIZZLE_X check

  • panfrost: Prevent potential integer overflow in instancing

  • panfrost: Hoist job != NULL check

  • panfrost: Hoist bo != NULL check before dereference

  • panfrost: Fix missing ret assignment in DRM code

  • pan/bifrost: Correct file size signedness

  • panfrost: Guard against NULL rasterizer explicitly

  • panfrost: Pass stream_output_info by reference

  • pan/midgard: Breakout texture reg select printer

  • pan/midgard: Identify and disassemble indirect texture/sampler

  • panfrost: Don’t bail on PIPE_BUFFER

  • panfrost: Implement depth range clipping

  • panfrost: Fix PIPE_BUFFER spacing

  • pan/midgard,bifrost: Expand nir_const_load_to_arr

  • nir: Remove nir_const_load_to_arr

  • pan/decode: Hoist shader-db stats to shared decode

  • pan/midgard: Sketch static analysis to uniform count

  • pan/midgard: Compute work_count via writes

  • pan/midgard: Analyze simple loads/store

  • pan/midgard: Explain ffma

  • pan/midgard: Disassemble integer constants in hex

  • pan/decode: Remove mali_attr(_meta) framing

  • pan/decode: Removing uniform buffer framing

  • pan/decode: Eliminate non-FBD dumped case

  • pan/decode: Validate MFBD tags

  • pan/decode: Validate and simplify FRAGMENT payloads

  • pan/decode: Validate blend shaders don’t access I/O

  • pan/decode: Fix uniform printing

  • pan/decode: Promote <no shader> to an error

  • pan/decode: Disassemble before printing shader descriptor

  • pan/decode: Validate mali_shader_meta stats

  • pan/decode: Validate, but do not print, index buffer

  • pan/decode: Downgrade shader property mismatch to warning

  • pan/decode: Decode actual varying_meta address

  • pan/decode: Print stub for uniforms

  • pan/decode: Decouple attribute/meta printing

  • pan/decode: Remove size/stride divisibility check

  • pan/decode: Handle special varyings

  • panfrost: Remove vertex buffer offset from its size

  • panfrost: Implement gl_FragCoord correctly

  • pan/midgard: Fix writeout combining

  • pan/midgard: Analyze helper invocations

  • pan/decode: Validate and quiet helper invocation flag

  • pan/midgard, bifrost: Set lower_fdph = true

  • pan/midgard: Switch constants to uint32

  • pan/midgard: Add imov->fmov optimization

  • pan/midgard: Fold ssa_args into midgard_instruction

  • pan/midgard: Fix invert fusing with r26

  • freedreno/ir3: Link directly to Sethi-Ullman paper

  • pan/midgard: Count shader-db stats by bundled instructions

  • pan/midgard: Factor out mir_is_scalar

  • pan/midgard: Extract instruction sizing helper

  • pan/midgard: Expose mir_get/set_swizzle

  • pan/midgard: Add OP_IS_CSEL_V helper

  • pan/midgard: Fix corner case in RA

  • pan/midgard: Add post-schedule iteration helpers

  • pan/midgard: Include condition in branch->src[0]

  • pan/midgard: Document Midgard scheduling requirements

  • pan/midgard: Ensure fragment writeout is in the final block

  • pan/midgard: Track csel swizzle

  • pan/midgard: Add mir_insert_instruction*scheduled helpers

  • pan/midgard: csel_swizzle with mir get swizzle

  • pan/midgard: Extend mir_special_index to writeout

  • pan/midgard: Improve mir_mask_of_read_components

  • pan/midgard: Allow NULL argument in mir_has_arg

  • pan/midgard: Track shader quadword count while scheduling

  • pan/midgard: Add scheduling barriers

  • pan/midgard: Cleanup fragment writeout branch

  • pan/midgard: Remove texture_index

  • pan/midgard: Print branches in MIR

  • pan/midgard: Print MIR by the bundle

  • pan/midgard: Fix misc. RA issues

  • pan/midgard: Do not propagate swizzles into writeout

  • pan/midgard: Handle fragment writeout in RA

  • pan/midgard: Schedule before RA

  • pan/midgard: Remove mir_opt_post_move_eliminate

  • pan/midgard: Use shared psiz clamp pass

  • pan/decode: Fix uninitialized variables

  • pan/decode: Use %zu instead of %d

  • pan/decode: Use portable format specifier for 64-bit

  • pan/decode: Add missing format specifier

  • pan/midgard: Correct issues in disassemble.c

  • pan/midgard: Fix cppcheck issues

  • pan/midgard: Remove cppwrap.cpp

  • pan/midgard: Remove mir_print_bundle

  • pan/midgard: Remove mir_rewrite_index_*_tag

  • panfrost: Mark (1 << 31) as unsigned

  • panfrost: Fix misc. issues flagged by cppcheck

  • panfrost: Remove panfrost_upload

  • pan/midgard: Add missing parans in SWIZZLE definition

  • pan/midgard: Fix component count handling for ldst

  • pan/midgard: Squeeze indices before scheduling

  • pan/midgard: Add flatten_mir helper

  • pan/midgard: Calculate dependency graph

  • pan/midgard: Initialize worklist

  • pan/midgard: Add mir_choose_instruction stub

  • pan/midgard: Add mir_update_worklist helper

  • pan/midgard: Add mir_choose_bundle helper

  • pan/midgard: Add mir_schedule_texture/ldst/alu helpers

  • pan/midgard: Remove csel constant unit force

  • pan/midgard: Add constant intersection filters

  • pan/midgard: Add predicate->exclude

  • pan/midgard: Implement predicate->unit

  • pan/midgard: Add helpers for scheduling conditionals

  • pan/midgard: Extend csel_swizzle to branches

  • pan/midgard: Implement load/store pairing

  • pan/midgard: Add mir_choose_alu helper

  • pan/midgard: Add distance metric to choose_instruction

  • pan/midgard: Use new scheduler

  • pan/midgard: Don’t double check SCALAR units

  • pan/midgard: Extend choose_instruction for scalar units

  • pan/midgard: Schedule to smul/sadd

  • pan/midgard: Only one conditional per bundle allowed

  • pan/midgard: Allow 6 instructions per bundle

  • pan/midgard: Allow writeout to see into the future

  • pan/midgard: Tightly pack 32-bit constants

  • pan/midgard: Add mir_flip helper

  • pan/midgard: Add csel invert optimization

  • pan/midgard: Allow scheduling conditions with constants

  • pan/midgard: Remove mir_has_multiple_writes

  • pan/midgard: Add mir_calculate_temp_count helper

  • pan/midgard: Move RA’s liveness analysis into midgard_liveness.c

  • pan/midgard: Don’t try to OR live_in of successors

  • pan/midgard: Begin tracking liveness metadata

  • pan/midgard: Invalidate liveness for mir_is_live_after

  • pan/midgard: Calculate temp_count for liveness

  • pan/midgard: Replace mir_is_live_after with new pass

  • pan/midgard: Report read mask for branch arguments

  • pan/midgard: Allow non-contiguous masks in UBO lowering

  • pan/midgard: Don’t try to propagate swizzles to branches

  • pan/midgard: Add perspective ops to mir_get_swizzle

  • pan/midgard: Fix mir_mask_of_read_components with dot products

  • panfrost: Disable frame throttling

  • pan/midgard: Use 16-bit liveness masks

  • pan/midgard: Allow COMPUTE jobs in panfrost_bo_access_for_stage

  • pan/midgard: Fix memory corruption in register spilling

  • pan/midgard: Do not repeatedly spill same value

  • pan/midgard: Debug mir_insert_instruction_after_scheduled

  • pan/midgard: Identify 64-bit atomic opcodes

  • pan/midgard/disasm: Fix printing 8-bit/16-bit masks

  • pan/midgard: Factor out mir_get_alu_src

  • pan/midgard: Tableize load/store ops

  • pan/midgard: Implement OP_IS_STORE with table

  • pan/midgard: Add helpers for manipulating byte masks

  • pan/midgard: Report byte masks for read components

  • pan/midgard: Simplify mir_bytemask_of_read_components

  • pan/midgard: Implement per-byte liveness tracking

  • pan/midgard: Handle nontrivial masks in texture RA

  • pan/midgard: Create dependency graph bytewise

  • pan/midgard: Implement SIMD-aware dead code elimination

  • panfrost/ci: Update expectations list

  • pan/midgard: Add mir_set_bytemask helper

  • pan/midgard: Expose more typesize manipulation routines

  • pan/midgard: Express allocated registers as offsets

  • pipe-loader: Add kmsro pipe_loader target

  • pipe-loader: Default to kmsro if probe fails

  • panfrost: Expose serialized NIR support

  • pan/midgard: Disable precise occlusion queries

  • panfrost: Cleanup _shader_upper -> shader

  • panfrost: Remove unused definitions in mali-job.h

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

  • gallium/util: Support POLYGON in u_stream_outputs_for_vertices

Andreas Baierl (5):

  • lima/ppir: Rename ppir_op_dummy to ppir_op_undef

  • lima/ppir: Add undef handling

  • lima/ppir: Add various varying fetch sources to disassembler

  • lima: Fix compiler warning in standalone compiler

  • lima: Fix crash when there are no vertex shader attributes

Andreas Gottschling (1):

  • drisw: Fix shared memory leak on drawable resize

Andres Gomez (12):

  • nir/algebraic: mark float optimizations returning one parameter as inexact

  • docs: Update to OpenGL 4.6 in the release notes

  • nir/opcodes: Clear variable names confusion

  • docs: Add the maximum implemented Vulkan API version in 19.1 rel notes

  • docs: Add the maximum implemented Vulkan API version in 19.2 rel notes

  • docs: Add the maximum implemented Vulkan API version in 19.3 rel notes

  • docs/features: Update status list of Vulkan extensions

  • docs/features: Update VK_KHR_display_swapchain status

  • i965/fs: add a comment about how the rounding mode in fmul is set

  • i965/fs: set rounding mode when emitting the flrp instruction

  • docs/relnotes: add support for GL_ARB_gl_spirv, GL_ARB_spirv_extensions and OpenGL 4.6 on i965 and iris

  • egl: Remove the 565 pbuffer-only EGL config under X11.

Andres Rodriguez (2):

  • radv: add RADV_DEBUG=allentrypoints

  • radv: additional query fixes

Andrii Simiklit (1):

  • glsl: disallow incompatible matrices multiplication

Anuj Phogat (5):

  • intel/gen12: Add L3 configurations

  • intel: Add few Ice Lake brand strings

  • genxml/gen11+: Add COMMON_SLICE_CHICKEN4 register

  • intel/gen11+: Enable Hardware filtering of Semi-Pipelined State in WM

  • intel/isl/icl: Use halign 8 instead of 4 hw workaround

Arcady Goldmints-Orlov (1):

  • anv: fix descriptor limits on gen8

Bas Nieuwenhuizen (63):

  • radv: Use correct vgpr_comp_cnt for VS if both prim_id and instance_id are needed.

  • radv: Emit VGT_GS_ONCHIP_CNTL for tess on GFX10.

  • radv: Disable NGG for geometry shaders.

  • tu: Set up glsl types.

  • radv: Only break batch on framebuffer change with dfsm.

  • radv: Disable dfsm by default even on Raven.

  • radv: Add DFSM support.

  • glx: Remove redundant null check.

  • amd: Build aco only if radv is enabled

  • radv: Add workaround for hang in The Surge 2.

  • turnip: Add image->image blitting.

  • turnip: Always use UINT formats for copies.

  • turnip: Disallow NPoT formats.

  • turnip: Add todo for d24_s8 copies

  • radv: Fix condition for skipping the continue CS.

  • radv: Fix warning in 32-bit build.

  • meson: Always add LLVM coroutines module.

  • amd/llvm: Fix warning due to asserted-only variable.

  • radv: Implement & enable VK_EXT_texel_buffer_alignment.

  • radv: Cleanup buffer_from_fd.

  • radv: Handle device memory alloc failure with normal free.

  • radv: Split out layout code from image creation.

  • radv: Delay patching for imported images until layout time.

  • radv: Handle slightly different image dimensions.

  • radv: Unset vk_info in radv_image_create_layout.

  • radv: Add VK_ANDROID_external_memory_android_hardware_buffer.

  • radv/android: Add android hardware buffer field to device memory.

  • radv/android: Add android hardware buffer queries.

  • radv: Disallow sparse shared images.

  • radv: Derive android usage from create flags.

  • radv: Deal with Android external formats.

  • radv/android: Add android hardware buffer import/export.

  • radv: Allow Android image binding.

  • radv: Expose image handle compat types for Android handles.

  • radv: Check the size of the imported buffer.

  • radv: Enable VK_ANDROID_external_memory_android_hardware_buffer.

  • nir/dead_cf: Remove dead control flow after infinite loops.

  • radv: Fix single stage constant flush with merged shaders.

  • radv: Compute hashes in secure process for secure compilation.

  • radv: Add an early exit in the secure compile if we already have the cache entries.

  • radv: Clean up unused variable.

  • radv: Split out commandbuffer submission.

  • radv: Do sparse binding in queue submission.

  • radv: Improve fence signalling in QueueSubmit.

  • radv: Always enable syncobj when supported for all fences/semaphores.

  • radv: Split semaphore into two parts as enum+union.

  • radv: Add temporary datastructure for submissions.

  • radv: Add timelines with a VK_KHR_timeline_semaphore impl.

  • radv: Add wait-before-submit support for timelines.

  • radv: Enable VK_KHR_timeline_semaphore.

  • radv: Start signalling semaphores in WSI acquire.

  • radv: Allocate space for temp. semaphore parts.

  • 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: Unify max_descriptor_set_size.

  • radv: Fix timeline semaphore refcounting.

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

Ben Crocker (1):

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

Boris Brezillon (73):

  • panfrost: Free the instruction object in mir_remove_instruction()

  • panfrost: Free all block/instruction objects before leaving midgard_compile_shader_nir()

  • panfrost: Make sure bundle.instructions[] contains valid instructions

  • Revert “panfrost: Free all block/instruction objects before leaving midgard_compile_shader_nir()”

  • panfrost: Use ralloc() to allocate instructions to avoid leaking those objs

  • panfrost: Reset the damage area on imported resources

  • panfrost: Add transient BOs to job batches

  • panfrost: s/job/batch/

  • panfrost: Pass a batch to panfrost_drm_submit_vs_fs_batch()

  • panfrost: Stop passing a ctx to functions being passed a batch

  • panfrost: Make transient allocation rely on the BO cache

  • panfrost: Convert ctx->{scratchpad, tiler_heap, tiler_dummy} to plain BOs

  • panfrost: Get rid of unused panfrost_context fields

  • panfrost: Get rid of the now unused SLAB allocator

  • panfrost: Rename pan_bo_cache.c into pan_bo.c

  • panfrost: Fix a list_assert() in schedule_block()

  • panfrost: Rework midgard_pair_load_store() to kill the nested foreach loop

  • panfrost: Use a pipe_framebuffer_state as the batch key

  • panfrost: Get rid of the unused ‘flush jobs accessing res’ infra

  • panfrost: Allow testing if a specific batch is targeting a scanout FB

  • panfrost: Pass a batch to panfrost_{allocate,upload}_transient()

  • panfrost: Pass a batch to functions emitting FB descs

  • panfrost: Use ctx->wallpaper_batch in panfrost_blit_wallpaper()

  • panfrost: Pass a batch to panfrost_set_value_job()

  • panfrost: Prepare things to avoid flushes on FB switch

  • panfrost: Delay payloads[].offset_start initialization

  • panfrost: Move the fence creation in panfrost_flush()

  • panfrost: Move the batch submission logic to panfrost_batch_submit()

  • panfrost: Stop exposing internal panfrost_*_batch() functions

  • panfrost: Use the correct type for the bo_handle array

  • panfrost: Add missing panfrost_batch_add_bo() calls

  • panfrost: Add polygon_list to the batch BO set at allocation time

  • panfrost: Kill a useless memset(0) in panfrost_create_context()

  • panfrost: Stop passing has_draws to panfrost_drm_submit_vs_fs_batch()

  • panfrost: Get rid of pan_drm.c

  • panfrost: Move panfrost_bo_{reference,unreference}() to pan_bo.c

  • panfrost: s/PAN_ALLOCATE_/PAN_BO_/

  • panfrost: Move the BO API to its own header

  • panfrost: Stop exposing panfrost_bo_cache_{fetch,put}()

  • panfrost: Don’t check if BO is mmaped before calling panfrost_bo_mmap()

  • panfrost: Stop passing screen around for BO operations

  • panfrost: Stop using panfrost_bo_release() outside of pan_bo.c

  • panfrost: Add panfrost_bo_{alloc,free}()

  • panfrost: Don’t return imported/exported BOs to the cache

  • panfrost: Add the panfrost_batch_create_bo() helper

  • panfrost: Add FBO BOs to batch->bos earlier

  • panfrost: Allocate tiler and scratchpad BOs per-batch

  • Revert “panfrost: Rework midgard_pair_load_store() to kill the nested foreach loop”

  • panfrost: Fix indexed draws

  • dEQP-GLES2.functional.buffer.write.use.index_array.* are passing now.

  • panfrost: Add the shader BO to the batch in patch_shader_state()

  • panfrost: Extend the panfrost_batch_add_bo() API to pass access flags

  • panfrost: Make panfrost_batch->bos a hash table

  • panfrost: Add a batch fence

  • panfrost: Use the per-batch fences to wait on the last submitted batch

  • panfrost: Add a panfrost_freeze_batch() helper

  • panfrost: Start tracking inter-batch dependencies

  • panfrost: Prepare panfrost_fence for batch pipelining

  • panfrost: Add a panfrost_flush_all_batches() helper

  • panfrost: Add a panfrost_flush_batches_accessing_bo() helper

  • panfrost: Add flags to reflect the BO imported/exported state

  • panfrost: Make sure the BO is ‘ready’ when picked from the cache

  • panfrost: Do fine-grained flushing when preparing BO for CPU accesses

  • panfrost: Kill the explicit serialization in panfrost_batch_submit()

  • panfrost: Get rid of the flush in panfrost_set_framebuffer_state()

  • Revert “st/dri2: Implement DRI2bufferDamageExtension”

  • Revert “Revert “st/dri2: Implement DRI2bufferDamageExtension””

  • panfrost: Make sure a clear does not re-use a pre-existing batch

  • panfrost: Draw the wallpaper when only depth/stencil bufs are cleared

  • panfrost: Fix support for packed 24-bit formats

  • panfrost: Fix the DISCARD_WHOLE_RES case in transfer_map()

  • gallium: Fix the ->set_damage_region() implementation

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

Brian Paul (3):

  • st/nir: fix illegal designated initializer in st_glsl_to_nir.cpp

  • REVIEWERS: add VMware reviewers

  • Call shmget() with permission 0600 instead of 0777

Caio Marcelo de Oliveira Filho (66):

  • intel/compiler: Silence maybe-uninitialized warning in GCC 9.1.1

  • anv: Drop unused local variable

  • compiler/glsl: Fix warning about unused function

  • intel/decoders: Avoid uninitialized variable warnings

  • iris: Guard GEN9-only function in Iris state to avoid warning

  • tgsi: Remove unused local

  • i965: Silence brw_blorp uninitialized warning

  • nir/lower_explicit_io: Handle 1 bit loads and stores

  • glsl/nir: Avoid overflow when setting max_uniform_location

  • mesa/st: Do not rely on name to identify special uniforms

  • compiler: Add glsl_contains_opaque() helper

  • mesa: Pack gl_program_parameter struct

  • glsl/nir: Fill in the Parameters in NIR linker

  • mesa: Fill Parameter storage indices even when not using SPIR-V

  • mesa/program: Associate uniform storage without using names

  • mesa/st: Lookup parameters without using names

  • mesa/st: Extract preprocessing NIR steps

  • mesa/st: Add support for SPIR-V shaders

  • mesa/st: Don’t expect prog->nir to already exist

  • mesa/spirv: Set a few more extensions

  • gallium: Add ARB_gl_spirv support

  • glsl/nir: Add and use a gl_nir_link() function

  • iris: Enable ARB_gl_spirv and ARB_spirv_extensions

  • mesa/st: Fallback to name lookup when the variable have no Parameter

  • spirv: Update JSON and headers to 1.5

  • spirv: Handle ShaderLayer and ShaderViewportIndex capabilities

  • spirv: Add missing break for capability handling

  • intel/fs: Add Fall-through comment

  • mesa: Extension boilerplate for EXT_demote_to_helper_invocation

  • glsl: Add ir_demote

  • glsl: Parse `demote` statement

  • glsl: Add helperInvocationEXT() builtin

  • gallium: Add PIPE_CAP_DEMOTE_TO_HELPER_INVOCATION

  • iris: Enable EXT_demote_to_helper_invocation

  • i965: Enable EXT_demote_to_helper_invocation

  • docs/relnotes: Add EXT_demote_to_helper_invocation support on iris, i965

  • docs: Fix GL_EXT_demote_to_helper_invocation name

  • vulkan: Update the XML and headers to 1.1.124

  • spirv: Implement SPV_KHR_shader_clock

  • anv: Implement VK_KHR_shader_clock

  • anv: Enable VK_EXT_shader_subgroup_{ballot,vote}

  • docs: Update recently enabled VK extensions on Intel

  • intel: Add INTEL_DEBUG=nofc for disabling fast clears

  • anv: Disable fast clears when running with INTEL_DEBUG=nofc

  • iris: Disable fast clears when running with INTEL_DEBUG=nofc

  • i965: Disable fast clears when running with INTEL_DEBUG=nofc

  • vulkan: Update the XML and headers to 1.1.125

  • anv: Advertise VK_KHR_spirv_1_4

  • intel/fs/gen12: Add tests for scoreboard pass

  • nir: Add scoped_memory_barrier intrinsic

  • nir/tests: Add copy propagation tests with scoped_memory_barrier

  • intel/fs: Implement scoped_memory_barrier

  • spirv: Parse memory semantics for atomic operations

  • spirv: Emit memory barriers for atomic operations

  • spirv: Add SpvMemoryModelVulkan and related capabilities

  • spirv: Add option to emit scoped memory barriers

  • spirv: Handle MakeTexelAvailable/Visible

  • spirv: Handle MakePointerAvailable/Visible

  • anv: Implement VK_KHR_vulkan_memory_model

  • spirv: Add imageoperands_to_string helper

  • spirv: Check that only one offset is defined as Image Operand

  • spirv: Add helper to find args of Image Operands

  • anv: Fix output of INTEL_DEBUG=bat for chained batches

  • spirv: Don’t fail if multiple ordering semantics bits are set

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

  • anv: Initialize depth_bounds_test_enable when not explicitly set

Chris Wilson (2):

  • iris: Allow packed RGB pbo uploads

  • st/mesa: Map MESA_FORMAT_RGB_UNORM8 <-> PIPE_FORMAT_R8G8B8_UNORM

Christian Gmeiner (13):

  • gallium: util_set_vertex_buffers_mask(..): make use of u_bit_consecutive(..)

  • etnaviv: a bit of micro-optimization

  • Revert “gallium: remove PIPE_CAP_TEXTURE_SHADOW_MAP”

  • etnaviv: disable ARB_shadow

  • etnaviv: etna_resource_copy_region(..): drop assert

  • etnaviv: support ARB_framebuffer_object

  • etnaviv: nir: start to make use of compile_error(..)

  • etnaviv: output the same shader-db format as freedreno, v3d and intel

  • etnaviv: fix compile warnings

  • etnaviv: fix code style

  • etnaviv: store updated usage in pipe_transfer object

  • etnaviv: keep track of buffer valid ranges for PIPE_BUFFER

  • etnaviv: remove dead code

Clément Guérin (1):

  • radeonsi: enable zerovram for Rocket League

Connor Abbott (40):

  • st/nir: Fix num_inputs for VS inputs

  • radeonsi/nir: Don’t recompute num_inputs and num_outputs

  • ac/nir: Handle const array offsets in get_deref_offset()

  • ac/nir: Assert GS input index is constant

  • radeonsi/nir: Don’t add const offset to indirect

  • radeonsi/nir: Add const_index when loading GS inputs

  • radeonsi/nir: Rewrite store intrinsic gathering

  • radeonsi/nir: Rewrite output scanning

  • ac/nir: add a workaround for viewing a slice of 3D as a 2D image

  • ac/nir: Remove gfx9_stride_size_workaround_for_atomic

  • ac/nir: Rewrite gather4 integer workaround based on radeonsi

  • ac/nir: Fix gather4 integer wa with unnormalized coordinates

  • nir: Fix num_ssbos when lowering atomic counters

  • ttn: Fill out more info fields

  • radeonsi/nir: Remove uniform variable scanning

  • radv/radeonsi: Don’t count read-only data when reporting code size

  • ac/nir: Support load_constant intrinsics

  • ac/nir: Enable nir_opt_large_constants

  • st/nir: Call nir_remove_unused_variables() in the opt loop

  • st/nir: Don’t lower indirects when linking

  • gallium: Plumb through a way to disable GLSL const lowering

  • radeonsi/nir: Don’t lower constant arrays to uniforms

  • radv: Call nir_propagate_invariant()

  • lima/gpir: Do all lowerings before rsched

  • lima/gpir: Ignore unscheduled successors in can_use_complex()

  • lima/gpir: Fix schedule_first insertion logic

  • lima/gpir: Fix fake dep handling for schedule_first nodes

  • lima/gpir: Disallow moves for schedule_first nodes

  • nir/opt_if: Fix undef handling in opt_split_alu_of_phi()

  • lima/gpir: Fix compiler warning

  • lima/gpir: Only try to place actual children

  • lima/gpir: Support branch instructions

  • lima/gpir: Use registers for values live in multiple blocks

  • lima/gpir: Fix postlog2 fixup handling

  • lima/gpir: Don’t emit movs when translating from NIR

  • lima/gpir: Fix 64-bit shift in scheduler spilling

  • nir/opt_large_constants: Handle store writemasks

  • nir: Fix overlapping vars in nir_assign_io_var_locations()

  • nir/sink: Rewrite loop handling logic

  • nir/sink: Don’t sink load_ubo to outside of its defining loop

Daniel Kolesa (1):

  • util: add auxv based PowerPC AltiVec/VSX detection

Daniel Schürmann (44):

  • nir/algebraic: some subtraction optimizations

  • aco: Initial commit of independent AMD compiler

  • radv/aco: Setup alternate path in RADV to support the experimental ACO compiler

  • radv: enable clustered reductions

  • radv/aco: enable VK_EXT_shader_demote_to_helper_invocation

  • radv: remove dead shared variables

  • aco: only emit waitcnt on loop continues if we there was some load or export

  • freedreno: Enable the nir_opt_algebraic_late() pass.

  • nir: recombine nir_op_*sub when lower_sub = false

  • nir: Remove unnecessary subtraction optimizations

  • radv/aco: Don’t lower subtractions

  • aco: call nir_opt_algebraic_late() exhaustively

  • nouveau: set lower_sub = true

  • aco: re-use existing phi instruction when lowering boolean phis

  • aco: don’t reorder instructions in order to lower boolean phis

  • aco: don’t combine minmax3 if there is a neg or abs modifier in between

  • aco: ensure that uniform booleans are computed in WQM if their uses happen in WQM

  • aco: refactor value numbering

  • aco: restrict scheduling depending on max_waves

  • aco: only skip RAR dependencies if the variable is killed somewhere

  • aco: add can_reorder flags to load_ubo and load_constant

  • aco: don’t schedule instructions through depending VMEM instructions

  • aco: Lower to CSSA

  • aco: improve live variable analysis

  • aco: remove potential critical edge on loops.

  • aco: fix live-range splits of phis

  • aco: fix transitive affinities of spilled variables

  • aco: don’t insert the exec mask into set of live-out variables when spilling

  • aco: consider loop_exit blocks like merge blocks, even if they have only one predecessor

  • aco: don’t add interferences between spilled phi operands

  • aco: simplify calculation of target register pressure when spilling

  • aco: ensure that spilled VGPR reloads are done after p_logical_start

  • aco: omit linear VGPRs as spill variables

  • aco: always set scratch_offset in startpgm

  • aco: implement VGPR spilling

  • docs/relnotes/new_features.txt: Add note about ACO

  • 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: don’t split live-ranges of linear VGPRs

  • aco: fix a couple of value numbering issues

Daniel Stone (1):

  • panfrost: Respect offset for imported resources

Danilo Spinella (1):

  • egl: Include stddef.h in generated source

Danylo Piliaiev (10):

  • nir/loop_unroll: Update the comments for loop_prepare_for_unroll

  • nir/loop_unroll: Prepare loop for unrolling in wrapper_unroll

  • nir/loop_analyze: Treat do{}while(false) loops as 0 iterations

  • glsl: Fix unroll of do{} while(false) like loops

  • tgsi_to_nir: Translate TGSI_INTERPOLATE_COLOR as INTERP_MODE_NONE

  • iris: Fix fence leak in iris_fence_flush

  • st/nine: Ignore D3DSIO_RET if it is the last instruction in a shader

  • intel/compiler: Fix C++ one definition rule violations

  • glsl: Initialize all fields of ir_variable in constructor

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

Dave Airlie (75):

  • virgl: drop unused format field

  • virgl: fix format conversion for recent gallium changes.

  • gallivm: fix atomic compare-and-swap

  • llvmpipe: refactor jit type creation

  • gallivm: make lp_build_float_to_r11g11b10 take a const src

  • gallivm: handle helper invocation (v2)

  • gallivm: move first/last level jit texture members.

  • llvmpipe: handle early test property.

  • gallivm: add a basic image limit

  • llvmpipe: move the fragment shader variant key to dynamic length.

  • draw: add jit image type for vs/gs images.

  • llvmpipe: introduce image jit type to fragment shader jit.

  • gallivm/tgsi: add image interface to tgsi builder

  • gallivm: add image load/store/atomic support

  • draw: add vs/gs images support

  • llvmpipe: add fragment shader image support

  • llvmpipe: bind vertex/geometry shader images

  • gallivm: add support for fences api on older llvm

  • gallivm: add memory barrier support

  • llvmpipe: flush on api memorybarrier.

  • llvmpipe: enable ARB_shader_image_load_store

  • docs: add shader image extensions for llvmpipe

  • gallivm: fix appveyor build after images changes

  • gallivm: disable accurate cube corner for integer textures.

  • llvmpipe: enable fb no attach

  • gallivm/flow: add counter reset for loops

  • gallivm: add coroutine support files to gallivm.

  • gallivm: add coroutine pass manager support

  • llvmpipe: reogranise jit pointer ordering

  • gallivm: add new compute related intrinsics

  • gallivm: add support for compute shared memory

  • llvmpipe: add compute threadpool + mutex

  • gallivm: add barrier support for compute shaders.

  • llvmpipe: introduce compute shader context

  • llvmpipe: add initial compute state structs

  • gallivm: add compute jit interface.

  • llvmpipe: add compute debug option

  • llvmpipe: add initial shader create/bind/destroy variants framework.

  • llvmpipe: introduce new state dirty tracking for compute.

  • llvmpipe: introduce variant building infrastrucutre.

  • llvmpipe: add compute shader generation.

  • llvmpipe: add grid launch

  • llvmpipe: add compute pipeline statistics support.

  • llvmpipe: add support for compute constant buffers.

  • llvmpipe: add compute sampler + sampler view support.

  • llvmpipe: add ssbo support to compute shaders

  • llvmpipe: add compute shader images support

  • llvmpipe: add compute shader parameter fetching support

  • llvmpipe: add local memory allocation path

  • llvmpipe: enable compute shaders if LLVM has coroutines

  • docs: add llvmpipe features for fb_no_attach and compute shaders

  • st/mesa: Prefer R8 for bitmap textures

  • st/mesa: fix R8 bitmap texture for TGSI paths.

  • llvmpipe: make texture buffer offset alignment == 16

  • llvmpipe/draw: fix image sizes for vertex/geometry shaders.

  • llvmpipe/draw: handle UBOs that are < 16 bytes.

  • gallivm/sample: add gather component selection to the key.

  • gallium: add a a new cap for changing the TGSI TG4 instruction encoding

  • st/glsl: add support for alternate TG4 encoding.

  • llvmpipe: add support for tg4 component selection.

  • gallivm: fix coroutines on aarch64 with llvm 8

  • gallivm/draw/swr: make the gs_iface not depend on tgsi.

  • nir: add a pass to lower flat shading.

  • gallium: add flatshade lowering capability

  • st/mesa: handling lower flatshading for NIR drivers.

  • llvmpipe: handle compute shader launch with 0 threads

  • zink: ask for flatshade lowering

  • zink: add dri loader

  • zink: query support (v2)

  • zink/spirv: store all values as uint.

  • zink: add support for compressed formats

  • zink: add sample mask support

  • zink: add samples to rasterizer

  • zink: attempt to get multisample resource creation right

  • llvmpipe/ppc: fix if/ifdef confusion in backport.

Dave Stevenson (1):

  • broadcom/v3d: Allow importing linear BOs with arbitrary offset/stride.

Duncan Hopkins (7):

  • zink: clamped limits to INT_MAX when stored as uint32_t.

  • zink: fix line-width calculation

  • zink: respect ubo buffer alignment requirement

  • zink: limited uniform buffer size so the limits is not exceeded.

  • zink: pass line width from rast_state to gfx_pipeline_state.

  • zink: Use optimal layout instead of general. Reduces valid layer warnings. Fixes RADV image noise.

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

Dylan Baker (120):

  • docs: Mark 19.2.0-rc2 as done and push back rc3 and rc4/final

  • glsl/tests: Handle windows \rn new lines

  • meson: don’t try to generate i18n translations on windows

  • meson: Make shared-glapi a combo

  • meson: don’t build glapi_static_check_table on windows

  • add a git ignore for subprojects

  • meson: add a zlib subproject

  • meson: add a expat subproject

  • glapi: export glapi_destroy_multithread when building shared-glapi on windows

  • meson: fix dl detection on non cygwin windows

  • meson: build getopt when using msvc

  • meson: Add a platform for windows

  • meson: don’t build glx or dri by default on windows

  • meson: don’t allow glvnd on windows

  • meson: don’t generate file into subdirs

  • Docs: mark that 19.2.0-rc3 has been released

  • scons: Make scons and meson agree about path to glapi generated headers

  • docs: Add release notes for 19.2.0

  • docs: add SHA256 sum for 19.2.0

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

  • release: Push 19.3 back two weeks

  • bin/get-pick-list: use –oneline=pretty instead of –oneline

  • meson: fix logic for generating .pc files with old glvnd

  • meson: Try finding libxvmcw via pkg-config before using find_library

  • meson: Link xvmc with libxv

  • meson: gallium media state trackers require libdrm with x11

  • docs: update install docs for meson

  • docs: use https for mesonbuild.com

  • docs: remove stray newline

  • meson: remove -DGALLIUM_SOFTPIPE from st/osmesa

  • docs: Add use of Closes: tag for closing gitlab issues

  • docs: add a new_features.text file and remove 19.3.0 release notes

  • scripts: Add a gen_release_notes.py script

  • release: Add an update_release_calendar.py script

  • bin: delete unused releasing scripts

  • meson: Only error building gallium video without libdrm when the platform is drm

  • docs: Add relnotes for 19.2.1

  • docs: Add SHA256 sum for 19.2.1

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

  • util: use _WIN32 instead of WIN32

  • meson: add windows compiler checks and libraries

  • meson: Add windows defines to glapi

  • meson: Add necessary defines for mesa_gallium on windows

  • meson: build gallium gdi winsys

  • meson: build wgl state tracker

  • meson: build libgl-gdi target

  • meson: build graw-gdi target

  • meson: fix gallium-osmesa to build for windows

  • meson: Don’t check for posix_memalign on windows

  • util/xmlconfig: include strndup.h for windows

  • meson: fix pipe-loader compilation for windows

  • meson: don’t look for rt on windows

  • meson: Add support for using win_flex and win_bison on windows

  • meson: force inclusion of inttypes.h for glcpp with msvc

  • meson: disable sse4.1 optimizations with msvc

  • meson: add switches for SWR with MSVC

  • meson: don’t define USE_ELF_TLS for windows

  • meson: Add idep_getopt for tests

  • meson: Add msvc compat args to util/tests

  • meson: Set visibility and compat args for graw

  • meson: don’t build gallium trivial tests on windows

  • meson: disable graw tests on mingw

  • meson: don’t build or run mesa-sha1 test on windows

  • meson: maintain names of shared API libraries

  • meson: add msvc compat args to swr

  • meson: don’t error on formaters with mingw

  • meson: only build timspec test if timespec is available

  • meson: glcpp tests are expected to fail on windows

  • meson/util: Don’t run string_buffer tests on mingw

  • glsl/tests: Handle no-exec errors

  • docs: update meson docs for windows

  • appveyor: Add support for meson as well as scons on windows

  • gitlab-ci: Add a mingw x86_64 job

  • meson: Don’t use expat on windows

  • gitlab-ci: Add a pkg-config for mingw

  • Revert “gitlab-ci: Disable meson-mingw32-x86_64 job again for now”

  • gitlab-ci: Set the meson wrapmode to disabled

  • appveyor: Cache meson’s wrap downloads

  • meson/llvmpipe: Add dep_llvm to driver_swrast

  • meson: Add support for wrapping llvm

  • meson: Use cmake to find LLVM when building for windows

  • docs: update meson docs for windows

  • appveyor: Add support for building llvmpipe with meson

  • appveyor: Move appveyor script into .appveyor directory

  • docs: Add new feature for compiling for windows with meson

  • meson: Require meson >= 0.49.1 when using icc or icl

  • scons: Use print_function ins SConstruct

  • scons: Print a deprecation warning about using scons on not windows

  • scons: Also print a deprecation warning on windows

  • docs: Add release not about scons deprecation

  • docs: Add release notes for 19.2.2

  • docs: Add sha256 sum for 19.2.2

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

  • bin/gen_release_notes.py: fix conditional of bugfix

  • bin/gen_release_notes.py: strip ‘#’ from gitlab bugs

  • bin/gen_release_notes.py: Return “None” if there are no new features

  • bin/post_version.py: Pass version as an argument

  • bin/post_version.py: white space fixes

  • bin/post_release.py: Add .html to hrefs

  • bin/gen_release_notes.py: html escape all external data

  • bin/gen_release_notes.py: Add a warning if new features are introduced in a point release

  • docs: update releasing process to use new scripts and gitlab

  • nir: Fix invalid code for MSVC

  • gitlab-ci: refactor out some common stuff for Windows and Linux

  • gitlab-ci: Add a job for meson on windows

  • VERSION: bump to rc1

  • nir: correct use of identity check in python

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

  • Bump VERSION to 19.3.0-rc2

  • cherry-ignore: Update for 19.3-rc3 cycle

  • Bump version for -rc3

  • cherry-ignore: update for 19.3.0-rc4 cycle

  • VERSION: bump for 19.3.0-rc4

  • VERSION: Bump version for -rc5

  • VERSION: bump version for 19.3-rc6

  • cherry-ignore: update for 19.3-rc7

  • meson/broadcom: libbroadcom_cle needs expat headers

  • meson/broadcom: libbroadcom_cle also needs zlib

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

  • Revert “egl: move #include of local headers out of Khronos headers”

Eduardo Lima Mitev (4):

  • nir: Add new texop nir_texop_tex_prefetch

  • freedreno/ir3: Add a NIR pass to select tex instructions eligible for pre-fetch

  • nir: Add a new ALU nir_op_imad24_ir3

  • freedreno/ir3: Handle newly added opcode nir_op_imad24_ir3

Emil Velikov (3):

  • mesa: bump version to 19.3.0-devel

  • docs: add 19.3.0-devel release notes template

  • docs: update calendar for 19.2.x

Eric Anholt (57):

  • gallium: Add a block depth field to the u_formats table.

  • gallium: Add block depth to the format utils.

  • gallium: Add the ASTC 3D formats.

  • gallium: Fix mesa format name in unit test failure path.

  • gallium: Skip generating the pack/unpack union if we don’t use it.

  • gallium: Drop the useless union wrapper on pack/unpack.

  • gallium: Drop a bit of dead code from the pack/unpack python.

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

  • gallium: Don’t emit identical endian-dependent pack/unpack code.

  • freedreno/a6xx: Fix non-mipmap filtering selection.

  • freedreno: Fix the type of single-component scaled vertex attrs.

  • gallium/osmesa: Introduce a test.

  • gallium/osmesa: Fix a race in creating the stmgr.

  • gallium/osmesa: Move 565 format selection checks where the rest are.

  • uapi: Update drm_fourcc.h

  • dri: Use DRM_FORMAT_* instead of defining our own copy.

  • gitlab-ci: Disable dEQP’s watchdog timer.

  • gitlab-ci: Log the driver version that got tested.

  • freedreno: Introduce gitlab-based CI.

  • gitlab-ci/a630: Disable flappy layout_binding.ssbo.fragment_binding_array

  • egl/android: Fix build since the DRI fourcc removal.

  • gitlab-ci/a630: Drop remaining dEQP-GLES3.functional.draw.random.* xfails.

  • gitlab-ci/a630: Drop the MSAA expected failure.

  • gitlab-ci: Make the test job fail when bugs are unexpectedly fixed.

  • freedreno: Fix invalid read when a block has no instructions.

  • freedreno/a3xx: Mostly fix min-vs-mag filtering decisions on non-mipmap tex.

  • shader_enums: Move MAX_DRAW_BUFFERS to this file.

  • turnip: Add a .editorconfig and .dir-locals.el

  • turnip: Silence compiler warning about uninit pipeline.

  • turnip: Fix failure behavior of vkCreateGraphicsPipelines.

  • vc4: Enable the nir_opt_algebraic_late() pass.

  • v3d: Enable the late algebraic optimizations to get real subs.

  • nir: Make nir_search’s dumping go to stderr.

  • nir: Skip emitting no-op movs from the builder.

  • nir: Keep the range analysis HT around intra-pass until we make a change.

  • nir: Factor out most of the algebraic passes C code to .c/.h.

  • nir: Fix some wonky whitespace in nir_search.h.

  • turnip: Drop unused tu_pack_clear_value() return.

  • turnip: Fill in clear color packing for r10g11b11 and rgb9e5.

  • turnip: Tell spirv_to_nir that we want fragcoord as a sysval.

  • turnip: Set up the correct tiling mode for small attachments.

  • turnip: Emit clears of gmem using linear.

  • freedreno/ci: Ban texsubimage2d_pbo.r16ui_2d, due to two flakes reported.

  • mesa: Add debug info to _mesa_format_from_format_and_type() error path.

  • mesa: Fix depth/stencil ordering in _mesa_format_from_format_and_type().

  • mesa: Add format/type matching for DEPTH/UINT_24_8.

  • mesa: Add support for array formats of depth and stencil.

  • mesa: Refactor the entirety of _mesa_format_matches_format_and_type().

  • v3d: Add Compute Shader support

  • r100/r200: factor out txformat/txfilter setup from the TFP path.

  • radeon: Fill in the TXOFFSET field containing the tile bits in our relocs.

  • radeon: Drop the unused first arg of OUT_BATCH_RELOC.

  • mesa: Replace the LA16_UNORM packed formats with one array format.

  • mesa: Replace MESA_FORMAT_L8A8/A8L8 UNORM/SNORM/SRGB with an array format.

  • gallium: Drop the unused PIPE_FORMAT_A*L* formats.

  • mesa: Redefine the RG formats as array formats.

  • ci: Disable lima until its farm can get fixed.

Eric Engestrom (104):

  • scons: define MESA_LLVM_VERSION_STRING like the other build systems do

  • llvmpipe: use LLVM version string instead of re-computing it

  • swr: use LLVM version string instead of re-computing it

  • scons: add support for MAJOR_IN_{MKDEV,SYSMACROS}

  • egl: warn user if they set an invalid EGL_PLATFORM

  • ttn: fix 64-bit shift on 32-bit `1`

  • egl: fix deadlock in malloc error path

  • util/os_file: fix double-close()

  • anv: fix format string in error message

  • freedreno/drm-shim: fix mem leak

  • nir: fix memleak in error path

  • gallivm: replace `0x` version print with actual version string

  • meson/scons/android: add LLVM_AVAILABLE binary flag

  • aux/draw: replace binary HAVE_LLVM checks with LLVM_AVAILABLE

  • r600: replace binary HAVE_LLVM checks with LLVM_AVAILABLE

  • svga: replace binary HAVE_LLVM checks with LLVM_AVAILABLE

  • amd: replace major llvm version checks with LLVM_VERSION_MAJOR

  • swr: replace major llvm version checks with LLVM_VERSION_MAJOR

  • gallivm: replace major llvm version checks with LLVM_VERSION_MAJOR

  • clover: replace major llvm version checks with LLVM_VERSION_MAJOR

  • gallivm: replace more complex 3.x version check with LLVM_VERSION_MAJOR/MINOR

  • clover: replace more complex 3.x version check with LLVM_VERSION_MAJOR/MINOR

  • llvmpipe: replace more complex 3.x version check with LLVM_VERSION_MAJOR/MINOR

  • meson/scons/android: drop now-unused HAVE_LLVM

  • gallivm: drop LLVM<3.3 code paths as no build system allows that

  • anv: add support for driconf

  • wsi: add minImageCount override

  • anv: add support for vk_x11_override_min_image_count

  • amd: move adaptive sync to performance section, as it is defined in xmlpool

  • radv: add support for vk_x11_override_min_image_count

  • drirc: override minImageCount=2 for gfxbench

  • meson/iris: replace partial list of nir dep files with idep_nir_headers

  • meson/v3d: replace partial list of nir dep files with idep_nir_headers

  • gitlab-ci: rename stages to something simpler

  • gl: drop incorrect pkg-config file for glvnd

  • anv: split instance dispatch table

  • anv: implement ICD interface v4

  • meson: split compiler warnings one per line

  • radv: fix s/load/store/ copy-paste typo

  • meson: drop -Wno-foo bug workaround for Meson < 0.46

  • meson: split more compiler options to their own line

  • meson: re-add incorrect pkg-config files with GLVND for backward compatibility

  • docs/release-calendar: fix bugfix release numbers

  • docs/release-calendar: add missing <td> and </td>

  • glsl: turn runtime asserts of compile-time value into compile-time asserts

  • etnaviv: fix bitmask typo

  • docs/install: drop autotools references

  • git: delete .gitattributes

  • egl: replace MESA_EGL_NO_X11_HEADERS hack with upstream EGL_NO_X11

  • loader: replace int/1/0 with bool/true/false

  • loader: s/int/bool/ for predicate result

  • loader: use ARRAY_SIZE instead of NULL sentinel

  • meson/loader: drop unneeded *.h file

  • script: drop get_reviewer.pl

  • meson: add missing idep_nir_headers in iris_gen_libs

  • meson: use idep_nir instead of libnir in libnouveau

  • meson: use idep_nir instead of libnir in libclnir

  • meson: use idep_nir instead of libnir in gallium nine

  • meson: use idep_nir instead of libnir in haiku softpipe

  • meson: use idep_nir instead of libnir in pipe-loader

  • meson: rename libnir to _libnir to make it clear it’s not meant to be used anywhere else

  • meson: drop duplicate inc_nir from libiris

  • meson: drop duplicate inc_nir from libglsl

  • meson: drop duplicate inc_nir from spirv2nir

  • meson: drop unused inc_nir

  • include: update drm-uapi

  • meson: fix sys/mkdev.h detection on Solaris

  • GL: drop symbols mangling support

  • meson: rename `glvnd_missing_pc_files` to `not glvnd_has_headers_and_pc_files`

  • meson: move a couple of include installs around

  • meson: split headers one per line

  • meson: split Mesa headers as a separate installation

  • meson: skip installation of GLVND-provided headers

  • symbols-check: ignore exported C++ symbols

  • anv: add exported symbols check

  • radv: add exported symbols check

  • gbm: turn 0/-1 bool into true/false

  • gbm: replace 1/0 bool with true/false

  • gbm: replace NULL sentinel with explicit ARRAY_SIZE()

  • gbm: use size_t for array indexes

  • gitlab-ci: set a common job parent for container stage

  • gitlab-ci: set a common job parent for build stage

  • gitlab-ci: set a common job parent for test stage

  • mesa/math: delete leftover… from 18 years ago (!)

  • mesa/math: delete duplicate extern symbol

  • util/u_atomic: fix return type of p_atomic_{inc,dec}_return() and p_atomic_{cmp,}xchg()

  • travis: don’t (re)install python

  • travis: test meson install as well

  • osmesa: add missing #include <stdint.h>

  • llvmpipe: avoid compiling no-op block on release builds

  • llvmpipe: avoid generating empty-body blocks

  • meson: add -Werror=empty-body to disallow `if(x);`

  • anv: fix error message

  • anv: fix empty-body instruction

  • radv: fix empty-body instruction

  • v3d: fix empty-body instruction

  • tu: fix empty-body instruction

  • anv: add a couple printflike() annotations

  • loader: default to iris for all future PCI IDs

  • travis: fix scons build after deprecation warning

  • meson: define _GNU_SOURCE on FreeBSD

  • egl: fix _EGL_NATIVE_PLATFORM fallback

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

  • vulkan: delete typo’d header

Erico Nunes (7):

  • lima: fix ppir spill stack allocation

  • lima/ppir: lower selects to scalars

  • lima/ppir: enable vectorize optimization

  • lima/ppir: mark regalloc created ssa unspillable

  • lima/ppir: optimizations in regalloc spilling code

  • lima/ppir: improve regalloc spill cost calculation

  • lima: remove partial clear support from pipe->clear()

Erik Faye-Lund (210):

  • gallium/auxiliary/indices: consistently apply start only to input

  • mesa/main: remove unused include

  • util: fix SSE-version needed for double opcodes

  • util: do not assume MSVC implies SSE

  • mesa/x86: improve SSE-checks for MSVC

  • util: only allow _BitScanReverse64 on 64-bit cpus

  • gallium/gdi: use GALLIUM_FOO rather than HAVE_FOO

  • st/mesa: remove always-true expression

  • .mailmap: add an alias for Michel Dänzer

  • .mailmap: add an alias for Eric Engestrom

  • .mailmap: add an alias for Bas Nieuwenhuizen

  • .mailmap: add an alias for Frank Binns

  • glsl: correct bitcast-helpers

  • loader/dri3: do not blit outside old/new buffers

  • .mailmap: specify spelling for Elie Tournier

  • .mailmap: add an alias for Alexandros Frantzis

  • .mailmap: add an alias for Gert Wollny

  • .mailmap: add an alias for Tomeu Vizoso

  • .mailmap: add a couple of aliases for Jakob Bornecrantz

  • nir: initialize uses_discard to false

  • nir: initialize needs_helper_invocations as well

  • mesa/main: prefer R8-textures instead of A8 for glBitmap in display lists

  • gallium/u_blitter: set a more sane viewport-state

  • mesa: expose alpha-ref as a state-variable

  • nir: allow passing alpha-ref state to lowering-code

  • mesa/gallium: automatically lower alpha-testing

  • st/mesa: move point_size_per_vertex-logic to helper

  • nir: add lowering-pass for point-size mov

  • mesa/gallium: automatically lower point-size

  • nir: support derefs in two-sided lighting lowering

  • mesa/gallium: automatically lower two-sided lighting

  • nir: support lowering clipdist to arrays

  • nir: support feeding state to nir_lower_clip_[vg]s

  • mesa/program: support referencing the clip-space clip-plane state

  • mesa/st: support lowering user-clip-planes automatically

  • panfrost: do not report alpha-test as supported

  • vc4: do not report alpha-test as supported

  • v3d: do not report alpha-test as supported

  • nir: drop support for using load_alpha_ref_float

  • nir: drop unused alpha_ref_float

  • mesa/st: assert that lowering is supported

  • Revert “nir: drop unused alpha_ref_float”

  • Revert “nir: drop support for using load_alpha_ref_float”

  • Revert “v3d: do not report alpha-test as supported”

  • Revert “vc4: do not report alpha-test as supported”

  • zink: introduce opengl over vulkan

  • zink: detect presence of VK_KHR_maintenance1

  • zink/spirv: implement point-sprites

  • zink: transform z-range

  • zink: remove discard_if

  • zink/spirv: implement some integer ops

  • zink/spirv: handle reading registers

  • zink/spirv: prepare for control-flow

  • zink/spirv: implement if-statements

  • zink/spirv: implement discard

  • zink/spirv: implement loops

  • zink: prepare for caching of renderpases/framebuffers

  • zink: move render-pass begin to helper

  • zink: do not leak image-views

  • zink: move cmdbuf-resetting into a helper

  • zink: prepare for multiple cmdbufs

  • zink: pass zink_render_pass to pipeline-creation

  • zink: cache programs

  • zink: move renderpass inside gfx pipeline state

  • zink: cache those pipelines

  • zink: reference renderpass and framebuffer from cmdbuf

  • zink: return old fence from zink_flush

  • zink: reference vertex and index buffers

  • zink: reference ubos and textures

  • zink: wait for idle on context-destroy

  • zink: whitespace cleanup

  • zink: reference blit/copy-region resources

  • zink: add curr_cmdbuf-helper

  • zink: delete samplers after the current cmdbuf

  • zink: texture-rects?

  • zink: store shader_info in zink_shader

  • zink: implement fmod

  • zink: track used resources

  • zink: do not destroy staging-resource, deref it

  • zink: use uvec for undefs

  • zink: emit dedicated block for variables

  • zink: ensure non-fragment shaders use lod-versions of texture

  • zink: ensure textures are transitioned properly

  • zink: assign increasing locations to varyings

  • zink: move primitive-topology stuff into program

  • zink: tweak state handling

  • zink: remove unusual alignment

  • zink: return after blitting

  • zink: implement batching

  • zink: simplify renderpass/framebuffer logic a tad

  • zink: cache render-passes

  • zink: cache framebuffers

  • zink: more batch-ism

  • zink: use helper

  • zink: fixup parameter name

  • zink: ensure sampler-views survive a batch

  • zink: remove hack-comment

  • zink: clean up render-pass management

  • zink: rename sampler-view destroy function

  • zink: pass screen instead of device to program-functions

  • zink: keep a reference to used render-passes

  • zink: prepare for shadow-samplers

  • zink: kill dead code

  • zink: clamp scissors

  • zink: do not use hash-table for regs

  • zink: squashme: forward declare hash_table

  • zink: squashme: trade cplusplus wrapper for header-guard

  • zink: fix off-by-one in assert

  • zink: reuse constants

  • zink: pool descriptors per batch

  • zink: request alpha-test lowering

  • zink/spirv: var -> regs

  • zink/spirv: rename vec_type

  • zink: do not lower io

  • zink: request ucp-lowering

  • zink: cleanup zink_end_batch

  • zink: drop unused argument

  • zink: refactor fence destruction

  • zink: only consider format-desc if checking details

  • zink: document end-of-frame hack

  • zink: use pipe_stencil_ref instead of uint32_t-array

  • zink: store sampler and image_view counts

  • zink: save original scissor and viewport

  • zink: save all supported util_blitter states

  • zink: process one aspect-mask bit at the time

  • zink: clean up opcode-emitting a bit

  • zink: add some opcodes

  • zink: add division ops

  • zink: add shift ops

  • zink: implement ineg

  • zink: more comparison-ops

  • zink: more converts

  • zink: add more compares

  • zink: crash hard on unknown queries

  • zink: abort on submit-failure

  • zink: stub resource_from_handle

  • zink: make sure imageExtent.depth is 1 for arrays

  • zink/spirv: correct opcode

  • zink: support more texturing

  • zink: wait for transfer when reading

  • zink/spirv: be a bit more strict with fragment-results

  • zink/spirv: debug-print unknown varying slots

  • zink: ensure layout is reasonable before copying

  • zink: fixup: save rasterizer

  • zink: set ExecutionModeDepthReplacing when depth is written

  • zink: avoid texelFetch until it’s implemented

  • zink: remove insecure comment

  • zink: don’t crash when setting rast-state to NULL

  • zink: add note about enabling PIPE_CAP_CLIP_HALFZ

  • zink/spirv: always enable Sampled1D for fragment shaders

  • zink: do not use both depth and stencil aspects for sampler-views

  • zink/spirv: support vec1 coordinates

  • zink: fixup boolean queries

  • zink: disable timestamp-queries

  • zink: move set_active_query_state-stub to zink_query.c

  • HACK: zink: suspend / resume queries on batch-boundaries

  • zink: also accept txl

  • zink: use primconvert to get rid of 8-bit indices

  • zink: initialize nr_samples for pipe_surface

  • zink: fix rendering to 3D-textures

  • zink: support shadow-samplers

  • zink: disable PIPE_CAP_QUERY_TIME_ELAPSED for now

  • zink: add missing sRGB DXT-formats

  • zink: lower point-size

  • zink/spirv: use ordered compares

  • zink/spirv: implement f2b1

  • zink/spirv: assert bit-size

  • zink/spirv: implement bcsel

  • zink/spirv: implement bitwise ops

  • zink/spirv: implement b2i32

  • zink/spirv: implement emit_select helper

  • zink/spirv: implement emit_float_const helper

  • zink/spirv: use bit_size instead of hard-coding

  • zink/spirv: add emit_bitcast-helper

  • zink/spirv: add emit_uint_const-helper

  • zink/spirv: inline get_uvec_constant into emit_load_const

  • zink/spirv: clean up get_[fu]vec_constant

  • zink/spirv: fixup b2i32 and implement b2f32

  • zink/spirv: prepare for 1-bit booleans

  • zink: do not lower bools to float

  • zink/spirv: fixup b2i32

  • zink/spirv: implement load_front_face

  • zink/spirv: alias generic varyings on non-generic ones

  • zink: lower two-sided coloring

  • zink/spirv: alias var0 on tex0 etc instead

  • zink: do not set VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for non-3D textures

  • zink: use VK_FORMAT_B8G8R8A8_UNORM for PIPE_FORMAT_B8G8R8X8_UNORM

  • zink: implement resource_from_handle

  • zink: refactor blitting

  • zink: fixup return-value

  • zink: pass screen to zink_create_gfx_pipeline

  • zink: do not set lineWidth to invalid value

  • zink: fixup scissoring

  • zink/spirv: more complete sampler-dim handling

  • zink: simplify gl-to-vulkan lowering

  • gitlab-ci: also build Zink on CI

  • gitlab-ci: fixup debian tags

  • zink: error if VK_KHR_maintenance1 isn’t supported

  • zink: emulate optional depth-formats

  • st/mesa: lower global vars to local after lowering clip

  • zink: use dynamic state for line-width

  • zink: use bitfield for dirty flagging

  • zink: drop nop descriptor-updates

  • zink: only enable KHR_external_memory_fd if supported

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

  • 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: correct depth-stencil format

Francisco Jerez (56):

  • intel/fs: Teach fs_inst::is_send_from_grf() about some missing send-like instructions.

  • intel/fs: Define is_payload() method of the IR instruction class.

  • intel/fs: Define is_send() convenience IR helper.

  • intel/fs: Fix constness of implied_mrf_writes() argument.

  • intel/eu: Split brw_inst ex_desc accessors for SEND(C) vs. SENDS(C).

  • intel/eu: Fix up various type conversions in brw_eu.c that are illegal C++.

  • intel/eu: Rework opcode description tables to allow efficient look-up by either HW or IR opcode.

  • intel/eu: Encode and decode native instruction opcodes from/to IR opcodes.

  • intel/ir: Drop hard-coded correspondence between IR and HW opcodes.

  • intel/ir: Represent physical and logical subsets of the CFG.

  • intel/ir: Add helper function to push block onto CFG analysis stack.

  • intel/ir: Represent logical edge of BREAK instruction.

  • intel/ir: Represent physical edge of ELSE instruction.

  • intel/ir: Represent physical edge of unconditional CONTINUE instruction.

  • intel/eu/gen12: Extend brw_inst.h macros for Gen12 support.

  • intel/eu/gen12: Add sanity-check asserts to brw_inst_bits() and brw_inst_set_bits().

  • intel/eu/gen12: Implement basic instruction binary encoding.

  • intel/eu/gen12: Implement three-source instruction binary encoding.

  • intel/eu/gen12: Implement control flow instruction binary encoding.

  • intel/eu/gen12: Implement SEND instruction binary encoding.

  • intel/eu/gen12: Implement indirect region binary encoding.

  • intel/eu/gen12: Implement compact instruction binary encoding.

  • intel/eu/gen12: Implement datatype binary encoding.

  • intel/eu/gen11+: Mark dot product opcodes as unsupported on opcode_descs table.

  • intel/eu/gen12: Add Gen12 opcode descriptions to the table.

  • intel/eu/gen12: Fix codegen of immediate source regions.

  • intel/eu/gen12: Codegen three-source instruction source and destination regions.

  • intel/eu/gen12: Codegen control flow instructions correctly.

  • intel/eu/gen12: Codegen pathological SEND source and destination regions.

  • intel/eu/gen12: Codegen SEND descriptor regions correctly.

  • intel/eu/gen12: Use SEND instruction for split sends.

  • intel/eu/gen12: Don’t set DD control, it’s gone.

  • intel/eu/gen12: Don’t set thread control, it’s gone.

  • intel/ir/gen12: Add SYNC hardware instruction.

  • intel/fs/gen12: Add codegen support for the SYNC instruction.

  • intel/eu/gen12: Add auxiliary type to represent SWSB information during codegen.

  • intel/eu/gen12: Add tracking of default SWSB state to the current brw_codegen instruction.

  • intel/eu/gen12: Set SWSB annotations in hand-crafted assembly.

  • intel/fs/gen12: Add scheduling information to the IR.

  • intel/fs/gen12: Introduce software scoreboard lowering pass.

  • intel/fs/gen12: Demodernize software scoreboard lowering pass.

  • intel/disasm/gen12: Disassemble software scoreboard information.

  • intel/disasm/gen12: Fix disassembly of some common instruction controls.

  • intel/disasm/gen12: Disassemble three-source instruction source and destination regions.

  • intel/disasm/gen12: Disassemble Gen12 SYNC instruction.

  • intel/disasm/gen12: Disassemble Gen12 SEND instructions.

  • intel/disasm: Don’t disassemble saturate control on SEND instructions.

  • intel/disasm: Disassemble register file of split SEND sources.

  • intel/fs/gen12: Don’t support source mods for 32x16 integer multiply.

  • intel/eu/validate/gen12: Implement integer multiply restrictions in EU validator.

  • intel/eu/validate/gen12: Fix validation of SYNC instruction.

  • intel/eu/validate/gen12: Validation fixes for SEND instruction.

  • intel/ir/gen12: Update assert in brw_stage_has_packed_dispatch().

  • intel/eu: Don’t set notify descriptor field of gateway barrier message.

  • intel/fs/gen12: Fix barrier codegen.

  • intel/fs/gen11+: Fix CS_OPCODE_CS_TERMINATE codegen.

Fritz Koenig (5):

  • include/GLES2: Sync GLES2 headers with Khronos

  • mesa: GetFramebufferParameteriv spelling

  • mesa: Allow MESA_framebuffer_flip_y for GLES 3

  • gallium: Enable MESA_framebuffer_flip_y

  • freedreno: reorder format check

Gert Wollny (4):

  • radeonsi: Release storage for smda_uploads when the context is destroyed

  • etnaviv: enable triangle strips only when the hardware supports it

  • r600: Fix interpolateAtCentroid

  • r600: Disable eight bit three channel formats

Greg V (1):

  • clover: use iterator_range in get_kernel_nodes

Gurchetan Singh (4):

  • virgl: remove stride from virgl_hw_res

  • virgl: modify resource_create_from_handle(..) callback

  • virgl: modify internal structures to track winsys-supplied data

  • virgl: honor winsys supplied metadata

Haihao Xiang (1):

  • i965: support AYUV/XYUV for external import only

Hal Gentz (11):

  • glx: Fix SEGV due to dereferencing a NULL ptr from XCB-GLX.

  • clover: Fix build after clang r370122.

  • gallium/osmesa: Fix the inability to set no context as current.

  • egl: Add EGL_CONFIG_SELECT_GROUP_MESA ext.

  • egl: Fixes transparency with EGL and X11.

  • egl: Puts RGBA visuals in the second config selection group.

  • egl: Configs w/o double buffering support have no `EGL_WINDOW_BIT`.

  • Revert “egl: Configs w/o double buffering support have no `EGL_WINDOW_BIT`.”

  • Revert “egl: Puts RGBA visuals in the second config selection group.”

  • Revert “egl: Fixes transparency with EGL and X11.”

  • Revert “egl: Add EGL_CONFIG_SELECT_GROUP_MESA ext.”

Heinrich Fink (8):

  • include: sync GL headers with registry

  • specs: Sync framebuffer_flip_y text with GL registry

  • headers: remove redundant GL token from GL wrapper

  • specs: Add GL_MESA_EGL_sync

  • registry: update gl.xml with GL_MESA_EGL_sync token

  • headers: Add GL_MESA_EGL_sync token to GL

  • egl: Add GL_MESA_EGL_sync support

  • mesa/gl: Sync with Khronos registry

Hyunjun Ko (3):

  • freedreno/ir3: Add data structures to support texture pre-fetch

  • freedreno/ir3: Add support for texture sampling pre-dispatch

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

Iago Toral (1):

  • v3d: drop unused shader_rec_count member from context

Iago Toral Quiroga (13):

  • prog_to_nir: VARYING_SLOT_PSIZ is a scalar

  • gallium/ttn: VARYING_SLOT_PSIZ and VARYING_SLOT_FOGC are scalar

  • nir/lower_point_size: assume scalar PSIZ

  • v3d: add missing line break for performance debug message

  • v3d: make sure we have enough space in the CL for the primitive counts packet

  • v3d: remove redundant update of queued draw calls

  • v3d: fix TF primitive counts for resume without draw

  • mesa/main: GL_GEOMETRY_SHADER_INVOCATIONS exists in GL_OES_geometry_shader

  • v3d: trivial update to obsolete comment

  • v3d: add new flag dirty TMU cache at v3d_compiler

  • broadcom: document known hardware issues for L2T flush command

  • v3d: request the kernel to flush caches when TMU is dirty

  • st/mesa: only require ESSL 3.1 for geometry shaders

Ian Romanick (22):

  • nir/algrbraic: Don’t optimize open-coded bitfield reverse when lowering is enabled

  • intel/compiler: Request bitfield_reverse lowering on pre-Gen7 hardware

  • nir/algebraic: Mark some value range analysis-based optimizations imprecise

  • nir/algebraic: Clean up value range analysis-based optimizations

  • nir/range-analysis: Adjust result range of exp2 to account for flush-to-zero

  • nir/range-analysis: Adjust result range of multiplication to account for flush-to-zero

  • nir/range-analysis: Fix incorrect fadd range result for (ne_zero, ne_zero)

  • nir/range-analysis: Handle constants in nir_op_mov just like nir_op_bcsel

  • nir/range-analysis: Range tracking for fpow

  • nir/range-analysis: Add a lot more assertions about the contents of tables

  • nir/algebraic: Do not apply late DPH optimization in vertex processing stages

  • nir/algebraic: Additional D3D Boolean optimization

  • nir/range-analysis: Bail if the types don’t match

  • nir/range-analysis: Use types in the hash key

  • nir/range-analysis: Use types to provide better ranges from bcsel and mov

  • nir/search: Fix possible NULL dereference in is_fsign

  • intel/vec4: Don’t try both sources as immediates for DPH

  • 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

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

Icenowy Zheng (4):

  • lima: reset scissor state if scissor test is disabled

  • lima: fix PLBU viewport configuration

  • lima: support rectangle texture

  • lima: do not set the PP uniforms address lowest bits

Ilia Mirkin (6):

  • gallium/vl: use compute preference for all multimedia, not just blit

  • teximage: ensure that Tex*SubImage* checks format

  • gallium/tgsi: add support for DEMOTE and READ_HELPER opcodes

  • nvc0: add support for GL_EXT_demote_to_helper_invocation

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

  • nv50/ir: mark STORE destination inputs as used

Illia Iorin (2):

  • Revert “mesa/main: Fix multisample texture initialize”

  • mesa/main: Ignore filter state for MS texture completeness

Indrajit Das (1):

  • radeon/vcn: exclude raven2 from vcn 2.0 encode initialization

James Xiong (5):

  • gallium: simplify throttle implementation

  • gallium: rename PIPE_CAP_MAX_FRAMES_IN_FLIGHT to PIPE_CAP_THROTTLE

  • iris: finish aux import on get_param

  • gallium: do not increase ref count of the new throttle fence

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

Jan Beich (6):

  • gallium/hud: add CPU usage support for DragonFly/NetBSD/OpenBSD

  • util: skip NEON detection if built with -mfpu=neon

  • util: detect NEON at runtime on FreeBSD

  • util: skip AltiVec detection if built with -maltivec

  • util: detect AltiVec at runtime on BSDs

  • util: simplify BSD includes

Jan Zielinski (3):

  • swr/rasterizer: Enable ARB_fragment_layer_viewport

  • swr/rasterizer: Fix GS attributes processing

  • gallium/swr: Fix depth values for blit scenario

Faith Ekstrand (57):

  • nir: Add explicit signs to image min/max intrinsics

  • intel/nir: Add a helper for getting BRW_AOP from an intrinsic

  • v3d: Use the correct opcodes for signed image min/max

  • intel/fs: Drop the gl_program from fs_visitor

  • intel/fs: Fix FB write inst groups

  • Revert “intel/fs: Move the scalar-region conversion to the generator.”

  • anv: Bump maxComputeWorkgroupSize

  • intel/tools: Decode 3DSTATE_BINDING_TABLE_POINTERS on SNB

  • intel/tools: Decode PS kernels on SNB

  • blorp: Memset surface info to zero when initializing it

  • intel/blorp: Expose surf_retile_w_to_y internally

  • intel/blorp: Expose surf_fake_interleaved_msaa internally

  • intel/blorp: Use wide formats for nicely aligned stencil clears

  • nir: Handle complex derefs in nir_split_array_vars

  • nir: Don’t infinitely recurse in lower_ssa_defs_to_regs_block

  • nir: Add a block_is_unreachable helper

  • nir/repair_ssa: Repair dominance for unreachable blocks

  • nir/repair_ssa: Insert deref casts when needed

  • nir/dead_cf: Repair SSA if the pass makes progress

  • intel/fs: Handle UNDEF in split_virtual_grfs

  • vulkan: Update the XML and headers to 1.1.123

  • Move blob from compiler/ to util/

  • util/rb_tree: Add the unit tests

  • util/rb_tree: Reverse the order of comparison functions

  • intel/fs: Allow UB, B, and HF types in brw_nir_reduction_op_identity

  • intel/fs: Allow CLUSTER_BROADCAST to do type conversion

  • intel/fs: Do 8-bit subgroup scan operations in 16 bits

  • anv: Advertise VK_KHR_shader_subgroup_extended_types

  • nir/repair_ssa: Replace the unreachable check with the phi builder

  • util/rb_tree: Replace useless ifs with asserts

  • util/rb_tree: Also test _safe iterators

  • util/rb_tree: Stop relying on &iter->field != NULL

  • intel/fs: Fix fs_inst::flags_read for ANY/ALL predicates

  • anv/pipeline: Capture serialized NIR

  • intel/eu/validate/gen12: Don’t blow up on indirect src0.

  • intel/fs/gen12: Implement gl_FrontFacing on gen12+.

  • intel/genxml: Remove W-tiling on gen12

  • intel/isl: Select Y-tiling for stencil on gen12

  • intel/isl: Add isl_aux_usage_has_ccs

  • spirv/info: Add a memorymodel_to_string helper

  • Revert “mapi: Inline call x86_current_tls.”

  • intel/blorp: Use surf instead of aux_surf for image dimensions

  • intel/isl: Add new aux modes available on gen12

  • intel/isl/fill_state: Separate aux_mode handling from aux_surf

  • intel/isl: Update surf_fill_state for gen12

  • intel/isl: Support HIZ_CCS in emit_depth_stencil_hiz

  • anv: Delay allocation of relocation lists

  • anv: Reduce the minimum number of relocations

  • intel/vec4: Set brw_stage_prog_data::has_ubo_pull

  • anv: Avoid emitting UBO surface states that won’t be used

  • anv: Fix a potential BO handle leak

  • anv/tests: Zero-initialize instances

  • anv: Set the batch allocator for compute pipelines

  • anv: Stop bounds-checking pushed UBOs

  • anv: Set up SBE_SWIZ properly for gl_Viewport

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

  • anv: Don’t leak when set_tiling fails

Jean Hertel (1):

  • Fix missing dri2_load_driver on platform_drm

Jiadong Zhu (1):

  • mesa: fix texStore for FORMAT_Z32_FLOAT_S8X24_UINT

Jiang, Sonny (1):

  • loader: always map the “amdgpu” kernel driver name to radeonsi (v2)

John Stultz (1):

  • Android.mk: Fix missing \ from recent llvm change

Jon Turney (2):

  • Fix timespec_from_nsec test for 32-bit time_t

  • rbug: Fix use of alloca() without #include “c99_alloca.h”

Jonathan Gray (3):

  • mapi: Adapted libglvnd x86 tsd changes

  • winsys/amdgpu: avoid double simple_mtx_unlock()

  • i965: update Makefile.sources for perf changes

Jonathan Marek (90):

  • freedreno/a2xx: ir2: fix lowering of instructions after float lowering

  • freedreno/a2xx: ir2: remove pointcoord y invert

  • freedreno/a2xx: ir2: set lower_fdph

  • freedreno/a2xx: ir2: fix saturate in cp

  • freedreno/a2xx: ir2: check opcode on the right instruction in export cp

  • freedreno/a2xx: ir2: fix incorrect instruction reordering

  • freedreno/a2xx: ir2: update register state in scalar insert

  • freedreno/a2xx: fix SRC_ALPHA_SATURATE for alpha blend function

  • freedreno/a2xx: implement polygon offset

  • freedreno/a2xx: fix depth gmem restore

  • freedreno/a2xx: formats update

  • u_format: add ETC2 to util_format_srgb/util_format_linear

  • u_format: float type for R11G11B10_FLOAT/R9G9B9E5_FLOAT

  • etnaviv: fix two-sided stencil

  • turnip: fix binning shader compilation

  • turnip: use image tile_mode for gmem configuration

  • turnip: emit shader immediates

  • turnip: fix vertex_id

  • turnip: implement sampler state

  • turnip: implement image view descriptor

  • turnip: use linear tiling for scanout image

  • turnip: align layer_size

  • turnip: enable linear filtering

  • turnip: basic descriptor sets (uniform buffer and samplers)

  • turnip: lower samplers and uniform buffer indices

  • turnip: use nir_opt_copy_prop_vars

  • turnip: add some shader information in pipeline state

  • turnip: emit texture and uniform state

  • etnaviv: nir: fix gl_FrontFacing

  • etnaviv: nir: allocate contiguous components for LOAD destination

  • etnaviv: nir: set num_components for inputs/outputs

  • qetnaviv: nir: use new immediates when possible

  • etnaviv: nir: add native integers (HALTI2+)

  • etnaviv: nir: use store_deref instead of store_output

  • etnaviv: nir: remove “options” struct

  • etnaviv: remove extra allocation for shader code

  • etnaviv: nir: make lower_alu easier to follow

  • etnaviv: disable earlyZ when shader writes fragment depth

  • etnaviv: nir: fix gl_FragDepth

  • etnaviv: update headers from rnndb

  • etnaviv: implement texture comparator

  • etnaviv: set texture INT_FILTER bit

  • etnaviv: clear texture cache and flush ts when texture is modified

  • etnaviv: get addressing mode from tiling layout

  • etnaviv: rework compatible render base

  • etnaviv: rework etna_resource_create tiling choice

  • freedreno/ir3: remove input ncomp field

  • freedreno/ir3: increase size of inputs/outputs arrays

  • freedreno/ir3: implement fdd{x,y}_coarse opcodes

  • freedreno/ir3: fix GETLOD for negative LODs

  • freedreno/ir3: implement texop_texture_samples

  • freedreno/ir3: implement fquantize2f16

  • freedreno/regs: update a6xx 2d blit bits

  • turnip: fix triangle strip

  • turnip: fix 32 vertex attributes case

  • turnip: fix segmentation fault in events

  • turnip: fix segmentation fault with compute pipeline

  • turnip: fix assert failing for 0 color attachments

  • turnip: add astc format layout

  • turnip: add format_is_uint/format_is_sint

  • turnip: format table fixes

  • turnip: add more 2d_ifmt translations

  • turnip: improve view descriptor

  • turnip: improve sampler descriptor

  • turnip: add black border color

  • turnip: add VK_KHR_sampler_mirror_clamp_to_edge

  • turnip: update setup_slices

  • turnip: disable tiling as necessary

  • turnip: add anisotropy and compressed formats to device features

  • turnip: update some shader state bits from GL driver

  • turnip: fixup consts

  • turnip: add code to lower indirect samplers

  • turnip: add missing nir passes

  • turnip: use nir_assign_io_var_locations instead of nir_assign_var_locations

  • turnip: improve CmdCopyImage and implement CmdBlitImage

  • turnip: basic msaa working

  • turnip: depth/stencil

  • turnip: push constants

  • turnip: more descriptor sets

  • spirv: set correct dest_type for texture query ops

  • etnaviv: fix linear_nearest / nearest_linear filters on GC7000Lite

  • etnaviv: fix TS samplers on GC7000L

  • etnaviv: check NO_ASTC feature bit

  • freedreno/a2xx: use sysval for pointcoord

  • freedreno/a2xx: add missing vertex formats (SSCALE/USCALE/FIXED)

  • etnaviv: fix depth bias

  • etnaviv: stencil fix

  • etnaviv: fix non-pointsprite points on GC7000L

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

  • freedreno/registers: fix a6xx_2d_blit_cntl ROTATE

Jordan Justen (42):

  • intel/genxml: Handle field names with different spacing/hyphen

  • intel/genxml/gen11: Add spaces in EnableUnormPathInColorPipe

  • intel/genxml: Run sort_xml.sh to tidy gen9.xml and gen11.xml

  • intel/genxml: Add gen12.xml as a copy of gen11.xml

  • intel/genxml: Build gen12 genxml

  • intel/isl: Build gen12 using gen11 code paths

  • intel/compiler: Disable compaction on gen12 for now

  • intel/l3: Don’t assert on gen12 (use gen11 config temporarily)

  • iris: Build for gen12

  • anv: Build for gen12

  • i965: Exit with error if gen12+ is detected

  • pci_id_driver_map: Support preferring iris over i965

  • anv,iris: L3ALLOC register replaces L3CNTLREG for gen12

  • iris/state: Move reg/mem load/store functions earlier in file

  • intel/ir: Lower fpow on Gen12.

  • intel/genxml,isl: Add gen12 render surface state changes

  • intel/genxml,isl: Add gen12 depth buffer changes

  • intel/genxml,isl: Add gen12 stencil buffer changes

  • intel/isl: Add gen12 depth/stencil surface alignments

  • iris: Let isl decide the supported tiling in more situations

  • intel/isl: Add R10G10B10_FLOAT_A2_UNORM format

  • iris/resource: Use isl surface alignment during bo allocation

  • intel/common: Add interface to allocate device buffers

  • anv: Implement aux-map allocator interface

  • intel/common: Add surface to aux map translation table support

  • anv/gen12: Initialize aux map context

  • genxml/gen12: Add AUX MAP register definitions

  • anv/gen12: Write GFX_AUX_TABLE base address register

  • iris/bufmgr: Initialize aux map context for gen12

  • isl/gen12: 64k surface alignment

  • iris: Map each surf to it’s aux-surf in the aux-map tables

  • iris/gen12: Write GFX_AUX_TABLE base address register

  • iris: Mark aux-map BO as used by all batches

  • intel: Update alignment restrictions for HiZ surfaces.

  • iris: Set MOCS for external surfaces to uncached

  • intel/genxml: Add gen12 tile cache flush bit

  • intel/dev: Add preliminary device info for Tigerlake

  • intel/eu/validate/gen12: Add TGL to eu_validate tests.

  • docs/relnotes/new_features.txt: Add note about gen12 support

  • 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

Jose Maria Casanova Crespo (5):

  • mesa: recover target_check before get_current_tex_objects

  • v3d: writes to magic registers aren’t RF writes after THREND

  • v3d: flag dirty state when binding compute states

  • v3d: Explicitly expose OpenGL ES Shading Language 3.1

  • v3d: Fix predication with atomic image operations

José Fonseca (5):

  • glx: Fix incompatible function pointer types.

  • util: Prevent implicit declaration of function getenv.

  • util: Prevent strcasecmp macro redefinion.

  • scons: Make GCC builds stricter.

  • scons: Fix force_scons parsing.

Juan A. Suarez Romero (14):

  • docs: add release notes for 19.1.5

  • docs: add sha256 checksums for 19.1.5

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

  • docs: add release notes for 19.1.6

  • docs: add sha256 checksums for 19.1.6

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

  • docs: extend 19.1.x releases

  • docs: add release notes for 19.1.7

  • docs: add sha256 checksums for 19.1.7

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

  • bin/get-pick-list.sh: sha1 commits can be smaller than 8 chars

  • docs: add release notes for 19.1.8

  • docs: add release notes for 19.1.8

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

Karol Herbst (15):

  • gallium: add blob field to pipe_llvm_program_header

  • rename pipe_llvm_program_header to pipe_binary_program_header

  • clover/functional: add id_equals helper

  • clover: add support for drivers having no proper binary format

  • clover: prepare supporting multiple IRs

  • clover: add support for passing kernels as nir to the driver

  • nvc0: expose spirv support

  • clover/nir: fix compilation with g++-5.5 and maybe earlier

  • nv50/ir: fix unnecessary parentheses warning

  • nv50/ir/nir: comparison of integer expressions of different signedness warning

  • clover/llvm: remove harmful std::move call

  • clover/codegen: remove unused get_symbol_offsets function

  • clover: eliminate “ignoring attributes on template argument” warning

  • st/mesa: fix crash for drivers supporting nir defaulting to tgsi

  • nv50/ir: remove DUMMY edge type

Ken Mays (1):

  • haiku: fix Mesa build

Kenneth Graunke (86):

  • gallium/ddebug: Wrap resource_get_param if available

  • gallium/trace: Wrap resource_get_param if available

  • gallium/rbug: Wrap resource_get_param if available

  • gallium/noop: Implement resource_get_param

  • iris: Replace devinfo->gen with GEN_GEN

  • iris: Fix broken aux.possible/sampler_usages bitmask handling

  • iris: Update fast clear colors on Gen9 with direct immediate writes.

  • iris: Drop copy format hacks from copy region based transfer path.

  • iris: Avoid unnecessary resolves on transfer maps

  • iris: Set MOCS in all STATE_BASE_ADDRESS commands

  • iris: Fix large timeout handling in rel2abs()

  • isl: Drop UnormPathInColorPipe for buffer surfaces.

  • isl: Don’t set UnormPathInColorPipe for integer surfaces.

  • iris: Delete dead prototype

  • intel/compiler: Fix src0/desc setter ordering

  • intel/compiler: Handle bits 15:12 in brw_send_indirect_split_message()

  • intel/compiler: Refactor FB write message control setup into a helper.

  • intel/compiler: Use generic SEND for Gen7+ FB writes

  • intel/compiler: Use new Gen11 headerless RT writes for MRT cases

  • util: Add a _mesa_i64roundevenf() helper.

  • mesa: Fix _mesa_float_to_unorm() on 32-bit systems.

  • iris: Drop swizzling parameter from s8_offset.

  • iris: Don’t auto-flush/dirty on transfer unmap for coherent buffers

  • iris: Actually describe bo_reuse driconf option

  • iris: Fix partial fast clear checks to account for miplevel.

  • iris: Lessen texture cache hack flush for blits/copies on Icelake.

  • iris: Report correct number of planes for planar images

  • iris: Invalidate state/texture/constant caches after STATE_BASE_ADDRESS

  • intel: Stop redirecting state cache to command streamer cache section

  • iris: Support the disable_throttling=true driconf option.

  • iris: Ignore line stipple information if it’s disabled

  • iris: Add support for the always_flush_cache=true debug option.

  • iris: Optimize out redundant sampler state binds

  • iris: Avoid flushing for cache history on transfer range flushes

  • iris: Fix constant buffer sizes for non-UBOs

  • gallium: Fix util_format_get_depth_only

  • iris: Finish initializing the BO before stuffing it in the hash table

  • iris: Set bo->reusable = false in iris_bo_make_external_locked

  • st/mesa: Only pause queries if there are any active queries to pause.

  • iris: trivial whitespace fixes

  • iris: Initialize ice->state.prim_mode to an invalid value

  • st/mesa: Prefer 5551 formats for GL_UNSIGNED_SHORT_5_5_5_1.

  • st/mesa: Increase GL_POINT_SIZE_RANGE minimum to 1.0

  • intel/compiler: Set “Null Render Target” ex_desc bit on Gen11

  • iris: Skip allocating a null surface when there are 0 color regions.

  • iris: Flag IRIS_DIRTY_BINDINGS_XS on constant buffer rebinds

  • iris: Explicitly emit 3DSTATE_BTP_XS on Gen9 with DIRTY_CONSTANTS_XS

  • iris: Don’t flag IRIS_DIRTY_BINDINGS for constant usage history

  • iris: Track per-stage bind history, reduce work accordingly

  • intel/compiler: Record whether any pull constant loads occur

  • iris: Avoid uploading SURFACE_STATE descriptors for UBOs if possible

  • iris: Use state_refs for draw parameters.

  • iris: Rework iris_update_draw_parameters to be more efficient

  • iris: Skip double-disabling TCS/TES/GS after BLORP operations

  • isl: Drop WaDisableSamplerL2BypassForTextureCompressedFormats on Gen11

  • st/mesa: Bail on incomplete attachments in discard_framebuffer

  • intel/genxml: Stop manually scrubbing ‘α’ -> “alpha”

  • broadcom/genxml: Stop manually scrubbing ‘α’ -> “alpha”

  • Revert “intel/gen11+: Enable Hardware filtering of Semi-Pipelined State in WM”

  • intel: Increase Gen11 compute shader scratch IDs to 64.

  • iris: Only resolve for image levels/layers which are actually in use.

  • iris: Disable CCS_E for 32-bit floating point textures.

  • iris: Fix iris_rebind_buffer() for VBOs with non-zero offsets.

  • st/dri: Perform MSAA downsampling for __DRI2_THROTTLE_COPYSUBBUFFER

  • dri: Avoid swapbuffer throttling in glXCopySubBufferMESA

  • iris: Refactor push constant allocation so we can reuse it

  • iris: Hack up a SKL/Gen9LP PS push constant fifo depth workaround

  • Revert “iris: Hack up a SKL/Gen9LP PS push constant fifo depth workaround”

  • iris: Drop bonus parameters from iris_init_*_context()

  • iris: Drop vtbl usage for some load_register calls

  • iris: Update comment about 3-component formats and buffer textures

  • iris: Properly unreference extra VBOs for draw parameters

  • st/mesa: Fix inverted polygon stipple condition

  • iris: Implement the Broadwell NP Z PMA Stall Fix

  • intel/fs/gen12: Use TCS 8_PATCH mode.

  • iris: Implement the Gen < 9 tessellation quads workaround

  • mesa: Use ctx->ReadBuffer in glReadBuffer back-to-front tests

  • mesa: Make back_to_front_if_single_buffered non-static

  • mesa: Handle pbuffers in desktop GL framebuffer attachment queries

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

  • st/mesa: Silence chatty debug printf

  • iris: Rework edgeflag handling

  • nir: Use VARYING_SLOT_TESS_MAX to size indirect bitmasks

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

  • driconf, glsl: Add a vs_position_always_invariant option

  • drirc: Set vs_position_always_invariant for Shadow of Mordor on Intel

Kevin Strasser (14):

  • drm-uapi: Update headers for fp16 formats

  • i965: Add helper function for allowed config formats

  • gallium: Use consistent approach for config format filtering

  • dri: Add config attributes for color channel shift

  • util: move bitcount to bitscan.h

  • egl: Convert configs to use shifts and sizes instead of masks

  • glx: Add fields for color shifts

  • dri: Handle configs with floating point pixel data

  • egl: Handle dri configs with floating point pixel data

  • dri: Add fp16 formats

  • gbm: Add buffer handling and visuals for fp16 formats

  • i965: Add handling for fp16 configs

  • gallium: Add buffer and configs handling or fp16 formats

  • egl: Fix implicit declaration of ffs

Khaled Emara (2):

  • freedreno/a3xx: fix texture tiling parameters

  • freedreno/a3xx: fix sysmem <-> gmem tiles transfer

Kristian Høgsberg (40):

  • freedreno/a6xx: Let the GPU track streamout offsets

  • freedreno/a6xx: Implement primitive count queries on GPU

  • freedreno/a6xx: Track location of gl_Position out as we link it

  • freedreno/a6xx: Share shader state constructor and destructor

  • freedreno/a6xx: Turn on vectorize_io

  • freedreno/a6xx: Write multiple regs for SP_VS_OUT_REG and SP_VS_VPC_DST_REG

  • freedreno/regs: Fix CP_DRAW_INDX_OFFSET command

  • freedreno/regs: A couple of tess updates

  • freedreno/a6xx: Factor out const state setup

  • freedreno: Rename vp and fp to vs and fs in fd_program_stateobj

  • freedreno: Add state binding functions for HS/DS/GS

  • freedreno: Move fs functions after geometry pipeline stages

  • freedreno/a6xx: Add generic program stateobj support for HS/DS/GS

  • freedreno/ir3: Add HS/DS/GS to shader key and cache

  • freedreno/a6xx: Emit const and texture state for HS/DS/GS

  • freedreno/a6xx: Move instrlen and obj_start writes to fd6_emit_shader

  • freedreno/registers: Update with GS, HS and DS registers

  • freedreno/a6xx: Trim a few regs from fd6_emit_restore()

  • freedreno/ir3: Add support for CHSH and CHMASK instructions

  • freedreno/ir3: Use third register for offset for LDL and LDLV

  • freedreno/ir3: Extend RA with mechanism for pre-coloring registers

  • freedreno/ir3: Add new LDLW/STLW instructions

  • freedreno/ir3: Add intrinsics that map to LDLW/STLW

  • freedreno/a6xx: Add missing adjacency primitives to table

  • freedreno/ir3: Add has_gs flag to shader key

  • freedreno/ir3: Implement lowering passes for VS and GS

  • freedreno/ir3: Implement primitive layout intrinsics

  • freedreno/ir3: Setup ir3 inputs and outputs for GS

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

  • freedreno/ir3: Start GS with (ss) and (sy)

  • freedreno/ir3: End VS with CHMASK and CHSH in GS pipelines

  • freedreno/a6xx: Emit program state for GS

  • freedreno/a6xx: Support layered render targets

  • st/mesa: Also enable GS when ESSLVersion > 320

  • freedreno/blitter: Save GS state

  • freedreno/a6xx: Implement PIPE_QUERY_PRIMITIVES_GENERATED for GS

  • freedreno/ci: Add failing tests to skip list

  • freedreno/a6xx: Turn on geometry shaders

  • nir: Use BITSET for tracking varyings in lower_io_arrays

  • freedreno/a6xx: Disable geometry shaders for release

Krzysztof Raszkowski (2):

  • util: Add unreachable() definition for clang compiler.

  • gallium/swr: Enable GL_ARB_gpu_shader5: multiple streams

Laurent Carlier (1):

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

Leo Liu (3):

  • radeon/vcn: add RENOIR VCN decode support

  • radeon/vcn: Add VP9 8K decode support

  • radeonsi: enable 8K video decode support for HEVC and VP9

Lepton Wu (14):

  • st/mesa: Allow zero as [level|layer]_override

  • virgl: Fix pipe_resource leaks under multi-sample.

  • egl/android: Only keep BGRA EGL configs as fallback

  • virgl: replace fprintf with _debug_printf

  • virgl: Remove wrong EAGAIN handling for drmIoctl

  • gbm: Add GBM_MAX_PLANES definition

  • egl/android: Remove our own reference to buffers.

  • virgl: Remove formats with unusual sample count.

  • mapi: Inline call x86_current_tls.

  • mapi: split entry_generate_or_patch for x86 tls

  • mapi: Clean up entry_patch_public for x86 tls

  • mapi: Inline call x86_current_tls.

  • mapi: Improve the x86 tsd stubs performance.

  • gallium: dri2: Use index as plane number.

Lionel Landwerlin (59):

  • glsl/tests: take refs on glsl types

  • nir/tests: take reference on glsl types

  • compiler: ensure glsl types are not created without a reference

  • mesa/compiler: rework tear down of builtin/types

  • radeonsi: take reference glsl types for compile threads

  • i965: honor scanout requirement from DRI

  • util/timespec: use unsigned 64 bit integers for nsec values

  • util: fix compilation on macos

  • egl: fix platform selection

  • vulkan/overlay: bounce image back to present layout

  • intel: update product names for WHL

  • radv: store engine name

  • driconfig: add a new engine name/version parameter

  • vulkan: add vk_x11_strict_image_count option

  • util/xmlconfig: fix regexp compile failure check

  • drirc: include unreal engine version 0 to 23

  • anv: gem-stubs: return a valid fd got anv_gem_userptr()

  • intel: use proper label for Comet Lake skus

  • intel: Add new Comet Lake PCI-ids

  • mesa: don’t forget to clear _Layer field on texture unit

  • intel: fix topology query

  • intel/error2aub: add support for platforms without PPGTT

  • intel: fix subslice computation from topology data

  • intel/isl: Set null surface format to R32_UINT

  • intel/isl: set surface array appropriately

  • intel/isl: set vertical surface alignment on null surfaces

  • etnaviv: remove variable from global namespace

  • anv: fix vkUpdateDescriptorSets with inline uniform blocks

  • anv: fix memory leak on device destroy

  • anv: fix unwind of vkCreateDevice fail

  • intel/perf: add mdapi maker helper

  • intel/perf: expose some utility functions

  • intel/perf: extract register configuration

  • intel/perf: move registers to their own header

  • drm-uapi: Update headers from drm-next

  • intel/perf: add support for querying kernel loaded configurations

  • intel/genxml: add generic perf counters registers

  • intel/genxml: add RPSTAT register for core frequency

  • intel/perf: add mdapi writes for register perf counters

  • anv: implement VK_INTEL_performance_query

  • docs: Add new Intel extension

  • intel/dev: store whether the device uses an aux map tables on devinfo

  • anv: Add aux-map translation for gen12+

  • intel/perf: update ICL configurations

  • intel/dump_gpu: handle context create extended ioctl

  • intel/dev: set default num_eu_per_subslice on gen12

  • mesa: check draw buffer completeness on glClearBufferfi/glClearBufferiv

  • anv: Properly handle host query reset of performance queries

  • 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/wsi: signal the semaphore in the acquireNextImage

  • 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

Lucas Stach (17):

  • etnaviv: fix vertex buffer state emission for single stream GPUs

  • gallium/util: don’t depend on implementation defined behavior in listen()

  • rbug: fix transmitted texture sizes

  • rbug: unwrap index buffer resource

  • rbug: move flush_resource initialization

  • rbug: implement missing explicit sync related fence functions

  • rbug: forward texture_barrier to pipe driver

  • rbug: forward can_create_resource to pipe driver

  • rbug: implement resource creation with modifier

  • rbug: remove superfluous NULL check

  • etnaviv: keep references to pending resources

  • etnaviv: drm: remove unused etna_cmd_stream_finish

  • etnaviv: rework the stream flush to always go through the context flush

  • etnaviv: drm: add softpin interface

  • etnaviv: check for softpin availability on Halti5 devices

  • etnaviv: add linear texture support on GC7000

  • etnaviv: GC7000: flush TX descriptor and instruction cache

Marek Olšák (161):

  • radeonsi/gfx10: fix the legacy pipeline by storing as_ngg in the shader cache

  • radeonsi: move some global shader cache flags to per-binary flags

  • radeonsi/gfx10: fix tessellation for the legacy pipeline

  • radeonsi/gfx10: fix the PRIMITIVES_GENERATED query if using legacy streamout

  • radeonsi/gfx10: create the GS copy shader if using legacy streamout

  • radeonsi/gfx10: add as_ngg variant for VS as ES to select Wave32/64

  • radeonsi/gfx10: fix InstanceID for legacy VS+GS

  • radeonsi/gfx10: don’t initialize VGT_INSTANCE_STEP_RATE_0

  • radeonsi/gfx10: always use the legacy pipeline for streamout

  • radeonsi/gfx10: finish up Navi14, add PCI ID

  • radeonsi/gfx10: add AMD_DEBUG=nongg

  • winsys/amdgpu+radeon: process AMD_DEBUG in addition to R600_DEBUG

  • radeonsi: add PKT3_CONTEXT_REG_RMW

  • radeonsi/gfx10: remove incorrect ngg/pos_writes_edgeflag variables

  • radeonsi/gfx10: set PA_CL_VS_OUT_CNTL with CONTEXT_REG_RMW to fix edge flags

  • radeonsi: consolidate determining VGPR_COMP_CNT for API VS

  • radeonsi: align scratch and ring buffer allocations for faster memory access

  • radeonsi: unbind blend/DSA/rasterizer state correctly in delete functions

  • radeonsi: fix scratch buffer WAVESIZE setting leading to corruption

  • ac: enable LLVM atomic optimizations

  • ac: use fma on gfx10

  • radeonsi/gfx10: use fma for TGSI_OPCODE_FMA

  • radeonsi/gfx10: don’t call gfx10_destroy_query with compute-only contexts

  • radeonsi: disable DCC when importing a texture from an incompatible driver

  • radeonsi: only support at most 1024 threads per block

  • radeonsi/gfx10: fix wave occupancy computations

  • r300,r600,radeonsi: read winsys_handle::stride,offset in drivers, not winsyses

  • r300,r600,radeonsi: set winsys_handle::stride,offset in drivers, not winsyses

  • ac/surface: add RADEON_SURF_NO_FMASK

  • radeonsi: handle NO_DCC early

  • radeonsi: move HTILE allocation outside of radeonsi

  • radeonsi: move texture storage allocation outside of radeonsi

  • radeonsi: remove redundant si_texture offset and size fields

  • ac: replace HAVE_LLVM with LLVM_VERSION_MAJOR for atomic-optimizations

  • prog_to_nir, tgsi_to_nir: make sure kill doesn’t discard NaNs

  • radeonsi/gfx9: honor user stride for imported buffers

  • radeonsi: add Navi12 PCI ID

  • ac: move PBB MAX_ALLOC_COUNT into radeon_info

  • ac: move num_sdp_interfaces into radeon_info

  • ac: move ac_get_max_wave64_per_simd into radeon_info

  • ac: move ac_get_num_physical_sgprs into radeon_info

  • ac: move ac_get_num_physical_vgprs into radeon_info

  • gallium: extend resource_get_param to be as capable as resource_get_handle

  • radeonsi: implement pipe_screen::resource_get_param

  • radeonsi: include drm_fourcc.h to fix the build

  • amd: add more PCI IDs for Navi14

  • ac/addrlib: fix chip identification for Vega10, Arcturus, Raven2, Renoir

  • ac: stop using PCI IDs for chip identification

  • amd: remove all PCI IDs supported by amdgpu

  • nir: don’t add bindless variables to num_textures and num_images

  • nir: define 8-byte size and alignment for bindless variables

  • tgsi_to_nir: fix masked out image loads

  • tgsi_to_nir: fix 2-component system values like tess_level_inner_default

  • ac/nir: port Z compare value clamping from radeonsi

  • ac/nir: force unnormalized coordinates for RECT

  • radeonsi: initialize displayable DCC using the retile blit to prevent hangs

  • gallium/vl: don’t set PIPE_HANDLE_USAGE_EXPLICIT_FLUSH

  • radeonsi/gfx10: fix L2 cache rinse programming

  • ac: fix incorrect vram_size reported by the kernel

  • ac: add radeon_info::tcc_harvested

  • radeonsi/gfx10: fix corruption for chips with harvested TCCs

  • ac: fix num_good_cu_per_sh for harvested chips

  • ac: set the number of SDPs same as the number of TCCs

  • ac: reorder and print all radeon_info fields

  • tgsi_to_nir: handle PIPE_FORMAT_NONE in image opcodes

  • ac/surface: don’t allocate FMASK if there is no graphics

  • ac: add ac_build_image_get_sample_count from radeonsi

  • ac/nir: fix GLSL imageSamples()

  • winsys/radeon: initialize SIMD properties in radeon_info

  • util: use simple_mtx_t for util_range

  • gallium: add PIPE_RESOURCE_FLAG_SINGLE_THREAD_USE to skip util_range lock

  • st/mesa: use simple_mtx_t instead of mtx_t

  • radeonsi: use simple_mtx_t instead of mtx_t

  • amd: don’t use AMD_FAMILY definitions from amdgpu_drm.h

  • gallium/util: remove enum numbering from util_format_layout

  • gallium/util: add planar format layouts and helpers

  • gallium/u_tests: test NV12 allocation and export

  • vl: use u_format in vl_video_buffer_formats

  • radeonsi: allocate planar multimedia formats in 1 buffer

  • radeonsi: remove si_vid_join_surfaces and use combined planar allocations

  • radeonsi: ignore metadata for non-zero planes

  • radeonsi: don’t set BO metadata for non-zero planes

  • nir: add shader_info::last_msaa_image

  • tgsi/scan: add tgsi_shader_info::msaa_images_declared

  • radeonsi: fix GLSL imageSamples()

  • radeonsi: set the sample index for shader images correctly

  • radeonsi: add FMASK slots for shader images (for MSAA images)

  • radeonsi: clean up image_fetch_rsrc

  • radeonsi: apply FMASK to MSAA image loads

  • radeonsi: expand FMASK before MSAA image stores are used

  • radeonsi: enable MSAA shader images

  • nir: add a strip parameter to nir_serialize

  • nir: move gl_nir_opt_access from glsl directory

  • nir/drawpixels: handle load_color0, load_input, load_interpolated_input

  • nir/drawpixels: fix what appears to be a copy-paste bug in get_texcoord_const

  • tgsi_to_nir: add #ifdef header guards

  • nir: add nir_shader_compiler_options::lower_to_scalar

  • st/mesa: use nir_shader_compiler_options::lower_to_scalar

  • tgsi_to_nir: use nir_shader_compiler_options::lower_to_scalar

  • gallium: remove PIPE_SHADER_CAP_SCALAR_ISA

  • ac/nir: add back nir_op_fmod

  • clover: fix the nir_serialize build failure

  • st/mesa: always allocate pack/unpack buffers as staging

  • radeonsi/nir: simplify si_lower_nir signature

  • st/mesa: use *prog at the end of st_link_nir

  • st/mesa: deduplicate code for ATI fs in st_program_string_notify

  • st/mesa: simplify the signature of st_release_basic_variants

  • st/mesa: don’t store stream output info to shader cache for tess ctrl shaders

  • st/mesa: remove st_compute_program in favor of st_common_program

  • st/mesa: deduplicate cases in st_deserialise_ir_program

  • st/mesa: sink TCS/TES/GS/CS translate code into st_translate_common_program

  • st/mesa: deduplicate st_common_program code in st_program_string_notify

  • st/mesa: clean up more after the removal of st_compute_program

  • st/mesa: move vertex program preparation code into st_prepare_vertex_program

  • st/mesa: unify transform feedback info translation code

  • st/mesa: finalize NIR after shader variant passes for TCS/TES/GS/CS

  • st/mesa: don’t call translate_*_program functions for NIR

  • st/mesa: call prog_to_nir sooner for ARB_fp

  • st/mesa: reorder and document code in st_translate_vertex_program

  • st/mesa: call the reset callback if glGetGraphicsResetStatus returns a failure

  • radeonsi: call the reset callback if get_device_reset_status returns a failure

  • radeonsi: recreate aux_context after a GPU reset

  • gallium/u_blitter: remove an unused variable

  • st/mesa: silence a warning in st_nir_lower_tex_src_plane

  • st/mesa: call st_nir_opts for linked shaders only once

  • st/mesa: lower doubles for NIR after linking

  • st/mesa: rename st_xxx_program::tgsi to state

  • st/mesa: rename basic -> common for st_common_program

  • st/mesa: remove num_tgsi_tokens from st_xx_program

  • st/mesa: remove st_vp_variant_key in favor of st_common_variant_key

  • st/mesa: remove unused st_xxx_program::sha1

  • st/mesa: remove redundant function st_reference_compprog

  • st/mesa: merge st_fragment_program into st_common_program

  • st/mesa: don’t call variables “tgsi” when they can reference NIR

  • nir: allow nir_lower_uniforms_to_ubo to be run repeatedly

  • st/mesa: replace pipe_shader_state with tgsi_token* in st_vp_variant

  • gallium/noop: implement get_disk_shader_cache and get_compiler_options

  • util/disk_cache: finish all queue jobs in destroy instead of killing them

  • util/u_queue: skip util_queue_finish if num_threads is 0

  • st/mesa: move some NIR lowering before shader caching

  • st/mesa: don’t lower_global_vars_to_local for VS if there are no dead inputs

  • st/mesa: assign driver locations for VS inputs for NIR before caching

  • st/mesa: update VS shader_info for NIR after lowering passes

  • gallium: add pipe_screen::finalize_nir

  • tgsi_to_nir: use pipe_screen::finalize_nir

  • st/mesa: use pipe_screen::finalize_nir

  • radeonsi/nir: implement pipe_screen::finalize_nir

  • glsl/serialize: restructure remap table code

  • glsl/serialize: optimize for equal offsets in uniform remap tables

  • include: add the definition of EGL_EXT_image_flush_external

  • dri_interface: add interface for EGL_EXT_image_flush_external

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

  • st/dri: add support for EGL_EXT_image_flush_external

  • egl: handle EGL_IMAGE_EXTERNAL_FLUSH_EXT

  • egl: implement new functions from EGL_EXT_image_flush_external

  • docs: document new feature EGL_EXT_image_flush_external

  • radeonsi: don’t print diagnostic LLVM remarks and notes

  • radeonsi: initialize shader compilers in threads on demand

  • ac: get tcc_harvested from the kernel

  • winsys/amdgpu: use the new GPU reset query

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

Marek Vasut (4):

  • etnaviv: Make contexts track resources

  • etnaviv: Rework resource status tracking

  • etnaviv: Command buffer realloc

  • etnaviv: Rework locking

Marijn Suijten (2):

  • freedreno/a5xx: enable a510

  • freedreno/ir3: Add missing ir3_nir_lower_tex_prefetch.c to Android.mk

Matt Turner (6):

  • clover: Remove unused code

  • intel/compiler: Remove unreachable() from brw_reg_type.c

  • intel/compiler: Restructure instruction compaction in preparation for Gen12

  • intel/compiler: Inline get_src_index()

  • intel/compiler: Make separate src0/src1 index tables

  • intel/compiler: Add instruction compaction support on Gen12

Mauro Rossi (8):

  • android: mesa: revert “Enable asm unconditionally”

  • android: anv: libmesa_vulkan_common: add libmesa_util static dependency

  • android: aco: fix undefined template ‘std::__1::array’ build errors

  • android: compiler/nir: build nir_divergence_analysis.c

  • android: aco: add support for libmesa_aco

  • android: amd/common: export amd/llvm headers

  • android: aco: fix Lower to CSSA

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

Maya Rashish (3):

  • intel/compiler: avoid truncating int64_t to int

  • meson: Test for -Wl,–build-id=sha1

  • llvmpipe: avoid left-shifting a negative number.

Michael Schellenberger Costa (1):

  • aco: Cleanup insert_before_logical_end

Michel Dänzer (48):

  • gitlab-ci: Move up meson-main job definition

  • gitlab-ci: Use new needs: keyword

  • gitlab-ci: Explicitly install linux-libc-dev for foreign architectures

  • gitlab-ci: Keep g++ from stretch when installing foreign toolchains

  • gitlab-ci: Add needs stanza to arm64_a306_gles2 job definition

  • gitlab-ci: Use multiple inheritance instead of YAML references

  • gitlab-ci: Simplify some job definitions by extending more similar jobs

  • gitlab-ci: Move dependencies/needs for meson-main job to .deqp-test

  • gitlab-ci: Move up meson-arm64 job definition

  • gallivm: Limit DEBUG workaround to LLVM < 7

  • swr: Limit DEBUG workaround to LLVM < 7

  • ac: Remove DEBUG workaround

  • gitlab-ci: Reference full ci-templates commit hash

  • gitlab-ci: Pass –no-remove to apt-get where possible

  • gitlab-ci: Create separate docker images for Debian stretch & buster

  • gitlab-ci: Use newer packages from backports by default

  • gitlab-ci: Use crossbuild-essential-* packages

  • gitlab-ci: Move scons build/test commands to a separate shell script

  • gitlab-ci: Test scons with all LLVM versions

  • gitlab-ci: Merge scons-nollvm and scons-llvm jobs

  • radeonsi: fix VAAPI segfault due to various bugs

  • loader: Avoid use-after-free / use of uninitialized local variables

  • gitlab-ci: Declare needs: for stretch docker image

  • gitlab-ci: Add needs: for x86 buster docker image

  • gitlab-ci: Add test-container:arm64 to needs: for arm64 test jobs

  • gitlab-ci: Set ccache path for cross compilers in meson cross file

  • gitlab-ci: Use per-job ccache

  • dri3: Pass __DRI2_THROTTLE_COPYSUBBUFFER from loader_dri3_copy_drawable

  • loader: Simplify handling of the radeonsi driver

  • gitlab-ci/lava: Add needs: for container image to test jobs

  • gitlab-ci: Remove redundant .meson-cross template script

  • gitlab-ci: Add .use-debian-10 template

  • gitlab-ci: Disable meson-mingw32-x86_64 job again for now

  • gitlab-ci: Sort ARM docker image packages in alphabetical order

  • gitlab-ci: Bring ARM docker image install script in line with x86_64

  • gitlab-ci: Explicitly list debian-10 in needs: for .deqp-test template

  • gitlab-ci: Use native aarch64 runner for ARM build jobs

  • gitlab-ci: Update the meson cross file for LLVM_VERSION as well

  • gitlab-ci: Enable llvmpipe in ARM build jobs

  • intel/compiler: Don’t left-shift by >= the number of bits of the type

  • intel/compiler: Cast to target type before shifting left

  • intel/fs: Check for NULL key in fs_visitor constructor

  • gallium/util: Cast to target type before shifting left

  • util: Use uint64_t for shifting left in sign_extend and strunc

  • util/tests: Avoid int64_t overflow issues in fast_idiv_by_const test

  • gitlab-ci: Enable UBSan for the meson-vulkan job

  • gitlab-ci: Only run the pipeline if any files affecting it have changed

  • gitlab-ci: Disable meson-windows job for the time being

Michel Zou (1):

  • scons: add py3 support

Nanley Chery (47):

  • anv/blorp: Use BLORP_BATCH_NO_UPDATE_CLEAR_COLOR

  • anv: Properly allocate aux-tracking space for CCS_E

  • anv/formats: Disable I915_FORMAT_MOD_Y_TILED_CCS on TGL+

  • iris: Drop support for I915_FORMAT_MOD_Y_TILED_CCS on TGL+

  • isl: Disable CCS_D on Gen12+

  • anv/image: Disable CCS_D on Gen12+

  • anv/cmd_buffer: Don’t assume CCS_E includes CCS_D

  • iris: Don’t assume CCS_E includes CCS_D

  • isl: Round up some pitches to 512B for Gen12’s CCS

  • intel/blorp: Halve the Gen12 fast-clear/resolve rectangle

  • intel/blorp: Don’t assert aux slices match main slices

  • anv/private: Modify aux slice helpers for Gen12 CCS

  • i965/miptree: Avoid -Wswitch for the Gen12 aux modes

  • isl/drm: Map HiZ and CCS tilings to Y

  • iris: Allow for non-Y-tiled aux allocation

  • isl: Add and use isl_tiling_flag_to_enum()

  • isl: Redefine the CCS layout for Gen12

  • intel: Enable CCS_E for some formats on Gen12

  • intel/blorp: Disable depth testing for slow depth clears

  • iris: Clear ::has_hiz when disabling aux

  • intel: Use RENDER_SURFACE_STATE::DepthStencilResource

  • intel: Use 3DSTATE_DEPTH_BUFFER::ControlSurfaceEnable

  • intel: Enable CCS_E for R24_UNORM_X8_TYPELESS on TGL+

  • isl: Reduce assertions during aux surf creation

  • intel: Support HIZ_CCS in isl_surf_get_ccs_surf

  • intel/blorp: Assert against HiZ in surface states

  • intel/blorp: Treat HIZ_CCS like HiZ

  • iris: Don’t guess the aux_usage

  • iris: Create an unusable secondary aux surface

  • iris: Define initial HIZ_CCS state and transitions

  • iris: Enable HIZ_CCS in depth buffer instructions

  • isl: Add isl_surf_supports_hiz_ccs_wt()

  • intel: Refactor blorp_can_hiz_clear_depth()

  • intel/blorp: Satisfy HIZ_CCS fast-clear alignments

  • iris: Start using blorp_can_hiz_clear_depth()

  • intel: Fix and use HIZ_CCS write through mode

  • intel/blorp: Satisfy clear color rules for HIZ_CCS

  • iris: Enable HIZ_CCS sampling

  • iris: Don’t leak the resource for unsupported modifier

  • iris: Disallow incomplete resource creation

  • iris: Drop iris_resource::aux::extra_aux::bo

  • iris: Bail resource creation upon aux creation error

  • iris: Determine aux offsets within configure_aux

  • iris: Allocate main and aux surfaces together

  • 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

Nataraj Deshpande (1):

  • egl/android: Enable HAL_PIXEL_FORMAT_RGBA_FP16 format

Neil Armstrong (1):

  • Revert “ci: Disable lima until its farm can get fixed.”

Neil Roberts (6):

  • glsl: Store the precision for a function return type

  • nir/builder: Move nir_atan and nir_atan2 from SPIR-V translator

  • nir/builtin: Add #include u_math.h to the header

  • nir/builtin: Add extern “C” guards to nir_builtin_builder.h

  • glsl: Add opcodes for atan and atan2

  • glsl/builtin: Add alternate versions of atan using new ops

OBATA Akio (1):

  • util: fix to detect NetBSD properly

Paulo Zanoni (8):

  • intel/fs: grab fail_msg from v32 instead of v16 when v32->run_cs fails

  • intel/fs: make scan/reduce work with SIMD32 when it fits 2 registers

  • intel/fs: roll the loop with the <0,1,0> additions in emit_scan()

  • intel/fs: the maximum supported stride width is 16

  • intel/fs: fix SHADER_OPCODE_CLUSTER_BROADCAST for SIMD32

  • intel/fs: don’t forget the stride at generate_shuffle

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

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

Pierre Moreau (5):

  • meson: Check for SPIRV-Tools and llvm-spirv

  • clover/spirv: Add functions for validating SPIR-V binaries

  • clover/spirv: Add functions for parsing arguments, linking programs, etc.

  • clover/llvm: Add options for dumping SPIR-V binaries

  • clover/llvm: Add functions for compiling from source to SPIR-V

Pierre-Eric Pelloux Prayer (1):

  • mesa: implement glTextureStorageNDEXT functions

Pierre-Eric Pelloux-Prayer (23):

  • glsl: replace ‘x + (-x)’ with constant 0

  • mesa: fix invalid target error handling for teximage

  • mesa: add EXT_dsa glNamedRenderbufferStorageEXT and glGetNamedRenderbufferParameterivEXT

  • mesa: add EXT_dsa glClientAttribDefaultEXT / glPushClientAttribDefaultEXT

  • mesa: add EXT_dsa NamedProgram functions

  • mesa: add EXT_dsa glProgramUniform*EXT functions

  • mesa: add EXT_dsa + EXT_texture_buffer_object functions

  • mesa: add EXT_dsa + EXT_texture_integer functions

  • mesa: add EXT_dsa + EXT_gpu_shader4 functions

  • mesa: add EXT_dsa + EXT_gpu_program_parameters functions

  • mesa: add EXT_dsa glGetFloati_vEXT/glGetDoublei_vEXT

  • mesa: refactor GenerateTextureMipmap handling

  • mesa: add EXT_dsa Generate*MipmapEXT functions

  • mesa: add EXT_dsa NamedRenderbufferStorageMultisampleEXT function

  • mesa: add EXT_dsa NamedCopyBufferSubDataEXT function

  • radeonsi: align sdma byte count to dw

  • radeonsi: sdma misc fixes

  • radeonsi: disable sdma for gfx10

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

  • mesa: enable msaa in clear_with_quad if needed

  • radeonsi: fix shader disk cache key

  • radeonsi: fix multi plane buffers creation

  • radeonsi: use gfx9.surf_offset to compute texture offset

Plamena Manolova (8):

  • genxml: Add 3DSTATE_DEPTH_BOUNDS instruction.

  • iris: Add support for depth bounds testing.

  • anv: Add support for depth bounds testing.

  • genxml: Change 3DSTATE_DEPTH_BOUNDS bias.

  • anv: Set depthBounds to true in anv_GetPhysicalDeviceFeatures.

  • genxml: Add 3DSTATE_SO_BUFFER_INDEX_* instructions

  • iris: Implement new way for setting streamout buffers.

  • anv: Implement new way for setting streamout buffers.

Prodea Alexandru-Liviu (4):

  • scons/windows: Fix build with LLVM>=8

  • scons/MSYS2-MinGW-W64: Fix build options defaults

  • Appveyor/Meson: Add build test of osmesa gallium

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

Qiang Yu (4):

  • lima: move format handling to unified place

  • lima: implement EGL_KHR_partial_update

  • lima: don’t use damage system when full damage

  • lima: move damage bound build to resource

Rafael Antognolli (13):

  • anv: Only re-emit non-dynamic state that has changed.

  • intel/tools: Fix aubinator usage of rb_tree.

  • anv/block_pool: Align anv_block_pool state to 64 bits.

  • intel/tools: Factor out GGTT allocation.

  • intel/tools: Use common code for GGTT address allocation.

  • intel/tools: Add basic aub_context code and helpers.

  • intel/tools: Support multiple contexts in intel_dump_gpu.

  • intel/blorp/gen12: Set FWCC when storing the clear color.

  • anv: Align fast clear color state buffer to a page.

  • iris: Align fast clear color state buffer to a page.

  • iris: Add Tile Cache Flush for Unified Cache.

  • blorp: Add Tile Cache Flush for Unified Cache.

  • anv: Add Tile Cache Flush for Unified Cache.

Rhys Perry (84):

  • nir/lower_io_to_vector: allow FS outputs to be vectorized

  • nir/lower_io_to_vector: add flat mode

  • util: include u_endian.h in u_math.h

  • nir/lower_io_to_vector: don’t merge compact varyings

  • radv: keep GS threads with excessive emissions which could write to memory

  • radv: always emit a position export in gs copy shaders

  • radv: never kill a NGG GS shader

  • nir/opt_remove_phis: handle phis with no sources

  • aco: run nir_lower_int64() before nir_lower_idiv()

  • aco: implement 64-bit ineg

  • aco: fix GFX9 opcode for v_xad_u32

  • aco: fix v_subrev_co_u32_e64 opcode

  • aco: fix opcode for s_mul_hi_i32

  • aco: check for duplicate opcode numbers

  • radv/aco: actually disable ACO when unsupported

  • aco,radv/aco: get dissassembly for release builds if requested

  • aco: store printed backend IR in binary

  • radv/aco: return a correct name and description for the backend IR

  • aco,radv: rename record_llvm_ir/llvm_ir_string to record_ir/ir_string

  • aco: don’t CSE v_readlane_b32/v_readfirstlane_b32

  • aco: CSE readlane/readfirstlane/permute/reduce with the same exec mask

  • aco: set loop_info::has_discard for demotes

  • aco: don’t remove the loop exec mask in transition_to_Exact()

  • radv/aco,aco: set lower_fmod

  • nir/print: always use the right FILE *

  • aco: fix load_constant with multiple arrays

  • nir/constant_folding: add back and use constant_fold_state

  • nir/constant_folding: fold load_constant intrinsics

  • aco: move s_andn2_b64 instructions out of the p_discard_if

  • aco: enable nir_opt_sink

  • aco: Allow literals on VOP3 instructions.

  • aco: Assemble opsel in VOP3 instructions.

  • aco: workaround GFX10 0x3f branch bug

  • aco: pad code with s_code_end on GFX10

  • aco: Initial work to avoid GFX10 hazards.

  • aco: Use the VOP3-only add/sub GFX10 instructions if needed.

  • aco: Have s_waitcnt_vscnt write to NULL.

  • radv/aco: disable NGG when ACO is used

  • aco/gfx10: fix inline uniform blocks

  • aco/gfx10: disable GFX9 1D texture workarounds

  • aco: rework scratch resource code

  • aco: update print_ir

  • nir/lower_non_uniform: lower image/texture instructions taking derefs

  • nir/lower_input_attachments: pass on non-uniform access flag

  • aco: don’t apply sgprs/constants to read/write lane instructions

  • aco: use can_accept_constant in valu_can_accept_literal

  • aco: readfirstlane vgpr pointers in convert_pointer_to_64_bit()

  • aco: implement divergent vulkan_resource_index

  • aco: don’t use p_as_uniform for vgpr sampler/image indices

  • aco: fix scheduling with s_memtime/s_memrealtime

  • aco: don’t CSE s_memtime

  • aco: emit_split_vector() s_memtime results

  • nir/lower_idiv: add new llvm-based path

  • aco: use nir_lower_idiv_precise

  • aco: run opt_algebraic in a loop

  • aco: small stage corrections

  • aco: fix 64-bit p_extract_vector on 32-bit p_create_vector

  • aco: create load_lds/store_lds helpers

  • aco: fix sparse store_lds()

  • aco: properly combine additions into ds_write2_b64/ds_read2_b64

  • aco: use ds_read2_b64/ds_write2_b64

  • aco: add a few missing checks in value numbering

  • aco: keep can_reorder/barrier when combining addition into SMEM

  • aco: add missing bld.scc()

  • Revert “aco: only emit waitcnt on loop continues if we there was some load or export”

  • radv: round vgprs/sgprs before calculating max_waves

  • aco: increase accuracy of SGPR limits

  • aco: take LDS into account when calculating num_waves

  • aco: Fix reductions on GFX10.

  • aco: Remove dead code in reduction lowering.

  • aco: try to group together VMEM loads of the same resource

  • aco: a couple loop handling fixes for GFX10 hazard pass

  • aco: rename README to README.md

  • aco: fix new_demand calculation for first instructions

  • aco: fix shuffle with uniform operands

  • aco: fix read_invocation with VGPR lane index

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

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

  • aco: fix 64-bit fsign with 0

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

  • aco: fix i2i64

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

  • radv: set writes_memory for global memory stores/atomics

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

Rob Clark (60):

  • freedreno/ir3: convert block->predecessors to set

  • freedreno/ir3: maintain predecessors/successors

  • freedreno/ir3: do better job of marking convergence points

  • nir: remove unused constant_fold_state

  • freedreno/drm: fix 64b iova shifts

  • freedreno/ir3: use uniform base

  • freedreno/ir3: cleanup “partially const” ubo srcs

  • freedreno/ir3: fix addr/pred spilling

  • freedreno/ir3: fix mad copy propagation special case

  • freedreno/ir3: assert that only single address

  • freedreno/ir3: fix cp cmps.s opt

  • freedreno/ir3: allow copy propagation for relative

  • util: android logging support

  • freedreno/a6xx: don’t tile things that are too small

  • freedreno/a6xx: fix 3d tex layout

  • freedreno: fix compiler warning

  • freedreno/a6xx: pre-calculate userconst stateobj size

  • gitlab-ci/a630: skip dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8

  • freedreno/a6xx: un-open-code PC_PRIMITIVE_CNTL_1.PSIZE

  • freedreno/a6xx: fix binning pass vs. xfb

  • freedreno/a6xx: do streamout only in binning pass

  • freedreno/ir3: drop unused param

  • freedreno/ir3: handle multi component alu src when propagating shifts

  • freedreno: update registers

  • freedreno/ir3: remove unused ir3_instruction::inout

  • freedreno/ir3: track sysval slot for inputs

  • freedreno/ir3: don’t DCE ij_pix if used for pre-fs-texture-fetch

  • freedreno/ir3: add meta instruction for pre-fs texture fetch

  • freedreno/ir3: fixup register footprint to account for prefetch

  • freedreno/ir3: add dummy bary.f(ei) for pre-fs-fetch

  • freedreno/ir3: add pre-dispatch tex fetch to disasm

  • freedreno/ir3: force i/j pixel to r0.x

  • freedreno/a6xx: add support for pre-fs texture fetch

  • turnip: add support for pre-fs texture fetch

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

  • nir/search: fix the PoT helpers

  • freedreno/ir3: rename mul.s/mul.u

  • nir: Add a new ALU nir_op_imul24

  • nir: add amul instruction

  • nir: add address calc related opt rules

  • nir: add nir_lower_amul pass

  • freedreno/ir3: add rule to generate imad24

  • freedreno/ir3: optimize immed 2nd src to mad

  • freedreno/ir3: add imul24 opcode

  • freedreno/ir3: handle imad24_ir3 case in UBO lowering

  • freedreno/ir3: handle scalarized varying inputs

  • freedreno/ir3: fixup register footprint fixup

  • freedreno/ir3: debug cleanup

  • freedreno/ir3: make high regs easier to see in IR dumps

  • freedreno/ir3: propagate dest flags for collect/fanin

  • freedreno/ir3: treat high vs low reg as conversion

  • freedreno/ir3: allow copy-propagate out of fanout

  • freedreno/ir3: remove restrictions on const + (abs)/(neg)

  • freedreno/ir3: handle the progress case

  • freedreno/a6xx: remove some left over dead code

  • freedreno/a6xx: cleanup magic registers

  • freedreno/a6xx: add a618 support

  • freedreno/ir3: fix gpu hang with pre-fs-tex-fetch

  • Revert “freedreno/ir3: enable pre-fs texture fetch for a6xx”

  • nir/lower_clip: Fix incorrect driver loc for clipdist outputs

Robin Murphy (1):

  • egl/gbm: Fix config validation

Rohan Garg (3):

  • panfrost: Remove unused argument from panfrost_drm_submit_vs_fs_job()

  • panfrost: Jobs must be per context, not per screen

  • panfrost: protect access to shared bo cache and transient pool

Roland Scheidegger (4):

  • gallivm: use fallback code for mul_hi with llvm >= 7.0

  • llvmpipe: fix CALLOC vs. free mismatches

  • llvmpipe: increase max texture size to 2GB

  • gallivm: Fix saturated signed psub/padd intrinsics on llvm 8

Roman Stratiienko (1):

  • lima: Return fence unconditionally

Sagar Ghuge (26):

  • intel/eu/gen12: Implement immediate 64 bit constant encoding.

  • nir: Add alpha_to_coverage lowering pass

  • intel/compiler: Remove emit_alpha_to_coverage workaround from backend

  • intel: Add missing entry for brw_nir_lower_alpha_to_coverage in Makefile

  • intel/compiler: Add Immediate support for 3 source instruction

  • intel/compiler: Set bits according to source file

  • intel/compiler: Don’t move immediate in register

  • intel/compiler: Refactor disassembly of sources in 3src instruction

  • intel/isl: Don’t reconfigure aux surfaces for MCS

  • iris: Initialize CCS to fast clear while using with MCS

  • iris: Define MCS_CCS state transitions and usages

  • intel/blorp: Use isl_aux_usage_has_mcs instead of comparing

  • iris: Get correct resource aux usage for copy

  • intel/isl: Support lossless compression with multisamples

  • iris: Create resource with aux_usage MCS_CCS

  • genxml/gen12: Add Stencil Buffer Resolve Enable bit

  • intel/blorp: Assign correct view while clearing depth stencil

  • intel/blorp: Add helper function for stencil buffer resolve

  • intel: Track stencil aux usage on Gen12+

  • intel/blorp: Set stencil resolve enable bit

  • iris: Resolve stencil buffer lossless compression with WM_HZ_OP packet

  • iris: Prepare stencil resource before clear depth stencil

  • iris: Prepare depth resource if clear_depth enable

  • iris: Prepare resources before stencil blit operation

  • iris: Resolve stencil resource prior to copy or used by CPU

  • intel/isl: Allow stencil buffer to support compression on Gen12+

Samuel Iglesias Gonsálvez (26):

  • spirv: check support for SPV_KHR_float_controls capabilities

  • spirv/nir: keep track of SPV_KHR_float_controls execution modes

  • nir: add auxiliary functions to detect if a mode is enabled

  • nir: add support for flushing to zero denorm constants

  • util: add softfloat functions to operate with doubles and floats

  • util: add float to float16 conversions with RTZ and RTNE

  • util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes

  • nir: add support for round to zero rounding mode to nir_op_f2f32

  • nir: mind rounding mode on fadd, fsub, fmul and fma opcodes

  • nir/opcodes: make sure f2f16_rtz and f2f16_rtne behavior is not overriden by the float controls execution mode

  • nir/constant_expressions: mind rounding mode converting from float to float16 destinations

  • nir/algebraic: disable inexact optimizations depending on float controls execution mode

  • nir: fix denorms in unpack_half_1x16()

  • nir: fix denorm flush-to-zero in sqrt’s lowering at nir_lower_double_ops

  • nir: fix fmin/fmax support for doubles

  • intel/nir: do not apply the fsin and fcos trig workarounds for consts

  • i965/fs/nir: add nir_op_unpack_half_2x16_split_*_flush_to_zero

  • i965/fs/generator: refactor rounding mode helper in preparation for float controls

  • i965/fs/generator: add new opcode to set float controls modes in control register

  • i965/fs: add emit_shader_float_controls_execution_mode() and aux functions

  • i965/fs: set rounding mode when emitting fadd, fmul and ffma instructions

  • i965/fs: set rounding mode when emitting nir_op_f2f32 or nir_op_f2f16

  • i965/fs: add support for shader float control to remove_extra_rounding_modes()

  • anv: enable VK_KHR_shader_float_controls and SPV_KHR_float_controls

  • docs/relnotes: add support for VK_KHR_shader_float_controls on Intel

  • nir/algebraic: refactor inexact opcode restrictions

Samuel Pitoiset (136):

  • radv/gfx10: tidy up gfx10_format_table.py

  • radv/gfx10: hardcode some depth+stencil formats in the format table

  • radv: allow to enable VK_AMD_shader_ballot only on GFX8+

  • radv: add a new debug option called RADV_DEBUG=noshaderballot

  • radv: force enable VK_AMD_shader_ballot for Wolfenstein Youngblood

  • radv: implement VK_AMD_shader_core_properties2

  • ac: fix exclusive scans on GFX8-GFX9

  • ac,radv,radeonsi: remove LLVM 7 support

  • gitlab-ci: bump LLVM to 8 for meson-vulkan and meson-clover

  • radv/gfx10: don’t initialize VGT_INSTANCE_STEP_RATE_0

  • radv/gfx10: do not use NGG with NAVI14

  • radv: fix getting the index type size for uint8_t

  • radv: add radv_process_depth_image_layer() helper

  • radv: add mipmaps support for decompress/resummarize

  • radv: decompress mipmapped depth/stencil images during transitions

  • radv: allocate metadata space for mipmapped depth/stencil images

  • radv: add mipmap support for the TC-compat zrange bug

  • radv: add mipmap support for the clear depth/stencil values

  • ac: drop llvm8 from some load/store helpers

  • ac: add has_clear_state to ac_gpu_info

  • ac: add has_distributed_tess to ac_gpu_info

  • ac: add has_dcc_constant_encode to ac_gpu_info

  • ac: add has_rbplus to ac_gpu_info

  • ac: add has_load_ctx_reg_pkt to ac_gpu_info

  • ac: add has_out_of_order_rast to ac_gpu_info

  • ac: add cpdma_prefetch_writes_memory to ac_gpu_info

  • ac: add has_gfx9_scissor_bug to ac_gpu_info

  • ac: add has_tc_compat_zrange_bug to ac_gpu_info

  • ac: add rbplus_allowed to ac_gpu_info

  • ac: add has_msaa_sample_loc_bug to ac_gpu_info

  • ac: add has_ls_vgpr_init_bug to ac_gpu_info

  • radv: make use of has_ls_vgpr_init_bug

  • radv/gfx10: compute the LDS size for exporting PrimID for VS

  • ac: import linear/perspective PS input parameters from radv/radeonsi

  • ac: drop now useless lookup_interp_param from ABI

  • radv: gather info about PS inputs in the shader info pass

  • radv: move lowering PS inputs/outputs at the right place

  • radv: remove some unused fields from radv_shader_context

  • radv: remove unused shader_info parameter in ac_compile_llvm_module()

  • radv: remove useless ac_llvm_util.h include from the WSI code

  • radv: remove radv_init_llvm_target() helper

  • radv: replace ac_nir_build_if by ac_build_ifcc

  • radv: move setting can_discard to ac_fill_shader_info()

  • radv: keep a pointer to a NIR shader into radv_shader_context

  • nir: do not assume that the result of fexp2(a) is always an integral

  • radv/gfx10: always set ballot_mask_bits to 64

  • radv: merge radv_shader_variant_info into radv_shader_info

  • radv: move ac_fill_shader_info() to radv_nir_shader_info_pass()

  • radv: gather clip/cull distances in the shader info pass

  • radv: gather pointsize in the shader info pass

  • radv: gather viewport in the shader info pass

  • radv: gather layer in the shader info pass

  • radv: gather primitive ID in the shader info pass

  • radv: calculate the GSVS vertex size in the shader info pass

  • radv: calculate esgs_itemsize in the shader info pass

  • radv/gfx10: account for the subpass view for the NGG GS storage

  • radv/gfx10: make use the output usage mask when exporting NGG GS params

  • radv/gfx10: determine the number of vertices per primitive for TES

  • radv: do not pass all compiler options to the shader info pass

  • radv: fill shader info for all stages in the pipeline

  • radv: store GFX9 GS state as part of the shader info

  • radv: store GFX10 NGG state as part of the shader info

  • radv: store the ESGS ring size as part of gfx10_ngg_info

  • radv: calculate GFX9 GS and GFX10 NGG states before compiling shader variants

  • radv/gfx10: declare a LDS symbol for the NGG emit space

  • radv: fix allocating number of user sgprs if streamout is used

  • radv/winsys: add support for GS and OA domains

  • radv/gfx10: add an option to switch from legacy to NGG streamout

  • radv/gfx10: implement NGG streamout begin/end functions

  • radv/gfx10: allocate GDS/OA buffer objects for NGG streamout

  • radv/gfx10: adjust the GS NGG scratch size for streamout

  • radv/gfx10: unconditionally declare scratch space for NGG streamout without GS

  • radv/gfx10: adjust the LDS size for VS/TES NGG streamout

  • radv/gfx10: fix unnecessary LDS overallocation for NGG GS

  • radv/gfx10: compute the correct buffer size for NGG streamout

  • radv/gfx10: gather GS output for VS as NGG

  • radv/gfx10: enable NGG_WAVE_ID_EN for NGG streamout

  • radv/gfx10: make GDS idle when leaving the IB

  • radv/gfx10: make sure to wait for idle before clearing GDS

  • radv/gfx10: implement NGG streamout

  • radv/gfx10: disable unsupported transform feedback features for NGG

  • radv: fix writing depth/stencil clear values to image

  • radv: fix loading 64-bit GS inputs

  • radv/gfx10: fix VK_KHR_pipeline_executable_properties with NGG GS

  • radv/gfx10: add radv_device::use_ngg

  • radv/gfx10: add missing counter buffer to the BO list

  • radv/gfx10: fix storing/loading NGG stream outputs for VS and TES

  • radv/gfx10: use the component mask when storing/loading NGG stream outputs

  • radv/gfx10: fix storing/loading NGG stream outputs for GS

  • radv/gfx10: fix NGG streamout with triangle strips for VS

  • radv: rework the slow depthstencil clear to write depth from PS

  • Revert “radv: disable viewport clamping even if FS doesn’t write Z”

  • radv: fix build

  • radv/gfx10: fix the ESGS ring size symbol

  • radv: enable lower_fmod for the LLVM path

  • ac/nir: remove unused code for nir_op_{fmod,frem}

  • radv: implement VK_KHR_shader_clock

  • drirc: enable vk_x11_override_min_image_count for DOOM

  • radv: bump minTexelBufferOffsetAlignment to 4

  • radv: get the device name from radeon_info::name

  • radv: sync before resetting query pools if timestamps have been written

  • radv: use a compute shader for copying timestamp query results

  • radv: fix DCC fast clear code for intensity formats

  • radv: rename VK_KHR_shader_float16_int8 structs/constants

  • Revert “radv: do not emit PKT3_CONTEXT_CONTROL with AMDGPU 3.6.0+”

  • radv: fix DCC fast clear code for intensity formats (correctly)

  • ac/llvm: add ac_build_canonicalize() helper

  • ac/llvm: add AC_FLOAT_MODE_ROUND_TO_ZERO

  • ac/llvm: force fneg/fabs to flush denorms to zero if requested

  • radv: implement VK_KHR_shader_float_controls

  • radv: enable VK_KHR_shader_float_controls on GFX6-GFX7

  • radv: do not print useless descriptors info in hang reports

  • radv: print which ring is dumped in hang reports

  • radv: dump trace files earlier if a GPU hang is detected

  • radv: do not dump descriptors twice in hang reports

  • radv: advertise VK_KHR_spirv_1_4

  • ac/llvm: fix ac_to_integer_type() for 32-bit const addr space pointers

  • radv: fix updating bound fast ds clear values with different aspects

  • radv: do not create meta pipelines with 16 samples

  • radv: add an assertion in radv_gfx10_compute_bin_size()

  • radv: do not emit rbplus if attachments are undefined

  • radv/gfx10: re-enable fast depth/stencil clears with separate aspects

  • radv/gfx10: fix 3D images

  • radv: fix vkUpdateDescriptorSets with inline uniform blocks

  • radv: fix a performance regression with graphics depth/stencil clears

  • radv: compute the number of records correctly for vertex buffers

  • radv: fix VK_KHR_shader_float_controls dependency on GFX6-7

  • radv: enable fast depth/stencil clears with separate aspects on GFX8

  • radv: fix OpQuantizeToF16 for NaN on GFX6-7

  • radv: fix dumping SPIR-V into hang reports

  • radv: move nomemorycache debug option at the right palce

  • radv: fix perftest options

  • radv: fix compute pipeline keys when optimizations are disabled

  • radv: fix enabling sample shading with SampleID/SamplePosition

  • radv/gfx10: fix implementation of exclusive scans

  • ac/nir: fix out-of-bound access when loading constants from global

Sergii Romantsov (4):

  • intel/dri: finish proper glthread

  • nir/large_constants: more careful data copying

  • nir/large_constants: pass after lowering copy_deref

  • meta: leak of shader program when decompressing tex-images

Stephen Barber (1):

  • nouveau: add idep_nir_headers as dep for libnouveau

Tapani Pälli (23):

  • util: fix os_create_anonymous_file on android

  • iris/android: fix build and link with libmesa_intel_perf

  • egl: reset blob cache set/get functions on terminate

  • intel/genxml: generate pack files for gen12 on android builds

  • intel/isl: build android libmesa_isl for gen12

  • iris: build android libmesa_iris for gen12

  • anv: build libanv for gen12 in android build

  • i965: initialize bo_reuse when creating brw_bufmgr

  • iris: use driconf for ‘bo_reuse’ parameter

  • android: fix linking issues with liblog

  • iris: close screen fd on iris_destroy_screen

  • egl: check for NULL value like eglGetSyncAttribKHR does

  • iris: disable aux on first get_param if not created with aux

  • mesa/st: calculate texture size based on EGLImage miplevel

  • anv/android: fix images created with external format support

  • i965: setup sized internalformat for MESA_FORMAT_R10G10B10A2_UNORM

  • mesa: add [Program]Uniform*64ARB display list support

  • mesa: enable ARB_gpu_shader_int64 in compat profile

  • 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”

Thomas Hellstrom (2):

  • svga: Fix banded DMA upload unmap

  • winsys/svga: Limit the maximum DMA hardware buffer size

Thong Thai (2):

  • Revert “radeonsi: don’t emit PKT3_CONTEXT_CONTROL on amdgpu”

  • radeonsi: add JPEG decode support for VCN 2.0 devices

Timothy Arceri (35):

  • radeonsi/nir: fix number of used samplers

  • util/disk_cache: bump thread count assigned to disk cache queue

  • util/u_queue: track job size and limit the size of queue growth

  • util/disk_cache: make use of the total job size limiting feature

  • radeonsi/nir: lower load constants to scalar

  • glsl: fix crash compiling bindless samplers inside unnamed UBOs

  • nir: fix nir_variable_data packing

  • nir: improve nir_variable packing

  • glsl: remove propagate_invariance() call from the linker

  • radv: get topology from pipeline key rather than VkGraphicsPipelineCreateInfo

  • radv: add debug option to turn off in memory cache

  • radv: add radv_create_shaders() to radv_shader.h

  • radv: add radv_secure_compile_type enum

  • radv: add some new members to radv device and instance for secure compile

  • radv: add radv_device_use_secure_compile() helper

  • radv: allow the secure process to read and write from disk cache

  • radv: for secure compile exit early from radv_shader_variant_create()

  • radv: add radv_secure_compile()

  • radv: a support for a secure compile fork at device creation

  • radv: enable secure compile support

  • util: remove LIST_INITHEAD macro

  • util: remove LIST_ADDTAIL macro

  • util: remove LIST_ADD macro

  • util: remove LIST_REPLACE macro

  • util: remove LIST_DELINIT macro

  • util: remove LIST_DEL macro

  • util: rename list_empty() to list_is_empty()

  • util: remove LIST_IS_EMPTY macro

  • radv: allow select() calls in secure compile

  • radv: add radv_sc_read() helper

  • radv: make use of radv_sc_read()

  • 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

  • glsl/nir: iterate the system values list when adding varyings

Timur Kristóf (48):

  • st/nine: Properly initialize GLSL types for NIR shaders.

  • nir: Carve out nir_lower_samplers from GLSL code.

  • tgsi_to_nir: Remove dependency on libglsl.

  • amd/common: Move ac_export_mrt_z to ac_llvm_build.

  • amd/common: Extract some helper functions to ac_shader_util.

  • amd/common: Add num_shared_vgprs to ac_shader_config for GFX10.

  • radv: Set shared VGPR count in radv_postprocess_config.

  • amd/common: Introduce ac_get_fs_input_vgpr_cnt.

  • radv: Add debug option to dump meta shaders.

  • radv: Fix L2 cache rinse programming.

  • amd: Move all amd/common code that depends on LLVM to amd/llvm.

  • aco: Set +wavefrontsize64 for LLVM disassembler in GFX10 wave64 mode.

  • aco: Add missing GFX10 specific fields and some README notes.

  • aco: Support GFX10 SMEM in aco_assembler.

  • aco: Support GFX10 VINTRP in aco_assembler.

  • aco: Support GFX10 DS in aco_assembler.

  • aco: Support GFX10 MUBUF in aco_assembler.

  • amd/common: Add extern “C” to some headers that were missing it.

  • aco: Link ACO with amd/common.

  • aco: Support GFX10 MTBUF in aco_assembler.

  • aco: Support GFX10 MIMG and GFX9 D16 in aco_assembler.

  • aco: Fix GFX9 FLAT, SCRATCH, GLOBAL instructions, add GFX10 support.

  • aco: Support GFX10 EXP in aco_assembler.

  • aco: Support GFX10 VOP3 and VOP1 as VOP3 in aco_assembler.

  • aco: Set GFX10 DLC bit properly.

  • aco: Use ac_get_sampler_dim, delete duplicate code.

  • aco: Set GFX10 dimensionality on the instructions that need it.

  • aco: Support subvector loops in aco_assembler.

  • aco: Fix VS input VGPRs on GFX10.

  • aco: Fix s_dcache_wb on GFX10.

  • aco: Add extra assertion for number of FS input VGPRs.

  • aco: Clean up usages of PhysReg::reg from aco_assembler.

  • aco/gfx10: Wait for pending SMEM stores before loads

  • aco/gfx10: Fix PS exports for SPI_SHADER_32_AR.

  • aco/gfx10: Update constant addresses in fix_branches_gfx10.

  • aco/gfx10: Add notes about some GFX10 hazards.

  • aco/gfx10: Mitigate VcmpxPermlaneHazard.

  • aco/gfx10: Mitigate VcmpxExecWARHazard.

  • aco/gfx10: Mitigate SMEMtoVectorWriteHazard.

  • aco/gfx10: Mitigate LdsBranchVmemWARHazard.

  • aco/gfx10: Fix mitigation of VMEMtoScalarWriteHazard.

  • aco: Refactor hazard mitigations, separate pass for GFX10.

  • st/nine: Fix build with -Werror=empty-body

  • st/nine: Fix unused variable warnings in release build.

  • aco: Implement subgroup shuffle in GFX10 wave64 mode.

  • aco: Introduce vgpr_limit to keep track of available VGPRs.

  • radv: Enable ACO on Navi.

  • ac: Handle invalid GFX10 format correctly in ac_get_tbuffer_format.

Tomeu Vizoso (19):

  • panfrost/ci: Use Volt-based runner for dEQP tests

  • panfrost/ci: Print bootstrap log

  • panfrost/ci: Build kernel with CONFIG_DETECT_HUNG_TASK

  • panfrost/ci: Install qemu-arm-static into chroot

  • panfrost/ci: Print load stats

  • panfrost/ci: Print only regressions

  • panfrost/ci: Re-add support for armhf

  • panfrost/ci: Use special runner for LAVA jobs

  • panfrost/ci: Increase timeouts

  • panfrost/ci: Run dEQP with the surfaceless platform

  • panfrost/ci: Update kernel to 5.3-rc8

  • panfrost/ci: Use releases for Volt dEQP

  • gitlab-ci: Run dEQP on devices with Panfrost

  • gitlab-ci: Move LAVA-related files into top-level ci dir

  • gitlab-ci/lava: Fix image to use in test jobs

  • gitlab-ci/lava: Use files to list tests to skip

  • gitlab-ci/lava: Test Lima driver with dEQP

  • panfrost: Keep track of active BOs

  • gitlab-ci: Update kernel for LAVA jobs to 5.4-rc4

Urja Rannikko (1):

  • panfrost: allocate bo for occlusion query results

Vasily Khoruzhick (35):

  • lima/ppir: refactor const lowering

  • lima/ppir: clone ld_{uni,tex,var} into each block

  • lima/ppir: add support for unconditional branches and condition negation

  • lima/ppir: set write mask for texture loads if dest is reg

  • lima/ppir: fix ordering deps

  • lima/ppir: add write after read deps for registers

  • lima/ppir: add dummy op

  • lima/ppir: create ppir block for each corresponding NIR block

  • lima/ppir: turn store_color into ALU node

  • lima/ppir: validate shader outputs

  • lima/ppir: add better liveness analysis

  • lima/ppir: add control flow support

  • lima/ppir: print register index and components number for spilled register

  • lima: fix texture descriptor issues

  • lima/ppir: add common helper for creating movs

  • lima/ppir: don’t assume that load coords gets value from register

  • lima/ppir: clone uniforms and load_coords into each successor

  • nir: allow specifying filter callback in lower_alu_to_scalar

  • lima/ppir: don’t lower vector {b,f}csel to scalar if condition is scalar

  • lima/ppir: don’t lower phis to scalar

  • lima/gpir: lower fceil

  • lima/gpir: fix warning in gpir disassembler

  • lima: run opt_algebraic between int_to_float and boot_to_float for vs

  • lima/ppir: drop fge/flt/feq/fne options

  • lima: set .out_sync field of req in lima_submit_start()

  • lima: add standalone disassembler with primitive MBS parser

  • lima: use 0 to poll if BO is busy in lima_bo_wait()

  • lima: implement BO cache

  • lima/ppir: don’t attempt to clone tex coords if it’s not varying

  • lima/ppir: add node dependency types

  • lima/ppir: add support for indirect load of uniforms and varyings

  • lima/ppir: add NIR pass to split varying loads

  • lima: set uniforms_address lower bits properly

  • lima/ppir: don’t clone texture loads

  • lima: fix PP stack size

Vinson Lee (7):

  • glx: Fix up glXQueryGLXPbufferSGIX on macOS.

  • swr: Fix build with llvm-9.0 again.

  • travis: Fail build if any command in if statement fails.

  • util: Define strchrnul on macOS.

  • swr: Fix make_unique build error.

  • scons: Add coroutines component to build.

  • meson: Add coroutines component to llvmpipe build.

Wladimir J. van der Laan (1):

  • etnaviv: GC7000: Texture descriptors

Yevhenii Kolesnikov (2):

  • glsl: Enable textureSize for samplerExternalOES

  • meson: Fix linkage of libgallium_nine with libgalliumvl

Zebediah Figura (1):

  • Revert “draw: revert using correct order for prim decomposition.”

Zhaowei Yuan (1):

  • broadcom/vc4: Expand width of dst surface

Zhu, James (1):

  • radeon: Fix mjpeg issue for ARCTURUS

nia (1):

  • loader: include limits.h for PATH_MAX

pal1000 (3):

  • scons/windows: Support build with LLVM 9.

  • scons: Fix MSYS2 Mingw-w64 build.

  • scons/windows: Enable compute shaders when possible.

renchenglei (1):

  • egl/android: Enable HAL_PIXEL_FORMAT_RGBA_1010102 format