Mesa 19.1.0 Release Notes / June 11, 2019

Mesa 19.1.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.1.1.

Mesa 19.1.0 implements the OpenGL 4.5 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.5. OpenGL 4.5 is only available if requested at context creation. Compatibility contexts may report a lower version depending on each driver.

SHA256 checksums

2a6c3af3a803389183168e449c536304cf03e0f82c4c9333077933543b9d02f3  mesa-19.1.0.tar.xz

New features

  • GL_ARB_parallel_shader_compile on all drivers.

  • GL_EXT_gpu_shader4 on all GL 3.1 drivers.

  • GL_EXT_shader_image_load_formatted on radeonsi.

  • GL_EXT_texture_buffer_object on all GL 3.1 drivers.

  • GL_EXT_texture_compression_s3tc_srgb on Gallium drivers and i965 (ES extension).

  • GL_NV_compute_shader_derivatives on iris and i965.

  • GL_KHR_parallel_shader_compile on all drivers.

  • VK_EXT_buffer_device_address on Intel and RADV.

  • VK_EXT_depth_clip_enable on Intel and RADV.

  • VK_KHR_ycbcr_image_arrays on Intel.

  • VK_EXT_inline_uniform_block on Intel and RADV.

  • VK_EXT_external_memory_host on Intel.

  • VK_EXT_host_query_reset on Intel and RADV.

  • VK_KHR_surface_protected_capabilities on Intel and RADV.

  • VK_EXT_pipeline_creation_feedback on Intel and RADV.

  • VK_KHR_8bit_storage on RADV.

  • VK_AMD_gpu_shader_int16 on RADV.

  • VK_AMD_gpu_shader_half_float on RADV.

  • VK_NV_compute_shader_derivatives on Intel.

  • VK_KHR_shader_float16_int8 on Intel and RADV (RADV only supports int8).

  • VK_KHR_shader_atomic_int64 on Intel.

  • VK_EXT_descriptor_indexing on Intel.

  • VK_KHR_shader_float16_int8 on Intel and RADV.

  • GL_INTEL_conservative_rasterization on iris.

  • VK_EXT_memory_budget on Intel.

Bug fixes

  • Bug 81843 - [SNB IVB HSW] ETC2 textures are not returned as compressed images

  • Bug 99781 - Some Unity games fail assertion on startup in glXCreateContextAttribsARB

  • Bug 100239 - Incorrect rendering in CS:GO

  • Bug 100316 - Linking GLSL 1.30 shaders with invariant and deprecated variables triggers an ‘mismatching invariant qualifiers’ error

  • Bug 104272 - [OpenGL CTS] [HSW] KHR-GL46.direct_state_access.textures_compressed_subimage assert fails

  • Bug 104355 - Ivy Bridge ignores component mappings in texture views

  • Bug 104602 - [apitrace] Graphical artifacts in Civilization VI on RX Vega

  • Bug 107052 - [Regression][bisected]. Crookz - The Big Heist Demo can’t be launched despite the “true” flag in “drirc”

  • Bug 107505 - [lars] dEQP-GLES31.functional.geometry_shading.layered#render_with_default_layer_3d failure

  • Bug 107510 - [GEN8+] up to 10% perf drop on several 3D benchmarks

  • Bug 107563 - [RADV] Broken rendering in Unity demos

  • Bug 107987 - [Debug mesa only]. Crash happens when calling drawArrays

  • Bug 108250 - [GLSL] layout-location-struct.shader_test fails to link

  • Bug 108457 - [OpenGL CTS] KHR-GL46.tessellation_shader.single.xfb_captures_data_from_correct_stage fails

  • Bug 108540 - vkAcquireNextImageKHR blocks when timeout=0 in Wayland

  • Bug 108766 - Mesa built with meson has RPATH entries

  • Bug 108824 - Invalid handling when GL buffer is bound on one context and invalidated on another

  • Bug 108841 - [RADV] SPIRV’s control flow attributes do not propagate to LLVM

  • Bug 108879 - [CIK] [regression] All opencl apps hangs indefinitely in si_create_context

  • Bug 108999 - Calculating the scissors fields when the y is flipped (0 on top) can generate negative numbers that will cause assertion failure later on.

  • Bug 109057 - texelFetch from GL_TEXTURE_2D_MULTISAMPLE with integer format fails

  • Bug 109107 - gallium/st/va: change va max_profiles when using Radeon VCN Hardware

  • Bug 109216 - 4-27% performance drop in Vulkan benchmarks

  • Bug 109326 - mesa: Meson configuration summary should be printed

  • Bug 109328 - [BSW BXT GLK] dEQP-VK.subgroups.arithmetic.subgroup regressions

  • Bug 109391 - LTO Build fails

  • Bug 109401 - [DXVK] Project Cars rendering problems

  • Bug 109404 - [ANV] The Witcher 3 shadows flickering

  • Bug 109443 - Build failure with MSVC when using Scons >= 3.0.2

  • Bug 109451 - [IVB,SNB] LINE_STRIPs following a TRIANGLE_FAN fail to use primitive restart

  • Bug 109543 - After upgrade mesa to 19.0.0~rc1 all vulkan based application stop working [“vulkan-cube” received SIGSEGV in radv_pipeline_init_blend_state at ../src/amd/vulkan/radv_pipeline.c:699]

  • Bug 109561 - [regression, bisected] code re-factor causing games to stutter or lock-up system

  • Bug 109573 - dEQP-VK.spirv_assembly.instruction.graphics.module.same_module

  • Bug 109575 - Mesa-19.0.0-rc1 : Computer Crashes trying to run anything Vulkan

  • Bug 109581 - [BISECTED] Nothing is Rendered on Sascha Willem’s “subpasses” demo

  • Bug 109594 - totem assert failure: totem: src/intel/genxml/gen9_pack.h:72: __gen_uint: La declaración `v <= max’ no se cumple.

  • Bug 109597 - wreckfest issues with transparent objects & skybox

  • Bug 109601 - [Regression] RuneLite GPU rendering broken on 18.3.x

  • Bug 109603 - nir_instr_as_deref: Assertion `parent && parent->type == nir_instr_type_deref’ failed.

  • Bug 109645 - build error on arm64: tegra_screen.c:33: /usr/include/xf86drm.h:41:10: fatal error: drm.h: No such file or directory

  • Bug 109646 - New video compositor compute shader render glitches mpv

  • Bug 109647 - /usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory

  • Bug 109648 - AMD Raven hang during va-api decoding

  • Bug 109659 - Missing OpenGL symbols in OSMesa Gallium when building with meson

  • Bug 109698 - dri.pc contents invalid when built with meson

  • Bug 109717 - [regression] Cull distance tests asserting

  • Bug 109735 - [Regression] broken font with mesa_vulkan_overlay

  • Bug 109738 - Child of Light shows only a black screen

  • Bug 109739 - Mesa build fails when vulkan-overlay-layer option is enabled

  • Bug 109742 - vdpau state tracker on nv92 started to hit assert after vl compute work

  • Bug 109743 - Test fails: piglit.spec.arb_sample_shading.arb_sample_shading-builtin-gl-sample-mask-mrt-alpha

  • Bug 109747 - Add framerate to vulkan-overlay-layer

  • Bug 109759 - [BISECTED][REGRESSION][IVB, HSW] Font rendering problem in OpenGL

  • Bug 109788 - vulkan-overlay-layer: Only installs 64bit version

  • Bug 109810 - nir_opt_copy_prop_vars.c:454: error: unknown field ‘ssa’ specified in initializer

  • Bug 109929 - tgsi_to_nir.c:2111: undefined reference to `gl_nir_lower_samplers_as_deref’

  • Bug 109944 - [bisected] Android build test fails with: utils.c: error: use of undeclared identifier ‘PACKAGE_VERSION’

  • Bug 109945 - pan_assemble.c:51:46: error: passing argument 2 of ‘tgsi_to_nir’ from incompatible pointer type [-Werror=incompatible-pointer-types]

  • Bug 109980 - [i915 CI][HSW] spec@arb_fragment_shader_interlock@arb_fragment_shader_interlock-image-load-store - fail

  • Bug 109984 - unhandled VkStructureType VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO

  • Bug 110134 - SIGSEGV while playing large hevc video in mpv

  • Bug 110143 - Doom 3: BFG Edition - Steam and GOG.com - white flickering screen

  • Bug 110201 - [ivb] mesa 19.0.0 breaks rendering in kitty

  • Bug 110211 - If DESTDIR is set to an empty string, the dri drivers are not installed

  • Bug 110216 - radv: Segfault when compiling compute shaders from Assassin’s Creed Odyssey (regression, bisected)

  • Bug 110221 - build error with meson

  • Bug 110239 - Mesa SIGABRT: src/intel/genxml/gen9_pack.h:72: __gen_uint: Assertion `v <= max’ failed

  • Bug 110257 - Major artifacts in mpeg2 vaapi hw decoding

  • Bug 110259 - radv: Sampling depth-stencil image in GENERAL layout returns nothing but zero (regression, bisected)

  • Bug 110291 - Vega 64 GPU hang running Space Engineers

  • Bug 110302 - [bisected][regression] piglit egl-create-pbuffer-surface and egl-gl-colorspace regressions

  • Bug 110305 - Iris driver fails ext_packed_depth_stencil-getteximage test

  • Bug 110311 - [IVB HSW SNB][regression][bisected] regressions on vec4 deqp/gl{es}cts tests

  • Bug 110349 - radv: Dragon Quest XI (DXVK) has a graphical glitch (regression, bisected)

  • Bug 110353 - weird colors seen in valley

  • Bug 110355 - radeonsi: GTK elements become invisible in some applications (GIMP, LibreOffice)

  • Bug 110356 - install_megadrivers.py creates new dangling symlink [bisected]

  • Bug 110404 - Iris fails piglit.spec.ext_transform_feedback.immediate-reuse test

  • Bug 110422 - AMD_DEBUG=forcedma will crash OpenGL aps with SIGFAULT on VegaM 8706G

  • Bug 110441 - [llvmpipe] complex-loop-analysis-bug regression

  • Bug 110443 - vaapi/vpp: wrong output for non 64-bytes align width (ex: 1200)

  • Bug 110454 - [llvmpipe] piglit arb_color_buffer_float-render GL_RGBA8_SNORM failure with llvm-9

  • Bug 110462 - Epic Games Launcher renders nothing with “-opengl” option

  • Bug 110474 - [bisected][regression] vk cts fp16 arithmetic failures

  • Bug 110497 - [DXVK][Regression][Bisected][SKL] Project Cars 2 crashes with Bug Splat when loading finishes

  • Bug 110526 - [CTS] dEQP-VK.ycbcr.{conversion,format}.* fail

  • Bug 110530 - [CTS] dEQP-VK.ycbcr.format.g8_b8_r8_3plane_420* reports VM faults on Vega10

  • Bug 110535 - [bisected] [icl] GPU hangs on crucible func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw tests

  • Bug 110540 - [AMD TAHITI XT] valve artifact broken

  • Bug 110573 - Mesa vulkan-radeon 19.0.3 system freeze and visual artifacts (RADV)

  • Bug 110590 - [Regression][Bisected] GTAⅣ under wine fails with GLXBadFBConfig

  • Bug 110632 - “glx: Fix synthetic error generation in __glXSendError” broke wine games on 32-bit

  • Bug 110648 - Dota2 will not open using vulkan since 19.0 series

  • Bug 110655 - VK_LAYER_MESA_OVERLAY_CONFIG=draw,fps renders sporadically

  • Bug 110698 - tu_device.c:900:4: error: initializer element is not constant

  • Bug 110701 - GPU faults in in Unigine Valley 1.0

  • Bug 110721 - graphics corruption on steam client with mesa 19.1.0 rc3 on polaris

  • Bug 110761 - Huge problems between Mesa and Electron engine apps

  • Bug 110784 - [regression][bisected] Reverting ‘expose 0 shader binary formats for compat profiles for Qt’ causes get_program_binary failures on Iris

Changes

Adam Jackson (1):

  • drisw: Try harder to probe whether MIT-SHM works

Albert Pal (1):

  • Fix link release notes for 19.0.0.

Alejandro Piñeiro (12):

  • blorp: introduce helper method blorp_nir_init_shader

  • nir, glsl: move pixel_center_integer/origin_upper_left to shader_info.fs

  • nir/xfb: add component_offset at nir_xfb_info

  • nir_types: add glsl_varying_count helper

  • nir/xfb: adding varyings on nir_xfb_info and gather_info

  • nir/xfb: sort varyings too

  • nir_types: add glsl_type_is_struct helper

  • nir/xfb: handle arrays and AoA of basic types

  • nir/linker: use nir_gather_xfb_info

  • nir/linker: fix ARRAY_SIZE query with xfb varyings

  • nir/xfb: move varyings info out of nir_xfb_info

  • docs: document MESA_GLSL=errors keyword

Alexander von Gluck IV (1):

  • haiku: Fix hgl dispatch build. Tested under meson/scons.

Alexandros Frantzis (1):

  • virgl: Fake MSAA when max samples is 1

Alok Hota (32):

  • swr/rast: update SWR rasterizer shader stats

  • gallium/swr: Param defaults for unhandled PIPE_CAPs

  • gallium/aux: add PIPE_CAP_MAX_VARYINGS to u_screen

  • swr/rast: Convert system memory pointers to gfxptr_t

  • swr/rast: Disable use of __forceinline by default

  • swr/rast: Correctly align 64-byte spills/fills

  • swr/rast: Flip BitScanReverse index calculation

  • swr/rast: Move knob defaults to generated cpp file

  • swr/rast: FP consistency between POSH/RENDER pipes

  • swr/rast: Refactor scratch space variable names

  • swr/rast: convert DWORD->uint32_t, QWORD->uint64_t

  • swr/rast: simdlib cleanup, clipper stack space fixes

  • swr/rast: Add translation support to streamout

  • swr/rast: bypass size limit for non-sampled textures

  • swr/rast: Cleanup and generalize gen_archrast

  • swr/rast: Add initial SWTag proto definitions

  • swr/rast: Add string handling to AR event framework

  • swr/rast: Add general SWTag statistics

  • swr/rast: Fix autotools and scons codegen

  • swr/rast: Remove deprecated 4x2 backend code

  • swr/rast: AVX512 support compiled in by default

  • swr/rast: enforce use of tile offsets

  • swr/rast: add more llvm intrinsics

  • swr/rast: update guardband rects at draw setup

  • swr/rast: add SWR_STATIC_ASSERT() macro

  • swr/rast: add flat shading

  • swr/rast: add guards for cpuid on Linux

  • swr/rast: early exit on empty triangle mask

  • swr/rast: Cleanup and generalize gen_archrast

  • swr/rast: Add initial SWTag proto definitions

  • swr/rast: Add string handling to AR event framework

  • swr/rast: Add general SWTag statistics

Alyssa Rosenzweig (192):

  • panfrost: Initial stub for Panfrost driver

  • panfrost: Implement Midgard shader toolchain

  • meson: Remove panfrost from default driver list

  • kmsro: Move DRM entrypoints to shared block

  • panfrost: Use u_pipe_screen_get_param_defaults

  • panfrost: Check in sources for command stream

  • panfrost: Include glue for out-of-tree legacy code

  • kmsro: Silence warning if missing

  • panfrost: Clean-up one-argument passing quirk

  • panfrost: Don’t hardcode number of nir_ssa_defs

  • panfrost: Add kernel-agnostic resource management

  • panfrost: Remove if 0’d dead code

  • panfrost: Remove speculative if 0’d format bit code

  • panfrost: Elucidate texture op scheduling comment

  • panfrost: Specify supported draw modes per-context

  • panfrost: Fix build; depend on libdrm

  • panfrost: Backport driver to Mali T600/T700

  • panfrost: Identify MALI_OCCLUSION_PRECISE bit

  • panfrost: Implement PIPE_QUERY_OCCLUSION_COUNTER

  • panfrost: Don’t align framebuffer dims

  • panfrost: Improve logging and patch memory leaks

  • panfrost: Fix various leaks unmapping resources

  • panfrost: Free imported BOs

  • panfrost: Swap order of tiled texture (de)alloc

  • panfrost: Cleanup mali_viewport (clipping) code

  • panfrost: Preserve w sign in perspective division

  • panfrost: Fix clipping region

  • panfrost: Stub out separate stencil functions

  • panfrost: Add pandecode (command stream debugger)

  • panfrost: Implement pantrace (command stream dump)

  • panfrost/midgard: Refactor tag lookahead code

  • panfrost/midgard: Fix nested/chained if-else

  • panfrost: Rectify doubleplusungood extended branch

  • panfrost/midgard: Emit extended branches

  • panfrost: Dynamically set discard branch targets

  • panfrost: Verify and print brx condition in disasm

  • panfrost: Use tiler fast path (performance boost)

  • panfrost/meson: Remove subdir for nondrm

  • panfrost/nondrm: Flag CPU-invisible regions

  • panfrost/nondrm: Make COHERENT_LOCAL explicit

  • panfrost/nondrm: Split out dump_counters

  • panfrost/midgard: Add fround(_even), ftrunc, ffma

  • panfrost: Decode render target swizzle/channels

  • panfrost: Add RGB565, RGB5A1 texture formats

  • panfrost: Identify 4-bit channel texture formats

  • panfrost: Expose perf counters in environment

  • panfrost/midgard: Allow flt to run on most units

  • panfrost: Import job data structures from v3d

  • panfrost: Decouple Gallium clear from FBD clear

  • panfrost: Cleanup cruft related to clears

  • panfrost/midgard: Don’t force constant on VLUT

  • panfrost: Flush with offscreen rendering

  • panfrost/midgard: Promote smul to vmul

  • panfrost/midgard: Preview for data hazards

  • panfrost: List primitive restart enable bit

  • panfrost/drm: Cast pointer to u64 to fix warning

  • panfrost: Cleanup needless if in create_bo

  • panfrost: Combine has_afbc/tiled in layout enum

  • panfrost: Delay color buffer setup

  • panfrost: Determine framebuffer format bits late

  • panfrost: Allocate dedicated slab for linear BOs

  • panfrost: Support linear depth textures

  • panfrost: Document “depth-buffer writeback” bit

  • panfrost: Identify fragment_extra flags

  • util: Add a drm_find_modifier helper

  • v3d: Use shared drm_find_modifier util

  • vc4: Use shared drm_find_modifier util

  • freedreno: Use shared drm_find_modifier util

  • panfrost: Break out fragment to SFBD/MFBD files

  • panfrost: Remove staging SFBD for pan_context

  • panfrost: Remove staging MFBD

  • panfrost: Minor comment cleanup (version detection)

  • panfrost/mfbd: Implement linear depth buffers

  • panfrost/mfbd: Respect per-job depth write flag

  • panfrost: Comment spelling fix

  • panfrost: Allocate extra data for depth buffer

  • panfrost; Disable AFBC for depth buffers

  • panfrost: Compute viewport state on the fly

  • panfrost/midgard: Implement fpow

  • panfrost: Workaround buffer overrun with mip level

  • panfrost: Fix primconvert check

  • panfrost: Disable PIPE_CAP_TGSI_TEXCOORD

  • panfrost/decode: Respect primitive size pointers

  • panfrost: Replay more varying buffers

  • panfrost: Rewrite varying assembly

  • panfrost/midgard: Fix b2f32 swizzle for vectors

  • panfrost: Fix viewports

  • panfrost: Implement scissor test

  • panfrost/midgard: Add fcsel_i opcode

  • panfrost/midgard: Schedule ball/bany to vectors

  • panfrost/midgard: Add more ball/bany, iabs ops

  • panfrost/midgard: Map more bany/ball opcodes

  • panfrost/midgard: Lower bool_to_int32

  • panfrost/midgard: Lower f2b32 to fne

  • panfrost/midgard: Lower i2b32

  • panfrost/midgard: Implement b2i; improve b2f/f2b

  • panfrost/midgard: Lower source modifiers for ints

  • panfrost/midgard: Cleanup midgard_nir_algebraic.py

  • panfrost: Stub out ES3 caps/callbacks

  • panfrost/midgard: Add ult/ule ops

  • panfrost/midgard: Expand fge lowering to more types

  • panfrost/midgard: Handle i2b constant

  • panfrost/midgard: fpow is a two-part operation

  • panfrost: Preliminary work for mipmaps

  • panfrost: Fix vertex buffer corruption

  • panfrost/midgard: Disassemble `cube` texture op

  • panfrost/midgard: Add L/S op for writing cubemap coordinates

  • panfrost: Preliminary work for cubemaps

  • panfrost/decode: Decode all cubemap faces

  • panfrost: Include all cubemap faces in bitmap list

  • panfrost/midgard: Emit cubemap coordinates

  • panfrost: Implement command stream for linear cubemaps

  • panfrost: Extend tiling for cubemaps

  • panfrost: Implement missing texture formats

  • panfrost/decode: Print negative_start

  • panfrost: Clean index state between indexed draws

  • panfrost: Fix index calculation types and asserts

  • panfrost: Implement FIXED formats

  • panfrost: Remove support for legacy kernels

  • nir: Add “viewport vector” system values

  • panfrost: Implement system values

  • panfrost: Cleanup some indirection in pan_resource

  • panfrost: Respect box->width in tiled stores

  • panfrost: Size tiled temp buffers correctly

  • panfrost/decode: Add flags for tilebuffer readback

  • panfrost: Add tilebuffer load? branch

  • panfrost/midgard: Add umin/umax opcodes

  • panfrost/midgard: Add ilzcnt op

  • panfrost/midgard: Add ibitcount8 op

  • panfrost/midgard: Enable lower_find_lsb

  • panfrost: Remove “mali_unknown6” nonsense

  • panfrost/midgard: Drop dependence on mesa/st

  • panfrost: Cleanup indexed draw handling

  • nir: Add nir_lower_viewport_transform

  • panfrost/midgard: Use shared nir_lower_viewport_transform

  • panfrost: Track BO lifetime with jobs and reference counts

  • panfrost: Fixup vertex offsets to prevent shadow copy

  • panfrost/mdg: Use shared fsign lowering

  • panfrost/mdg/disasm: Print raw varying_parameters

  • panfrost/midgard: Pipe through varying arrays

  • panfrost/midgard: Implement indirect loads of varyings/UBOs

  • panfrost/midgard: Respect component of bcsel condition

  • panfrost/midgard: Remove useless MIR dump

  • panfrost: Respect backwards branches in RA

  • panfrost/midgard: Don’t try to inline constants on branches

  • panfrost/midgard: imul can only run on *mul

  • panfrost: Disable indirect outputs for now

  • panfrost: Use actual imov instruction

  • panfrost/midgard: Dead code eliminate MIR

  • panfrost/midgard: Track loop depth

  • panfrost/midgard: Fix off-by-one in successor analysis

  • panfrost/midgard: Remove unused mir_next_block

  • panfrost/midgard: Update integer op list

  • panfrost/midgard: Document sign-extension/zero-extension bits (vector)

  • panfrost/midgard: Set integer mods

  • panfrost/midgard: Implement copy propagation

  • panfrost/midgard: Optimize MIR in progress loop

  • panfrost/midgard: Refactor opcode tables

  • panfrost/midgard: Add “op commutes?” property

  • panfrost/midgard: Remove assembler

  • panfrost/midgard: Reduce fmax(a, 0.0) to fmov.pos

  • panfrost/midgard: Extend copy propagation pass

  • panfrost/midgard: Optimize csel involving 0

  • panfrost/midgard: Copy prop for texture registers

  • panfrost/midgard: Identify inand

  • panfrost/midgard: Add new bitwise ops

  • Revert “panfrost/midgard: Extend copy propagation pass”

  • panfrost/midgard: Only copyprop without an outmod

  • panfrost/midgard: Fix regressions in -bjellyfish

  • panfrost/midgard: Fix tex propogation

  • panfrost/midgard: imov workaround

  • panfrost: Use fp32 (not fp16) varyings

  • panfrost/midgard: Safety check immediate precision degradations

  • panfrost: Workaround -bshadow regression

  • panfrost: Remove shader dump

  • panfrost/decode: Hit MRT blend shader enable bits

  • panfrost: Fix blend shader upload

  • panfrost/midgard: reg_mode_full -> reg_mode_32, etc

  • panfrost/midgard/disasm: Catch mask errors

  • panfrost/midgard/disasm: Extend print_reg to 8-bit

  • panfrost/midgard/disasm: Fill in .int mod

  • panfrost/midgard: Fix crash on unknown op

  • panfrost/midgard: Rename ilzcnt8 -> iclz

  • panfrost/midgard/disasm: Support 8-bit destination

  • panfrost/midgard/disasm: Print 8-bit sources

  • panfrost/midgard/disasm: Stub out 64-bit

  • panfrost/midgard/disasm: Handle dest_override generalized

  • panfrost: Support RGB565 FBOs

  • panfrost/midgard: Fix integer selection

  • panfrost/midgard: Fix RA when temp_count = 0

  • panfrost/midgard: Lower mixed csel (NIR)

  • panfrost/midgard: iabs cannot run on mul

Alyssa Ross (1):

  • get_reviewer.pl: improve portability

Amit Pundir (1):

  • mesa: android: freedreno: build libfreedreno_{drm,ir3} static libs

Andre Heider (5):

  • iris: fix build with gallium nine

  • iris: improve PIPE_CAP_VIDEO_MEMORY bogus value

  • iris: add support for tgsi_to_nir

  • st/nine: enable csmt per default on iris

  • st/nine: skip position checks in SetCursorPosition()

Andreas Baierl (2):

  • nir: add rcp(w) lowering for gl_FragCoord

  • lima/ppir: Add gl_FragCoord handling

Andres Gomez (12):

  • mesa: INVALID_VALUE for wrong type or format in Clear*Buffer*Data

  • gitlab-ci: install distro’s ninja

  • glsl: correctly validate component layout qualifier for dvec{3,4}

  • glsl/linker: always validate explicit location among inputs

  • glsl/linker: don’t fail non static used inputs without matching outputs

  • glsl/linker: simplify xfb_offset vs xfb_stride overflow check

  • Revert “glsl: relax input->output validation for SSO programs”

  • glsl/linker: location aliasing requires types to have the same width

  • docs: drop Andres Gomez from the release cycles

  • glsl/linker: always validate explicit locations for first and last interfaces

  • docs/relnotes: add support for VK_KHR_shader_float16_int8

  • glsl/linker: check for xfb_offset aliasing

Andrii Simiklit (5):

  • i965: consider a ‘base level’ when calculating width0, height0, depth0

  • i965: re-emit index buffer state on a reset option change.

  • util: clean the 24-bit unused field to avoid an issues

  • iris: make the TFB result visible to others

  • egl: return correct error code for a case req ver < 3 with forward-compatible

Antia Puentes (1):

  • nir/linker: Fix TRANSFORM_FEEDBACK_BUFFER_INDEX

Anuj Phogat (7):

  • i965/icl: Add WA_2204188704 to disable pixel shader panic dispatch

  • anv/icl: Add WA_2204188704 to disable pixel shader panic dispatch

  • intel: Add Elkhart Lake device info

  • intel: Add Elkhart Lake PCI-IDs

  • iris/icl: Set Enabled Texel Offset Precision Fix bit

  • iris/icl: Add WA_2204188704 to disable pixel shader panic dispatch

  • intel: Add support for Comet Lake

