From df37cbfab64589442e850e3d9a2fe345289395e3 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Wed, 5 May 2021 19:04:04 +0200 Subject: docs: add release notes for 21.1.0 --- docs/relnotes/21.1.0.rst | 5564 ++++++++++++++++++++++++++++++++++++++++ docs/relnotes/new_features.txt | 11 - 2 files changed, 5564 insertions(+), 11 deletions(-) create mode 100644 docs/relnotes/21.1.0.rst delete mode 100644 docs/relnotes/new_features.txt diff --git a/docs/relnotes/21.1.0.rst b/docs/relnotes/21.1.0.rst new file mode 100644 index 00000000000..053aed09508 --- /dev/null +++ b/docs/relnotes/21.1.0.rst @@ -0,0 +1,5564 @@ +Mesa 21.1.0 Release Notes / 2021-05-05 +====================================== + +Mesa 21.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 21.1.1. + +Mesa 21.1.0 implements the OpenGL 4.6 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.6. OpenGL +4.6 is **only** available if requested at context creation. +Compatibility contexts may report a lower version depending on each driver. + +Mesa 21.1.0 implements the Vulkan 1.2 API, but the version reported by +the apiVersion property of the VkPhysicalDeviceProperties struct +depends on the particular driver being used. + +SHA256 checksum +--------------- + +:: + + TBD. + + +New features +------------ + +- VK_KHR_workgroup_memory_explicit_layout on Intel, RADV + +- DRM format modifiers for AMD. + +- VK_KHR_zero_initialize_workgroup_memory on Intel, RADV + +- Zink exposes GL 4.6 and ES 3.1 + +- GL_EXT_depth_bounds_test on softpipe, zink + +- GL_EXT_texture_filter_minmax on nvc0 (gm200+) + +- GL_ARB_texture_filter_minmax on nvc0 (gm200+) + +- GL_ARB_post_depth_coverage on zink + +- VK_KHR_copy_commands2 on lavapipe + +- lavapipe exposes Vulkan 1.1 + +- VRS attachment on RADV + +- None + + +Bug fixes +--------- + +- No sRGB capable visuals/fbconfigs reported in glx +- Graphics corruption and GPU hang with RADV/LLVM +- old kernels (4.19) support in radv +- Elite Dangerous: Odyssey alpha crashes GPU on launch +- CSGO: Some default variables can cause problems with trust mode +- mesa git started to break wine + UnrealTournament.exe (old dx6 game) +- SuperTuxKart artifacting on RK3399 +- [amdgpu]: Golf With Your Friends (431240): ERROR Waiting for fences timed out +- Strange results when trying to read from VK_FORMAT_R64_SFLOAT in compute shader +- anv: dEQP-VK.binding_model.buffer_device_address.set3.depth3.basessbo.convertcheck* slow +- Iris doesn't support INTEL_performance_query anymore +- RADV: TRUNC_COORD breaks gather operations +- [RADV] corruption in avatar after dying in Heroes of the Storm +- Metro Exodus crashing due to memory overflow +- Sauerbraten shader rendering broken on RV530 (r300g) +- texture glitches on CS:GO on Tiger Lake +- Build fail due to "parameter name omitted" on Gallium Nine +- Non-DRI builds broken by recent cleanups in Mesa core +- Cinnamon core dump after installing latest oibaf mesa build (165a69d2) +- yuv sampler lowering regression +- anv: anv_descriptor_set_binding_layout::array_size overflows u16 +- RADV - Vertex explosion in DIRT 5 on RDNA2 +- ci: Use renderdoc from debian +- ci: Use debian apitrace in x86 images +- SIGSEV in v3d_emit_gl_shader_state +- Xorg crash due to assertion failure after GPU soft reset +- AMD hevc_vaapi ffmpeg encoding = wrong image width (48px black bar on the right) +- panfrost: Page fault in glamor when running GIMP with X11 on Mali T860 +- gallium: python trace scripts need updating +- EGL context creation fails when EGL_KHR_create_context_no_error is mentioned for OpenGL ES 1.1. +- [spirv-fuzz] NIR validation failed after spirv_to_nir: error: nir_block_dominates +- [bisected][regression][i965,iris] dEQP-VK.clipping.user_defined.clip_cull_distance.* failing on multiple platforms +- No Mans Sky GPU hang on Radeon ACO +- radeonsi: prusa-slicer crashes on mesa 21 +- anv: dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3_requiredsubgroupsize16 fails on ICL, TGL +- [radeonsi] Rendering of Firefox UI and website content corrupts randomly and after window geometry changes +- max_binding inconsistency in vulkan descriptor set drivers +- anv: conservative rasterization ext question mark +- Unigine Tropics MSAA failure +- warning: xnack 'Off' was requested for a processor that does not support it! [AMD VEGAM with LLVM 12.0.0] +- Compiling some ARB assembly shaders leads to memory corruption +- Specifying an explicit location for an array output messes up transform feedback +- Request for VK_EXT_conservative_rasterization support on Anvil Intel driver for newest DXVK.. +- radv: dEQP regressions after addrlib update +- Up to 30% performance drop (GLBenchmark, GfxBench) +- DOTA 2 don't no longer starts since commit ad241b15a9e517dd4c4e8d7b1d5dab7c3a74b37c +- Clover doesn't work for kmsro drivers +- aco_tests isel.sparse.clause fails with llvm-12 +- util cpu detection breaks on 128-core AMD machines +- util cpu detection breaks on 128-core AMD machines +- Default GL_MAX_TEXTURE_BUFFER_SIZE very small +- intel_nullhw.c:41:38: error: field ‘vtable’ has incomplete type +- ACO error with GCN 1 GPU +- kmsro advertises EGL_MESA_device_software +- d3d12: Use ID3D12Device9::CreateCommandQueue1 when available +- [RADV] Halo: The Master Chief Collection: Crash in Halo Reach Firefight +- freedreno: use SAMPLE_COUNT to autotune sysmem vs gmem +- freedreno: draw_vbo optimizations +- [Bisected][RadeonSI] Mesa crashes when rendering with Eevee in Blender +- subgroupBallotFindMSB() broken in RADV/ACO 20.3.4 +- nir_print: util_cpu_detect() is not called prior to _mesa_half_to_float() +- turnip: buffer overflow read on dEQP-VK.ycbcr.query.levels.tess_eval.r8g8b8a8_unorm +- RuneScape crashes GLOn12 +- d3d12: Surfaces need to use shareable descriptors +- [RADV][RDNA2] Red Dead Redemption 2 image glitches during menu/overlay menu transitions +- "unknown intrinsic" assertion triggered by multiview shader in non-multiview renderpass in Vulkan on intel +- [i965][g965,ilk,g33,g45][bisected] dEQP-GLES2.functional.fbo.completeness.attachment_combinations.* failures +- radv: VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT exposed for VK_FORMAT_R64_SFLOAT +- anv: android building error after commit 4fb6c05 +- Compiling mesa with -Dtools=all throws deprecation warnings for intel tools +- DXVK is broken in latest master +- OpenCLOn12: Affinity Photo CL kernels produce invalid DXIL phis +- nir -> tgsi conversion problem +- [i965][g965,ilk,g33][bisected] fp16 enablement causes deqp test failures +- mesa/st: Uniforms are not updated after lowering alpha test +- [i965][bisected][regression] piglit failing primitive-restart-vbo_combined_vertex_and_index on multiple platforms +- [RADV] Nioh 2 - The Complete Edition: "Bloom" on lights +- [RADV] Oblivion: Poor Performance while MSAA Is Enabled +- lima context state bugs with shader compile +- [RADV][BISECTED] The Surge 2 (644830) - In-game assets do not render correctly since 20.3.4. +- amd clang cannot convert ‘llvm::AtomicOrdering’ to ‘llvm::MaybeAlign’ build failure +- [iris][icl,tgl][bisected][regression] failure on piglit.spec.arb_separate_shader_objects.programuniform coverage +- opencl build fail +- anv: dEQP-VK.glsl.builtin_var.fragcoord_msaa.* fails +- Request - depth format feature SAMPLED_IMAGE_FILTER_LINEAR +- "radeonsi: Check pitch and offset for validity." is a bad commit +- Add OpenCL information to docs/features.txt +- [regression] [bisected] piglit.spec.arb_framebuffer_object.fbo-drawbuffers-none gldrawpixels fails +- RADV: robustBufferAccessUpdateAfterBind is not exposed +- debug build compilation failed: inlining failed in call to ‘always_inline’ ‘_nir_visit_dest_indirect’: indirect function call with a yet undetermined callee +- [RADV/DXVK] Shadow artifacts with different games +- glxgears segfaults with classic i915 +- mesa_glthread=true Black Mesa +- freedreno: rendering corruption in dead cells +- ac/rgp: Android building error after commit 12515d6 +- d3d12: Assert failures & crashes on latest master +- RADV/ACO - DCC causing garbled output on RX570 +- draw.c:121: _mesa_set_draw_vao: Assertion \`vao->_EnabledWithMapMode == _mesa_vao_enable_to_vp_inputs(vao->_AttributeMapMode, vao->Enabled)' failed. +- ANV: Weird jitter in Witcher 1 +- RADV - Path of Exile: Shimmering outlines where water and other objects meet +- ANV: Weird jitter in Witcher 1 +- ANV: Weird jitter in Witcher 1 +- meson: meson-built libraries have inconsistent compatability / current versions compared to older autotools-built libraries +- device select layer breaks other layers +- RADV: Extreme overhead in vkQueueSubmit +- Graphical glitch of popupping missing texture on Mesa version >18.0.5 (Padoka Stable + Unstable/Oibaf/ubuntu-x-swat PPAs) +- [regression] [bisected] dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8 fails +- occasional corruption issue with RADV in multiple games, disappears after using amdvlk +- panfrost T860 regression +- OpenGL on GMA4500MHD +- piglit-replay: JUnit file contains wrong links to the tracie dashboard +- R8 texture upload / corruption bug on Radeon RX 5700 XT +- Ambient Occlusion in Two Point Hospital shows black spot artifacts +- freedreno: async background shader compile +- AMD VAAPI encoding has ceased to work +- Rage 2: Visual corruption on in-game menu with ACO. +- ACO doesn't correctly render map in Borderlands 3 vs. LLVM on 5700 XT +- Invalid shader under panfrost/wayland +- Strange Brigade refuses to load correctly since some recent commits +- GLonD3D12: Crashes and suboptimal fallback +- GLonD3D12: Crashes and suboptimal fallback +- GLonD3D12: Crashes and suboptimal fallback +- [RADV][REGRESSION][BISECTED] radv_GetMemoryFdPropertiesKHR returns no valid memory types for vaapi drmbuf +- anv: vkQueueSubmit with waitSemaphore value of 0 hangs CPU +- ttn: invalid base/range triggering nir_validate assertion +- Sampling with mipmapped HiZ behaves unexpectedly on Gen9 +- zink: ARB_map_buffers issues on CI +- u_upload_mgr: assert failure for large uploads +- [RADV][ACO] Overwatch game crash: amd/compiler/aco_insert_exec_mask.cpp: Failed Assertion +- PRIME render offloading broken +- Use out encoding for float immediates +- [RADV] Severe performance drop when exceeding VRAM compared to AMDVLK +- LIBGL_ALWAYS_SOFTWARE=1 picks zink over actual software rasterizers +- crash/assert in fd_set_viewport_states +- RADV: Occlusion query hangs Big Navi GPU +- "mesa: don't allocate matrices with malloc" cause eglCreateContext problem on android 7. +- Metal Gear Solid V: The Phantom Pain: texture issues and vertex stretches +- [iris and Navi 10] piglit.spec.arb_multi_draw_indirect.arb_draw_elements_base_vertex-multidrawelements -indirect regression +- miscompiled compute shader loop on llvmpipe (and Iris) +- ci: minio caching of arm64 artifacts for bare-metal +- Graphics glitches after upgrade to mesa 20.3 on Khadas VIM3 Pro (Mali G52 GPU) +- glthread crash in _mesa_glthread_upload +- freedreno piglit flakes +- RADV: NonUniform OpArrayLength on SSBO ignores NonUniform. +- Iris driver causing graphics glitch in QEMU spice egl DMA-BUF +- [RADV/ACO] Death Stranding cause a GPU hung (\*ERROR* Waiting for fences timed out!) +- [TGL] Elder Scrolls Online misrenders +- [ANV] System hang with GRVK demos +- ci: Fractional deqp runs with valgrind enabled. +- Regression: Segfault in cso_destroy_context() regression in 20.2 +- Rendering artifacts in Barn Finders specifically on Radeon Vega +- Graphics regression in Assassins Creed Odyssey +- [ANV] Compilation warnings +- regression in !8152 +- [bdw][icl][iris] fails new test \`clearbuffer-depth-cs-probe` +- ci: new traces runner needs dashboard links in the job log and junit +- zink: car model corruption with game TORCS +- glGetInternalformati64v(GL_TEXTURE_2D, GL_SR8_EXT, GL_COLOR_ENCODING) returns GL_NONE +- Windows: 32-bit build is broken hard +- ANV: Not handling separate stencil layouts properly +- [Regression][Intel][OpenGL][Bisected] Copying whole 2D array texture failed on latest driver +- turnip: dEQP-VK.tessellation.invariance.outer_triangle_set.quads_fractional_odd_spacing failure +- i915 regressions bisected to "vbo/dlist: use a shared index buffer" +- intel: Chrome OS "hatch" (cometlake) fails on dEQP-GLES31.functional.geometry_shading.layered.render_with_default_layer_cubemap +- radv: dEQP-VK.sparse_resources.* failures on GFX9 +- freedreno: rendering corruption in War Robots +- radv: dEQP-VK.sparse_resources.* failures on GFX9 +- Mesa 20.3.x crashes pidgin on AMD RX480 +- timespec_get used unconditionally / build fails when targeting macOS 10.14 or earlier +- libunwind not located / used on macOS +- libunwind not located / used on macOS +- meson fails to locate libexpat on macOS +- CarX Drift Racing 2 fails to start +- Some games using FNA framework show blank screen +- Intel Vulkan regression of angle_end2end_tests +- Defer lavapipe warning to queue / command / swapchain buffer creation + + +Changes +------- + +Aaron Watry (2): + +- clover: implement CL_IMAGE_ELEMENT_SIZE +- clover: implement CL_IMAGE_NUM_MIP_LEVELS and CL_IMAGE_NUM_SAMPLES + +Abhishek Kumar (2): + +- intel: change urb max shader geometry for CML GT1 +- intel: change urb max shader geometry for KBL GT1 + +Adam Jackson (66): + +- docs: Mark some non-core zink extensions complete +- docs: Mark some ES3 zink features complete +- egl: Fix error string returned by eglQueryDeviceAttribEXT +- zink: Factor out instance setup a bit more +- osmesa: Pacify MSVC in the test code +- glx: Fix GLX_SGI_video_sync for the no-current-drawable case +- nir: Silence a warning at -Og +- softfloat: Silence a warning at -Og +- glsl: Silence a warning at -Og +- glsl: Silence some warnings at -Og +- glsl: Silence a warning at -Og +- loader: Silence a warning at -Og +- gallivm: Silence a warning at -Og +- nir/ttn: Silence some warnings at -Og +- vl: Silence a warning at -Og +- gallivm: Silence a warning at -Og +- nouveau: Silence some warnings at -Og +- nouveau: Silence a warning at -Og +- xlib: Fix build regression since 99e25d183d9 +- gallium/xlib: Partial fix for glXCopySubBufferMESA +- mesa: Store depth bounds test bounds as GLclampd +- softpipe: Fix depth comparison with float Z formats +- softpipe: Implement GL_EXT_depth_bounds_test +- docs: Document GL_EXT_depth_bounds_test +- zink: Enable GL_EXT_depth_bounds_test +- zink: more and better debug printfs +- zink: Fix a thinko in instance setup +- zink: Wire up ARB_post_depth_coverage +- glx: Pull use_x_font out of the context vtable +- glx: Pull get_proc_address out of the context vtable +- glx: Remove windows' stub {bind,release}_text_image context hooks +- glx/drisw: Implement WaitX and WaitGL +- dri: Explicitly handle all the config attributes +- dri: Fold attribMap into the code +- mesa: Remove misc pbuffer attributes from struct gl_config +- mesa: Remove the texture-from-pixmap state from struct gl_config +- mesa: Remove transparency state from struct gl_config +- mesa: Remove unused gl_config::level +- mesa: Remove the pretense of aux buffer support +- mesa: Stop tracking visual rating in gl_config +- mesa: Remove redundant gl_config::sampleBuffers +- ci: Bump the llvmpipe test timeout to 240 seconds +- mesa/st: Remove unused ST_ATTACHMENT_SAMPLE +- mesa/st: Check for successful framebuffer allocation in st_api_make_current +- gallium: Remove curious st_visual::no_config +- radeon: Exchange one curious idiom for another in radeonMakeCurrent +- mesa: Remove unused _mesa_create_framebuffer +- mesa: Make _mesa_initialize_visual return void +- mesa: Remove unused gl_config::mutableRenderBuffer +- mesa: gl_config::rgbBits should count alphaBits too +- dri: Don't tie the accum buffer's alpha-ness to the color buffer's +- glx: Stop pretending to validate the pbuffer fbconfig attributes +- glx: Don't downgrade the visual caveat from the server +- glx: Downgrade aux-buffer-ful fbconfigs +- glx: Downgrade tfp mipmap-capable fbconfigs +- glx: Downgrade sRGB-ful fbconfigs +- dri: Use __DRI_BUFFER_COUNT consistently internally +- glx: Default sRGBCapable in the same place as the other config attribs +- glx: Clean up fbconfig attribute handling +- glx: Remove some #if 0'd DRI config attribute fetch +- glx: Don't pointlesly add -D_REENTRANT to libGL's cflags +- glx: Move {Bind,Release}TexImage from context to screen vtable +- glx: Be more robust against null fbconfigs +- glx: Lift sending the MakeCurrent request to top-level code +- Revert "glx: Lift sending the MakeCurrent request to top-level code" +- gallium/xlib: Fix for recent gl_config changes + +Adrian Ratiu (1): + +- docs: docker: minor stale documentation fix + +Alejandro Piñeiro (36): + +- v3dv/pipeline: enable lower_add_sat NIR option +- v3d/compiler: enable lower_add_sat NIR option +- v3dv/descriptor: assert CrateDescriptorPool receives valid count values +- v3dv: drop v3dv_resource definition +- v3dv: properly handle two different binding points for cmd_buffers +- v3dv: move to subclassing instance/physical device +- v3dv: remove reference to v3dv_instance on v3dv_physical_device +- v3dv: port to using common dispatch code. +- v3dv: support for depthBiasClamp +- v3dv/device: clarify that we can't expose textureCompressionBC +- v3dv/formats: expose support for BC1-3 compressed formats +- v3dv/meta_copy: get tlb compatible BC compressed formats for copies +- v3dv/descriptor_set: don't free individual set if not allowed +- v3dv: avoid some maybe-uninitialized warnings +- v3dv/pipeline_cache: add more details when dumping debug info +- v3dv/pipeline: remove pregenerate_variant +- v3dv/pipeline: remove pipeline->use_push_constants +- broadcom/compiler: add local_size in v3d_compute_prog_data +- broadcom/compiler: add driver_location_map at vs prog data +- v3dv/pipeline: use driver_location_map instead of nir utilities +- v3dv/pipeline: move topology to pipeline +- v3dv/pipeline: remove compiled_variant_count field +- v3dv/pipeline: remove v3d_key from shader_variant and pipeline stage +- v3dv: define broadcom shader stages +- v3dv/pipeline: use broadcom_shader_stage as pipeline/variant stage type +- v3dv/pipeline: try to get the shader variant directly from the cache +- v3dv/pipeline: don't create a variant if compilation failed +- v3dv/pipeline: compute sha1 for no-op fragment shaders correctly +- v3dv/device: avoid unused-result warning with asprintf +- v3dv: Add support for the on-disk shader cache +- v3dv/cmd_buffer: return early for draw commands if there is nothing to draw +- v3dv: define a default attribute values with float type +- vulkan: track number of bindings instead of max binding for CreateDescriptorSetLayout +- v3dv/device: do not compute per-pipeline limits multiplying per-stage +- v3dv/device: fix and cleanup v3dv limits +- v3dv/pipeline: reduce descriptor_map size + +Alexander Kapshuk (1): + +- frontends/va/image: Eliminate repetitive code on error paths + +Alexander Shi (1): + +- mesa: texparam: Add a clamping macro to handle out-of-range floats returned as integers. + +Alexander von Gluck IV (1): + +- egl/haiku: Fix ConfigID naming inline with mesa + +Alyssa Rosenzweig (345): + +- pan/bi: Fix assertion +- pan/bi: Pipe scratch_size in from NIR +- pan/bi: Fix 64-bit SSBO addresses +- pan/bi: Fix RA of node 0 +- pan/bi: Fix printing of node 0 +- panfrost: Fix TLS sizing if cores are missing +- panfrost: Allow waiting on slots 6/7 during preload +- pan/bi: Add internal debug flag +- pan/bi: Validate format 12 tuple count in disasm +- pan/bi: Print FAU index in verbose mode +- pan/bi: Refactor PC-relative printing +- pan/bi: Lint for infinite loops +- pan/bi: Print disasm/stats with DEBUG=internal +- pan/bi: Fix IDLE register mode packing +- pan/bi: Fix staging register packing +- pan/bi: Fix dependency wait calculation +- pan/bi: Fix M1/M2 decoding in disassembler +- pan/bi: Pull out bi_count_read_registers helper +- pan/bi: Move bi_next_clause to bir.c +- pan/bi: Pass through wait_{6, 7} flags +- pan/bi: Add dead branch elimination pass +- pan/bi: Add "soft" mode to DCE +- pan/bi: Add bi_{before,after}_clause cursors +- pan/bi: Add bi_foreach_clause_in_block_rev +- pan/bi: Add bi_foreach_instr_in_tuple helper +- pan/bi: Add bi_foreach_instr_in_clause iterators +- pan/bi: Add destination iterator macro +- pan/bi: Don't open code bi_foreach_dest +- pan/bi: Permit multiple destinations in RA +- pan/bi: Add interference per clause +- pan/bi: Implement spilling at the clause-level +- pan/bi: Don't fill garbage +- pan/bi: Add CUBEFACE pseudoinstruction +- pan/bi: Print multiple destinations if needed +- pan/bi: Move init_builder to common code +- pan/bi: Add "word equivalence" relation for index +- pan/bi: Stub out scheduler unit test +- pan/bi: Factor nir_function_impl out of the context +- pan/bi: Add bi_can_{fma, add} predicates +- pan/bi: Annotate ISA.xml with 'last' parameter +- pan/bi: Pipe last flag into opcode tables +- pan/bi: Add bi_must_last predicate +- pan/bi: Add bi_must_message predicate +- pan/bi: Label table instructions +- pan/bi: Emit branch and table bits in opcode table +- pan/bi: Add various read predicates +- pan/bi: Unit test bi_can_{fma, add} +- pan/bi: Test bi_must_last +- pan/bi: Test bi_must_message +- pan/bi: Test read predicates +- pan/bi: Move bi_constants to bifrost.h +- pan/bi: Use canonical terminology for tuple +- pan/bi: Use enum bifrost_message_type +- pan/bi: Clarify tuple comment +- pan/bi: Amend misleading comment +- pan/bi: Pack multiple tuples in-memory +- pan/bi: Add clause encodings as a table +- pan/bi: Move bi_packed_tuple to compiler.h +- pan/bi: Add bi_pack_literal +- pan/bi: Add bi_pack_upper +- pan/bi: Add bi_pack_tuple_bits +- pan/bi: Add bi_pack_sync +- pan/bi: Add tuple/embedded constant pack +- pan/bi: Add subword 5/6 pack +- pan/bi: Add subword 4 or 7 pack +- pan/bi: Add pack_format helper +- pan/bi: Calculate pos for constant packing +- pan/bi: Pack multiple tuples per clause +- pan/bi: Add packing unit test group +- pan/bi: Test pack_literal +- pan/bi: Test pack_upper +- pan/bi: Test pack_tuple_bits +- pan/bi: Test pack_sync +- pan/bi: Add packing format tests +- pan/decode: Be explicit when printing invocations +- pan/decode: Remove tiler size checks +- pan/decode: Remove dependency of decoder on the encoder +- pan/decode: Deduplicate SFBD blend printing +- pan/decode: Deduplicate shader property printing +- pan/decode: Remove unused MEMORY_PROP macro +- pan/decode: Simplify tiler printing +- pan/decode: Remove pandecode_prop +- pan/decode: Remove unused disasm stats +- pan/decode: Remove mesa header dependencies +- pan/mdg: Drop unused stage parameter to disassembler +- pan/decode: Remove tile range validation +- pan/decode: Prefer sizeof to ARRAY_SIZE for char +- nir/lower_io: Fix grammar errors +- pan/bi: Fix NULL deref with empty shader +- pan/bi: Add side_effects helper +- pan/bi: Respect side effects in DCE +- pan/bi: Implement AXCHG +- pan/bi: Implement ACMPXCHG +- pan/bi: Add bi_fmul_f32 convenience method +- pan/bi: Fix FLOG_TABLE modifier handling +- pan/bi: Lower frcp to Newton-Raphson +- pan/bi: Lower frsq to Newton-Raphson +- pan/bi: Lower FEXP2 with a table +- pan/bi: Lower flog2 to a table and polynomial +- pan/bi: Rename NO_FP32_TRANSCENDENTALS quirk +- pan/bi: Fix bi quirks detection +- pan/bi: Lower FP32 transcendentals where required +- pan/bi: Lower transcendentals on G71 +- pan/bi: Print program size in shader-db +- pan/bi: Cleanup terminal block check +- pan/bi: Dead code eliminate per-channel +- pan/bi: Include ATEST datum in the instruction +- pan/bi: Add scheduler data structures +- pan/bi: Add cubeface lowering +- pan/bi: Flatten block lists +- pan/bi: Stub worklist routines +- pan/bi: Add constant count estimates to scheduler +- pan/bi: Add FAU update helper +- pan/bi: Add bi_tuple_is_new_src +- pan/bi: Add bi_count_succ_reads helper +- pan/bi: Validate reads_t +- pan/bi: Add T0/T1 constraint check +- pan/bi: Add writes_reg predicate +- pan/bi: Add bi_instr_schedulable predicate +- pan/bi: Choose instructions to schedule +- pan/bi: Destructively schedule a single instruction +- pan/bi: Add passthrough register rewriting helper +- pan/bi: Extract bi_ec0_packed helper +- pan/bi: Add bi_foreach_instr_and_src_in_tuple +- pan/bi: Move bi_constant_field to bifrost.h +- pan/bi: Add pcrel_idx to bi_clause +- pan/bi: Derive M0 from pcrel_idx while packing +- pan/bi: Add trivial rewrite helpers +- pan/bi: Add constant to passthrough rewrite +- pan/bi: Add constant state constructor +- pan/bi: Add constant merging routines +- pan/bi: Add constant modifier handling +- pan/bi: Schedule blocks +- pan/bi: Switch to new scheduler +- pan/bi: Remove old FAU assignment code +- pan/bi: Remove older cube map lowering +- pan/bi: Add nosched debug option +- pan/bi: Fix 'last tuple' for terminal-NOP clauses +- pan/bi: Fix 2-write pseudo op scheduling +- pan/mdg: Fix multithreaded shader-db +- pan/mdg: Add MIDGARD_MESA_DEBUG=inorder option +- pan/mdg: Optimize UBO offset calculations +- pan/mdg: Set lower_uniforms_to_ubo +- panfrost: Fix race condition in UBO mapping to CPU +- panfrost: Respect buffer_offset when mapping to CPU +- panfrost: Move sysvals to dedicated UBO +- panfrost: Don't truncate uniform_count +- panfrost: Add UBO push data structure +- panfrost: Push uniforms required by the program +- panfrost: Set FAU count based on program->push +- panfrost: Don't store uniform_count on Midgard +- pan/mdg: Update UBO promotion comment +- pan/mdg: Push uniforms based on UBO analysis +- pan/bi: Fix multithreaded shader-db +- pan/bi: Add bi_replace_index helper +- pan/bi: Add bi_is_ssa helper +- pan/bi: Print FAU uniforms in IR +- pan/bi: Generalize bi_update_fau with fast zero +- pan/bi: Handle modifiers in rewrite_fau_to_pass +- pan/bi: Rework FAU lowering +- pan/bi: Simplify derivative lowering +- pan/bi: Add SSA-based scalar copy propagation +- pan/bi: Push UBOs on Bifrost +- panfrost: Enable ES3 conformant floating-point +- compiler, nir: Add and set barrier metadata +- panfrost: Set barriers flag for compute shaders +- panfrost: Pass is_blit flag around +- pan/bi: Skip ATEST for colour blit shaders +- panfrost: Fake shader images for bifrost+deqp +- pan/bi: Fix jumps to terminal block again +- pan/bi: Fix empty shader handling +- nir: Add sample_positions_pan intrinsic +- pan/decode: Cleanup sample locations decode +- pan/decode: Only print local storage for vertex jobs +- panfrost: Preload sample mask if needed +- panfrost: Add sample positions sysval +- panfrost: Push sample positions sysval for Midgard +- panfrost: Refactor sample shading state +- panfrost: Respect info.fs.uses_sample_shading +- panfrost: Add panfrost_sample_pattern helper +- panfrost: Set tiler descriptor sampler pattern +- panfrost: Generalize MSAA handling +- panfrost: Don't set REQ_MSAA in pan_mfbd +- panfrost: Don't use PAN_REQ_MSAA in SFBD +- panfrost: Remove PAN_REQ_MSAA +- panfrost: Remove PAN_REQ_DEPTH_WRITE +- panfrost: Remove batch_is_scanout +- panfrost: Set sample count/pattern for tiler FBD +- panfrost: Upload sample positions on device init +- panfrost: Use sample location LUT +- panfrost: Ensure open_device has pandecode initialized +- panfrost: Advertise MSAA 8x and 16x +- panfrost: Implement get_sample_position +- panfrost: Overhaul sysval handling +- panfrost: Add MULTISAMPLED sysval +- pan/mdg: Assert on bad 64-bit swizzle in disassembly +- pan/mdg: Remove unused pack_unorm_4x8 lowering +- pan/mdg: Lower bitfield instructions +- pan/mdg: Rename bitcount8 to popcnt, fixing the unit +- pan/mdg: Implement uclz +- pan/mdg: Lower ufind_msb, poorly +- pan/mdg: Stub load_barycentric_sample +- pan/mdg: Lower stores from helpers +- pan/bi: Remove redundant TEXC opcode check +- pan/bi: Implement texture gathers +- pan/bi: Lower bitfield inserts/extracts +- pan/bi: Implement bitfield_reverse +- pan/bi: Implement ufind_msb +- pan/bi: Lower ifind_msb +- pan/bi: Fix gl_SampleID read +- pan/bi: Implement load_sample_mask_in +- pan/bi: Implement nir_intrinsic_load_sample_positions_pan +- pan/bi: Decouple sysval loading from NIR +- pan/bi: Implement coverage mask updates +- pan/{mdg, bi}: Lower load_helper_invocation +- pan/{mdg, bi}: Lower load_sample_pos +- panfrost: Simplify bind_compute_state +- panfrost: Remove stale TODOs +- panfrost: Assert on indirect compute shaders +- panfrost: Advertise SAMPLE_SHADING +- panfrost: Bump max SSBO count +- panfrost: Bump advertised ESSL feature level +- panfrost: Advertise OES_standard_derivatives +- docs/features: Mark more TBO exts done on panfrost +- docs/features: Mark some ES3.1 done on Panfrost +- docs/features: Mark sample shading done on Panfrost +- docs/features: gl_HelperInvocation on Panfrost +- nir: Fix grammar error +- panfrost: Fix uniform_count on Midgard +- pan/bi: Stub scoreboarding +- pan/bi: Implement barriers +- pan/decode: Fix tiler printing on Bifrost +- pan/decode: Pretty print 22-bit pixel formats +- pan/decode: Disambiguate border colours +- panfrost: Label groups in GenXML +- panfrost: Track coverage, early fragment tests +- panfrost: Flesh out pixel kill / zs update +- panfrost: Handle PIPE_FORMAT_NONE as 'constant' +- panfrost: Flesh out allow_forward_pixel_to_kill check +- panfrost: Export bifrost_get_blend_desc with type size +- panfrost: Add RT conversion sysval +- panfrost: Fix NULL deref for an empty frag shader +- panfrost: Spell fix +- panfrost: Take panfrost_dev for AFBC selection +- panfrost: Set border colour on Bifrost sampler +- panfrost: Remove useless check +- pan/bi: Fix RA of node 0 again +- pan/bi: Don't inline 64-bit constants +- pan/bi: Fix LD_GCLK staging count +- pan/bi: Don't read alpha out of bounds +- pan/bi: Allow @rNULL with tied operands +- pan/bi: Add SEG_ADD.i64 pseudoinstruction +- pan/bi: Add 32-bit atomic pseudoinstruction +- pan/bi: Lower atomic pseudo-instructions +- pan/bi: Extract bi_atom_opc from NIR intrinsic +- pan/bi: Add ATOM_C1 promotion check +- pan/bi: Handle computational atomics +- pan/bi: Materialize \*DTSEL_IMM in the scheduler +- pan/bi: Implement image_atomic_exchange +- pan/bi: Implement image_atomic_comp_swap +- pan/bi: Implement shader_clock intrinsic +- pan/bi: Fix blend shaders using LD_TILE with MRT +- pan/bi: Flesh out LD_TILE emit +- pan/bi: Elucidate slot 6/7 operation +- pan/bi: Preload sample ID for sample shading +- pan/bi: Implement interpolateAtSample +- pan/bi: Add imm_f16 helper +- pan/bi: Implement interpolateAtOffset +- pan/bi: Allow dynamically uniform tex indices +- pan/bi: Use explicit move even for RT#0 of MRT +- panfrost: Comment on state of ARB_shader_clock +- panfrost: Advertise FRAMEBUFFER_NO_ATTACHMENTS +- docs/features: Mark atomics/images done on Bifrost +- panfrost/ci: Mark flaky test +- gallium/tessellator: Remove XBOX 360 code +- gallium/tessellator: Remove unused includes +- gallium/tessellator: Rename D3D11 defines +- pan/bi: Fix more jumps to terminal blocks +- pan/bi: Optimize out redundant jumps to #0x0 +- pan/bi: Fix elimination of repeated branches +- panfrost: Fix infinite loop spilling +- panfrost: Fix NULL dereference adding cbuf to batch +- panfrost: Remove redundant NULL check +- panfrost: Fix NULL deref in pan_mfbd.c +- panfrost: Fix NULL derefs in pan_cmdstream.c +- panfrost: Fix NULL deref in pan_sfbd +- panfrost: Raise TEXTURE_BUFFER_OFFSET_ALIGNMENT +- panfrost: Hide MSAA 8x/16x support +- panfrost: Fix UNORM 16 rendering +- panfrost: Reinterpret format for reload blits +- panfrost: Fix typo in midgard.xml +- panfrost: Don't advertise OES_copy_image +- pan/bi: Use nir_opt_sink/move for constants +- pan/bi: Reduce liveness calculations in DCE +- pan/bi: Inline \`bytemask of read components` +- pan/bi: Mark branches as having side effects +- pan/bi: Mark DISCARD as having side effects +- pan/bi: Make bi_writemask take a destination +- pan/bi: Allow spilling with multiple destinations +- pan/bi: Annotate instructions by destination count +- pan/bi: Adapt builder to dest count +- pan/bi: Remove unused definitions +- pan/bi: Do copyprop in linear-time +- panfrost/lcra: Fix constraint counting +- pan/bi: Use replace_index in more places +- pan/bi: Allow negating constants +- pan/bi: Implement fsin/fcos +- pan/bi: Mark message-passing sources/dests live +- pan/bi: Set clause_state.message conservatively +- pan/bi: Treat +DISCARD.f32 as message-passing +- nir/lower_viewport_transform: Allow geom/tess +- pan/bi: Implement u{add, sub}_sat +- nir: Unify memory atomics +- meson: Remove kmsro from gallium-drivers +- pan/bi: Document register conventions +- pan/bi: Add bi_foreach_block_rev +- pan/bi: Handle 16-bit blend sr_count +- pan/bi: Only run copyprop once +- pan/bi: Only run DCE once +- pan/bi: Remove TODO: RA warnings +- pan/bi: Remove stale todo/assert +- panfrost: Deduplicate UBO count assignment +- panfrost: Deduplicate Bifrost fau_count +- panfrost: Only check blend work count on midgard +- vulkan: Deduplicate mesa stage conversion +- pan/bi: Enable all nir_opt_move/sink optimizations +- pan/bi: Split writemasks for memory stores +- pan/bi: Lower large arrays to scratch +- pan/bi: Add bi_swz_16 helper +- pan/bi: Optimize MKVEC.v2i16 generation +- pan/bi: Lower swizzles +- pan/bi: Fill in some more conversions +- pan/bi: Generalize f2i16, f2u16 +- pan/bi: Remove conversion lowering +- nir: Add nir_type_convert +- nir: Add {i2f, u2f, f2i, f2u} helpers +- nir/lower_idiv: Convert to lower_instructions +- nir/lower_idiv: Factor out numer/denom load +- nir/lower_idiv: Add 8-bit and 16-bit lowering path +- pan/bi: Determine block successors correctly +- panfrost: Fix AFBC body_size for shared resources +- panfrost: Enable AFBC buffer sharing +- nir: Add varying precision linking helper (v2) +- docs: Add some notes on building for macOS +- panfrost: Fix formats converting uninit from AFBC + +Andreas Bergmeier (1): + +- v3dv: Output a message if file open fails in physical_device_init + +Andres Gomez (29): + +- ci: recover tracie dashboard URLs for failing traces +- ci: correct the trace image URLs in the piglit summary +- ci: make piglit runner less noisy and show a better failure message +- ci: clean paths used in the piglit runner +- ci: correct piglit's HTML summary location for artifacts upload +- ci: make sure piglit's artifacts are not overwritten +- ci: correct artifacts location for piglit's runner messages +- ci: tracie dashboard URLs only in the failure after the testcase +- ci: piglit runner colors diff output on failures +- ci: remove pytest since we don't need it any more +- ci: only install piglit dependencies when installing piglit +- ci: build gfxreconstruct v0.9.5 +- ci: add libdrm to the x86_test-vk container +- .mailmap: colapse duplicates for Timothy Arceri +- .mailmap: resolve duplicates for Icecream95 +- .mailmap: resolve duplicates for Christopher Li +- .mailmap: resolve duplicates for Emmanuel Vadot +- .mailmap: resolve duplicates for Indrajit Das +- .mailmap: resolve duplicates for James Xiong +- .mailmap: resolve duplicates for Jan Zielinski +- .mailmap: resolve duplicates for Lin Johnson +- .mailmap: resolve duplicates for Mark Menzynski +- .mailmap: resolve duplicates for Matthias Hopf +- .mailmap: resolve duplicates for Matthias Lorenz +- .mailmap: resolve duplicates for Maya Rashish +- .mailmap: resolve duplicates for Mun Gwan-gyeong +- .mailmap: resolve duplicates for Satyeshwar Singh +- .mailmap: resolve duplicates for Yogesh Mohan Marimuthu +- .mailmap: add an alias for Eleni Maria Stea + +Andrew McMahon (1): + +- util: add mesa_glthread for Half Life 2 and Black Mesa. + +Andrii Simiklit (7): + +- st/mesa: fix pbo upload/download for arrays of textures with only 1 layer +- iris: don't emit IRIS_DIRTY_VF depending on trash in restart_index +- mesa: ensure parameter list capacity before associating uniform storage +- glsl/linker: Fix xfb stride alignment for buffers containing 64bit types +- gitlab-ci: remove fixed tests +- spirv: repair ssa defs for switchs with only default case +- nir/spirv: remove unused fields from \`vtn_builder` + +Antonio Caggiano (4): + +- zink: check shader stencil output +- zink: support stencil-export +- zink: fix destroy batch +- ci: Use lock file to build deqp-runner + +Anuj Phogat (32): + +- intel/anv: Fix condition to set MipModeFilter for YUV surface +- intel/anv: Fix condition for planar yuv surface +- intel: Rename files with gen\_ prefix in common code to intel\_ +- intel: Rename "gen\_" prefix used in common code to "intel\_" +- intel: Fix broken alignment due to gen\_ prefix renaming +- intel: Rename "GEN\_" prefix used in common code to "INTEL\_" +- i965: Remove blank line at EOF +- i965: Rename files with "intel\_" prefix to "brw\_" +- intel/isl: Drop intel\_ prefix in function names +- anv: Remove redundant #if checks +- intel: Remove GEN_IS_HASWELL macro +- intel: Simplify version checks involving haswell +- intel: Remove GEN_IS_G4X macro +- intel: Simplify few version checks involving G4X +- intel: Rename GEN_VERSIONx10 macro to GFX_VERx10 +- intel: Rename GEN_GEN macro to GFX_VER +- intel: Rename ISL_DEV_GEN to ISL_GFX_VER +- intel: Rename genx10 field in gen_device_info struct to verx10 +- intel: Rename gen field in gen_device_info struct to ver +- intel: Rename genx keyword in filenames to gfxx +- intel: Rename GENx prefix in macros to GFXx in build files +- intel: Rename GENx prefix in macros to GFXx in source files +- intel: Rename genx keyword to gfxx in build files +- intel: Rename genx keyword to gfxx in source files +- intel: Rename Genx keyword to Gfxx +- intel: Rename GENx keyword to GFXx +- intel: Rename IS_GEN* macros to IS_GFX_VER* +- intel: Make line wrapping changes due to IS_GFX_VER_BETWEEN +- intel: Remove unused MAKE_GEN macro +- intel: Rename GEN_{ALL, LT, ..} macros to GFX_{ALL, LT, ..} +- intel: Rename GEN:BUG:### to Wa_### +- intel: Rename WA_### to Wa_### + +Arcady Goldmints-Orlov (14): + +- v3dv: Fix uninitialized variable warnings +- nir: add more intrinsics to divergence analysis +- nir: handle v3d intrinsics in divergence analysis +- nir: store the results of divergence analysis on loops +- broadcom/compiler: Use ANYA for branches in uniform ifs +- broadcom/compiler: Emit uniform loops using uniform control flow +- broadcom/compiler: Enable PER_QUAD TMU access only in uniform control flow +- v3dv: Only lower local arrays of size up to 2 to if-chains +- broadcom/compiler: improve generation of if conditions +- Revert "broadcom/compiler: improve generation of if conditions" +- v3dv: initialize render_fd at the top of physical_device_init +- broadcom/compiler: Add a v3d_compile argument to vir_set_[pu]f +- broadcom/compiler: Skip bool_to_cond where possible +- broadcom/compiler: Merge instructions more efficiently + +Arno Messiaen (1): + +- lima/ppir: increase usage of pipeline regs + +Axel Davy (76): + +- st/nine: Reduce system memory allocated by D3DUSAGE_AUTOGENMIPMAP +- st/nine: Do not allow depth buffer render targets +- st/nine: Clamp GetAvailableTextureMem +- st/nine: Unmap buffers after full unlock +- st/nine: Track formats compatible with FETCH4 +- st/nine: Implement experimental FETCH4 +- st/nine: Enable DF24 support +- st/nine: Add new debug and error checks +- st/nine: Refactor ht_guid_delete +- st/nine: Protect \*PrivateData also for Volumes +- st/nine: Fix leak at device destruction +- driconf: Rename csmt_int back to csmt_force +- st/nine: Simplify checks for driconf options +- st/nine: Add new function to know if we are the worker +- st/nine: Add RAM memory manager for textures +- st/nine: Use the texture memory helper +- st/nine: Control the memfd virtual limit +- st/nine: Add driconf option to limit texture memory +- st/nine: Set default dynamic_texture_workaround to true +- st/nine: Check memfd_create support +- st/nine: Fix compilation issue in nine_debug +- st/nine: Optimize EndScene +- st/nine: Implement SYSTEMMEM buffers same as MANAGED +- st/nine: Refactor DrawPrimitiveUp +- st/nine: Optimize DrawPrimitiveUp +- st/nine: Use correct bind flag at buffer creation +- gallium/util: Add new u_box helpers +- st/nine: Track pending MANAGED buffer uploads +- st/nine: Optimize dynamic systemmem buffers +- st/nine: Force DYNAMIC SYSTEMMEM for sw vertex processing +- st/nine: Always use DYNAMIC with SYSTEMMEM +- st/nine: Use stream_uploader for bad cases of systemmem +- st/nine: detect worker threads syncs for systemmem +- radeonsi: Limit the size of the in-memory shader cache +- radeonsi: fix leak when the in-memory cache is full +- st/nine: Disable fpu exceptions during init +- st/nine: Fix crash on texture creation failure +- st/nine: Fix cubetexture early destruction +- st/nine: Add missing breaks +- st/nine: Fix invalid NULL check +- st/nine: Prevent use after free on dtor +- st/nine: Fix reading invalid pointer +- st/nine: Fix compilation warnings +- st/nine: Fix read outside bounds for some textures +- st/nine: Fix value of pipe_draw_info's max_index vertex +- st/nine: Prevent negative reference count +- st/nine: Improve Surface GetContainer +- st/nine: Fix alpha to coverage states +- st/nine: Enable multisampling also without depth buffer +- st/nine: Handle D3DFMT_NULL multisampling +- st/nine: Remove errors on unsupported lock flags +- st/nine: Increase number of constants of vs1_sw +- st/nine: Ignore swizzle on samplers +- st/nine: Clamp max_anisotropy +- st/nine: Refuse depth buffers as rendertargets +- st/nine: Fix ps ff BLENDTEXTUREALPHA +- st/nine: Fix ff has_aNrm computation +- st/nine: Catch redundant scissor and viewport settings +- st/nine: Pseudo implement set/getClipstatus +- st/nine: Improve Reset on Ex devices +- st/nine: Pseudo implement Create*Ex functions +- st/nine: Complete \*Ex stubs +- st/nine: Add logging to Ex function +- st/nine: Have NOOVERWRITE win over DISCARD +- st/nine: Do not memset buffers twice +- st/nine: Add fallback for YUV formats +- st/nine: Use PIPE_MAP_ONCE for persistent buffers +- st/nine: Disable buffer_upload when csmt is off +- st/nine: Allow to override the vram size +- st/nine: Make it optional to use a sw renderer +- st/nine: Lower texture_memory_limit default +- st/nine: Bump num of backbuffers for tearfree thread_submit +- st/nine: Improve performance with thread_submit +- st/nine: Default thread_submit to true +- st/nine: Default tearfree_discard to true +- st/nine: Fix compilation error on non-x86 platforms + +Bas Nieuwenhuizen (87): + +- ac/surface: Fix GFX9 sparse mip info. +- radv: Do not use a pipe offset for aliased sparse images. +- radv: Add a trivial implementation of VK_KHR_deferred_host_operation +- radv: Use stricter HW resolve swizzle compat check. +- radv: Expose VK_KHR_workgroup_memory_explicit_layout. +- radv: Do not hash vk_object_base in descriptor set layout. +- amd/common: Add modifier size helper. +- radv: Extract DCC format support handling. +- radv: Use the surface offset from ac_surface instead of a plane offset. +- radv: Don't relayout images with modifiers. +- radv: Add format modifier format queries. +- radv: Add drm format modifier queries. +- radv: Add image layout with drm format modifiers. +- radv: Enable DRM format modifiers on GFX9+. +- radv: Enable modifiers with the WSI. +- radv: Add modifier fails for CTS bug. +- radv: Fix assert. +- radv: Implement VK_KHR_zero_initialize_workgroup_memory. +- radv: Improve spilling on discrete GPUs. +- radv: Fix vram override with fully visible VRAM. +- radv: Remove custom icd json generation. +- radv: Define supported extensions in C. +- radv: Ignore WC flags for VRAM. +- radv: Determine swizzles correctly. +- radv: Add plane width/height helpers. +- radv: Use u_format helpers when possible. +- radv: Remove VK_SWIZZLE_*. +- radv: Do no use vk_format for getting divisors. +- radv: Do not use generated table for plane formats. +- radv: Stop checking for MULTIPLANE layout. +- radv: Stop using plane_count. +- radv: Only support format with a PIPE_FORMAT. +- radv: Start using util_format_description for everything. +- radv: Remove the format table. +- radv: Remove vk_format_has_stencil/depth helpers. +- radv: Properly handle modifier import failure. +- radv: Do pipe misalignment check per plane. +- radv: Don't use dedicated memory info to indicate sharing. +- vulkan/device_select: Stop using device properties 2. +- amd/common: constify ac_surface_set_umd_metata. +- radv: Handle UMD metadata on import. +- radv: Use shared code for setting opaque metadata. +- amd/common: Add retile map size helper. +- radv: Implement initialization of displayable DCC. +- radv: Implement displayable DCC retiling. +- radv: Add DCC info to the metadata. +- radv: Use ac_surface DCC settings for shareable images. +- radv: Enable displayable DCC. +- radv: Disable displayable DCC for GFX8 properly. +- ac/rgp: Only report double the prims per clock on GFX10. +- radv: Expose robustBufferAccessUpdateAfterBind correctly. +- frontends/va: Use correct size for secondary planes. +- radv: Enable linear sampling for depth textures. +- radv: Add sam option. +- radv: Add nodisplaydcc option. +- radv: Use correct DCC compressed block size for sampling. +- radv: Dedupe winsyses per device. +- radv: Allow extra planes for DCC. +- radv: Enable sharing with DCC with modifiers. +- radv: Ensure we never decompress or FCE read-only textures. +- radv: Allow DCC for images with modifiers that are read-only. +- radv: Use 8x8 meta compute workgroups. +- radv: Enable DCC for image stores on GFX10. +- radv: Only set WRITE_COMPRESS_ENABLE on supported HW. +- vulkan: Fix descriptor set creation with zero bindings. +- lavapipe: Free sorted descriptor array. +- zink: Remove initialization of some arrays +- zink: Only set the needed number of scissors. +- radv: Flush caches for shader read operations. +- nir: Fix shader calls with nir_opt_dead_write_vars. +- nir: Extract shader_info->cs.shared_size out of union. +- nir: Remove nir_shader->shared_size. +- nir: Do not reset shared_size in nir_lower_io. +- radv: Support DCC without a fast clear value. +- radv: Support DCC without DCC/FCE predicates. +- radv: Add retiling for foreign queues. +- radv: Support DCC modifiers fully. +- radv: Add clang-format for AMD code. +- radv: Format. +- radv: Update editorconfig. +- radv: Re-enable retiling. +- radv: Refactor cs_domain to be a winsys function. +- radv: Use VRAM cmdbuffers in more situations. +- radv/winsys: Remove use_local_bos +- radv: Fix memory leak on descriptor pool reset with layout_size=0. +- amd/common: Use cap to test kernel modifier support. +- radv: Only require DRM 3.23. + +Bastian Beranek (1): + +- glx: Assign unique serial number to GLXBadFBConfig error + +Ben Niu (1): + +- util: When building 'ARM64EC', don't use x64 intrinsics which need to be emulated + +Benjamin Tissoires (3): + +- CI: windows: augment the timeout of building the windows container +- CI: windows: split the layers to meet new registry requirements +- CI: windows: Force using LLVM 12 + +BillKristiansen (1): + +- d3d12: fix for upside-down multisample stencil blit + +Boris Brezillon (91): + +- panfrost: Don't skip the test with a 4k shader +- panfrost: Fix tiler job injection (again) +- panfrost: Get rid of IS_BIFROST +- panfrost: Don't memset the last attribute buffer entry twice +- panfrost: Only allocate the extra attribute buffer entry on Bifrost +- panfrost: Set attribs and attrib_bufs to NULL when attrib_count = 0 +- panfrost: Rename and move pan_render_condition_check() +- panfrost: Use dev->arch where appropriate +- panfrost: Add a panfrost_compile_shader() helper +- panfrost: Update ctx->batch when a fresh batch is requested +- panfrost: Fix a polygon list corruption in the multi-context case +- panfrost: Don't add the tiler BO when it's not accessed +- pan/bi: Add an is_terminal_block() helper +- pan/bi: Make sure we never branch to an non-existing clause +- pan/bi: Add uclz() support +- pan/bi: Support bit_count() +- panfrost: Use panfrost_get_shader_options() in panfrost_build_blit_shader() +- panfrost: Hide backend compiler internals +- panfrost: Prefix shader related helpers with pan_shader\_ +- panfrost: Move sysval_to_id out of panfrost_sysvals +- panfrost: Keep the compiler inputs in the context +- panfrost: Move the shader compilation logic out of the gallium driver +- panfrost: Provide a helper to prepare the shader related parts of an RSD +- panfrost: Use the pan_shader_prepare_rsd() helper +- panfrost: Rename pan_blend.h into pan_blend_cso.h +- panfrost: Move the blend lowering code out of the gallium driver +- panfrost: Move the blend logic out of the gallium driver +- Revert "pan/bi: Optimize out redundant jumps to #0x0" +- pan/bi: Move int64 lowering before idiv lowering +- panfrost: Split the direct and indirect draw logic +- panfrost: Add a parameter to suppress next job prefetching +- panfrost: Allow passing an explicit global dependency when queuing a job +- panfrost: Add a pan_section_offset() helper +- panfrost: Move pan_special_varying definition to pan_encoder.h +- pan/bi: Extend the bi_builder to support type variants correctly +- panfrost: Add a knob to disable the UBO -> push constants optimization +- panfrost: Allow passing an explicit UBO index for the sysval UBO +- panfrost: Print the correct UBO size when dumping UBO information +- panfrost: Don't count the special vertex/instance ID attributes on Bifrost +- panfrost: Split the sampler and texture count +- panfrost: Expose panfrost_modifier_to_layout() +- pan/gen_pack: Parse alignment requirements +- panfrost: Specify descriptor alignment requirements +- panfrost: Provide various helpers to simplify descriptor allocation +- panfrost: Define the Surface and Surface-with-stride descriptors +- panfrost: Emit surface descriptors with pan_pack() +- panfrost: Use the descriptor allocators where appropriate +- panfrost: Get rid of panfrost_pool_alloc() +- panfrost: Move the blend shader cache at the device level +- panfrost: Use the blend shader cache attached to the device +- panfrost: Don't reserve space in the color buffer for disabled RTs +- panfrost: Skip disabled RTs when selecting a RT for transaction elimination +- panfrost: Stop including pan_device.h from pan_bo.h +- panfrost: Add helpers to support indirect draws +- panfrost: Prepare things for indirect draws +- panfrost: Hook up indirect draw support +- panfrost: s/panfrost_slice/pan_image_slice_layout/ +- panfrost: Move image states out of pan_image_layout +- panfrost: Add a format field to pan_image_layout +- panfrost: Stop passing a depth > 1 when creating 2D textures +- panfrost: Add extra info to the pan_image_layout struct +- panfrost: Split pan_image in two +- panfrost: Add an offset field so we can attach a sub-buffer to an image +- panfrost: Move out-of-band CRC info to pan_image +- panfrost: Move special Z32_S8X24 case out of panfrost_setup_layout() +- panfrost: Add a pan_image_layout_init() helper +- panfrost: Patch the gallium driver to use pan_image_layout_init() +- panfrost: Pass an image view to panfrost_new_texture() +- panfrost: Provide a helper to calculate the polygon list size +- panfrost: Provide a helper to retrieve image surface pointers +- panfrost: Pass a const device to panfrost_sample_positions() +- pan/midg: Use the sampler index passed to the texture instruction +- panfrost: Add various helpers to simplify FB desc emission +- panfrost: Add an helper to emit fragment jobs +- panfrost: Add align info to the draw and draw padding definitions +- panfrost: Add the early ZS pre frame mode +- panfrost: s/pandecode_vertex_tiler_postfix_pre/pandecode_dcd/ +- panfrost: Decode pre/post frame DCDs +- panfrost: Extend pan_fb_info to allow passing a tile enable map +- panfrost: Extend pan_fb_info to allow passing pre/post frame DCDs +- panfrost: Always pass a non-NULL screen to set_damage_region() +- panfrost: Create a blitter library to replace the existing preload helpers +- panfrost: Fix partial update +- panfrost: Use the generic preload and FB helpers in the gallium driver +- panfrost: Kill the old tile-buffer preload logic +- panfrost: Pass a tile enable map to avoid reloading untouched tiles +- panfrost: Fix pan_blitter_get_blit_shader() +- panfrost: Don't advertise AFBC mods when the format is not supported +- panfrost: Reserve thread storage descriptor in panfrost_launch_grid() +- panfrost: Fix indirect draws +- panfrost: Fix ZS reloading on Bifrost v6 + +Boyuan Zhang (2): + +- frontend/va/image: add pipe flush for vlVaPutImage +- frontends/omx/h265: search entire dpb list + +Caio Marcelo de Oliveira Filho (43): + +- intel/fs: Separate SLM size calculation from encoding +- nir: Add a data pointer to the callback in nir_remove_dead_variables +- spirv: Don't remove variables used by resource indexing intrinsics +- nir/linking: Remove system_value handling from helper +- compiler: Use util/bitset.h for system_values_read +- ci: Add nouveau chipset 162 to shader-db runs +- vulkan: Update XML and headers to 1.2.168 +- spirv: Update headers and metadata from latest Khronos commit +- nir: Two shared memory \*blocks* may alias each other +- spirv: Implement SPV_KHR_workgroup_memory_explicit_layout +- anv: Implement VK_KHR_workgroup_memory_explicit_layout +- spirv: Don't bother counting num_images/num_textures +- spirv: Don't remove dead variables in \`create_library` mode +- spirv: Store SPIR-V version of the module +- spirv: Refactor variable initializer code +- spirv: Recognize zero initializers in Workgroup variables +- nir: Add nir_zero_initialize_shared_memory +- anv: Implement VK_KHR_zero_initialize_workgroup_memory +- spirv: Fail when parsing invalid Initializers +- spirv: Use OpEntryPoint to identify valid I/O variables +- spirv: Count variables \*after* unused ones are removed +- spirv: Skip creating unused variables in SPIR-V >= 1.4 +- spirv: Allow variable pointers pointing to an array of blocks +- intel/compiler: Use gl_varying_slot_name_for_stage() +- freedreno/ir3: Use gl_varying_slot_name_for_stage() +- etnaviv: Use gl_varying_slot_name_for_stage() +- st/atifs: Use gl_varying_slot_name_for_stage() +- compiler: Drop now unused gl_varying_slot_name() +- spirv: Reuse nir_is_per_vertex_io() +- spirv: Explicitly break when finished handling SpvDecorationBuiltIn +- spirv: Update a couple of comments in variable handling +- anv: Lower ViewIndex to zero when multiview is disabled +- spirv: Update headers and metadata from latest Khronos commit +- nir: Handle deref_atomic_fadd in a couple of passes +- intel/compiler: Make vue_map parameter const for brw_compile_fs +- intel/compiler: Use a struct for brw_compile_fs parameters +- intel/compiler: Use a struct for brw_compile_vs parameters +- intel/compiler: Refactor the shader INTEL_DEBUG checks +- intel/compiler: Make brw_postprocess_nir take debug_enabled as a parameter +- intel/compiler: Make vec4 generator take debug_enabled as a parameter +- intel/compiler: Make visitors take debug_enabled as a parameter +- intel/compiler: Use INTEL_DEBUG=blorp to dump blorp shaders +- intel/compiler: Use a struct for brw_compile_cs parameters + +Chad Versace (30): + +- anv/image: Replace bo_is_owned with from_gralloc (v2) +- anv/image: Rename anv_image_plane::surface -> primary_surface +- anv/image: Move vkGetImageMemoryRequirements +- anv/image: Drop duplicate 'format' in anv_image_create() +- anv/image: Fix interpretation of 'disjoint' +- anv/android: Fix size check for imported gralloc bo +- anv: Add anv_surface_is_valid() +- anv/image: Clean up anv_GetImageMemoryRequirements2 +- anv: Refactor anv_image_get_compression_state_addr +- anv/image: Add anv_image_address() +- blorp/gen12: Don't use aux address if implicit CCS +- anv/image: Make memory layout more explicit +- vulkan: Track dependencies of Python imports +- anv/image: Simplify assertions in anv_image_from_swapchain() +- anv/image: Fix tiling if VkImageSwapchainCreateInfoKHR +- anv/image: In vkCreateDmaBufImageINTEL use modifiers +- anv/image: Check that anv_image is compatible with its modifier +- anv/image: Refactor check_memory_bindings() +- anv/image: Fix cleanup of failed image creation +- anv/image: Add ANV_IMAGE_MEMORY_BINDING_PRIVATE +- anv/image: Fix Vk*ImagePlaneMemory*Info for modifier images +- anv: Move assert in vkGetImageSubresourceLayout +- anv/image: Fix vkGetImageSubresourceLayout for modifier images +- anv: Implement image acquire/release of modifier images +- anv: Declare anv_layout_to_* as pure functions +- anv/image: Add 'offset' param to add_surface() +- anv/image: Support VkImageDrmFormatModifierExplicitCreateInfoEXT +- anv: Enable VK_EXT_image_drm_format_modifier +- anv: Remove vkCreateDmaBufINTEL (v4) +- anv: Drop unused anv_image_create_info::stride + +Charmaine Lee (1): + +- gallivm: increase size of texture target enum bitfield + +Chia-I Wu (38): + +- virgl: update headers +- virgl: add support for VIRGL_CAP_V2_UNTYPED_RESOURCE +- targets/libgl-xlib: add support for virgl +- virgl: update headers from virglrenderer +- venus: add driver skeleton +- venus: add generated venus-protocol headers +- venus: add experimental renderers +- venus: add a CS encoder/decoder +- venus: add a ring buffer +- venus: initial support for vkCreateInstance +- venus: initial support for VkPhysicalDevice commands +- venus: initial support for VkDevice commands +- venus: initial support for queue/fence/semaphore +- venus: initial support for VkDeviceMemory commands +- venus: initial support for buffers/images/samplers +- venus: initial support for descriptor sets +- venus: initial support for render pass and fb +- venus: initial support for events and queries +- venus: initial support for module and pipelines +- venus: initial support for command buffers +- venus: advertise extensions promoted to 1.1 +- venus: advertise extensions promoted to 1.2 +- venus: initial support for transform feedback +- venus: initial support for WSI +- venus: update venus-protocol headers +- venus: prepare for splitting vn_device.[ch] +- venus: split out vn_command_buffer.[ch] +- venus: split out vn_pipeline.[ch] +- venus: split out vn_query_pool.[ch] +- venus: split out vn_render_pass.[ch] +- venus: split out vn_descriptor_set.[ch] +- venus: split out vn_buffer.[ch] +- venus: split out vn_image.[ch] +- venus: split out vn_device_memory.[ch] +- venus: split out vn_queue.[ch] +- venus: include individual venus-protcol headers +- ci: enable venus in some meson build jobs +- venus: check vn_renderer_info::vk_xml_version + +Christian Gmeiner (26): + +- etnaviv: handle NULL views in set_sampler_views +- vc4: add drm-shim +- ci: Update baremetal kernel to 5.11 plus patches +- nir: add load_texture_rect_scaling +- nir: add has_txs flag +- nir/lower_tex: 'txs free' tex_rect lowering +- nir/lower_tex: wider usage of nir_tex_instr_src_index(..) +- gallium: add PIPE_CAP_TEXRECT +- gallium/st: lower rectangle textures if not supported +- ttn: lower rectangle textures if not supported +- etnaviv: nir: support nir_intrinsic_load_texture_rect_scaling +- etnaviv: let st lower rect tex +- vc4: let st lower rect tex +- etnaviv: nir: add ubo lowering pass +- etnaviv: use nir_lower_uniforms_to_ubo(..) +- etnaviv: fix etna_nir_lower_ubo_to_uniform pass +- etnaviv: extend lower ubo tests +- gallium: call util_cpu_detect() +- etnaviv: use nir_lower_idiv(..) before opt loop +- ci/bare-metal: fix fastboot +- etnaviv: etnaviv: put sampler limit determination into own function +- etnaviv: factor out TS state emitting +- etnaviv: add support for NTE +- etnaviv: rename struct members +- ci/bare-metal: no need to use tee +- etnaviv: tell the truth if alpha-test is supported + +Connor Abbott (61): + +- nir/lower_tex: Handle sized tex destination types +- freedreno/ir3: Handle sized tex destination types +- ntt: Handle sized tex destination types +- nir/lower_bool: Rewrite dest_type for boolean destinations +- brw/vec4: Don't convert tex dest type to glsl_type +- radv/meta: Use sized types for nir_tex_instr::dest_type +- v3dv/meta: Use sized types for nir_tex_instr::dest_type +- intel/blorp: Use sized types for nir_tex_instr::dest_type +- anv: Use sized types for nir_tex_instr::dest_type +- dxil: Use sized types for nir_tex_instr::dest_type +- panfrost/blit: Use sized types for nir_tex_instr::dest_type +- d3d12/blit: Use sized types for nir_tex_instr::dest_type +- nir: Use sized types for nir_tex_instr::dest_type +- st/mesa: Use sized types for nir_tex_instr::dest_type +- gallium/nir: Use sized types for nir_tex_instr::dest_type +- ttn: Use sized types for nir_tex_instr::dest_type +- st/atifs: Use sized types for nir_tex_instr::dest_type +- glsl/nir: Use sized types for nir_tex_instr::dest_type +- vtn: Use sized types for nir_tex_instr::dest_type +- ptn: Use sized types for nir_tex_instr::dest_type +- nir: Validate nir_tex_instr::dest_type bitsize +- nir/lower_tex: Assume that nir_tex_instr::dest_type is sized +- panfrost: Assume that nir_tex_instr::dest_type is sized +- ir3: Assume that nir_tex_instr::dest_type is sized +- ntt: Assume that nir_tex_instr::dest_type is sized +- freedreno/a6xx: Document threadsize-related fields +- freedreno/cffdec: Use rb trees for tracking buffers +- ir3/parser: Fix parsing of "0.0" in @const line +- freedreno/computerator: Fix example assembly +- ir3/parser: Support labels +- ir3/parser: Add ability to specify branchstack +- freedreno/computerator: Add branching example +- freedreno/computerator: Fix thrsz type +- freedreno/a6xx: Fix compute threadsize type +- freedreno/registers: Handle typed registers with fields +- freedreno/a6xx: Cleanup SP_XS_CTRL_REG0 definitions +- freedreno: Add local_size to ir3_shader_variant +- ir3: Calcuate max_waves and threadsize +- turnip: Use threadsize calculated by ir3 +- freedreno: Use threadsize calculated by ir3 +- freedreno/computerator: Use threadsize calculated by ir3 +- freedreno: Report max_waves in shaderdb output +- freedreno/computerator: Add script for finding reg file size +- util/bitset: Avoid out-of-bounds reads +- freedreno/a3xx: Fix SP_FS_CTRL_REG1_INITIALOUTSTANDING +- ir3/legalize: Fix last input (ss) insertion +- ir3: Fix valid flags for STIB +- ir3/cp_postsched: Set address of uses for relative mov's +- ir3: Don't copy propagate arrays in ir3_cp +- ir3/postsched: Make sure to schedule inputs before kill +- vtn: Handle ZeroExtend/SignExtend image operands +- tu: Expose VK_KHR_spirv_1_4 and VK_EXT_scalar_block_layout +- tu: Expose VK_KHR_relaxed_block_layout +- ir3/sched: Don't penalize uses of already-waited tex/SFU +- ir3/sched: Don't schedule too many tex/SFU instructions +- ir3: Fix list corruption in legalize_block() +- tu: Correctly preserve old push descriptor contents +- ir3: Prevent oob writes to inputs/outputs array +- nir/lower_clip_disable: Fix store writemask +- tu: Fix SP_GS_PRIM_SIZE for large sizes +- ir3/postsched: Fix dependencies for a0.x/p0.x + +Corentin Noël (1): + +- ci: Use lavacli from master + +Daniel Schürmann (67): + +- aco: fix VOP3P assembly, VN and validation +- aco/RA: fix subdword operands on VOP3P instructions +- aco: allow constants/literals on every src position for VOP3P +- aco: allow SGPRs on every src position for VOP3P +- aco: change usesModifiers() considering opsel_hi on packed instructions +- aco: create helpers to emit vop3p instructions +- aco: emit packed 16bit instructions +- radv: vectorize 16bit instructions +- aco: simplify multiply-add combining +- aco: optimize packed mul+add to v_pk_fma_f16 +- aco: optimize packed clamp +- aco: optimize packed fneg +- aco: optimize v_pk_fma_f16 -> v_pk_fmac_f16 on GFX10 +- aco: propagate swizzles when optimizing packed clamp & fma +- aco: remove divergent branches which only jump over very few instructions +- aco/optimizer: don't copy-prop logical phis +- aco/optimizer: don't propagate subdword temps of different size +- aco: generalize subdword constant copy lowering +- aco/validate: validate that p_create_vector operands are aligned unless they are subdword operands +- aco/validate: ensure that Operand and Definition size matches for parallelcopies +- aco/validate: relax subdword restrictions +- aco: propagate temporaries into PSEUDO instructions if it can take it +- aco/optimizer: expand subdword vectors with SGPRs on all generations +- aco/optimizer: convert extract_vector with index 0 into parallelcopies if possible +- radv: don't vectorize shift operations +- aco: fix VCC hint on boolean subgroup operations +- aco: fix nir_intrinsic_ballot with wave32 +- aco: fix shared VGPR allocation on RDNA2 +- aco: change gpr_alloc_granule to full alignment +- aco: refactor GPR limit calculation +- aco: don't decrease the vgpr_limit when encountering bpermute +- aco: also consider VCC in get_reg_specified() +- aco: check get_reg_specified() on register hints +- aco: don't abort() if disassembly fails +- aco: use VCC as regular SGPR pair on GFX10 +- aco: don't create unnecessary exec phi on merge blocks +- aco: handle non-temp phi definitions and operands +- aco: make all exec accesses non-temporaries +- aco: remove dead code for the handling of exec temporaries +- aco: fix assertion in insert_exec_mask pass +- nir: lower load_helper to is_helper if the shader uses demote() +- nir: lower is/load_helper to zero if no helper lanes are needed +- aco: remove special handling of load_helper_invocation +- aco: don't rematerialize exec +- aco: value number VOPC instructions with different exec masks +- aco/value_numbering: use can_eliminate() function to avoid unnecessary hashmap lookups +- aco/optimizer: set VCC hint on new v_cmp_* definitions +- aco/ra: allow VCC on SMEM sbase operand on GFX10+ +- .mailmap: fix email for Daniel Schürmann +- aco/ra: split affinity creation into separate function +- aco/ra: split register_file initialization into separate function +- aco/ra: refactor SSA repairing during register allocation +- aco/ra: iterate backwards when coalescing phis +- aco/ra: allow m0 in get_reg_specified() +- aco/ra: remove exec handling for phis +- aco/spill: refactor spill decision taking +- aco/spill: reload spilled exec masks directly to exec +- aco/spill: spill phi constants and exec directly to VGPR +- aco/spill: don't count phis as variable access +- aco/spill: refactor some more spill decision taking +- aco/spill: refactor live-in registerDemand calculation +- aco/spill: use correct next_use_distances at loop header +- aco: lower p_spill with constants correctly +- aco: fix kill flags on phi operands +- aco: add new reindex_ssa() pass +- aco/cssa: rewrite lower_to_cssa pass +- aco/cssa: don't create parallelcopies for constants and exec + +Daniel Stone (3): + +- CI: Try really hard to get updated Windows TLS certs +- CI: Trigger Windows builds for llvmpipe & Vulkan changes +- CI: Change LAVA job visibility + +Danylo Piliaiev (50): + +- turnip/ir3: handle image load/stores produced by AtomicLoad/Store +- turnip: make GS use correct varyings size from previous stage +- ir3: add debug option to override shader assembly +- freedreno/ir3/parser: add cat7 support +- turnip: don't emit tess consts if they are not used +- freedreno: clamp scissor bounds +- freedreno/a2xx: fix scissors clamp bounds +- turnip: enable inheritedQueries +- turnip: consider HW limit on number of views when apply multipos opt +- turnip: consider tile_max_h when calculating tiling config +- turnip,freedreno/a6xx: tell hw the size of shared mem used by CS +- turnip/ir3: check for bindless IBOs in atomic dests fixup +- turnip: fix leak of tu_shader object during compute pipeline creation +- ir3: prevent duplication of instruction's dependencies +- ir3: make mark_kill_path exit early if instr is already seen +- ir3: disallow moving memory writes over discard +- freedreno/hw: fix populating branch targets in isa_decode pre-pass +- turnip: fix SP_HS_WAVE_INPUT_SIZE value +- freedreno/a5xx: port handling of PIPE_BUFFER textures from a6xx +- ir3: use OPC_GETBUF to get size of sampler buffers +- turnip: lower device index to zero +- turnip: fill VkMemoryDedicatedRequirements +- turnip: set zmode to A6XX_EARLY_Z if FS forces early fragment test +- turnip: implement intrinsic_vulkan_resource_reindex +- ci/freedreno: run freedreno jobs on any change in src/freedreno/ +- ir3: fix oob access to regs array for getbuf,getinfo,rgetinfo +- ir3/isa,parser: fix encoding and parsing of bindless s2en SAM +- ir3: match mova1 mnemonic when writing to A1 +- freedreno/isa: assert if field's range is out of bitset's range +- ir3: disallow .sat on SEL instructions +- ir3: update info about applicability of saturation modifier +- turnip: expose several already implemented extensions +- nir: add nir_shader_as_str function +- turnip: implement VK_KHR_pipeline_executable_properties +- turnip: clamp to zero negative upper left corner of viewport +- turnip,ir3: account for dispatch group offsets +- freedreno/a6xx: copy full 64bit of primitive counter +- freedreno/a6xx: fix primitive counters debug output +- ir3/isa: account for randomly set by blob lowest bit of ibo atomics +- glsl/linker: Fix attempts to split up 64bit varyings between slots +- glsl/linker: Fix xfb with explicit locations and 64bit types +- ir3: nir_op_f2f16 should round to even +- ir3: convert shift amount to 16b for 16b shifts +- turnip: enable infinities for f16 math and document the register +- turnip: enable VK_KHR_16bit_storage on A650 +- turnip: handle format list for compressed formats +- docs: mark float_controls,float16_int8,16bit_storage as done on Turnip +- turnip: fix alignment of non-32b types in workgroup memory +- turnip: implement variableMultisampleRate +- turnip: support copying both aspects of D32_SFLOAT_S8_UINT + +Dave Airlie (163): + +- device-select-layer: update for vulkan 1.2 +- lavapipe: fix missing piece of VK_KHR_get_physical_device_properties2 +- vk-device-select: add device group support +- lavapipe: refactor image surface creation +- lavapipe: rewrite attachment clearing for conditional rendering. +- gallium: add a cond rendering hook for vulkan. +- llvmpipe: handle vulkan conditional rendering +- lavapipe: add VK_EXT_conditional_rendering support. +- CI: add lavapipe to llvmpipe rules. +- lavapipe: add support for external memory/fd/sempahore extensions +- llvmpipe: handle firstvertex for vulkan draw parameters +- lavapipe: handle shader draw parameters +- lavapipe: add missing loader interface negoitation +- lavapipe: move to subclassing instance/physical device. +- lavapipe: add missing wsi entrypoint. +- lavapipe: sort extensions in proper order. +- lavapipe: use common dispatch layer. +- radv: move queue object to a common base object +- radv: remove all entrypoint enabled debug option +- radv: move to subclassed instance/physical_device structs +- radv: port to using common dispatch code. +- zink: don't pick a cpu device ever. +- llvmpipe: add a mutex around debug resource tracking +- llvmpipe: fix use after free with fs variant cleanup +- lavapipe: reset shader constant buffers after execution +- glsl: fix leak in gl_nir_link_uniform_blocks +- llvmpipe: enable GL spir-v support +- util/format: add helper to check if a format is scaled. +- llvmpipe: don't support scaled formats outside vertex buffers +- lavapipe: add support for 2/10/10/10 scaled formats. +- lavapipe: add support for missing 10/10/10/2 formats. +- lavapipe: add reference counting to descriptor set layout +- lavapipe: avoid pointer to pipeline layout in execution +- lavapipe: set viewport state dirty on first execute +- lavapipe: implement physical device group enumeration +- lavapipe/meson: drop megadrivers build req +- lavapipe: fix some void ptr arithmetic +- lavapipe: use msvc compatible 0 init +- lavepipe: some misc msvc fixes +- lavapipe: make OPT macro MSVC compatible +- lavapipe: use os_time for timing related things +- vulkan/util: add api to reset object magic + private data. +- radv: reset object base on recycled command buffers +- tu: reset object base on recycled command buffers +- lavapipe: reset object base on recycled command buffers +- util: add optimised memset64 +- u_surface: use optimised memset64 +- llvmpipe: zs clear use 64-bit memset +- lavapipe: use clear interface for renderpass clears +- glx: proposed fix for setSwapInterval +- zink: use extensioned draw indirect functions. +- zink/ci: update results now that we are testing zink/lavapipe +- lavapipe: add calibrated timestamp support +- zink/ci: update results for GL 3.3 testing enables +- zink/ci: disable arb_timer_query tests +- lavapipe: use the common icd generator +- lavapipe: fix msvc initialiser +- lavapipe: add dll definition file instead of using PUBLIC +- lavapipe: fix icd generation for windows +- meson/llvm: add native for gallium swrast +- lavapipe: handle tessellation domain winding +- lavapipe: enable KHR_maintenance2 +- lavapipe: enable KHR_maintenace3 +- lavapipe: fix descriptor set layout freeing. +- lavapipe: fix depth texturing swizzle +- lavapipe: use null probe path on win32 +- ci: try building lavapipe on windows +- zink/instance: work with vulkan 1.0 and later loader. +- lavapipe: expose a 1.0 vulkan API for now. +- lavapipe: Define supported extensions in C +- lavapipe: VK_EXT_extended_dynamic_state support +- lavapipe: reorder descriptor set stages to get correct binding +- lavapipe: sort bindings before creating descriptor set +- clover: fix array images view creation +- lavapipe: fix pipeline vp/scissor mixup. +- lavapipe: fix dynamic viewport/scissor pipeline emission +- draw: fix uses viewport index for tess eval shader +- draw/prim_assembler: write correct decomposed primitive lengths +- llvmpipe: add support for shader viewport layer +- lavapipe: enable EXT_shader_viewport_index_layer +- zink/ci: update results after layer extensions enabled in lavapipe +- util/panfrost/glsl: rename BITSET_LAST_BIT to BITSET_LAST_BIT_SIZED +- util/bitset: add a new last bit api +- shader_info: convert textures_used to a bitset. +- gallium: add a sampler reduction cap + settings +- gallium: add a view mask to the draw command +- gallivm: mark subpass input attachments as 2d arrays +- gallivm: add support for load_view_index intrinsic +- draw: add interface to notify renderer of the current view index +- draw: refactor out the instances drawing code +- draw: add view_mask rendering support +- draw: pass the view index to the render driver +- draw/vs: pass the view index to the vertex shader +- draw: add tess/gs support for multiview index +- llvmpipe: add the view index callback from draw +- llvmpipe: add view index support to rasterizer +- lavapipe: add clear support for multiview +- lavapipe: add draw support for multiview +- lavapipe: add input attachment support for multiview +- lavapipe: add render pass support for multiview +- lavapipe: enable KHR_multiview +- llvmpipe: add reduction mode support +- lavapipe: add EXT_sampler_filter_minmax support +- lavapipe: add support for VK_KHR_create_renderpass2 +- lavapipe: move queue to base object +- lavapipe: move to the common casting interfaces +- lavapipe: move to common create render pass code +- lavapipe: add single ssbo variable pointer support. +- docs: update lavapipe features.txt +- lavapipe: enable KHR_uniform_buffer_standard_layout +- lavapipe: enable EXT_scalar_block_layout +- lavapipe: add missing break +- lavapipe: fix writing availability for queries. +- lavapipe: add host query reset +- gallivm: convert packing to uint64 not double +- lavapipe: only init immutable samplers for correct types. +- lavapipe: add support for KHR_buffer_device_address. +- lavapipe: bump maxMemoryAllocationCount +- lavapipe: fix image format properties +- lavapipe: add missing sampler minmax properties +- lavapipe: add missing device group api +- lavapipe: drop unused vk_format in image struct +- lavapipe: fix templated descriptor updates +- gallivm: fix non-32bit ubo loads +- gallivm/nir: handle bool registers. +- nir: port fp16 casting code from dxil +- nir: lower 64-bit floats to 32-bit first. +- gallivm: use fp16 casts lowering +- lavapipe: enable 8/16-bit storage extensions +- llvmpipe: fix cube image size query +- st/glthread: allow for invalid L3 cache id. +- util: rework AMD cpu L3 cache affinity code. +- gallivm: add 64-bit atomic support for ssbo/shared. +- gallivm: add 64-bit atomic global support +- lavapipe: enable KHR_shader_atomic_int64 +- lavapipe: only reference pCounterBuffers if non-NULL +- lavapipe: fail out if spirv->nir fails +- lavapipe: fix only clearing depth or stencil paths. +- zink/ci: update results after lavapipe clear fixes +- lavapipe: add support for KHR_imageless_framebuffer +- drisw: move zink down the list below the sw drivers. +- zink/ci: handle getting correct drisw driver. +- llvmpipe: when depth clamp is disable clamp to 0.0/1.0 +- llvmpipe: always take depth clamping from state tracker +- ci: update zink/virgl results for depth clamping fixes +- lavapipe: add vulkan 1.1 properties/features apis +- lavapipe: fix missing protected memory properties +- gallivm: add subgroup vote 64-bit and feq support. +- gallivm: move get_flt_bld to header. +- gallivm: add subgroup system values support +- gallivm: add subgroup elect intrinsic support. +- gallivm: add subgroup reduction + in/ex scan support +- gallivm: add subgroup ballot support +- gallivm: add subgroup read invocation support +- gallivm: add subgroup lowering support +- gallivm: add compute shader subgroup system values support +- lavapipe: enable subgroups features +- lavapipe: enable correct workgroup sizing +- lavapipe: enable Vulkan 1.1 support +- docs: update lavapipe bits for 1.1 +- lavapipe: add vk1.1 image swapchain support +- lavapipe: add dummy sampler ycbcr conversion +- lavapipe: fix mipmapped resolves. + +David McFarland (1): + +- radv: fix divide by zero with no tesselation params + +Douglas Anderson (1): + +- gallium/indices: Use "__restrict" to help the compiler + +Drew Davenport (1): + +- radeonsi: Report multi-plane formats as unsupported + +Dylan Baker (33): + +- VERSION: bump for 21.1.0 cycle +- docs: add release notes for 20.3.3 +- docs: Add sha256sum for 20.3.3 +- docs: update calendar and link releases notes for 20.3.3 +- docs: update calendar for 21.0.0-rc1 +- bin/post_version: convert the csv.reader into a concrete list +- docs: add release notes for 20.3.4 +- docs: Add sha256sum for 20.3.4 +- docs: update calendar and link releases notes for 20.3.4 +- docs: update calendar for 21.0.0-rc2 +- docs: update calendar for 21.0.0-rc3 +- Scons: check for timespec_get on windows as well as unices +- docs: Remove 21.0 features from features_new.txt +- docs: add release notes for 21.0.0 +- docs: update calendar and link releases notes for 21.0.0 +- docs: Add calendar entries for 21.0 release. +- docs: Extend calendar entries for 21.0 by 1 releases. +- docs: Add calendar entries for 21.1 release candidates. +- docs: add release notes for 20.3.5 +- docs: Add hashes for 20.3.5 +- docs: update calendar and link releases notes for 20.3.5 +- docs: add release notes for 21.0.1 +- docs: Add 21.0.1 hashes +- docs: update calendar and link releases notes for 21.0.1 +- docs: add release notes for 21.0.2 +- relnotes: Add sha256sum for 21.0.2 +- docs: update calendar and link releases notes for 21.0.2 +- meson: OpenMP is supposed to be optional +- .pick_status.json: Update to ee9b744cb5d1466960e78b1de44ad345590e348c +- VERSION: bump for 21.1.0-rc3 +- .pick_status.json: Update to cbd6e5f2e592a9834a03004a473537f25aea4336 +- .pick_status.json: Update to ede0b3c643279f4126fb10552a2f1d00be27f16d +- .pick_status.json: Update to b80720acb13e1014aea89e6bd25f22d43df85356 + +Edward O'Callaghan (1): + +- clover: Implement CL_MEM_OBJECT_IMAGE1D + +Eleni Maria Stea (7): + +- anv: Added the VK_EXT_sample_locations extension to the anv_extensions list +- anv: Implement physical device properties for VK_EXT_sample_locations +- anv/state: Take explicit sample locations in emit helpers +- anv: Add support for sample locations +- anv: Removed unused header file +- anv: Enabled the VK_EXT_sample_locations extension +- iris: fix in fences backend for ext_external_objects edge case + +Ella-0 (1): + +- glsl: build without bison + +Enrico Galli (2): + +- microsoft/spirv_to_dxil: Add support for load_vulkan_descriptor +- microsoft/spirv_to_dxil: Use non-zero exit code on failed compilations + +Eric Anholt (207): + +- gallium/ttn: Add support for TGSI_OPCODE_I64NEG/ABS. +- gallium/ntt: Stop lowering integer source mods. +- gallium/tgsi: Assert that we don't see integer abs modifiers. +- gallium/tgsi: Remove support for f64 src modifiers. +- gallium/tgsi: Rewrite the docs on source modifiers. +- gallium/tgsi: garbage collect unused TGSI_UTIL_SIGN_MODE. +- mesa/st: Make a single helper for the NIR-to-TGSI transfer. +- mesa/st: Lower shader images before handing off to NIR-to-TGSI. +- mesa/st: Dump nir-to-tgsi output when ST_DEBUG=tgsi or nir is set. +- gallium/ntt: Don't vectorize IBFE/UBFE/BFI. +- gallium/ntt: Add support for store_per_vertex_output. +- gallium/ntt: Avoid referencing undefined channels of system values. +- ci/freedreno: Mark some a5xx separate_shader tests as xfails. +- ci/freedreno: Fix up the xfail/flake handling of a3xx texture functions. +- ci/freedreno: Remove a bunch of stale flakes from a3xx. +- ci/freedreno: Drop some long-unseen a5xx flakes. +- ci/freedreno: Drop skip list stuff from a5xx flakes. +- ci/freedreno: Remove some long-unseen a6xx known flakes. +- util/format: Fix pack/unpack of A1R5G5B5_UINT. +- mesa: Add some little unit tests showing format unpack behavior. +- mesa: Drop incorrect statement about Z unpack behavior. +- mesa: Replace the float[4] unpack code with util/format's. +- mesa: Make _mesa_unpack_rgba_block() use the u_format pack/unpack. +- util: Move most of src/mesa/main/format_utils.h to util/format/ +- util: Fix UBSan failure on _mesa_unorm_to_unorm. +- util: Fix rounding of unpack_unorm8 from small unorm formats. +- mesa: Reuse util_format's unpack_8unorm. +- mesa: Reuse util_format's unpack functions for pure integer formats. +- util: Give a reasonable answer when unpacking z32unorm from floats. +- mesa: Use a bunch of util functions for Z/S unpacking. +- mesa: Move the rest of format_unpack.py out of code generation. +- util/format: Simplify the generated unpack code. +- swrast: Use util_format_write_4/4ub for the scattered pixel writes. +- mesa/main: Replace float pack function with util_format_pack_rgba(). +- mesa/main: Replace the uint format packing code with util/format's. +- ci/piglit: Upgrade to a newer piglit in our containers. +- ci/freedreno: Fix xfail setup for sampler3d_float_vertex. +- nir_to_tgsi: Store directly to TGSI outputs when possible. +- r300,i915g: Report no shader buffers or images on non-TCL HW. +- nir_to_tgsi: Fix buffer overflow in atomic image compswap. +- swr: Don't report support for shader images. +- panfrost: Stub out set_shader_images(). +- gallium: Fix leak of shader images on context destruction. +- util/bitset: Avoid dereferencing the bitset for size == 0. +- ci: Add a fractional deqp run of softpipe with asan enabled. +- freedreno/a6xx: Skip the body of emit_state if we're clean. +- freedreno: Move blend gmem checks to a blend dirty state check. +- freedreno: Move framebuffer state checks under a ctx->dirty flag. +- freedreno: Skip some batch dependency tracking if !ctx->dirty. +- ci/freedreno: Detect cheza HFI errors and restart the run. +- ci/freedreno: Ban vs-clip-vertex-enables which flakes in CI. +- ci/freedreno: Ban more flaky clip-enables tests. +- ci/freedreno: Make a630 piglit_shader run a manual run, too. +- freedreno: Use a real type instead of void * for the fd_batch->key. +- freedreno: Early-out from the resource write path when we're the writer. +- freedreno: Remove duplicate bc invalidate on flush_write_batch(). +- ci: Update baremetal kernel to 5.11-rc5 plus patches. +- mesa/st: Allocate the gl_context with 16-byte alignment. +- ci/freedreno: Drop pointless GIT_STRATEGY setting for a630. +- ci/freedreno: Use the new nginx cache for trace downloads. +- ci/freedreno: Use the http cache for artifacts downloads, too. +- ci/docs: Update CI farm requirements suggestions. +- docs/ci: Document setting up the http cache for traces. +- ci/lava+baremetal: Add an xserver to the root fs. +- ci/freedreno: Do our piglit runs against Xorg. +- ci/freedreno: Add Valve games and other traces now that we have GLX. +- freedreno: Make sure that queries are disabled during shadow blits. +- freedreno: rename batch->active_providers to query_providers_used. +- freedreno: Backport a5xx/a6xx fix for active query handling. +- freedreno: Drop pointless clear of used providers. +- freedreno/a6xx: Skip guessing VSC size with indirect TF draw counts. +- docs: Document PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME. +- freedreno/a6xx: Add support for glDrawTransformFeedback(). +- ci/deqp: Bump runner to 0.5.1 for recent runtime perf improvements. +- ci/freedreno: bump VK coverage to 1/4 of the CTS. +- ci/freedreno: Run a3xx gles3 in parallel and increase coverage. +- ci/virgl: Fix GLES31 testing on desktop GL. +- freedreno: Force updating active queries on batch reordering. +- freedreno: Remove FD_STAGE_* in favor of a "disable_all" flag. +- freedreno/a5xx: Don't forget to count our custom blits against queries. +- mesa/st: Always precompile the first shader variant. +- mesa/st: Assume that the default variant is always first in the list. +- vc4: Remove vestiges of alpha test lowering. +- vc4: Stop advertising support for PIPE_CAP_TWO_SIDED_COLOR. +- vc4: Stop advertising support for VS color clamping. +- v3d: Clean up vestiges of alpha test lowering. +- v3d: Stop advertising support for PIPE_CAP_TWO_SIDED_COLOR. +- v3d: Stop advertising support for PIPE_CAP_*_COLOR_CLAMPED. +- v3d: Stop advertising support for flat shading. +- gallium: Document behavior of more lowering pipe caps. +- freedreno: Add missing dep on freedreno tracepoints. +- gallium: Flip the default value of PIPE_CAP_SHAREABLE_SHADERS. +- virgl: Drop a context dependency from part of the shader compile path. +- v3d/qpu: Avoid leaking memory in the QPU disasm test. +- mesa/st: Make sure to unbind cb0 on transition away from gs/tess shaders. +- ci: Allow better customization of the name of the artifacts for minio. +- ci/freedreno: Add a fractional gles31 run with asan enabled. +- ci/freedreno: Drop the "arm64" in front of job names. +- ci: Move specific driver testing to separate files in separate dirs. +- ci/freedreno: Fix a5xx piglit runs. +- ci/freedreno: Remove stray BM_DTB definition. +- ci/bare-metal: Use an upstream kernel for db820c. +- ci/a5xx: Update the piglit expectations. +- ci/a5xx: Increase our dEQP GLES3 fraction by 4x. +- ci: Move the dEQP and traces expectations to the per-driver CI dirs. +- ci: Move the piglit expectations lists to the per-driver CI dirs. +- ci/zink: Add tests of gles2, gles3, and gl33 on lavapipe. +- zink: Use mesa_loge() for should-never-be-reached initialization errors. +- zink: Remove NULL checks after GET_PROC_ADDR_INSTANCE(). +- softpipe: Fix the const buffer overflow check. +- mesa: Get the FXT1 compressor/decompressor off of GL types. +- mesa: Move the FXT1 compressor/decompressor to util/ +- llvmpipe: Enable FXT1 texture decompression. +- v3d: Replace driver lowering of GL_CLAMP with mesa/st's. +- ci/piglit: Stop including the test counts at the end of expectations. +- ci/iris: Move the traces yml file to the driver-specific dir. +- mesa: Always make sure uniform storage doesn't get reallocated. +- freedreno: Remove uniform variables after finalizing NIR. +- freedreno: Drop custom driver lowering of two-sided color. +- freedreno: Drop custom driver lowering of GL's color clamping. +- freedreno: Use the mesa/st frontend lowering of GL_CLAMP. +- freedreno/a5xx+: Stop recompiling on texture samples changes. +- freedreno/a5xx+: Drop the unused no_decode_srgb flag. +- freedreno/a5xx: Fix cube image load/stores. +- nir: Add a nir_src_is_undef() helper, like nir_src_is_const(). +- nir/vec_to_movs: Don't generate MOVs for undef channels. +- ci: Move deqp-default-skips.txt back to .gitlab-ci/ +- ci/lava: Move the per-driver gitlab-ci.yml to each driver. +- ci/lava: Move the driver expectation files to the per-driver CI dir. +- tgsi_exec: Roll the loops for condmask handling. +- tgsi_exec: Jump over entirely non-taken THEN or ELSE branches. +- ci/freedreno: Also retest when only CI configuration changes. +- ci/freedreno: Switch the fastboot boards to using nfsroot. +- ci/a5xx: Run all of gles2 in one job. +- ci/a3xx: Run all of GLES3 dEQP. +- ci/a5xx: Increase the gles3/31 coverage. +- ci/a5xx: Update piglit expectations. +- ci/zink: Add another primitive restart flake. +- ci/turnip: Mark a flaky WSI test. +- lima: stop encoding the texture format in the shader key +- lima: don't look at dirty bits for setup of FS key +- lima: upload the shader to a BO at shader creation +- lima: avoid stomping over bound shader state when creating new shaders +- nir-to-tgsi: Fix handling of partial writemasks on SSA/REG decls. +- docs: Add some documentation of game GL buffer object mapping behavior. +- freedreno/a5xx: Introduce an event write helper like a6xx has. +- freedreno/a5xx: Flush depth at the end of sysmem, like a6xx does. +- ci/freedreno: Mark another a5xx TF flake. +- u_format: Mark the generated pack/unpack src/dst args as restrict. +- mesa/st: Unify st_get_vp_variant() and st_get_common_variant(). +- mesa/st: Add perf debug for draw-time variant compiles. +- mesa/st: Fix precompile misses on compat GL VSes writing to color outputs. +- virgl: Update GLES expectations. +- ci/freedreno: Add three more a5xx flakes from the last day. +- freedreno/a5xx: Fix the texel buffer alignment requirement. +- freedreno/a5xx: Fix the max texture buffer size. +- ci/panfrost: Disable t860/radeonsi testing while the runners are struggling. +- ci: Bump deqp-runner to v0.6.3. +- ci/freedreno: Switch the piglit testing to the new piglit runner. +- ci/bare-metal: Restart a run on intermittent kernel lockups. +- ci/freedreno: Mark an a630 piglit flake from async shader compiling. +- ci/freedreno: Mark the rest of the glx_arb_sync_control@timing as flakes. +- nir_to_tgsi: Respect PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED. +- freedreno/a5xx: Fix stream-output binning handling. +- freedreno/ir3: Demote centroid usage to pixel on non-msaa. +- ci/freedreno: Mark all of dEQP TF as flaky. +- ci/bare-metal: Move the db820c lockup detect to the right boot script. +- ci/freedreno: Mark glx-swap-copy as a flake on a630. +- freedreno/a6xx: Rename the RB_BLIT_INFO.INTEGER field to SAMPLE_0. +- freedreno/a6xx: Disable sample averaging on depth/stencil resolves. +- freedreno: Move the ir3 linked shader cache to the context. +- freedreno/a3xx: Switch to using ir3_cache for looking up our VS/FS. +- freedreno/a4xx: Switch to using ir3_cache for looking up our VS/FS +- freedreno/a5xx: Switch to using ir3_cache for looking up our VS/FS +- turnip: Fix KGSL build since common dispatch rework. +- broadcom: Disbale CLIF dumping when libexpat isn't available. +- ci/android: Make sure we don't detect system libexpat. +- ci/android: Build the v3dv driver. +- iris: Flag for resolves when stencil enable changes, too. +- freedreno: Assert that TF prims generated can ignore active_queries. +- freedreno/ir3: Move max-tf-vtx calculation to a .c file +- freedreno: Move max-tf-vtx calculation to just the HW that needs it. +- freedreno: Move the primitives generated/written updates after the draw. +- freedreno: Don't count SW TF queries on a6xx. +- freedreno: Clamp TF prims written to buffer size pre-a6xx. +- ci/freedreno: Mark a630 as flaky on arb_draw_indirect-transform-feedback +- nir: Update clip_distance_array_size in clip lowering. +- freedreno/a6xx: Use the frontend userclip lowering. +- freedreno/a5xx: Add support for clip distances and use them for userclip. +- freedreno/a5xx: Use VALIDREG/CONDREG like a6xx do. +- ci/freedreno: Demote a630-asan to a manual test for now. +- ci: Drop the custom db820c kernel/dtb from the kernel+rootfs. +- ci/freedreno: Add more new traces for a630 (minetest, TDM, pioneer, glyphy). +- ci/freedreno: Rename a306-test and a530-test to drop "arm64" from the name. +- ci/freedreno: Add trace testing on a3xx, a5xx. +- freedreno/a5xx: Fix alpha test vs early Z bugs. +- freedreno/a6xx: Fix alpha tests. +- ci/freedreno: Switch to the trimmed glxgears trace. +- ci/freedreno: Fix up the a5xx border color flake annotation. +- ci: Uprev deqp runner to 0.6.5. +- ci: Uprev piglit to 6a4be9e9946d ("piglit: NOTE! Default branch is now main") +- ci: bump bare-metal kernel to bring in an a530 stability fix +- freedreno: Fix YUV sampler regression. +- nir_to_tgsi: Use ARL instead of UARL in the !native_integers case. +- nir: Generate load_ubo_vec4 directly for !PIPE_CAP_NATIVE_INTEGERS +- freedreno/a6xx: Don't try to do Z-as-RGBA blits for mismatched formats. +- ci/virgl: Mark a couple of new Crash tests as flakes. + +Eric Engestrom (12): + +- VERSION: bump to 21.1.0-rc1 +- .pick_status.json: Update to c74d93cf0187e07cdfacc448a947a8cae485eb41 +- .pick_status.json: Update to 95d9d811c91076d50385b2fbd330335b68688c69 +- .pick_status.json: Update to fcb5ba58165cd407408f8dd9a102f0c5e16a9956 +- VERSION: bump for 21.1.0-rc2 +- .pick_status.json: Mark 8acf361db4190aa5f7c788019d1e42d1df031b81 as denominated +- .pick_status.json: Update to 35a28e038107410bb6a733c51cbd267aa79a4b20 +- .pick_status.json: Update to 7e905bd00f32b4fa48689a8e6266b145662cfc48 +- .pick_status.json: Update to 72eca47c660b6c6051be5a5a80660ae765ecbaa5 +- .pick_status.json: Update to f3d2fade82c168a7ffffa4bd7bf22585c45c711b +- .pick_status.json: Update to f5d6a1b916fb163ee72e6a6f356937b1fbac53e0 +- .pick_status.json: Update to 1d418e79b8a0f4270775277b7115b88ac4c77113 + +Erico Nunes (15): + +- lima: introduce fs and vs shader cache +- lima/ppir: fix creation of mov node for non-ssa tex dest +- lima: set yuv formats as external_only +- lima: enable r and rg pixel formats again +- lima: always set stride in texture descriptor +- lima: implement GL_EXT_texture_swizzle +- docs/features: add lima features +- lima: fix max sampler views +- lima: run nir dce after nir_lower_vec_to_movs +- lima/ppir: remove liveness info from blocks +- lima/ppir: remove use of live_out +- lima/ppir: rework liveness data structures to bitset +- lima: fix half float render +- lima: enable rg formats for fp16 render +- lima: increase epsilon for depthrange near == far + +Erik Faye-Lund (158): + +- zink: handle NULL views in zink_set_sampler_views +- zink: fix vertex-stride wrangling +- docs: fix sphinx-warnings due to lacking escaping +- docs: fix broken link +- docs: turn non-code into comment +- docs/features: add missing features for zink +- docs/features: remove a few redundant zink mentions +- zink: always expose linear float textures +- zink: respect feature-cap for robust buffer access +- zink: respect feature-cap for independent blending +- zink: respect feature-cap for sample-shading +- zink: respect feature-cap for multi-draw indirect +- zink: check for extension instead of function +- zink: require vulkan memory model for tesselation +- zink: make all xfb caps depend on extension +- zink: respect fragment-shader depth-layout +- zink: clone shader before lowering clip_halfz +- docs/zink: add missing colon +- docs/zink: add two missing required features +- docs/zink: document the independentBlend requirement for GL3 +- docs/zink: fix phrasing of GL 3.3 requirements +- docs/zink: add GL 4.0 requirements +- docs/zink: add GL 4.1 requirements +- docs/zink: add GL 4.2 requirements +- docs/features: mark off two more extensions for zink +- docs/zink: correct vk version for GL 4.2 +- mesa/main: remove leftover bumpmap code +- compiler/nir: add texcoord replace lowering pass +- gallium/st: lower point-sprites if not supported +- zink: request texcoord replace lowering +- docs/features: mark ssbos as done for zink +- zink: remove stale TODO +- zink: be more careful about limits when unsupported +- zink: correct return-type for function +- zink: only emit SpvCapabilityDerivativeControl when needed +- zink: only emit cap when needed +- zik: correct spir-v caps for textures and images +- zink: do not insist shaders come from glsl +- zink: add a get_primitive_mode-helper +- zink: add a get_spacing-helper +- zink: refactor vertex-order emitting +- zink: wrap some long lines +- docs: fix invalid rst syntax +- zink: check for error when calling vkEnumeratePhysicalDevices +- zink: explicitly check for VK_NULL_HANDLE +- zink: support using lavapipe +- CI: always expose docs artifacts +- ci: make sure all lava-builders have libvulkan +- ci: run piglit on zink with lavapipe +- lavapipe: report correct value for minMemoryMapAlignment +- ci: document arm oddity in build-rules +- zink: correctly handle 64 valid timestamp bits +- zink: enable excluded test +- ci: enable max texture size tests for zink +- lavapipe: handle null-buffers for xfb +- ci: disable sporadically failing test +- zink: drop extra set of parens +- zink: do not use extra staging resource unless needed +- zink: don't always require linear display-targets +- zink: limit host-visible bind-flags +- zink: ignore irrelevant bind-flags +- zink: use gallium api to copy to display-target +- zink: add X32_S8X24 format +- zink: correct inaccurate comment +- lavapipe: fix primitive-restart for uint8 indices +- zink: fix emulation of no mipfilter +- zink: fix free of ralloced pointer +- gallium/st: fix shader_has_one_variant +- gallium/st: fix shader_has_one_variant +- gallium/st: reserve space in default uniform block for lowered constants +- docs: remove stray newline +- docs: remove excessive wrapping +- docs: remove excessive quoting +- docs: document zink GL 4.3 requirements +- docs: document zink GL 4.4 requirements +- docs: document zink GL 4.5 requirements +- docs: document zink GL 4.6 requirements +- docs: simplify format requirements +- zink: factor out interpolation to helper +- zink: emit all interpolation modes +- zink: check for pipeline statistics feature +- zink: check for depth-bias-clamp feature +- zink: check for stores and atomics features +- zink: add missing required feature +- zink: check for mirror-clamp extension +- zink: fix vector comparison +- zink: drop bool attempt in float vector compares +- zink: do not open-code vector-compares +- zink: follow spir-v 1.0 spec +- docs: Add 21.0.0 hashes +- zink: tighten emitted image spir-v caps +- zink: remove no-longer-needed clipdist1 patching +- frontends/va: correct check for invalid format +- zink: handle errors in nir_to_spirv +- zink: pre-populate locations in variables +- zink: do not depend on shader_slots_reserved for xfb +- zink: use pre-populated shader-locations +- lavapipe: report correct value for maxTexelBufferElements +- docs: do not try to copy missing file +- compiler/glsl: avoid null-pointer deref +- docs: remove bogus zink-requirement +- docs: remove zink incorrect requirement +- zink: do not enable unused extension +- docs: clarify VK_KHR_external_memory requirement +- zink: check base-requirements +- zink: assert that pstage is within range +- zink: simplify shader-removal +- zink: document why we're calling pipe_shader_type_from_mesa +- docs: appling -> applying +- docs: sytem -> system +- docs: ie. -> i.e. +- docs: vulkan -> Vulkan +- zink: do not request scoped memory barriers +- docs: optimisation -> optimization +- docs: opencl -> OpenCL +- docs: Xorg -> X.Org +- docs: nops -> NOPs +- docs: lod -> LOD +- docs: lex / yacc -> Lex / Yacc +- docs: dfsm -> DFSM +- docs: fix incorrect possessive form +- docs: fix invalid rst +- docs: fix rst-quoting issues in release-notes +- docs: spell out full name of gitlab instance +- docs: spell out development +- docs: spell out environment +- docs: spell out freedesktop.org +- docs: no-op'd -> disabled +- docs: fix release notes for 20.3.5 +- ci: turn sphinx-build warnings into errors +- bin/gen_release_notes.py: more robust rST escaping +- compiler/glsl: correct the number of string-arguments +- compiler/glsl: fix volatile string +- compiler/glsl: clean up output +- glsl: fix is_integer_16_32 +- glsl: fix int16 type +- glsl: tolerate int16 loop counters +- gallium/st: correct range for float16 +- gallium/st: correct range for int16 +- zink: document scalarBlockLayout requirement +- zink: fix typo in function name +- compiler/glsl: drop rogue argument to _mesa_glsl_error +- compiler/glsl: do not cast struct to string +- lavapipe: do not subtract 8 from enum +- lavapipe: check all vertex-stages +- lavapipe: check all graphics stages +- lavapipe: ask pipe-driver for int16 support +- zink: do not clear on cpu +- zink: fall back from cached to non-cached memory +- zink: do not dereference NULL pointer +- zink: verify that src/dst support blitting +- zink: verify that source-format support linear-filter +- zink: fix stencil-export cap emission +- gallivm: handle 16-bit input in i2b32 +- zink: do not read outside of array +- zink: do not require vulkan memory model for shader-images +- zink: correct image cap checks +- zink: fix shader-image requirements + +Fan Yugang (1): + +- intel/tools: Show unknown instructions in decoded state. + +Francisco Jerez (9): + +- intel/gen12: Fix memory corruption issues in fused Gen12 parts. +- intel/genxml: Fix pixel hashing 3DSTATE_3D_MODE field definitions for Gen12 and Gen12.5. +- intel/genxml: Define 3DSTATE_SUBSLICE_HASH_TABLE command for Gen12 and Gen12.5. +- intel/dev: Implement pixel pipe subslice counting for Gen12+. +- iris/gen11+: Calculate pixel hashing tables instead of hardcoding. +- iris/gen12: Implement programming of pixel pipe hashing tables. +- anv/gen11+: Calculate pixel hashing tables instead of hardcoding. +- anv/gen12: Implement programming of pixel pipe hashing tables. +- iris/gen12: Work around push constant corruption on context switch. + +Georg Lehmann (1): + +- vulkan/device_select: Only call vkGetPhysicalDeviceProperties2 if the device supports it. + +Gert Wollny (89): + +- r600/nir: clone shader before first query to shader key +- r600/sfn: fix use of b32all/and +- r600: Add flags to INTERP_X and INTERP_Z two-slot ops +- r600/sb: Add support for INTERP_X and INTERP_Z ops +- r600/nir: pass array info to r600_shader for sb +- r600/sfn: update shader array info +- r600/sfn: Keep array registers alive for the whole shader +- r600/sb: fix boundary assert for mem-instruction decoding +- r600/sb: fall back to un-optimized byte code when ra_init fails +- r600: Enable sb also for NIR +- compiler/nir: Add support for lowering stores with nir_lower_instruction +- r600/sfn: Fix use of cnde_int for bcsel +- r600/sfn: Set unnormalized flag for z-coordinate when fetching from array +- r600/sfn: Add the position input as varying +- r600/sfn: Fix FS inputs when reading from the same position +- r600/sfn: Fix dual source blend lowered to FRAG_DATA +- r600/sfn: Use the constant buffer ID when given +- gallium/tgsi_to_nir: Handle SAMPLE_MASK output in FS +- gallium/tgsi-to-nir: Take property NUM_CLIPDIST_ENABLED into account +- r600/sfn: Handle memory_barrier_atomic_counters +- r600/sfn: Fix indirect_file flag for IMAGES +- r600/sfn: remove duplicate barriers +- r600/sfn: Base instr lowering class on nir_lower_instruction code +- nir: Add flag to tex instruction to indicate lowering cube to array +- nir: Add r600 specific CUBE opcode to evaluate cube texture coords and face +- r600/sfn: Add support for cube_r600 instruction +- r600/sfn: add lowering pass for cube textures +- r600/sfn: fix gather with cube lowering +- r600/sfn: use lower bool to int32 and lower int_tg4 only on shader clone +- r600/sfn: use lowering pass for cube textures +- r600/sfn: remove old cube texturing code +- r600/sfn: Lower FS inputs to temps late and, and lower interpolate at +- r600/sfn: set info about using helper_invocation to skip sb +- r600/sfn: lower isign and iabs in nir +- r600/sfn: Allow any channel for the helper invocation evaluation +- r600: unify nir shader options evaluation +- r600/sfn: remove code for nir_op_fsign since it is lowered +- r600/sfn: remove unused emit_alu_op2_split_src_mods +- r600/sfn: remove some old debug output +- r600/sfn: encode component in address for local IO +- nir: disaallow reordering for r600 shared load and remove component field +- r600/sfn: handle querying the number of layers in cube arrays +- r600/sfn: Fix loading TES gl_PatchVerticesIn +- r600: Don't optimize using source modifiers on literals +- r600: Enable GLSL 450 for nir shaders. +- r600/sfn: Update status +- nir: Add r600 specific intrinsic for loading the tesselation coords +- r600/sfn: lower intrinsic_load_tess_coord to driver version +- r600/sfn: eliminate loading unused component loads from shared memory +- virgl: implement support for PIPE_CAP_STRING_MARKER +- r600/sfn: sort alu opcodes in switch statememt +- r600/sfn: remove unused code +- r600/sfn: fix buffer offset for ssbo writes +- r600/sfn: Fix including/not including c++ parts of header +- r600/sfn: lower bitfield_extract and bitfield_insert in NIR +- r600/sfn: lower idiv, imod, etc in nir +- r600/sfn remove some leftover debug output +- nir: add opcodes for \*find_msb_rev and lowering +- nir: Add opcodes for fused comp + csel and optimizations +- nir: Add r600 specific sin and cos variants +- r600/sfn: Add algebraic lowering for fsin and fcos +- r600/sfn: optimize comp+csel using fused ops +- r600/sfn: lower find_msb variants to find_msb_rev +- r60/sfn: don't lower scomp +- r600: Handle negate of second operator in TGSI_OPCODE_UADD +- r600/sfn: Make some value pool functions private +- r600/sfn: Add skelton for visitor pattern +- r600/sfn: remove extra parameter from alu assemebly emission +- r600/sfn: fix some formatting +- r600/sfn: switch assembler creation to use visitor +- r600/sfn: drop the local register mep +- r600/sfn: lower VS IO and drop old deref code +- r600/sfn: lowered FS output IO +- r600/sfn: remove old deref code +- r600/sfn: force dual source blend output handling in some cases +- r600/sfn: remove find_msb lowering in driver +- r600/sfn: clean up multi-sample texture load +- r600/sfn: clean up value pool interface usage in emit_stream +- r600/sfn: use get_temp_vec4 directly when fetching +- r600/sfn: make allocate_temp_register private to valuepool +- r600: Fix texture buffer offset alignment +- r600: don't set an index_bias for indirect draw calls +- r600: Don't advertise support for scaled int16 vertex formats +- r600/sfn: allocate number of VS outputs based on max driver_location +- r600/sfn: Only fetch the constants that are needed in fdd* +- r600: Enable sb for nir only on specific request +- Revert "r600: don't set an index_bias for indirect draw calls" +- Revert "r600: Don't advertise support for scaled int16 vertex formats" +- r600: don't set an index_bias for indirect draw calls + +Giovanni Mascellani (2): + +- disk_cache: Fail creation when cannot inizialize queue. +- anv: Allow null handle in DestroyDescriptorUpdateTemplate. + +Greg V (1): + +- meson: Add missing lavapipe dep + +Gustavo Padovan (4): + +- gitlab-ci: extend x86_64 kernel config to suport Intel devices +- gitlab-ci: build the iris gallium driver as well +- gitlab-ci: add intel APL and GLK devices with manual triggers +- traces-iris: fix expectation for Intel GLK + +Hans-Kristian Arntzen (2): + +- radv: Take image alignment into account when allocating MUTABLE pool. +- radv: Allocate buffer list for MUTABLE descriptor types as well. + +Hoe Hao Cheng (19): + +- zink/codegen: add some new attributes to Extension +- zink/codegen: make 'struct' optional in Version +- zink/codegen: enable instance extension unconditionally if promoted +- zink/codegen: codegen-ize load_instance_extensions() +- zink/codegen: adding/fixing comments and copyright notice +- zink/codegen: find promotion version using vulkan registry +- zink: remove excessive checks for loader version +- zink: expose PIPE_CAP_ANISOTROPIC_FILTER +- zink: VK_KHR_draw_indirect_count is a device extension +- zink/codegen: introduce ExtensionRegistry +- zink/codegen: more validation in zink_instance +- zink/codegen: introduce notion of non-standard extensions +- zink/codegen: make zink_device_info accept vk.xml +- zink/codegen: perform basic validation in zink_device_info +- zink/codegen: validate has_properties and has_features +- zink/codegen: fix type annotations +- zink/codegen: do not enable extensions that are now core +- zink: enable KHR_shader_draw_parameters on Vulkan <1.2 +- zink: fix detection of KHR_maintenance1/2 + +Hyunjun Ko (5): + +- turnip: Return correct value of tu6_load_state_size +- nir: Set access at lower_ubo_vec4 +- ir3: fix has_src() to return correctly in ir3_nir_lower_tex_prefetch +- ir3: Add nonuniform encodings to ir3 encoder and parser +- turnip: Enable nonuniform descriptor indexing + +Iago Toral Quiroga (93): + +- v3dv: only update uniforms for dirty descriptors if stage has descriptors +- v3dv: disable early Z writes if Z writes are disabled +- v3dv: don't wait for idle on occlusion query pool resets +- v3dv: use PIPE_TIMEOUT_INFINITE +- v3dv: refactor checks for subpass attachment clears +- v3dv: refactor checks for subpass attachment loading +- v3dv: refactor checks for subpass attachment stores +- v3dv: do not emit full tile buffers clears to handle Z/S clears +- v3dv: enable early Z/S clears +- v3dv: fix disabling Early Z for the whole frame +- broadcom/compiler: fix indentation with TABs +- broadcom/compiler: prepare TMU spilling code to account for TMU pipelining +- broadcom/compiler: implement pipelining for general TMU operations +- broadcom/compiler: support pipelining of tex instructions +- broadcom/compiler: refactor image load/store TMU emission code +- broadcom/compiler: support pipelining of image load/store instructions +- broadcom/compiler: disable TMU pipelining if we fail to register allocate +- broadcom/compiler: disallow spilling if TMU pipelining was enabled +- broadcom/compiler: log spilling shaders to perf output +- broadcom/compiler: let QPUs stall on TMU input/config overflows +- v3dv: handle D/S buffer to image copies with the texel buffer path +- v3dv: batch copies in the copy_buffer_to_image_blit path +- v3dv: allow a component swizzle in copy_buffer_to_image_shader +- v3d/common: use spaces instead of TABs +- v3dv: serialize pipeline compilation when debugging shaders +- v3dv: add a perf trace when a device is created with robust buffer access +- v3d/compiler: fix QPU scheduler TMU sequence shuffling +- broadcom/compiler: add V3D_QPU_WADDR_UNIFA +- broadcom/compiler: pass a devinfo to check if an instruction writes to TMU +- broadcom/compiler: name registers correctly based on V3D version +- broadcom/compiler: don't check for GFXH-1633 on V3D 4.2.x +- broadcom/compiler: add a helper to check if an instruction writes unifa +- broadcom/compiler: disallow unifa overlap with thread switch/end +- broadcom/compiler: preserve ordering of unifa/ldunifa sequences +- broadcom/compiler: ensure 3-slot delay between unifa and ldunifa +- broadcom/compiler: disallow reading two uniforms in the same instruction +- broadcom/compiler: do not DCE ldunifa +- broadcom/compiler: emit ldunifarf when needed +- broadcom/compiler: use unifa for UBO loads from uniform addresses +- broadcom/compiler: don't emit redundant ldunif +- broadcom/compiler: use a helper function to decide on TMU spilling +- broadcom/compiler: don't dump shader-db stats for failed shaders +- broadcom/compiler: fix ldunif optimization +- broadcom/compiler: allow dead code elimination of unused trailing ldunifa +- broadcom/compiler: remove unused leading ldunifa +- broadcom/compiler: add a constant alu optimization pass +- broadcom/compiler: skip unnecessary unifa writes +- broadcom/compiler: use nir_opt_sink +- v3dv: fix branching to large secondaries with more than one BCL buffer. +- broadcom/compiler: fix DAG pre-remove for merged instructions +- broadcom/compiler: fix indentation style +- broadcom/compiler: track pipelineable ldvary sequences +- broadcom/compiler: pipeline smooth ldvary sequences +- broadcom/compiler: allow pipelining of flat and noperspective varyings +- broadcom/compiler: ldvary pipelining tracking and documentation clean-ups +- broadcom/compiler: drop the destination for unused ldunifa +- broadcom/compiler: be more aggressive skipping unifa writes +- broadcom/compiler: always restart ldvary pipelining when scheduling ldvary +- broadcom/compiler: ldvary doesn't implicitly write to r3 since V3D 4.1 +- broadcom/compiler: fix flags check for ldvary merge +- broadcom/compiler: add an additional sanity check assert to the ldvary fixup +- broadcom/compiler: move code block around +- broadcom/compiler: simplify ldvary pipelining +- broadcom/compiler: disallow ldunif during ldvary sequences if possible +- v3dv: call util_cpu_detect() when initializing the instance +- broadcom/compiler: flag wrtmuc with a read dependency on last_tmu_config +- broadcom/compiler: be more flexible scheduling TMU writes +- vulkan/util: call glsl_type_singleton_init_or_ref from vk_instance_init +- compiler/glsl: call util_cpu_detect from glsl_type_singleton_init_or_ref +- broadcom/compiler: fix end of tmu sequence detection +- broadcom/compiler: use nir_opt_load_store_vectorize +- broadcom/compiler: use nir_lower_wrmasks to simplify TMU general stores +- broadcom/compiler: handle implicit uniform loads when optimizing constant alu +- broadcom/compiler: optimize constant vfpack +- broadcom/compiler: use nir_lower_undef_to_zero +- v3dv/pipeline_cache: fix assert +- broadcom/compiler: convert add to mul when possible to allow merge +- broadcom/compiler: add a v3d_qpu_writes_accum helper +- broadcom/compiler: try to fill up delay slots after a thrsw +- broadcom/compiler: flag TMU read dependencies against last TMU config +- broadcom/compiler: flag TMU reads with a read dependency on last TMU config +- broadcom/compiler: dump instruction index when failing to pack instructions +- broadcom/compiler: add a NOP count stat to shader-db +- broadcom/compiler: try to fill up delay slots after a branch instruction +- broadcom/compiler: try to fill up delay slots after unconditional branch +- broadcom/compiler: implement restriction for branch after setmsf +- broadcom/compiler: optimize branch emission for uniform break/continue +- v3dv: fix index buffer binding +- broadcom/compiler: add a definition for the unifa skip distance +- broadcom/compiler: allow compilation strategies to limit minimum thread count +- broadcom/compiler: sort constant UBO loads by index and offset +- broadcom/compiler: rename unifa tracking fields +- v3dv: fix descriptor set limits + +Ian Romanick (33): + +- i965: Don't advertise OpenGL 3.3+ if driconf disables GL_ARB_blend_func_extended +- i965: Use allow_higher_compat_version option during screen initialization +- i965: Don't parse driconf again +- nir/algebraic: Fix a >> #b << #b for sizes other than 32-bit +- nir/algebraic: add patterns for a >> #b << #b and a << #b >> #b +- nir/algebraic: Partially revert 3f782cdd2591 +- intel/eu/validate: Add some checks for CMP and CMPN +- intel/compiler: Enable the ability to emit CMPN instructions +- intel/compiler: Make the CMPN builder work like the CMP builder +- intel/compiler: Use CMPN for min / max on Gen4 and Gen5 +- nir/algebraic: Fix some min/max of b2f replacements +- nir/algebraic: Remove some redundant b2f logic-op reduction patterns +- nir/algebraic: Add some max/min optimizations with 3 variables +- nir/range-analysis: C++ linkage +- nir/range_analysis: Handle vectors better in ssa_def_bits_used +- intel/compiler: Silence unused parameter warnings in files that include brw_eu.h +- intel: Silence unused parameter warnings in files that include gen_device_info.h +- intel: Silence unused parameter warnings in files that include genX_pack.h +- intel/compiler: Relax some conditions in try_copy_propagate +- gallium/dri: Remove dri2_format_mapping::cpp +- nir/search: Constify instruction parameter to search helpers +- nir/algebraic: Apply addition property of equality more conservatively +- nir/algebraic: Apply addition property of equality to the other ordering too +- nir/range_analysis: Refactor fsat handling +- nir/range_analysis: Add "is finite" range analysis tracking +- nir/range_analysis: Add "is a number" range analysis tracking +- nir/range_analysis: Fix analysis of fmin, fmax, or fsat with NaN source +- nir/search: Use range analysis for is_finite +- nir/range_analysis: Simplify analysis of bcsel +- mesa: Add anything dynamically indexed before any non-dynamically indexed +- mesa: Clean up _mesa_layout_parameters after previous commit +- tgsi_exec: Fix NaN behavior of saturate +- tgsi_exec: Fix NaN behavior of min and max + +Icecream95 (60): + +- pan/bi: Lower 64-bit integers +- pan/bi: Handle 64-bit pack and unpack operations +- pan/bi: Add some compute intrinsic loads +- pan/bi: Set compute lowering options +- pan/bi: Improve interoperability of the command-line disassembler +- pan/bi: Implement load/store intrinsics +- pan/bi: Implement load_kernel_input +- panfrost: Set bifrost_props for compute shaders +- pan/bi: Improve unknown intrinsic error +- panfrost: Use the correct NIR options for OpenCL on Bifrost +- pan/bi: Use pan_nir_lower_64bit_intrin +- panfrost: Add a sysval for local_group_size +- panfrost: Add a sysval for local_work_dim +- panfrost: Assert on sysval overflow +- pan/mdg: Limit int64 vectorization +- pan/mdg: Don't reorder loads/stores past each other +- pan/mdg: Allow 64-bit src_bitsize for comparison operations +- pan/bi: Add w0 to the 'h01' swizzle bucket +- pan/bi: Lower umul_high +- panfrost: Set TLS for compute jobs +- pan/bi: Implement saturated add/sub operations +- pan/bi: Implement ihadd/irhadd operations +- pan/bi: Implement packing ops between 32-bit vec1 and 16-bit vec2 +- pan/mdg: Fix spilling when scratch memory is used +- pan/bi: Iterate from zero when setting RA interference +- panfrost: Add a function to determine if a resource is 2D +- panfrost: Only checksum resources when it makes sense to +- panfrost: Add a debug flag to disable checksumming +- panfrost: Transaction elimination support +- panfrost: Fix the tile size assertion +- pan/decode: Free mapped memory objects on BO unreference +- panfrost: Add support for INTEL_blackhole_render +- panfrost: Use normal malloc/free instead of ralloc for surfaces +- panfrost: Add the tiler heap to fragment jobs +- pan/bi: Return the size of the last clause from bi_pack +- pan/bi: Fix shader prefetch size +- panfrost: Fix clear color packing for 12-byte formats +- pan/bi: Don't check liveness unless the index is valid +- pan/bi: Use the correct size for UBO loads +- pan/bi: Remove check for first_ubo_is_default_ubo +- pan/bi: Implement image load/store +- pan/bi: nir_intrinsic_image_size support +- st/mesa: Update constants on alpha test change if it's lowered +- panfrost: Disable early-z when alpha test is used +- pan/mdg: Rename load/store operations +- pan/mdg: Use appropriate sizes for global loads/stores +- pipe-loader,gallium/drm: Fix the kmsro pipe_loader target +- pipe-loader: Stop trying to use kmsro for vgem +- panfrost: Implement panfrost_set_global_binding +- panfrost: Flush output after disassembling shaders +- panfrost: Only do point coord replacement for PIPE_PRIM_POINTS +- panfrost: Only add resource checksum BOs to the batch once +- panfrost: Align BO size to 4096 bytes +- panfrost: Add fast path for graphics work group computation +- panfrost: Unset shared/scanout binding flags for staging resources +- pan/bi: Skip nir_opt_move/sink for blend shaders +- panfrost: Fix shader texture count +- pan/decode: Allow frame shader DCDs to be in another BO than the FBD +- pan/mdg: Fix calculation of available work registers +- panfrost: Fix viewport scissor for preload draws + +Ilia Mirkin (55): + +- nv50/ir: ignore FS_BLEND_EQUATION_ADVANCED +- nv50,nvc0: explicitly list recently-added caps +- st/mesa: fix broken moves for u2i64 and related ops +- nv50/ir: clear dnz flag when converting mul/mad to simpler ops +- glsl: only expose int64 atomics when extension is enabled +- cso: set index_bounds_valid = true for arrays draws +- nvc0: index_bias is now only set for indexed draws +- nvc0/ir: add fixup to deal with interpolateAtSample with non-MSAA +- nv50,nvc0: clear internal vbo masks based on the trailing slots +- ci: remove nouveau from shader-db runs +- nouveau: reinstate fencing on screen destroy +- nv50: add PIPE_CAP_NIR_IMAGES_AS_DEREF to unsupported list +- nv50,nvc0: add scissored clear support +- st/mesa: do scissored clears on depth/stencil as well when supported +- i965: support GL_EXT_color_buffer_half_float +- mesa: fix conditions for fp16 render format eligibility +- mesa: fix fbo attachment size check for RBs, make it trigger in ES2 +- mesa: add tracking of reduction mode +- st/mesa: add EXT_texture_filter_minmax support +- nvc0: enable minmax reductions on gm200+ +- docs: add notes about nvc0 support of ARB/EXT_texture_filter_minmax +- mesa: only report INCOMPLETE_FORMATS for GLES1 / desktop +- gallium,st: add missing viewport swizzles +- nv50: initialize target for blit source surfaces +- nv50,nvc0: remove explicit target argument from view creation +- nv50: add appropriate space check before adding new pushbuffer +- nvc0: ensure sufficient push space for indirect data +- nvc0: fix reported driver queries for Pascal and later GPUs +- mesa: fix restoring of texture attributes for msaa binding points +- nv50: adapt texture and constbuf paths for compute shaders +- nv50: add resource tracking for shader images and buffers +- nv50: implement memory barrier handling +- nv50: add texture, constbuf, image, buffer validation +- nv50: pass in third axis via user param +- nv50/ir: retrieve (n)ctaid.z from first user param +- nv50/ir: force shared memory indirect to be an address +- nv50/ir: do not use inline offsets for global, ensure indirect access +- nv50/ir: fix emission of RED +- nv50/ir: lower buffer to global +- nv50/ir: fix emitting movs from imm to short registers +- nv50/ir: fix emission of cvt with half-reg destinations +- nv50/ir: fix emission of logic ops on half-regs +- nv50/ir: fix emission of shifts on half-regs +- nv50/ir: logic ops on half-regs can't take an immediate +- nv50/ir: add support for 16-bit immediates +- nv50/ir: fix emission of 16-bit add +- nv50/ir: fix emission of cas without a destination +- nv50: fix expression for ucp offset +- nv50/ir: avoid inlining results of a locked load +- nv50/ir: fix emission of ld/st lock/unlock +- st/mesa: adapt for the case where buffers are not supported in frag +- nv50/ir: fix texture size for msaa textures +- nv50: emulate indirect draws +- nv50/ir: fake SV_THREAD_KILL support +- nv50: enable ARB_framebuffer_no_attachments + +Italo Nicola (15): + +- panfrost: fix attribute continuation decoding +- panfrost: add 3d attribute buffer continuation to XML +- panfrost: decode 3d attribute continuation +- panfrost: add resource modifier conversion +- panfrost: implement gallium->set_shader_images +- panfrost: emit shader image attribute descriptors +- panfrost: implement image_size sysval +- pan/mdg: create nir pass to lower image coord bitsize +- pan/mdg: enable image bitsize lowering pass +- pan/mdg: add ld_image opcodes +- pan/mdg: rename st_image opcodes and add float16 versions +- pan/mdg: implement shader image instructions +- pan/mdg: implement nir_intrinsic_image_size +- panfrost: advertise images for midgard +- pan/mdg: prevent csel_v from being scheduled alongside writeout + +Iván Briano (4): + +- anv: don't advertise mipmaps for linear 3D surfaces on BDW +- anv: move buffer size alignment into helper function +- anv: use helper function to get the buffer size +- intel, anv: propagate robustness setting to nir_opt_load_store_vectorize + +James Jones (4): + +- nouveau: Stash supported sector layout in screen +- nouveau: Use DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D +- nouveau: no modifier != the invalid modifier +- nouveau: Use format modifiers in buffer allocation + +James Park (22): + +- radv: Use linker pragma to simulate weak functions +- radv: Remove unnecessary headers +- radv: Stub sections that don't have _WIN32 support +- radv: Modify radv_descriptor_set for MSVC legality +- radv: Pointer arithmetic on char/uint8_t, not void +- radv: Disable calibrated timestamps on Windows +- radv: Use typed outarray API +- radv: Fix struct initialization for MSVC +- gallium/tessellator: Fix warning suppression +- microsoft: Fix comma in variadic macro for MSVC +- ac: Remove unnecessary header +- radv: Use typed outarray API +- amd: Disable surface modifier test on Windows +- radv: Pointer arithmetic without void* +- radv: Update JSON generator if Windows +- vulkan: Use typed outarray API +- vulkan: Fix source list for vulkan_wsi on Windows +- vulkan: Update dispatch table gen for Windows +- vulkan/util: Use util_bitcount +- ac/rgp: BSD elf library compatibility +- amd: Hide amdgpu_drm.h on Windows +- amd: Hide drm_fourcc.h on Windows + +James Zhu (1): + +- amd: add Aldebaran chip enum + +Jan Beich (2): + +- ac: prefer system EM_AMDGPU definition +- ac/rgp: define EM_AMDGPU if missing for compatibility + +Jason Ekstrand (195): + +- intel/tools: Decode COMPUTE_WALKER +- intel/fs: Allow compute dispatch without a pushed subgroup ID on Gen12-HP +- anv: Add a general state pool +- intel/fs: Emit code for Gen12-HP indirect compute data +- anv: Enable push constants on gen12-hp +- intel/genxml,anv,iris: Drop the legacy compute path from gen125.xml +- anv: Add a trivial implementation of VK_KHR_deferred_host_operation +- anv: Exit early from cmd_buffer_apply_pipe_flushes +- anv: Take the set of stages to flush in flush_descriptor_sets +- anv: Only flush descriptors used by the pipeline +- anv: Early-exit from cmd_buffer_flush_state +- nir/lower_int64: Add a level of wrapper functions +- nir/lower_int64: Fix lowering of f2[ui]64 for 16-bit float +- nir/lower_int64: Add lowering for some 64-bit subgroup ops +- nir/lower_int64: Add lowering for 64-bit iadd shuffle/reduce +- nir/lower_int64: Lower 64-bit vote_ieq +- intel/compiler: Return 1 for immediates in regs_read +- intel/compiler: Move brw_reg_type_for_bit_size to brw_reg_type.h +- intel/reg,fs: Handle immediates properly in subscript() +- intel/fs: QUAD_SWIZZLE requires packed data +- intel/fs: Support 64-bit SEL_EXEC on Gen11+ +- intel/fs: Support 64-bit SHUFFLE on Gen11+ +- intel/fs: Support 64-bit CLUSTER_BROADCAST on Gen11+ +- intel/fs: Properly lower 64-bit MUL on 64-bit-incapable platforms +- intel/fs: Refactor our shuffle emit code +- intel/fs: Implement umin/umax shuffle +- anv: Advertise shaderInt64 on Gen11+ +- anv: Break SAMPLE_PATTERN and MULTISAMPLE emit into helpers +- intel/fs: Add an ex_desc field to fs_inst for SHADER_OPCODE_SEND +- anv: Drop anv_dump +- anv: Fix an old parameter name in GetDeviceQueue +- anv: Refactor anv_queue_finish() +- anv: Add an anv_queue_family struct +- nir/from_ssa: Respect and populate divergence information +- vulkan/meson: Add missing dependencise on vk_extensions_gen.py +- anv: Clean up the vk_device on the CreateDevice error path +- radv: Properly clean up vk_device +- turnip: Properly clean up vk_device +- v3dv: Properly clean up vk_device +- lavapipe: Properly clean up vk_device +- vulkan: Move vk_device to its own file +- vulkan: Add a return code to vk_device_init +- vulkan: Add common extension tables +- anv: Use the common extension table struct +- vulkan: Add common dispatch table generation +- vulkan: Add dispatch table loading helpers +- vulkan-overlay-layer: Use the new dispatch tables +- vulkan: Add dispatch table lookup helpers +- vulkan: Add common instance and physical device structs +- vulkan: Add generators for instance trampoline functions +- vulkan: Add entrypoint tables and related helpers +- vulkan: Add common Get*ProcAddr implementations +- vulkan: Add a common entrypoint table generator +- anv: Add a single anv_genX switch macro +- anv: Use the common dispatch framework +- vulkan: Add framework for common entrypoints +- vulkan,anv: Move GetDeviceProcAddr to common code +- vulkan,anv: Add common entrypoints for VK_EXT_private_data +- anv: Make Get*MemoryRequirements a wrapper +- vulkan,anv: Move a bunch of trivial wrappers to common code +- vulkan,anv: Move VK_KHR_copy_commands2 wrappers to common code +- vulkan: Add a truly common VK_EXT_debug_report implementation +- anv: Switch to the common VK_EXT_debug_report +- turnip: Use the common dispatch framework +- turnip: Use common entrypoints for VK_EXT_private_data +- turnip: Drop some legacy wrappers in favor of common code +- turnip: Switch to the common VK_EXT_debug_report +- lavapipe: Drop some wrappers in favor of common code +- v3dv: Drop v3dv_instance::app_info +- v3dv: Use common entrypoints for VK_EXT_private_data +- v3dv: Switch to the common VK_EXT_debug_report +- radv: Use common entrypoints for VK_EXT_private_data +- radv: Switch to the common VK_EXT_debug_report +- vulkan: Make vk_debug_report_callback derive from vk_object_base +- anv: Use vk_object_base::type for debug_report +- vulkan: Use vk_object_base::type for debug_report +- vulkan: Make the debug_report implementation internal +- anv,radv: Use common entrypoints for VK_KHR_deferred_operation +- vulkan: Rework vk_device_init and friends +- vulkan: Drop the type_prefix parameter from gen_extensions +- nir: Add some ssa-only fast-paths for nir_src rewrite +- nir: Drop the lower_mem_constant_vars declaration +- vulkan: Add a common helper for enumerating instance extension properties +- vulkan: Rework extension disabling on Android +- anv: Pull the patch version from the XML +- anv: Make anv_icd.py more generic and independent +- anv,vulkan: Move anv_icd.py to a common location +- anv: Move extension tables to anv_device.c +- anv: Add fake graphics-only and compute-only queue families +- nir: Add a couple helpers for phis and cursors +- nir/lower_bit_size: Support phi instructions +- intel/nir: Lower 8-bit phis on Gen11+ +- nir: Add some range analysis for used bits +- nir/algebraic: Clean up up-cast of down-cast when we can +- nir/algebraic: Covert up-cast of down-cast to extract on Intel +- spirv: Store the nir_function in vtn_function +- spirv: Delete the impl for prototype-only functions +- nir: Don't optimize bcsel-of-shuffle across blocks +- nir: Fix parameter order in the bcsel-of-shuffle optimization +- nir/opt_large_constants: Handle generic pointers +- intel/fs: Shuffle can't handle source modifiers +- anv/formats: Advertise linear sampling on depth formats +- anv/android: Re-implement AcquireImageANDROID +- intel/mi_builder: Create a context in the tests +- intel/mi_builder: Delete a bogus comment +- intel/mi_builder: Fix a misleading comment +- intel/mi_builder: Short-circuit shifts in more cases +- intel/mi_builder: Add constant folding +- intel/mi_builder: Rewrite unit tests in terms of constant folding +- intel/mi_builder: Add tests for gen_mi_z and gen_mi_nz +- intel: Rename gen_mi_builder.h to mi_builder.h +- intel/mi_builder: Drop the gen\_ prefix +- intel/mi_builder: Use AddCSMMIOStartOffset for LRI +- intel/mi_builder: Add ieq/ine helpers +- intel/mi_builder: Support inverted values in mi_store +- intel/mi_builder: Add load/store_offest on GFX 12.5+ +- genxml: Clean up MI_SET_PREDICATE +- intel/batch_decoder: Don't follow predicated MI_BATCH_BUFFER_START +- intel/mi_builder: Use softpin for tests on gen8+ +- intel/mi_builder: Return an address from __gen_get_batch_address +- intel/mi_builder: Add control-flow support +- nir: Add and use a new nir_ssa_def_rewrite_uses_src helper +- nir: Make nir_ssa_def_rewrite_uses take an SSA value +- nir: Make nir_ssa_def_rewrite_uses_after take an SSA value +- intel/mi_builder: Fix some indentation +- intel/mi_builder: Fix a couple of #ifs +- anv: Drop anv_extensions.py +- turnip: Move the CreateRenderPass wrapper to common code +- anv: Move multialloc to common code +- vulkan: Use VK_MULTIALLOC in CreateRenderPass +- anv: Move vk_format helpers to common code +- vulkan: Use correct aspectMask in CreateRenderPass +- vulkan: Add some asserts and checks for multiview in CreateRenderPass +- vulkan: Preserve preserve attachments in CreateRenderPass +- anv: Drop CreateRenderPass +- radv/meta: Use CreateRenderPass2 +- radv: Drop CreateRenderPass +- intel/fs: Use INTEL_MASK for pushish constant address masking +- intel/fs: Handle payload node interference in destinations +- vulkan: Use ALWAYS_INLINE for multialloc +- vk/alloc: Handle zero sizes better in vk_multialloc_add +- vulkan/alloc: Add VK_MULTIALLOC_DECL macros +- vulkan/util: Add a type parameter to vk_multialloc_add +- vulkan/alloc: Use char * for pointer arithmetic +- anv,genxml: Handle L3SQCREG1_SQGHPCI in GenXML +- anv: Add an anv_batch_write_reg macro +- iris: Add an iris_write_reg macro +- genxml: Make 1-bit L3$ config register fields bool on Gen7 +- intel/fs,rt: Add a predicate to load_global_const_block +- anv: Use load_global_constant for shader constants +- anv: Use nir_shader_instructions_pass in apply_pipeline_layout +- anv/apply_pipeline_layout: Refactor descriptor chasing code +- anv/apply_pipeline_layout: Rework the early pass index/offset helpers +- anv/apply_pipeline_layout: Lower UBO loads in the early pass +- anv/apply_pipeline_layout: Run DCE between the early and late passes +- anv/apply_pipeline_layout: Move bounds checking later for index/offset +- anv/apply_pipeline_layout: Plumb through a UBO address format +- anv/apply_pipeline_layout: Add some switch statements +- nir: Add a new 64+32-bit address format +- anv: Use 64bit_global_32bit_offset for SSBOs +- anv: Rework the 64bit_bounded_global resource index format +- anv: Zero out the last dword of UBO/SSBO descriptors in the shader +- anv/apply_pipeline_layout: Apply dynamic offsets in load_ssbo_descriptor +- anv/apply_pipeline_layout: Refactor all our descriptor address builders +- anv/apply_pipeline_layout: Rework the desc_addr_format helper +- anv/apply_pipeline_layout: Use the new helpers for early lowering +- anv/apply_pipeline_layout: Use the new helpers for images +- nir/lower_io: Support global addresses for UBOs in nir_lower_explicit_io +- anv: Add a pass for lowering A64 UBO access +- anv: Do UBO loads with global addresses for bindless +- anv/apply_pipeline_layout: Add support for A64 descriptor access +- nir: Add image atomic_fmin/fmax intrinsics +- spirv: Add support for SPV_EXT_shader_atomic_float_min_max +- intel/fs: Add support for 16-bit A64 float and integer atomics +- intel/genxml: Binding table pointers are 15 bits on GFX version 12.5+ +- intel/tools: Handle milti-LRI in the batch decoder +- intel/tools: Handle GT_MODE in the batch decoder +- intel/genxml: Make BindingTablePoolEnable a bool +- intel/tools: Handle BINDING_TABLE_POOL_ALLOC in batch decoding +- anv: Align inline uniform data to ANV_UBO_ALIGNMENT +- anv: Implement VK_EXT_conservative_rasterization +- anv: Fix coverage masks for VK_EXT_conservative_rasterization +- intel: Drop gen_device_info::has_resource_streamer +- anv: Clean up anv_device_memory::base on failure +- anv: Refactor framebuffer creation +- anv: Clean up anv_descriptor_pool::base on the error path +- anv: Clean up anv_semaphore::base on the error path +- vulkan: Add a vk_object_multialloc helper +- anv: Use vk_object_alloc/free +- anv: Make memory type and queue family pointers const +- intel: fix querying mip levels on null surfaces on SKL and prior +- intel/compiler: Don't insert barriers for NULL sources +- anv: Use the same re-order mode for streamout as for GS +- intel/isl: Fix isl_color_value_unpack to match the prototype +- intel/nir: Set lower txs with non-zero LOD + +Jeremy Huddleston (5): + +- darwin: Use the system libexpat +- util: Fix pointer to integer conversion error when using libunwind +- darwin: Use the system libunwind +- Fall back on clock_gettime when timespec_get() is unavailable +- Adjust dylib compatibility versions to match what was set by mesa-18.3's autotools-based builds + +Jesse Natalie (76): + +- nir: Work around MSVC x86 internal compiler error +- main: Undefine MemoryBarrier for Windows +- glapi: Undefine MemoryBarrier +- mapi: Undefine MemoryBarrier +- drisw: Disable automatic use of layered drivers with LIBGL_ALWAYS_SOFTWARE +- wgl: Refactor screen creation to a function +- wgl: Add a loop for screen creation with an ordered list of fallbacks +- d3d12: Fail screen creation if a shader validator is needed and can't be created +- wgl: Disable automatic use of layered drivers with LIBGL_ALWAYS_SOFTWARE +- CI: Use a sha for the Windows SPIRV-LLVM-Translator dependency +- microsoft/clc: Add -fgnu89-inline to clang args +- microsoft/clc: Add test with inline function +- clover: Add -fgnu89-inline to Clang command line +- microsoft/clc: Only apply float scaling to 32bit fdiv +- microsoft/clc: Let lower_vars_to_explicit_types fill kernel input driver_location +- microsoft/clc: Fix wrap modes for inline samplers for integer textures +- microsoft/clc: Move inline samplers to the end of the variable list +- microsoft/clc: Use driver_location for metadata instead of re-computing offsets +- microsoft/clc: Re-order dead variable removal after uniform vars_to_explicit_types +- microsoft/clc: Add a test with an unused kernel arg +- glapi: Support "ELF" TLS on Windows +- docs: Document USE_ELF_TLS can work on Windows too +- meson/gallium: Add an option to not use LLVM for gallium draw module +- d3d12: Handle null constant buffers +- nir: Add a nir_after_instr_and_phis helper +- microsoft/compiler: Don't separate phis while inserting upcasts +- d3d12: Move descriptor pools to screen, and add lock +- d3d12: Handle is_new_style_shadow comparison filtering +- d3d12: Really handle null constant buffers +- u_format: Add restrict to fn pointer and manual format pack/unpack/fetch +- panfrost: Add a Meson dependency on bi_opcodes.h for bifrost_compiler +- meson, util: Make zlib optional again +- nir: Temporarily disable optimizations for MSVC ARM64 +- wgl: Fix wglCreatePbufferARB pixel format lookup +- d3d12: Use ID3D12Device9::CreateCommandQueue1 when available +- d3d12: Use CreateDXGIFactory2 and use the debug flag when appropriate +- wgl: Add unit test infrastructure for OpenGL32.dll on Windows +- wgl: Add a context to framebuffer destruction +- d3d12: Add a constant for num_buffers +- d3d12: Clean up swapchains on framebuffer destruction +- wgl, d3d12: Add a d3d12-specific test for swapchain leaks +- microsoft/compiler: Move blob_init earlier to prevent crash on failure +- microsoft/compiler: Add copy_prop_vars to optimization loop +- microsoft/compiler: Add a lowering pass to split clip/cull distance compact arrays +- microsoft/compiler: Enable dxil_nir.h to be included from C++ +- microsoft/compiler: Support compact arrays for clip/cull in nir_to_dxil +- d3d12: Use compact arrays for clip/cull distance +- microsoft/spirv_to_dxil: Implement TODO for removing dead functions +- spirv_to_dxil: Handle clip/cull distance +- microsoft/compiler: Fix barrier flag for shared memory +- microsoft/spirv_to_dxil: Lower globals to function_temp +- microsoft/spirv_to_dxil: Lower io arrays +- microsoft/compiler: Support fp16 i/o vars +- nir: Add a new opcode for [un]packing doubles +- microsoft/compiler: Add a lowering pass to emit double [un]pack instructions +- microsoft/compiler: Implement new double pack/unpack alu ops +- microsoft/spirv_to_dxil: Support doubles +- microsoft/compiler: Add some more float16 support +- meson: Refuse to build lavapipe without llvmpipe +- vtn: Don't warn about linkage capability if we're creating a NIR library +- vtn: Add a cap for CL drivers to support read-write images +- microsoft/clc: Update unit test to always use COMMON state for buffers +- meson: For MSVC, suppress warnings generated by useless delayloads +- driconf: Remove default values from string driconf entries +- CI: Enable -werror for Windows +- vtn: Support scoped control barriers for OpenCL too +- nir_opt_deref: ptr_as_array(deref_cast(x))[0] isn't the same as x[0] if the cast has alignment +- nir: Fix MSVC warning C4334 (32bit shift cast to 64bit) +- d3d12: Fix MSVC warning C4334 (32bit shift cast to 64bit) +- microsoft/clc: Fix MSVC unreferenced variable warnings +- microsoft/clc: Fix undeclared function warning +- microsoft/compiler: Fix MSVC warning C4334 (32bit shift cast to 64bit) +- shader_enums: Fix MSVC warning C4334 (32bit shift cast to 64bit) +- gallium/aux: Fix MSVC warning C4334 (32bit shift cast to 64bit) +- llvmpipe: Fix MSVC warning C4334 (32bit shift cast to 64bit) +- xmlconfig: Fix MSVC warning C4334 (32bit shift cast to 64bit) + +Jesse Schwartzentruber (1): + +- glcpp: Fix undefined behaviour in glcpp + +Joel Linn (2): + +- freedreno/a2xx: fix/add RBBM perfcounter +- freedreno/a2xx: add RB perfcounter 1-3 + +Jonathan Marek (13): + +- turnip: fix logicOp +- turnip: delete unused vk_format_parse.py file +- turnip: use vk_format_is_int to disable COLOR_ATTACHMENT_BLEND_BIT +- turnip: IMAGE_FILTER_{LINEAR,CUBIC}_BIT only for non-integer formats +- turnip: don't always use 3d ops for blit_image +- turnip: add missing register write to disable dithering +- freedreno/registers: use macro instead of inline function for array regs +- freedreno/a6xx: update perfcntr registers (declare as arrays) +- freedreno/a6xx: always use reg64 for address registers (no LO/HI) +- freedreno/a6xx: update some registers +- freedreno/a6xx: set SP_PERFCTR_ENABLE in computerator +- turnip: implement VK_KHR_shader_float_controls +- turnip: enable VK_KHR_shader_float16_int8 + +Jordan Justen (28): + +- intel/genxml/gen125: Add CFE_STATE and COMPUTE_WALKER +- intel/compiler: Disable push constants on gen12-hp +- anv: Emit CFE_STATE for gen12-hp +- anv: Don't use MEDIA_INTERFACE_DESCRIPTOR_LOAD for gen12-hp +- anv: Use COMPUTE_WALKER for gen12-hp +- iris: Add support for COMPUTE_WALKER +- iris: Fix android build due to missing link to libmesa_iris_gen125 +- anv: Add exec_flags to anv_queue +- anv: Turn device->queue into an array +- anv: Print queue number with INTEL_DEBUG=bat +- anv: Support i915 query (DRM_IOCTL_I915_QUERY) from Linux v4.17 +- anv: Gather engine info from i915 if available +- anv: Add anv_gem_count_engines +- anv: Support multiple engines with DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT +- anv: Add ANV_QUEUE_OVERRIDE env-var to override advertised queues +- i965: Call util_cpu_detect() early in screen creation +- intel: Use GEN_VERSIONx10 in more places +- intel/dev: Add devinfo genx10 field +- intel: Use devinfo genx10 field +- anv: Restructure mem heap/type init code +- anv: Put cache memory type first on non-llc platforms +- anv: Add mem heap/type support for local-mem +- anv: Drop has_slm in emit_l3_config for gen11+ +- anv: Use fallback paths if DRM_I915_QUERY_ENGINE_INFO fails +- i965/gen11: Fix must-be-ones bit positions in 3D_MODE +- genxml/gen12: 3D_MODE bits 31:16 are no longer must-be-one +- Revert "intel/compiler: Silence unused parameter warning in update_inst_scoreboard" +- intel/compiler: Fix INTEL_DEBUG=hex + +Jose Maria Casanova Crespo (4): + +- v3d: Enables DRM_FORMAT_MOD_BROADCOM_SAND128 support +- v3d: YUV formats at is_dmabuf_modifier_supported are external_only +- v3d: YUV formats at query_dmabuf_modifiers are external_only +- v3d: DRM_FORMAT_MOD_BROADCOM_SAND128 only available for NV12 format. + +Joshua Ashton (3): + +- lavapipe: handle NULL pStrides in CmdBindVertexBuffers2EXT +- lavapipe: implement CmdBindVertexBuffers with CmdBindVertexBuffers2EXT +- lavapipe: enable KHR_image_format_list + +José Fonseca (6): + +- scons: Add u_format_pack.h include path. +- wgl: Match opengl32.dll export ordinals. +- util: Always use timespec_get on Windows. +- appveyor: Remove integration. +- scons: Remove. +- gitlab-ci: Build meson-mingw32-x86_64 w/o zlib. + +Juan A. Suarez Romero (40): + +- v3d: fix dest offset in TFU setup +- v3d: use a compatible supported format for TFU-based blit +- vc4/ci: Replace expect script by python script +- ci/vc4: allow custom timeout values for activity +- ci/vc4: rename stage to Broadcom +- ci/vc4: Add piglit job +- ci: Bump deqp to current vulkan-cts-1.2.5.1 +- ci: add option to overwrite CPU arch +- ci/v3d: Add V3D and V3DV testing +- ci/v3d: Update expected resuls for piglit +- ci/piglit: allow parallel piglit jobs +- ci/vc4/v3d: Parallelize piglit jobs +- ci/piglit: fix parallel piglit results +- ci/baremetal: highlight message errors +- ci/broadcom: retry always when serial log timeout +- ci: Bump deqp to vk-gl-cts 1.2.5.2 +- ci/broadcom: allow custom kernels +- vc4: destroy renderonly object if present +- ci/armXX: add libgl1-mesa-dev dependency +- ci/v3dv: add flaky test in the skip list +- ci/vc4/v3d: run piglit testsuite against Xorg +- ci/broadcom: use new piglit runner +- ci/broadcom: update piglit expected results +- ci/v3d: run full GLES3 and GLES31 testsuite +- broadcom/compiler: fix unused value +- v3dv: fix unused value +- ci/v3dv: update flaky tests +- broadcom/cle: do not leak spec +- ci/broadcom: update expected list +- v3d: use uint type in _gen_unpack_uint +- broadcom/compiler: fix first_component assertion +- broadcom/compiler: use signed pointers for packed condition +- ci/broadcom: use SNMP to turn on/off devices +- broadcom/compiler: use VPM offsets in GS load_per_vertex input +- v3d: use GS_BIN inputs as VS_BIN outputs +- v3dv: fix assertion +- ci: Update VK-GL-CTS to 1.2.6.0 +- v3d: do not emit attribute if has no resource +- ci/v3dv: skip Vulkan waiver tests +- util/hash_table: do not leak u64 struct key + +Jérôme Glisse (3): + +- gallium: add support for SVM (Share Virtual Memory) migrate +- clover: implement clEnqueueSVMMigrateMem +- nouveau: add support for SVM migrate + +Karol Herbst (9): + +- clover: track allocated svm pointers +- clover/api: make use of validate_mem_migration_flags in clEnqueueMigrateMemObjects +- nouveau: print warning about unhandled cap only once +- clover: simplify image arguments +- clover: rework quering image max sizes +- clover: Fix build with llvm-12. +- clover: Add missing include for llvm-12 build fix +- tegra/context: fix regression in tegra_draw_vbo +- tegra/context: unwrap indirect_draw_count as well + +Keith Packard (2): + +- glx: Provide glvnd wrapper for glXSwapIntervalEXT +- wsi/x11: Fix type of target_msc argument to x11_present_to_x11_dri3 + +Kenneth Graunke (62): + +- vbo: Don't set node->min_index = max_index = indices_offset when merging +- vbo: Only mark merged line strips as lines when actually converting them +- tnl: Try not to botch index buffer munging when start > 0. +- tnl: Respect \`start` when converting indices to GLuint +- tnl: Reset nr_bos to 0 between map/unmap cycles. +- Revert "mesa: allow half float textures based on ARB_half_float_pixel" +- iris: Consider resolves after changing a resource's aux state +- iris: Drop find_existing_assembly optimization from program cache +- iris: Drop iris_print_program_cache(). +- iris: Refactor iris_debug_recompile interface to take a shader. +- intel: Produce a "constrained" output from gen_get_urb_config() +- iris: Reconfigure the URB only if it's necessary or possibly useful +- iris: Move the URB size checks into iris_update_compiled_xs +- iris: Properly handle new unbind_num_trailing_slots parameters +- iris: Use shader_info rather than vs_prog_data for draw parameter checks +- iris: Minor code restyling in iris_bind_vs_state +- iris: Move VS draw parameter dirty flagging to iris_bind_vs_state +- iris: Refcount shader variants +- iris: Store a list of shader variants in the shader itself +- iris: Enable PIPE_CAP_SHAREABLE_SHADERS. +- iris: add hooks to call INTEL_MEASURE +- iris: Fill out scratch base address dynamically +- iris: Remove context from iris_debug_recompile +- iris: Remove context from iris_upload_shader() +- iris: Remove context from iris_compile_vs and friends +- iris: Remove context from iris_create_uncompiled_shader +- iris: Remove context from iris_disk_cache_retrieve +- iris: Make a pin_scratch_space() helper +- iris: Reference the shader variant for last_vue_map as well +- iris: Pin surface state buffers after possibly updating the clear color +- i965: Rename use_intel_mipree_map_blit to use_blitter_to_map +- i965: Rename intel_batchbuffer_* to brw_batch_*. +- i965: Rename intel_screen to brw_screen +- i965: Rename intel_texture_{object,image} to brw_texture_{object,image} +- i965: Rename intel_renderbuffer to brw_renderbuffer +- i965: Rename intel_mip* to brw_mip*. +- i965: Use __func__ in blorp perf_debug macros +- i965: Rename intel_buffer_object to brw_buffer_object +- i965: Rename intel_image_format and intel_buffer to brw_* +- i965: Rename the rest of intel_* functions to brw_* +- i965: Rename intelInit and brwInit camel-case functions to brw_* +- i965: Rename some camel-case local variables +- i965: Rename more camel-case functions to brw and underscore style +- i965: Rename DRI extension structs to be "brw" instead of "intel" +- i965: Eliminate all tabs except in brw_defines.h +- tnl: Call _mesa_matrix_analyse to make sure the inverse MVP is updated +- glsl/float64: Bump #version to 400 +- iris: Defer uploading of surface states +- iris: Defer stream output target space allocation until set time +- iris: Rework zeroing of stream output buffer offsets +- iris: Support rebinding of stream output targets +- iris: Use different shader uploaders for precompile vs. draw time +- iris: Make various classes inherit from u_threaded_context base classes +- iris: Use thread safe slab allocators in transfer_map handling +- iris: Enable u_threaded_context +- vbo: Fix vbo_sw_primitive_restart for start > 0 +- intel/genxml: Add a partial GT_MODE definition for Gen11+. +- iris: Delete stale comment in iris_lost_context_state +- intel: Fix release build breakage +- Half-revert "gallium/dri2: Pass the resource that corresponds to the plane" +- intel: Mark an otherwise unused variable in intel_dump_gpu as ASSERTED +- ci: Enable iris testing in meson-release + +Kristian Høgsberg (1): + +- macros: Add thread-safety annotation macros + +Leo Liu (12): + +- radeon/vcn: clean the message buffers and their indexes logic +- radeon/vcn: add dynamic dpb interface +- radeon/vcn: add dynamic dpb buffer Tier1 support +- radeon/vcn: enable dynamic dpb Tier1 support +- radeon/vcn: add dynamic dpb Tier2 message buffer interface +- radeon/vcn: implement dynamic dpb Tier2 support +- radeon/vcn: enable dynamic dpb Tier2 support +- meson: bump drm amdgpu version to 2.4.105 +- ci: Fix meson-i386 build failed after libdrm bump version +- include/drm-uapi: bump AMDGPU headers +- ac: add function for querying video capabilities +- radeonsi: replace the hard coded video decode and encode caps + +Lepton Wu (3): + +- virgl: Don't destroy resource while it's in use. +- virgl: Use atomic operation directly. +- virgl: move new added field to the end. + +Lionel Landwerlin (96): + +- anv: add transfer usage for color/depth/stencil attachments +- anv: don't disable KHR_performance_query in debug mode +- intel/mi_builder: optimize 64bit immediate register loads & memory stores +- intel/mi_builder: fix self modifying batches +- intel/perf: restructure i915 perf version checks +- intel/perf: add definition for generic perf counters +- intel/perf: link queries back to the gen_perf_config object +- intel/perf: move gt_frequency to results +- anv: Fix stencil layout in render passes +- intel: silence unused var warnings in release builds +- anv: fix invalid programming of BLEND_STATE +- intel/common: store sample position in plain arrays +- anv: pass context to reset stats helper +- anv: store queue creation flags on anv_queue +- genxml: PERFCNT registers are available since HSW +- intel/perf: prep work to enable new perf counters +- intel/perf: query register descriptions +- intel/perf: add performance query layout using MI_SRM +- intel/perf: switch query code to use query layout +- anv: fix layout comment +- anv: remove unused query pool field +- intel/perf: rename lkf into ehl +- intel/perf: add reorder script +- intel/perf: reorder xml files +- intel/perf: remove reordering script +- intel/perf: update files from IGT +- intel/perf: small ICL equation refactor +- intel/perf: add async compute metrics +- intel/dev: identify tigerlake +- intel/perf: break TGL perf configs in GT1/2 +- intel/dev: identify rocketlake +- intel/perf: add RKL support +- intel/perf: add DG1 support +- intel/perf: drop the special READ_REG operator +- anv: compute commands required to implement perf queries +- anv: switch khr perf query code to use query layout +- anv: switch intel perf queries to query layout +- anv: add a comment describing has_relocs field +- anv: break up internal queueing function +- anv: only signal wsi fence BO on last command buffer +- drm-shim: report support for timeline semaphores +- intel/stub: plug some gaps in our ioctl faking +- anv: print out perf permission warning only once +- anv: discard all timeline wait/signal value=0 +- vulkan: document flags choice for vkGetDeviceQueue +- genxml: add MI_SET_APPID on Gen12+ +- genxml: Add PIPE_CONTROL protected memory bits +- isl: add external parameter to isl_mocs() +- anv: track command buffer pool flags +- anv: track buffer creation flags +- intel/dev: identify alderlake +- intel/perf: Add Alderlake metrics +- intel/perf: fix roll over PERF_CNT counter accumulation +- anv: reset binary syncobj to be signaled before submission +- anv: don't wait for completion of work on vkQueuePresent() +- anv: Fix wait_count missing increment +- anv: make use of new helper function directly in anv_QueueSubmit() +- anv: track the end of the command buffers +- anv: end command buffer with a potential jump +- anv: allow multiple command buffers in anv_queue_submit +- anv: group as many command buffers into a single execbuf +- anv: fix missing general state pool in validation list +- anv: implement INTEL_DEBUG=submit +- anv: fix MI_PREDICATE_RESULT write +- intel/tools: fix meson warning +- intel/dev: add helpers to compute subslice/eu total +- intel/dev: add warning on missing kernel uAPI for Gen8+ +- iris: use gen_device_info helper to get subslice total +- i965: stop using get_param for things queried by gen_device_info +- anv: stop using get_param for things queried by gen_device_info +- intel/dev: switch over to mesa log infrastructure +- anv: move L3 config emission to genX_state.c +- anv: move L3 initialization to device init on Gen11+ +- intel: install intel_device_info +- intel/fs/vec4: add missing dependency in write-on-write fixed GRFs +- intel/dev: store size of CS prefetch +- intel/mi_builder: use device info to use the right CS prefetch size +- anv: use the device size of CS prefetch to pad secondary buffer calls +- meson: switch vulkan layer to list of choices +- intel: Add null hw layer +- gitlab-ci: fix vulkan build layer enabling +- intel/nullhw: fix build +- etnaviv/drm: only print out fence error on non timeout +- intel/fs/copy_prop: check stride constraints with actual final type +- intel/fs: implement another copy propagation restriction +- intel/compiler: lower bit sizes in NIR postprocessing +- anv: put correct number of BT prefetch for compute on XeHP+ +- intel/fs: limit OW reads to 8 owords on XeHP+ +- microsoft: fixup clc_log() define +- anv: bump internal descriptor index fields to 32bits +- anv: fix 3DSTATE_MULTISAMPLE emission on gen8+ +- anv: disable baked in pipeline bits from dynamic emission path +- spirv: fix uToAccelerationStructure handling +- spirv: fixup pointer_to/from_ssa with acceleration structures +- vulkan/wsi/display: don't report support if there is no drm fd +- i965/bufmgr: fix invalid assertion + +Lucas Stach (5): + +- renderonly: remove layering violations +- renderonly: close the gpu fd when destroying renderonly +- etnaviv: don't try to copy PIPE_BUFFER with the 3D engine +- etnaviv: remove stale comment in etna_resource_copy_region +- Revert remaining half of "gallium/dri2: Pass the resource that corresponds to the plane" + +Lukas Feller (2): + +- v3dv: fix assertion in job_compute_frame_tiling +- v3dv: fix stride in buffer copy + +Marcin Ślusarz (20): + +- intel/perf: export information about units of performance counters +- intel/compiler: cache computed register pressure benefit +- intel/tools/aub: print better error message when mmap fails +- intel/tools/aub: handle truncated input file +- intel/tools/aub: remove superfluous new line from error messages +- intel/dump_gpu: mark bo as unmapped if its address changes +- anv: fix memory allocation error handling +- iris: fix decode_get_bo +- i965: fix decode_get_bo +- intel/batch_decoder: catch invalid sampler state pointer +- intel/batch_decoder: drop bogus check +- intel/batch_decoder: fix decoding of sampler states +- intel/batch_decoder: assert on invalid sampler pointer +- intel/aub_viewer: catch invalid sampler state pointer +- intel/aub_viewer: drop bogus check +- intel/aub_viewer: fix decoding of sampler states +- gallium: add PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH +- iris: disable dynamic VAO fastpath on GFX version 9 +- gallium/u_threaded: implement INTEL_performance_query hooks +- gallium/u_threaded: offload begin/end_intel_perf_query + +Marek Olšák (406): + +- mesa: always set valid index bounds for non-indexed draws for classic drivers +- st/nine: stop using cso_set_sampler_views +- st/xa: stop using cso_set_sampler_views +- gallium/tests: stop using cso_set_sampler_views +- gallium/api: add state invalidate interface as alternative to cso_save/restore +- gallium/hud: don't use cso_context to restore VBs, constbuf 0 and sampler views +- gallium/pp: don't use cso_context to restore VBs, constbuf 0 and sampler views +- st/mesa: don't use cso_context to restore VBs, sampler views for glBitmap +- st/mesa: don't use cso_context to restore VBs for glClear +- st/mesa: don't use cso_context to restore VBs, sampler views for glDrawPixels +- st/mesa: don't use cso_context to restore VBs, sampler views for glDrawTex*OES +- st/mesa: don't use cso_context to restore VBs, etc. for PBO glReadPixels +- st/mesa: don't use cso_context to restore VBs, etc. for PBO glTexSubImage +- st/mesa: don't use cso_context to set const bufs, sampler views and images +- st/mesa: replace st->pipe with pipe in a few places +- cso_context: remove ability to restore VBs, const bufs, sampler views, images +- st/mesa: unbind sampler views, images, and vertex buffers after meta ops +- st/mesa: optimize binding and unbinding shader images +- radeonsi: constant buffer cleanups +- radeonsi: don't clear unaligned bits when unbinding vertex buffers +- radeonsi: move emit_cache_flush functions into si_gfx_cs.c +- radeonsi: don't pass pipe_draw_info into si_emit_vs_state +- radeonsi: don't pass pipe_draw_info into si_emit_ia_multi_vgt_param +- radeonsi: translate pipe_prim_type only when it changes +- radeonsi: don't pass pipe_draw_info into si_emit_derived_tess_state +- radeonsi: don't compute average vertex count in si_draw_vbo +- radeonsi: fix si_num_prims_for_vertices for PIPE_PRIM_POLYGON +- radeonsi: make cik_emit_prefetch_L2 templated and move it to si_state_draw.cpp +- radeonsi: add a specialized function for CP DMA L2 prefetch +- radeonsi: make sctx->vertex_elements always non-NULL +- radeonsi: remove MRT-draw-calls, spill-draw-calls, spill-compute-calls +- radeonsi: get out of si_emit_vs_state early for blit vertex shaders +- radeonsi: rearrange condition for streamout workaround on gfx7 and gfx8 +- radeonsi: don't use si_get_vs_state in most places +- radeonsi: trim the size of si_vgt_param_key and si_vgt_stages_key +- mesa: fix alpha channel of ETC2_SRGB8 decompression for !bgra +- radeonsi: unify uploaders on APUs too +- radeonsi: don't pass pipe_draw_info into si_emit_draw_registers +- radeonsi: don't set context_roll for non-gfx9 in templated functions +- radeonsi: add si_get_user_data_base selecting user data registers +- radeonsi: evaluate sh_base in si_emit_vs_state at compile time +- radeonsi: inline the last use of si_get_vs_state +- radeonsi: evaluate si_get_vs in si_draw_vbo at compile time +- radeonsi: enable the GS tri strip adj workaround with primitive_restart +- radeonsi: clear dirty_atoms and dirty_states only if we entered the emit loop +- radeonsi: move variables closer to their use in most draw state functions +- radeonsi: don't validate inlinable uniforms at draw time +- radeonsi: allow instance_count == 0 on chips that handle it correctly +- glthread: remove marshal="draw" because it doesn't do much +- glthread: don't sync with NV_half_float vertex attrib functions +- glthread: add specialized versions of unmarshal_Draw funcs without user buffers +- glthread: track all matrix stack depths +- glthread: implement glGetIntegerv for states that glthread tracks +- glthread: rename inside_dlist to ListMode for future use +- glthread: remove if (COMPAT) conditions from functions that are GL-compat-only +- mesa: add _mesa_get_list helper +- glthread: add display list support to fix state tracking with display lists +- mesa: remove _mesa_initialize_exec_dispatch from draw.c by autogenerating it +- mesa: remove redundant glRect functions for display lists +- mesa: optimize glCallLists by using loops inside a switch +- mesa: simplify handling OPCODE_CONTINUE for display lists +- mesa: simplify terminating display list loops +- mesa: remove STATE_INTERNAL +- mesa: combine STATE_ENV, STATE_LOCAL enums with STATE_xxx_PROGRAM +- mesa: flatten STATE_MATERIAL and STATE_LIGHTPROD tokens +- mesa: eliminate the switch statement for STATE_TEXGEN +- glsl: remove unused internal builtin gl_CurrentAttribVertMESA +- glsl: split gl_CurrentAttribFragMESA into elements +- mesa: skip memmove in optimize_state_parameters if it's no-op +- mesa: rename STATE_LIGHT_ATTRIBS -> STATE_LIGHT_ARRAY for consistency +- mesa: optimize get_local_param_pointer and program_local_parameters4fv +- mesa: don't allocate local parameters in fetch_state +- mesa: merge local and env program parameters for faster uploads +- mesa: sort state vars with constant indexing for ARB programs +- mesa: add upper bound to limit program state var iterations +- mesa: compute gl_program_parameter_list::UniformBytes accurately +- mesa: don't handle STATE_* enums in fetch_state that don't do anything +- mesa: sort and tightly pack STATE_* enums to generate better switch code +- mesa: merge equivalent switch cases in prog_statevars.c +- st/mesa: enable state var merging to improve fetch_state performance +- radeonsi: add new possibly faster command submission helpers +- radeonsi: clear dirty_states if si_pm4_bind_state is unbinding or no-op +- radeonsi: don't mark NULL states as dirty in si_pm4_reset_emitted +- radeonsi: optimize translating index_size to index_type +- radeonsi: don't use rasterizer_discard to validate draws, only check ps_shader +- radeonsi: add internal blitter_running flag +- radeonsi: simplify determining whether render condition is enabled at draw time +- radeonsi: inline si_blend_color and si_clip_state structures +- radeonsi: move y_inverted out of si_viewports +- radeonsi: don't set vertex buffer dirty flags when they don't do anything +- radeonsi: move if (sctx->vertex_buffers_dirty) into the upload function +- radeonsi: rename SI_SGPR_RW_BUFFERS to SI_SGPR_INTERNAL_BINDINGS +- radeonsi: skip some code for ALLOW_PRIM_DISCARD_CS if tess or GS is enabled +- radeonsi: enable accidentally disabled fast launch with non-indexed tri strips +- radeonsi: iterate from draw 1 for total/min_direct_count computation +- st/mesa: don't enable smoothing if multisampling is enabled +- Revert "gallium/u_upload_mgr: allow use of FLUSH_EXPLICIT with persistent mappings" +- gallium: add take_ownership param into set_constant_buffer to eliminate atomics +- gallium: add unbind_num_trailing_slots to set_vertex_buffers +- gallium: add unbind_num_trailing_slots to set_shader_images +- gallium: add unbind_num_trailing_slots to set_sampler_views +- gallium: add take_ownership param into set_vertex_buffers to eliminate atomics +- cso_context,u_vbuf: add take_ownership param into set_vertex_buffers +- st/mesa: eliminate all atomic ops when setting vertex buffers +- st/mesa: skip atomics when binding UBOs +- gallium/u_upload_mgr: eliminate all atomics for the upload buffer +- gallium/u_threaded: add a null constant buffer codepath +- gallium/u_threaded: unify user and non-user codepaths in set_constant_buffer +- gallium/util: optimize pipe_vertex_buffer_reference binding the same buffer +- gallium,u_threaded: add pipe_draw_info::take_index_buffer_ownership +- st/mesa: set take_index_buffer_ownership to skip an atomic in u_threaded +- gallium/u_vbuf: skip draws with 0 vertices +- radeonsi: fix centroid with VRS coarse shading +- glthread: fix interpreting vertex size == GL_BGRA for vertex attribs +- glthread: fix glVertexAttribDivisor calls not being tracked by non-VBO uploads +- glapi: guard against invalid XML definitions for glthread +- ac,radeonsi: track memory usage in KB to reduce types from uint64 to uint32 +- radeonsi: optimize no-op cases in si_upload_shader_descriptors +- radeonsi: mark shader_pointers dirty once outside the upload descriptors loop +- radeonsi: move si_pm4_delete_state logic into si_pm4_free_state +- radeonsi: delete si_pm4_delete_state +- radeonsi: don't check for redundant and NULL states in si_emit_all_states +- radeonsi: optimize si_emit_prefetch_L2 when it's split +- radeonsi: reorganize si_draw_vbo for lower register pressure (part 1) +- radeonsi: reorganize si_draw_vbo for lower register pressure (part 2) +- radeonsi: set VB user SGPRs in si_upload_vertex_buffer_descriptors +- radeonsi: prefetch VB descriptors right after uploading +- radeonsi: precompute NGG cull flags in si_create_rs_state +- mesa: remove/replace FLUSH_VERTICES when it doesn't do anything +- mesa: optimize most _mesa_ActiveTexture calls in glPopAttrib +- mesa: optimize glPopAttrib(GL_VIEWPORT_BIT) +- mesa: don't push/pop gl_texture_object::Target +- mesa: fix glPopAttrib for many texture fields +- mesa: flush glBegin/End before changing GL_DEPTH_STENCIL_TEXTURE_MODE +- mesa: for every state change, remember states we changed for glPopAttrib +- mesa: fix trivial bugs in glPopAttrib +- mesa: optimize out _NEW_ALL in glPopAttrib(GL_ENABLE_BIT) +- mesa: only pop states in glPopAttrib that have been changed since glPushAttrib +- mesa: partially skip glPush/PopAttrib for MSAA textures and texture buffers +- mesa: don't save gl_shared_state in glPushAttrib +- mesa: don't push/pop default texture attributes redundantly +- mesa: pop all textures up to NumCurrentTexUsed, not just MaxTextureUnits +- mesa: don't count buffer references for the context that created them +- radeonsi: set current_rast_prim at bind time for tess and GS +- radeonsi: simplify the NGG culling condition in si_draw_vbo +- radeonsi: tune NGG shader culling vertex threshold for each chip +- radeon: decrease the size of radeon_cmdbuf by switching prev fields to uint16 +- Revert "gallium/u_vbuf: skip draws with 0 vertices" +- gallium/u_vbuf: skip non-indirect draws with 0 vertices +- winsys/amdgpu,radeonsi: add HUD counters for how much memory is wasted by slabs +- winsys/amdgpu: clean up slab alignment code, handle small buffers better +- winsys/amdgpu,pb_slab: add slabs with 3/4 of power of two sizes to save memory +- winsys/amdgpu: expand the slab allocation range to [256 B, 1 MB] +- winsys/amdgpu: optimize out conditionals in amdgpu_lookup_buffer +- winsys/amdgpu: remove amdgpu_winsys_bo::num_cs_references to remove atomics +- winsys/amdgpu: pack amdgpu_winsys_bo::is_shared and protect it by a mutex +- winsys/amdgpu: move amdgpu_winsys_bo::cpu_ptr into the u.real union +- winsys/amdgpu: move amdgpu_winsys_bo::is_shared to the u.real union +- winsys/amdgpu: move amdgpu_winsys_bo::is_user_ptr to the u.real union +- winsys/amdgpu: move amdgpu_winsys_bo::use_reusable_pool to the u.real union +- winsys/amdgpu: don't inc/dec num_active_ioctls for backing BOs of sparse BOs +- winsys/amdgpu: don't set unused usage for backing BOs of sparse BOs +- winsys/amdgpu: try not to skip any code with RADEON_NOOP=1 to test CPU perf +- tgsi_to_nir: translate SAMPLEID +- tgsi_to_nir: translate FBFETCH +- gallium/u_tests: test no-op fragment shader instead of NULL fragment shader +- winsys/amdgpu: disallow pb_cache for backing buffers of sparse buffers +- ac/gpu_info: print use_late_alloc +- ac/gpu_info: rename num_tcc_blocks -> max_tcc_blocks +- ac/gpu_info: add radeon_info::num_tcc_blocks +- ac/gpu_info: remove redundant radeon_info::num_sdp_interfaces +- ac/gpu_info: inline get_l2_cache_size and set cache sizes farther down +- ac/gpu_info: conceal L2 cache sizes +- amd: sort chip enums based on hw revision +- radeonsi: skip s_sendmsg(gs_alloc_req) for NGG passthrough on new chips +- radeonsi: add debug options nodisplaytiling and nodisplaydcc +- amd: update addrlib +- mesa: optimize draw index type checking +- mesa: precompute all valid primitive types at context creation +- mesa: precompute draw time prim validation during state changes +- mesa: move check_valid_to_render call into _mesa_valid_prim_mode +- mesa: fold most of check_valid_to_render into _mesa_update_valid_to_render_state +- mesa: inline check_valid_to_render +- mesa: add skeleton code for DrawPixels/CopyPixels/Bitmap precomputed validation +- mesa: don't report 1 for GL_VALIDATE_STATUS if user didn't validate pipeline +- mesa: move shader pipeline validation from draws to state changes +- mesa: move sampler uniform validation from draws to state changes +- mesa: move some uniform debug code from draws to state changes +- mesa: move FBO completeness checking from draws to state changes +- mesa: move ARB program and integer FBO validation from draws to state changes +- mesa: move GL_FILL_RECTANGLE validation from draws to state changes +- mesa: move blending validation from draws to state changes +- mesa: inline _mesa_valid_to_render now that it doesn't do validation +- mesa: optimize the dual source blend error checking using a bitmask +- mesa: remove VERBOSE_DRAW +- mesa: remove optional draw validation code to increase performance +- mesa: call _mesa_update_state() before validation +- mesa: remove an optional GL error about mapped buffers during execution +- mesa: skip MultiDrawArrays with primcount == 0 +- mesa: don't skip draws with count == 0 or numInstances == 0 +- mesa: add a separate valid primitive mask just for glDrawElements +- mesa: move disallowed TFB in DrawElements on GLES from draws to state changes +- mesa: validate numInstances in common functions to unify code +- mesa: optimize set_varying_vp_inputs by precomputing the conditions +- mesa: move gl_context::varying_vp_inputs into ctx->VertexProgram._VaryingInputs +- mesa: set _DrawVAOEnabledAttribs only when it changes +- mesa: precompute _mesa_get_vao_vp_inputs +- mesa: precompute draw time determination of enabled vertex arrays +- mesa: gather errors and call _mesa_error only once in validate_Draw +- mesa: inline _mesa_set_draw_vao and set_varying_vp_inputs for draw calls +- mesa: inline draw validate functions +- mesa: add debug code to catch missing _mesa_update_valid_to_render_state calls +- ac/surface: use family_id so as not to crash with SI_FORCE_FAMILY in addrlib +- radeonsi: for tess, determine the minimum num_patches before optimizing tg size +- radeonsi: improve comments in si_emit_derived_tess_state +- radeonsi: allocate filled_size for streamout targets in set_streamout_buffers +- radeonsi: do late NIR optimizations after uniform inlining +- radeonsi: fix the value of uses_bindless_samplers +- radeonsi: gather info about bindless images and memory stores with strstr(intr) +- radeonsi: gather shader info about indirect UBO/SSBO/samplers/images +- radeonsi: gather shader info about VMEM usage for MEM_ORDERED +- radeonsi: set MEM_ORDERED optimally +- glthread: assume all parameters are fixed if marshal_sync is present +- glthread: don't declare pointers with const in unmarshal functions +- glthread: don't sync when using pixel buffer objects +- glthread: ignore the return value of glUnmapBuffer, don't sync, and return true +- i915: use align_calloc for the context to fix m32 crashes +- radeon,r200: use align_calloc for the context to fix m32 crashes +- nouveau_vieux: use align_calloc for the context to fix m32 crashes +- mesa: remove unnecessary NewState flagging for glPopAttrib(GL_ENABLE_BIT) +- mesa: move fixed-func-related _mesa_update_state code closer together +- mesa: split _NEW_LIGHT into 3 flags: _NEW_LIGHT_(FF_PROGRAM|CONSTANTS|STATE) +- mesa: rework _MESA_NEW_NEED_EYE_COORDS to reduce fixed-func program updates +- mesa: don't compute the inverted projection matrix if not used +- mesa: don't compute the ModelView * Projection matrix if not used +- mesa: add _NEW_MATERIAL to reduce the weight of _NEW_LIGHT_CONSTANTS +- mesa: don't update derived material values in _mesa_update_state and elsewhere +- mesa: remove _NEW_VARYING_VP_INPUTS in favor of _NEW_FF_(VERT|FRAG)_PROGRAM +- mesa: remove _NEW_LIGHT_FF_PROGRAM in favor of _NEW_FF_(VERT|FRAG)_PROGRAM +- mesa: don't push/pop ctx->Texture._* derived states +- mesa: remove the fixed-func vert prog dependency on all texture states +- mesa: sort state parameters for ffvp to enable better parameter merging +- mesa: merge STATE_LIGHTPROD parameters +- mesa: merge STATE_LIGHT_ATTENUATION and STATE_LIGHT_POSITION_* parameters +- vbo: optimize copy_to_current functions +- vbo: don't call update_color_material in copy_to_current if it's a no-op +- mesa: be precise about when to set _NEW_CURRENT_ATTRIB and _NEW_MATERIAL +- mesa: move _mesa_update_pixel out of _mesa_update_state +- mesa: only update fixed-func programs on texture matrix enablement changes +- mesa: don't update fixed-func vert prog on irrelevant _NEW_TRANSFORM changes +- mesa: don't update fixed-func programs on irrelevant _NEW_POINT changes +- mesa: don't update fixed-func programs on irrelevant _NEW_FOG changes +- mesa: don't update fixed-func programs on irrelevant _NEW_RENDER_MODE changes +- mesa: don't update the fixed-func frag prog on irrelevant _NEW_COLOR changes +- mesa: don't update tnl spaces on irrelevant _NEW_POINT/TEXTURE_STATE changes +- mesa: skip a subset of _mesa_update_state if no relevant flags are set +- radeonsi: don't index si_context::shaders with enum gl_shader_stage +- ac/llvm: fix ac_build_atomic_rmw with LLVM 13 +- radeonsi: don't crash on NULL images in si_check_needs_implicit_sync +- ac/llvm: add support for 16-bit source operands for samplers +- ac/llvm: implement 16-bit and 64-bit fpow correctly +- ac/llvm: fix visit_load_ubo_buffer to use SMEM for 16 bits instead of VMEM +- ac/llvm: add type parameter into ac_build_buffer_load to fix 16-bit TES inputs +- ac/llvm: open code fpow on LLVM 12 using fmul.legacy +- driconf: add performance tweaks for viewperf +- ac/surface: select best swizzle mode for 3D sampler performance +- ac,radeonsi: add sampler changes for Aldebaran +- ac: set the TCC line size for Aldebaran +- ac/llvm: unpack thread IDs on Aldebaran +- ac: handle bigger instruction prefetch for Aldebaran +- ac,radeonsi: use correct VGPR granularity on Aldebaran +- ac: remove switch cases for pc_lines for compute-only chips +- radeonsi: enable RGP on gfx10.3 +- gallium/u_threaded: don't sync in create_stream_output_target +- gallium: add pipe_screen::num_contexts for skipping mutex locking in util_range +- radeonsi: update pipe_screen::num_contexts +- ac/llvm: handle demote in LLVM 13 that just added support for it +- ac/gpu_info: fix more non-coherent RB and GL2 combinations +- radeonsi: use pipe_sampler_state::border_color_is_integer to simplify stuff +- mesa: fix Blender crash due to optimizations in buffer reference counting +- mesa: add assertions for buffer reference counts +- mesa: fix a oldNum typo in reallocation in _mesa_reserve_parameter_storage +- mesa: don't overallocate ParameterValues 4 times (v2) +- mesa: clear reserved parameter storage because it's stored in the shader cache +- mesa: fix parameter reservation size +- st/mesa: add a driconf option to transcode ETC2 to DXTC +- util: add most missing formats with reversed RGB channel order +- util: fail assertion in util_format_linear if it can't translate SRGB format +- util: add new helper util_format_rgb_to_bgr +- radeonsi: select the optimal micro tile mode at clear regardless of fast clear +- radeonsi: add a fast path for MSAA resolving with RGB -> BGR swizzling +- amd/addrlib: add back the incorrect original DCC checking +- amd/addrlib: prevent defining regparm differently +- amd/addrlib: define endianess differently +- amd: update addrlib +- ac/llvm: don't set unsupported xnack options to fix LLVM crashes on gfx6-8 +- radeonsi: disable sparse buffers on gfx7-8 +- radeonsi: set the clear/copy cache policy based on L2 cache size +- radeonsi: don't insert start/stop pipeline stat events if it has no effect +- radeonsi: never set DISABLE_WR_CONFIRM for CP DMA clears and copies +- radeonsi: rename internal compute sync flags +- radeonsi: remove unused SI_CP_DMA_SKIP_* definitions +- radeonsi: merge CP DMA flags with internal compute flags +- radeonsi: inline clear_buffer in si_screen_clear_buffer +- radeonsi: set compute/cpdma sync flags in the outermost caller +- radeonsi: reduce syncing in si_dcc_decompress +- radeonsi: reduce syncing for initializing new buffers +- radeonsi: reduce syncing in si_compute_expand_fmask when it's already idle +- radeonsi: don't do an L2 flush in compute_do_clear_or_copy if we're not syncing +- radeonsi: rename and apply SI_OP_CPDMA_SKIP_CACHE_FLUSH to compute as well +- radeonsi: use the optimal packet order before draw packets for VS flushes too +- radeonsi: add SI_CONTEXT_PFP_SYNC_ME to skip syncing PFP for image operations +- radeonsi: return false from si_is_format_supported instead of NULL +- radeonsi: don't use constbuf and set cache policy for 12-byte clear shader +- radeonsi: don't use a constant buffer for the copy_image compute shader +- radeonsi: decrease the maximum variable block size +- radeonsi: pack the variable block size in one SGPR, 10 bits per component +- amd: fix parsing the last dword of DMA_DATA packets +- ac/surface: add CMASK info for level 0 +- radeonsi: determine accurately whether the framebuffer state has DCC MSAA +- radeonsi: remove si_screen::dcc_msaa_allowed +- radeonsi: parallelize CMASK and DCC clears +- radeonsi: return success/failure from si_alloc_separate_cmask +- radeonsi: add num_layers variable into si_do_fast_color_clear +- radeonsi: group and parallelize all clears in si_texture_create_object +- radeonsi: set better default depth clear value +- radeonsi: enable HTILE with mipmapping on gfx9+ +- radeonsi: unset PIPE_CLEAR_* flags for non-existent buffers +- radeonsi: turn the loops over color buffers into while loops in si_clear +- radeonsi: don't use CP DMA for clears/copies except for very small ones +- ac/surface/tests: move shareable code into ac_surface_test_common.h +- radeonsi: fix si_compute_copy_image if DCC decompression happens before a copy +- gallium/pb: pass an optional winsys pointer to the buffer destroy function +- winsys/radeon: rename radeon_bo_reference -> radeon_ws_bo_reference +- radeon_winsys.h: add a new function radeon_bo_reference that takes a winsys +- radeon_winsys.h: add a winsys parameter to most winsys buffer functions +- winsys/amdgpu: remove amdgpu_winsys_bo::ws +- winsys/amdgpu: add amdgpu_cs::ws to reduce dereferences +- gallium/pb: change pb_buffer::alignment to alignment_log2 +- gallium/pb: remove 8 bytes from pb_buffer by packing variables +- winsys/amdgpu: remove another 8 bytes from amdgpu_winsys_bo by packing better +- ac/surface: split dcc level info from surface_info to save space +- ac/surface: overlap color and Z/S fields using a union in legacy_surf_layout +- ac/surface: change legacy_surf_level::offset to 32-bit offset_256B shifted by 8 +- ac/surface: inline and reorder gfx9_surf_flags for better packing +- ac/surface: pack gfx9_surf_meta_flags better +- ac/surface: pack gfx9_surf_layout:resource_type better to save 8 bytes +- ac/surface: pack radeon_surf::num_htile_levels better +- ac/surface: pack alignments by storing log2 in radeon_surf +- ac/surface: overlap color and Z/S fields using a union in gfx9_surf_layout +- ac/surface: pack radeon_surf better +- ac/surface: unify htile_levels and dcc_levels as meta_levels +- ac/surface: unify htile_* and dcc_* fields as meta_* fields +- ac/surface: use named "color and "zs" structures in unions +- radeonsi: don't cache FMASK transactions from CB in L2 +- radeonsi: restructure DCC disablement into a switch +- radeonsi: allow trivial DCC clears for shared textures with DCC constant encode +- radeonsi: implement per-level DCC and CMASK fast clears for gfx10+ +- radeonsi: implement Z/S fast clear for non-zero mipmap levels +- radeonsi: parallelize Z/S conversion into TC-compatible with fast color clears +- radeonsi: clean up some mess around htile_stencil_disabled +- radeonsi: add si_can_fast_clear_depth/stencil helpers +- radeonsi: indent the code for TC-compatibility HTILE transition +- radeonsi: implement fast Z/S clears using clear_buffer on HTILE +- radeonsi: enable DCC fast clears for non-zero mipmap levels and 0/1 clear values +- radeonsi: when transitioning to TC-compat HTILE, try to do a proper clear +- radeonsi: do Z-only or S-only HTILE clear using a compute shader doing RMW +- radeonsi: refine fast clears for small buffers, always use them for large HTILE +- radeonsi: try to fix DCC coherency issues with DCC decompression +- radeonsi: allow DCC_DECOMPRESS via CB with MSAA textures +- ac/surface: only apply the 3D swizzle mode tuning to gfx10+ +- ac/surface/tests: test Sienna Cichlid and Navy Flounder +- ac/surface/tests: fix a random segfault in the modifier test +- amd/addrlib: expose DCC address equations to drivers +- meson: add an optional OpenMP dependency for AMD tests +- ac/surface: add a test of DccAddrFromCoord prototype outside of addrlib +- ac/surface: limit the number of swizzle modes that can have displayable DCC +- ac,radeonsi: rewrite DCC retiling without the DCC retile map +- radeonsi: fix and enable full DCC with MSAA 2x on gfx9 +- radeonsi: implement DCC MSAA 4x/8x fast clear using DCC equations on gfx9 +- radeonsi: enable DCC for MSAA 4x and 8x on gfx9 +- radeonsi: move binding the internal compute shader into si_launch_grid_internal +- radeonsi: unify internal compute with SSBOs in si_launch_grid_internal_ssbos +- compiler: move TEXTURE_COORD/VERTEX_GENERIC_ATTRIB limits into shader_enums.h +- nir: add src and dest types to all IO loads and stores for mediump +- nir: add new VARYING_SLOTs and shader info for packed 16-bit varyings +- nir: add many passes that lower and optimize 16-bit input/outputs and samplers +- glsl: pack 16-bit uniforms in the NIR linker +- mesa: implement glUniform for packed FP16 uniforms +- mesa: implement glGetUniform for FP16 uniforms +- mesa: implement glGetActiveUniform for FP16 uniforms +- glsl: lower mediump uniforms to FP16 based on an option +- gallium: add PIPE_SHADER_CAP_FP16_CONST_BUFFERS for FP16 uniforms +- st/mesa: fix nir_lower_io if it's done right after IO vectorization +- ac/llvm: implement 16-bit packed VS outputs and FS inputs +- radeonsi: implement 16-bit VS->PS varyings +- radeonsi: implement 16-bit VS inputs +- radeonsi: optimize and legalize 16-bit samplers +- radeonsi: kill 16-bit VS outputs if PS doesn't use them or doing Z-only draw +- radeonsi: enable FP16 for mediump on gfx9+ if radeonsi_fp16=true +- nir: handle mediump varyings in varying compaction helpers +- radeonsi: don't decompress DCC for float formats in si_compute_copy_image +- radeonsi: fix automatic DCC retiling after DCC clear and DCC decompression +- radeonsi: fix automatic DCC retiling after compute image stores +- radeonsi: make the gfx9 DCC MSAA clear shader depend on the number of samples +- util: fix (re-enable) L3 cache pinning + +Marek Vasut (2): + +- compiler/nir: Increment shader input count and mark as used when adding new gl_PointCoord +- etnaviv: Fix point sprite Z,W coordinate replacement + +Mark Janes (12): + +- intel: Print GPU timing data based on INTEL_MEASURE +- anv: enable timestamp for INTEL_MEASURE +- anv: implement anv layer of INTEL_MEASURE +- blorp: add hook for INTEL_MEASURE +- anv: add hooks to call INTEL_MEASURE +- iris: implement iris layer of INTEL_MEASURE +- iris: add a iris_context reference to iris_batch +- intel: stop tracking submission state in INTEL_MEASURE +- intel: support secondary command buffers in INTEL_MEASURE +- intel: combine common gather routines in INTEL_MEASURE +- intel: check setuid before writing output file in INTEL_MEASURE +- Revert "blorp/gen12: Don't use aux address if implicit CCS" + +Matt Turner (8): + +- docs/freedreno: Fix a few typos +- turnip: Remove unused TU_DEBUG_IR3 flag +- docs: Mark VK_KHR_maintenance1 as done on turnip +- ci: Use CI_PROJECT_ROOT_NAMESPACE +- tu: Skip tu_tiling_config_update_tile_layout() if not using gmem +- ci: Disable panfrost g52 +- Remove Scons leftovers +- ir3: Don't count (nopX) towards the wrong category + +Matti Hamalainen (2): + +- gallium: Fix broken trace XML output +- gallium/tools: update trace scripts to Python 3 + +Mauro Rossi (29): + +- android: r600/sfn: add sfn_nir_lower_64bit.cpp to Makefile.sources +- android: freedreno/hw/isa: Add description of ir3 ISA +- android: freedreno/ir3: Switch over to new encoder/decoder +- android: pan/mdg: create nir pass to lower image coord bitsize +- android: intel: Print GPU timing data based on INTEL_MEASURE +- android: anv: implement anv layer of INTEL_MEASURE +- android: iris: implement iris layer of INTEL_MEASURE +- android: radv: port to using common dispatch code. +- android: radv: fix building error in radv_android.c +- android: util/fossilize_db: add missing sources to Makefile.sources +- android: ac/rgp: fix building error +- android: mesa: Move the FXT1 compressor/decompressor to util/ +- android: pan/bi: reorder static dependencies in gallium/dri +- driconf: avoid Non-ASCII character error in driconf_static.py +- android: driconf: Generate a static table when no xmlconfig +- android: i965: Rename files with "intel\_" prefix to "brw\_" +- android: util: create some standalone compression helpers +- android: anv: add libcutils shared dependency +- android: r600/sfn: fix sfn_nir_algebraic.c gen rules +- android: vulkan/util: add vk_descriptors.{c,h} to Makefile.sources +- android: amd/addrlib: define endianess to build +- android: panfrost: Use the blend shader cache attached to the device +- vulkan/util: Fix implicit declaration of ffs for Android build +- android: anv: Remove anv_intel.c from Makefile.sources +- android: anv: fix build error in anv_android.c +- compiler/glsl: fix include for Android build +- android: panfrost/lib: add pan_cs.c to Makefile.sources +- android: gallium/radeonsi: add nir include path +- android: amd/common: add nir include path + +Michael Tang (5): + +- microsoft/compiler: Make resource_state_manager only build with_gallium_d3d12 +- util: Make os_read_file use O_BINARY on Windows +- microsoft/spirv_to_dxil: Fix spirv2dxil I/O to use binary mode +- microsoft/spirv_to_dxil: Add lowering pass to handle gl_PerVertex +- microsoft/spirv_to_dxil: Add extra lowering functions according to the docs on nir_inline_functions + +Michel Dänzer (53): + +- ci: Remove .gitlab-ci/meson-build.bat +- ci: Use meson test directly instead of ninja test +- wsi/x11: Use get_screen_resources_current in wsi_x11_detect_xwayland +- ci: Enable process isolation for softpipe & freedreno piglit jobs +- ci: Use GNU time as meson test wrapper +- ci: Run 'time' in the background and propagate signals to test process +- ci: Fix MESA_TEMPLATES_COMMIT value +- ci: Update to newer ci-fairy +- ci: Set GALLIVM_PERF=no_filter_hacks for llvmpipe-piglit-quick_shader +- ci: Set GALLIVM_PERF=no_filter_hacks for llvmpipe-piglit-quick_gl +- ci: Set GALLIVM_PERF=nopt,no_filter_hacks for llvmpipe-gles2 +- ci: Use MESA\_ namespace for image variables in Windows jobs +- ci: Use MESA_IMAGE_TAG everywhere +- ci: Move FDO_DISTRIBUTION_TAG assignment to template +- ci: Add and use .set-image template to construct docker image name +- ci: Incorporate base image tag into dependent image tags +- ci: Append build image tag to LAVA tag used for minio path +- ci: Add trailing slash to path for documentation preview +- ci: Restrict meson-gallium job to gstreamer runners +- ci: Disable scons-win64 job +- ci: Move meson-build.sh to meson/build.sh +- ci: Drop SIGINT handling from meson test wrapper script +- ci: Move /usr/bin/time check from meson test wrapper to build script +- aco/tests: Use _exit in child process +- ci: Add strace to the x86_build docker image +- ci: Run meson tests in strace if it's available and can be used +- ci: Don't run meson tests in strace for meson-mingw32-x86_64 job +- intel/tools: Use subprocess.Popen to read output directly from a pipe +- Revert "ci: Restrict meson-gallium job to gstreamer runners" +- glcpp: Fully initialize struct gl_context +- ci: Disable valgrind in some build jobs +- glsl/tests: Bump glcpp valgrind test timeout to 240 seconds +- glsl/tests: Don't use tempfiles +- glsl/tests: Use exit code 126 to detect valgrind errors +- Revert "ci: disable glcpp tests for now" +- Revert "meson: add enable-glcpp-tests option" +- Revert "glsl/test: Don't run whitespace tests in parallel" +- ci: Remove INCLUDE_PIGLIT +- ci: Build ARM baremetal rootfs in native container +- ci: Merge ARM testing docker images to a single arm_test one +- wsi/x11: Wait for fences with IMMEDIATE on Xwayland +- ci: Fix HTML summary path for piglit OpenCL job artifacts +- intel/blorp: Initialize texture_data[0] +- ci: Do not install armhf LLVM packages +- ci: Bump LLVM/clang from 10 to 11 +- ci: Move docker images from Debian buster to bullseye +- ci: Install librenderdoc from Debian bullseye +- ci: Install spirv-tools from Debian bullseye +- ci: Install llvm-spirv from Debian bullseye +- ci: Install GLVND from Debian bullseye +- ci: Install Rust & cargo from Debian for x86_test* images +- ci: Do not append ci-templates commit hash to Windows docker image tag +- ci: Update to latest ci-templates + +Michel Zou (25): + +- vulkan/lavapipe: add missing VKAPI_ATTR/CALL +- vulkan: Fix windows api conflict +- zink: Fix win32 build +- vulkan: Fix windows api conflict +- meson: invalid keyword argument dependencies +- zink: fix win32 build +- util: fix gcc vsnprintf overflow +- glapi: keep declspec(thread) msvc-specific +- vulkan: implement wsi_win32 backend +- lavapipe: add mingw32 def file +- lavapipe: set empty dll prefix +- gallium: remove DROP_PIPE_LOADER_MISC +- meson/xmlconfig: win32 regex fallback +- meson: detect winflex/bison only on native win32 +- turnip: update features.txt +- lavapipe: update features.txt +- vulkan: fix CreateRenderPass prototype +- swr: extern declaration for win32 intrinsics +- swr: fix win32 intrinsics +- swr: Fix SWR_CONTEXT pre-declaration +- swr: fix unused SplitString warning +- swr: fix deprecated llvm 11 declaration warning +- swr: fix array-bounds warning +- lavapipe: Fix type narrowing +- docs: missing lvp win32surface ext in features.txt + +Mike Blumenkrantz (775): + +- zink: clamp sampler+samplerview limits +- util/hash_table: optimize rehash for empty table and no-func clears +- util/set: optimize rehash for empty table and no-func clears +- util/set: add the found param to search_or_add +- util/set: split off create() into an init() function +- zink: optimize renderpass hash table +- nir/lower_uniforms_to_ubo: set explicit_binding on uniform_0 +- zink: add spirv builder function for runtime array type +- zink: add util function for emitting ntv atomic ops +- zink: add set_shader_buffers pipe_context method +- zink: hook up ssbo shader bindings +- zink: emit ssbo variables in ntv +- zink: modify ubo loading in ntv to work for ssbos +- zink: start supporting atomic shader ops +- zink: split UBOs and samplers into 'read' batch references during draw +- zink: flag ssbo buffer resources as having pending writes on batch +- zink: add more usage bits for buffer types +- zink: partially enable SSBO pipe cap +- zink: only emit streamout targets during draw if we have them +- zink: rework framebuffer state +- zink: add batch flag for checking renderpass state +- zink: remove renderpass refcounting +- zink: ralloc zink_framebuffer structs +- zink: rename param in zink_create_framebuffer +- zink: use 'fb' variable name for zink_framebuffer objects in zink_framebuffer.c +- zink: decouple renderpass from framebuffer state +- zink: move zink_clear to zink_clear.c +- zink: start to refactor clearing +- zink: handle clears with scissor regions +- zink: break out scissor region testing for clear functions +- zink: break out color/zs no_rp clear into separate functions +- zink: break out some of the u_blitter setup into util function +- zink: add a pipe_context::clear_texture hook +- zink: enable PIPE_CAP_CLEAR_TEXTURE +- zink: reduce blendfactor when alpha_to_one is set +- zink: tweak xfb slot mapping in ntv +- zink: process ubos with location values set as long as they're actually ubos +- zink: add VK_KHR_driver_properties +- zink: enable WSI-faking for RADV too +- zink: rename zink_context::\*image_views -> sampler_views +- zink: add ntv util function for getting image type +- zink: rewrite image/sampler glsl -> vk type functions for robustness +- zink: add spirv_builder function for hexops +- zink: add spirv builder functions for image ops +- zink: add ntv function for emitting variable access decorations +- zink: verify format caps and add storage image usage when possible in creation +- zink: add 'has_draw' flag to batch struct +- zink: add a pipe_context::memory_barrier hook +- zink: add shader image support to zink_binding() +- zink: add new 'sampler_types' variable to ntv_context struct +- zink: handle image variable types in ntv +- zink: handle more atomic ops in ntv +- zink: handle nir_intrinsic_memory_barrier in ntv +- zink: add nir_var_uniform case to get_storage_class() +- zink: expand ntv array derefs to track image derefs +- zink: add handling for all basic image ops in ntv +- zink: enable early frag test execution in ntv when necessary +- zink: enable image caps in ntv when a shader has images +- zink: handle image descriptors during zink_shader creation +- zink: break out bufferview creation into separate function +- zink: add a pipe_context::set_shader_images hook +- zink: handle shader image descriptor updates during draw +- zink: check if multisample support exists for shader image formats +- zink: export shader image caps using features +- zink: GLSL 420 +- docs/features: mark off GL 4.2 for zink +- zink: set PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS +- zink: force per-sample interpolation +- zink: set PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT +- zink: set PIPE_CAP_ROBUST_BUFFER_ACCESS_BEHAVIOR +- zink: support VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL usage +- zink: add layout member to barrier setup in draw +- zink: support PIPE_FORMAT_X24S8_UINT +- zink: check correct caps for PIPE_CAP_IMAGE_LOAD_FORMATTED +- zink: enable PIPE_CAP_SAMPLER_VIEW_TARGET +- gallium/u_inlines: add helper for simplifying pipe_context::resource_copy_region +- zink: add function for waiting on a specific batch's fence +- zink: don't force a renderpass start when setting framebuffer state +- spirv: handle NoContraction in GLSL450 alu ops +- zink: fix streamout for clipdistance +- zink: add a VkExternalMemoryImageCreateInfo for PIPE_BIND_SHARED images +- zink: set lower_mul_2x32_64 when 64bit int support is available +- zink: enable PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE +- zink: flag gfx pipeline dirty using newer mechanism +- zink: guarantee surface lifetimes for shader images +- st/bitmap: use GL_CLAMP_TO_EDGE for bitmap samplers +- st/drawpixels: use GL_CLAMP_TO_EDGE instead of GL_CLAMP for samplers +- zink: don't export PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS value +- zink: add spirv builder function for OpAtomicStore +- zink: flag ssbo buffer resources as having pending writes per stage +- zink: handle null ssbo attachments without crashing +- zink: handle more ssbo ops in ntv +- zink: rework ssbo indexing and binding +- zink: support nir_intrinsic_store_ssbo +- zink: implement get_ssbo_size nir intrinsic +- zink: flatten out ssbo/ubo variable decls in ntv +- zink: export ssbo caps +- Revert "glcpp: disable 'windows' tests" +- meson: add enable-glcpp-tests option +- ci: disable glcpp tests for now +- zink: add barrier helper for buffer resources +- zink: add a stage param for buffer resource barriers +- zink: add helper function for checking if access flags include write access +- zink: improve barrier helper for buffer resources and add check for barrier need +- zink: flag previous vertex stages as dirty when toggling a later stage +- zink: add shader key for vs shaders +- zink: flag shaders as needing update when clip_halfz changes +- zink: move tess/geom shader info to vs shader key +- glsl: support 64bit integer loop iterators +- radv: print image array size in debug mode +- zink: move maintenance2 extension to right file +- zink: unify shader image unbind codepath +- zink: be a little more precise about query types in one conditional +- radv: null bo list pointer for null descriptors on update +- radv: zero the bo descriptor array when allocating a new set +- zink: force 4 component formats for samplerview/render textures +- zink: support nir_intrinsic_memory_barrier_buffer +- zink: add defines for compute batch and gfx batch count +- zink: bump resource usage flags to allow 5 batches +- zink: make get_resource_usage() public +- zink: make zink_batch_reference_resource_rw return usage info +- zink: wait on compute batch when necessary during transfer map +- zink: add spirv_builder function for emitting a 3word literal exec mode +- zink: handle COMPUTE bindings in compiler/ntv +- zink: handle COMPUTE setup in ntv +- zink: handle COMPUTE glsl variables +- zink: implement shared load/store nir ops in ntv +- zink: add handling for shared atomic ops in ntv +- zink: handle nir_intrinsic_memory_barrier_shared in ntv +- zink: ignore compute batch when starting/ending batches +- zink: take a pipe_reference param in zink_batch_reference_program +- zink: refactor batch creation +- zink: make allocate_descriptor_set() take more params instead of a gfx_program +- zink: explicitly get shader stage from shader during binding setup in draw +- zink: rename pipeline_cache_entry -> gfx_pipeline_cache_entry +- zink: add compute programs and pipelines +- zink: break out descriptor updating into separate function +- zink: setup compute batch and add handling +- zink: handle memory barriers for compute batch +- zink: handle descriptor set updates for compute operations +- zink: flush gfx/compute batches when the other pipeline needs resource sync +- zink: add launch_grid pipe_context hook for compute handling +- zink: export compute-specific shader/compute caps +- zink: enable compute +- zink: GLSL 430 +- features: mark off GL 4.3 for zink +- zink: add spirv_builder wrapper for vote intrinsics +- zink: handle vote intrinsics in ntv +- zink: rework viewport handling +- zink: handle nir_texop_texture_samples +- zink: add a texture barrier hook +- zink: use = and not \|= for VkMemoryPropertyFlags during resource creation +- zink: set HOST_COHERENT bit for coherent resource creation +- zink: track persistent, non-coherent, writable transfer map count for resources +- zink: slightly refactor batch resource referencing in update_descriptors() +- zink: flush all resources with persistent maps on work batch before draw/compute +- zink: enable PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT +- zink: rename zink_context::dummy_buffer -> dummy_vertex_buffer +- zink: create dummy xfb buffer +- zink: handle null xfb buffers +- zink: use better mapping for PIPE_FORMAT_X24S8_UINT +- zink: handle nir_intrinsic_load_helper_invocation +- zink: fix xfb buffer refcounting +- zink: add PIPE_BIND_QUERY_BUFFER to the all-purpose resource creation path +- zink: add a get_query_result_resource hook +- zink: enable PIPE_CAP_TGSI_ARRAY_COMPONENTS +- zink: enable PIPE_CAP_QUERY_BUFFER_OBJECT +- zink: GLSL 440 +- zink: enable PIPE_CAP_CONDITIONAL_RENDER_INVERTED +- zink: enable PIPE_CAP_CLIP_HALFZ +- zink: enable PIPE_CAP_TGSI_TXQS +- zink: enable PIPE_CAP_TEXTURE_BARRIER +- zink: GLSL 450 +- features: mark off GL 4.5 for zink +- zink: add spirv interfaces for bo and image/sampler/push variables +- zink: lower flrp64 and ffma64 when in softfp64 mode +- zink: always use query->type for starting/stopping xfb queries +- zink: make the xfb_query_pool into an array +- zink: break out cpu query reading for qbos into separate function +- zink: put SO_OVERFLOW queries on the primgen list +- zink: support SO_OVERFLOW pipe query types +- zink: fix streamout for tess stage +- zink: flag exact alu op results in ntv with NoContraction +- zink: unset generated TCS if its parent TESS is unset +- zink: hook up cs invocation queries to the compute batch +- zink: add support for pipeline statistics queries +- zink: fix slot mapping for legacy gl io with tess stages +- zink: handle 1bit undef values in ntv +- zink: add handling for ARB_shader_draw_parameters variables in ntv +- zink: create a struct for tracking push constant layout +- zink: rework tcs injection to be more compatible with new push const struct +- zink: add push constant value to indicate whether the current draw is indexed +- zink: wrap shader gl_BaseVertex access with a bcsel based on push constant state +- zink: add a draw_id param to vs push constants +- zink: add a vs shader key for rewriting gl_DrawID +- zink: break out push constant creation in compiler and add drawid value +- zink: rewrite drawid based on shader key value +- zink: add util function for submitting the compute batch +- zink: enable PIPE_CAP_TGSI_VOTE +- zink: enable PIPE_CAP_DRAW_PARAMETERS +- zink: enable PIPE_CAP_POLYGON_OFFSET_CLAMP +- zink: enable PIPE_CAP_QUERY_SO_OVERFLOW +- zink: enable pipeline statistics cap +- zink: PIPE_CAP_GL_SPIRV +- zink: GLSL 460 +- features: mark off GL 4.6 and ES 3.1 for zink +- zink: support nir_intrinsic_group_memory_barrier +- zink: fix device codegen extension detection +- zink: add nir_intrinsic_memory_barrier_image handling +- zink: use nir_shader_instructions_pass for draw params pass +- zink: add flag for no-oping fence finish +- zink: hook up valid_buffer_range for buffer resources using util_range +- zink: create a VkPipelineCache object on the screen and use it +- zink: add a disk cache for pipeline objects +- gallium/trace: add a pipe_screen::get_compiler_options method +- zink: handle dual blending override from driconf +- zink: move command pool to the batch +- nir/lower_tex: rewrite tex/txb -> txd/txl before saturating srcs +- mesa/st: add pipe_sampler_state::border_color_is_integer +- mesa/st: add PIPE_CAP_GL_CLAMP +- zink: enable GL_CLAMP cap +- gallium/trace: remove transfer_map assert +- zink: add helper function for getting pipeline stage from shader stage +- zink: set buffer resource barriers for descriptor resources in update_descriptors() +- zink: rework xfb counter resource barriers +- zink: rework xfb barrier transitions when reusing as vertex inputs +- zink: remove aspect param from zink_resource_barrier +- zink: add a VkPipelineStageFlags param to zink_resource_barrier() +- zink: add helper for image resource barriers and avoid unnecessary barriers +- zink: use define for max descriptor array size +- zink: add generic wrapper for checking whether a resource needs a barrier +- zink: avoid emitting unnecessary pipeline barriers during update_descriptors +- zink: break out barrier transitioning in update_descriptors +- zink: combine resource barriers where possible during update_descriptors +- zink: take struct zink_batch param instead of direct cmdbuf in barrier helpers +- zink: assert batch is not in a renderpass when emitting pipeline barrier +- zink: add barriers for index and draw param buffers +- zink: add access param for image resource barriers +- zink: add access info for update_descriptor image barriers +- zink: add batch references for resources in clear functions +- zink: improve barrier usage for clear functions +- zink: zink_resource_barrier -> zink_resource_image_barrier +- zink: add general zink_resource_barrier() wrapper +- zink: be more explicit with image barriers for copy operations +- zink: fix surface creation for cube slices +- zink: tag some missing ES features +- zink: update relnotes +- zink: just call context destructor on creation fail +- zink: add buffer barriers for resource_copy_region +- zink: break out buffer copying into util function with batch param +- zink: just end the current renderpass in zink_batch_no_rp() +- zink: break out even more of zink_blit state saving +- zink: use vkGetFenceStatus when we're obviously checking for status +- zink: fix buffer resource usage flags +- zink: break out query result buffer copying into util function +- zink: simplify some of the qbo direct buffer write code +- zink: better handling for availability queries on qbos when query/resource is busy +- zink: improve batch flushing for queries when compute batches are involved +- zink: always use 64bit flag for query results +- zink: handle scissor+viewport states dynamically if extension is available +- zink: remove 'scissors' member of viewport state +- zink: always set VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT for non-staging resources +- zink: add available|visible masks to all barriers in ntv +- zink: set conformant ubo/ssbo size limits +- zink: destroy renderpass objects on context destroy +- zink: rename 'has_draw' flag on batches and set it when the batch is used +- zink: move gfx pipeline creation closer to the bind point +- zink: only reset pipeline hash conditionally when updating fb state +- zink: simplify barrier usage +- zink: beef up zink_transfer_flush_region +- zink: only wait on last write-batch for resources during transfer_map +- zink: change some transfer_map cases of waiting on cs batch to flushing cs +- zink: handle PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in transfer_map for buffers +- zink: update ci results +- zink: disable some builtin-gl-sample-mask sample shading tests on ci +- zink: actually disable sample mask tests on ci +- lavapipe: fix color-only renderpass clears +- zink: ralloc the main context +- zink: create framebuffer and renderpass objects just before vkCmdBeginRenderPass() +- zink: defer pipe_context::clear calls when not currently in a renderpass +- zink: also defer fb clears when conditional render is active +- zink: break out region overlap testing function into helper +- zink: add helper for converting pipe_box -> u_rect +- zink: add another helper for checking whether one rect covers another +- zink: break out fb clear apply into helper function +- zink: add helper for applying/discarding clears based on a rect +- zink: discard pending clears during blit/copy if we'll overwrite the data +- zink: add yet another clear helper, this time for applying overlap regions +- zink: optimize the remaining read cases of applying pending clear calls +- zink: move all the clear stuff to zink_clear.h +- zink: always do full-fb clears in renderpass begin when possible +- zink: ci changes +- zink: improve descriptor set oom handling +- zink: ci updates +- zink: set PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK +- zink: force 128 fs input components on intel drivers +- zink: add some spirv builder functions for spec constants +- zink: support gl_LocalGroupSize +- zink: add more ci flakes +- util/bitscan: add u_foreach_bit macros +- v3dv: remove for_each_bit() macro +- radv: for_each_bit -> foreach_bit +- freedreno/vulkan: for_each_bit -> foreach_bit +- anv: for_each_bit -> foreach_bit +- zink: use 0 as default for spec constants +- zink: no-op descriptor updating for draws without descriptors +- nir/texcoord_replace: add a yinvert param +- zink: store prim mode to context during draw +- zink: handle point sprite +- zink: ci updates +- zink: avoid memset during update_descriptors() for resources refs +- zink: move samplerview referencing around in update_descriptors() +- zink: reorder zink_bind_vertex_buffers() +- zink: create a single fence per batch on startup and then reuse +- zink: only flush batches in pipe_context::flush if they actually have work +- zink: add a define for compute batch count +- zink: add util function for returning previous batch +- zink: handle PIPE_FLUSH_DEFERRED +- zink: handle VK_IMAGE_LAYOUT_PRESENT_SRC_KHR barriers +- zink: set VK_IMAGE_LAYOUT_PRESENT_SRC_KHR on fb resources at eof flush +- zink: setup CmdBindVertexBuffers2EXT member in screen for dynamic state +- zink: make dynamic state usage in pipeline creation more explicit/flexible +- zink: use dynamic vertex buffer strides +- zink: rename zink_context::buffers -> vertex_buffers (and usage mask) +- zink: add zink_program struct as a base class for compute/gfx structs +- zink: use zink_program in zink_batch_reference_program() +- zink: ralloc zink program structs +- zink: unref programs last in batch reset +- zink: properly size descriptorset layout binding stack array +- zink: increment batch->descs_used during update_descriptors flushing +- zink: do batch-program tracking after possibly cycling batch in update_descriptors() +- zink: add spirv builder methods for OpImageQueryLevels +- zink: hook up nir_texop_query_levels +- zink: relax tessellation shader reqs +- zink: ci updates +- zink: fix dynamic bo lowering for ssbo stores +- zink: pre-fetch all format properties during screen init +- zink: use pre-fetched format properties everywhere +- zink: don't start renderpasses during descriptor update +- zink: add more usage bits for buffer resource creation +- zink: handle null src for fb refs +- zink: track all framebuffers per batch +- zink: store total memory size on zink_screen +- zink: track resource mem usage per batch +- zink: force batch flush if batches are using more than 1/10 total system memory +- mesa/st: clamp scissored clear regions to fb size +- mesa/st: no-op scissored clear calls with size zero +- zink: handle GLSL_SAMPLER_DIM_EXTERNAL in ntv +- zink: ci updates +- mesa/st: even better no-oping for clears +- zink: apply only the pending zs clear bits during deferred clears +- zink: enable PIPE_CAP_CLEAR_SCISSORED +- zink: export PIPE_CAP_TGSI_VS_LAYER_VIEWPORT +- zink: use staging resource for write transfer_map in order to not stall +- zink: ci updates +- zink: rewrite macro for getting KHR device functions +- zink: add vk/spirv caps/extension for shader LAYER variable +- zink: remove ntv streamout assert +- zink: fix streamout emission for super-enhanced layouts +- zink: fix slot mapping for fat io variables +- zink: fix location usage for explicit xfb outputs +- zink: run more nir passes for tess shaders +- zink: stop allocating xfb slot map +- zink: handle direct xfb output from output variables +- zink: evaluate existing slot map during program init and force new map as needed +- zink: rename variable in update_so_info() +- zink: use info.has_transform_feedback_varyings to determine xfb enablement +- zink: pass so_info directly to update_so_info() +- zink: use slightly stricter check for update_so_info() callsite +- zink: only export necessary xfb outputs to ntv +- zink: don't pass so_info to ntv at all unless it's necessary +- zink: unref ctx->framebuffer on context destroy +- zink: fix instance/device versioning (for real this time) +- zink: simplify some update_descriptor code +- zink: move descriptor sets/pools from batches to programs +- zink: store and reuse descriptorsets after batch completion +- zink: move descriptor set alloc function to zink_program.c +- zink: use more precise sizing for descriptor pools +- zink: add helper function for cycling a batch +- zink: even better handling for descriptor oom +- zink: remove flushes for batch descriptor use +- zink: add bucket allocating for descriptor sets +- zink: add scaling factor for descriptor set bucket allocations +- zink: add caching for descriptor sets +- zink: add second level cache for descriptor sets +- zink: move streamout to draw_vbo +- zink: reorder descriptor barrier applying during updating +- zink: move surface refs to the end of descriptor updating +- zink: split descriptor sets based on usage +- zink: use dynamic offsets for first ubo +- zink: introduce descriptor states +- zink: add a null sampler view descriptor hash to the screen +- zink: pre-hash sampler views and states +- zink: store last-used descriptor set for each type of set for quick reuse +- zink: actually flag all used resources as used during update_descriptors +- zink: add program pointer to desc set struct +- zink: move descriptor set allocation near the top of update_descriptors +- zink: only batch-reference the program in use once per descriptor update +- zink: improve descriptor cache invalidation +- zink: add flag for recycled descriptor sets +- zink: don't double iterate all the per-batch sets on reset +- zink: add VkPipelineLayout to zink_program meta struct +- zink: split out ubo descriptor updating +- zink: break out ssbo descriptor updating +- zink: break out sampler descriptor updating +- zink: break out image descriptor updating +- zink: deduplicate VkWriteDescriptorSet setup +- zink: break out descriptor stuff into new files +- zink: break out all the descriptor pool/layout stuff into a new struct +- zink: change program pointer on struct zink_descriptor_set to pool pointer +- zink: track number of sets currently allocated per descriptor pool +- zink: move descriptor type to pool object from set +- zink: allow reuse of zink_descriptor_pools between programs +- zink: remove intermediate func for descriptor set getting +- zink: simplify check for knowing whether descriptor updating is needed +- zink: pre-size descriptor transition hash table +- zink: move descriptor binding out of the update codepath +- zink: reuse descriptor barriers across draws +- zink: track resource count on descriptor pool object +- zink: directly use resource count from pool instead of accumulating every time +- zink: remove struct zink_descriptor_resource from descriptor updating +- zink: don't create descriptor barrier hash tables for cached descriptor set +- zink: always use VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL for sampler bindings +- zink: remove image layouts from descriptor states +- zink: avoid hashing states without descriptors +- zink: fix arrays of texel buffer descriptors +- zink: ci updates +- zink: move vertex_buffers_enabled_mask to non-hashed part of pipeline state +- zink: optimize pipeline hashing +- zink: implement an extremely dumb resource memory cache +- zink: ci updates +- zink: remove debug printf +- lavapipe: fix push descriptor set indexing +- lavapipe: set more resource bind flags using image/buffer usage bits +- zink: move buffer<->image copying to pipe_context::resource_copy_region hook +- zink: remove extraneous flush in transfer_map_region_flush +- zink: ci updates +- zink: optimize resource usage tracking +- zink: use _mesa_set_search_and_add() for set management +- zink: ralloc screen objects +- zink: implement a surface cache +- zink: use a safer iteration for fb surfaces during rp init +- zink: determine whether the vulkan driver requires mesa flush wsi +- zink: force mesa flush implicit fencing on ANV +- zink: force explicit fence only on first frame flush +- zink: use internal api for first-frame fence +- zink: return true from program ref functions upon free +- zink: unset ctx->program pointers when an unref destroys the object +- zink: stop leaking programs +- vk/util: add unified shader module struct/functions +- vk/util: add a util macro for initializing stack vk_shader_module structs +- lavapipe: use common interfaces for shader modules +- radv: use common interfaces for shader modules +- v3dv: use common interfaces for shader modules +- tu: use common interfaces for shader modules +- anv: use common interfaces for shader modules +- zink: add batch usage flags for sampler views/states and desc sets +- zink: avoid looping for non-ubo descriptor updates based on set usage +- zink: break out batch id finding for resource usage into util function +- zink: move resource internals to a separate struct +- zink: split out backing resource object create/destroy +- zink: track resource_object usage instead of resource usage +- zink: handle cached descriptor set punting +- zink: add some asserts for pipeline barriers to check renderpass state +- zink: add util function for checking whether a shader descriptor is a buffer +- zink: add util function for checking whether shader descriptor is buffer from program +- zink: use an explicit zink_buffer_view struct +- zink: explicitly use zink_surface objects for sampler/image view objects +- zink: store bufferview hash to bufferview struct +- zink: simplify bufferview and imageview descriptor state hashing +- zink: add extra batch tracking for sampler views +- zink: massively beef up batch tracking for shader images +- zink: add helper function for getting a resource for a descriptor +- zink: update null descriptor hashes to reflect current descriptor states +- zink: improve debug asserts for samplers/images during descriptor updates +- zink: properly handle null bufferview descriptor states +- zink: cache bufferviews +- zink: add missing null check +- zink: unset last_vertex_stage_dirty after applying it +- zink: run nir_convert_from_ssa last during compile +- zink: use intermediate var for glsl non-array type during shader create +- zink: break out bo array type construction into ntv util function +- zink: also break out whole ntv bo struct pointer construction +- zink: add unsized array type to get_glsl_type_element() handling +- zink: add debug info about missing atomic ops +- zink: add ntv util function for checking if a glsl type is an atomic counter +- zink: break out sized uint array construction into util function +- zink: flatten binding numbers a bit +- zink: directly set nir variable bindings for reuse during ntv +- zink: move zink_binding() to compiler.c +- zink: apply Delete All The Code methodology to the ubo/ssbo variables +- zink: set ntv variable descriptor sets during compile phase +- zink: ci updates +- ci/panfrost: disable the rest of these jobs temporarily +- zink: hook up resource bind history +- zink: remove direct samplerview batch-tracking +- zink: add a pipe_context::invalidate_resource hook +- zink: set valid region for streamout buffers on bind +- zink: handle streamout buffer rebinds +- zink: invalidate resources on map when discarding range +- zink: enable PIPE_CAP_INVALIDATE_BUFFER +- zink: switch to deqp-runner for piglit jobs +- zink: always use requested format for sampler view creation +- zink: ci updates +- zink: more consolidation for null sampler/image view hashing +- zink: add a pipe_context::fence_server_sync hook +- zink: add enum for different queues +- zink: refactor resource_sync_writes_from_batch_usage() to manage batch id internally +- zink: convert ZINK_RESOURCE_ACCESS defines to enum +- zink: abstract zink_get_resource_usage() and move it to be internal +- zink: return enum zink_queue from zink_batch_reference_resource_rw() +- zink: split out batch resource-set clearing into separate function +- zink: move active query pruning to batch reset +- zink: move batch init into zink_batch.c +- zink: also move batch destructor into zink_batch.c +- zink: move other batch-tracking implementations to unified codepath +- zink: use macro to streamline batch struct member init +- zink: remove query batch-tracking init from begin_query() +- zink: move fence reset to zink_fence_init() +- zink: clear framebuffer state on context destroy +- zink: enable spirv extension for post depth coverage +- compiler/spirv: fix image sample queries +- zink: handle nir_intrinsic_image_deref_samples +- zink: flatten 2d_array surfaces when necessary +- lavapipe: support VK_KHR_copy_commands2 +- lavapipe: rewrite cmdbufs to always do descriptor binds/pushes first +- lavapipe: force state updates when beginning queries +- llvmpipe/setup: force fs constant updating upon beginning queries +- zink: break out surface viewtype clamping into util function +- zink: improve surface viewtype clamping +- zink: correctly clamp samplerview surface types +- ci/lavapipe: split out lavapipe ci into lavapipe dir +- llvmpipe/setup: use bigger hammer to force fs constant updating correctly +- zink: split off a bunch of batch struct members to new batch state struct +- zink: rewrite queue dispatch to use monotonic batch ids instead of hardcoded ones +- zink: more accurately check samplecount caps for shader images +- zink: make fb ref func return bool on free +- zink: add explicit surface/bufferview batch-tracking functions +- zink: use surface references for fb attachments +- zink: break out surface destroy function into a screen function +- zink: use a custom surface referencing function whenever unrefing a surface +- zink: implement a global framebuffer cache +- vk: consolidate dynamic descriptor binding sorting +- ci: update xfails for ppc64le and s390x +- zink: break out buffer mapping part of zink_transfer_map +- zink: cache transfer maps +- zink: unify clear color conversion code +- nir: add nir_lower_indirect_builtin_uniform_derefs() +- st/glsl_to_nir: lower indirect derefs of builtins in non-packed uniform case +- softpipe: ci updates +- zink: move 'batch_id' and 'is_compute' members to fence +- zink: make batch usage unsetting function public +- zink: always reset batch states when finding a new one +- zink: move batch-tracked resources to fence object +- zink: fix spirv image operand ordering +- zink: fix multisampled shader image load/store +- zink: force PIPE_SWIZZLE_1 for X channels in samplerviews +- zink: handle blitting of color formats with ignored alpha channels +- zink: emulate PIPE_FORMAT_R8G8B8X8_UNORM +- zink: ci updates +- zink: relax unreachable() to debug_printf when waiting on batch +- zink: rework public batch flush function to be useful again +- zink: move zink_flush_compute() users to zink_flush_queue() +- zink: always flag xfb barrier on gfx flush when appropriate +- zink: simplify some queue-related query code +- zink: refactor clears a little to track a bitfield of enabled clears on the context +- zink: trigger pending clears during flush +- zink: ci updates +- zink: add wrapper to reset batch state structs +- zink: call clear() instead of reset() for batch states on context destroy +- zink: unify gfx and compute batches +- zink: isolate gfx stage bits when updating shader modules +- zink: store conditional render predicate to query and split out start/stop +- zink: only update conditional render buffer when it needs to be updated +- zink: toggle conditional render when beginning/ending a renderpass +- zink: ci updates +- zink: handle gallium multi draws more effectively +- zink: create separate upload mgr for constants +- zink: explicitly use stream uploader for staging buffers +- zink: add buffer_subdata hook +- zink: avoid unnecessary resource refs during descriptor update +- zink: remove handling for resource flushing between compute/gfx batches +- zink: remove unnecessary flush during image maps +- zink: add more rp cache asserts +- compiler/spirv: use undefs when extending image coords +- zink: don't generate sampled image type for non-sampled images +- util/set: stop leaking u32 key sets which pass a mem ctx +- lavapipe: fix CmdCopyQueryPoolResults for partial pipeline statistics queries +- lavapipe: use the passed offset for CmdCopyQueryPoolResults +- lavapipe: stop tracking draw start/count on rendering state +- zink: ci updates +- lavapipe: ignore templateType when descriptor template isn't for push descriptors +- lavapipe: remove lvp_descriptor_update_template::descriptor_set_layout +- zink: fix handling for image types in resource_copy_region hook +- zink: also fix image buffer layer copying +- lavapipe: fix array texture region copies +- zink: only do shader updates when relevant stages are dirty +- zink: use correct surface ref function for context destroy +- zink: stall when we start getting a lot of uncompleted batches +- zink: reset all fences when waiting on batch state +- zink: fix format support detection for storage texel buffers and shader images +- zink: break out image/buffer create info structs into helper funcs +- zink: make descriptor state invalidate public +- zink: reorder barrier util functions to set up barrier struct before batch +- zink: break out barrier struct initializing into helper funcs +- zink: create separate vk image/buffer objects for shader image use +- zink: incrementally add image usage flags based on device caps +- zink: add color output bit and/or use linear tiling for sampled images +- zink: check image format props before creating image +- zink: toggle between linear/optimal tiling during image creation +- zink: flatten out buffer creation usage flags codepath +- zink: ralloc shader cache and keys +- zink: rework border color handling +- zink: clean up query creation failure paths +- zink: create result buffers for all query streams +- zink: remove flush from query buffer copy +- zink: manually handle more bool query types for copying +- zink: remove special casing for occlusion qbos +- zink: rewrite query internals +- zink: bump pools up to 5k queries each +- zink: don't use PARTIAL bit for query results with time queries +- zink: reorder availability handling for (user) qbos +- zink: remove explicit fencing for query results +- zink: ci updates +- lavapipe: refactor base draw dispatch to handle multidraws +- lavapipe: refactor indexed draw dispatch to handle multidraws +- aux/draw: stop copying draw params unnecessarily +- aux/draw: rewrite PRIM_RESTART_LOOP macro as a function +- aux/draw: pass the full draw params through to draw_instances() +- aux/draw: pass the full draw params through to draw_pt_arrays_restart() +- aux/draw: move draw param sanitization to end of function +- aux/draw: track increment_draw_id value from draw info +- aux/draw: pass full draw params to draw_pt_arrays() +- llvmpipe: stop flattening multidraws +- lavapipe: ignore unused clearvalues when beginning renderpass +- zink: rework texture_barrier hook +- zink: move update_descriptors & related funcs to zink_descriptors.c +- zink: move descriptor barrier handling to main update function +- zink: simplify some descriptor update function parameters +- zink: use GENERAL layout for sampler images that are also bound as shader images +- zink: rework some includes +- zink: rework memory_barrier hook +- zink: add locking for descriptor pools +- zink: add locking for resource maps +- zink: manually invoke cpu detection during screen init +- zink: add locking for batch states +- zink: add function for checking whether a batch is done +- zink: split fence finish func +- zink: add locking for fence resources +- zink: explicitly reset a couple more batch state members +- zink: assume fence has already completed if a batch state isn't found +- zink: rename init_batch_state to get_batch_state +- zink: store context to batch state +- zink: make a local screen pointer in zink_flush +- zink: remove zink_fence_init() +- zink: move VkQueue to batch object +- zink: break out queue submit into separate functions +- zink: also check for device lost reset on flush +- zink: remove zink_create_fence() +- zink: track coherent resource objects +- zink: use cached memory for all resources when possible +- radv: stop zeroing radv_draw_info during draw +- radv: refactor draw dispatch +- radv: track whether gl_BaseInstance is used +- radv: simplify vs draw param counting during setup +- radv: set gfx pipeline vtx_emit_num to the number of sgprs +- radv: track whether drawid is used on the pipeline struct +- radv: track whether baseinstance is used on the pipeline struct +- radv: break out vertex shader param emission into separate function +- radv: make vertex param sgpr count more explicit +- radv: reorder vertex shader params +- radv: don't emit baseinstance and drawid if neither is used +- radv: don't reset vertex state params on pipeline bind if reg layout matches +- zink: implement threaded context +- zink: ci updates +- zink: handle PIPE_MAP_DONTBLOCK for buffer read maps +- zink: add set_context_param hook +- zink: add batch tracking id for program struct +- zink: track last completed batch id to optimize checking states +- zink: handle expired deferred fences more reasonably +- zink: hook up timeline semaphore signalling during batch submission +- zink: add timeline semaphore fastpath for checking/triggering batch completion +- zink: optimize batch states for timeline use +- zink: enforce device lost status +- zink: be more explicit about blit layer/depth usage +- zink: use VkSubresourceLayout::depthPitch as layer_stride when mapping 3D imgs +- zink: zink_push_constant -> zink_gfx_push_constant +- zink: use max_rt to determine number of blend state attachments +- zink: emit ImageCubeArray cap when accessing arrayed cube dimension images +- zink: fix layercount for array texture blits +- zink: add some asserts to avoid zero-sized blit regions +- features: mark off ARB_compute_variable_group_size for zink +- features: mark off GL_OES_viewport_array for zink +- zink: store shader_info to ntv_context struct +- zink: only emit SpvCapabilitySampleMaskPostDepthCoverage if the mode is set +- zink: enable PIPE_CAP_TGSI_TES_LAYER_VIEWPORT +- features: mark off ARB_shader_viewport_layer_array for zink +- zink: avoid cached memory allocations when not requested +- util/threaded_context: support pipe_context::set_sample_locations +- zink: hook up cs push constant for nir_intrinsic_load_work_dim +- zink: use better usage flags for staging resources +- zink: use vkGetPhysicalDeviceFormatProperties2 when available +- zink: use 2 variant to check image format props during create +- zink: only use host mem for staging resources with linear tiling +- zink: move cmdpool reset to batch state reset +- zink: split total_mem off to total_video_mem, use total_mem for tc +- zink: relax maybe_flush mem threshold +- zink: relax maybe_flush batch count threshold +- zink: check last_finished first in fence_finish early out case +- zink: defer timestamp query pool resets to end_query +- zink: reset queries when suspending if >50% of total pool is used +- zink: don't use cached mem for staging resources +- zink: flag DYNAMIC resources as coherent +- zink: drop VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT from compute path +- aux/trace: add a set_inlinable_constants hook +- intel: avoid dumping null cs sampler/binding states +- zink: emit WorkgroupSize when not using ExecutionModeLocalSize +- lavapipe: add some asserts for blit region extents +- zink: export PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER +- aux/trace: add screen deduplication for zink+lavapipe tracing +- aux/trace: add a bunch of methods for lavapipe +- util/set: add macro for destructively iterating set entries +- util/hash_table: add macro for destructively iterating entries +- aux/trace: add GALLIUM_TRACE_TRIGGER mode +- zink: add a pipe_screen::finalize_nir hook +- zink: implement uniform inlining +- zink: add env var to force uniform inlining +- zink: remove atomic usage from batch tracking comparisons +- zink: bypass separate stencil path in resource_reference_rw when not a zs image +- zink: fix conditional when assigning tess variable io +- zink: stop unmapping resources +- zink: simplify clear-apply on fb state change +- zink: use set_foreach_remove() +- zink: use explicit subpass deps +- zink: hook up EXT_fragment_shader_interlock +- zink: support ARB_fragment_shader_interlock +- aux/trace: dump all the blend state members +- features: mark off ARB_fragment_shader_interlock for zink +- gallium/threaded_context: add another rule for buffer mapping +- zink: fix CI flakiness in glx-multithread-clearbuffer +- zink: make timeline semaphores per-screen +- zink: handle checking batch completion from other contexts without timelines +- zink: only unmap PIPE_MAP_ONCE in synchronous mode +- zink: don't lose existing pNext when using wsi_image_create_info in image creation +- anv: fix debugoptimized build compile +- zink: move descriptor state management to descriptors.c +- zink: make a bunch of descriptor functions static +- zink: create separate linear tiling image for scanout +- zink: flag anv for mesa image create wsi +- zink: disable mutable formats for zs formats and scanout images +- aux/trace: enhance trigger mode to dump context states during bind +- aux/trace: dump current fb state on trigger-mode draw if it hasn't been seen yet +- aux/trace: do deep dumps of fb state for triggered traces +- aux/trace: use ralloc_free for ralloc()ed state pointers +- zink: compare against screen batch id when determining which semaphore to use +- zink: always copy the nir shader before compiling +- zink: fix tcs slot map eval for user vars +- zink: fix tcs input reservation for user vars +- zink: merge copy-to-scanout path into non-deferred flush path +- zink: force scanout sync when mapping scanout resource +- zink: use undefined layout for first scanout obj transition +- zink: move scanout sync to end of batch +- zink: add a flag indicating whether scanout object needs updating +- zink: move wsi flush info conditional to queue submission +- zink: directly set batch->state->flush_res from flush_resource hook +- zink: add clear-on-flush mechanic deeper into flush codepath +- Revert "zink: force scanout sync when mapping scanout resource" +- softpipe: fix render condition checking +- softpipe: fix streamout queries +- softpipe: ci updates +- zink: track persistent resource objects, not resources +- zink: restore previous semaphore (prev_sem) handling +- zink: use cached memory for staging resources +- zink: only reset query on suspend if the query has previously been stopped +- zink: when performing an implicit reset, sync qbos + +Nanley Chery (22): + +- gallium: Map _DRI_IMAGE_FORMAT_NONE to NULL +- gallium: Flush GL API resources in eglCreateImage +- iris: Disable aux as needed in iris_flush_resource +- blorp: Assert 8x4 alignment for a HiZ op on Gen8-9 +- i965,iris: Delete misleading HiZ sampling comments +- iris: Drop an XXX comment about sampling HiZ arrays +- iris: Drop a stale comment about HiZ sampling +- iris: Delete redundant assertion in iris_hiz_exec +- iris: Drop batch param from iris_resource_prepare_render +- iris: Fix the depth aspect aux usage in iris_blit +- iris: Keep aux_usage in iris_blorp_surf_for_resource +- iris: Fix aux usage of depth buffer prepare/finish +- iris: Loosen aux state getter/setter assert on HiZ +- iris: Don't avoid aux state getter/setter with HiZ +- iris: Drop iris_resource::aux::has_hiz +- iris: Call iris_sample_with_depth_aux earlier +- iris: Set BO maps to NULL in bo_free +- drm-uapi: Update drm_fourcc.h for new TGL modifier +- isl: Describe I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC +- iris: Support clear color plane imports for RC_CCS_CC +- iris: Support RC_CCS_CC modifier in plane queries +- iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC + +Neha Bhende (3): + +- mesa: set states in fast path for restoring light attributes +- gallium/u_vbuf: use updated pipe_draw_start_count while using draw_vbo +- nir_to_tgsi: Fix indices for CMP in nir_to_tgsi for nir_op_fcsel + +Philipp Zabel (1): + +- meson: Fix missing xcb-xrandr dependency for Vulkan X11 WSI + +Pierre Moreau (4): + +- docs/features: Add OpenCL status +- spirv: Ignore WorkgroupSize in non-compute stages +- nv50: Replace hardcoded texture/constbuf count with define +- nv50: Update texture indices to match stage indices + +Pierre-Eric Pelloux-Prayer (55): + +- ac: add ifdef __cplusplus guard to header +- radeonsi: invalidate compute sgprs in si_rebind_buffer +- radeonsi: inhibit clockgating when using SQTT +- ci: split src/mesa/\**/* matching rule +- radeonsi/sqtt: use more event identifier +- radeonsi/sqtt: fix SQTT bo size overflow +- radeonsi/sqtt: allow AMD_THREAD_TRACE_TRIGGER to be a frame number +- radeonsi/sqtt: forward string markers to sqtt +- radeonsi: don't use cp_dma prefetch on GFX6 +- gallium/u_upload_mgr: lower risk of hitting an assert +- radeonsi: fix indentation issue in si_texture.c +- radeonsi: store si_context::xxx_shader members in union +- radeonsi: fix read from compute / write from draw sync +- radeonsi: fix si_check_render_feedback +- radeonsi: replace force_cp_dma arg of si_clear_buffer by enum +- radeonsi: enable dcc image stores on gfx10+ +- radeonsi: force dcc clear to use compute clear +- mesa: update vao _EnabledWithMapMode in copy_array_object +- radeonsi: properly set SPI_SHADER_PGM_HI_ES +- ac/rgp: make the max gap between shader code a warning +- ac/rtld: make ac_rtld_upload returns the code size +- ac/rgp: move radv/sqtt functions to ac +- radeonsi/sqtt: keep a copy of the uploaded shader code +- radeonsi/sqtt: remove duplicate token +- radeonsi/sqtt: don't always use WGP 0 +- radeonsi/sqtt: export shader code to RGP +- radeonsi/sqtt: fix user event max size +- frontends/va: fix protected slice data buffer read size +- mesa/st: fix lower_tex_src_plane in multiple samplers scenario +- dlist: remove ListExt feature +- mesa: remove 2 recursive lock usages of _mesa_HashTable +- mesa/hash: make the mtx non-recursive +- mesa/hash: switch to simple_mtx +- mesa: make _mesa_HashTable InDeleteAll debug only +- vbo/dlist: use DrawGallium(Complex) +- nir/lower_tex: ignore texture_index if tex_instr has deref src +- mesa/st: fix st_nir_lower_tex_src_plane arguments +- mesa/st: ignore texture_index if tex_instr has deref src +- gallium/u_threaded: split draws that don't fit in a batch +- st/draw: remove st_draw_vbo +- vbo: inline vbo_primitive_restart in brw_primitive_restart +- radeonsi/rgp: export barriers +- radeonsi/rgp: export compute shader programs +- gallium/u_threaded: skip refcounting only once +- driconf: add workarounds for Teardown +- amdgpu,radeon: add needs_reset param to ctx_query_reset_status +- radeonsi: submit cs to failed context instead of skipping them +- radeonsi: use SI_CONTEXT_FLAG_AUX when recreating the aux context +- radeonsi: do not recreate the aux context from the aux context +- radeonsi: only recreate the aux_context when soft recovery failed +- radeonsi: re-create the aux context in si_create_context +- amdgpu,radeon: add full_reset_only param to ctx_query_reset_status +- radeonsi: avoid querying gpu state if possible +- r600/sb: Use assignments for resetting struct r600_sb::literal +- driconf: add workaround for Golf With Friends + +Qiang Yu (1): + +- lima: fix xserver page flip fail for full screen client + +Rhys Perry (141): + +- nir/loop_unroll: unroll more aggressively if it can improve load scheduling +- aco: fix convert_to_SDWA() check in add_subdword_definition() +- aco: add test for incorrect convert_to_SDWA() check +- radv: fix max_waves estimation on GFX10.3 +- aco: fix num_waves on GFX10+ +- aco: have emit_wqm() take Builder instead of isel_context +- aco: add emit_mimg() helper +- aco: move VADDR to the end of the operand list +- aco: use non-sequential addressing +- aco: only require texture coordinates to be in WQM if NSA is used +- aco: add affinity for non-sequential MIMG operands +- radv,aco: don't use MUBUF for multi-channel loads on GFX8 with robustness2 +- nir/lower_io: fix array_length lowering if buffer is smaller than offset +- radv,aco: use deref_buffer_array_length +- radv: use nir_opt_access +- nir/sink,nir/move: sink/move reorderable load_ssbo +- radv: sink load_ssbo +- aco: don't consider a phi trivial if same's register doesn't match the def +- aco: remove Format::{VOP3A,VOP3B} +- aco: add instruction cast and format-check methods +- aco: use instruction cast methods +- aco: use format-check methods +- aco: return references in instruction cast methods +- aco: fix WQM for texture instructions with args before the coordinates +- nir/opt_uniform_atomics: recognize more complicated invocation comparisons +- nir/opt_uniform_atomics: fix elect detection +- aco: disable a*1.0 optimization if the instruction is precise +- nir/algebraic: optimize out exact a*1.0 if it's used only as a float +- aco: optimize a*0.0 +- aco: optimize out a*1.0 if it's used as a float +- nir/algebraic: optimize out exact a+0.0 if it's used only as a float +- nir/algebraic: eliminate exact a*0.0 if float execution mode allow it +- aco: don't affect isPrecise() after applying output modifiers +- nir,spirv: allow non-uniform OpArrayLength +- radv,ac/nir: implement non-uniform get_ssbo_size +- aco: implement non-uniform get_ssbo_size +- radv: round-up num_records division in radv_flush_vertex_descriptors +- radv: correctly enable WGP_MODE for NGG and GS +- radv: correctly enable WGP_MODE for tessellation control +- aco: add fallback algorithm in get_reg() +- aco: always set exec_live=false +- aco: optimize AC_FETCH_FORMAT_SNORM alpha adjust +- aco: do not flag all blocks WQM to ensure we enter all nested loops in WQM +- aco: rewrite setting of Exact_Branch +- aco: remove loop to flag loop blocks as WQM +- aco: fix adjust_vertex_fetch_alpha +- radv: use a more relaxed alignment for upload buffer allocations +- radv: fix max_lds_per_simd on GFX10 +- radv: switch MaxWaves statistic to wave32 waves +- ac: split lds_granularity into encode and allocation granularities +- radv: use lds_{encode,alloc}_granularity +- radv: round up max_lds_per_simd / lds_per_wave +- aco: fix waves calculation for wave32 +- aco: add Program::wgp_mode +- radv,aco: add radv_nir_compiler_options::wgp_mode +- aco: consider that GFX10.3 allocates LDS in 1024 byte blocks +- aco: add DeviceInfo +- aco: fix transition_to_{WQM,Exact} if exec.back() is not in exec +- radv: relax shared alignment requirements in mem_vectorize_callback +- radv,aco: allow unaligned LDS access on GFX9+ +- aco/lower_phis: fix all_preds_uniform with continue_or_break +- nir/dce: replace instruction worklist with ssa def bitset +- nir: inline nir_foreach_{src,dest} +- nir/dce: perform DCE for unlooped instructions in a single pass +- aco: calculate all p_as_uniform and v_readfirstlane_b32 sources in WQM +- aco: use p_as_uniform for get_sampler_desc and convert_pointer_to_64_bit +- nir: fix build at -O1 +- nir: add nir_ssa_def_is_unused() +- nir/copy_prop: remove unused copies +- nir/copy_prop: visit copies instead of sources +- nir/copy_prop: use nir_{instr,if}_rewrite_{src,condition}_ssa +- Revert "radv,aco: allow unaligned LDS access on GFX9+" +- aco: add missing usable_read2 check +- nir/opt_shrink_vectors: add option to skip shrinking image stores +- radv: don't shrink image stores for The Surge 2 +- radv: don't set sx_blend_opt_epsilon for V_028C70_COLOR_10_11_11 +- radv,aco: remove aco_compiler_statistics +- radv: cache pipeline statistics +- aco: set compr for fp16 exports +- radv/llvm: fix enabled_channels for compressed exports +- aco: simplify loop_nest_depth tracking in isel +- aco: track divergent and uniform branch depth +- aco: move wait_imm to aco_ir.h +- aco: lower p_constaddr into separate instructions earlier +- aco: add instruction classes +- aco: add latency and inverse throughput statistics +- aco: add print option to print program without temporary IDs +- aco: add ACO_DEBUG=perfinfo +- aco: remove vmem/smem score statistics +- aco: fix NSA MIMG followed by MUBUF/MTBUF +- aco/tests: add test for NSAToVMEMBug +- aco: fix NSA following writelane +- aco/tests: add test for waNsaCannotFollowWritelane +- nir: Don't update base in vectorize_loads() +- aco: implement 64-bit VGPR {u,i}find_msb +- aco: use uadd32_sat() helper for nir_op_uadd_sat +- aco: use a single instruction for uadd32_sat() on GFX8 +- aco: implement image_deref_samples +- aco: add aco_print_program() flag to print kill flags +- aco: add aco_print_program() flags to print live_out and register demand +- docs: document ACO_DEBUG=perfinfo +- aco: add ACO_DEBUG=liveinfo +- radv: lower variables to ssa before nir_propagate_invariant +- radv: lower view_index to zero if multiview is disabled +- ci: add expected fail for RADV +- aco: don't optimize min(a*1.0, ...) to min(a, ...) on GFX8 +- aco: use -1.0*x and 1.0*|x| for fneg/fabs +- aco/tests: add tests for denormal-aware propagation +- ac: invalidate metadata after hs_emit_write_tess_factors() +- aco/tests: fix isel.sparse.clause for LLVM 12+ +- lavapipe: fix initialization of pipe_stream_output with unwritten outputs +- nir/gather_info: implement partial masking of struct and compact I/O +- nir/lower_tex: handle deref casts +- nir_to_tgsi: run constant folding after nir_opt_algebraic +- aco: fix integer tg4 workaround with unnormalized coordinates +- draw: fix pstipple, aaline and aapoint without LLVM +- aco: ensure loops nested in a WQM loop are in WQM +- nir/gather_info: fix partial masking of compact I/O with location_frac!=0 +- radv: remove second nir_lower_idiv +- nir/lower_idiv: add options to use fp32 for 8-bit division lowering +- nir/lower_idiv: make lowered divisions exact +- aco: fix 16-bit u2f32 +- aco: fix 16-bit f2{u8,i8} on GFX6/7 +- radv: don't use fp16 for 8-bit division lowering before GFX9 +- nir: add nir_block_get_predecessors_sorted() helper +- nir/lcssa: fix nondeterminism in predecessor iteration +- nir/loop_unroll: fix is_indirect_load() with load_global +- radv: fix conditions for running nir_opt_vectorize +- aco/ra: use original names when renaming loop carried phi operands +- aco/ra: remove live-in temporary from live_out_per_block when moving it +- radv: fix barrier in radv_decompress_dcc_compute shader +- radv: fix clearing DCC-compressed e5b9g9r9 images +- aco: set TRUNC_COORD=0 for nir_texop_tg4 +- ac/nir: set TRUNC_COORD=0 for nir_texop_tg4 +- Revert "radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it" +- aco: don't update register demand during RA validation +- aco: allow SDWA sels smaller than the operand size +- radv: disable VK_FORMAT_R64_SFLOAT +- vulkan: fix use-after-free in vk_common_DestroyDebugReportCallbackEXT +- radv: fix use-after-free upon GS copy shader cache hits +- radv,ac/llvm: use a dword alignment for descriptor loads + +Rob Clark (143): + +- freedreno/ir3: Fix ldg decoding/parsing +- freedreno/ir3: Decouple ir3_info collection from assembler +- freedreno/ir3: Add some new "logical" opcodes +- freedreno/hw: Add isaspec mechanism for documenting/defining an ISA +- freedreno/hw/isa: Add description of ir3 ISA +- freedreno/hw/isa: Add expression caching +- freedreno/ir3/tests: Switch disasm test over to new decoder +- freedreno/ir3: Switch over to new encoder/decoder +- freedreno/ir3: Small resinfo disasm tweak +- freedreno/ir3: Better sstall estimation +- freedreno/ir3: Realign disasm shader stats +- freedreno/ir3/decode: Switch over to new disasm +- freedreno/ir3: Remove legacy packed-struct encoding +- frontend/dri: Expose RGB[AX]_SRGB as well +- freedreno/isa: Fix branch/jump offset encoding +- freedreno/a6xx: Add r2d support for GMEM resolves +- gallium/util: Add helpers to determine if z/s is written +- freedreno/a6xx: Don't early-z if there are stencil writes +- r300: Use util_writes_depth_stencil() helper +- radeonsi: Use util_writes_stencil() helper +- freedreno: Add perf_warn() trace helper +- freedreno: Add fmt/args macros for pipe_resource +- freedreno/a6xx: Add helper to check if UBWC is supported +- freedreno: Add perf_warn() for missed UBWC opportunities +- ci/freedreno/a6xx: Skip vs-output-array-vec2-index-wr-before-gs +- freedreno/a6xx: Fix 3dmark misrendering with unwritten MRTs +- mesa: Remove _mesa_destroy_context() +- freedreno/decode: Fix overflow +- freedreno: Put an upper limit on VSC size +- freedreno: Misc cleanup +- freedreno/a5xx: Drop fd5_compute_stateobj +- freedreno/a6xx: Drop fd6_compute_stateobj +- freedreno/ir3+a5xx+a6xx: De-duplicate create_compute_state() +- freedreno/ir3: Add ir3_shader_state +- freedreno/ir3: Move ir3_compiler_create() +- freedreno/ir3: Add ir3_screen_fini() +- freedreno/ir3: Reshuffle ir3_shader_create() +- freedreno/ir3: Reshuffle compute state creation +- freedreno/ir3: Async shader compile +- freedreno/ir3: Add missing shader prog cache invalidation +- freedreno: Quiet fallthrough warnings +- freedreno: Split batch_flush_reset_dependencies() +- freedreno: driver-thread annotations +- freedreno/ir3/print: More sane ssa src/dst display +- freedreno/ir3/print: Improve branch printing +- util/fossilize_db: Fix compile error with clang +- freedreno: Handle InvalidateBufferData() case +- freedreno: Add perf_debug logging for bo stalls +- freedreno: Workaround for UNSYNC+DISCARD_RANGE +- driconf: Generate a static table when no xmlconfig +- xmlconfig: Reshuffle to keep attr processing +- xmlconfig: Add static driconfig support +- freedreno/ir3: Drop foreach_bit() macro +- freedreno: Drop foreach_bit() macro +- etnaviv: Drop foreach_bit() macro +- v3d: Drop foreach_bit() macro +- freedreno: Fix think-o in fd_resource_wait() +- freedreno/ir3: Fix initial_variants_synchronous() condition +- freedreno: Add FD_DBG() macro +- freedreno: Slight perf_debug rework +- freedreno: Add macro for duration based warns +- util/u_queue: Ensure num_cpu_mask_bits is valid +- util: Add accessor for util_cpu_caps +- freedreno/a6xx: Always pass ctx to fd6_emit_textures() +- freedreno/a6xx: Fix uncompressed resource vs stale CSO +- freedreno/ir3: Add comments about shader key/gen +- freedreno: Deduplicate fixup_shader_state() +- freedreno/a6xx: Fix compile warning +- driconf: Add ignore_map_unsynchronized option +- freedreno: Remove dead-cells MBR workaround +- util: Extract thread-id helpers from u_current +- gallium/u_threaded: Add helper to assert driver thread +- gallium/u_threaded: use mesa_log for debug msgs +- freedreno: Fix u_blitter constant-buffer leak +- freedreno: Factor out common fd_resource init +- freedreno: Split out batch/resource tracking +- freedreno: Restructure transfer_map() +- freedreno: Extend threaded_resource +- freedreno: Extend threaded_transfer +- freedreno: Extract out helper for transfer-map flag munging +- freedreno: Add fd_replace_buffer_storage() +- freedreno: Add transfer_pool_unsync +- freedreno/a6xx: Move UBWC demotion to first sampler view bind +- freedreno: Check cb0 in rebind_resource() +- freedreno: threaded_context support +- freedreno: threaded_context async flush support +- freedreno: Fix fd_fence_finish() +- freedreno/drm: Avoid unitialized timestamp in submit fail +- freedreno/drm: Split softpin "reloc" functions +- freedreno/drm: Split 64b vs 32b paths +- freedreno/drm: Move emit_reloc_tail to head +- freedreno/drm: Inline iova calculation +- freedreno/ir3: Precompute whether we need driver-params +- freedreno: Add helpers to mark dirty state +- freedreno: Add mapping to generation specific dirty state +- freedreno/a6xx: Convert to dirty_groups +- freedreno: Small dirty flag re-org +- freedreno: Add dirty bit for state that needs rsc tracking +- freedreno: Don't ignore geom/tess stage resources +- freedreno: Split out helper for updating sw stats +- freedreno: Only collect sw stats when required +- freedreno/a6xx/vsc: Be more tolerate of degenerate prims +- freedreno: Drop u_trim_pipe_prim() from fast-paths +- u_draw: Add helper to emultate multi-draw +- freedreno: Use multi-draw helper +- freedreno: Handle multi-draw edge cases +- freedreno: Push multi-draw closer to backend +- freedreno/a6xx: Emit streamout state on every draw +- freedreno: Add draw cost estimation +- freedreno/batch: Export key/hash fxns +- freedreno/batch: Add a way to clone a batch key +- freedreno: Add gmem_reason_mask +- freedreno/a6xx: Fix sRGB/snorm vs sysmem clear path +- freedreno: Autotune bypass vs GMEM rendering decision +- freedreno/a6xx: Fix typo +- freedreno: Make headers C++ happy +- freedreno/fdperf: Use os_read_file() +- freedreno: Split out devicetree helpers +- ci: Disable panfrost t760 +- freedreno/a6xx: Fix indirect+patches draws +- freedreno/a6xx: Fix obsolete comment +- d3d12: Use util_draw_multi() helper +- etnaviv: Use util_draw_multi() helper +- i915: Use util_draw_multi() helper +- iris: Use util_draw_multi() helper +- lima: Use util_draw_multi() helper +- llvmpipe: Use util_draw_multi() helper +- nouveau: Use util_draw_multi() helper +- r300: Use util_draw_multi() helper +- r600: Use util_draw_multi() helper +- softpipe: Use util_draw_multi() helper +- svga: Use util_draw_multi() helper +- tegra: Use util_draw_multi() helper +- vc4: Use util_draw_multi() helper +- v3d: Use util_draw_multi() helper +- virgl: Use util_draw_multi() helper +- freedreno: Don't handle multi-draw in indirect case +- util/primconvert: Handle indirect and multi-draw +- freedreno: Add .clang-format +- freedreno: Some manual reformatting +- freedreno: Re-indent +- freedreno: Manual fixups +- freedreno: Add missing foreach macros and update indentation + +Rohan Garg (8): + +- virgl: Cache depth and stencil buffers +- ci: Ensure that jobs inherting the ci-deqp jobs artifact meson logs +- intel/genxml: Free resource before exiting +- intel/compiler: Free resources on test teardown +- virgl: update headers +- virgl: Return total video memory if available +- virgl: Add support for querying detailed memory info +- virgl: Support the ETC1_RGB8 format as virglrenderer supports it + +Roman Stratiienko (1): + +- egl: android: use num_planes param in createImageFromDmaBufs() + +Ruijing Dong (1): + +- radeon/vcn: release si buffer for encoding at the end. + +Ryan Neph (1): + +- Revert "virgl: fix BGRA emulation artifacts during window resize" + +Sagar Ghuge (7): + +- anv: Invalidate the correct AUX-TT entry +- anv: Skip CCS ambiguate which preceed fast-clears +- intel/mi_builder: Added support for command streamer shift operations +- anv: Add anv_memregion structure +- Revert "Revert "blorp/gen12: Don't use aux address if implicit CCS"" +- intel/blorp: Fix condition to figure out aux_address +- anv: Set correct binding table entry count + +Samuel Iglesias Gonsálvez (9): + +- turnip: disable UBWC on Z24_S8 MSAA images on A630 +- turnip: set sparseAddressSpaceSize to zero +- turnip: fix UINT64_MAX size wrapping in tu_GetBufferMemoryRequirements() +- turnip: fix resolve MSAA D24_UNORM_S8_UINT image to S8_UINT +- turnip: fix resolve MSAA D32_SFLOAT_S8_UINT image to S8_UINT +- util: fix parsing of /proc/meminfo MemAvailable value +- turnip: keep track of memory heap usage, size and flags +- turnip: VK_EXT_memory_budget implementation +- turnip: set depth plane control zmode to A6XX_LATE_Z when sample mask is written + +Samuel Pitoiset (218): + +- radv: do not invalidate the L2 metadata cache on compute queues +- ci: mark some sparse CTS as expected failures on RAVEN +- radv: flush L2 metadata as part of CB/DB flush instead of CS_DONE on GFX9 +- radv: add a comment explaining the micro tile mode resolve +- radv: enable TC-compat HTILE with D32S8 and MSAA on GFX9+ +- radv: enable TC-compat HTILE for D16S8 on GFX9+ +- radv: restore invalidating the vector cache for internal meta operations +- radv: flush L2 for images affected by the pipe misaligned issue on GFX10+ +- ci: exclude one CTS test that timeout most of the time for RADV CI +- radv: remove redundant check in radv_process_depth_stencil() +- radv: remove unnecessary radv_image::tc_compatible_htile +- radv: remove redundant check in depth_view_can_fast_clear() +- radv: fix a sync issue with geometry shader primitives query on GFX10+ +- radv: fix overflow when computing the SQTT buffer size +- radv: inhibit clock gating when tracing with SQTT +- ac/rgp: add support for GFX10.3 +- ac,radv: add SQTT support on GFX10.3 +- radv: enable SQTT support on GFX10.3 +- radv: fix separate depth/stencil layout in render pass +- radv: add multi-layer support to FMASK color expand +- radv: use the range aspect mask in FMASK color expand +- radv: use a workgroup size of 8x8 for FMASK color expand +- radv: only decompress the depth/stencil aspect that needs to be resolved +- radv: enable sparseImageInt64Atomics/sparseImageFloat32Atomics +- radv,aco: fix shifting input VGPRs for the LS VGPR init bug on GFX9 +- radv: synchronize Cmd{Set,Write}Event() using PS_DONE/CS_DONE events +- radv: add support for emitting PS_DONE/CS_DONE on GFX6-8 +- radv: remove radv_util.h +- radv: remove stub() macros +- radv: remove unused EMPTY constant in radv_descript_set.c +- nir/algebraic: mark more optimization with fsat(NaN) as inexact +- ac/surface: store HTILE mip info into the surface +- radv: use the image view range when fast clearing depth +- radv: check if HTILE is enabled per-level instead of the entire image +- radv: do not decompress/resummarize levels without HTILE +- radv: remove mipmaps related assertions when initializing HTILE +- radv: add support for fast clearing levels of the HTILE buffer +- radv: teach radv_htile_enabled() about the number of HTILE levels +- radv: enable TC-compat HTILE for mipmaps on GFX10+ +- radv: re-disable TC-compat HTILE for D32S8 on all generations +- radv: fix centroid with VRS coarse shading +- radv/winsys: move the initial BO domain to radeon_winsys_bo +- radv: prefer CP DMA for GTT buffer copies/clears on dGPUs due to slow PCIe +- radv: fix waiting on the last enabled RB for occlusion queries +- radv/winsys: use an array for the global BO list instead of a list +- radv/winsys: remove the radv_amdgpu_winsys_bo::ws indirection +- radv/winsys: remove useless continue preamble CS for IBs path +- radv/winsys: remove useless is_local check in radv_amdgpu_cs_add_buffer() +- radv/winsys: remove unused radeon_bo_usage enum +- radv/winsys: simplify the user fence logic for submission +- radv/winsys: remove unused fields in radv_amdgpu_cs_request +- radv/winsys: stop zeroing radv_amdgpu_cs_request +- radv: use less AMDGPU contexts by creating only one per queue priority +- radv: add radeon_winsys_bo::use_global_list +- radv: stop using VM_ALWAYS_VALID on APUs +- radv/winsys: move the debug_all_bos check outside of the add/del helpers +- radv/winsys: set use_global_list to avoid adding a BO twice +- radv/winsys: add buffer_make_resident() to the API +- radv/winsys: add the resident BOs to the list of BOs at submit time +- radv/winsys: enable the global BO list unconditionally +- radv: use the global BO list from the winsys +- radv: fix printing the debug option names +- radv: fix double free when creating a fence failed +- radv: stop allocating useless ESGS scratch BO on GFX10+ +- radv: fix memory leaks if a submission fails +- radv: do not overallocate the SQTT buffer +- radv: adjust an error message related to the SQTT buffer size +- radv: add support for resizing the SQTT buffer automatically +- ac/rgp: append the number of seconds to the generated RGP file +- radv: emit pipeline bind markers for SQTT +- radv: only make the WSI images resident if the global BO list is used +- radv/winsys: set use_global_list inside the critical section +- radv: only apply the MRT output NaN fixup to non-meta shaders +- radv: create the start/stop CS for SQTT dynamically +- radv: move SQTT parameters initialization to radv_thread_trace_init() +- radv: remove an outdated TODO about SQTT cache flushes +- radv: make sure to allocate enough space when emitting SQTT userdata +- radv: stop emitting pipeline bind markers +- radv: do not allow to capture SQTT on the compute queue +- radv: add support for user event markers with SQTT +- radv: only emit pipeline bind markers for application pipelines +- radv: use the pipeline key as hash for pipeline bind markers +- radv: set correct value for OFFCHIP_BUFFERING on GFX10+ +- radv: make the border color BO a resident buffer +- radv: make the trace BO a resident buffer +- radv: make the TMA/TBA BOs resident buffers +- radv: emit the trap handler registers earlier +- radv: rework radv_cmd_buffer_resolve_subpass() a bit +- radv: emit missing subpass resolve marker for SQTT +- ac/rgp: fill CPU info by parsing /proc/cpuinfo +- radv: store a pointer to the code in radv_shader_variant +- radv: add support for exporting pipelines with RGP +- radv: add support for instruction timing with RGP +- radv: do not scale the depth bias for D16_UNORM depth surfaces +- include/drm-uapi: bump AMDGPU headers +- ac/rgp: recognize more memory types +- ac/rgp: report LDS size in CU mode on GFX10+ +- ac/rgp: report the number of memory operations per clock +- ac/rgp: report the number of primitives per clock +- radv: remove duplicate REG_INCLUDE_CONTEXT setting for SQTT +- radv: always select the first active CU when profiling with SQTT +- radv: fix exporting SQTT pipelines with LLVM +- radv: exclude perf counters for SQTT also on GFX10.3 +- Revert "radv: do not overallocate the SQTT buffer" +- radeonsi,radv: do not overallocate the SQTT buffer size +- radv: remove useless decompression of the DS resolve attachment +- radv: do not trace inactive shader engines with SQTT +- ac/sqtt: fix determining if the trace is complete on GFX10+ +- radv: double the SQTT buffer size when it is resized +- radv: trigger a new SQTT capture automatically after resizing the buffer +- radv: bump the initial SQTT buffer size to 32MB per SE +- radv: fix RGP barrier layout transition for TC-compatible CMASK images +- Revert "radv: stop using VM_ALWAYS_VALID on APUs" +- radv: cleanup enabling TC-compat HTILE for depth surfaces +- radv: remove useless check about mips+layers for TC-compat HTILE images +- radv: skip useless FCE when fast-clearing MSAA images with DCC enabled +- radv: re-enable TC-compat HTILE for MSAA D32S8 images on GFX9+ +- radv: do not declare push constants for DCC decompress on compute +- radv: check if dynamic VRS state changed +- radv: check if dynamic line stipple state changed +- radv: disable sampling with VK_FORMAT_R64_SFLOAT +- radv: fix meta save/restore state with non renderable images +- radv: fix potential clears with non renderable images on GFX9+ +- radv: fix initialization of disable_compression when clearing color image +- radv: add missing SQTT events for copy_commands2/create_renderpass2 +- radv: remove useless DCC disable check for 3D images on GFX10+ +- radv: rework radv_use_dcc_for_image() a bit +- vulkan: add missing vk_shader_module.c/h includes to Makefile +- radv: use common entrypoints for VK_KHR_copy_commands2 +- radv: do not enable TC-compat CMASK if the image isn't readable by a shader +- radv: remove redundant check when enabling TC-compat CMASK +- radv: make sure FMASK is enabled for TC-compat CMASK +- radv: only configure the CMASK tiling for TC-compat on GFX8 +- radv: initialize TC-compat CMASK images with the DCC clear code +- radv: enable TC-compat CMASK on GFX10+ +- radv: add notccompatcmask debug option +- radv: extend the dirty bits to 64-bit +- ac/surface: init CMASK slice size on GFX9+ +- radv: fix clearing CMASK layers on GFX9+ +- radv: initialize CMASK with correct clear codes +- radv: restore previous MRT CB_SHADER_MASK logic +- radv: gather if the FS uses perspective or linear interpolations +- radv: determine if a pipeline is candidate for flat shading +- radv: enable VRS 2x2 coarse shading for flat shading on GFX10.3+ +- radv: add RADV_DEBUG=novrsflatshading option +- ci: update list of expected CTS failures for RADV +- vulkan: add common entrypoints for VK_KHR_create_renderpass2 +- radv: use common entrypoints for VK_KHR_create_renderpass2 +- turnip: use common entrypoints for VK_KHR_create_renderpass2 +- lavapipe: use common entrypoints for VK_KHR_create_renderpass2 +- anv: use common entrypoints for VK_KHR_create_renderpass2 +- radv: report that degenerated triangles are not culled +- radv: require DRM 3.35+ +- ac/surface: do not allocate FMASK or CMASK for stencil-only surfaces on GFX9+ +- radv: do not fixup DCC after compute color resolves if DCC stores enabled +- radv: only set WRITE_COMPRESS_ENABLE for storage image descriptors +- radv: use a sampled image descriptor for reads for the MSAA color decompress +- radv: compress FMASK for all layouts except GENERAL +- radv: cleanup FMASK expand transitions +- radv: do not force enable FMASK during MSAA blits +- radv: use COLOR_ATTACHMENT_OPTIMAL for fast clear/hw resolve operations +- ac: add ac_get_family_name() helper +- radv: change RADV_FORCE_FAMILY to use family name instead of LLVM processor name +- radv: try to keep HTILE compressed with DEPTH_STENCIL_READ_ONLY_OPTIMAL +- radv: clean up fence syncobj code +- ac: add ac_gpu_info::has_image_load_dcc_bug +- aco: fix get_sampler_desc() for image loads +- aco: implement a workaround for the image load DCC hw bug on GFX10.3 +- radv: allow DCC for storage images on GFX10.3 with RADV_PERFTEST=dccstores +- radv: handle implicit subpass dependencies per attachment +- radv: init CMASK/FMASK/DCC in parallel +- radv: perform MSAA color decompression for storage images with DCC +- radv: enable DCC stores with MSAA 4x/8x on GFX10+ +- radv: simplify a check when enabling DCC for concurrent images +- radv: enable DCC for concurrent images on GFX10 +- radv: make sure FMASK decompress and FCE are performed on gfx queue +- radv: add MSAA support to ClearColorImage() on compute queue +- radv: do not clamp framebuffer dimensions to the minimum dimension +- radv: add MSAA support to CopyImage() on compute queue +- radv: use explicit VRS mode when configuring PA_CL_VRS_CNTL +- radv: allow to force VRS rates on GFX10.3 with RADV_FORCE_VRS +- radv: fix needed dynamic state for VRS +- amd/addrlib: expose HTILE address equations to drivers on GFX10+ +- ac/surface: rename ac_surface_dcc_address_test.c +- ac/surface: add a test of HtileAddrFromCoord prototype outside of addrlib +- ac/surface: rename gfx9_dcc_equation to gfx9_meta_equation +- ac/surface: increase gfx9_meta_equation::gfx10_bits by 4 elements +- ac/surface: copy the HTILE equations to the surface +- ac/surface: implement HtileAddrFromCoord in NIR +- ac/surface: store the HTILE pitch to the surface +- radv: expose R8_UINT as the only supported format for VRS attachments +- radv: do not allow MSAA with fragment shading rate attachments +- radv: do not enable DCC for fragment shading rate attachments +- radv: determine if attachment VRS is enabled +- radv: configure the VRS HTILE encoding size +- radv: do not use the whole HTILE buffer for depth when VRS is used +- radv: update the HTILE clear word when VRS is used +- radv: allow HTILE for very small images if VRS attachment is used +- radv: create an image for VRS if no depth/stencil attachment is bound +- radv: handle the VRS attachment subpass +- radv: bind our internal depth buffer when not provided by the app +- radv: add support for copying VRS rates into HTILE +- radv: copy VRS rates to HTILE when beginning a subpass +- radv: configure the VRS combiners when an attachment is used +- radv: advertise attachmentFragmentShadingRate on GFX10.3 +- ac: add missing BUF_DATA_FORMAT_10_11_11 vertex format on GFX10+ +- radv: keep DCC compressed for clears on compute with image stores +- aco: fix opquantize2f16 on GFX6-7 +- radv: fix fast clearing depth-only or stencil-only aspects with HTILE +- radv: fix emitting depth bias when beginning a command buffer +- radv: fix emitting default depth bounds state on GFX6 +- radv/winsys: fix allocating the number of CS in the sysmem path +- radv/winsys: fix resetting the number of padded IB words +- radv: make sure CP DMA is idle before executing secondary command buffers +- radv: fix various CMASK regressions on GFX9 +- radv: fix computation of the number of user SGPRS for NGG GS state +- radv: check if DCC is enabled when resolving different levels +- radv/winsys: fix executing huge secondary command buffers on GFX6 + +Serge Martin (1): + +- clover: return CL_INVALID_VALUE when origin or region are NULL + +Simon Ser (15): + +- nouveau/nvc0: fix linear buffer alignment for scan-out/cursors +- nouveau/nv50: fix linear buffer alignment for scan-out/cursors +- frontends/va: extract pipe format to DRM format mapping +- frontends/va: add support for VA_EXPORT_SURFACE_COMPOSED_LAYERS +- frontends/va: add pipe to DRM format mapping for NV12 and P010 +- radeonsi/uvd: make format modifiers-aware +- egl: use render node for wl_drm if available +- gbm: fail early when modifier list only contains INVALID +- gbm: remove fprintf calls in gbm_dri_bo_create +- egl/wayland: avoid unnecessary roundtrip when authenticated +- gbm: add gbm_bo_get_fd_for_plane +- egl: fix software flag in _eglAddDevice call on DRM +- egl: only take render nodes into account when listing DRM devices +- Revert "egl: Don't add hardware device if there is no render node v2." +- radv: fix format feature reporting for modifiers + +Simon Zeni (1): + +- egl/dri2: enable EGL_WL_bind_wayland_display in EGL device platform + +Stéphane Marchesin (1): + +- virgl: Add simple disk cache + +SureshGuttula (3): + +- va/picture : Added failure check for stability +- frontends/va: Update conditional checks for code stability. +- frontends/va : Fix memory leaks incase of error returns + +Tamara Schmitz (1): + +- util: add mesa_glthread for Valheim in OpenGL mode. + +Tapani Pälli (17): + +- mesa: add GL_SR8_EXT, GL_SRG8_EXT for color/srgb format queries +- intel/perf: cleanup, remove duplicate function declaration +- intel/perf: introduce additional ralloc context parameter +- i965: use aligned malloc for context instead of ralloc +- mesa: add check that non base level attachment is mipmap complete +- gitlab-ci: bump piglit commit for windows +- anv: toggle on sample shading if it is set in the shader +- anv/android: fix compilation failure +- anv: fix compilation due to missing vk_format_from_android +- mesa: check cube completeness for cube fbo attachments +- anv/android: fix image creation with external format +- android: add some more stub functions for cross compilation +- intel/common: disable batch decoder on Android platform +- loader: prefer iris on Android +- iris: clamp PointWidth in 3DSTATE_SF like i965 does +- egl: support no error attribute set to false with ES 1.1 +- glx: revert "Downgrade sRGB-ful fbconfigs" + +Thong Thai (2): + +- frontends/va/config: Fix check for packed header config +- radeon: Add cropping to encoded H.265 when padding is used + +Timothee Chabat (1): + +- llvmpipe: increase PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE value + +Timothy Arceri (23): + +- util/disk_cache: do crc32 check on compressed data for ZSTD +- util/disk_cache: move cache path strdup call back into disk_cache.c +- util/disk_cache: use a new cache dir for the single file cache feature +- util/mesa_sha1: add helper to reconvert sha1 hex strings +- util/fossilize_db: add basic fossilize db util to read/write shader caches +- util/disk_cache: make use of single file cache when env var set +- nir: handle negatives in ffma reassociation optimisation +- util/disk_cache: fix crash in fossilize_db +- util/disk_cache: move cache tests to the util directory +- util/disk_cache: make MESA_DISK_CACHE_READ_ONLY_FOZ_DBS a relative path +- Revert "glsl: default to compat shaders in compat profile" +- glsl: fix declarations of gl_MaxVaryingFloats +- util: create some standalone compression helpers +- util/disk_cache: make use of the new compression helpers +- util/fossilize_db: remove compression from foz db helper +- util/compress: make compression function inputs const +- util/disk_cache: separate file reads from cache item validation +- util/disk_cache: detangle cache item creation from disk writing +- util/disk_cache: add cache item headers to single file cache entries +- glsl: add compilation errors for attribute and varying qualifiers +- glsl: enforce restrictions on builtin functions moved to compat +- mesa: fix incomplete GL_NV_half_float implementation +- util: disable glthread in CSGO + +Timur Kristóf (55): + +- radv: Only enable sparse features on Polaris and newer. +- tgsi_to_nir: Fix uniform ranges. +- aco: Fix LDS statistics of tess control shaders. +- radv/llvm: Fix reporting LDS stats of tess control shaders. +- aco: Disallow LSHS temp-only I/O when VS output is written indirectly. +- pan/bi: Use correct enum type for NIR intrinsics. +- aco: Use ASSERTED to avoid unused variable warning. +- intel/compiler: Use assume() instead of assert() for array bounds. +- intel/compiler: Make room for maximum dest size in nir_emit_texture. +- anv: Use unreachable() in anv_genX. +- anv: Use ASSERTED for results that are only used in asserts. +- nir: Add new nir_builder helpers for iadd with no_unsigned_wrap. +- nir: Add nir_builder helper for I/O address offset calculations. +- nir: Add a few more algebraic optimizations to help address calculation. +- nir: Fix unsigned upper bound of local_invocation_index for non-CS stages. +- nir: Shrink vectors for load_shared. +- nir: Add unsigned upper bound for TCS load_invocation_id. +- nir: Add default unsigned upper bound configuration. +- nir: Add AMD-specific buffer load/store intrinsics. +- nir: Add nir_opt_offsets to fold const adds into load/store offsets. +- nir: Add tessellation related AMD-specific intrinsics. +- nir: Add AMD-specific Geometry Shader related intrinsics. +- aco: Implement new buffer load/store intrinsics. +- aco: Implement the new tessellation I/O related NIR intrinsics. +- aco: Implement new Geometry Shader intrinsics. +- ac/llvm: Implement AMD-specific buffer load/store intrinsics. +- ac/llvm: Implement the new tessellation intrinsics. +- ac/llvm: Implement new Geometry Shader intrinsics. +- ac/llvm: Make shared loads/stores work correctly for non-CS stages. +- ac/llvm: Make sure to always emit integer comparison for nir_op_ieq. +- ac/llvm: Add constant offset to load/store_shared. +- ac/llvm: Emit more efficient code for load_shared. +- ac: Add NIR passes to lower VS->TCS->TES I/O to memory accesses. +- ac: Add NIR passes to lower ES->GS I/O to memory accesses. +- radv: Lower IO and set driver locations earlier. +- radv: Save I/O usage data to both shader infos for merged stages. +- radv: Calculate tess patches and LDS use outside the backend compilers. +- radv: Determine tcs_in_out_eq in radv_pipeline instead of the compiler. +- radv: Fill some tess shader info earlier. +- radv: Reorder some NIR optimizations in preparation for the I/O changes. +- radv: Use new, NIR-based I/O lowering. +- radv/llvm: Only store TCS outputs where they are really needed. +- radv/llvm: Delete superfluous tess and ESGS I/O code. +- aco: Delete superfluous tess and ESGS I/O code. +- aco: Fix constant address offset calculation for ds_read2 instructions. +- ac/llvm: Fix alignment of shared load intrinsics. +- aco: Optimize workgroup exclusive scan to better avoid bank conflicts. +- aco: Align NGG scratch size to 16 so a single ds_read can always read it. +- aco: Remove useless s_setprio near gs_alloc_req. +- aco: Use s_setprio 3 at the beginning of every VS and TES. +- aco: Extract ngg_nogs_export_prim_id to a separate function. +- aco: Set block_kind_export_end in create_vs/fs_exports. +- aco: Emit fewer branches for NGG VS/TES with late primitive export. +- aco: Add a simple heuristic to decide early or late primitive export. +- aco: Mark VCC clobbered for iadd8 and iadd16 reductions on GFX6-7. + +Tomeu Vizoso (17): + +- ci: Fix selection of linker in Android builds +- ci: Move container files into their own dir +- ci: Move out expect files from .gitlab-ci +- ci: Disable two radeonsi jobs +- Revert "ci/panfrost: disable the rest of these jobs temporarily" +- Revert "ci/panfrost: Disable t860/radeonsi testing while the runners are struggling." +- Revert "CI: Disable Panfrost T760" +- ci: Fix visibility property of LAVA jobs +- ci/fdo: Use trimmed traces for Valve games +- gallium/dri2: Pass the resource that corresponds to the plane +- ci: Use a single template for LAVA jobs +- ci: Set more reasonable timeouts for LAVA jobs +- ci: Don't retry failed test runs +- ci: Disable t720 LAVA jobs +- Revert "ci: Disable t720 LAVA jobs" +- Revert "ci: Disable panfrost g52" +- Revert "ci: Disable panfrost t760" + +Tony Wasserka (34): + +- aco/ra: Update register use bounds before recursing in get_regs_for_copies +- aco/ra: Introduce PhysRegInterval helper class +- aco/ra: Conservatively refactor existing code to use PhysRegInterval +- aco/ra: Remove always-false conditions +- aco/ra: Add iterator interface for PhysRegInterval +- aco/ra: Use std::find_if(_not) to clean up get_reg_simple +- aco/ra: Use std::all_of to simplify a loop +- aco/ra: Conservatively refactor get_reg_specified to use PhysRegInterval +- aco/ra: Move commonly repeated code to a helper function +- aco/ra: Add helpers to test for intersection/containment of reg intervals +- aco/ra: Use std::all_of to simplify a loop +- aco/ra: Remove unused function parameter +- aco/ra: Use PhysReg for member functions of PhysRegInterval +- aco/ra: Use PhysReg when indexing into RegisterFile's containers +- aco/ra: Use PhysRegInterval for collect_vars parameters +- aco/ra: Use PhysRegInterval for count_zero +- aco/ra: Fix print_regs using the wrong constant to check for blocked slots +- aco/ra: Fix build with print_regs enabled +- aco/ra: Remove preprocessor guards for print_regs +- aco/ra: Add helper to get a PhysRegInterval for the register demand +- aco: Fix vector::reserve() being called with the wrong size +- radv: Fix improper max_index_count argument for indexed draws +- ac: Add has_zero_index_buffer_bug to ac_gpu_info +- radv: Skip 0-sized index buffers only when necessary +- aco/ra: Avoid unnecessary copying of std::vectors +- aco/isel: Don't emit unsupported i16<->f16 conversion opcodes on GFX6/7 +- aco/isel: Fix i64/u64->float32 conversion for large inputs +- aco/isel: Don't request sign extension when truncating signed integers +- aco/isel: Add documentation and asserts for convert_int +- aco/isel: Fix large inputs being truncated in int32->f16 conversions +- aco/isel: Add documentation for (u)int64->f16 conversion +- ci: skip pipeline_barrier tests that currently crash on RADV +- gitlab: rename RADV bug report template +- aco/spill: Fix improper handling of exec phis + +Vasily Khoruzhick (10): + +- lima: add precompile debug flag +- lima/ppir: don't use list_length() in loop in regalloc and liveness analysis +- lima: update dEQP fails and skips lists +- lima: relax checks of imported BO +- lima: rename \*_shader_state to \*_compiled_shader +- lima: rename lima_{fs,vs}_bind_state to lima_{fs,vs}_uncompiled_shader +- lima: implement shader disk cache +- lima: compute nir_sha1 for shader key even if disk cache is disabled +- lima: use passed surface to get mipmap level for reload, not cbuf +- lima: limit number of draws per job + +Vinson Lee (31): + +- panfrost: Fix typos. +- nouveau: Fix typos. +- nv50/ir: Initialize DataArray members in constructor. +- r600/sfn: Remove StoreMerger unused member b. +- nv50/ir: Add InsertConstraintsPass constructor. +- nv50/ir: Initialize CodeEmitter members in constructor. +- nv50/ir: Initialize RegAlloc member func in constructor. +- clover: Add constructor for global_argument. +- lima: Fix typos. +- v3dv: Fix assert. +- nvc0/ir: Initialize NVC0LoweringPass member gpEmitAddress. +- nvc0/ir: Initialize SchedDataCalculator members in constructor. +- nv50/ir: Initialize BindArgumentsPass member sub in constructor. +- virgl: Convert errno to string. +- r600/sfn: Initialize FragmentShaderFromNir member m_pos_input. +- etnaviv: Fix memory leak in etna_vertex_elements_state_create. +- nv50/ir: Initialize ValueDef member origin in constructors. +- nv50/ir: Initialize Instruction members. +- aco: Initialize ds_state.front.writeMask. +- r600: Fix typos. +- llvmpipe: Fix typos. +- nir/lower_tex: Change coord type to int. +- gv100/ir: Initialize CodeEmitterGV100 members in constructor. +- zink: Remove leftover dead code. +- nv50/ir: Add constructor for NV50LegalizePostRA. +- iris: Fix typos. +- clover: Add constructor for sampler_argument. +- ac: Fix emit_split_buffer_store modulus operation. +- freedreno: Fix file descriptor leak. +- glsl: Initialize parcel_out_uniform_storage members. +- Remove leftover dead code. + +Víctor Manuel Jáquez Leal (1): + +- frontends/va/context: don't set max_references with num_render_targets + +Witold Baryluk (3): + +- lavapipe: Defer lavapipe warning to CreateDevice +- util: Use explicit relaxed reads for u_queue +- radv: memset the alignment hole in cache_entry to 0 + +Xin He (1): + +- virgl: use atomic operations when increase sub_ctx_id + +Yannik Marek (1): + +- turnip: fix alpha to coverage in no color and unused attachment cases + +Yevhenii Kharchenko (2): + +- st/mesa: fix PBO download for TEXTURE_1D_ARRAY textures +- intel/compiler: remove unused member 'input_vue_map' + +Yevhenii Kolesnikov (3): + +- iris: only set point sprite overrides if actually using points +- nir/from_ssa: consider defs in sibling blocks +- nir/from_ssa: don't check for interference within the same set + +Yiwei Zhang (3): + +- venus: properly enable WSI for different platforms +- venus: bring up Android support +- venus: implement vn_debug_init_once with os_get_option + +Yogesh Mohan Marimuthu (7): + +- ac/rgp: add ac_msgpack.h/c +- ac/rgp: add rgp co, col, pso data structures +- ac/rgp: add helper function to write rgp elf oject +- ac/rgp: expose data structure to populate co, col, pso database +- ac/rgp,radeonsi,radv: pass struct thread_trace_data to ac_sqtt_dump_data() +- ac/rgp: dump co, col, pso database to rgp profile file +- ac/rgp: set gfxip in elf_hdr.e_flags + +chenli (1): + +- mesa: update oudated members for debug and check + +cheyang (3): + +- frontend/dri: fix doesn't support RGBA ordering still expose RGBA in config +- glsl: redeclare built-in variable with separate shader +- virgl: add astc 2d compressed formats diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt deleted file mode 100644 index 680ae66df8a..00000000000 --- a/docs/relnotes/new_features.txt +++ /dev/null @@ -1,11 +0,0 @@ -VK_KHR_workgroup_memory_explicit_layout on Intel, RADV -DRM format modifiers for AMD. -VK_KHR_zero_initialize_workgroup_memory on Intel, RADV -Zink exposes GL 4.6 and ES 3.1 -GL_EXT_depth_bounds_test on softpipe, zink -GL_EXT_texture_filter_minmax on nvc0 (gm200+) -GL_ARB_texture_filter_minmax on nvc0 (gm200+) -GL_ARB_post_depth_coverage on zink -VK_KHR_copy_commands2 on lavapipe -lavapipe exposes Vulkan 1.1 -VRS attachment on RADV -- cgit v1.2.1