Axel Davy (49):

  • st/nine: Ignore window size if error

  • st/nine: Ignore multisample quality level if no ms

  • st/nine: Disable depth write when nothing gets updated

  • st/nine: Do not advertise support for D15S1 and D24X4S4

  • st/nine: Do not advertise CANMANAGERESOURCE

  • st/nine: Change a few advertised caps

  • Revert “d3dadapter9: Support software renderer on any DRI device”

  • st/nine: Fix D3DWindowBuffer_release for old wine nine support

  • st/nine: Use FLT_MAX/2 for RCP clamping

  • st/nine: Upload managed textures only at draw using them

  • st/nine: Upload managed buffers only at draw using them

  • st/nine: Fix buffer/texture unbinding in nine_state_clear

  • st/nine: Finish if nooverwrite after normal mapping

  • st/nine: Always return OK on SetSoftwareVertexProcessing

  • st/nine: Enable modifiers on ps 1.X texcoords

  • st/nine: Ignore nooverwrite for systemmem

  • st/nine: Fix SINCOS input

  • st/nine: Optimize surface upload with conversion

  • st/nine: Optimize volume upload with conversion

  • st/nine: rename *_conversion to *_internal

  • st/nine: Refactor surface GetSystemMemPointer

  • st/nine: Refactor volume GetSystemMemPointer

  • st/nine: Support internal compressed format for surfaces

  • st/nine: Support internal compressed format for volumes

  • st/nine: Add drirc option to use data_internal for dynamic textures

  • drirc: Add Gallium nine workaround for Rayman Legends

  • st/nine: Recompile optimized shaders based on b/i consts

  • st/nine: Control shader constant inlining with drirc

  • st/nine: Regroup param->rel tests

  • st/nine: Refactor param->rel

  • st/nine: Compact nine_ff_get_projected_key

  • st/nine: Compact pixel shader key

  • st/nine: use helper ureg_DECL_sampler everywhere

  • st/nine: Manually upload vs and ps constants

  • st/nine: Refactor shader constants ureg_src computation

  • st/nine: Make swvp_on imply IS_VS

  • st/nine: Refactor ct_ctor

  • st/nine: Track constant slots used

  • st/nine: Refactor counting of constants

  • st/nine: Prepare constant compaction in nine_shader

  • st/nine: Propagate const_range to context

  • st/nine: Cache constant buffer size

  • st/nine: Handle const_ranges in nine_state

  • st/nine: Enable computing const_ranges

  • st/nine: Use TGSI_SEMANTIC_GENERIC for fog

  • st/nine: Optimize a bit writeonly buffers

  • st/nine: Throttle rendering similarly for thread_submit

  • st/nine: Check discard_delayed_release is set before allocating more

  • d3dadapter9: Revert to old throttling limit value

Bart Oldeman (1):

  • gallium-xlib: query MIT-SHM before using it.

Bas Nieuwenhuizen (105):

  • radv: Only look at pImmutableSamples if the descriptor has a sampler.

  • amd/common: Add gep helper for pointer increment.

  • amd/common: Implement ptr->int casts in ac_to_integer.

  • radv: Fix the shader info pass for not having the variable.

  • amd/common: Use correct writemask for shared memory stores.

  • amd/common: Fix stores to derefs with unknown variable.

  • amd/common: Handle nir_deref_type_ptr_as_array for shared memory.

  • amd/common: handle nir_deref_cast for shared memory from integers.

  • amd/common: Do not use 32-bit loads for shared memory.

  • amd/common: Implement global memory accesses.

  • radv: Do not use the bo list for local buffers.

  • radv: Implement VK_EXT_buffer_device_address.

  • radv: Use correct num formats to detect whether we should be use 1.0 or 1.

  • radv: Sync ETC2 whitelisted devices.

  • radv: Clean up a bunch of compiler warnings.

  • radv: Handle clip+cull distances more generally as compact arrays.

  • radv: Implement VK_EXT_depth_clip_enable.

  • radv: Disable depth clamping even without EXT_depth_range_unrestricted.

  • radv: Fix float16 interpolation set up.

  • radv: Allow interpolation on non-float types.

  • radv: Interpolate less aggressively.

  • turnip: Add driver skeleton (v2)

  • turnip: Fix up detection of device.

  • turnip: Gather some device info.

  • turnip: Remove abort.

  • turnip: Fix newly introduced warning.

  • turnip: Add buffer allocation & mapping support.

  • turnip: Report a memory type and heap.

  • turnip: Cargo cult the Intel heap size functionality.

  • turnip: Initialize memory type in requirements.

  • turnip: Disable more features.

  • turnip: Add 630 to the list.

  • turnip: Fix bo allocation after we stopped using libdrm_freedreno …

  • turnip: Fix memory mapping.

  • turnip: Add image layout calculations.

  • turnip: Stop hardcoding the msm version check.

  • turnip: move tu_gem.c to tu_drm.c

  • turnip: Implement pipe-less param query.

  • turnip: Implement some format properties for RGBA8.

  • turnip: Remove some radv leftovers.

  • turnip: clean up TODO.

  • turnip: Implement some UUIDs.

  • turnip: Implement a slow bo list

  • turnip: Add a command stream.

  • turnip: Add msm queue support.

  • turnip: Make bo_list functions not static

  • turnip: Implement submission.

  • turnip: Fill command buffer

  • turnip: Shorten primary_cmd_stream name.

  • turnip: Add emit functions in a header.

  • turnip: Move stream functions to tu_cs.c

  • turnip: Add buffer memory binding.

  • turnip: Make tu6_emit_event_write shared.

  • turnip: Add tu6_rb_fmt_to_ifmt.

  • turnip: Implement buffer->buffer DMA copies.

  • turnip: Add image->buffer DMA copies.

  • turnip: Add buffer->image DMA copies.

  • turnip: Add todo for copies.

  • turnip: Fix GCC compiles.

  • turnip: Deconflict vk_format_table regeneration

  • gitlab-ci: Build turnip.

  • radeonsi: Remove implicit const cast.

  • radv: Allow fast clears with concurrent queue mask for some layouts.

  • vulkan/util: Handle enums that are in platform-specific headers.

  • vulkan: Update the XML and headers to 1.1.104

  • radv: Implement VK_EXT_host_query_reset.

  • radv: Use correct image view comparison for fast clears.

  • radv: Implement VK_EXT_pipeline_creation_feedback.

  • ac/nir: Return frag_coord as integer.

  • nir: Add access qualifiers on load_ubo intrinsic.

  • radv: Add non-uniform indexing lowering.

  • radv: Add bolist RADV_PERFTEST flag.

  • ac: Move has_local_buffers disable to radeonsi.

  • radv: Use local buffers for the global bo list.

  • radv: Support VK_EXT_inline_uniform_block.

  • radv: Add support for driconf.

  • vulkan/wsi: Add X11 adaptive sync support based on dri options.

  • radv: Add adaptive_sync driconfig option and enable it by default.

  • radv: Add logic for subsampled format descriptions.

  • radv: Add logic for multisample format descriptions.

  • radv: Add multiple planes to images.

  • radv: Add single plane image views & meta operations.

  • radv: Support different source & dest aspects for planar images in blit2d.

  • radv: Add ycbcr conversion structs.

  • radv: Add support for image views with multiple planes.

  • radv: Allow mixed src/dst aspects in copies.

  • ac/nir: Add support for planes.

  • radv: Add ycbcr samplers in descriptor set layouts.

  • radv: Update descriptor sets for multiple planes.

  • radv: Add ycbcr lowering pass.

  • radv: Run the new ycbcr lowering pass.

  • radv: Add hashing for the ycbcr samplers.

  • radv: Add ycbcr format features.

  • radv: Add ycbcr subsampled & multiplane formats to csv.

  • radv: Enable YCBCR conversion feature.

  • radv: Expose VK_EXT_ycbcr_image_arrays.

  • radv: Expose Vulkan 1.1 for Android.

  • radv: Fix hang width YCBCR array textures.

  • radv: Set is_array in lowered ycbcr tex instructions.

  • radv: Restrict YUVY formats to 1 layer.

  • radv: Disable subsampled formats.

  • radv: Implement cosited_even sampling.

  • radv: Do not use extra descriptor space for the 3rd plane.

  • nir: Actually propagate progress in nir_opt_move_load_ubo.

  • radv: Prevent out of bound shift on 32-bit builds.

Benjamin Gordon (1):

  • configure.ac/meson.build: Add options for library suffixes

Benjamin Tissoires (1):

  • CI: use wayland ci-templates repo to create the base image

Boyan Ding (3):

  • gk110/ir: Add rcp f64 implementation

  • gk110/ir: Add rsq f64 implementation

  • gk110/ir: Use the new rcp/rsq in library

Boyuan Zhang (1):

  • st/va: reverse qt matrix back to its original order

Brian Paul (51):

  • st/mesa: whitespace/formatting fixes in st_cb_texture.c

  • svga: assorted whitespace and formatting fixes

  • svga: fix dma.pending > 0 test

  • mesa: fix display list corner case assertion

  • st/mesa: whitespace fixes in st_sampler_view.c

  • st/mesa: line wrapping, whitespace fixes in st_cb_texture.c

  • st/mesa: whitespace fixes in st_texture.h

  • svga: init fill variable to avoid compiler warning

  • svga: silence array out of bounds warning

  • st/wgl: init a variable to silence MinGW warning

  • gallium/util: whitespace cleanups in u_bitmask.[ch]

  • gallium/util: add some const qualifiers in u_bitmask.c

  • pipebuffer: use new pb_usage_flags enum type

  • pipebuffer: whitespace fixes in pb_buffer.h

  • winsys/svga: use new pb_usage_flags enum type

  • st/mesa: move, clean-up shader variant key decls/inits

  • st/mesa: whitespace, formatting fixes in st_cb_flush.c

  • svga: refactor draw_vgpu10() function

  • svga: remove SVGA_RELOC_READ flag in SVGA3D_BindGBSurface()

  • pipebuffer: s/PB_ALL_USAGE_FLAGS/PB_USAGE_ALL/

  • st/mesa: init hash keys with memset(), not designated initializers

  • intel/decoders: silence uninitialized variable warnings in gen_print_batch()

  • intel/compiler: silence unitialized variable warning in opt_vector_float()

  • st/mesa: move utility functions, macros into new st_util.h file

  • st/mesa: move around some code in st_context.c

  • st/mesa: add/improve sampler view comments

  • st/mesa: rename st_texture_release_sampler_view()

  • st/mesa: minor refactoring of texture/sampler delete code

  • docs: try to improve the Meson documentation (v2)

  • drisw: fix incomplete type compilation failure

  • gallium/winsys/kms: fix incomplete type compilation failure

  • nir: silence a couple new compiler warnings

  • docs: separate information for compiler selection and compiler options

  • docs: link to the meson_options.txt file gitlab.freedesktop.org

  • st/mesa: implement “zombie” sampler views (v2)

  • st/mesa: implement “zombie” shaders list

  • st/mesa: stop using pipe_sampler_view_release()

  • svga: stop using pipe_sampler_view_release()

  • llvmpipe: stop using pipe_sampler_view_release()

  • swr: remove call to pipe_sampler_view_release()

  • i915g: remove calls to pipe_sampler_view_release()

  • gallium/util: remove pipe_sampler_view_release()

  • nir: fix a few signed/unsigned comparison warnings

  • st/mesa: fix texture deletion context mix-up issues (v2)

  • nir: use {0} initializer instead of {} to fix MSVC build

  • util: no-op __builtin_types_compatible_p() for non-GCC compilers

  • docs: s/Aptril/April/

  • llvmpipe: init some vars to NULL to silence MinGW compiler warnings

  • glsl: work around MinGW 7.x compiler bug

  • svga: add SVGA_NO_LOGGING env var (v2)

  • glsl: fix typo in #warning message

Caio Marcelo de Oliveira Filho (61):

  • nir: keep the phi order when splitting blocks

  • i965: skip bit6 swizzle detection in Gen8+

  • anv: skip bit6 swizzle detection in Gen8+

  • isl: assert that Gen8+ don’t have bit6_swizzling

  • intel/compiler: use 0 as sampler in emit_mcs_fetch

  • nir: fix example in opt_peel_loop_initial_if description

  • iris: Fix uses of gl_TessLevel*

  • iris: Add support for TCS passthrough

  • iris: always include an extra constbuf0 if using UBOs

  • nir/copy_prop_vars: don’t get confused by array_deref of vectors

  • nir/copy_prop_vars: add debug helpers

  • nir/copy_prop_vars: keep track of components in copy_entry

  • nir/copy_prop_vars: change test helper to get intrinsics

  • nir: nir_build_deref_follower accept array derefs of vectors

  • nir/copy_prop_vars: add tests for load/store elements of vectors

  • nir: fix MSVC build

  • st/nir: count num_uniforms for FS bultin shader

  • nir/copy_prop_vars: rename/refactor store_to_entry helper

  • nir/copy_prop_vars: use NIR_MAX_VEC_COMPONENTS

  • nir/copy_prop_vars: handle load/store of vector elements

  • nir/copy_prop_vars: add tests for indirect array deref

  • nir/copy_prop_vars: prefer using entries from equal derefs

  • nir/copy_prop_vars: handle indirect vector elements

  • anv: Implement VK_EXT_external_memory_host

  • nir: Add a pass to combine store_derefs to same vector

  • intel/nir: Combine store_derefs after vectorizing IO

  • intel/nir: Combine store_derefs to improve code from SPIR-V

  • nir: Handle array-deref-of-vector case in loop analysis

  • spirv: Add an execution environment to the options

  • intel/compiler: handle GLSL_TYPE_INTERFACE as GLSL_TYPE_STRUCT

  • spirv: Use interface type for block and buffer block

  • iris: Clean up compiler warnings about unused

  • nir: Take if_uses into account when repairing SSA

  • mesa: Extension boilerplate for NV_compute_shader_derivatives

  • glsl: Remove redundant conditions when asserting in_qualifier

  • glsl: Enable derivative builtins for NV_compute_shader_derivatives

  • glsl: Enable texture builtins for NV_compute_shader_derivatives

  • glsl: Parse and propagate derivative_group to shader_info

  • nir/algebraic: Lower CS derivatives to zero when no group defined

  • nir: Don’t set LOD=0 for compute shader that has derivative group

  • intel/fs: Use TEX_LOGICAL whenever implicit lod is supported

  • intel/fs: Add support for CS to group invocations in quads

  • intel/fs: Don’t loop when lowering CS intrinsics

  • intel/fs: Use NIR_PASS_V when lowering CS intrinsics

  • i965: Advertise NV_compute_shader_derivatives

  • gallium: Add PIPE_CAP_COMPUTE_SHADER_DERIVATIVES

  • iris: Enable NV_compute_shader_derivatives

  • spirv: Add support for DerivativeGroup capabilities

  • anv: Implement VK_NV_compute_shader_derivatives

  • docs: Add NV_compute_shader_derivatives to 19.1.0 relnotes

  • spirv: Add more to_string helpers

  • spirv: Tell which opcode or value is unhandled when failing

  • spirv: Rename vtn_decoration literals to operands

  • spirv: Handle SpvOpDecorateId

  • nir: Add option to lower tex to txl when shader don’t support implicit LOD

  • intel/fs: Don’t handle texop_tex for shaders without implicit LOD

  • spirv: Properly handle SpvOpAtomicCompareExchangeWeak

  • intel/fs: Assert when brw_fs_nir sees a nir_deref_instr

  • anv: Fix limits when VK_EXT_descriptor_indexing is used

  • nir: Fix nir_opt_idiv_const when negatives are involved

  • nir: Fix clone of nir_variable state slots

Carlos Garnacho (1):

  • wayland/egl: Ensure EGL surface is resized on DRI update_buffers()

Chad Versace (17):

  • turnip: Drop Makefile.am and Android.mk

  • turnip: Fix indentation in function signatures

  • turnip: Fix result of vkEnumerate*LayerProperties

  • turnip: Fix result of vkEnumerate*ExtensionProperties

  • turnip: Use vk_outarray in all relevant public functions

  • turnip: Fix a real -Wmaybe-uninitialized

  • turnip: Fix indentation

  • turnip: Require DRM device version >= 1.3

  • turnip: Add TODO for Android logging

  • turnip: Use vk_errorf() for initialization error messages

  • turnip: Replace fd_bo with tu_bo

  • turnip: Add TODO file

  • turnip: Fix ‘unused’ warnings

  • turnip: Don’t return from tu_stub funcs

  • turnip: Annotate vkGetImageSubresourceLayout with tu_stub

  • turnip: Fix error behavior for VkPhysicalDeviceExternalImageFormatInfo

  • turnip: Use Vulkan 1.1 names instead of KHR

Charmaine Lee (5):

  • svga: add svga shader type in the shader variant

  • svga: move host logging to winsys

  • st/mesa: purge framebuffers with current context after unbinding winsys buffers

  • mesa: unreference current winsys buffers when unbinding winsys buffers

  • svga: Remove unnecessary check for the pre flush bit for setting vertex buffers

Chenglei Ren (1):

  • anv/android: fix missing dependencies issue during parallel build

Chia-I Wu (78):

  • egl: fix KHR_partial_update without EXT_buffer_age

  • turnip: add .clang-format

  • turnip: use msm_drm.h from inc_freedreno

  • turnip: remove unnecessary libfreedreno_drm dep

  • turnip: add wrappers around DRM_MSM_GET_PARAM

  • turnip: add wrappers around DRM_MSM_SUBMITQUEUE_*

  • turnip: constify tu_device in tu_gem_*

  • turnip: preliminary support for tu_QueueWaitIdle

  • turnip: run sed and clang-format on tu_cs

  • turnip: document tu_cs

  • turnip: add tu_cs_add_bo

  • turnip: minor cleanup to tu_cs_end

  • turnip: update cs->start in tu_cs_end

  • turnip: inline tu_cs_check_space

  • turnip: add more tu_cs helpers

  • turnip: build drm_msm_gem_submit_bo array directly

  • turnip: add tu_bo_list_merge

  • turnip: add cmdbuf->bo_list to bo_list in queue submit

  • turnip: preliminary support for tu_BindImageMemory2

  • turnip: preliminary support for tu_image_view_init

  • turnip: preliminary support for tu_CmdBeginRenderPass

  • turnip: add tu_cs_reserve_space(_assert)

  • turnip: emit HW init in tu_BeginCommandBuffer

  • turnip: preliminary support for tu_GetRenderAreaGranularity

  • turnip: add tu_tiling_config

  • turnip: add internal helpers for tu_cs

  • turnip: add tu_cs_{reserve,add}_entry

  • turnip: specify initial size in tu_cs_init

  • turnip: never fail tu_cs_begin/tu_cs_end

  • turnip: add tu_cs_sanity_check

  • turnip: provide both emit_ib and emit_call

  • turnip: add tu_cs_mode

  • turnip: add TU_CS_MODE_SUB_STREAM

  • turnip: preliminary support for loadOp and storeOp

  • turnip: add a more complete format table

  • turnip: add functions to import/export prime fd

  • turnip: advertise VK_KHR_external_memory_capabilities

  • turnip: advertise VK_KHR_external_memory

  • turnip: add support for VK_KHR_external_memory_{fd,dma_buf}

  • turnip: fix VkClearValue packing

  • turnip: preliminary support for fences

  • turnip: respect color attachment formats

  • turnip: mark IBs for dumping

  • turnip: use 32-bit offset in tu_cs_entry

  • turnip: more/better asserts for tu_cs

  • turnip: add tu_cs_discard_entries

  • turnip: tu_cs_emit_array

  • turnip: fix tu_cs sub-streams

  • turnip: simplify tu_cs sub-streams usage

  • turnip: create a less dummy pipeline

  • turnip: parse VkPipelineDynamicStateCreateInfo

  • turnip: parse VkPipelineInputAssemblyStateCreateInfo

  • turnip: parse VkPipelineViewportStateCreateInfo

  • turnip: parse VkPipelineRasterizationStateCreateInfo

  • turnip: parse VkPipelineDepthStencilStateCreateInfo

  • turnip: parse VkPipeline{Multisample,ColorBlend}StateCreateInfo

  • turnip: preliminary support for shader modules

  • turnip: compile VkPipelineShaderStageCreateInfo

  • turnip: parse VkPipelineShaderStageCreateInfo

  • turnip: parse VkPipelineVertexInputStateCreateInfo

  • turnip: add draw_cs to tu_cmd_buffer

  • turnip: preliminary support for draw state binding

  • turnip: preliminary support for tu_CmdDraw

  • turnip: guard -Dvulkan-driver=freedreno

  • turnip: preliminary support for tu_GetImageSubresourceLayout

  • turnip: preliminary support for Wayland WSI

  • vulkan/wsi: move modifier array into wsi_wl_swapchain

  • vulkan/wsi: create wl_drm wrapper as needed

  • vulkan/wsi: refactor drm_handle_format

  • vulkan/wsi: add wsi_wl_display_drm

  • vulkan/wsi: add wsi_wl_display_dmabuf

  • vulkan/wsi: make wl_drm optional

  • virgl: handle fence_server_sync in winsys

  • virgl: hide fence internals from the driver

  • virgl: introduce virgl_drm_fence

  • virgl: fix fence fd version check

  • virgl: clear vertex_array_dirty

  • virgl: skip empty cmdbufs

Chris Forbes (3):

  • glsl: add scaffolding for EXT_gpu_shader4

  • glsl: enable noperspective|flat|centroid for EXT_gpu_shader4

  • glsl: enable types for EXT_gpu_shader4

Chris Wilson (19):

  • i965: Assert the execobject handles match for this device

  • iris: fix import from dri2/3

  • iris: IndexFormat = size/2

  • iris: Set resource modifier on handle

  • iris: Wrap userptr for creating bo

  • iris: AMD_pinned_memory

  • iris: Record reusability of bo on construction

  • iris: fix memzone_for_address since multibinder changes

  • iris: Tidy exporting the flink handle

  • iris: Fix assigning the output handle for exporting for KMS

  • iris: Merge two walks of the exec_bos list

  • iris: Tag each submitted batch with a syncobj

  • iris: Add fence support using drm_syncobj

  • iris: Wire up EGL_IMG_context_priority

  • iris: Use PIPE_BUFFER_STAGING for the query objects

  • iris: Use coherent allocation for PIPE_RESOURCE_STAGING

  • iris: Use streaming loads to read from tiled surfaces

  • iris: Push heavy memchecker code to DEBUG

  • iris: Adapt to variable ppGTT size

Christian Gmeiner (12):

  • etnaviv: rs: mark used src resource as read from

  • etnaviv: blt: mark used src resource as read from

  • etnaviv: implement ETC2 block patching for HALTI0

  • etnaviv: keep track of mapped bo address

  • etnaviv: hook-up etc2 patching

  • etnaviv: enable ETC2 texture compression support for HALTI0 GPUs

  • etnaviv: fix resource usage tracking across different pipe_context’s

  • etnaviv: fix compile warnings

  • st/dri: allow direct UYVY import

  • etnaviv: shrink struct etna_3d_state

  • nir: add lower_ftrunc

  • etnaviv: use the correct uniform dirty bits

Chuck Atkins (1):

  • meson: Fix missing glproto dependency for gallium-glx

Connor Abbott (6):

  • nir/serialize: Prevent writing uninitialized state_slot data

  • nir: Add a stripping pass for improved cacheability

  • radeonsi/nir: Use nir stripping pass

  • nir/search: Add automaton-based pre-searching

  • nir/search: Add debugging code to dump the pattern matched

  • nir/algebraic: Don’t emit empty initializers for MSVC

Daniel Schürmann (2):

  • nir: Define shifts according to SM5 specification.

  • nir: Use SM5 properties to optimize shift(a@32, iand(31, b))

Daniel Stone (2):

  • panfrost: Properly align stride

  • vulkan/wsi/wayland: Respect non-blocking AcquireNextImage

Danylo Piliaiev (13):

  • anv: Handle VK_ATTACHMENT_UNUSED in colorAttachment

  • radv: Handle VK_ATTACHMENT_UNUSED in CmdClearAttachment

  • anv: Fix VK_EXT_transform_feedback working with varyings packed in PSIZ

  • anv: Fix destroying descriptor sets when pool gets reset

  • anv: Treat zero size XFB buffer as disabled

  • glsl: Cross validate variable’s invariance by explicit invariance only

  • i965,iris,anv: Make alpha to coverage work with sample mask

  • intel/fs: Make alpha test work with MRT and sample mask

  • st/mesa: Fix GL_MAP_COLOR with glDrawPixels GL_COLOR_INDEX

  • iris: Fix assert when using vertex attrib without buffer binding

  • intel/compiler: Do not reswizzle dst if instruction writes to flag register

  • drirc: Add workaround for Epic Games Launcher

  • anv: Do not emulate texture swizzle for INPUT_ATTACHMENT, STORAGE_IMAGE

Dave Airlie (63):

  • virgl: enable elapsed time queries

  • virgl: ARB_query_buffer_object support

  • docs: update qbo support for virgl

  • glsl: glsl to nir fix uninit class member.

  • radv/llvm: initialise passes member.

  • radv: remove alloc parameter from pipeline init

  • iris: fix some hangs around null framebuffers

  • iris: fix crash in sparse vertex array

  • iris: add initial transform feedback overflow query paths (V3)

  • iris: fix cube texture view

  • iris: execute compute related query on compute batch.

  • iris: iris add load register reg32/64

  • iris: add conditional render support

  • iris: fix gpu calcs for timestamp queries

  • iris/WIP: add broadwell support

  • iris: limit gen8 to 8 samples

  • iris: setup gen8 caps

  • iris: add fs invocations query workaround for broadwell

  • iris: handle qbo fragment shader invocation workaround

  • st/mesa: add support for lowering fp64/int64 for nir drivers

  • softpipe: fix texture view crashes

  • nir/spirv: don’t use bare types, remove assert in split vars for testing

  • nir/deref: remove casts of casts which are likely redundant (v3)

  • softpipe: fix 32-bit bitfield extract

  • softpipe: handle 32-bit bitfield inserts

  • softpipe: remove shadow_ref assert.

  • softpipe: fix integer texture swizzling for 1 vs 1.0f

  • nir/split_vars: fixup some more explicit_stride related issues.

  • draw: bail instead of assert on instance count (v2)

  • draw/gs: fix point size outputs from geometry shader.

  • draw/vs: partly fix basevertex/vertex id

  • softpipe: fix clears to only clear specified color buffers.

  • softpipe/draw: fix vertex id in soft paths.

  • softpipe: add indirect store buffer/image unit

  • nir/deref: fix struct wrapper casts. (v3)

  • nir: use proper array sizing define for vectors

  • intel/compiler: use defined size for vector components

  • iris: avoid use after free in shader destruction

  • ddebug: add compute functions to help hang detection

  • draw: add stream member to stats callback

  • tgsi: add support for geometry shader streams.

  • softpipe: add support for indexed queries.

  • draw: add support to tgsi paths for geometry streams. (v2)

  • softpipe: add support for vertex streams (v2)

  • virgl: add support for missing command buffer binding.

  • virgl: add support for ARB_multi_draw_indirect

  • virgl: add support for ARB_indirect_parameters

  • draw: fix undefined shift of (1 << 31)

  • swrast: fix undefined shift of 1 << 31

  • llvmpipe: fix undefined shift 1 << 31.

  • virgl/drm: cleanup buffer from handle creation (v2)

  • virgl/drm: handle flink name better.

  • virgl/drm: insert correct handles into the table. (v3)

  • intel/compiler: fix uninit non-static variable. (v2)

  • nir: fix bit_size in lower indirect derefs.

  • r600: reset tex array override even when no view bound

  • spirv: fix SpvOpBitSize return value.

  • nir: fix lower vars to ssa for larger vector sizes.

  • util/tests: add basic unit tests for bitset

  • util/bitset: fix bitset range mask calculations.

  • kmsro: add _dri.so to two of the kmsro drivers.

  • glsl: init packed in more constructors.

  • Revert “mesa: unreference current winsys buffers when unbinding winsys buffers”

David Riley (3):

  • virgl: Store mapped hw resource with transfer object.

  • virgl: Allow transfer queue entries to be found and extended.

  • virgl: Re-use and extend queue transfers for intersecting buffer subdatas.

David Shao (1):

  • meson: ensure that xmlpool_options.h is generated for gallium targets that need it

Deepak Rawat (2):

  • winsys/drm: Fix out of scope variable usage

  • winsys/svga/drm: Fix 32-bit RPCI send message

Dominik Drees (1):

  • Add no_aos_sampling GALLIVM_PERF option

Drew Davenport (1):

  • util: Don’t block SIGSYS for new threads

Dylan Baker (40):

  • bump version for 19.0 branch

  • docs: Add relnotes stub for 19.1

  • gallium: wrap u_screen in extern “C” for c++

  • automake: Add –enable-autotools to distcheck flags

  • android,autotools,i965: Fix location of float64_glsl.h

  • meson: remove build_by_default : true

  • meson: fix style in intel/tools

  • meson: remove -std=c++11 from intel/tools

  • get-pick-list: Add –pretty=medium to the arguments for Cc patches

  • meson: Add dependency on genxml to anvil

  • meson/iris: Use current coding style

  • docs: Add release notes for 19.0.0

  • docs: Add SHA256 sums for 19.0.0

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

  • bin/install_megadrivers.py: Correctly handle DESTDIR=’’

  • bin/install_megadrivers.py: Fix regression for set DESTDIR

  • docs: Add release notes for 19.0.1

  • docs: Add SHA256 sums for mesa 19.0.1

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

  • meson: Error if LLVM doesn’t have rtti when building clover

  • meson: Error if LLVM is turned off but clover it turned on

  • docs: Add release notes for 19.0.2

  • docs: Add sha256 sums for 19.0.2

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

  • Delete autotools

  • docs: drop most autoconf references

  • ci: Delete autotools build jobs

  • docs: add relnotes for 19.0.3

  • docs: Add SHA256 sums for mesa 19.0.3

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

  • meson: always define libglapi

  • glsl: fix general_ir_test with mingw

  • meson: switch gles1 and gles2 to auto options

  • meson: Make shader-cache a trillean instead of boolean

  • meson: make nm binary optional

  • util/tests: Use define instead of VLA

  • glsl/tests: define ssize_t on windows

  • tests/vma: fix build with MSVC

  • meson: Don’t build glsl cache_test when shader cache is disabled

  • meson: Force the use of config-tool for llvm

Eduardo Lima Mitev (5):

  • freedreno/a6xx: Silence compiler warnings

  • nir: Add ir3-specific version of most SSBO intrinsics

  • ir3/nir: Add a new pass ‘ir3_nir_lower_io_offsets’

  • ir3/compiler: Enable lower_io_offsets pass and handle new SSBO intrinsics

  • ir3/lower_io_offsets: Try propagate SSBO’s SHR into a previous shift instruction

El Christianito (1):

  • drirc: add Budgie WM to adaptive-sync blacklist

Eleni Maria Stea (6):

  • i965: Faking the ETC2 compression on Gen < 8 GPUs using two miptrees.

  • i965: Fixed the CopyImageSubData for ETC2 on Gen < 8

  • i965: Enabled the OES_copy_image extension on Gen 7 GPUs

  • i965: Removed the field etc_format from the struct intel_mipmap_tree

  • i965: fixed clamping in set_scissor_bits when the y is flipped

  • radv: consider MESA_VK_VERSION_OVERRIDE when setting the api version

Elie Tournier (3):

  • virgl: Add a caps to advertise GLES backend

  • virgl: Set PIPE_CAP_DOUBLES when running on GLES This is a lie but no known app use fp64.

  • virgl: Return an error if we use fp64 on top of GLES

Emil Velikov (30):

  • vc4: Declare the last cpu pointer as being modified in NEON asm.

  • docs: add release notes for 18.3.3

  • docs: add sha256 checksums for 18.3.3

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

  • anv: wire up the state_pool_padding test

  • docs: add release notes for 18.3.4

  • docs: add sha256 checksums for 18.3.4

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

  • egl/dri: de-duplicate dri2_load_driver*

  • meson: egl: correctly manage loader/xmlconfig

  • loader: use loader_open_device() to handle O_CLOEXEC

  • egl/android: bump the number of drmDevices to 64

  • docs: mention “Allow commits from members who can merge…”

  • egl/sl: split out swrast probe into separate function

  • egl/sl: use drmDevice API to enumerate available devices

  • egl/sl: use kms_swrast with vgem instead of a random GPU

  • docs: add release notes for 18.3.5

  • docs: add sha256 checksums for 18.3.5

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

  • docs: add release notes for 18.3.6

  • docs: add sha256 checksums for 18.3.6

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

  • turnip: drop dead close(master_fd)

  • vulkan/wsi: check if the display_fd given is master

  • vulkan/wsi: don’t use DUMB_CLOSE for normal GEM handles

  • llvmpipe: add lp_fence_timedwait() helper

  • llvmpipe: correctly handle waiting in llvmpipe_fence_finish

  • egl/dri: flesh out and use dri2_create_drawable()

  • mapi: add static_date offset to MaxShaderCompilerThreadsKHR

  • mapi: correctly handle the full offset table

Emmanuel Gil Peyrot (1):

  • docs: make bugs.html easier to find

Eric Anholt (121):

  • v3d: Always enable the NEON utile load/store code.

  • v3d: Fix a release build set-but-unused compiler warning.

  • mesa: Skip partial InvalidateFramebuffer of packed depth/stencil.

  • v3d: Fix image_load_store clamping of signed integer stores.

  • nir: Move V3D’s “the shader was TGSI, ignore FS output types” flag to NIR.

  • v3d: Fix precompile of FRAG_RESULT_DATA1 and higher outputs.

  • v3d: Store the actual mask of color buffers present in the key.

  • v3d: Fix dumping of shaders with alpha test.

  • v3d: Fix pack/unpack of VFPACK operand unpacks.

  • v3d: Fix input packing of .l for rounding/fdx/fdy.

  • v3d: Fix copy-propagation of input unpacks.

  • v3d: Whitespace consistency fix.

  • nir: Move panfrost’s isign lowering to nir_opt_algebraic.

  • v3d: Use the NIR lowering for isign instead of rolling our own.

  • intel: Use the NIR lowering for isign.

  • freedreno: Use the NIR lowering for isign.

  • v3d: Clear the GMP on initialization of the simulator.

  • v3d: Sync indirect draws on the last rendering.

  • v3d: Use the early_fragment_tests flag for the shader’s disable-EZ field.

  • v3d: Fix incorrect flagging of ldtmu as writing r4 on v3d 4.x.

  • v3d: Drop a perf note about merging unpack_half_*, which has been implemented.

  • v3d: Drop our hand-lowered nir_op_ffract.

  • v3d: Add a helper function for getting a nop register.

  • v3d: Refactor bcsel and if condition handling.

  • v3d: Do bool-to-cond for discard_if as well.

  • v3d: Kill off vir_PF(), which is hard to use right.

  • v3d: Fix f2b32 behavior.

  • v3d: Fix the check for “is the last thrsw inside control flow”

  • v3d: Add a function to describe what the c->execute.file check means.

  • v3d: Stop tracking num_inputs for VPM loads.

  • v3d: Delay emitting ldvpm on V3D 4.x until it’s actually used.

  • v3d: Emit a simpler negate for the iabs implementation.

  • v3d: Move i2b and f2b support into emit_comparison.

  • kmsro: Add the rest of the current set of tinydrm drivers.

  • nir: Just return when asked to rewrite uses of an SSA def to itself.

  • v3d: Fix vir_is_raw_mov() for input unpacks.

  • v3d: Dump the VIR after register spilling if we were forced to.

  • v3d: Rematerialize MOVs of uniforms instead of spilling them.

  • v3d: Fix build of NEON code with Mesa’s cflags not targeting NEON.

  • v3d: Restrict live intervals to the blocks reachable from any def.

  • v3d: Stop treating exec masking specially.

  • nir: Improve printing of load_input/store_output variable names.

  • v3d: Translate f2i(fround_even) as FTOIN.

  • v3d: Move the stores for fixed function VS output reads into NIR.

  • v3d: Fix temporary leaks of temp_registers and when spilling.

  • v3d: Do uniform rematerialization spilling before dropping threadcount

  • v3d: Switch implicit uniforms over to being any qinst->uniform != ~0.

  • v3d: Add support for vir-to-qpu of ldunif instructions to a temp.

  • v3d: Drop the old class bits splitting up the accumulators.

  • v3d: Add support for register-allocating a ldunif to a QFILE_TEMP.

  • v3d: Use ldunif instructions for uniforms.

  • v3d: Eliminate the TLB and TLBU files.

  • v3d: Drop the V3D 3.x vpm read dead code elimination.

  • v3d: Include a count of register pressure in the RA failure dumps.

  • st/dri: Set the PIPE_BIND_SHARED flag on create_image_with_modifiers.

  • util: Add a DAG datastructure.

  • vc4: Switch over to using the DAG datastructure for QIR scheduling.

  • v3d: Reuse list_for_each_entry_rev().

  • vc4: Reuse list_for_each_entry_rev().

  • v3d: Use the DAG datastructure for QPU instruction scheduling.

  • vc4: Switch the post-RA scheduler over to the DAG datastructure.

  • v3d: Disable PIPE_CAP_BLIT_BASED_TEXTURE_TRANSFER.

  • v3d: Fix leak of the mem_ctx after the DAG refactor.

  • v3d: Fix leak of the renderonly struct on screen destruction.

  • mesa/st: Make sure that prog_to_nir NIR gets freed.

  • mesa/st: Fix leaks of TGSI tokens in VP variants.

  • v3d: Always lay out shared tiled buffers with UIF_TOP set.

  • v3d: Allow the UIF modifier with renderonly.

  • v3d: Expose the dma-buf modifiers query.

  • v3d: Rename v3d_tmu_config_data to v3d_unit_data.

  • v3d: Move constant offsets to UBO addresses into the main uniform stream.

  • v3d: Upload all of UBO[0] if any indirect load occurs.

  • v3d: Remove some dead members of struct v3d_compile.

  • egl: Add a 565 pbuffer-only EGL config under X11.

  • dri3: Return the current swap interval from glXGetSwapIntervalMESA().

  • v3d: Add support for handling OOM signals from the simulator.

  • v3d: Bump the maximum texture size to 4k for V3D 4.x.

  • v3d: Don’t try to use the TFU blit path if a scissor is enabled.

  • v3d: Add some more new packets for V3D 4.x.

  • st: Lower uniforms in st in the !PIPE_CAP_PACKED_UNIFORMS case as well.

  • vc4: Don’t forget to set the range when scalarizing our uniforms.

  • vc4: Split UBO0 and UBO1 address uniform handling.

  • vc4: Upload CS/VS UBO uniforms together.

  • v3d: Add an optimization pass for redundant flags updates.

  • nir: Drop comments about the constant_index slots for load/stores.

  • nir: Drop remaining references to const_index in favor of the call to use.

  • nir: Add a comment about how intrinsic definitions work.

  • v3d: Add and use a define for the number of channels in a QPU invocation.

  • v3d: Drop a note for the future about PIPE_CAP_PACKED_UNIFORMS.

  • v3d: Include the number of max temps used in the shader-db output.

  • v3d: Replace the old shader-db env var output with the ARB_debug_output.

  • v3d: Add Compute Shader compilation support.

  • v3d: Add missing base offset to CS shared memory accesses.

  • v3d: Add missing dumping for the spill offset/size uniforms.

  • v3d: Detect the correct number of QPUs and use it to fix the spill size.

  • v3d: Use the new lower_to_scratch implementation for indirects on temps.

  • v3d: Only look up the 3rd texture gather offset for non-arrays.

  • v3d: Always set up the qregs for CSD payload.

  • v3d: Fix an invalid reuse of flags generation from before a thrsw.

  • v3d: Fix atomic cmpxchg in shaders on hardware.

  • nir: Fix deref offset calculation for structs.

  • nir: Use the nir_builder _imm helpers in setting up deref offsets.

  • gallium: Remove the pool pipebuffer manager.

  • gallium: Remove the ondemand pipebuffer manager.

  • gallium: Remove the “alt” pipebuffer manager interface.

  • gallium: Remove the malloc pipebuffer manager.

  • st/mesa: Don’t set atomic counter size != 0 if MAX_SHADER_BUFFERS == 0.

  • v3d: Disable SSBOs and atomic counters on vertex shaders.

  • v3d: Fill in the ignored segment size fields to appease new simulator.

  • v3d: Apply the GFXH-930 workaround to the case where the VS loads attrs.

  • v3d: Assert that we do request the normal texturing return data.

  • v3d: Use _mesa_hash_table_remove_key() where appropriate.

  • vc4: Use _mesa_hash_table_remove_key() where appropriate.

  • v3d: Add a note about i/o indirection for future performance work.

  • v3d: Don’t try to update the shadow texture for separate stencil.

  • Revert “v3d: Disable PIPE_CAP_BLIT_BASED_TEXTURE_TRANSFER.”

  • v3d: Re-add support for memory_barrier_shared.

  • v3d: Fix detection of the last ldtmu before a new TMU op.

  • v3d: Fix detection of TMU write sequences in register spilling.

  • kmsro: Add support for V3D.

  • vc4: Fall back to renderonly if the vc4 driver doesn’t have v3d.

Eric Engestrom (142):

  • wsi/display: add comment

  • egl: use coherent variable names

  • gitlab-ci: add ubuntu container

  • gitlab-ci: add a meson vulkan build

  • gitlab-ci: add a make vulkan build

  • gitlab-ci: add a scons no-llvm build

  • gitlab-ci: add scons llvm 3.5 build

  • gitlab-ci: add scons SWR build

  • gitlab-ci: add meson loader/classic DRI build

  • gitlab-ci: add meson gallium SWR build

  • gitlab-ci: add meson gallium RadeonSI build

  • gitlab-ci: add meson gallium “other drivers” build

  • gitlab-ci: add meson gallium ST Clover (LLVM 5.0) build

  • gitlab-ci: add meson gallium ST Clover (LLVM 6.0) build

  • gitlab-ci: add meson gallium ST Clover (LLVM 7.0) build

  • gitlab-ci: add meson gallium ST “Other” build

  • gitlab-ci: add make loaders/classic DRI build

  • gitlab-ci: add make Gallium Drivers SWR build

  • gitlab-ci: add make Gallium Drivers RadeonSI build

  • gitlab-ci: add make Gallium Drivers “Other” build

  • gitlab-ci: add make Gallium ST Clover LLVM-3.9 build

  • gitlab-ci: add make Gallium ST Clover LLVM-4.0 build

  • gitlab-ci: add make Gallium ST Clover LLVM-5.0 build

  • gitlab-ci: add make Gallium ST Clover LLVM-6.0 build

  • gitlab-ci: add make Gallium ST Clover LLVM-7 build

  • gitlab-ci: add make Gallium ST Other build

  • travis: remove unused linux code path

  • travis: remove unused scons code path

  • gitlab-ci: add meson glvnd build

  • xvmc: fix string comparison

  • xvmc: fix string comparison

  • meson: add script to print the options before configuring a builddir

  • driconf: drop unused macro

  • travis: fix osx make build

  • gitlab-ci: workaround docker bug for users with uppercase characters

  • wsi: query the ICD’s max dimensions instead of hard-coding them

  • gitlab-ci: limit ninja to 4 threads max

  • drm-uapi/README: remove explicit list of driver names

  • drm-uapi: use local files, not system libdrm

  • gbm: drop duplicate #defines

  • st/dri: drop duplicate #define

  • etnaviv: drop duplicate #define

  • anv/tests: compile to something sensible in release builds

  • util/tests: compile to something sensible in release builds

  • gitlab-ci: use ccache to speed up builds

  • tegra/meson: add missing dep_libdrm

  • tegra/autotools: add missing libdrm cflags

  • gitlab-ci: limit the automatic CI to master and MRs

  • gitlab-ci: automatically run the CI on pushes to `ci/*` branches

  • anv: sort extensions alphabetically

  • anv: sort vendors extensions after KHR and EXT

  • anv: make sure the extensions stay sorted

  • anv: drop unused imports

  • anv: use anv_shader_bin_write_to_blob()’s return value

  • gitlab-ci: always run the containers build

  • dri_interface: add missing #include

  • driinfo: add DTD to allow the xml to be validated

  • meson/swr: replace hard-coded path with current_build_dir()

  • egl/android: replace magic 0=CbCr,1=CrCb with simple enum

  • vulkan: use VkBase{In,Out}Structure instead of a custom struct

  • driconf: add DTD to allow the drirc xml (00-mesa-defaults.conf) to be validated

  • gitlab-ci: install xmllint to validate 00-mesa-defaults.conf

  • anv: simplify chained comparison

  • anv: drop unused parameter

  • anv: remove spaces around kwargs assignment

  • anv: fix typo

  • Revert “swr/rast: Archrast codegen updates”

  • meson: avoid going back up the tree with include_directories()

  • anv: use the platform defines in vk.xml instead of hard-coding them

  • radv: use the platform defines in vk.xml instead of hard-coding them

  • util: #define PATH_MAX when undefined (eg. Hurd)

  • vulkan: import missing file from Khronos

  • egl: fix libdrm-less builds

  • vulkan: import vk_layer.h from Khronos

  • gitlab-ci: drop job prefixes

  • meson: fix with_dri2 definition for GNU Hurd

  • meson: remove unused include_directories(vulkan)

  • vulkan/util: use the platform defines in vk.xml instead of hard-coding them

  • vulkan/overlay: fix missing var rename in previous commit

  • meson: don’t build libGLES*.so with GLVND

  • autotools: don’t build libGLES*.so with GLVND

  • travis: fix meson build by letting `auto` do its job

  • travis: drop unused vars

  • travis: clean up

  • gitlab-ci: only build the default (=latest) and oldest llvm versions

  • gitlab-ci: autotools needs to be told which llvm version to use

  • r600: cast pointer to expected type

  • build: make passing an incorrect pointer type a hard error

  • gitlab-ci: fix llvm version (7 doesn’t have a “.0”)

  • hgl/meson: drop unused include directory

  • glx/meson: use full include path for dri_interface.h

  • android: fix missing backspace for line continuation

  • panfrost: fix tgsi_to_nir() call

  • panfrost: move #include to fix compilation

  • gitlab-ci: add panfrost to the gallium drivers build

  • wsi: deduplicate get_current_time() functions between display and x11

  • wsi/display: s/#if/#ifdef/ to fix -Wundef

  • wsi/wayland: fix pointer casting warning on 32bit

  • wsi/x11: use WSI_FROM_HANDLE() instead of pointer casts

  • turnip: use the platform defines in vk.xml instead of hard-coding them

  • travis: fix osx meson build

  • nir: const `nir_call_instr::callee`

  • gitlab-ci: add clang build

  • gitlab-ci: drop most autotools builds

  • util/disk_cache: close fd in the fallback path

  • egl: hide entrypoints that shouldn’t be exported when using glvnd

  • meson: strip rpath from megadrivers

  • gallium/hud: fix memory leaks

  • gallium/hud: prevent buffer overflow

  • gallium/hud: fix rounding error in nic bps computation

  • simplify LLVM version string printing

  • util/process: document memory leak

  • vk/util: remove unneeded array index

  • bin: drop unused import from install_megadrivers.py

  • meson: remove meson-created megadrivers symlinks

  • gitlab-ci: build gallium extra hud

  • gitlab-ci: add lima to the build

  • delete autotools .gitignore files

  • delete autotools input files

  • docs: remove unsupported GL function name mangling

  • docs: drop autotools python information

  • docs: replace autotools intructions with meson equivalent

  • docs: use past tense when talking about autotools

  • docs: haiku can be built using meson

  • egl: fixup autotools-specific wording

  • util: add os_read_file() helper

  • anv: add support for VK_EXT_memory_budget

  • radv: update to use the new features struct names

  • turnip: update to use the new features struct names

  • gitlab-ci: build vulkan drivers in clang build

  • util: move #include out of #if linux

  • wsi/wayland: document lack of vkAcquireNextImageKHR timeout support

  • egl: hard-code destroy function instead of passing it around as a pointer

  • gitlab-ci: add scons windows build using mingw

  • gitlab-ci: merge several meson jobs

  • gitlab-ci: meson-gallium-radeonsi was a subset of meson-gallium-clover-llvm

  • gitlab-ci: simplify meson job names

  • gitlab-ci: merge meson-glvnd into meson-swr

  • travis: fix syntax, and drop unused stuff

  • util/os_file: always use the ‘grow’ mechanism

  • meson: expose glapi through osmesa

  • util/os_file: actually return the error read() gave us

Erico Nunes (5):

  • lima/ppir: support ppir_op_ceil

  • nir/algebraic: add lowering for fsign

  • lima: enable nir fsign lowering in ppir

  • lima/gpir: add limit of max 512 instructions

  • lima/ppir: support nir_op_ftrunc

Erik Faye-Lund (79):

  • mesa: expose NV_conditional_render on GLES

  • st/mesa: remove unused header-file

  • swr/codegen: fix autotools build

  • virgl: remove unused variables

  • virgl: remove unused variable

  • virgl: remove unused variable

  • virgl: remove unused variable

  • virgl: do not allow compressed formats for buffers

  • virgl: stricter usage of compressed 3d textures

  • virgl: also destroy all read-transfers

  • virgl: use debug_printf instead of fprintf

  • virgl: unsigned int -> unsigned

  • virgl: only warn about unchecked flags

  • virgl: do not warn about display-target binding

  • virgl: use debug_printf instead of fprintf

  • virgl: remove pointless transfer-counter

  • virgl: tmp_resource -> templ

  • virgl: track full virgl_resource instead of just virgl_hw_res

  • virgl: simplify virgl_texture_transfer_unmap logic

  • virgl: make unmap queuing a bit more straight-forward

  • virgl: check for readback on correct resource

  • virgl: wait for the right resource

  • virgl: return error if allocating resolve_tmp fails

  • virgl: rewrite core of virgl_texture_transfer_map

  • virgl: use pipe_box for blit dst-rect

  • virgl: support write-back with staged transfers

  • virgl: make sure bind is set for non-buffers

  • gallium/util: support translating between uint and sint formats

  • virgl: get readback-formats from host

  • virgl: only blit if resource is read

  • virgl: do color-conversion during when mapping transfer

  • virgl: document potentially failing blit

  • mesa/st: remove impossible error-check

  • gallium/u_vbuf: support NULL-resources

  • i915: support NULL-resources

  • nouveau: support NULL-resources

  • swr: support NULL-resources

  • mesa/st: accept NULL and empty buffer objects

  • mesa/st: remove always-false state

  • softpipe: setup pixel_offset for all primitive types

  • docs: normaize css-indent style

  • docs: remove non-existent css attribute

  • docs: remove long commented out css

  • docs: add missing semicolon

  • docs: avoid repeating the font

  • docs: avoid repeating the color

  • docs: remove spurious newline

  • docs: use multiple background-images for header

  • docs: simplify css-centering

  • docs: do not hard-code header-height

  • docs: properly escape ‘>’

  • docs: properly escape ampersand

  • docs: remove stray paragraph-close

  • docs: use h2 instead of b-tag for headings

  • docs: use dl/dd instead of blockquote for freedesktop link

  • docs: open list-item before closing it

  • docs: close paragraphs before lists

  • docs: close lists

  • docs: remove stray paragraph-close

  • docs: close paragraphs before preformatted text

  • docs: start paragraph before closing it

  • docs: drop paragraph around preformatted text

  • docs: fix incorrectly closed paragraph

  • docs: don’t pointlessly close and re-start definition lists

  • docs: remove stray list-start

  • docs: fixup bad paragraphing

  • docs: add missing lists

  • docs: fix closing of paragraphs

  • docs: fixup list-item tags

  • docs: fix closing of list-items

  • docs: replace empty list with a none-paragraph

  • docs: turn faq-index into an ordered list

  • docs: drop centered heading for faq

  • docs: reorder heading and notice

  • meson: lift driver-collection out into parent build-file

  • meson: give dri- and gallium-drivers separate vars

  • meson: add build-summary

  • docs: fixup mistake in contents

  • draw: flush when setting stream-out targets

Ernestas Kulik (2):

  • vc4: Fix leak in HW queries error path

  • v3d: Fix leak in resource setup error path

Francisco Jerez (6):

  • intel/dump_gpu: Disambiguate between BOs from different GEM handle spaces.

  • intel/fs: Exclude control sources from execution type and region alignment calculations.

  • intel/fs: Lower integer multiply correctly when destination stride equals 4.

  • intel/fs: Cap dst-aligned region stride to maximum representable hstride value.

  • intel/fs: Implement extended strides greater than 4 for IR source regions.

  • intel/fs: Rely on undocumented unrestricted regioning for 32x16-bit integer multiply.

Fritz Koenig (4):

  • freedreno: pass count to query_dmabuf_modifiers

  • freedreno/a6xx: UBWC support

  • freedreno: UBWC allocator

  • freedreno/a6xx: Enable UBWC modifier

Gert Wollny (35):

  • mesa/core: Enable EXT_texture_sRGB_R8 also for desktop GL

  • radeonsi: release tokens after creating the shader program

  • mesa: release references to image textures when a context is destroyed

  • virgl: Enable mixed color FBO attachemnets only when the host supports it

  • mesa/core: Enable EXT_depth_clamp for GLES >= 2.0

  • nir: Add posibility to not lower to source mod ‘abs’ for ops with three sources

  • mesa: Expose EXT_texture_query_lod and add support for its use shaders

  • softpipe: Enable PIPE_CAP_MIXED_COLORBUFFER_FORMATS    It seems softpipe actually supports this. This change enables the following piglits as passing without regressions in the gpu test set:

  • virgl: Add a caps feature check version

  • softpipe: Implement ATOMFADD and enable cap TGSI_ATOMFADD

  • virgl: define MAX_VERTEX_STREAMS based on availability of TF3

  • softpipe: Use mag texture filter also for clamped lod == 0

  • softpipe: Don’t use mag filter for gather op

  • softpipe: raise number of bits used for X coordinate texture lookup

  • softpipe: Add an extra code path for the buffer texel lookup

  • softpipe: Enable PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT

  • Gallium: Add new CAP that indicated whether IO array definitions can be shriked

  • virgl: Enable passing arrays as input to fragment shaders

  • doc/features: Add a few extensions to the feature matrix

  • softpipe: Factor gradient evaluation out of the lambda evaluation

  • softpipe: Prepare handling explicit gradients

  • softpipe: Pipe gather_comp through from st_tgsi_get_samples

  • softpipe: Move selection of shadow values up and clean parameter list

  • softpipe: tie in new code path for lod evaluation

  • softpipe: keep input lod for explicite derivatives

  • softpipe: evaluate cube the faces on a per sample bases

  • softpipe: Factor out evaluation of the source indices

  • softpipe: Add an per-input array for interpolator correctors to machine

  • softpipe: Add (fake) support for TGSI_OPCODE_INTERP_SAMPLE

  • softpipe: Add support for TGSI_OPCODE_INTERP_OFFSET

  • softpipe: Add support for TGSI_OPCODE_INTERP_CENTROID

  • softpipe: Increase the GLSL feature level

  • doc: Update feature matrix

  • softpipe/buffer: load only as many components as the the buffer resource type provides

  • Revert “softpipe/buffer: load only as many components as the the buffer resource type provides”

Greg V (3):

  • util: emulate futex on FreeBSD using umtx

  • gallium/hud: add CPU usage support for FreeBSD

  • gallium: enable dmabuf on BSD as well

Grigori Goronzy (1):

  • glx: add support for GLX_ARB_create_context_no_error (v3)

Guido Günther (4):

  • docs: Fix 19.0.x version numbers

  • gallium: ddebug: Add missing fence related wrappers

  • gallium/u_dump: util_dump_sampler_view: Dump u.tex.first_level

  • gallium: trace: Add missing fence related wrappers

Gurchetan Singh (44):

  • mesa/main: Expose EXT_texture_compression_s3tc_srgb

  • i965: Set flag for EXT_texture_compression_s3tc_srgb

  • st/mesa: expose EXT_texture_compression_s3tc_srgb

  • docs: add GL_EXT_texture_compression_s3tc_srgb to release notes

  • virgl: add ability to do finer grain dirty tracking

  • virgl: use virgl_resource_dirty helper

  • virgl: don’t mark unclean after a flush

  • virgl: track level cleanliness rather than resource cleanliness

  • virgl: make alignment smaller when uploading index user buffers

  • virgl: unmap uploader at flush time

  • virgl: when creating / freeing transfers, pass slab pool directly

  • virgl: add protocol for resource transfers

  • virgl: use virgl_transfer in inline write

  • virgl: limit command length to 16 bits

  • virgl: keep track of number of computations

  • virgl: pass virgl transfer to virgl_res_needs_flush_wait

  • virgl: add extra checks in virgl_res_needs_flush_wait

  • virgl: make winsys modifications for encoded transfers

  • virgl: add encoder functions for new protocol

  • virgl: introduce transfer queue

  • virgl: use transfer queue

  • virgl: use virgl_transfer_inline_write even less

  • virgl/vtest: deprecate protocol version 1

  • egl/sl: also allow virtgpu to fallback to kms_swrast

  • virgl: use uint16_t mask instead of separate booleans

  • configure.ac / meson: depend on libnativewindow when appropriate

  • anv: move anv_GetMemoryAndroidHardwareBufferANDROID up a bit

  • anv: fix build on Nougat

  • egl/android: move droid_image_loader_extension down a bit

  • egl/android: move droid_open_device_drm_gralloc down a bit

  • egl/android: droid_open_device_drm_gralloc –> droid_open_device

  • egl/android: refactor droid_load_driver a bit

  • egl/android: plumb swrast option

  • egl/android: use swrast option in droid_load_driver

  • egl/android: use software rendering when appropriate

  • egl/android: chose node type based on swrast and preprocessor flags

  • virgl: wait after a flush

  • virgl/vtest: execute a transfer_get when flushing the front buffer

  • virgl/vtest: add utilities for receiving fds

  • virgl/vtest: plumb support for shared memory

  • virgl/vtest: receive and handle shared memory fd

  • virgl/vtest: modify sending and receiving data for shared memory

  • virgl/vtest: wait after issuing a transfer get

  • virgl/vtest: bump up protocol version + support encoded transfers

Guttula, Suresh (1):

  • st/va:Add support for indirect manner by returning VA_STATUS_ERROR_OPERATION_FAILED

Hal Gentz (1):

  • glx: Fix synthetic error generation in __glXSendError

Heinrich (1):

  • gbm: Improve documentation of BO import

Iago Toral Quiroga (39):

  • compiler/nir: add an is_conversion field to nir_op_info

  • compiler/nir: add lowering option for 16-bit fmod

  • compiler/nir: add lowering for 16-bit flrp

  • compiler/nir: add lowering for 16-bit ldexp

  • intel/compiler: add a NIR pass to lower conversions

  • intel/compiler: split float to 64-bit opcodes from int to 64-bit

  • intel/compiler: handle b2i/b2f with other integer conversion opcodes

  • intel/compiler: assert restrictions on conversions to half-float

  • intel/compiler: lower some 16-bit float operations to 32-bit

  • intel/compiler: handle extended math restrictions for half-float

  • intel/compiler: implement 16-bit fsign

  • intel/compiler: drop unnecessary temporary from 32-bit fsign implementation

  • intel/compiler: add instruction setters for Src1Type and Src2Type.

  • intel/compiler: add new half-float register type for 3-src instructions

  • intel/compiler: don’t compact 3-src instructions with Src1Type or Src2Type bits

  • intel/compiler: allow half-float on 3-source instructions since gen8

  • intel/compiler: set correct precision fields for 3-source float instructions

  • intel/compiler: fix ddx and ddy for 16-bit float

  • intel/compiler: fix ddy for half-float in Broadwell

  • intel/compiler: workaround for SIMD8 half-float MAD in gen8

  • intel/compiler: split is_partial_write() into two variants

  • intel/compiler: activate 16-bit bit-size lowerings also for 8-bit

  • intel/compiler: rework conversion opcodes

  • intel/compiler: ask for an integer type if requesting an 8-bit type

  • intel/eu: force stride of 2 on NULL register for Byte instructions

  • intel/compiler: generalize the combine constants pass

  • intel/compiler: implement is_zero, is_one, is_negative_one for 8-bit/16-bit

  • intel/compiler: add a brw_reg_type_is_integer helper

  • intel/compiler: fix cmod propagation for non 32-bit types

  • intel/compiler: remove inexact algebraic optimizations from the backend

  • intel/compiler: skip MAD algebraic optimization for half-float or mixed mode

  • intel/compiler: implement SIMD16 restrictions for mixed-float instructions

  • intel/compiler: also set F execution type for mixed float mode in BDW

  • intel/compiler: validate region restrictions for half-float conversions

  • intel/compiler: validate conversions between 64-bit and 8-bit types

  • intel/compiler: validate region restrictions for mixed float mode

  • compiler/spirv: move the check for Int8 capability

  • anv/pipeline: support Float16 and Int8 SPIR-V capabilities in gen8+

  • anv/device: expose VK_KHR_shader_float16_int8 in gen8+

Ian Romanick (55):

  • nir: Silence zillions of unused parameter warnings in release builds

  • intel/compiler: Silence warning about value that may be used uninitialized

  • nir: Document some fields of nir_loop_terminator

  • nir: Refactor code that checks phi nodes in opt_peel_loop_initial_if

  • nir: Select phi nodes using prev_block instead of continue_block

  • nir: Split ALU instructions in loops that read phis

  • nir: Convert a bcsel with only phi node sources to a phi node

  • spirv: Add missing break

  • nir/algebraic: Convert some f2u to f2i

  • nir/algebraic: Simplify comparison with sequential integers starting with 0

  • intel/vec4: Emit constants for some ALU sources as immediate values

  • nir/algebraic: Replace i2b used by bcsel or if-statement with comparison

  • intel/fs: Relax type matching rules in cmod propagation from MOV instructions

  • intel/fs: Handle OR source modifiers in algebraic optimization

  • intel/fs: Refactor ALU source and destination handling to a separate function

  • intel/fs: Emit logical-not of operands on Gen8+

  • intel/fs: Use De Morgan’s laws to avoid logical-not of a logic result on Gen8+

  • intel/fs: Emit better code for b2f(inot(a)) and b2i(inot(a))

  • nir/algebraic: Replace a bcsel of a b2f sources with a b2f(!(a || b))

  • intel/fs: Generate if instructions with inverted conditions

  • nir/algebraic: Replace a-fract(a) with floor(a)

  • intel/fs: Don’t assert on b2f with a saturate modifier

  • nir/algebraic: Optimize away an fsat of a b2f

  • intel/compiler: Silence many unused parameter warnings in brw_eu.h

  • intel/compiler: Silence unused parameter warning in brw_interpolation_map.c

  • intel/fs: nir_op_extract_i8 extracts a byte, not a word

  • intel/fs: Fix extract_u8 of an odd byte from a 64-bit integer

  • nir/algebraic: Fix up extract_[iu]8 after loop unrolling

  • nir/algebraic: Remove redundant extract_[iu]8 patterns

  • nir/algebraic: Add missing 64-bit extract_[iu]8 patterns

  • nir/algebraic: Add missing 16-bit extract_[iu]8 patterns

  • nir/algebraic: Fix up extract_[iu]8 after loop unrolling

  • nir/algebraic: Remove redundant extract_[iu]8 patterns

  • nir/algebraic: Add missing 64-bit extract_[iu]8 patterns

  • nir/algebraic: Add missing 16-bit extract_[iu]8 patterns

  • nir: Add nir_const_value_negative_equal

  • nir: Add nir_alu_srcs_negative_equal

  • nir: Add partial redundancy elimination for compares

  • intel/compiler: Use partial redundancy elimination for compares

  • intel/fs: Eliminate dead code first

  • intel/fs: Refactor code generation for nir_op_fsign to its own function

  • intel/fs: Add a scale factor to emit_fsign

  • intel/fs: Generate better code for fsign multiplied by a value

  • nir/algebraic: Recognize open-coded copysign(1.0, a)

  • nir/algebraic: Replace a pattern where iand with a Boolean is used as a bcsel

  • nir/algebraic: Fix some 1-bit Boolean weirdness

  • nir/algebraic: Strength reduce some compares of x and -x

  • intel/fs: Add support for float16 to the fsign optimizations

  • glsl: Silence may unused parameter warnings in glsl/ir.h

  • intel/compiler: Don’t have sepearate, per-Gen nir_options

  • intel/compiler: Lower ffma on Gen4 and Gen5

  • intel/fs: Fix D to W conversion in opt_combine_constants

  • mesa: Add missing display list support for GL_FOG_COORDINATE_SOURCE

  • nir: Saturating integer arithmetic is not associative

  • Revert “nir: add late opt to turn inot/b2f combos back to bcsel”

Icenowy Zheng (5):

  • lima: add dummy set_sample_mask function

  • lima: make lima_context_framebuffer subtype of pipe_framebuffer_state

  • lima: implement blit with util_blitter

  • lima: lower bool to float when building shaders

  • lima: add Android build

Ilia Mirkin (14):

  • nv50,nvc0: add explicit settings for recent caps

  • nvc0: add support for handling indirect draws with attrib conversion

  • nvc0/ir: always use CG mode for loads from atomic-only buffers

  • nvc0/ir: fix second tex argument after levelZero optimization

  • nvc0: fix 3d images on kepler

  • nv50,nvc0: use condition for occlusion queries when already complete

  • nvc0: stick zero values for the compute invocation counts

  • nvc0: we have 16k-sized framebuffers, fix default scissors

  • swr: set PIPE_CAP_MAX_VARYINGS correctly

  • mesa: add explicit enable for EXT_float_blend, and error condition

  • st/mesa: enable GL_EXT_float_blend when possible

  • i965: always enable EXT_float_blend

  • nv50: disable compute

  • glsl: fix recording of variables for XFB in TCS shaders

Illia Iorin (1):

  • mesa/main: Fix multisample texture initialize

James Zhu (12):

  • gallium/auxiliary/vl: Move dirty define to header file

  • gallium/auxiliary/vl: Split vl_compositor graphic shaders from vl_compositor API

  • gallium/auxiliary/vl: Rename csc_matrix and increase its size.

  • gallium/auxiliary/vl: Add compute shader to support video compositor render

  • gallium/auxiliary/vl: Add video compositor compute shader render

  • gallium/auxiliary/vl: Fix transparent issue on compute shader with rgba

  • gallium/auxiliary/vl: Increase shader_params size

  • gallium/auxiliary/vl: Change grid setting

  • gallium/auxiliary/vl: Change weave compute shader implementation

  • gallium/auxiliary/vl: Fixed blur issue with weave compute shader

  • gallium/auxiliary/vl: Fixed blank issue with compute shader

  • gallium/auxiliary/vl: Add barrier/unbind after compute shader launch.

Jan Vesely (2):

  • Partially revert “gallium: fix autotools build of pipe_msm.la”

  • gallium/aux: Report error if loading of a pipe driver fails.

Jan Zielinski (1):

  • swr/rast: fix 32-bit compilation on Linux

Faith Ekstrand (212):

  • spirv: Replace vtn_constant_value with vtn_constant_uint

  • spirv: Rework handling of spec constant workgroup size built-ins

  • spirv: Handle constants and types before execution modes

  • spirv: Handle OpExecutionModeId

  • spirv: Support LocalSizeId and LocalSizeHintId execution modes

  • intel/nir: Add global support to lower_mem_access_bit_sizes

  • intel/fs/cse: Split create_copy_instr into three cases

  • intel/fs: Properly handle 64-bit types in LOAD_PAYLOAD

  • intel/fs: Do the grf127 hack on SIMD8 instructions in SIMD16 mode

  • intel/fs: Implement load/store_global with A64 untyped messages

  • intel/fs: Use SENDS for A64 writes on gen9+

  • intel/fs: Implement nir_intrinsic_global_atomic_*

  • anv: Implement VK_EXT_buffer_device_address

  • relnotes: Add VK_EXT_buffer_device_address

  • nir/deref: Drop zero ptr_as_array derefs

  • README: Drop the badges from the readme

  • intel/fs: Use enumerated array assignments in fb read TXF setup

  • nir/deref: Rematerialize parents in rematerialize_derefs_in_use_blocks

  • nir: Silence a couple of warnings in release builds

  • anv/blorp: Delete a pointless assert

  • anv: Silence some compiler warnings in release builds

  • intel/fs: Silence a compiler warning

  • intel/fs: Bail in optimize_extract_to_float if we have modifiers

  • nir/dead_cf: Inline cf_node_has_side_effects

  • nir/dead_cf: Stop relying on liveness analysis

  • compiler/types: Add a contains_64bit helper

  • nir/xfb: Properly align 64-bit values

  • nir: Rewrite lower_clip_cull_distance_arrays to do a lot less lowering

  • nir/xfb: Work in terms of components rather than slots

  • nir/xfb: Handle compact arrays in gather_xfb_info

  • nir: Fix a compile warning

  • nir/lower_clip_cull: Fix an incorrect assert

  • iris: Don’t lower image formats for write-only images

  • iris/compute: Don’t increment the grid size offset

  • iris/compute: Zero out the last grid size on indirect dispatches

  • iris: Configure the L3$ on the compute context

  • iris: Don’t set constant read lengths at upload time

  • iris: Allocate buffer resources separately

  • iris: Copy anv’s MI_MATH helpers for multiplication and division

  • nir/split_vars: Don’t compact vectors unnecessarily

  • nir/builder: Don’t emit no-op swizzles

  • intel/eu: Add an EOT parameter to send_indirect_[split]_message

  • intel/fs: Add an enum type for logical sampler inst sources

  • intel/fs: Re-order logical surface arguments

  • intel/fs: Drop the fs_surface_builder

  • intel/vec4: Drop dead code for handling typed surface messages

  • intel/fs: Get rid of the IMAGE_SIZE opcode

  • intel/compiler: Drop unused surface opcodes

  • intel/schedule_instructions: Move some comments

  • intel/compiler: Re-prefix non-logical surface opcodes with VEC4

  • anv: Count surfaces for non-YCbCr images in GetDescriptorSetLayoutSupport

  • spirv: OpImageQueryLod requires a sampler

  • intel,nir: Lower TXD with min_lod when the sampler index is not < 16

  • anv: Use an actual binding for gl_NumWorkgroups

  • anv/pipeline: Drop anv_fill_binding_table

  • anv/descriptor_set: Refactor alloc/free of descriptor sets

  • anv: Rework arguments to anv_descriptor_set_write_*

  • anv: Stop allocating buffer views for dynamic buffers

  • anv: Count image param entries rather than images

  • anv: Clean up descriptor set layouts

  • anv: drop add_var_binding from anv_nir_apply_pipeline_layout.c

  • anv: Refactor descriptor pushing a bit

  • anv: Take references to push descriptor set layouts

  • anv: Add a concept of a descriptor buffer

  • spirv: Pull offset/stride from the pointer for OpArrayLength

  • spirv: Use the generic dereference function for OpArrayLength

  • spirv: Use the same types for resource indices as pointers

  • anv: Implement VK_EXT_inline_uniform_block

  • nir: Expose double and int64 op_to_options_mask helpers

  • nir: Teach loop unrolling about 64-bit instruction lowering

  • i965: Compile the fp64 program based on nir options

  • intel/debug: Add a debug flag to force software fp64

  • intel/nir: Drop an unneeded lower_constant_initializers call

  • glsl/nir: Add a shared helper for building float64 shaders

  • glsl/nir: Inline functions in float64_funcs_to_nir

  • nir/inline_functions: Break inlining into a builder helper

  • nir/deref: Expose nir_opt_deref_impl

  • nir/lower_doubles: Inline functions directly in lower_doubles

  • intel/nir: Move 64-bit lowering later

  • st/nir: Move 64-bit lowering later

  • nir/builder: Emit better code for iadd/imul_imm

  • nir/builder: Cast array indices in build_deref_follower

  • nir/builder: Add a build_deref_array_imm helper

  • intel/nir: Move lower_mem_access_bit_sizes to postprocess_nir

  • anv/pipeline: Move lower_explicit_io much later

  • nir: Add a pass for lowering IO back to vector when possible

  • intel/nir: Vectorize all IO

  • anv: Ignore VkRenderPassInputAttachementAspectCreateInfo

  • nir/loop_unroll: Fix out-of-bounds access handling

  • glsl/list: Add a list variant of insert_after

  • glsl/lower_vector_derefs: Don’t use a temporary for TCS outputs

  • anv: Stop using VK_TRUE/FALSE

  • anv/pass: Flag the need for a RT flush for resolve attachments

  • anv: Only set 3DSTATE_PS::VectorMaskEnable on gen8+

  • nir/algebraic: Add a couple optimizations for iabs and ishr

  • nir/validate: Only require bare types to match for copy_deref

  • nir/validate: Allow 32-bit boolean load/store intrinsics

  • compiler/types: Add a new is_interface C wrapper

  • compiler/types: Add a C wrapper to get full struct field data

  • compiler/types: Add helpers to get explicit types for standard layouts

  • nir/deref: Consider COHERENT decorated var derefs as aliasing

  • nir: Rename nir_address_format_vk_index_offset to not be vk

  • nir/lower_io: Add a new buffer_array_length intrinsic and lowering

  • glsl: Don’t lower vector derefs for SSBOs, UBOs, and shared

  • glsl/nir: Set explicit types on UBO/SSBO variables

  • glsl/nir: Handle unlowered SSBO atomic and array_length intrinsics

  • glsl/nir: Add a pass to lower UBO and SSBO access

  • i965: Stop setting LowerBuferInterfaceBlocks

  • st/mesa: Let NIR lower UBO and SSBO access when we have it

  • nir/builder: Add a vector extract helper

  • nir: Add a new pass to lower array dereferences on vectors

  • intel/nir: Lower array-deref-of-vector UBO and SSBO loads

  • anv: Implement VK_EXT_host_query_reset

  • anv,radv: Implement VK_KHR_surface_capability_protected

  • Revert “nir: const `nir_call_instr::callee`”

  • anv: Bump maxComputeWorkgroupInvocations

  • nir: Constant values are per-column not per-component

  • anv,radv,turnip: Lower TG4 offsets with nir_lower_tex

  • spirv: Drop inline tg4 lowering

  • nir/lower_io: Add a bounds-checked 64-bit global address format

  • nir: Add a lowering pass for non-uniform resource access

  • nir: Add texture sources and intrinsics for bindless

  • nir: Add access flags to deref and SSBO atomics

  • spirv: Handle the NonUniformEXT decoration

  • Revert “anv/radv: release memory allocated by glsl types during spirv_to_nir”

  • nir: Lock around validation fail shader dumping

  • nir/algebraic: Drop some @bool specifiers

  • nir/algebraic: Add some logical OR and AND patterns

  • vc4: Prefer nir_src_comp_as_uint over nir_src_as_const_value

  • nir/search: Search for all combinations of commutative ops

  • nir: Get rid of nir_register::is_packed

  • nir: Get rid of global registers

  • intel/common: Add a MI command builder

  • intel/common: Add unit tests for gen_mi_builder

  • anv: Use gen_mi_builder for CmdDrawIndirectByteCount

  • anv: Use gen_mi_builder for computing resolve predicates

  • anv: Use gen_mi_builder for indirect draw parameters

  • anv: Use gen_mi_builder for indirect dispatch

  • anv: Use gen_mi_builder for conditional rendering

  • anv: Use gen_mi_builder for queries

  • anv: Move mi_memcpy and mi_memset to gen_mi_builder

  • anv/cmd_buffer: Use gen_mi_sub instead of gen_mi_add with a negative

  • intel/common: Support bigger right-shifts with mi_builder

  • anv/pipeline: Fix MEDIA_VFE_STATE::PerThreadScratchSpace on gen7

  • nir: Add a pass for selectively lowering variables to scratch space

  • intel/nir: Take a nir_tex_instr and src index in brw_texture_offset

  • nir/builder: Add a nir_imm_zero helper

  • nir/print: Use nir_src_as_int for array indices

  • nir/constant_folding: Get rid of a bit size switch statement

  • spirv: Drop some unneeded bit size switch statements

  • nir/load_const_to_scalar: Get rid of a bit size switch statement

  • nir/validate: Require unused bits of nir_const_value to be zero

  • vulkan: Update the XML and headers to 1.1.106

  • anv: Update to use the new features struct names

  • nir/algebraic: Move the template closer to the render function

  • nir/algebraic: Use a cache to avoid re-emitting structs

  • intel/mi_builder: Re-order an initializer

  • intel/mi_builder: Disable mem_mem tests on IVB

  • nir: Drop “struct” from some nir_* declarations

  • nir: Rework nir_src_as_alu_instr to not take a pointer

  • nir: Add a nir_src_as_intrinsic() helper

  • anv: Re-sort the GetPhysicalDeviceFeatures2 switch statement

  • anv: Drop some unneeded ANV_FROM_HANDLE for physical devices

  • intel/fs: Account for live range lengths in spill costs

  • anv: Make all VkDeviceMemory BOs resident permanently

  • anv: Put image params in the descriptor set buffer on gen8 and earlier

  • anv: Add a #define for the max binding table size

  • anv/pipeline: Sort bindings by most used first

  • anv/pipeline: Add skeleton support for spilling to bindless

  • nir/lower_io: Expose some explicit I/O lowering helpers

  • intel/nir: Re-run int64 lowering in postprocess_nir

  • anv: Add a has_a64_buffer_access to anv_physical_device

  • anv: Lower some SSBO operations in apply_pipeline_layout

  • anv: Implement SSBOs bindings with GPU addresses in the descriptor BO

  • anv: Implement VK_KHR_shader_atomic_int64

  • intel,nir: Lower TXD with a bindless sampler

  • intel/fs: Add support for bindless texture ops

  • anv: Count the number of planes in each descriptor binding

  • anv: Use write_image_view to initialize immutable samplers

  • anv: Pass the plane into lower_tex_deref

  • anv: Use bindless textures and samplers

  • intel/fs: Add support for bindless image load/store/atomic

  • anv: Use bindless handles for images

  • anv: Put binding flags in descriptor set layouts

  • anv: Implement VK_EXT_descriptor_indexing

  • nir: Add helpers for getting the type of an address format

  • anv/nir: Add a central helper for figuring out SSBO address formats

  • anv: Ignore descriptor binding flags if bindingCount == 0

  • anv: Rework the descriptor set layout create loop

  • anv,radv: Update release notes for newly implemented extensiosn

  • nir: Use the NIR_SRC_AS_ macro to define nir_src_as_deref

  • anv/descriptor_set: Unlink sets from the pool in set_destroy

  • anv/descriptor_set: Destroy sets before pool finalization

  • anv/descriptor_set: Only vma_heap_finish if we have a descriptor buffer

  • anv/descriptor_set: Properly align descriptor buffer to a page

  • anv: Better handle 32-byte alignment of descriptor set buffers

  • anv/descriptor_set: Don’t fully destroy sets in pool destroy/reset

  • nir/algebraic: Optimize integer cast-of-cast

  • util/bitset: Return an actual bool from test macros

  • anv: Stop including POS in FS input limits

  • anv,i965: Stop warning about incomplete gen11 support

  • nir: Add a SSA type gathering pass

  • intel/fs/ra: Only add dest interference to sources that exist

  • intel/fs/ra: Stop adding RA interference to too many SENDS nodes

  • anv: Emulate texture swizzle in the shader when needed

  • anv: Stop forcing bindless for images

  • anv: Only consider minSampleShading when sampleShadingEnable is set

  • iris: Don’t assume UBO indices are constant

  • intel/fs,vec4: Use g0 as the header for MFENCE

  • intel/fs: Do a stalling MFENCE in endInvocationInterlock()

  • nir/dead_cf: Call instructions aren’t dead

  • nir/propagate_invariant: Don’t add NULL vars to the hash table

Jian-Hong Pan (1):

  • intel: Fix the description of Coffeelake pci-id 0x3E98

Jiang, Sonny (1):

  • va: use a compute shader for the blit

John Stultz (3):

  • mesa: android: freedreno: Fix build failure due to path change

  • mesa: Makefile.sources: Add ir3_nir_lower_load_barycentric_at_sample/offset to Makefile.sources

  • mesa: Makefile.sources: Add nir_lower_fb_read.c to Makefile.sources list

Jon Turney (1):

  • meson: Force ‘.so’ extension for DRI drivers

Jonathan Marek (22):

  • nir: add missing vec opcodes in lower_bool_to_float

  • freedreno: a2xx: fix fast clear

  • freedreno: a2xx: don’t write 4th vertex in mem2gmem

  • freedreno: a2xx: add use_hw_binning function

  • freedreno: a2xx: fix fast clear for some gmem configurations

  • freedreno: a2xx: fix mipmapping for NPOT textures

  • freedreno: use renderonly path for buffers allocated with modifiers

  • freedreno: catch failing fd_blit and fallback to software blit

  • mesa: add GL_AMD_compressed_ATC_texture support

  • gallium: add ATC format support

  • llvmpipe, softpipe: no support for ATC textures

  • st/mesa: add ATC support

  • freedreno: a3xx: add GL_AMD_compressed_ATC_texture support

  • freedreno: a2xx: add GL_AMD_compressed_ATC_texture support

  • svga: add new ATC formats to the format conversion table

  • freedreno: a2xx: fix builtin blit program compilation

  • freedreno: a2xx: disable PIPE_CAP_PACKED_UNIFORMS

  • freedreno: a2xx: use nir_lower_io for TGSI shaders

  • freedreno: a2xx: enable batch reordering

  • freedreno: a2xx: same gmem2mem sequence for all tiles

  • nir: improve convert_yuv_to_rgb

  • freedreno/ir3: fix input ncomp for vertex shaders

Jordan Justen (22):

  • iris: Set num_uniforms in bytes

  • iris/compute: Set mask bits on PIPELINE_SELECT

  • iris: Add IRIS_DIRTY_CONSTANTS_CS

  • iris: Add iris_restore_compute_saved_bos

  • iris/compute: Add MEDIA_STATE_FLUSH following WALKER

  • iris/compute: Flush compute batches

  • iris/compute: Get group counts from grid->grid

  • iris/program: Don’t try to push ubo ranges for compute

  • iris/compute: Wait on compute batch when mapping

  • iris/compute: Provide binding table entry for gl_NumWorkGroups

  • iris/compute: Flush compute batch on memory-barriers

  • iris/compute: Push subgroup-id

  • iris/compute: Support indirect compute dispatch

  • iris: Emit default L3 config for the render pipeline

  • genxml/gen_bits_header.py: Use regex to strip no alphanum chars

  • genxml: Remove extra space in gen4/45/5 field name

  • iris: Add gitlab-ci build testing

  • iris: Always use in-tree i915_drm.h

  • nir: Add int64/doubles options into nir_shader_compiler_options

  • intel/compiler: Move int64/doubles lowering options

  • scons: Generate float64_glsl.h for glsl_to_nir fp64 lowering

  • intel/genxml: Support base-16 in value & start fields in gen_sort_tags.py

Jose Maria Casanova Crespo (4):

  • iris: Enable ARB_shader_draw_parameters support

  • glsl: fix typos in comments “transfor” -> “transform”

  • glsl: TCS outputs can not be transform feedback candidates on GLES

  • iris: setup EdgeFlag Vertex Element when needed.

José Fonseca (1):

  • scons: Workaround failures with MSVC when using SCons 3.0.[2-4].

Juan A. Suarez Romero (22):

  • anv/cmd_buffer: check for NULL framebuffer

  • nir: move ALU instruction before the jump instruction

  • nir: remove jump from two merging jump-ending blocks

  • genxml: add missing field values for 3DSTATE_SF

  • anv: advertise 8 subpixel precision bits

  • nir/spirv: return after emitting a branch in block

  • anv: destroy descriptor sets when pool gets reset

  • nir: deref only for OpTypePointer

  • anv: advertise 8 subtexel/mipmap precision bits

  • nir/xfb: do not use bare interface type

  • meson: Add dependency on genxml to anvil genfiles

  • Revert “intel/compiler: split is_partial_write() into two variants”

  • spirv: add missing SPV_EXT_descriptor_indexing capabilities

  • radv: enable descriptor indexing capabilities

  • anv: enable descriptor indexing capabilities

  • Update version to 19.1.0-rc1

  • Update version to 19.1.0-rc2

  • cherry-ignore: radeonsi: update buffer descriptors in all contexts after buffer invalidation

  • Update version to 19.1.0-rc3

  • Update version to 19.1.0-rc4

  • Update version to 19.1.0-rc5

  • Update version to 19.1.0

Julien Isorce (5):

  • gallium: add resource_get_info to pipe_screen

  • radeonsi: implement resource_get_info

  • st/va: properly set stride and offset in vlVaDeriveImage

  • r600: implement resource_get_info

  • st/va: check resource_get_info nullity in vlVaDeriveImage

Józef Kucia (3):

  • mesa: Fix GL_NUM_DEVICE_UUIDS_EXT

  • radv: Fix driverUUID

  • radv: clear vertex bindings while resetting command buffer

Karol Herbst (82):

  • nvc0/ir: replace cvt instructions with add to improve shader performance

  • gk104/ir: Use the new rcp/rsq in library

  • gm107/ir: add fp64 rcp

  • gm107/ir: add fp64 rsq

  • gallium: add PIPE_CAP_MAX_VARYINGS

  • st/mesa: require RGBA2, RGB4, and RGBA4 to be renderable

  • glsl_type: initialize offset and location to -1 for glsl_struct_field

  • nir/opt_if: don’t mark progress if nothing changes

  • clover: update ICD table to support everything up to 2.2

  • nir: replace magic numbers with M_PI

  • nir/spirv: improve parsing of the memory model

  • nir: add support for address bit sized system values

  • nir/vtn: add support for SpvBuiltInGlobalLinearId

  • nir/spirv: initial handling of OpenCL.std extension opcodes

  • prog_to_nir: fix write from vps to FOG

  • nvc0: print the shader type when dumping headers

  • nv50/ir: move common converter code in base class

  • nv50/ir: add lowering helper

  • nouveau: add support for nir

  • nouveau: fix nir and TGSI shader cache collision

  • nv50/ir/nir: run some passes to make the conversion easier

  • nv50/ir/nir: track defs and provide easy access functions

  • nv50/ir/nir: add nir type helper functions

  • nv50/ir/nir: run assignSlots

  • nv50/ir/nir: add loadFrom and storeTo helpler

  • nv50/ir/nir: parse NIR shader info

  • nv50/ir/nir: implement nir_load_const_instr

  • nv50/ir/nir: add skeleton for nir_intrinsic_instr

  • nv50/ir/nir: implement nir_alu_instr handling

  • nv50/ir/nir: implement nir_intrinsic_load_uniform

  • nv50/ir/nir: implement nir_intrinsic_store_(per_vertex_)output

  • nv50/ir/nir: implement load_(interpolated_)input/output

  • nv50/ir/nir: implement intrinsic_discard(_if)

  • nv50/ir/nir: implement loading system values

  • nv50/ir/nir: implement nir_ssa_undef_instr

  • nv50/ir/nir: implement nir_instr_type_tex

  • nv50/ir/nir: add skeleton getOperation for intrinsics

  • nv50/ir/nir: implement vote and ballot

  • nv50/ir/nir: implement variable indexing

  • nv50/ir/nir: implement geometry shader nir_intrinsics

  • nv50/ir/nir: implement nir_intrinsic_load_ubo

  • nv50/ir/nir: implement ssbo intrinsics

  • nv50/ir/nir: implement images

  • nv50/ir/nir: add memory barriers

  • nv50/ir/nir: implement load_per_vertex_output

  • nv50/ir/nir: implement intrinsic shader_clock

  • nv50/ir/nir: handle user clip planes for each emitted vertex

  • nv50ir/nir: move immediates before use

  • glsl: add packed for struct types

  • glsl: add cl_size and cl_alignment

  • nir/lower_locals_to_regs: cast array index to 32 bit

  • nir/spirv: handle kernel function parameters

  • nir/spirv: support physical pointers

  • nir: add support for gather offsets

  • nv50/ir/nir: support gather offsets

  • nir/lower_tex: Add support for tg4 offsets lowering

  • nir/print: fix printing the image_array intrinsic index

  • nir/validate: validate that tex deref sources are actually derefs

  • v3d: prefer using nir_src_comp_as_int over nir_src_as_const_value

  • panfrost/midgard: use nir_src_is_const and nir_src_as_uint

  • glsl/standalone: add GLES3.1 and GLES3.2 compatibility

  • nir: move brw_nir_rewrite_image_intrinsic into common code

  • glsl_to_nir: handle bindless textures

  • glsl/nir: fetch the type for images from the deref instruction

  • glsl/nir: add support for lowering bindless images_derefs

  • nv50/ir/nir: handle bindless texture

  • nv50/ir/nir: add support for bindless images

  • nvc0/nir: enable bindless texture

  • lima: add bool parameter to type_size function

  • amd/nir: some cleanups

  • radv: use nir constant helpers

  • intel/nir: use nir_src_is_const and nir_src_as_uint

  • freedreno/ir3: use nir_src_as_uint in a few places

  • lima: use nir_src_as_float

  • nir/builder: Move nir_imm_vec2 from blorp into the builder

  • nir/loop_analyze: use nir_const_value.b for boolean results, not u32

  • spirv: reduce array size in vtn_handle_constant

  • nir: make nir_const_value scalar

  • vtn: handle bitcast with pointer src/dest

  • nir: Add a nir_builder_alu variant which takes an array of components

  • nir: Add nir_op_vec helper

  • spirv/cl: support vload/vstore

Kasireddy, Vivek (3):

  • nir/lower_tex: Add support for XYUV lowering

  • dri: Add XYUV8888 format

  • i965: Add support for sampling from XYUV images

Kenneth Graunke (872):

  • st/mesa: Set pipe_image_view::shader_access in PBO readpixels.

  • st/nir: Move varying setup code to a helper function.

  • st/nir: Make new helpers for constructing built-in NIR shaders.

  • st/mesa: Add a NIR version of the drawpixels/bitmap VS copy shader.

  • st/mesa: Add NIR versions of the drawpixels Z/stencil fragment shaders.

  • st/mesa: Add NIR versions of the clear shaders.

  • st/mesa: Add a NIR version of the OES_draw_texture built-in shaders.

  • st/mesa: Add NIR versions of the PBO upload/download shaders.

  • program: Use u_bit_scan64 in prog_to_nir.

  • program: Extend prog_to_nir handle system values.

  • nir: Record info->fs.pixel_center_integer in lower_system_values

  • compiler: Mark clip/cull distance arrays as compact before lowering.

  • nir: Bail on clip/cull distance lowering if GLSL IR already did it.

  • nir: Avoid clip/cull distance lowering multiple times.

  • nir: Avoid splitting compact arrays into per-element variables.

  • st/nir: Call nir_lower_clip_cull_distance_arrays().

  • gallium: Add a PIPE_CAP_NIR_COMPACT_ARRAYS capability bit.

  • nouveau: Silence unhandled cap warnings

  • st/mesa: Limit GL_MAX_[NATIVE_]PROGRAM_PARAMETERS_ARB to 2048

  • glsl: Allow gl_nir_lower_samplers*() without a gl_shader_program

  • glsl: Don’t look at sampler uniform storage for internal vars

  • i965: Call nir_lower_samplers for ARB programs.

  • st/nir: Pull sampler lowering into a helper function.

  • st/nir: Lower sampler derefs for builtin shaders.

  • st/nir: Use sampler derefs in built-in shaders.

  • program: Make prog_to_nir create texture/sampler derefs.

  • nir: Use sampler derefs in drawpixels and bitmap lowering.

  • nir: Gather texture bitmasks in gl_nir_lower_samplers_as_deref.

  • i965: Drop unnecessary ‘and’ with prog->SamplerUnits

  • i965: Use info->textures_used instead of prog->SamplersUsed.

  • mesa: Advertise EXT_float_blend in ES 3.0+ contexts.

  • anv: Put MOCS in the correct location

  • spirv: Eliminate dead input/output variables after translation.

  • nir: Don’t reassociate add/mul chains containing only constants

  • compiler: Make is_64bit(GL_*) helper more broadly available

  • mesa: Align doubles to a 64-bit starting boundary, even if packing.

  • radeonsi: Go back to using llvm.pow intrinsic for nir_op_fpow

  • st/mesa: Copy VP TGSI tokens if they exist, even for NIR shaders.

  • nir: Don’t forget if-uses in new nir_opt_dead_cf liveness check

  • iris: Initial commit of a new ‘iris’ driver for Intel Gen8+ GPUs.

  • iris: viewport state, sort of

  • iris: port over batchbuffer updates

  • iris: initial render state upload

  • iris: packing with valgrind.

  • iris: merge pack

  • iris: initial gpu state, merges

  • iris: RASTER + SF + some CLIP, fix DIRTY vs. NEW

  • iris: scissors

  • iris: SF_CLIP_VIEWPORT

  • iris: Surfaces!

  • iris: sampler views

  • iris: stipples and vertex elements

  • iris: framebuffers

  • iris: don’t segfault on !old_cso

  • iris: fix SF_CL length

  • iris: a bit of depth

  • iris: some draw info, vbs, sample mask

  • iris: fix crash - CSO binding can be NULL (when destroying context)

  • iris: COLOR_CALC_STATE

  • iris: sampler states

  • iris: emit 3DSTATE_SAMPLER_STATE_POINTERS

  • iris: basic push constant alloc

  • iris: some program code

  • iris: linear resources

  • iris: maps

  • iris: shader debug log

  • iris: drop unused field

  • iris: make an ice->render_batch field

  • iris: disable execbuf for now

  • iris: delete iris_pipe.c, shuffle code around

  • iris: init the batch!

  • iris: fix/rework line stipple

  • iris: actually save VBs

  • iris: msaa sample count packing problems

  • iris: fix prim type

  • iris: fix bogus index buffer reference

  • iris: draw->restart_index is uninitialized if PR is not enabled

  • iris: parse INTEL_DEBUG

  • iris: reworks, FS compile pieces

  • iris: import program cache code

  • iris: do the FS…asserts because we don’t lower uniforms yet

  • iris: lower io

  • iris: make iris_batch target a particular ring

  • iris: kill iris_new_batch

  • iris: move MAX defines to iris_batch.h

  • iris: bit of SBA code

  • iris: flag SBA updates when instruction BO changes

  • iris: try and have an iris address

  • iris: so, sba then.

  • iris: reference VB BOs

  • iris: VB addresses

  • iris: DEBUG=bat

  • iris: VB fixes

  • iris: actually APPEND commands, not stomp over the top and never incr

  • iris: actually flush the commands

  • iris: actually advance forward when emitting commands

  • iris: initialize dirty bits to ~0ull

  • iris: hack to stop crashing on samplers for now

  • iris: fix indentation

  • iris: fix assert

  • iris: fix VBs

  • iris: vertex packet fixes

  • iris: fix VF instancing length so we don’t get garbage in batch

  • iris: 3DPRIMITIVE fields

  • iris: bind_state -> compute state

  • iris: scissor slots

  • iris: some shader bits

  • iris: promote iris_program_cache_item to iris_compiled_shader

  • iris: actually save derived state

  • iris: emit shader packets

  • iris: convert IRIS_DIRTY_* to #defines

  • iris: don’t forget about TE

  • iris: reorganize commands to match brw

  • iris: initial gpu state

  • iris: WM.

  • iris: index buffer BO

  • iris: more comes from bits filled in

  • iris: drop const from prog data parameters

  • iris: softpin some things

  • iris: use vtbl to avoid multiple symbols, fix state base address

  • iris: fix SBA

  • iris: move key pop to state module

  • iris: bits of WM key

  • iris: shuffle comments

  • iris: no NEW_SBA

  • iris: rewrite program cache to use u_upload_mgr

  • iris: actually destroy the cache

  • iris: actually softpin at an address

  • iris: actually set KSP offsets

  • iris: URB configs.

  • iris: dummy constants

  • iris: blend state

  • iris: alpha testing in PSB

  • iris: basic SBE code

  • iris: warning fixes

  • iris: fix silly unused batch with addr macro

  • iris: render targets!

  • iris: don’t do samplers for disabled stages

  • iris: smaller blend state

  • iris: actually pin the instruction cache buffers

  • iris: compctrl

  • iris: more sketchy SBE

  • iris: fix dmabuf retval comparisons

  • iris: more SF CL VPs

  • iris: catastrophic state pointer mistake

  • iris: fix extents

  • iris: write DISABLES are not write ENABLES…whoops

  • iris: sample mask…not 0.

  • iris: uniform bits…badly

  • iris: warn if execbuf fails

  • iris: NOOP pad batches correctly

  • iris: decode batches if they fail to submit

  • iris: enable a few more formats

  • iris: set strides on transfers

  • iris: stop adding 9 to our varyings

  • iris: bufmgr updates.

  • iris: some thinking about binding tables

  • iris: Soft-pin the universe

  • iris: fix icache memzone

  • iris: dump gtt offset in dump_validation_list

  • iris: Also set SUPPORTS_48B? Not sure if necessary.

  • iris: more uploaders

  • iris: rewrite to use memzones and not relocs

  • iris: set EXEC_OBJECT_WRITE

  • iris: include p_defines.h in iris_bufmgr.h

  • iris: binders

  • iris: hook up batch decoder

  • iris: binder fixes

  • iris: decoder fixes

  • iris: update vb BO handling now that we have softpin

  • iris: validation dumping improvements

  • iris: canonicalize addresses.

  • iris: delete more trash

  • iris: allocate SURFACE_STATEs up front and stop streaming them

  • iris: same treatment for sampler views

  • iris: assemble SAMPLER_STATE table at bind time

  • iris: fix a scissor bug

  • iris: SBA once at context creation, not per batch

  • iris: TES stash

  • iris: isv freeing fixes

  • iris: set sampler views

  • iris: decoder fixes

  • iris: better BT asserts

  • iris: increase allocator alignment

  • iris: fix index

  • iris: port bug fix from i965

  • iris: fixes from i965

  • iris: fixes

  • iris: crazy pipe control code

  • iris: bo reuse

  • iris: vma fixes - don’t free binder address

  • iris: vma - fix assert

  • iris: better SBE

  • iris: fix texturing!

  • iris: Move get_command_space to iris_batch.c

  • iris: Defines for base addresses rather than numbers everywhere

  • iris: pull in newer comments

  • iris: copy over i965’s cache tracking

  • iris: move bo_offset_from_sba

  • iris: bits of blorp code

  • iris: more blitting code to make readpixels work

  • iris: drop bogus binder free

  • iris: fix sampler view crashes

  • iris: more blorp

  • iris: fix blorp prog data crashes

  • iris: add INTEL_DEBUG=reemit

  • iris: drop the 48b printout, we never use anything else

  • iris: hacky flushing for now

  • iris: linear staging buffers - fast CPU access…

  • iris: make blorp pin the binder

  • iris: blorp URB

  • iris: no more drawing rectangle in blorp

  • iris: assert surf init

  • iris: some depth stuff :(

  • iris: bump GL version to 4.2

  • iris: uniforms for VS

  • iris: proper length for VE packet?

  • iris: proper # of uniforms

  • iris: properly reject formats, fixes RGB32 rendering with texture float

  • iris: blorp bug fixes

  • iris: delete growing code and just die for now

  • iris: just turn batch reset_and_clear_caches into reset

  • iris: chaining not growing

  • iris: caps

  • iris: fix batch chaining…

  • iris: fix decoding and undo testing code

  • iris: Lower the max number of decoded VBO lines

  • iris: fix whitespace

  • iris: fix 3DSTATE_VERTEX_ELEMENTS length

  • iris: more depth stuffs…

  • iris: fix VF INSTANCING length

  • iris: util_copy_framebuffer_state (ported from Rob’s v3d patches)

  • iris: transfers

  • iris: flush always

  • iris: maybe slightly less boats uniforms

  • iris: fix constant packet length to match i965

  • iris: better ubo handling

  • iris: completely rewrite binder

  • iris: have more than one const_offset

  • iris: make surface states for cbufs

  • iris: fill out pull constant buffers

  • iris: fix pull bufs that aren’t the first user upload

  • iris: use u_transfer helpers for now

  • iris: better VFI

  • iris: fix release builds

  • iris: drop assert for now

  • iris: disable __gen_validate_value in release mode

  • iris: allow mapped buffers during execution (faster)

  • iris: comment about reemitting and flushing

  • iris: state cleaning

  • iris: untested index buffer upload

  • iris: delete some pointless STATIC_ASSERTS

  • iris: untested SAMPLER_STATE pin BO fix

  • iris: put back the always flush - fixes some things :(

  • iris: save pointers to streamed state resources

  • iris: fix the validation list on new batches

  • iris: flag DIRTY_WM properly

  • iris: bindings dirty tracking

  • iris: some dirty fixes

  • iris: clear dirty

  • iris: plug leaks

  • iris: more leak fixes

  • iris: pc fixes

  • iris: remove 4 bytes of padding in iris_compiled_shader

  • iris: rzalloc iris_compiled_shader so memcmp works even if padding creeps in

  • iris: don’t leak sampler state table resources

  • iris: don’t leak keyboxes when searching for an existing program

  • iris: indentation

  • iris: use pipe resources not direct BOs

  • iris: clean up some warnings so I can see through the noise

  • iris: print binder utilization in INTEL_DEBUG=submit

  • iris: redo VB CSO a bit

  • iris: print refcounts in INTEL_DEBUG=submit

  • iris: support signed vertex buffer offsets

  • iris: fix major refcounting bug with resources

  • iris: fix caps so tests run again

  • iris: avoid crashing on unbound constant resources

  • iris: emit 3DSTATE_SBE_SWIZ

  • iris: max VP index

  • iris: fix viewport counts and settings

  • iris: fix num viewports to be based on programs

  • iris: fix VP iteration

  • iris: scissor count fixes

  • iris: actually init num_viewports

  • iris: print second batch size separately

  • iris: don’t always flush

  • iris: Handle batch submission failure “better”

  • iris: bad inherited comments

  • iris: colorize batchbuffer failures to make them stand out

  • iris: iris - fix QWord aligned endings after batch chaining rework

  • iris: tidy comments about mirroring modes

  • iris: Disable unsupported mirror clamp modes

  • iris: fix fragcoord ytransform

  • iris: better boxing on maps

  • iris: clears

  • iris: rework DEBUG_REEMIT

  • iris: shader dirty bits

  • iris: clear fix

  • iris: fall back to u_generate_mipmap

  • iris: implement copy image

  • iris: lightmodel flat

  • iris: maybe-flush before blorp operations

  • iris: fix provoking vertex ordering

  • iris: larger polygon offset

  • iris: TES uniform fixes

  • iris: geometry shader support

  • iris: don’t emit garbage 3DSTATE_VERTEX_BUFFERS when there aren’t any

  • iris: fix 3DSTATE_VERTEX_ELEMENTS / VF_INSTANCING for 0 elements

  • iris: fix GS dispatch mode

  • iris: depth clears

  • iris: null surface for unbound textures

  • iris: state ref tuple

  • iris: don’t include binder in surface VMA range

  • iris: border color memory zone :(

  • iris: implement border color, fix other sampler nonsense

  • iris: dead pointer

  • iris: just malloc one iris_genx_state instead of a bunch of oddball pieces

  • iris: SBE change stash

  • iris: fix zoffset asserts with 2DArray/Cube

  • iris: rename map->stride

  • iris: actually set cube bit properly

  • iris: keep DISCARD_RANGE

  • iris: actually handle array layers in blits

  • iris: comment out l/a/i/la

  • iris: fix clip flagging on fb changes

  • iris: fix depth bounds clamp enables

  • iris: don’t crash on shader perf logs

  • iris: slab allocate transfers

  • iris: rearrange iris_resource.h

  • iris: Implement 3DSTATE_SO_DECL_LIST

  • iris: SO buffers

  • iris: streamout

  • iris: set even if no outputs

  • iris: bother setting program_string_id…

  • iris: fix SO_DECL_LIST

  • iris: actually pin the buffers

  • iris: fix sample mask for MSAA-off

  • iris: disable 6x MSAA support

  • iris: multislice transfer maps

  • iris: fix CC_VIEWPORT

  • iris: draw indirect support?

  • iris: save query type

  • iris: bits of multisample program key

  • iris: s/hwcso/state/g

  • iris: bind state helper function

  • iris: NOS mechanics

  • iris: record FS NOS

  • iris: fix crash

  • iris: fix sampler views of TBOs

  • iris: fix texture buffer stride

  • iris: TES program key inputs

  • iris: compile a TCS…don’t bother with passthrough yet

  • iris: don’t emit SO_BUFFERS and SO_DECL_LIST unless streamout is enabled

  • iris: vertex ID, instance ID

  • iris: fix SGVS when there are no valid vertex elements

  • iris: fill out MAX_PATCH_VERTICES

  • iris: assert about passthrough shaders to make this easier to detect

  • iris: fix EmitNoIndirect

  • iris: fix Z24

  • iris: reemit blend state for alpha test function changes

  • iris: point sprite enables

  • iris: hack around samples confusion

  • iris: fix blorp filters

  • iris: expose more things that we already support

  • iris: fix msaa flipping filters

  • iris: export get_shader_info

  • iris: implement set_shader_buffers

  • iris: emit binding table for atomic counters and SSBOs

  • iris: shorten loop

  • iris: unbind compiled shaders if none are present

  • iris: fix TBO alignment to match 965

  • iris: enable SSBOs

  • iris: fix SSBO indexing

  • iris: fix for disabling ssbos

  • iris: update bindings when changing programs

  • iris: drop unused bo parameter

  • iris: implement texture/memory barriers

  • iris: Don’t reserve new binding table section unless things are dirty

  • iris: update a todo comment

  • iris: BIG OL’ HACK for UBO updates

  • iris: enable texture gather

  • iris: Avoid croaking when trying to create FBO surfaces with bad formats

  • iris: fix GS output component limit

  • iris: drop pipe_shader_state

  • iris: fix sample mask

  • iris: cube arrays are cubes too

  • iris: we don’t support textureGatherOffsets, need it lowered

  • iris: add minor comments

  • iris: comment everything

  • iris: sync bugfixes from brw_bufmgr

  • iris: remember to set bo->userptr

  • iris: rename ring to engine

  • iris: simplify batch len qword alignment

  • iris: get angry about execbuf failures

  • iris: fill out more caps

  • iris: depth or stencil fixes

  • iris: clear stencil

  • iris: actually emit stencil packets

  • iris: allow S8 as a stencil format

  • iris: WTF transfers

  • iris: use u_transfer_helper for depth stencil packing/unpacking

  • iris: drop stencil handling now that u_transfer_helper does it

  • iris: refcounting, who needs it?

  • iris: actually do stencil blits

  • iris: say no to more formats

  • iris: deal with Marek’s new MSAA caps

  • iris: we can do multisample Z resolves

  • iris: Convert RGBX to RGBA for rendering.

  • iris: disallow RGB32 formats too

  • iris: Fix tiled memcpy for cubes…and for array slices

  • iris: blorp blit multiple slices

  • iris: assert depth is 1 in resource_copy_region

  • iris: call maybe_flush for each blorp operation

  • iris: implement ARB_clear_texture

  • iris: last VUE map NOS, handle > 16 FS inputs

  • iris: drop dead assignments

  • iris: drop pwrite

  • iris: port non-bucket alignment bugfix

  • iris: don’t emit SBE all the time

  • iris: rename pipe to base

  • iris: Drop bogus sampler state saving

  • iris: move iris_shader_state from ice->shaders.state to ice->state.shaders

  • iris: Move things to iris_shader_state

  • iris: Move iris_sampler_view declaration to iris_resource.h

  • iris: track depth/stencil writes enabled

  • iris: use consistent copyright formatting

  • iris: Move cache tracking to iris_resolve.c

  • iris: proper cache tracking

  • iris: precompute hashes for cache tracking

  • iris: Reduce binder alignment from 64 to 32

  • iris: reenable R32G32B32 texture buffers

  • iris: z_res -> s_res

  • iris: implement get_sample_position

  • iris: fix line-aa-width

  • iris: try to hack around binder issue

  • iris: fix sampler state setting

  • iris: big old hack for tex-miplevel-selection

  • iris: use linear for 1D textures

  • iris: handle level/layer in direct maps

  • iris: fix crash when binding optional shader for the first time

  • iris: Skip primitive ID overrides if the shader wrote a custom value

  • iris: fix blend state memcpy

  • iris: new caps

  • iris: use Eric’s new caps helper

  • iris: Allow inlining of require/get_command_space

  • iris: skip over whole function if dirty == 0

  • iris: don’t unconditionally emit 3DSTATE_VF / 3DSTATE_VF_TOPOLOGY

  • iris: fix constant buffer 0 to be absolute

  • iris: set EXEC_OBJECT_CAPTURE on all driver internal buffers

  • iris: fix null FB and unbound tex surface state addresses

  • iris: Support multiple binder BOs, update Surface State Base Address

  • iris: fix SO offset writes for multiple streams

  • iris: update comments for multibinder

  • iris: move binder pinning outside the dirty == 0 check

  • iris: re-pin binding table contents if we didn’t re-emit them

  • iris: enable ARB_enhanced_layouts

  • iris: refactor LRIs in context setup

  • iris: initialize “don’t suck” bits, as Ben likes to call them

  • iris: totally untested icelake support

  • iris: refactor program CSO stuff

  • iris: silence const warning

  • iris: fix context restore of 3DSTATE_CONSTANT ranges

  • iris: properly re-pin stencil buffers

  • iris: delete bogus comment

  • iris: inherit the index buffer properly

  • iris: use 0 for TCS passthrough program string ID

  • iris: rw_bo for pipe controls

  • iris: LRM/SRM/SDI hooks

  • iris: initial query code

  • iris: gen10+ workarounds and break fix

  • iris: results write

  • iris: flush batch when asking for result via QBO

  • iris: fix random failures via CS stall…but why?

  • iris: gpr0 to bool

  • iris: play chicken with timer queries for now

  • iris: pipeline stats

  • iris: primitives generated query support

  • iris: drop explicit pinning

  • iris: timestamps

  • iris: …and SO prims emitted queries

  • iris: glGet timestamps, more correct timestamps

  • iris: Need to | 1 when asking for timestamps

  • iris: 36-bit overflow fixes

  • iris: early return properly

  • iris: better query file comment

  • iris: magic number 36 -> #define

  • iris: Enable ARB_shader_vote

  • iris: just mark snapshots_landed from the CPU

  • iris: drop a bunch of pipe_sampler_state stuff we don’t need

  • iris: vma_free bo->size, not bo_size

  • iris: don’t mark contains_draw = false when chaining batches

  • iris: fix Z32_S8 depth sampling

  • iris: stencil texturing

  • iris: force persample interp cap

  • iris: pipe to scs -> iris_pipe.h

  • iris: inline stage_from_pipe to avoid unused warnings

  • iris: add gen11 to genX_call

  • iris: Allow PIPE_CONTROL with Stall at Scoreboard and RT flush

  • iris: rework format translation apis

  • iris: Use R/RG instead of I/L/A when sampling

  • iris: enable I/L formats

  • iris: X32_S8X24 :/

  • iris: set the binding table size

  • iris: lower storage image derefs

  • iris: implement set_shader_images hook

  • iris: bother with BTIs

  • iris: set image access correctly

  • iris: actually set image access

  • iris: null for non-existent cbufs

  • iris: move images next to textures in binding table

  • iris: advertise GL_ARB_shader_texture_image_samples

  • iris: Enable fb fetch

  • iris: initial compute caps

  • iris: yes

  • iris: drop dead format //’s

  • iris: drop XXX’s about swizzling

  • iris: little bits of compute basics

  • iris: drop XXX that Jordan handled

  • iris: drop unnecessary #ifdefs

  • iris: leave XXX about unnecessary binding table uploads

  • iris: bail if SLM is needed

  • iris: fix whitespace

  • iris: XXX for compute state tracking :/

  • iris: rewrite grid surface handling

  • iris: better dirty checking

  • iris: don’t let render/compute contexts stomp each other’s dirty bits

  • iris: hack to avoid memorybarriers out the wazoo

  • iris: do PIPELINE_SELECT for render engine, add flushes, GLK hacks

  • iris: fix SBA flushing by refactoring code

  • iris: try and avoid pointless compute submissions

  • iris: fix UBOs with bindings that have an offset

  • iris: flag CC_VIEWPORT when changing num viewports

  • iris: fix SF_CLIP_VIEWPORT array indexing with multiple VPs

  • iris: Fix texture buffer / image buffer sizes.

  • iris: Clamp UBO and SSBO access to the actual BO size, for safety

  • iris: Move snapshots_landed to the front.

  • iris: Fix off by one in scissoring, empty scissors, default scissors

  • iris: Fall back to 1x1x1 null surface if no framebuffer supplied

  • iris: SO_DECL_LIST fix

  • iris: Fix refcounting of grid surface

  • iris: delete dead code

  • iris: fix overhead regression from “don’t stomp each other’s dirty bits”

  • iris: allow binding a null vertex buffer

  • iris: Flag constants dirty on program changes

  • iris: Disable a PIPE_CONTROL workaround on Icelake

  • iris: Enable ARB_shader_stencil_export

  • iris: Enable A8/A16_UNORM in an inefficient manner

  • iris: Drop B5G5R5X1 support

  • iris: Use at least 1x1 size for null FB surface state.

  • iris: Cross-link iris_batches so they can potentially flush each other

  • iris: cross batch flushing

  • iris: Don’t leak the compute batch

  • iris: Actually create/destroy HW contexts

  • iris: Enable msaa_map transfer helpers

  • iris: tidy more warnings

  • iris: implement scratch space!

  • iris: Fix MSAA smooth points

  • iris: Fix TextureBarrier

  • iris: Fix multiple RTs with non-independent blending

  • iris: partial set_query_active_state

  • iris: Print the batch name when decoding

  • iris: Clone the NIR

  • iris: Defer cbuf0 upload to draw time

  • iris: drop unnecessary param[] setup from iris_setup_uniforms

  • iris: add param domain defines

  • iris: fill out params array with built-ins, like clip planes

  • iris: only bother with params if there are any…

  • iris: lower user clip planes

  • iris: hook up key stuff for clip plane lowering

  • iris: fix system value remapping

  • iris: dodge backend UCP lowering

  • iris: bypass params and do it ourselves

  • iris: actually upload clip planes.

  • iris: fix num clip plane consts

  • iris: fix more uniform setup

  • iris: drop iris_setup_push_uniform_range

  • iris: enable push constants if we have sysvals but no uniforms

  • iris: regather info so we get CLIP_DIST slots, not CLIP_VERTEX

  • iris: don’t support pull constants.

  • iris: don’t trip on param asserts

  • iris: drop param stuffs

  • iris: don’t forget to upload CS consts

  • iris: fix sysval only binding tables

  • iris: only clip lower if there’s something to clip against

  • iris: leave another TODO

  • iris: Fix SourceAlphaBlendFactor

  • iris: “Fix” transfer maps of buffers

  • iris: Fix independent alpha blending.

  • iris: more TODO

  • iris: scissored and mirrored blits

  • iris: more todo notes

  • iris: Fix TCS/TES slot unification

  • iris: properly pin stencil buffers

  • iris: Fix SLM

  • iris: Use iris_use_pinned_bo rather than add_exec_bo directly

  • iris: Combine iris_use_pinned_bo and add_exec_bo

  • iris: Avoid cross-batch synchronization on read/reads

  • iris: Avoid synchronizing due to the workaround BO

  • iris: replace vestiges of fence fds with newer exec_fence API

  • iris: Drop vestiges of throttling code

  • iris: Hang on to the last batch’s sync-point, so we can wait on it

  • iris: Add wait fences to properly sync between render/compute

  • iris: leave a TODO

  • iris: flush the compute batch too if border pool is redone

  • iris: put render batch first in fence code

  • iris: Put batches in an array

  • iris: PIPE_CONTROL workarounds for GPGPU mode

  • iris: RT flush for memorybarrier with texture bit

  • iris: update comment

  • iris: Enable ctx->Const.UseSTD430AsDefaultPacking

  • iris: Lie about indirects

  • iris: Fix buffer -> buffer copy_region

  • iris: Fix VIEWPORT/LAYER in stream output info

  • iris: Do the 48-bit vertex buffer address invalidation workaround

  • iris: drop long dead XXX comment

  • iris: Track a binding history for buffer resources

  • iris: add iris_flush_and_dirty_for_history

  • iris: Flush for history at various moments

  • iris: Re-pin even if nothing is dirty

  • iris: fix prototype warning

  • iris: export iris_upload_shader

  • iris: fix comment location

  • iris: Use wrappers for create_xs_state rather than a switch statement

  • iris: rework program cache interface

  • iris: Enable precompiles

  • iris: Use program’s num textures not the state tracker’s bound

  • iris: drop pull constant binding table entry

  • iris: add assertions about binding table starts

  • iris: add an extra BT assert from Chris Wilson

  • iris: actually flush for storage images

  • iris: fix some SO overflow query bugs and tidy the code a bit

  • iris: drop key_size_for_cache

  • iris: for BLORP, only use the predicate enable bit when USE_BIT

  • iris: check query first

  • iris: fix conditional compute, don’t stomp predicate for pipelined queries

  • iris: Rework tiling/modifiers handling

  • iris: Fix failed to compile TCS message

  • iris: Destroy transfer helper on screen teardown

  • iris: Destroy the border color pool

  • iris: Unref unbound_tex resource

  • iris: Fix IRIS_MEMZONE_COUNT to exclude the border color pool

  • iris: Destroy the bufmgr

  • iris: Stop leaking iris_uncompiled_shaders like mad

  • iris: move some non-buffer case code in a bit

  • iris: Don’t bother considering if the underlying surface is a cube

  • iris: fix alpha channel for RGB BC1 formats

  • iris: fix dma buf import strides

  • iris: CS stall for stream out -> VB

  • iris: make clipper statistics dynamic

  • iris: reject all clipping when we can’t use streamout render disabled

  • iris: omask can kill

  • iris: reemit SBE when sprite coord origin changes

  • iris: re-pin inherited streamout buffers

  • iris: Fix NOS mechanism

  • iris: fix overhead regression from flushing for storage images

  • iris: fix set_sampler_views to not unbind, be better about bounds

  • iris: Fix set_sampler_views with start > 0

  • iris: Replace num_textures etc with a bitmask we can scan

  • iris: Drop continues in resolve

  • iris: Fix clear dimensions

  • iris: Clamp viewport extents to the framebuffer dimensions

  • iris: Enable guardband clipping

  • iris: Fix primitive generated query active flag

  • iris: Always do rasterizer discard in clipper

  • iris: override alpha to one src1 blend factors

  • iris: handle PatchVerticesIn as a system value.

  • iris: rewrite set_vertex_buffer and VB handling

  • iris: Reorder LRR parameters to have dst first.

  • iris: Add _MI_ALU helpers that don’t paste

  • iris: Don’t bother packing 3DSTATE_SO_BUFFER at create time

  • iris: Move iris_stream_output_target def to iris_context.h

  • iris: only get space for one offset in stream output targets

  • iris: Implement DrawTransformFeedback()

  • iris: drop unnecessary genx->streamout field

  • iris: Fix for PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET

  • iris: Fix the prototype for iris_bo_alloc_tiled

  • iris: don’t print the pointer in INTEL_DEBUG=submit

  • iris: Use a surface state fill helper

  • iris: Make a alloc_surface_state helper

  • iris: whitespace fixes

  • iris: Track blend enables, save outbound for resolve code

  • iris: always pin the binder…in the compute context, too.

  • iris: delete finished comments

  • iris: pin and re-pin the scratch BO

  • iris: more dead comments

  • iris: only mark depth/stencil as writable if writes are actually enabled

  • iris: better MOCS

  • iris: Fix scratch space allocation on Icelake.

  • iris: Only resolve inputs for actual shader stages

  • iris: Add a more long term TODO about timebase scaling

  • iris: Fix compute scratch pinning

  • iris: Delete bogus comment about cube array counting.

  • iris: Fix framebuffer layer count

  • iris: Don’t enable push constants just because there are system values

  • iris: Don’t make duplicate system values

  • iris: Fill out brw_image_params for storage images on Broadwell

  • iris: Fix surface states for Gen8 lowered-to-untype images

  • iris: Leave a comment about why Broadwell images are broken

  • iris: Implement multi-slice copy_region

  • iris: Flush the render cache in flush_and_dirty_for_history

  • iris: Handle PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE somewhat

  • iris: Don’t check other batches for our batch BO

  • iris: Drop a dead comment

  • iris: Delete genx->bound_vertex_buffers

  • iris: Fix Broadwell WaDividePSInvocationCountBy4

  • iris: Use new PIPE_STAT_QUERY enums rather than hardcoded numbers.

  • iris: Switch to the new PIPELINE_STATISTICS_QUERY_SINGLE capability

  • iris: fail to create screen for older unsupported HW

  • iris: Allow sample mask of 0

  • iris: Don’t enable smooth points when point sprites are enabled

  • iris: Assert about blits with color masking

  • iris: Pay attention to blit masks

  • iris: CS stall on VF cache invalidate workarounds

  • iris: Fix SO issue with INTEL_DEBUG=reemit, set fewer bits

  • iris: Don’t whack SO dirty bits when finishing a BLORP op

  • iris: Fix memzone_for_address for the surface and binder zones

  • iris: Do binder address allocations per-context, not globally.

  • iris: Zero the compute predicate when changing the render condition

  • iris: Remap stream output indexes back to VARYING_SLOT_*.

  • iris: Enable PIPE_CAP_COMPACT_ARRAYS

  • iris: Drop comment about ISP_DIS

  • iris: Drop dead state_size hash table

  • iris: Unreference some more things on state module teardown

  • iris: minor tidying

  • iris: Fix bug in bound vertex buffer tracking

  • iris: Implement ALT mode for ARB_{vertex,fragment}_shader

  • iris: Add a timeout_nsec parameter, rename check_syncpt to wait_syncpt

  • iris: Fix accidental busy-looping in query waits

  • iris: Use READ_ONCE and WRITE_ONCE for snapshots_landed

  • iris: Make a iris_batch_reference_signal_syncpt helper function.

  • iris: Add PIPE_CAP_MAX_VARYINGS

  • iris: rework num textures to util_lastbit

  • iris: Stop chopping off the first nine characters of the renderer string

  • iris: Drop XXX about alpha testing

  • iris: Set 3DSTATE_WM::ForceThreadDispatchEnable

  • iris: Set HasWriteableRT correctly

  • iris: Drop XXX about checking for swizzling

  • iris: Move create and bind driver hooks to the end of iris_program.c

  • iris: Make an IRIS_MAX_MIPLEVELS define

  • iris: Simplify iris_get_depth_stencil_resources

  • iris: Add missing depth cache flushes

  • iris: Always emit at least one BLEND_STATE

  • iris: Add iris_resource fields for aux surfaces

  • iris: Fill out res->aux.possible_usages

  • iris: Fill out SURFACE_STATE entries for each possible aux usage

  • iris: create aux surface if needed

  • iris: Initial import of resolve code

  • iris: blorp using resolve hooks

  • iris: add some draw resolve hooks

  • iris: actually use the multiple surf states for aux modes

  • iris: try to fix copyimage vs copybuffers

  • iris: be sure to skip buffers in resolve code

  • iris: resolve before transfer maps

  • iris: pin the buffers

  • iris: store modifier info in res

  • iris: Make blit code use actual aux usages

  • iris: consider framebuffer parameter for aux usages

  • iris: Resolves for compute

  • iris: disable aux for external things

  • iris: some initial HiZ bits

  • iris: don’t use hiz for MSAA buffers

  • iris: Set program key fields for MCS

  • iris: make surface states for CCS_D too

  • iris: do flush for buffers still

  • iris: Allow disabling aux via INTEL_DEBUG options

  • iris: Fix aux usage in render resolve code

  • iris: Only resolve compute resources for compute shaders

  • iris: Enable auxiliary buffer support

  • iris: Enable -msse2 and -mstackrealign

  • Revert “iris: Enable auxiliary buffer support”

  • vulkan: Fix 32-bit build for the new overlay layer

  • mesa: Fix RGBBuffers for renderbuffers with sized internal formats

  • iris: Drop RGBX -> RGBA for storage image usages

  • iris: Properly allow rendering to RGBX formats.

  • i965: Implement threaded GL support.

  • tgsi_to_nir: use sampler variables and derefs

  • iris: Fix MOCS for blits and clears

  • isl: Add a swizzle parameter to isl_buffer_fill_state()

  • iris: Plumb through ISL_SWIZZLE_IDENTITY in buffer surface emitters

  • iris: Defer uploading sampler state tables until draw time

  • iris: Properly support alpha and luminance-alpha formats

  • iris: Drop PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY

  • iris: Spruce up “are we using this engine?” checks for flushing

  • iris: Export a copy_region helper that doesn’t flush

  • iris: Use copy_region and staging resources to avoid transfer stalls

  • Revert MR 369 (Fix extract_i8 and extract_u8 for 64-bit integers)

  • iris: Fix backface stencil write condition

  • iris: Rework default tessellation level uploads

  • iris: Fix TES gl_PatchVerticesIn handling.

  • iris: Move depth/stencil flushes so they actually do something

  • iris: Refactor depth/stencil buffer pinning into a helper.

  • iris: Fix write enable in pinning of depth/stencil resources

  • i965: Move some genX infrastructure to genX_boilerplate.h.

  • i965: Rename ISP_DIS to INDIRECT_STATE_POINTERS_DISABLE.

  • i965: Use genxml for emitting PIPE_CONTROL.

  • i965: Reimplement all the PIPE_CONTROL rules.

  • intel/fs: Fix opt_peephole_csel to not throw away saturates.

  • iris: Don’t mutate box in transfer map code

  • iris: Don’t flush the batch for unsynchronized mappings

  • iris: Slightly better bounds on buffer sizes

  • gallium: Add PIPE_BARRIER_UPDATE_BUFFER and UPDATE_TEXTURE bits.

  • nvc0: Skip new update barrier bits

  • nir: Record non-vector/scalar varyings as unmovable when compacting

  • iris: Fix util_vma_heap_init size for IRIS_MEMZONE_SHADER

  • iris: Skip input resolve handling if bindings haven’t changed

  • iris: Skip framebuffer resolve tracking if framebuffer isn’t dirty

  • iris: Skip resolves and flushes altogether if unnecessary

  • iris: Fix batch chaining map_next increment.

  • iris: Actually advertise some modifiers

  • st/nir: Free the GLSL IR after linking.

  • st/mesa: Fix blitting from GL_DEPTH_STENCIL to GL_STENCIL_INDEX

  • iris: Fix blits with S8_UINT destination

  • iris: Print the memzone name when allocating BOs with INTEL_DEBUG=buf

  • iris: Save/restore MI_PREDICATE_RESULT, not MI_PREDICATE_DATA.

  • iris: Silence unused variable warnings in release mode

  • gallium/util: Add const to u_range_intersect

  • iris: Actually pin the scratch BO.

  • glsl: Set location on structure-split sampler uniform variables

  • intel: Emit 3DSTATE_VF_STATISTICS dynamically

  • iris: Actually mark blorp_copy_buffer destinations as written.

  • iris: Preserve all PIPE_TRANSFER flags in xfer->usage

  • iris: Fix FLUSH_EXPLICIT handling with staging buffers.

  • iris: Make shader_perf_log print to stderr if INTEL_DEBUG=perf is set

  • i965: Move program key debugging to the compiler.

  • iris: Print the reason for shader recompiles.

  • iris: Move iris_debug_recompile calls before uploading.

  • iris: Change vendor and renderer strings

  • iris: Add texture cache flushing hacks for blit and resource_copy_region

  • iris: Be less aggressive at postdraw work skipping

  • iris: Add mechanism for iris-specific driconf options

  • iris: Enable the dual_color_blend_by_location driconf option.

  • iris: Track bound and writable SSBOs

  • Revert “glsl: Set location on structure-split sampler uniform variables”

  • i965: Ignore uniform storage for samplers or images, use binding info

  • i965: Tidy bogus indentation left by previous commit

  • iris: Mark constants dirty on transfer unmap even if no flushes occur

  • iris: Track bound constant buffers

  • iris: Rework UBOs and SSBOs to use pipe_shader_buffer

  • iris: Rework image views to store pipe_image_view.

  • iris: Make a gl_shader_stage -> pipe_shader_stage helper function

  • iris: Make memzone_for_address non-static

  • iris: Replace buffer backing storage and rebind to update addresses.

  • iris: Make a resource_is_busy() helper

  • iris: Track valid data range and infer unsynchronized mappings.

  • iris: Make some offset math helpers take a const isl_surf pointer

  • iris: Fix DrawTransformFeedback math when there’s a buffer offset

  • iris: Prefer staging blits when destination supports CCS_E.

  • iris: Actually put Mesa in GL_RENDERER string

  • iris: Split iris_flush_and_dirty_for_history into two helpers.

  • iris: Enable GL_AMD_depth_clamp_separate

  • iris: Advertise EXT_texture_sRGB_R8 support

  • iris: Some tidying for preemption support

  • iris: Silence unused function warning

  • iris: Fix zeroing of transform feedback offsets in strange cases.

  • glsl/list: Add an exec_list_is_singular() helper.

  • nir: Add a new nir_cf_list_is_empty_block() helper.

  • intel/fs: Don’t emit empty ELSE blocks.

  • iris: Set XY Clipping correctly.

  • iris: Only enable GL_AMD_depth_clamp_separate on Gen9+

  • iris: Fix imageBuffer and PBO download.

  • iris: Disable dual source blending when shader doesn’t handle it

  • iris: Resolve textures used by the program, not merely bound textures

  • iris: Fix 4GB memory zone heap sizes.

  • iris: leave the top 4Gb of the high heap VMA unused

  • iris: Force VMA alignment to be a multiple of the page size.

  • iris: Delete bucketing allocators

  • i965: Fix BRW_MEMZONE_LOW_4G heap size.

  • i965: Force VMA alignment to be a multiple of the page size.

  • i965: leave the top 4Gb of the high heap VMA unused

  • i965: Fix memory leaks in brw_upload_cs_work_groups_surface().

  • iris: Use full ways for L3 cache setup on Icelake.

  • egl/x11: calloc dri2_surf so it’s properly zeroed

Kevin Strasser (1):

  • egl/dri: Avoid out of bounds array access

Khaled Emara (1):

  • freedreno: PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT unreachable statement

Khem Raj (1):

  • winsys/svga/drm: Include sys/types.h

Kishore Kadiyala (1):

  • android: static link with libexpat with Android O+

Konstantin Kharlamov (1):

  • mapi: work around GCC LTO dropping assembly-defined functions

Kristian Høgsberg (49):

  • st/nir: Use src/ relative include path for autotools

  • freedreno/a6xx: Emit blitter dst with OUT_RELOCW

  • freedreno/a6xx: Use tiling for all resources

  • freedreno/a6xx: regen headers

  • freedreno/a6xx: Drop render condition check in blitter

  • freedreno: Log number of draw for sysmem passes

  • freedreno/a6xx: Use the right resource for separate stencil stride

  • freedreno/a6xx: Combine emit_blit and fd6_blit

  • freedreno: Consolidate u_blitter functions in freedreno_blitter.c

  • freedreno: Don’t tell the blitter what it can’t do

  • freedreno/a6xx: Move blit check so as to restore comment

  • freedreno/a6xx: Support some depth/stencil blits on blitter

  • freedreno/a6xx: Support y-inverted blits

  • freedreno/a6xx: Add format argument to fd6_tex_swiz()

  • freedreno/a6xx: Fall back to masked RGBA blits for depth/stencil

  • freedreno/a6xx: Clean up mixed use of swap and swizzle for texture state

  • freedreno/a6xx: Update headers

  • freedreno/a6xx: Front facing needs UNK3 bit

  • freedreno/a6xx: Fix point coord

  • .mailmap: Add a few more alises for myself

  • freedreno: Update headers

  • freedreno/a6xx: Copy stencil as R8_UINT

  • freedreno/a6xx: Support MSAA resolve blits on blitter

  • freedreno/a6xx: Only output MRT control for used framebuffers

  • freedreno/a6xx: Don’t zero SO buffer addresses

  • freedreno: Fix a couple of warnings

  • turnip: Only get bo offset when we need to mmap

  • freedreno: Use c_vis_args and no_override_init_args

  • freedreno/a6xx: Remove extra parens

  • freedreno/ir3: Track whether shader needs derivatives

  • freedreno/ir3: Fix operand order for DSX/DSY

  • st/glsl_to_nir: Calculate num_uniforms from NumParameterValues

  • freedreno/ir3: Enable PIPE_CAP_PACKED_UNIFORMS

  • freedreno/ir3: Push UBOs to constant file

  • freedreno/ir3: Don’t access beyond available regs

  • freedreno/ir3: Add workaround for VS samgq

  • freedreno/ir3: Mark ir3_context_error() as NORETURN

  • freedreno/a2xx: Fix redundant if statement

  • freedreno: Use enum values from matching enum

  • freedreno/a6xx: Add helper for incrementing regid

  • freedreno: Fix format string warning

  • .gitignore: Remove autotool artifacts

  • tgsi: Mark tgsi_strings_check() unused

  • glsl_to_nir: Initialize debug variable

  • nir_opcodes.py: Saturate to expression that doesn’t overflow

  • ralloc: Fully qualify non-virtual destructor call

  • egl/dri2: Mark potentially unused ‘display’ variable with MAYBE_UNUSED

  • gallium/auxiliary/vl: Fix a couple of warnings

  • freedreno/drm: Quiet pointer to u64 conversion warning

Leo Liu (6):

  • st/va: fix the incorrect max profiles report

  • st/va/vp9: set max reference as default of VP9 reference number

  • vl/dri3: remove the wait before getting back buffer

  • radeon/vcn: add H.264 constrained baseline support

  • radeon/vcn/vp9: search the render target from the whole list

  • winsys/amdgpu: add VCN JPEG to no user fence group

Lepton Wu (2):

  • virgl: close drm fd when destroying virgl screen.

  • virgl: Set bind when creating temp resource.

Lionel Landwerlin (127):

  • anv: assert that color attachment are valid

  • radv: assert that colorAttachment is valid for CmdClearAttachment

  • i965: scale factor changes should trigger recompile

  • vulkan: Update the XML and headers to 1.1.101

  • anv: implement VK_EXT_depth_clip_enable

  • build: move imgui out of src/intel/tools to be reused

  • imgui: bump copy

  • imgui: make sure our copy of imgui doesn’t clash with others in the same process

  • vulkan: add an overlay layer

  • intel: fix urb size for CFL GT1

  • anv: add support for INTEL_DEBUG=bat

  • Revert “anv: add support for INTEL_DEBUG=bat”

  • intel/aub_viewer: printout 48bits addresses

  • intel/aub_viewer: silence compiler warning

  • intel/aub_viewer: silence more compiler warnings

  • vulkan/overlay: fix missing installation of layer

  • vulkan/overlay: fix includes

  • imgui: update commit

  • imgui: update memory editor

  • vulkan/overlay: install layer binary in libdir

  • intel/compiler: use correct swizzle for replacement

  • vulkan/overlay: fix min/max computations

  • vulkan/overlay: rework option parsing

  • vulkan/overlay: add support for fps output in file

  • anv: add support for INTEL_DEBUG=bat

  • vulkan: update headers/registry to 1.1.102

  • anv: update supported patch version

  • radv: set num_components on vulkan_resource_index intrinsic

  • vulkan/util: make header available from c++

  • vulkan/util: generate instance/device dispatch tables

  • vulkan/overlay: drop dependency on validation layer headers

  • intel/decoders: add address space indicator to get BOs

  • intel/decoders: handle decoding MI_BBS from ring

  • intel/decoders: limit number of decoded batchbuffers

  • intel/aub_read: reuse defines from gen_context

  • intel/aub_write: split comment section from HW setup

  • intel/aub_write: write header in init

  • intel/aub_write: break execlist write in 2

  • intel/aub_write: switch to use i915_drm engine classes

  • intel/aub_write: log mmio writes

  • intel/aub_write: store the physical page allocator in struct

  • intel/aub_write: turn context images arrays into functions

  • intel/aub_write: factorize context image/pphwsp/ring creation

  • iris: fix decoder call

  • iris: fix decode_get_bo callback

  • intel/error2aub: build a list of BOs before writing them

  • intel/error2aub: identify buffers by engine

  • intel/error2aub: strenghten batchbuffer identifier marker

  • intel/error2aub: parse other buffer types

  • intel/error2aub: annotate buffer with their address space

  • intel/error2aub: store engine last ring buffer head/tail pointers

  • intel/error2aub: write GGTT buffers into the aub file

  • intel/error2aub: add a verbose option

  • intel/error2aub: deal with GuC log buffer

  • intel/error2aub: support older style engine names

  • vulkan: factor out wsi dependencies

  • anv: implement VK_EXT_pipeline_creation_feedback

  • vulkan/overlay: properly register layer object with loader

  • vulkan/overlay: silence validation layer warnings

  • vulkan/overlay: check return value of swapchain get images

  • vulkan/overlay: improve error reporting

  • i965: perf: sklgt2: update a priority for register programming

  • i965: perf: sklgt2: update compute metrics config

  • i965: perf: sklgt2: update memory write config

  • i965: perf: add PMA stall metrics

  • i965: perf: chv: fixup counters names

  • i965: perf: hsw: drop register programming not needed on HSW

  • i965: perf: sklgt2: drop programming of an unused NOA register

  • i965: perf: add Icelake metrics

  • i965: perf: enable Icelake metrics

  • i965: perf: add ring busyness metric for cfl gt2

  • i965: perf: update render basic configs for big core gen9/gen10

  • anv: implement VK_KHR_swapchain revision 70

  • intel: add dependency on genxml generated files

  • genxml: add a sorting script

  • genxml: sort xml files using new script

  • anv: don’t use default pipeline cache for hits for VK_EXT_pipeline_creation_feedback

  • anv: store heap address bounds when initializing physical device

  • anv: leave the top 4Gb of the high heap VMA unused

  • i965: store device revision in gen_device_info

  • i965: extract performance query metrics

  • i965: move mdapi data structure to intel/perf

  • i965: move OA accumulation code to intel/perf

  • i965: move brw_timebase_scale to device info

  • i965: move mdapi result data format to intel/perf

  • i965: move mdapi guid into intel/perf

  • intel/perf: stub gen10/11 missing definitions

  • i965: perf: add mdapi pipeline statistics queries on gen10/11

  • intel/perf: drop counter size field

  • intel/perf: constify accumlator parameter

  • iris: implement WaEnableStateCacheRedirectToCS

  • i965: implement WaEnableStateCacheRedirectToCS

  • anv: implement WaEnableStateCacheRedirectToCS

  • anv: fix uninitialized pthread cond clock domain

  • intel/devinfo: fix missing num_thread_per_eu on ICL

  • intel/devinfo: add basic sanity tests on device database

  • anv: limit URB reconfigurations when using blorp

  • intel: workaround VS fixed function issue on Gen9 GT1 parts

  • anv: fix argument name for vkCmdEndQuery

  • i965: fix icelake performance query enabling

  • Revert “anv: limit URB reconfigurations when using blorp”

  • vulkan/util: generate a helper function to return pNext struct sizes

  • vulkan/overlay: update help printout

  • vulkan/overlay: record stats in command buffers and accumulate on exec/submit

  • vulkan/overlay: add pipeline statistic & timestamps support

  • vulkan/overlay: add no display option

  • vulkan/overlay: add a margin to the size of the window

  • vulkan/overlay: record all select metrics into output file

  • vulkan/overlay: add a frame counter option

  • vulkan/overlay: make overlay size configurable

  • vulkan/overlay: make overriden functions static

  • vulkan/overlay: add TODO list

  • anv: fix crash when application does not provide push constants

  • anv: rework queries writes to ensure ordering memory writes

  • anv: fix use after free

  • anv: Use corresponding type from the vector allocation

  • vulkan/overlay: keep allocating draw data until it can be reused

  • nir: fix lower_non_uniform_access pass

  • vulkan/overlay-layer: fix cast errors

  • vulkan/overlay: fix truncating error on 32bit platforms

  • nir: lower_non_uniform_access: iterate over instructions safely

  • vulkan/overlay: fix timestamp query emission with no pipeline stats

  • vulkan: fix build dependency issue with generated files

  • anv: fix apply_pipeline_layout pass for arrays of YCbCr descriptors

  • nir/lower_non_uniform: safely iterate over blocks

  • intel/perf: fix EuThreadsCount value in performance equations

  • intel/perf: improve dynamic loading config detection

Lubomir Rintel (3):

  • kmsro: Extend to include armada-drm

  • gallivm: guess CPU features also on ARM

  • gallivm: disable NEON instructions if they are not supported

Lucas Stach (3):

  • etnaviv: don’t flush own context when updating resource use

  • etnaviv: flush all pending contexts when accessing a resource with the CPU

  • etnaviv: only try to construct scanout resource when on KMS winsys

Marek Olšák (121):

  • radeonsi: enable dithered alpha-to-coverage for better quality

  • radeonsi: merge & rename texture BO metadata functions

  • radeonsi: unify error paths in si_texture_create_object

  • winsys/amdgpu: remove amdgpu_drm.h definitions

  • r600: add -Wstrict-overflow=0 to meson to silence the warning

  • radeonsi: fix a comment typo in si_fine_fence_set

  • gallium: allow more PIPE_RESOURCE_ driver flags

  • meson: drop the xcb-xrandr version requirement

  • radeonsi: handle render_condition_enable in si_compute_clear_render_target

  • radeonsi: fix crashing performance counters (division by zero)

  • radeonsi: initialize textures using DCC to black when possible

  • radeonsi: clear allocator_zeroed_memory with SDMA

  • radeonsi: make allocator_zeroed_memory unmappable and use bigger buffers

  • radeonsi: don’t leak an index buffer if draw_vbo fails

  • radeonsi: use local ws variable in si_need_dma_space

  • gallium/u_threaded: fix EXPLICIT_FLUSH for flush offsets > 0

  • radeonsi: fix EXPLICIT_FLUSH for flush offsets > 0

  • winsys/amdgpu: don’t drop manually added fence dependencies

  • winsys/amdgpu: unify fence list code

  • winsys/amdgpu: use a separate fence list for syncobjs

  • winsys/amdgpu: remove occurence of INDIRECT_BUFFER_CONST

  • winsys/amdgpu: clean up IB buffer size computation

  • winsys/amdgpu: cs_check_space sets the minimum IB size for future IBs

  • radeonsi: add AMD_DEBUG env var as an alternative to R600_DEBUG

  • radeonsi: use MEM instead of MEM_GRBM in COPY_DATA.DST_SEL

  • radeonsi: add driconf option radeonsi_enable_nir

  • radeonsi: always enable NIR for Civilization 6 to fix corruption

  • driconf: add Civ6Sub executable for Civilization 6

  • st/mesa: always unmap the uploader in st_atom_array.c

  • gallium/u_threaded: always unmap const_uploader

  • gallium/u_upload_mgr: allow use of FLUSH_EXPLICIT with persistent mappings

  • radeonsi: use SDMA for uploading data through const_uploader

  • tgsi: don’t set tgsi_info::uses_bindless_images for constbufs and hw atomics

  • radeonsi: always use compute rings for clover on CI and newer (v2)

  • gallium/u_tests: use a compute-only context to test GCN compute ring

  • gallium: add pipe_grid_info::last_block

  • omx: clean up enc_LoadImage_common

  • omx: add a compute path in enc_LoadImage_common

  • radeonsi: fix assertion failure by using the correct type

  • mesa: implement ARB/KHR_parallel_shader_compile

  • gallium: implement ARB/KHR_parallel_shader_compile

  • util/queue: move thread creation into a separate function

  • util/queue: add ability to kill a subset of threads

  • util/queue: hold a lock when reading num_threads in util_queue_finish

  • util/queue: add util_queue_adjust_num_threads

  • radeonsi: implement ARB/KHR_parallel_shader_compile callbacks

  • radeonsi: don’t use PFP_SYNC_ME with compute-only contexts

  • docs/relnotes: document parallel_shader_compile changes in 19.1.0, not 19.0.0

  • amd/addrlib: fix uninitialized values for Addr2ComputeDccAddrFromCoord

  • radeonsi/gfx9: add support for PIPE_ALIGNED=0

  • radeonsi: add ability to bind images as image buffers

  • radeonsi: add support for displayable DCC for 1 RB chips

  • radeonsi: add support for displayable DCC for multi-RB chips

  • radeonsi: enable displayable DCC on Ravens

  • gallium: add writable_bitmask parameter into set_shader_buffers

  • glsl: remember which SSBOs are not read-only and pass it to gallium

  • radeonsi: set exact shader buffer read/write usage in CS

  • tegra: fix the build after the set_shader_buffers change

  • radeonsi: fix a crash when unbinding sampler states

  • glsl: fix shader_storage_blocks_write_access for SSBO block arrays

  • Revert “glsl: fix shader_storage_blocks_write_access for SSBO block arrays”

  • glsl: allow the #extension directive within code blocks for the dri option

  • mesa: don’t overwrite existing shader files with MESA_SHADER_CAPTURE_PATH

  • radeonsi: set AC_FUNC_ATTR_READNONE for image opcodes where it was missing

  • ac: use the common helper ac_apply_fmask_to_sample

  • ac: fix incorrect bindless atomic code in visit_image_atomic

  • radeonsi: enable GL_EXT_shader_image_load_formatted

  • nir: optimize gl_SampleMaskIn to gl_HelperInvocation for radeonsi when possible

  • winsys/amdgpu: don’t set GTT with GDS & OA placements on APUs

  • radeonsi/gfx9: use the correct condition for the DPBB + QUANT_MODE workaround

  • radeonsi: use CP DMA for the null const buffer clear on CIK

  • tgsi/scan: add uses_drawid

  • ac: add radeon_info::marketing_name, replacing the winsys callback

  • ac: add radeon_info::is_pro_graphics

  • ac: add ac_get_i1_sgpr_mask

  • ac: add REWIND and GDS registers to register headers

  • winsys/amdgpu: make IBs writable and expose their address

  • winsys/amdgpu: reorder chunks, make BO_HANDLES first, IB and FENCE last

  • winsys/amdgpu: enable chaining for compute IBs

  • winsys/amdgpu: clean up and remove nonsensical assertion

  • radeonsi: add si_cp_copy_data

  • radeonsi: add helper si_get_minimum_num_gfx_cs_dwords

  • radeonsi: delay adding BOs at the beginning of IBs until the first draw

  • gallium: document conservative rasterization flags

  • st/dri: simplify throttling code

  • gallium: replace DRM_CONF_THROTTLE with PIPE_CAP_MAX_FRAMES_IN_FLIGHT

  • gallium: replace DRM_CONF_SHARE_FD with PIPE_CAP_DMABUF

  • gallium: replace drm_driver_descriptor::configuration with driconf_xml

  • gallium: set PIPE_CAP_MAX_FRAMES_IN_FLIGHT to 2 for all drivers

  • gallium: add PIPE_CAP_PREFER_COMPUTE_BLIT_FOR_MULTIMEDIA

  • util: fix a compile failure in u_compute.c on windows

  • mesa: enable glGet for EXT_gpu_shader4

  • glsl: add `unsigned int` type for EXT_GPU_shader4

  • glsl: apply some 1.30 and other rules to EXT_gpu_shader4 as well

  • glsl: add builtin variables for EXT_gpu_shader4

  • glsl: add arithmetic builtin functions for EXT_gpu_shader4

  • glsl: add texture builtin functions for EXT_gpu_shader4

  • glsl: allow “varying out” for fragment shader outputs with EXT_gpu_shader4

  • mesa: expose EXT_texture_buffer_object

  • mesa: only allow EXT_gpu_shader4 in the compatibility profile

  • st/mesa: expose EXT_gpu_shader4 if GLSL 1.40 is supported

  • glsl: handle interactions between EXT_gpu_shader4 and texture extensions

  • radeonsi: add BOs after need_cs_space

  • radeonsi/gfx9: set that window_rectangles always roll the context

  • radeonsi/gfx9: rework the gfx9 scissor bug workaround (v2)

  • radeonsi: remove dirty slot masks from scissor and viewport states

  • glsl: fix shader_storage_blocks_write_access for SSBO block arrays (v2)

  • radeonsi: don’t ignore PIPE_FLUSH_ASYNC

  • mesa: rework error handling in glDrawBuffers

  • mesa: fix pbuffers because internally they are front buffers

  • st/mesa: don’t flush the front buffer if it’s a pbuffer

  • radeonsi: use new atomic LLVM helpers

  • radeonsi: set sampler state and view functions for compute-only contexts

  • st/dri: decrease input lag by syncing sooner in SwapBuffers

  • glsl: fix and clean up NV_compute_shader_derivatives support

  • st/mesa: fix 2 crashes in st_tgsi_lower_yuv

  • radeonsi: remove old_va parameter from si_rebind_buffer by remembering offsets

  • radeonsi: update buffer descriptors in all contexts after buffer invalidation

  • radeonsi: fix a regression in si_rebind_buffer

  • u_blitter: don’t fail mipmap generation for depth formats containing stencil

  • ac: fix a typo in ac_build_wg_scan_bottom

Mario Kleiner (1):

  • drirc: Add sddm-greeter to adaptive_sync blacklist.

Mark Janes (5):

  • mesa: properly report the length of truncated log messages

  • mesa: rename logging functions to reflect that they format strings

  • mesa: add logging function for formatted string

  • intel/common: move gen_debug to intel/dev

  • intel/tools: Remove redundant definitions of INTEL_DEBUG

Mateusz Krzak (2):

  • panfrost: cast bo_handles pointer to uintptr_t first

  • panfrost: use os_mmap and os_munmap

Mathias Fröhlich (22):

  • st/mesa: Reduce array updates due to current changes.

  • mesa: Track buffer object use also for VAO usage.

  • st/mesa: Invalidate the gallium array atom only if needed.

  • mesa: Implement helper functions to map and unmap a VAO.

  • mesa: Factor out _mesa_array_element.

  • mesa: Use _mesa_array_element in dlist save.

  • mesa: Replace _ae_{,un}map_vbos with _mesa_vao_{,un}map_arrays

  • mesa: Remove _ae_{,un}map_vbos and dependencies.

  • mesa: Use mapping tools in debug prints.

  • vbo: Fix basevertex handling in display list compiles.

  • vbo: Fix GL_PRIMITIVE_RESTART_FIXED_INDEX in display list compiles.

  • mesa: Add assert to _mesa_primitive_restart_index.

  • mesa: Factor out index function that will have multiple use.

  • mesa: Use glVertexAttrib*NV functions for fixed function attribs.

  • mesa: Implement _mesa_array_element by walking enabled arrays.

  • mesa: Rip out now unused gl_context::aelt_context.

  • mesa: Remove the now unused _NEW_ARRAY state change flag.

  • mesa: Constify static const array in api_arrayelt.c

  • mesa: Remove the _glapi_table argument from _mesa_array_element.

  • mesa: Set CurrentSavePrimitive in vbo_save_NotifyBegin.

  • mesa: Correct the is_vertex_position decision for dlists.

  • mesa: Leave aliasing of vertex and generic0 attribute to the dlist code.

Matt Turner (7):

  • intel/compiler/test: Set devinfo->gen = 7

  • intel/compiler: Avoid propagating inequality cmods if types are different

  • intel/compiler/test: Add unit test for mismatched signedness comparison

  • intel/compiler: Add commas on final values of compaction table arrays

  • intel/compiler: Use SIMD16 instructions in fs saturate prop unit test

  • intel/compiler: Add unit tests for sat prop for different exec sizes

  • intel/compiler: Improve fix_3src_operand()

Matthias Lorenz (1):

  • vulkan/overlay: Add fps counter

Mauro Rossi (6):

  • android: intel/isl: remove redundant building rules

  • android: anv: fix generated files depedencies (v2)

  • android: anv: fix libexpat shared dependency

  • android: nouveau: add support for nir

  • android: fix LLVM version string related building errors

  • draw: fix building error in draw_gs_init()

Maya Rashish (1):

  • configure: fix test portability

Michel Dänzer (19):

  • loader/dri3: Use strlen instead of sizeof for creating VRR property atom

  • gitlab-ci: Re-use docker image from the main repo in forked repos

  • gitlab-ci: List some longer-running jobs before others of the same stage

  • gitlab-ci: Use 8 CPU cores in autotools job

  • gitlab-ci: Make sure clang job actually uses ccache

  • gitlab-ci: Only pull/push cache contents in build+test stage jobs

  • gitlab-ci: Automatically retry jobs after runner system failure

  • gitlab-ci: Run CI pipeline for all branches in the main repository

  • gitlab-ci: Use Debian stretch instead of Ubuntu bionic

  • gitlab-ci: Use HTTPS for APT repositories

  • gitlab-ci: Use Debian packages instead of pip ones for meson and scons

  • gitlab-ci: Install most packages from Debian buster

  • gitlab-ci: Remove unneded (stuff from) APT command lines

  • gitlab-ci: Remove unused Debian packages from Docker image

  • gitlab-ci: Use clang 8 instead of 7

  • gitlab-ci: Drop unused clang 5/6 packages

  • gitlab-ci: Do not use subshells for compiling dependencies

  • gitlab-ci: Use LLVM 3.4 from Debian jessie for scons-llvm job

  • gitlab-ci: Use meson buildtype debug instead of default debugoptimized

Mike Blumenkrantz (6):

  • iris: support INTEL_NO_HW environment variable

  • gallium: add pipe cap for inner_coverage conservative raster mode

  • st/mesa: indicate intel extension support for inner_coverage based on cap

  • iris: add support for INTEL_conservative_rasterization

  • iris: add preemption support on gen9

  • iris: enable preemption support for gen10

Nanley Chery (3):

  • i965: Rename intel_mipmap_tree::r8stencil_* -> ::shadow_*

  • anv: Fix some depth buffer sampling cases on ICL+

  • anv/cmd_buffer: Initalize the clear color struct for CNL+

Nataraj Deshpande (1):

  • anv: Fix check for isl_fmt in assert

Neha Bhende (2):

  • st/mesa: Fix topogun-1.06-orc-84k-resize.trace crash

  • draw: fix memory leak introduced 7720ce32a

Nicolai Hähnle (9):

  • amd/surface: provide firstMipIdInTail for metadata surface calculations

  • radeonsi: add si_debug_options for convenient adding/removing of options

  • util/u_log: flush auto loggers before starting a new page

  • ddebug: set thread name

  • ddebug: log calls to pipe->flush

  • ddebug: dump driver state into a separate file

  • ddebug: expose some helper functions as non-inline

  • radeonsi: add radeonsi_aux_debug option for aux context debug dumps

  • radeonsi: add radeonsi_sync_compile option

Oscar Blumberg (3):

  • intel/fs: Fix memory corruption when compiling a CS

  • radeonsi: Fix guardband computation for large render targets

  • glsl: Fix function return typechecking

Patrick Lerda (1):

  • lima/ppir: fix pointer referenced after a free

Patrick Rudolph (1):

  • d3dadapter9: Support software renderer on any DRI device

Philipp Zabel (1):

  • etnaviv: fill missing offset in etna_resource_get_handle

Pierre Moreau (12):

  • include/CL: Update to the latest OpenCL 2.2 headers

  • clover: Avoid warnings from new OpenCL headers

  • clover: Remove the TGSI backend as unused

  • clover: Add an helper for checking if an IR is supported

  • clover/api: Rework the validation of devices for building

  • clover/api: Fail if trying to build a non-executable binary

  • clover: Disallow creating libraries from other libraries

  • clover: Validate program and library linking options

  • clover: Move device extensions definitions to core/device.cpp

  • clover: Move platform extensions definitions to clover/platform.cpp

  • clover: Only use devices supporting IR_NATIVE

  • clover: Fix indentation issues

Pierre-Eric Pelloux-Prayer (1):

  • radeonsi: init sctx->dma_copy before using it

Plamena Manolova (3):

  • i965: Disable ARB_fragment_shader_interlock for platforms prior to GEN9

  • isl: Set ClearColorConversionEnable.

  • i965: Re-enable fast color clears for GEN11.

Qiang Yu (9):

  • u_math: add ushort_to_float/float_to_ushort

  • u_dynarray: add util_dynarray_grow_cap

  • gallium/u_vbuf: export u_vbuf_get_minmax_index

  • drm-uapi: add lima_drm.h

  • gallium: add lima driver

  • lima/gpir: fix compile fail when two slot node

  • lima/gpir: fix alu check miss last store slot

  • lima: fix lima_blit with non-zero level source resource

  • lima: fix render to non-zero level texture

Rafael Antognolli (45):

  • iris: Store internal_format when getting resource from handle.

  • iris: Skip msaa16 on gen < 9.

  • iris: Flush before hiz_exec.

  • iris: Pin HiZ buffers when rendering.

  • iris: Avoid leaking if we fail to allocate the aux buffer.

  • iris/clear: Pass on render_condition_enabled.

  • iris: Skip resolve if there’s no context.

  • iris: Flag ALL_DIRTY_BINDINGS on aux state change.

  • iris: Add resolve on iris_flush_resource.

  • iris: Convert RGBX to RGBA always.

  • iris: Enable auxiliary buffer support again

  • iris: Enable HiZ for multisampled depth surfaces.

  • iris: Make intel_hiz_exec public.

  • iris: Allocate buffer space for the fast clear color.

  • iris: Use the clear depth when emitting 3DSTATE_CLEAR_PARAMS.

  • iris: Fast clear depth buffers.

  • iris: Add helper to convert fast clear color.

  • iris: Add function to update clear color in surface state.

  • iris: Bring back check for srgb and fast clear color.

  • intel/isl: Add isl_format_has_color_component() function.

  • intel/blorp: Make swizzle_color_value public.

  • iris: Implement fast clear color.

  • iris: Add iris_resolve_conditional_render().

  • iris: Stall on the CPU and resolve predication during fast clears.

  • iris: Track fast clear color.

  • iris: Let blorp update the clear color for us.

  • i965/blorp: Remove unused parameter from blorp_surf_for_miptree.

  • iris: Only update clear color for gens 8 and 9.

  • iris/gen8: Re-emit the SURFACE_STATE if the clear color changed.

  • iris: Manually apply fast clear color channel overrides.

  • iris: Do not allocate clear_color_bo for gen8.

  • iris: Add aux.sampler_usages.

  • iris: Enable fast clears on gen8.

  • intel/fs: Only propagate saturation if exec_size is the same.

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

  • intel/fs: Add a lowering pass for linear interpolation.

  • intel/fs: Remove fs_generator::generate_linterp from gen11+.

  • intel/isl: Resize clear color buffer to full cacheline

  • intel/genxml: Update MI_ATOMIC genxml definition.

  • intel/blorp: Make blorp update the clear color in gen11.

  • iris: Do not advertise multisampled image load/store.

  • iris: Support sRGB fast clears even if the colorspaces differ.

  • iris: Use the linear version of the surface format during fast clears.

  • iris: Update the surface state clear color address when available.

  • iris: Enable fast clear colors on gen11.

Ray Zhang (1):

  • glx: fix shared memory leak in X11

Rhys Kidd (1):

  • iris: Fix assertion in iris_resource_from_handle() tiling usage

Rhys Perry (28):

  • nvc0: add compute invocation counter

  • radv: bitcast 16-bit outputs to integers

  • radv: ensure export arguments are always float

  • ac/nir: implement 8-bit nir_load_const_instr

  • ac/nir: fix 64-bit nir_op_f2f16_rtz

  • ac/nir: make ac_build_clamp work on all bit sizes

  • ac/nir: make ac_build_isign work on all bit sizes

  • ac/nir: make ac_build_fdiv support 16-bit floats

  • ac/nir: implement half-float nir_op_frcp

  • ac/nir: implement half-float nir_op_frsq

  • ac/nir: implement half-float nir_op_ldexp

  • ac/nir: fix 16-bit ssbo stores

  • ac/nir: implement 8-bit push constant, ssbo and ubo loads

  • ac/nir: implement 8-bit ssbo stores

  • ac/nir: add 8-bit types to glsl_base_to_llvm_type

  • ac/nir: implement 8-bit conversions

  • radv: enable VK_KHR_8bit_storage

  • ac/nir: implement 16-bit pack/unpack opcodes

  • radv: lower 16-bit flrp

  • ac: add 16-bit support to ac_build_ddxy()

  • nir,ac/nir: fix cube_face_coord

  • gallium: add support for formatted image loads

  • mesa, glsl: add support for EXT_shader_image_load_formatted

  • st/mesa: add support for EXT_shader_image_load_formatted

  • vc4: fix build

  • ac,ac/nir: use a better sync scope for shared atomics

  • radv: fix set_output_usage_mask() with composite and 64-bit types

  • ac/nir: mark some texture intrinsics as convergent

Rob Clark (135):

  • freedreno: fix release tarball

  • freedreno: more fixing release tarball

  • freedreno/a6xx: small compiler warning fix

  • freedreno/ir3: fix varying packing vs. tex sharp edge

  • freedreno/a6xx: move stream-out emit to helper

  • freedreno/a6xx: clean up some open-coded bits

  • freedreno/ir3: split out image helpers

  • freedreno/ir3: split out a4xx+ instructions

  • freedreno/ir3: fix ncomp for _store_image() src

  • freedreno/ir3: add image/ssbo <-> ibo/tex mapping

  • freedreno/ir3: add a6xx instruction encoding

  • freedreno/ir3: add a6xx+ SSBO/image support

  • freedreno/ir3: HIGH reg w/a for a6xx

  • freedreno/a6xx: border-color offset helper

  • freedreno/a6xx: image/ssbo state emit

  • freedreno/a6xx: compute support

  • freedreno/a6xx: cache flush harder

  • freedreno/a6xx: fix helper_invocation (sampler mask/id)

  • freedreno/ir3: handle quirky atomic dst for a6xx

  • freedreno/ir3: fix legalize for vecN inputs

  • freedreno/ir3: fix crash in compile fail case

  • freedreno/a6xx: 3d and cube image fixes

  • freedreno: fix crash w/ masked non-SSA dst

  • freedreno/ir3: rename put_dst()

  • freedreno/ir3/a6xx: fix load_ssbo barrier type.

  • freedreno/ir3: sync instr/disasm and add ldib encoding

  • freedreno/ir3/a6xx: use ldib for ssbo reads

  • freedreno/a6xx: samplerBuffer fixes

  • freedreno/a6xx: enable tiled images

  • freedreno: fix race condition

  • freedreno/ir3: don’t hardcode wrmask

  • freedreno/a6xx: fix border-color offset

  • freedreno/a6xx: cube image fix

  • freedreno/a6xx: fix hangs with large shaders

  • freedreno/ir3: use nopN encoding when possible

  • freedreno/a6xx: fix ssbo alignment

  • freedreno/ir3/a6xx: fix non-ssa atomic dst

  • freedreno/a6xx: fix DRAW_IDX_INDIRECT max_indicies

  • freedreno/a6xx: vertex_id is not _zero_based

  • freedreno/ir3/a6xx: fix atomic shader outputs

  • freedreno/ir3: gsampler2DMSArray fixes

  • freedreno/ir3: include nopN in expanded instruction count

  • freedreno/ir3: add Sethi–Ullman numbering pass

  • freedreno/ir3: track register pressure in sched

  • freedreno: fix ir3_cmdline build

  • freedreno/a6xx: remove astc_srgb workaround

  • freedreno/a6xx: refactor fd6_tex_swiz()

  • freedreno/a6xx: fix border-color swizzles

  • freedreno/a6xx: perfcntrs

  • freedreno/ir3: fix ir3_cmdline harder

  • freedreno/ir3: turn on [iu]mul_high

  • freedreno/a6xx: more bcolor fixes

  • freedreno/ir3/cp: fix ldib bug

  • freedreno/ir3/a6xx: fix ssbo comp_swap

  • freedreno/ir3 better cat6 encoding detection

  • freedreno/ir3/ra: fix half-class conflicts

  • freedreno/ir3: fix sam.s2en decoding

  • freedreno/ir3: fix sam.s2en encoding

  • freedreno/ir3: fix regmask for merged regs

  • nir: move gls_type_get_{sampler,image}_count()

  • freedreno/ir3: find # of samplers from uniform vars

  • freedreno/ir3: enable indirect tex/samp (sam.s2en)

  • freedreno/ir3: optimize sam.s2en to sam

  • freedreno/ir3: additional lowering

  • freedreno/ir3: fix bit_count

  • freedreno/ir3: dynamic UBO indexing vs 64b pointers

  • freedreno/ir3: rename has_kill to no_earlyz

  • freedreno/ir3: disable early-z for SSBO/image writes

  • gallium: add PIPE_CAP_ESSL_FEATURE_LEVEL

  • mesa/st: use ESSL cap top enable gpu_shader5

  • freedreno: add ESSL cap

  • docs: update freedreno status

  • freedreno/a6xx: small cleanup

  • freedreno/ir3: sched fix

  • freedreno/ir3: reads/writes to unrelated arrays are not dependent

  • freedreno/ir3: align const size to vec4

  • nir: print var name for load_interpolated_input too

  • nir: add lower_all_io_to_elements

  • freedreno/ir3: re-indent comment

  • freedreno/ir3: rework varying packing

  • freedreno/ir3: add pass to move varying loads

  • freedreno/ir3: convert to “new style” frag inputs

  • gallium/docs: clarify set_sampler_views (v2)

  • iris: fix set_sampler_view

  • freedreno/ir3: fix const assert

  • freedreno/drm: update for robustness

  • freedreno: add robustness support

  • compiler: rename SYSTEM_VALUE_VARYING_COORD

  • freedreno/ir3: fix rgetpos decoding

  • freedreno/ir3: more emit-cat5 fixes

  • freedreno/ir3: cleanup instruction builder macros

  • freedreno: update generated headers

  • freedreno/ir3: lower load_barycentric_at_sample

  • freedreno/ir3: lower load_barycentric_at_offset

  • freedreno/ir3: remove bogus assert

  • freedreno/ir3: rename frag_vcoord -> ij_pixel

  • freedreno/a6xx: add VALIDREG/CONDREG helper macros

  • freedreno/ir3: fix load_interpolated_input slot

  • freedreno: wire up core sample-shading support

  • freedreno/ir3: sample-shading support

  • freedreno/a6xx: sample-shading support

  • docs/features: update GL too

  • freedreno/ir3: switch fragcoord to sysval

  • freedreno/a6xx: small texture emit cleanup

  • freedreno/a6xx: pre-bake UBWC flags in texture-view

  • freedreno/ir3: fixes for half reg in/out

  • freedreno/ir3: fix shader variants vs UBO analysis

  • freedreno/ir3: fix lowered ubo region alignment

  • freedreno/ir3: add IR3_SHADER_DEBUG flag to disable ubo lowering

  • freedreno/ir3: add some ubo range related asserts

  • nir: rework tex instruction printing

  • nir: fix lower_wpos_ytransform in load_frag_coord case

  • nir: add pass to lower fb reads

  • freedreno/drm: expose GMEM_BASE address

  • freedreno/ir3: fb read support

  • freedreno/a6xx: KHR_blend_equation_advanced support

  • freedreno/a6xx: smaller hammer for fb barrier

  • docs: mark KHR_blend_equation_advanced done on a6xx

  • nir: fix nir tex print harder

  • freedreno/ir3: remove assert

  • freedreno/a6xx: OUT_RELOC vs OUT_RELOCW fixes

  • freedreno: update generated headers

  • freedreno/a6xx: UBWC fixes

  • freedreno/a6xx: UBWC support for images

  • freedreno: mark imported resources as valid

  • freedreno/a6xx: buffer resources cannot be compressed

  • freedreno: move UBWC color offset to fd_resource_offset()

  • freedreno: add ubwc_enabled helper

  • freedreno/a6xx: deduplicate a few lines

  • freedreno: remove unused forward struct declaration

  • freedreno/ir3: fix rasterflat/glxgears

  • freedreno/ir3: set more barrier bits

  • freedreno/a6xx: fix GPU crash on small render targets

  • freedreno/a6xx: fix issues with gallium HUD

  • freedreno/a6xx: fix hangs with newer sqe fw

Rob Herring (2):

  • kmsro: Add lima renderonly support

  • kmsro: Add platform support for exynos and sun4i

Rodrigo Vivi (1):

  • intel: Add more PCI Device IDs for Coffee Lake and Ice Lake.

Roland Scheidegger (2):

  • gallivm: fix bogus assert in get_indirect_index

  • gallivm: fix saturated signed add / sub with llvm 9

Romain Failliot (1):

  • docs: changed “Done” to “DONE” in features.txt

Ross Burton (1):

  • Revert “meson: drop GLESv1 .so version back to 1.0.0”

Ryan Houdek (1):

  • panfrost: Adds Bifrost shader disassembler utility

Sagar Ghuge (10):

  • iris: Don’t allocate a BO per query object

  • nir/glsl: Add another way of doing lower_imul64 for gen8+

  • glsl: [u/i]mulExtended optimization for GLSL

  • nir/algebraic: Optimize low 32 bit extraction

  • spirv: Allow [i/u]mulExtended to use new nir opcode

  • iris: Refactor code to share 3DSTATE_URB_* packet

  • iris: Track last VS URB entry size

  • iris: Flag fewer dirty bits in BLORP

  • intel/fs: Remove unused condition from opt_algebraic case

  • intel/compiler: Fix assertions in brw_alu3

Samuel Iglesias Gonsálvez (4):

  • isl: remove the cache line size alignment requirement

  • isl: the display engine requires 64B alignment for linear surfaces

  • radv: don’t overwrite results in VkGetQueryPoolResults() when queries are not available

  • radv: write availability status vkGetQueryPoolResults() when the data is not available

Samuel Pitoiset (147):

  • radv/winsys: fix hash when adding internal buffers

  • radv: fix build

  • radv: bail out when no image transitions will be performed

  • radv: remove unused radv_render_pass_attachment::view_mask

  • radv: remove useless MAYBE_UNUSED in CmdBeginRenderPass()

  • radv: add radv_cmd_buffer_begin_subpass() helper

  • radv: move subpass image transitions to radv_cmd_buffer_begin_subpass()

  • radv: store the list of attachments for every subpass

  • radv: use the new attachments array when starting subpasses

  • radv: determine the last subpass id for every attachments

  • radv: handle final layouts at end of every subpass and render pass

  • radv: move some render pass things to radv_render_pass_compile()

  • radv: add radv_render_pass_add_subpass_dep() helper

  • radv: track if subpasses have color attachments

  • radv: handle subpass dependencies correctly

  • radv: accumulate all ingoing external dependencies to the first subpass

  • radv: execute external subpass barriers after ending subpasses

  • radv: drop useless checks when resolving subpass color attachments

  • radv: do not set preserveAttachments for internal render passes

  • radv: don’t flush src stages when dstStageMask == BOTTOM_OF_PIPE

  • radv: fix compiler issues with GCC 9

  • radv: gather more info about push constants

  • radv: gather if shaders load dynamic offsets separately

  • radv: keep track of the number of remaining user SGPRs

  • radv: add support for push constants inlining when possible

  • radv: fix using LOAD_CONTEXT_REG with old GFX ME firmwares on GFX8

  • radv/winsys: fix BO list creation when RADV_DEBUG=allbos is set

  • radv: always export gl_SampleMask when the fragment shader uses it

  • ac: make use of ac_build_expand_to_vec4() in visit_image_store()

  • radv: use MAX_{VBS,VERTEX_ATTRIBS} when defining max vertex input limits

  • radv: store vertex attribute formats as pipeline keys

  • radv: reduce the number of loaded channels for vertex input fetches

  • radv: fix radv_fixup_vertex_input_fetches()

  • radv: fix invalid element type when filling vertex input default values

  • ac: add ac_build_llvm8_tbuffer_load() helper

  • ac: use new LLVM 8 intrinsic when loading 16-bit values

  • radv: write the alpha channel of MRT0 when alpha coverage is enabled

  • radv: remove unused variable in gather_push_constant_info()

  • radv: fix writing the alpha channel of MRT0 when alpha coverage is enabled

  • radv: fix clearing attachments in secondary command buffers

  • radv: fix out-of-bounds access when copying descriptors BO list

  • radv: don’t copy buffer descriptors list for samplers

  • rav: use 32_AR instead of 32_ABGR when alpha coverage is required

  • radv: allocate enough space in cmdbuf when starting a subpass

  • radv: properly align the fence and EOP bug VA on GFX9

  • radv: enable lower_mul_2x32_64

  • Revert “radv: execute external subpass barriers after ending subpasses”

  • radv: fix pointSizeRange limits

  • radv: set the maximum number of IBs per submit to 192

  • ac: rework typed buffers loads for LLVM 7

  • radv: store more vertex attribute infos as pipeline keys

  • radv: use typed buffer loads for vertex input fetches

  • ac: add ac_build_{struct,raw}_tbuffer_load() helpers

  • ac: use the raw tbuffer version for 16-bit SSBO loads

  • radv: always initialize HTILE when the src layout is UNDEFINED

  • radv: always load 3 channels for formats that need to be shuffled

  • ac: use llvm.amdgcn.fract intrinsic for nir_op_ffract

  • radv: fix binding transform feedback buffers

  • ac: make use of ac_get_store_intr_attribs() where possible

  • ac/nir: set attrib flags for SSBO and image store operations

  • ac: add ac_build_buffer_store_format() helper

  • ac/nir: remove one useless check in visit_store_ssbo()

  • ac/nir: use new LLVM 8 intrinsics for SSBO atomic operations

  • ac/nir: use ac_build_buffer_load() for SSBO load operations

  • ac/nir: use ac_build_buffer_store_dword() for SSBO store operations

  • ac: use new LLVM 8 intrinsics in ac_build_buffer_load()

  • ac: add ac_build_{struct,raw}_tbuffer_store() helpers

  • ac: use new LLVM 8 intrinsic when storing 16-bit values

  • ac: use new LLVM 8 intrinsics in ac_build_buffer_store_dword()

  • ac: add various int8 definitions

  • ac: add ac_build_tbuffer_load_byte() helper

  • ac: add ac_build_tbuffer_store_byte() helper

  • radv: add missing initializations since VK_EXT_pipeline_creation_feedback

  • ac: add f16_0 and f16_1 constants

  • ac: add 16-bit support fo fsign

  • ac: add 16-bit support to fract

  • ac: fix 16-bit shifts

  • ac: fix incorrect argument type for tbuffer.{load,store} with LLVM 7

  • nir: use generic float types for frexp_exp and frexp_sig

  • spirv,nir: lower frexp_exp/frexp_sig inside a new NIR pass

  • nir: add nir_{load,store}_deref_with_access() helpers

  • spirv: propagate the access flag for store and load derefs

  • ac: use llvm.amdgcn.fmed3 intrinsic for nir_op_fmed3

  • ac: add ac_build_frexp_mant() helper and 16-bit/32-bit support

  • ac: add ac_build_frex_exp() helper ans 16-bit/32-bit support

  • radv: do not lower frexp_exp and frexp_sig

  • radv: enable VK_AMD_gpu_shader_int16

  • radv: skip updating depth/color metadata for conditional rendering

  • radv: do not always initialize HTILE in compressed state

  • ac: fix return type for llvm.amdgcn.frexp.exp.i32.64

  • ac/nir: fix nir_op_b2i16

  • ac: fix ac_build_bit_count() for 16-bit integer type

  • ac: fix ac_build_bitfield_reverse() for 16-bit integer type

  • ac: fix ac_find_lsb() for 16-bit integer type

  • ac: fix ac_build_umsb() for 16-bit integer type

  • ac/nir: add support for nir_op_b2i8

  • ac: add 8-bit support to ac_build_bit_count()

  • ac: add 8-bit support to ac_find_lsb()

  • ac: add 8-bit support to ac_build_umsb()

  • ac: add 8-bit and 64-bit support to ac_build_bitfield_reverse()

  • radv: partially enable VK_KHR_shader_float16_int8

  • nir: do not pack varying with different types

  • ac/nir: fix intrinsic names for atomic operations with LLVM 9+

  • radv: fix getting the vertex strides if the bindings aren’t contiguous

  • ac/nir: fix nir_op_b2f16

  • radv: enable VK_AMD_gpu_shader_half_float

  • wsi: allow to override the present mode with MESA_VK_WSI_PRESENT_MODE

  • ac/nir: make use of ac_build_imax() where possible

  • ac/nir: make use of ac_build_imin() where possible

  • ac/nir: make use of ac_build_umin() where possible

  • ac: add ac_build_umax() and use it where possible

  • ac: add ac_build_ddxy_interp() helper

  • ac: add ac_build_load_helper_invocation() helper

  • ac/nir: remove useles LLVMGetUndef for nir_op_pack_64_2x32_split

  • ac/nir: remove useless integer cast in adjust_sample_index_using_fmask()

  • ac/nir: remove useless integer cast in visit_image_load()

  • ac/nir: remove some useless integer casts for ALU operations

  • spirv: add SpvCapabilityFloat16 support

  • radv: enable VK_KHR_shader_float16_int8

  • radv: set ACCESS_NON_READABLE on stores for copy/fill/clear meta shaders

  • radv: enable shaderInt8 on SI and CIK

  • radv: sort the shader capabilities alphabetically

  • ac/nir: use new LLVM 8 intrinsics for SSBO atomics except cmpswap

  • ac/nir: add 64-bit SSBO atomic operations support

  • radv: add VK_KHR_shader_atomic_int64 but disable it for now

  • ac: add support for more types with struct/raw LLVM intrinsics

  • ac: use struct/raw load intrinsics for 8-bit/16-bit int with LLVM 9+

  • ac: use struct/raw store intrinsics for 8-bit/16-bit int with LLVM 9+

  • ac/nir: only use the new raw/struct image atomic intrinsics with LLVM 9+

  • ac/nir: only use the new raw/struct SSBO atomic intrinsics with LLVM 9+

  • ac/nir: use the new raw/struct SSBO atomic intrisics for comp_swap

  • radv: add VK_NV_compute_shader_derivates support

  • radv: add missing VEGA20 chip in radv_get_device_name()

  • radv: do not need to force emit the TCS regs on Vega20

  • radv: fix color conversions for normalized uint/sint formats

  • radv: implement a workaround for VK_EXT_conditional_rendering

  • ac: tidy up ac_build_llvm8_tbuffer_{load,store}

  • radv: set WD_SWITCH_ON_EOP=1 when drawing primitives from a stream output buffer

  • radv: only need to force emit the TCS regs on Vega10 and Raven1

  • radv: fix radv_get_aspect_format() for D+S formats

  • radv: apply the indexing workaround for atomic buffer operations on GFX9

  • radv: fix setting the number of rectangles when it’s dyanmic

  • radv: add a workaround for Monster Hunter World and LLVM 7&8

  • radv: allocate more space in the CS when emitting events

  • radv: do not use gfx fast depth clears for layered depth/stencil images

  • radv: fix alpha-to-coverage when there is unused color attachments

  • radv: fix setting CB_SHADER_MASK for dual source blending

Sergii Romantsov (4):

  • dri: meson: do not prefix user provided dri-drivers-path

  • d3d: meson: do not prefix user provided d3d-drivers-path

  • i965,iris/blorp: do not blit 0-sizes

  • glsl: Fix input/output structure matching across shader stages

Sonny Jiang (1):

  • radeonsi: use compute for clear_render_target when possible

Tapani Pälli (42):

  • nir: add option to use scaling factor when sampling planes YUV lowering

  • dri: add P010, P012, P016 for 10bit/12bit/16bit YUV420 formats

  • intel/compiler: add scale_factors to sampler_prog_key_data

  • i965: add P0x formats and propagate required scaling factors

  • drirc/i965: add option to disable 565 configs and visuals

  • mesa: return NULL if we exceed MaxColorAttachments in get_fb_attachment

  • anv: anv: refactor error handling in anv_shader_bin_write_to_blob()

  • iris: add Android build

  • nir: initialize value in copy_prop_vars_block

  • nir: use nir_variable_create instead of open-coding the logic

  • android: add liblog to libmesa_intel_common build

  • android: make libbacktrace optional on USE_LIBBACKTRACE

  • iris: add libmesa_iris_gen8 library to the build

  • util: fix a warning when building against clang7 headers

  • anv: retain the is_array state in create_plane_tex_instr_implicit

  • anv: toggle on support for VK_EXT_ycbcr_image_arrays

  • anv: use anv_gem_munmap in block pool cleanup

  • anv: call blob_finish when done with it

  • nir: free dead_ctx in case of no progress

  • anv: destroy descriptor sets when pool gets destroyed

  • anv: release memory allocated by bo_heap when descriptor pool is destroyed

  • anv: release memory allocated by glsl types during spirv_to_nir

  • anv: revert “anv: release memory allocated by glsl types during spirv_to_nir”

  • i965: remove scaling factors from P010, P012

  • isl: fix automake build when sse41 is not supported

  • android: Build fixes for OMR1

  • iris: initialize num_cbufs

  • iris: mark switch case fallthrough

  • anv/radv: release memory allocated by glsl types during spirv_to_nir

  • st/mesa: fix compilation warning on storage_flags_to_buffer_flags

  • st/mesa: fix warnings about implicit conversion on enumeration type

  • spirv: fix a compiler warning

  • st/nir: run st_nir_opts after 64bit ops lowering

  • iris: move variable to the scope where it is being used

  • iris: move iris_flush_resource so we can call it from get_handle

  • iris: handle aux properly in iris_resource_get_handle

  • egl: setup fds array correctly when exporting dmabuf

  • compiler/glsl: handle case where we have multiple users for types

  • android/iris: fix driinfo header filename

  • nir: use braces around subobject in initializer

  • glsl: use empty brace initializer

  • anv: expose VK_EXT_queue_family_foreign on Android

Thomas Hellstrom (5):

  • winsys/svga: Add an environment variable to force host-backed operation

  • winsys/svga: Enable the transfer_from_buffer GPU command for vgpu10

  • svga: Avoid bouncing buffer data in malloced buffers

  • winsys/svga: Update the drm interface file

  • winsys/svga: Don’t abort on EBUSY errors from execbuffer

Timo Aaltonen (1):

  • util/os_misc: Add check for PIPE_OS_HURD

Timothy Arceri (72):

  • st/glsl_to_nir: remove dead local variables

  • ac/radv/radeonsi: add ac_get_num_physical_sgprs() helper

  • radv: take LDS into account for compute shader occupancy stats

  • util: move BITFIELD macros to util/macros.h

  • st/glsl_to_nir: call nir_remove_dead_variables() after lowing local indirects

  • nir: add support for marking used patches when packing varyings

  • nir: add glsl_type_is_32bit() helper

  • nir: add is_packing_supported_for_type() helper

  • nir: rewrite varying component packing

  • nir: prehash instruction in nir_instr_set_add_or_rewrite()

  • nir: turn ssa check into an assert

  • nir: turn an ssa check in nir_search into an assert

  • nir: remove simple dead if detection from nir_opt_dead_cf()

  • radeonsi/nir: set input_usage_mask properly

  • radeonsi/nir: set colors_read properly

  • radeonsi/nir: set shader_buffers_declared properly

  • st/nir: use NIR for asm programs

  • nir: remove non-ssa support from nir_copy_prop()

  • nir: clone instruction set rather than removing individual entries

  • nir: allow nir_lower_phis_to_scalar() on more src types

  • radeonsi: fix query buffer allocation

  • glsl: fix shader cache for packed param list

  • radeonsi/nir: move si_lower_nir() call into compiler thread

  • glsl: rename is_record() -> is_struct()

  • glsl: rename get_record_instance() -> get_struct_instance()

  • glsl: rename record_location_offset() -> struct_location_offset()

  • glsl: rename record_types -> struct_types

  • nir: rename glsl_type_is_struct() -> glsl_type_is_struct_or_ifc()

  • glsl/freedreno/panfrost: pass gl_context to the standalone compiler

  • glsl: use NIR function inlining for drivers that use glsl_to_nir()

  • i965: stop calling nir_lower_returns()

  • radeonsi/nir: stop calling nir_lower_returns()

  • st/glsl: start spilling out common st glsl conversion code

  • anv: add support for dumping shader info via VK_EXT_debug_report

  • nir: add guess trip count support to loop analysis

  • nir: add new partially_unrolled bool to nir_loop

  • nir: add partial loop unrolling support

  • nir: calculate trip count for more loops

  • nir: unroll some loops with a variable limit

  • nir: simplify the loop analysis trip count code a little

  • nir: add helper to return inversion op of a comparison

  • nir: add get_induction_and_limit_vars() helper to loop analysis

  • nir: pass nir_op to calculate_iterations()

  • nir: find induction/limit vars in iand instructions

  • st/glsl_to_nir: fix incorrect arrary access

  • radeonsi/nir: call some more var optimisation passes

  • ac/nir_to_llvm: add assert to emit_bcsel()

  • nir: only override previous alu during loop analysis if supported

  • nir: fix opt_if_loop_last_continue()

  • nir: add support for user defined loop control

  • spirv: make use of the loop control support in nir

  • nir: add support for user defined select control

  • spirv: make use of the select control support in nir

  • Revert “ac/nir: use new LLVM 8 intrinsics for SSBO atomic operations”

  • nir: propagate known constant values into the if-then branch

  • Revert “nir: propagate known constant values into the if-then branch”

  • nir/radv: remove restrictions on opt_if_loop_last_continue()

  • nir: initialise some variables in opt_if_loop_last_continue()

  • nir/i965/freedreno/vc4: add a bindless bool to type size functions

  • ac/nir_to_llvm: make get_sampler_desc() more generic and pass it the image intrinsic

  • ac/nir_to_llvm: add image bindless support

  • nir: fix packing components with arrays

  • radeonsi/nir: fix scanning of bindless images

  • st/mesa/radeonsi: fix race between destruction of types and shader compilation

  • nir: fix nir_remove_unused_varyings()

  • radeonsi/nir: create si_nir_opts() helper

  • radeonsi/nir: call radeonsi nir opts before the scan pass

  • util/drirc: add workarounds for bugs in Doom 3: BFG

  • radeonsi: add config entry for Counter-Strike Global Offensive

  • Revert “glx: Fix synthetic error generation in __glXSendError”

  • Revert “st/mesa: expose 0 shader binary formats for compat profiles for Qt”

  • st/glsl: make sure to propagate initialisers to driver storage

Timur Kristóf (19):

  • radeonsi/nir: Use uniform location when calculating const_file_max.

  • iris: implement clearing render target and depth stencil

  • nir: Add ability for shaders to use window space coordinates.

  • tgsi_to_nir: Fix the TGSI ARR translation by converting the result to int.

  • tgsi_to_nir: Fix TGSI LIT translation by using flt.

  • tgsi_to_nir: Make the TGSI IF translation code more readable.

  • tgsi_to_nir: Split to smaller functions.

  • nir: Move nir_lower_uniforms_to_ubo to compiler/nir.

  • nir: Add multiplier argument to nir_lower_uniforms_to_ubo.

  • freedreno: Plumb pipe_screen through to irX_tgsi_to_nir.

  • tgsi_to_nir: Produce optimized NIR for a given pipe_screen.

  • tgsi_to_nir: Restructure system value loads.

  • tgsi_to_nir: Extract ttn_emulate_tgsi_front_face into its own function.

  • tgsi_to_nir: Support FACE and POSITION properly.

  • tgsi_to_nir: Improve interpolation modes.

  • tgsi_to_nir: Set correct location for uniforms.

  • radeonsi/nir: Only set window_space_position for vertex shaders.

  • iris: Face should be a system value.

  • gallium: fix autotools build of pipe_msm.la

Tobias Klausmann (1):

  • vulkan/util: meson build - add wayland client include

Tomasz Figa (1):

  • llvmpipe: Always return some fence in flush (v2)

Tomeu Vizoso (19):

  • panfrost: Add gem_handle to panfrost_memory and panfrost_bo

  • panfrost: Add backend targeting the DRM driver

  • panfrost/midgard: Add support for MIDGARD_MESA_DEBUG

  • panfrost: Add support for PAN_MESA_DEBUG

  • panfrost: Set bo->size[0] in the DRM backend

  • panfrost: Set bo->gem_handle when creating a linear BO

  • panfrost: Adapt to uapi changes

  • panfrost: Fix sscanf format options

  • panfrost: Set the GEM handle for AFBC buffers

  • panfrost: Also tell the kernel about the checksum_slab

  • panfrost: Pass the context BOs to the kernel so they aren’t unmapped while in use

  • panfrost: Wait for last job to finish in force_flush_fragment

  • panfrost: split asserts in pandecode

  • panfrost: Guard against reading past end of buffer

  • panfrost/ci: Initial commit

  • panfrost/midgard: Skip register allocation if there’s no work to do

  • panfrost/midgard: Skip liveness analysis for instructions without dest

  • panfrost: Fix two uninitialized accesses in compiler

  • panfrost: Only take the fast paths on buffers aligned to block size

Toni Lönnberg (8):

  • intel/genxml: Only handle instructions meant for render engine when generating headers

  • intel/genxml: Media instructions and structures for gen6

  • intel/genxml: Media instructions and structures for gen7

  • intel/genxml: Media instructions and structures for gen7.5

  • intel/genxml: Media instructions and structures for gen8

  • intel/genxml: Media instructions and structures for gen9

  • intel/genxml: Media instructions and structures for gen10

  • intel/genxml: Media instructions and structures for gen11

Topi Pohjolainen (2):

  • intel/compiler/icl: Use tcs barrier id bits 24:30 instead of 24:27

  • intel/compiler/fs/icl: Use dummy masked urb write for tess eval

Vasily Khoruzhick (2):

  • lima: use individual tile heap for each GP job.

  • lima: add support for depth/stencil fbo attachments and textures

Vinson Lee (5):

  • gallium/auxiliary/vl: Fix duplicate symbol build errors.

  • nir: Fix anonymous union initialization with older GCC.

  • swr: Fix build with llvm-9.0.

  • gallium: Fix autotools build with libxatracker.la.

  • freedreno: Fix GCC build error.

Vivek Kasireddy (1):

  • drm-uapi: Update headers from drm-next

Xavier Bouchoux (1):

  • nir/spirv: Fix assert when unsampled OpTypeImage has unknown ‘Depth’

Yevhenii Kolesnikov (1):

  • i965: Fix allow_higher_compat_version workaround limited by OpenGL 3.0

coypu (1):

  • gbm: don’t return void

davidbepo (1):

  • drirc: add Waterfox to adaptive-sync blacklist

grmat (1):

  • drirc: add Spectacle, Falkon to a-sync blacklist

pal1000 (1):

  • scons: Compatibility with Scons development version string

suresh guttula (3):

  • vl: Add cropping flags for H264

  • radeon/vce:Add support for frame_cropping_flag of VAEncSequenceParameterBufferH264

  • st/va/enc: Add support for frame_cropping_flag of VAEncSequenceParameterBufferH264