1Mesa 21.3.0 Release Notes / 2021-11-17
2======================================
3
4Mesa 21.3.0 is a new development release. People who are concerned
5with stability and reliability should stick with a previous release or
6wait for Mesa 21.3.1.
7
8Mesa 21.3.0 implements the OpenGL 4.6 API, but the version reported by
9glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
10glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
11Some drivers don't support all the features required in OpenGL 4.6. OpenGL
124.6 is **only** available if requested at context creation.
13Compatibility contexts may report a lower version depending on each driver.
14
15Mesa 21.3.0 implements the Vulkan 1.2 API, but the version reported by
16the apiVersion property of the VkPhysicalDeviceProperties struct
17depends on the particular driver being used.
18
19SHA256 checksum
20---------------
21
22::
23
24    a2753c09deef0ba14d35ae8a2ceff3fe5cd13698928c7bb62c2ec8736eb09ce1  mesa-21.3.0.tar.xz
25
26
27New features
28------------
29
30- VK_EXT_color_write_enable on lavapipe
31- GL_ARB_texture_filter_anisotropic in llvmpipe
32- Anisotropic texture filtering in lavapipe
33- VK_EXT_shader_atomic_float2 on Intel and RADV.
34- VK_EXT_vertex_input_dynamic_state on RADV.
35- VK_KHR_timeline_semaphore on lavapipe
36- VK_EXT_external_memory_host on lavapipe
37- GL_AMD_pinned_memory on llvmpipe
38- GL 4.5 compatibility on llvmpipe
39- VK_EXT_primitive_topology_list_restart on RADV and lavapipe.
40- ES 3.2 on zink
41- VK_KHR_depth_stencil_resolve on lavapipe
42- VK_KHR_shader_integer_dot_product on RADV.
43- OpenGL FP16 support on llvmpipe
44- VK_KHR_shader_float16_int8 on lavapipe
45- VK_KHR_shader_subgroup_extended_types on lavapipe
46- VK_KHR_spirv_1_4 on lavapipe
47- Experimental raytracing support on RADV
48- VK_KHR_synchronization2 on Intel
49- NGG shader based culling is now enabled by default on GFX10.3 on RADV.
50- VK_KHR_maintenance4 on RADV
51- VK_KHR_format_feature_flags2 on RADV.
52- EGL_EXT_present_opaque on wayland
53
54
55Bug fixes
56---------
57
58- RADV/ACO: Monster Hunter Rise Demo renders wrong results
59- radv: Odd lack of implicit host memory invalidation
60- Regression/Bisected: Crash in Godot games when steam overlay enabled
61- RADV: IsHelperInvocationEXT query is not considered volatile in ACO
62- ANV: error submitting with the same semaphore for wait and signal - regression?
63- [TGL+] anv: some dEQP-VK.drm_format_modifiers.* fails
64- Mesa 21.3rc3 - compile failure
65- iris: subslice assertion failure on some hardware during initialization
66- Final Fantasy V (Old version): Random text characters are not displayed
67- Diagonal rendering artifacts in Tomb Raider
68- dota2 black squares corruption
69- [hsw][bisected][regression] dEQP-VK.reconvergence.*nesting* failures
70- anv: dEQP-VK.wsi.wayland.<various> failures
71- radv_android.c: build errors due to commit 49c3a88
72- dEQP-EGL.functional.sharing.gles2.multithread.* regression with Iris
73- [radeonsi] Euro Truck Simulator 2: broken mimimap
74- [regression][bisected] Launching Valheim OpenGL game leads to GPU Hang
75- Android Meson build regression: hardware/system information apps crash on Raspberry Pi 4
76- radv: format properties are broken with modifiers
77- anv: dEQP-VK.graphicsfuzz.cov-multiple-one-iteration-loops-global-counter-write-matrices fails
78- iris: CCS modifier tests failing with suballocation
79- [RADV] For the game "World War Z: Aftermath" (Vulkan API) should used RADV_DEBUG=invariantgeom param
80- RADV: Resident Evil Village needs invariantgeom when NGG culling is enabled
81- radv: VK_EXT_vertex_input_dynamic_state
82- anv: dynamic state emission is busted
83- radeonsi: out of bounds access/compiler warning
84- RADV: Rendering issues in Resident Evil 2 with NGGC
85- GPU Hang/reset/forced reboot - latest mesa - mesa-demos/gloss
86- crocus:  Incorrect stride when used through prime
87- radv: Vulkan games and demo apps are broken since "use DCC compatible with image stores for < 4K resolutions"
88- anv: descriptorBindingUniformBufferUpdateAfterBind feature is not supported
89- Cheza board reboots into another image on retry
90- freedreno: several regressions in org.skia.skqp.SkQPRunner
91- android: radv_android.c building errors after commits 9fc16b6 and 48cae11
92- iris: Implement memory sub-allocation
93- Assault Android Cactus ( STEAM AppID 250110) - Black triangles on Main menu character
94- World War Z - Renders red if FSR is enabled
95- Significant performance drop on Radeon HD 8400
96- turnip/a650: most VK_EXT_filter_cubic tests in dEQP-VK.texture.filtering.* fail
97- Ender Lilies: Turnip: Fails to render in-game
98- [nir][radv] Out of range shift when compiling Resident Evil Village shaders
99- [nir][radv] Out of range shift when compiling Resident Evil Village shaders
100- GL_EXT_disjoint_timer_query glGetInteger64v GL_TIMESTAMP failing with GL_INVALID_ENUM
101- Valgrind errors in VBO display list code since vertex store rework
102- Issue with Turnip compilation on Oneplus 8
103- freedreno: primtype_mask
104- [radv] bufferImageGranularity is 64
105- ../mesa-9999/src/amd/llvm/ac_llvm_helper.cpp:63:14: error: 'class llvm::AttributeList' has no member named 'hasAttribute'; did you mean 'getAttributes'?
106- GPU Reset POLARIS with Unigine Heaven and X4
107- RADV: consistent crash in Splitgate
108- llvmpipe doesn't compile a shader with an inner scope in a for loop
109- llvmpipe doesn't compile the increment of a for a loop
110- Mesa 21.2.1 implementation error: unexpected state[0] in make_state_flags()
111- freedreno: regression in org.skia.skqp.SkQPRunner#gles_localmatriximagefilter
112- [Radeonsi] VA-API Encoding no longer works on AMD PITCAIRN
113- turnip: Geometry flickering in Genshin Impact after 83e9a7fbcf53b90d0de66985dbbf91986fc7b05d
114- i915g: Need to link fail on non-unrolled loops
115- spirv2dxil.c:128:22: error: passing argument 7 of ‘spirv_to_dxil’ from incompatible pointer type [-Werror=incompatible-pointer-types]
116- OSMesa problem resizing
117- iris: Perform busy tracking for resources without GEM_BUSY/GEM_WAIT
118- [RADV] The game "Aliens: Fireteam Elite" start crashing after commit 2e56e2342094e8ec90afa5265b1c43503f662939
119- radeonsi: Smart Access Memory not being enabled by default?
120- Memory leak: si_get_shader_binary_size is missing a call to ac_rtld_close
121- dEQP-GLES3.stress.draw.unaligned_data.random.4 segfault
122- gl_DrawID is incorrect for glMultiDrawElementsBaseVertex/glMultiDrawElementsIndirect
123- iris: Scanout buffers now mapped WB cause glitches on screen
124- turnip: dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_* fails
125- i915g: nir_to_tgsi: Error  : CONST[0]: The same register declared more than once
126- i915: GPU hang when doing FB fetch and gl_FragDepth write in one shader
127- ../mesa-9999/src/amd/compiler/aco_instruction_selection.cpp:10009:30: error: 'exchange' is not a member of 'std'
128- radv: disable DCC for displayable images with storage on navi12/14
129- RADV: Menu static/artifacts in Doom Eternal
130- Crash happens when testing GL_PIXEL_PACK_BUFFER
131- Possible miscompilation of an integer division with vulkan
132- panfrost G31 - Cathedral crash- opengl 2.1 game (I guess)
133- freedreno C++14 build error
134- panfrost / armv7 - crash with mesa newer than 21.0.3
135- iris: recursive mutex acquire when re-using BO with aux map
136- llvmpipe doesn't compile a valid shader with an useless switch
137- i915g: dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rgb10_a2 failure
138- i915g: polygon offset CTS failures
139- GetFragDataLocation(prog, "gl_FragColor") generates INVALID_OPERATION, but specs don't say it should
140- anv: VK_EXT_memory_budget doesn't know about device local memory
141- turnip: dEQP-VK.api.version_check.entry_points regression
142- Possible miscompilation of a comparison with unsigned zero
143- i915g: FXT1 support
144- dEQP-VK.wsi.android.swapchain.create#image_swapchain_create_info crash on Android R
145- Nine Regression with util: Switch the non-block formats to unpacking rgba rows instead of rects.
146- Add an Intel NDK Android build job
147- android: anv building error after commit e08370d
148- panfrost G31 Unreal Tournament - various glitches (apitrace)
149- Miscompilation of a switch case
150- ci/virgl: "dEQP error: waiting got error - 16, slow gpu or hang?" flakes
151- [radeonsi][regression] CPU is being used ~10 times more than usual after c5478f9067f.
152- i915g: cos/sin accuracy
153- glGetTexImage with PBO is not accelerated on Gallium
154- radeonsi: bad performance on PBO packs
155- dEQP-VK.wsi.android.swapchain.create#image_swapchain_create_info crash on Android R
156- [kbl] GPU hang launching UE4Editor (unreal engine)
157- turnip: A few dEQP-VK.pipeline.framebuffer_attachment.* tests failing due to "FINISHME: unaligned store of msaa attachment"
158- ci: new freedreno trace job running for lavapipe
159- i915g: Emit TXP
160- The image is distorted while use iGPU(Intel GPU) rendering and output via dGPU (AMD GPU)
161- Radeon 5700XT: Small render glitches around "heat balls" in dhewm3 (Doom 3)
162- lima: regression in plbu scissors cmd
163- freedreno: regression in org.skia.skqp.SkQPRunner#gles_multipicturedraw_*_tiled
164- Incorrect rendering
165- intel/isl: Wrong surface format name in batch
166- Unused graph areas created for device and format in VK_LAYER_MESA_overlay
167- [RADV] FSR in Resident Evil: Village looks very pixelated on Polaris
168- iris: regression in yuzu
169- 21.2.0rc1 Build Failure - GCC6.3
170- Crash in update_buffers after closing KDE "splash screen" downloader
171- Firefox (wayland) crash in wayland_platform
172- Crash in update_buffers after closing KDE "splash screen" downloader
173- Firefox (wayland) crash in wayland_platform
174- radeonsi: persistent, read-only buffer maps are slow to read
175- substance painter flickering with jagged texture and masks shown black
176- radv: FP16 mode in FidelityFX FSR doesn't look right
177- Regression, ACO: DOOM Eternal hangs with ACO
178- Regression in Turnip with KGSL and Zink running opengl in proot
179- [bsw][i965][bisected][regression] waffle crashing after patch
180- Validation crash on wlroots after wl_shm appeared
181- [RADV] Blocky corruption in Scarlet Nexus and vkd3d-proton 2.4
182
183
184Changes
185-------
186
187Adam Jackson (18):
188
189- glx/drisw: Nerf PutImage when loaderPrivate == NULL
190- mesa: (correctly) flush more in _mesa_make_current
191- egl/dri2: Stop disabling pbuffer support on msaa configs
192- dri: Reformat DRI context attribute #defines
193- glx: Fix and simplify the share context compatibility check
194- glx: Store the context vtable on the glx screen
195- glx/dri2: Require the driver to support v4 of __DRI_DRI2
196- glx/drisw: Remove some misplaced error checks
197- glx/dri: Collect the GLX context attributes in a struct
198- glx: Simplify context API profile computation
199- glx: Remove some unused declarations from glxclient.h
200- glx: Move __glFreeAttributeState next to its one caller
201- glx: Clarify a debug message
202- glx: Don't strip off window/pixmap support from float fbconfigs
203- wsi/x11: Fix a misunderstanding about how xcb_get_geometry works
204- wsi/x11: Fetch and discard the SYNC extension info
205- dri: Remove the allow_fp16_configs option, always allow them
206- egl/dri: Enable FP16 for EGL_EXT_platform_device
207
208Adrian Bunk (1):
209
210- util/format: NEON is not available with the soft-float ABI
211
212Alejandro Piñeiro (12):
213
214- broadcom: don't define internal BPP values twice
215- vulkan: add vk_spec_info_to_nir_spirv util method
216- spirv: set medium precision with RelaxedPrecision decorator
217- broadcom/qpu: update/remove comments
218- broadcom/qpu: add new lookup opcode description helper
219- broadcom/qpu: use and expand version info at opcode description
220- broadcom/compiler: remove commented out vir_LOAD_IMM methods
221- broadcom/compiler: remove qpu_acc helper
222- broadcom/common: remove unused debug helper
223- v3d/v3dv: add unlikely for any V3D_DEBUG check
224- v3dv: use NULL for vk_error on initialization failures
225- v3dv/pipeline: don't clone the nir shader at pipeline_state_create_binning
226
227Alyssa Rosenzweig (243):
228
229- panfrost: Add perf_debug macros
230- panfrost: Warn on software conditional rendering
231- panfrost: Warn on going out of AFBC
232- panfrost: Log reasons for flushes
233- panfrost: Warn on get_fresh_batch_for_fbo
234- panfrost: Warn on get_fresh_batch
235- panfrost: Warn on transitions to linear
236- pan/bi: Copy liveness routines back
237- pan/bi: Copy back add_successor
238- pan/bi: Copy back bi_foreach_successor
239- pan/bi: Copy block bi_block
240- pan/bi: Clean up useless casts
241- pan/bi: Clean up liveness freeing
242- pan/bi: Shrink live array to 8-bits
243- meson: Build panfrost with tools=panfrost
244- panfrost: Remove unnecessary bifrost_compiler deps
245- panfrost: Only build libpanfrost with GL/VK
246- pan/bi: Add explicit cast for lod_or_mode
247- pan/bi: Remove duplicate NIR compiler options
248- pan/bi: Mark mod to string as maybe unused
249- panfrost,panvk: Remove broken v4 spilling code
250- targets/graw-xlib: Add missing dep_x11
251- pan/mdg: Garbage collect silly quirk
252- panfrost: Move context initalization to the vtable
253- panfrost: Make sampler view creation private
254- panfrost: Move sysval analysis out of per-gen
255- panfrost: Compile pan_cmdstream per-gen
256- panfrost: Statically determine uses_clamp
257- panfrost: Don't make get_index_buffer_bounded per-gen
258- panfrost: Match sampler "nearest" names
259- panfrost: Share sampler code across archs
260- panfrost: Share blend code across architectures
261- panfrost: #ifdef pan_merge_empty_fs
262- panfrost: #ifdef fragment RSD packing
263- panfrost: Add a concatenation macro for genxml
264- panfrost: Use PAN_ARCH for the rest of pan_cmdstream
265- panfrost: Move init_batch to GenXML vtbl
266- panfrost: Make panfrost_batch_get_bifrost_tiler per-gen
267- panvk: Fix sampler filter modes on Bifrost
268- asahi: Identify texture address field
269- asahi: Fix sampler filtering flag
270- asahi: Identify texture dimension field
271- asahi: Set texture dimension field
272- asahi: Calculate cube map stride
273- asahi: Calculate resource offsets for cube maps
274- asahi: Implement cube map tiling transfers
275- asahi: Use agx_rsrc_offset for linear transfer_map
276- asahi: Allow tiled cube maps
277- asahi: Simplify can_tile type signature
278- asahi: Require tiling for cube maps
279- asahi: Assert texture layer is nonzero
280- agx: Don't set helper invocation kill bit
281- agx: Fix mismatched units in load_ubo
282- agx: Dump register file when failing to allocate
283- agx: Use consistent ncomps
284- agx: Plug memory leak in register allocator
285- asahi: Enable instancing
286- agx: Drop dated /* TODO: RA \*/
287- agx: Handle load_instance_id
288- agx: Add agx_ushr helper
289- agx: Add udiv-by-constant routine
290- agx: Include divisors in the vertex shader key
291- agx: Implement instanced arrays
292- agx: Define p_extract for type converts
293- asahi: Pass instance_divisor to the compiler
294- agx: Add agx_format_shift routine
295- agx: Shift vertex buffer stride in the compiler
296- asahi: Add integers to agx_vertex_formats
297- asahi: Generalize src_offset for non-4byte formats
298- pan/va: Add initial ISA.xml for Valhall
299- pan/va: Add ISA.xml parser and support code
300- pan/va: Assert no instructions are duplicated
301- pan/va: Add Valhall assembler
302- pan/va: Check for FAU conflicts in the assembler
303- pan/va: Add disassembler generator
304- pan/va: Add dis/assembler test cases
305- pan/va: Add negative test cases for the assembler
306- pan/va: Add assembler test harness
307- pan/va: Add disassembler test harness
308- pan/va: Integrate the tests into meson test
309- pan/bi: Remove unused pointer from bi_instr
310- pan/bi: Remove unused option
311- pan/bi: Parse file names in standalone compiler
312- pan/bi: Zero initialize shader_info
313- pan/bi: Do more mesa/st stuff in standalone compiler
314- pan/bi: Add quirks for Mali G78
315- pan/bi: Only call clause code on Bifrost
316- pan/bi: Output binaries from standalone compiler
317- pan/bi: Add helpers for unit testing
318- pan/bi: Add instruction equality helper
319- pan/bi: Add instruction unit test macro
320- pan/bi: Remove redundant check in clamp fusing
321- pan/bi: Constify BIR manipulation
322- pan/bi: DCE after bifrost_nir_lower_algebraic_late
323- pan/bi: Add discard flag to bi_index
324- pan/bi: Remove unused BIR_FAU_HI
325- pan/bi: Model \*ADD_IMM instructions in IR
326- pan/bi: Model RSCALE for Valhall
327- pan/bi: Model Valhall special values as FAU
328- pan/bi: Fix typo in FAU enum
329- pan/bi: Rename NOP.i32 to NOP
330- pan/bi: Rename CLPER_V7 back to CLPER
331- pan/bi: Add strip_index helper
332- pan/bi: Add helper to swizzle a constant
333- pan/bi: Use bi_apply_swizzle in constant folding
334- pan/bi: Refactor constant folding for testability
335- pan/bi: Add constant folding unit test
336- pan/bi: Fix UBO push with nir_opt_shrink_vectors
337- pan/bi: Garbage collect stuff in bi_layout.c
338- pan/bi: Add branch_offset immediate
339- pan/bi: Clean up and export bi_reconverge_branches
340- pan/bi: Clarify the logic of bi_reconverge_branches
341- pan/bi: Align staging registers on Valhall
342- pan/va: Allow floating-point swizzles on ATEST
343- gallium/tests: Fix warning calculating absdiff
344- pan/bi: Inline away bi_must_last
345- pan/bi: Remove dated ASSERTED properties
346- pan/bi: Expose unit tested scheduler predicates
347- pan/bi: Add BIT_ASSERT helper for unit testing
348- pan/bi: Teach meson about scheduler predicate test
349- pan/bi: Teach meson about Bifrost packing test
350- pan/bi: Teach meson about format pack tests
351- glsl/standalone: Lower COMPUTE shader precision
352- pan/bi: Restrict swizzles on same cycle temporaries
353- pan/bi: Test restrictions on same-cycle temporaries
354- pan/bi: Remove incorrect errata workaround
355- pan/bi: Use getopt for bifrost_compiler
356- pan/bi: Lower fragment output with <4 components
357- pan/bi: Add bi_entry_block helper
358- pan/bi: Handle asymmetric staging in bi_count_read_registers
359- pan/bi: Stub 64-bit in count_write_registers
360- pan/bi: Validate the live set starts empty
361- nir/lower_mediump_io: Don't remap base unless needed
362- nir/lower_mediump: Fix metadata in all passes
363- pan/bi: Make bi_opt_push_ubo optional
364- pan/bi: Add a noopt debug option
365- panfrost: Add LINEAR debug option
366- panfrost: Remove unused #defines
367- panfrost: Use _PU for non-dithered formats
368- panfrost: Add blend helper packing the equation
369- panfrost: Fix is_opaque when blend_enable=false
370- panfrost: Simplify blend_factor_constant_mask
371- panfrost: Add basic fixed-function blending tests
372- panfrost: Leverage Bifrost's 2*src blend factor
373- panfrost: Test src*dst + dst*src blending
374- pan/va: Document IEEE 754 conformance of clamps
375- pan/bi: Constant fold texturing lowerings
376- pan/bi: Unit test new constant folding patterns
377- pan/bi: Simplify bi_compose_clamp
378- pan/bi: Fuse abs/neg more on Valhall
379- pan/bi: Add shader equality helper for unit tests
380- pan/bi: Use FABSNEG pseudo ops for modifier prop
381- pan/bi: Add optimizer unit tests
382- pan/bi: Use FCLAMP pseudo op for clamp prop
383- pan/bi: Add fclamp unit tests
384- pan/bi: Fuse DISCARD with conditions
385- pan/bi: Unit test DISCARD+FCMP fusing
386- docs/panfrost: Update llvm option
387- drm-shim: Support kernels with >4k pages
388- panfrost: Fix leak of render node fd
389- panfrost: Rewrite the clear colour packing code
390- panvk: Use pan_pack_color
391- panfrost: Mark R5G6B5 as blendable
392- panfrost: Unit test clear colour packing
393- panfrost: Add dither state to the clear colour tests
394- panfrost: Handle non-dithered clear colours
395- panfrost: Add unit tests for non-dithered clears
396- panfrost: Disable shader-assisted indirect draws
397- pan/bi: Set eldest_colour dependency for ST_TILE
398- pan/bi: Don't set td in blend shaders
399- pan/bi: Correct the sr_count on +ST_TILE
400- pan/bi: Extract load_sample_id to a helper
401- pan/bi: Set the sample ID for blend shader LD_TILE
402- panfrost: Evaluate blend shaders per-sample
403- pan/bi: Use ST_TILE for multisampled blend output
404- pan/bi: Use CLPER_V6 on Mali G31
405- panfrost: Remove unneeded quirks from T760
406- panfrost: Fix UNORM 10 sizes
407- panfrost: Use blendable check for tib read check
408- panfrost: Delete unpacks for blendable formats
409- pan/mdg: Insert moves before writeout when needed
410- pan/lower_framebuffer: Don't replicate so much
411- pan/lower_framebuffer: Use fmul_imm
412- pan/lower_framebuffer: Unify UNORM handling
413- pan/lower_framebuffer: Don't treat UNORM 4 special
414- pan/lower_framebuffer: Don't open-code pad_vec4
415- pan/lower_framebuffer: Don't open-code pan_unpacked_type_for_format
416- pan/mdg: Handle swapped 565 and 1010102 unorm
417- panfrost: Zero initialize blend_shaders
418- panfrost: Port v5 blend shader issue to blitter
419- panfrost: Fix NULL dereference in allowlist code
420- panfrost: Rip out primconvert code
421- panfrost/ci: Switch to suite support
422- panfrost/ci: Don't skip matrix inverse tests
423- panfrost: Protect the variants array with a lock
424- panfrost: Remove null check in batch_cleanup
425- panfrost: Simplify get_fresh_batch_for_fbo
426- panfrost: Don't use ralloc for resources
427- panfrost: Move bo->label assignment into the lock
428- panfrost: Remove get_fresh_batch
429- panfrost: Inline add_fbo_bos
430- panfrost: Switch resources from an array to a set
431- panfrost: Cache number of users of a resource
432- panfrost: Maintain a bitmap of active batches
433- panfrost: Add foreach_batch iterator
434- panfrost: Prefer batch->resources to rsrc->users
435- panfrost: Remove rsrc->track.users
436- panfrost: Remove writer = NULL assignments
437- panfrost: Replace writers pointer with hash table
438- panfrost: Take a ctx when submitting/destroying
439- panfrost: Raise maximum texture size
440- panfrost: Remove CACHE_LINE_SIZE #define
441- panfrost: Remove stale TODOs and XXXs
442- panfrost: Remove unused functions
443- pan/bi: Simplify condition
444- pan/bi: Assert l != NULL in bi_ra
445- pan/bi: Remove unused clause_start field
446- pan/bi: Fix format specifiers in disassembler
447- docs/panfrost: Remove obsolete note on Android.mk
448- docs/panfrost: We're conformant now!
449- docs/panfrost: Add web chat link
450- panfrost: Fix incorrect test condition
451- panfrost: Add ASTC stretch factor enums
452- panfrost: Assert ASTC/AFBC are not used on v4
453- panfrost: Use ASTC 2D enums
454- panfrost: Encode 3D ASTC dimensions
455- panfrost: Move special_varying to compiler definitions
456- panfrost: Fix off-by-one in varying count assert
457- panfrost: Introduce PAN_MAX_VARYINGS define
458- panfrost: Don't set CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER
459- panfrost: Fix PAN_MESA_DEBUG=sync with INTEL_blackhole_render
460- nir: Add Mali-specific derivative opcodes
461- pan/bi: Optimize abs(derivative)
462- panfrost: Don't allow rendering/texturing 48-bit
463- panfrost: Detect implementations support AFBC
464- panfrost,panvk: Use dev->has_afbc instead of quirks
465- panfrost: Fix gl_FragColor lowering
466- panfrost: Workaround ISSUE_TSIX_2033
467- panfrost: Add internal afbc_formats
468- panfrost: Decompress for incompatible AFBC formats
469- panfrost: Enable AFBC on v7
470- mesa: Require MRT support for GL3/ES3
471- nir/lower_pntc_ytransform: Support PointCoordIsSysval
472
473Andreas Baierl (5):
474
475- lima: CI: Enable GL_R8 and GL_RG8 texture formats
476- lima: Expose GL_EXT_clip_control
477- lima: Remove depth near/far workaround
478- lima: Fix glFrontFace handling
479- lima/parser: add shader disassembly to dump
480
481Andreas Bergmeier (1):
482
483- v3dv: implement VK_EXT_physical_device_drm
484
485Antonio Caggiano (3):
486
487- ci/freedreno: Test with non-redistributable traces
488- freedreno/ci: Add a manual job for tracking performance
489- pps: Restore documentation
490
491Anuj Phogat (1):
492
493- intel/dg2: Add L3 configuration
494
495Arvind Yadav (1):
496
497- radeonsi: remove the use of PKT3_CONTEXT_REG_RMW
498
499Axel Davy (1):
500
501- util: Fix translate from block compressed to rgba
502
503Bas Nieuwenhuizen (72):
504
505- zink: set dedicated allocation when needed
506- util/fossilize_db: Update parsed_offset correctly.
507- util/fossilize_db: Reset file position to parsed_offset on cache_offset read failure.
508- util/fossilize_db: Flush files after header write.
509- util/fossilize_db: Be conservative about header length check for locking.
510- util/fossilize_db: Only allocate entries after full read.
511- util/fossilize_db: Use uint64_t for file size.
512- util/fossilize_db: Unlock the cache file if the entry already exists.
513- util/fossilize_db: Add extra flock mutex.
514- radv: Use correct signedness in misalign test.
515- radv: Allocate space for inline push constants.
516- nir/lower_scratch: Ensure we don't lower vars with unsupported usage.
517- nir/inline_functions: Handle halting functions.
518- radv: Check format before calling depth_only/stencil_only.
519- util/fossilize_db: Don't corrupt keys during entry read.
520- nir: Avoid visiting instructions multiple times in nir_instr_free_and_dce.
521- radv: Expose a bufferImageGranularity of 1.
522- radv: Fix CPU AABB build.
523- radv: Fix arrayOfPointers for instances in accel struct build.
524- radv: Add accel struct build support for the object-to-world matrix.
525- radv: Add more acceleration structure formats.
526- radv: Add optimized CPU BVH builds.
527- radv: Add bvh node definitions to a header.
528- radv: Modify load_sbt_amd intrinsic to get the descriptor.
529- aco: Implement call scope.
530- radv: Refactor some nir_channels usage to use nir_channel.
531- radv: Do more meta shader lowering.
532- radv: Implement NULL accel struct descriptor write.
533- nir: Add AMD rt intrinsics.
534- radv: Add support for ray launch size.
535- aco: Add support for ray launch size.
536- nir: Support ray launch size in divergence analysis.
537- radv: Support nir_intrinsic_load_global_constant.
538- radv: Add RT cache flushes.
539- radv: Add pipeline type.
540- radv: Add group info to pipeline.
541- radv: Add raytracing pipeline properties.
542- radv: Make some pipeline functions non-static.
543- radv: Add scaffolding for RT pipeline compilation incl libraries.
544- radv: Add main loop variables.
545- radv: Add helper to inline shaders into the main shader.
546- radv: Add helper to parse raytracing stages.
547- radv: Add pass to lower anyhit shader into an intersection shader.
548- radv: Add ray traversal loop.
549- radv: Combine all the parts together with a main loop for an RT pipeline.
550- radv: Add support for setting a dynamic stack size.
551- radv: Add caching for RT pipelines.
552- radv: Experimentally enable RT extensions.
553- radv: Add DMA buffer update function for internal use.
554- radv: Add an internal indirect dispatch command.
555- radv: Add an indirect dispatch struct to the header.
556- radv: Add copy/serialization info to accel struct headers.
557- radv: Add acceleration structure queries.
558- radv: Add GPU copy/serialization/deserialization shader.
559- radv: Add CPU copying of acceleration structures.
560- radv: Add GPU copying of acceleration structures.
561- radv: Add CPU serialization of acceleration structures.
562- radv: Add GPU serialization of acceleration structures.
563- radv: Fix Android build for common functions.
564- radv: Don't invalidate VCACHE after clear_htile_mask.
565- radv: Add VK_FORMAT_R16G16B16A16_UNORM for accel. structures.
566- radv: Handle copying zero queries.
567- amd/common: Add fallback for misreported clocks for RGP.
568- radv: Document cache coherency rules.
569- radv: Add hooks after in-renderpass meta operations.
570- radv: Try to do a better job of dealing with L2 coherent images.
571- radv: Fix modifier property query.
572- radv: Add bufferDeviceAddressMultiDevice support.
573- radv: Disable coherent L2 optimization on cards with noncoherent L2.
574- meson: Check arguments before adding.
575- util: Add support for clang::fallthrough.
576- radv: Fix memory corruption loading RT pipeline cache entries.
577
578Boris Brezillon (137):
579
580- panfrost: Fix pan_blitter_emit_bifrost_blend()
581- panfrost: Add explicit padding to pan_blend_shader_key
582- pan/gen_pack: Generalize the PREFIX() trick
583- panvk: Add missing midgard_pack dependency
584- pan/gen_pack: Add pan_size() and pan_align() macros
585- panfrost: Move the polygon list init logic to pan_cmdstream.c
586- pan/gen_macros: Move the TEXTURE definition to gen_macros.h
587- pan/gen_macros: Map {TEXTURE,SAMPLER} to the arch-specific descriptor
588- pan/gen_macros: Include midgard_pack.h from gen_macros.h
589- panfrost: Stop including midgard_pack.h directly
590- panfrost: s/[idep\_]midgard_pack/[idep\_]pan_packers/
591- panfrost: Get rid of the mali_xxx enum redefinitions
592- panfrost: Add generic mappings for the gen-specific tiler descriptor macros
593- pan/gen_pack: Add parens around packed1/2 vars in pan_merge()
594- panfrost: Get rid of all _packed structs in pan_context.h
595- panfrost: Move panfrost_modifier_to_layout() to pan_texture.c
596- panfrost: Only emit special attribute buffer entries on pre-v6 hardware
597- panvk: Prepare per-gen split
598- panfrost: Prepare indirect dispatch helpers to per-gen XML
599- panfrost: Prepare indirect draw helpers to per-gen XML
600- panfrost: Fix pan_blit_ctx_init() when start > end
601- panfrost: Make pan_blit() return the tiler job pointer
602- panfrost: v7 does not support RGB32_UNORM textures
603- panvk: Make the per-arch static lib depend on panvk_entrypoints.h
604- panvk: Fix panvk_copy_fb_desc()
605- panvk: Don't use pan_is_bifrost()
606- panvk: Fix blend descriptor emission
607- panvk: Only advertise MSAA-4
608- panvk: We don't support linear filtering on integer formats
609- panvk: Don't advertise min/max filter
610- panvk: Fix chan_size calculation in panvk_emit_blend()
611- panvk: Narrow the allow-forward-pixel-kill condition
612- panvk: Clamp blend constants before copying them to the cmdbuf state
613- panvk: Don't allocate an array of blend constants
614- panvk: Close the panfrost device in the panvk_physical_device_init() error path
615- panvk: Reset panvk_pool->transient_bo in panvk_pool_reset()
616- panvk: Fix a BO leak in panvk_pool_alloc_backing()
617- panvk: Initialize clear values to zero when load_op != OP_CLEAR
618- panvk: Don't take a BO reference when binding memory to an image
619- panvk: Only set PAN_DBG_TRACE if PANVK_DEBUG_TRACE is set
620- panvk: Disable the BO cache
621- panfrost: Patch Z32_S8X24 format when creating a sampler view
622- panfrost: Fix the Z32_S8X24 and X32_S8X24 definitions
623- panfrost: RGB10_A2_SNORM is not a valid texture format on v6+
624- panfrost: Drop the R and T flags on SCALED formats
625- panfrost: RGB332_UNORM is not a valid texture format on v6+
626- panfrost: Prepare blitter helpers to per-gen XML
627- panfrost: Prepare blend helpers to per-gen XML
628- panfrost: Prepare pan_cs helpers to per-gen XML
629- panfrost: Move panfrost_major_version() to gen_macros.h
630- panfrost: Prepare pandecode to per-gen XML
631- panfrost: Prepare scoreboard helpers to per-gen XML
632- panfrost: Prepare pan_encoder.h to per-gen XML
633- panfrost: Prepare texture helpers to per-gen XML
634- panfrost: Prepare shader helpers to per-gen XML
635- panfrost: Fix indirect draws when vertex or instance count is 0
636- panfrost: Fix collision in the indirect draw shader table
637- panfrost/ci: Skip the indirect_draw+XFB tests
638- pan/bi: Relax check on 8bit swizzles
639- pan/bi: Allow passing RT conversion descriptors to fragment shaders
640- pan/blit: Fix a NULL dereference in the preload path
641- pan/blit: Extend pan_preload_fb() to return emitted jobs
642- panvk: Initialize the blend shader logic
643- panvk: Preload FB attachments when required
644- panvk: Merge identical BO entries before submitting a job
645- panvk: Move copy stubs to a separate file
646- panvk: Move blit/resolve stubs to a separate file
647- panvk: Get rid of panvk_emit_fragment_job()
648- panvk: Don't use the subpass to calculate the FB descriptor size
649- panvk: Don't check the bind_point in panvk_cmd_prepare_fragment_job()
650- panvk: Make panvk_cmd_alloc_tls_desc() more generic
651- panvk: Add a panvk_cmd_prepare_tiler_context() helper
652- panvk: Stop dereferencing the subpass in panvk_cmd_close_batch()
653- panvk: Issue a fragment job if at least one target is cleared
654- panvk: Implement vkCmdClear{DepthStencil,Color}Image()
655- panvk: Implement vkCmdCopyImage()
656- panvk: Implement vkCmdCopyBufferToImage()
657- panvk: Implement vkCmdCopyImageToBuffer()
658- panvk: Implement vkCmdCopyBuffer()
659- panvk: Implement vkCmdFillBuffer()
660- panvk: Implement vkCmdUpdateBuffer()
661- pan/decode: Fix DCD size in Pre frame decoding
662- pan/blit: Let the caller offset the start/end coords passed to the blitter
663- pan/blit: Fix 3D blittering
664- panvk: Implement vkCmdBlitImage()
665- panvk: Always allocate at least one BLEND descriptor for fragment shaders
666- panvk: Fix the static scissor/viewport case
667- panvk: Fix TLS initialization for multi-draw batches
668- panvk: Extend panvk_cmd_close_batch() to handle current_batch == NULL
669- panvk: Make panvk_cmd_open_batch() return the new batch
670- panvk: Use the local batch variable when we have one
671- panvk: Don't invalidate the vertex attributes when binding a new pipeline
672- panvk: Fix the pipeline binding logic
673- panvk: Fix panvk_pipeline_builder_upload_sysval()
674- panvk: Fix multisample image copies
675- panvk: Avoid allocating sysvals UBOs when the pipeline has one
676- panvk: Handle input varyings without previous writes
677- panvk: Fix an overflow on cmdbuf->state.clear
678- panvk: Don't expect subpasses to use all RTs
679- panvk: Only prepare texture descriptors when the image is sampled
680- panvk: Fix 1DArray image to buffer copy
681- panvk: Fix size overflow in GetBufferMemoryRequirements()
682- panvk: Fix stencil clear assignment in panvk_cmd_fb_info_set_subpass()
683- panvk: Handle VK_REMAINING_{MIP_LEVELS,ARRAY_LAYERS) when creating image views
684- panvk: Split var copies before lowering them
685- panvk/ci: Trigger bifrost jobs on vulkan changes
686- pan/bi: Fix 1DArray image coordinate retrieval
687- pan/lower_fb: Support SNORM8 unpacking
688- pan/lower_fb: Re-order components when dealing with raw formats
689- pan/lower_fb: Add support for B10G10R10A2_UINT variants
690- pan/lower_fb: Add support for rgb10a2 _SINT variants
691- panfrost: Use an identity swizzle for RAW formats
692- panfrost: Add a common genxml file so we can share a few definitions
693- panfrost: Split command stream descriptor definitions per-gen
694- panfrost: Move genxml related files to a subdir
695- nir: Make sure src->num_components < dst->num_components in nir_ssa_for_src()
696- nir/lower_blend: Pad src to a 4-component vector
697- nir/lower_blend: Don't lower RTs whose format is set to NONE
698- nir/lower_blend: Make sure we're not passed scaled formats
699- nir/lower_blend: Shrink blended result if needed
700- pan/blend: Allow passing blend constants through a sysval
701- panvk: Fill the blend constants sysval
702- panvk: Lower blend operations when needed
703- panvk/ci: Enable blend tests
704- panvk: Fix allocation of BOs bigger than the slab size
705- panvk: Don't use panfrost_get_default_swizzle() on v7+
706- panvk: Fix wls_size retrieval
707- panvk: Pass the render target index to panvk_meta_clear_attachment()
708- panvk: Allow clear_attachment of RTs > 0
709- panvk: Support clearing ZS attachments
710- nir: Add a nir_sysvals_to_varyings() helper
711- spirv: Let spirv_to_nir() users turn sysvals into input varyings
712- spirv: Always declare FragCoord as a sysval
713- spirv: Declare PointCoord as a sysval
714- vulkan: Fix weak symbol emulation when compiling with MSVC
715- vulkan: Set unused entrypoints to vk_entrypoint_stub when compiling with MSVC
716- vulkan: Fix entrypoint generation when compiling for x86 with MSVC
717
718Boyuan Zhang (5):
719
720- radeon/vcn: initilize num_temporal_layers for hevc
721- radeon/vcn: track width and height of the last frame
722- radeon/vcn: check frame size change for vp9 header flags
723- radeon/vcn: set min value for num_temporal_layers
724- frontends/va: add num_temporal_layers check
725
726Caio Marcelo de Oliveira Filho (27):
727
728- vulkan/util: Add and use vk_multialloc_zalloc variants
729- anv: Zero initialize pipeline structs
730- spirv: Implement SPV_EXT_shader_atomic_float16_add
731- vulkan: Update XML and headers to 1.2.185
732- anv: Advertise support for VK_EXT_shader_atomic_float2
733- nir/dead_cf: Do not remove loops with loads that can't be reordered
734- nir: Update documentation for location to mention Task/Mesh
735- nir: Add a way to identify per-primitive variables
736- nir: Add per-primitive I/O intrinsics
737- compiler: Add new non-Multiview Task/Mesh builtins
738- compiler: Add Task/Mesh to shader_info
739- nir/lower_io: Identify Mesh output as arrayed
740- nir/divergence_analysis: Handle Task/Mesh shaders
741- nir: Don't lower Task/Mesh I/O to temporaries
742- nir: Allow Task/Mesh to lower compute system values
743- spirv: Implement non-Multiview parts of SPV_NV_mesh_shader
744- anv: Simplify subgroup_size_type rules for compute shaders
745- anv: Refactor subgroup_size_type rules into a single function
746- spirv: Identify non-temporal memory access
747- nir/lower_io_to_vector: Allow Task/Mesh to load from outputs
748- intel: Add and use max_constant_urb_size_kb
749- iris: Document push constants allocation
750- anv: Validate vertex related states only when VS is present
751- anv: Move together primitive pipeline emit calls
752- anv: Identify code paths specific to graphics primitive pipeline
753- intel/compiler: Convert test_eu_compact to use gtest
754- intel/compiler: Remove unused \`ret` declaration
755
756Caio Oliveira (1):
757
758- util/ra: Fix deserialization of register sets
759
760Carsten Haitzler (1):
761
762- panfrost: tidy up GPU naming to be in line with official names
763
764Charlie Turner (5):
765
766- ci: Build libdrm earlier for x86_test-vk
767- ci: Fix syntax error in radv fails files
768- ci: Support per-driver skip lists.
769- radv/ci: Remove duplication in dEQP skip lists.
770- radv/ci: Fix the GPU_VERSION for polaris10
771
772Charmaine Lee (2):
773
774- aux/draw: Check for preferred IR to take nir-to-tgsi path in draw module
775- svga: fix render target views leak
776
777Chia-I Wu (43):
778
779- venus: refactor vn_EndCommandBuffer
780- egl/surfaceless: try kms_swrast before swrast
781- meson: allow egl_native_platform to be specified
782- vulkan/wsi: replace prime_blit_buffer by a bool
783- venus: clean up vn_AllocateMemory
784- venus: suballocate memory in more cases
785- venus: log more WSI messages
786- vulkan/wsi/x11: do not inherit last_present_mode
787- venus: print warnings when stuck in busy waits
788- iris, crocus: add idep_genxml to per_hw target dependencies
789- venus: update venus-protocol headers
790- venus: break up vn_device.h
791- venus: break up vn_device.c
792- venus: free queues after vkDestroyDevice is emitted
793- venus: use uint32_t in vn_ring_submit
794- venus: minor cleanup to physical device init loop
795- venus: pre-initialize device groups
796- venus: fix device group enumeration with unsupported devices
797- venus: group physical device fields with a struct
798- venus: no supported device is not an error
799- venus: initialize physical devices once
800- venus: reorder version fields in vn_instance
801- venus: init roundtrip fields in vn_instance later
802- venus: add vn_renderer_submit_simple_sync
803- venus: support reply shmem without ring
804- venus: init experimental features before the ring
805- venus: add and use VN_CS_ENCODER_INITIALIZER
806- venus: rework vn_instance_submission
807- venus: make ring buffer size configurable
808- venus: update venus-protocol headers
809- venus: raise the ring buffer size to 64KB
810- venus: refactor vn_instance_enumerate_physical_devices
811- venus: separate physical device init and filter
812- venus: copy VkPhysicalDeviceImageDrmFormatModifierInfoEXT
813- venus: add vn_refcount
814- venus: convert bo and shmem to use vn_refcount
815- venus: add a helper to destroy vn_descriptor_set
816- venus: add vn_refcount to vn_descriptor_set_layout
817- venus: keep layouts of descriptor sets alive
818- radv: plug leaks in radv_device_init_accel_struct_build_state
819- vulkan/wsi/wayland: fix an invalid u_vector_init call
820- util/vector: make util_vector_init harder to misuse
821- venus: add atrace support
822
823Christian Gmeiner (46):
824
825- etnaviv: export supported prim types
826- etnaviv: remove primconvert
827- ci: include etnaviv support in ARMHF container.
828- ci: update kernel
829- ci/bare-metal: add telnet based serial
830- ci/bare-metal: add support for eth008 power relay
831- ci/bare-metal: add etnaviv
832- lima: fix leak of the screen hash table
833- util/tests: rename bitset test names
834- util/bitset: add bitwise AND, OR and NOT
835- util/tests: add bitwise AND, OR and NOT tests
836- util/bitset: add right shift
837- util/tests: add bitset SHR tests
838- util/bitset: add left shift
839- util/tests: add bitset SHL tests
840- util/bitset: s/BITSET_SET_RANGE/BITSET_SET_RANGE_INSIDE_WORD
841- util/bitset: add BITSET_SET_RANGE(..)
842- util/tests: add set bit range test
843- freedreno/isa: add leading zero's
844- freedreno/isa: simplify custom_target
845- freedreno/isa: add next_instruction(..)
846- freedreno/isa: add defines for fprintf(..) usage
847- freedreno/isa: store max size for needed bitset
848- freedreno/isa: generate ir3-isa.h
849- freedreno/isa: generate isaspec-decode.h
850- freedreno/isa: add bitmask_t to encode.py
851- freedreno/isa: add bitmask to/from uint64_t helper
852- freedreno/isa: add BITMASK_WORDS define
853- freedreno/isa: add store_instruction(..)
854- freedreno/isa: generate marcos used for printf(..)
855- freedreno/isa: add split_bits(..) methods
856- freedreno/isa: decode: switch bitmask_t to BITSET_WORD's
857- freedreno/isa: encode: switch bitmask_t to BITSET_WORD's
858- freedreno/isa: update documentation
859- freedreno/isa: add shbang and make executable
860- freedreno/isa: move isaspec to a new home
861- compiler/isaspec: add print(..) helper
862- compiler/isaspec: keep track of written data
863- compiler/isaspec: add alignment support
864- etnaviv: use better name for fd hash table
865- etnaviv: fix leak of the screen hash table
866- etnaviv: fix indentation
867- etnaviv: move drm version readout to drm layer
868- etnaviv: allow screen creation with NULL renderonly object
869- etnaviv: extend screen_create(..) with gpu_fd
870- etnaviv: add etna_lookup_or_create_screen(..)
871
872Clayton Craft (1):
873
874- anv: don't advertise vk conformance on GPUs that aren't conformant
875
876Connor Abbott (81):
877
878- tu: Triage some CTS failures
879- ir3: Preserve gl_ViewportIndex in the binning shader
880- tu: Use NIR for clear/blit shaders
881- ir3: Delete old packed struct encoding
882- tu: Handle multisample vkCmdCopyColorImage()
883- tu: Make tile stores use a dedicated CS
884- tu: Implement non-aligned multisample GMEM STORE_OP_STORE
885- freedreno: Rename and document tess primid-related sysvals
886- tu, freedreno/a6xx, ir3: Rewrite tess PrimID handling
887- tu, freedreno/a6xx: Fix setting PC_XS_OUT_CNTL::PRIMITVE_ID
888- ir3: Document RA-related register flags better
889- tu: Read some input attachments directly
890- freedreno/a6xx: Add new register fields
891- freedreno, tu: Stop asking for foveation quality
892- freedreno, tu: Set GRAS_LRZ_PS_INPUT_CNTL::SAMPLEID
893- freedreno/a6xx: Document GRAS_SC_CNTL::SINGLE_PRIM_MODE
894- tu: Fix feedback loops in sysmem mode
895- tu: Fix xfb when there is a hole at the end
896- freedreno: Decode a650+ CP_START_BIN/CP_END_BIN packets
897- tu: Fix logic errors with subpass implicit dependencies
898- tu: Consider depth/stencil for implicit dependencies
899- ir3: Add pass to remove unreachable blocks
900- ir3/ra: Remove logical_unreachable
901- ir3: Copy-propagate single-source phis
902- ir3: Print physical successors/predecessors
903- ir3/print: Use mesa_stream_log_printf for (kill)
904- ir3/merge_regs: Set wrmask for pcopy destinations
905- ir3/ra: Reinitialize interval when inserting
906- ir3/ra: Fix available bitset for live-through collect srcs
907- ir3/ra: Handle huge merge sets
908- ir3/ra: Make ir3_reg_interval_remove_all() useful for spilling
909- ir3: Add loop depth to ir3_block
910- ir3: Add ra_foreach_src_n/ra_foreach_dst_n
911- ir3: Fix RA debug printing
912- ir3: Properly validate pcopy reg sizes
913- ir3: Fix compress_regs_left accounting for half-regs
914- ir3: Initial support for spilling non-shared registers
915- ir3: Fix getting stp/ldp components in ir3_info
916- ir3, turnip, freedreno: Report stp/ldp in shader stats
917- freedreno/ci: Add spillall tests
918- tu: Properly handle waiting on an earlier pipeline stage
919- tu: Add a650-specific CCU flush workaround
920- tu: Remove some stale bypass xfails
921- ir3: Remove ir3_instr::name
922- ir3: Make instruction IP 32 bits
923- ir3: Make ir3_register::name 32-bits
924- ir3/ra: Fix type mismatch when comparing intervals
925- lima: Add a NIR load duplicating pass
926- lima/gpir: Rewrite register allocation for value registers
927- freedreno/computerator: Add support for pvtmem
928- ir3/lower_pcopy: Use right flags for src const/immed
929- ir3/lower_pcopy: Set entry->done in the swap loop
930- tu: Fix VS primid with tess + GS
931- freedreno/a6xx: Fix VS primid with tess + GS.
932- ir3: Add bar to beginning of HS with tess_use_shared
933- freedreno, turnip: Disable 8bpp UBWC on a650
934- ir3: Make trig replacement expression exact
935- freedreno/a6xx: Name TPL1_DBG_ECO_CNTL
936- freedreno, turnip: Set TPL1_DBG_ECO_CNTL better
937- ir3: Use source in ir3_output_conv_src_type()
938- tu/clear_blit: Constify some image views
939- tu: Implement VK_KHR_imageless_framebuffer
940- ir3/lower_subgroups: Support 16-bit READ_* sources
941- ir3: Skip src size validation for cat1
942- tu: Expose VK_KHR_shader_subgroup_extended_types
943- ir3: Initialize local size earlier
944- ir3/ra: Don't reset round-robin start for each block
945- ir3/ra: Use killed sources in register eviction
946- ir3/cp: Add missing const promotion check
947- ir3/cp: Fix inlining 32->16 const into meta instructions
948- nir/lower_ubo_vec4: Fix align_mul=8 special case
949- ir3: Fix printing branch type
950- ir3: Make ir3_create_collect() take a block
951- ir3: Always create barycentrics in the input block
952- ir3: Remove separate regmask.h
953- ir3: Handle special regs in regmask
954- ir3/legalize: handle WAR for special regs
955- ir3: Fix check for immediate range
956- ir3: Fix handling cat6 immediates
957- ir3: Fold ldc src immediates
958- ir3/spill: Mark root as non-spillable after inserting
959
960Corentin Noël (8):
961
962- ci: actually run piglit tests with virgl
963- ci: Re-enable piglit trace for virgl
964- ci: Disable llvmpipe optimizations when running virgl CI
965- ci: Increase the default Rust toolchain version
966- ci: Increase crosvm version
967- ci: Use crosvm to run dEQP tests for virgl
968- glx: Prevent crashes when an extension isn't found
969- virgl: Set GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION to 1
970
971Daniel Schürmann (54):
972
973- aco/optimizer: ensure to not erase high bits when propagating packed constants
974- aco/ra: don't allocate vector space for MIMG NSA operands
975- aco: include <cstddef> in aco_util.h
976- nir/lower_alu_to_scalar: don't skip gaps in write_mask
977- nir/opt_shrink_vectors: don't shrink vectors used by intrinsics
978- nir: consider write_mask in nir_ssa_def_components_read()
979- nir/opt_shrink_vectors: reverse iteration order
980- nir/shrink_vectors: shrink ALU properly
981- nir/shrink_vectors: shrink vecN properly
982- nir: return false for loops in contains_other_jump()
983- aco/print_ir: fix printing of VOPC_SDWA definitions
984- aco: use VOPC_SDWA on GFX9+
985- aco: add instr_is_16bit() helper function
986- aco/ra: refactor subdword definition info
987- aco/ra: refactor subdword operand stride
988- aco/validate: simplify get_subdword_bytes_written()
989- aco/opcodes: remove definition_size[]
990- aco: add more validation rules for SDWA operands
991- nir/loop_analyze: consider instruction cost of nir_op_flrp
992- nir/opt_algebraic: optimize flrp(fadd, fadd, x) only if fadd are used_once
993- radv: call nir_lower_flrp() after the first radv_optimize_nir()
994- aco: remove redundant s_and exec after nir_op_inot
995- aco: only apply extract if not used more than 4 times
996- aco: refactor nir_op_imul selection
997- aco/optimizer: combine v_mul_lo_u16 + v_add_u16 -> v_mad_u16
998- aco/optimizer: fuse v_mul_f64 + v_add_f64 -> v_fma_f64
999- aco/optimizer: combine v_pk_mul_u16 + v_pk_add_u16 -> v_pk_mad_u16
1000- aco: fix init_any_pred_defined() for loop header phis
1001- aco: refactor lower_phis()
1002- aco/lower_bool_phis: avoid creating trivial phis
1003- aco/lower_phis: propagate constants before emitting merge code
1004- aco/lower_phis: optimize loop exit phis
1005- aco: fix p_insert lowering with 16bit sources
1006- aco: rewrite SDWA selector
1007- aco: remove explicit dst_preserve flag
1008- aco/print_ir: always print SDWA dst & src selections
1009- aco: preserve subdword RC when lowering p_insert/p_extract
1010- aco/ra: Fix potential out-of-bounds array accesses.
1011- aco/ra: don't copy linear VGPRs within CF in get_reg_create_vector()
1012- aco: stop scheduling if clause-forming fails
1013- aco: make clause-forming depend on the number of moved instructions
1014- aco: try forming clauses even if reg_pressure exceeds
1015- aco: clang-format
1016- aco/ra: fix intersects()
1017- aco/ra: refactor affinities into assignment struct
1018- aco/ra: remove some redundant code
1019- aco/ra: split register assignment for phis into separate function
1020- aco/ra: try more aggressive to assign phi defs the same register
1021- aco/ra: for phis try to find an operand-matching register earlier
1022- aco/ra: don't set affinities for ssa-repair phis
1023- aco/ra: create affinities between nested phis
1024- aco/ra: create nested affinities for loop header phis
1025- aco/ra: don't rewrite affinities for phi operands after register assignment
1026- driconf: set vk_x11_strict_image_count for Wolfenstein: Youngblood
1027
1028Daniel Stone (7):
1029
1030- vulkan/wsi/wayland: Cosmetic alignment fix
1031- vulkan/wsi/wayland: Initialise wl_shm pointer in VkImage
1032- egl/wayland: Error on invalid native window
1033- egl/wayland: Allow EGLSurface to outlive wl_egl_window
1034- CI: Disable LAVA devices
1035- Revert "CI: Disable LAVA devices"
1036- fdno/resource: Rewrite layout selection for allocation
1037
1038Danylo Piliaiev (39):
1039
1040- freedreno: fix wrong tile aligment for 3 CCU gpu
1041- tu: handle half-reg fs outputs
1042- tu: delay decision of forcing sysmem due to subpass self-dependencies
1043- turnip: reduce maxComputeWorkGroupSize
1044- tu: disable gmem in primary cmdbuffer if secondary has it disabled
1045- tu: add "flushall" and "syncdraw" debug options
1046- freedreno/decode: print estimated crash location without colored output
1047- tu: declare VK_EXT_extended_dynamic_state2 but leave it disabled
1048- tu: implement dynamic depth bias enable
1049- tu: implement dynamic primitive restart enable
1050- tu: implement dynamic rasterizer discard enable
1051- tu: enable VK_EXT_extended_dynamic_state2
1052- turnip: provide dummy CmdSetLogicOpEXT and CmdSetPatchControlPointsEXT
1053- freedreno: rename Z_TEST_ENABLE->Z_READ_ENABLE, Z_ENABLE->Z_TEST_ENABLE
1054- turnip: apply workaround for depth bounds test without depth test
1055- ir3: prohibit folding of half->full conversion into mul.s24/u24
1056- ir3/a6xx,freedreno: account for resinfo return size dependency on IBO_0_FMT
1057- turnip: consider shader's immediates size for sub-stream allocation
1058- turnip: re-emit vertex params after they are invalidated
1059- util/u_trace: make u_trace usable for other than gallium drivers
1060- util/u_trace: auto-generation of serialization funcs for tracepoints
1061- turnip: implement basic perfetto support
1062- u_trace: helpers for tracing tiling GPUs and re-usable VK cmdbuffers
1063- turnip/perfetto: reusable command buffers support
1064- u_trace: pass command stream through tracing functions
1065- turnip: support tracing of gmem/sysmem load/store/clears
1066- turnip/kgsl: fix compilation after perfetto introduction
1067- turnip: consider multiview_mask when clearing depth-stencil attachment
1068- turnip: Move to common DEFINE_HANDLE_CASTS casting macro
1069- turnip: clamp per-tile scissors to max viewport size in binning pass
1070- turnip: fix vbs emission when there are holes in bindings
1071- ir3: remove obsolete assert for intrinsic_store_output in tess
1072- turnip: do nothing on dispatch with zero total workgroups
1073- ir3: support source modes for resinfo.b
1074- ir3/freedreno: handle non-uniform resinfo
1075- ir3/freedreno: handle non-uniform a1en instructions
1076- turnip: fix streamout buffer offset calculations
1077- ir3/ra: Check register file upper bound when updating preferred_reg
1078- tu: fix rast state allocation size on a6xx gen4
1079
1080Dave Airlie (134):
1081
1082- lvp: fixup multi draw memcpys
1083- lavapipe: fix multi-draw regression in shader parameters test
1084- lavapipe: fix indexed multi draw draw_id increment
1085- draw: handle resetting draw_id between instances.
1086- softpipe/aniso: move DDQ calculation to after scaling.
1087- wl/shm: don't fetch formats if not requested.
1088- clover/il: return IL only for spirv and correct length
1089- gallivm: add anisotropic filter weight table.
1090- draw: add shader access to aniso filter table.
1091- llvmpipe: add filter table shader accessor
1092- gallivm: add support for anisotropic sampling.
1093- llvmpipe: add support for max aniso query.
1094- draw: add sampler max_aniso query.
1095- llvmpipe: enable GL_ARB_texture_filter_anisotropic
1096- llvmpipe/virgl/ci: update traces for aniso
1097- docs: update anisotropic info for softpipe/llvmpipe/lavapipe
1098- crocus/gen4-5: fix ff gs emit on VS vue map change.
1099- llvmpipe/linear: fix ppc64/s390 build
1100- llvmpipe: add some extra linear rast checks.
1101- llvmpipe: add support for time elapsed queries.
1102- llvmpipe: rework query fence signalling for get_query_result_resource
1103- gallivm/img: use uint for image coord builder.
1104- draw/llvmpipe: multiply polygon offset units by 2
1105- teximage: return correct desktop GL error for compressedteximage
1106- crocus/gen4: restrict memcpy mapping to gen5
1107- intel/fs: restrict max push length on older GPUs to a smaller amount
1108- intel/decode: add gfx4 constant buffer decode
1109- intel/decode: add gfx4 vertex shader decode
1110- crocus/gen45: fix mapping compressed textures
1111- intel/genxml: fix raster operation field in blt genxml
1112- crocus: add support for set alpha to one with blt.
1113- virgl: disable anisotropic filtering.
1114- virgl: add support for anisotropic texture filtering
1115- ci: bump to latest virglrenderer for anisotropic support
1116- clover/llvm: turn off optional CL 3 features.
1117- nir/libclc: handle null callee name when lowering
1118- vtn: add support for atomic flag test/set/clear
1119- nir: add 32-bit bool of fisfinite
1120- nir: add fisnormal lowering
1121- gallivm: handle fisfinite/fisnormal
1122- clover: fix api zero sized enqueue
1123- clover: return CL_INVALID_PLATFORM properly.
1124- clover: add kernel attributes support for SPIR-V
1125- clover: fix compilation with clang + llvm 12.
1126- clover/nir: don't convert to NIR on library link
1127- clover: only return CLC version as 1.2 (even for 3.0)
1128- llvmpipe: add support for user memory pointers
1129- lavapipe: add host ptr support.
1130- docs: add llvmpipe host memory extensions
1131- crocus/blt: add pitch/offset checks to fix blt corruption
1132- crocus: align staging resource pitch on gen4/5 to allow BLT usage.
1133- intel/vec4: sel.cond writes the flags on Gfx4 and Gfx5
1134- draw: handle primitive ID for quads/quad strips.
1135- draw/gs: add clipvertex support for compatibility
1136- draw/tess: add clipvertex support for compatibility
1137- draw: add vertex color clamping to gs/tes
1138- llvmpipe: enable GL compatibility profiles
1139- gallivm: don't lower local invocation index in frontend
1140- llvmpipe/cl: limit kernel input size.
1141- gallivm: fix idiv/irem for 8/16/64-bit and 32-bit INT_MIN/-1
1142- gallivm: fix non-32 bit popcounts.
1143- llvmpipe: init renderer string once to avoid races.
1144- vulkan/wsi/sw: wait for image fence before submitting to queue
1145- crocus: copy views before adjusting
1146- crocus: drop u_primconvert header.
1147- crocus: add missing line smooth bits.
1148- crocus: add missing fs dirty on reduced prim change.
1149- vulkan/wsi: add support for detecting mit-shm pixmaps.
1150- vulkan/wsi/sw: add support for using host_ptr for shm pixmaps.
1151- vulkan/wsi/sw: add mit-shm support for pixmap allocation
1152- meson: fix regression finding shm dep
1153- llvmpipe/fs: fix multisample depth/stencil fs writes.
1154- llvmpipe: consolidate scissor plane code between line/tri
1155- llvmpipe/scissor: rewrite scissor planes interaction.
1156- llvmpipe: adjust scissor planes for multisample.
1157- gallium: add a sample0 only option to blitter.
1158- u_blitter: add support for sample0 only resolves.
1159- lavapipe: VK_KHR_depth_stencil_resolve support
1160- crocus/gen7: add missing IVB/GT2 geom shader workaround.
1161- intel/decode/gfx6: add support for gfx6 CC/VIEWPORT pointers.
1162- gallivm/ssbo: fix up dynamic indexed ssbo load/stores/atomics
1163- gallivm/ssbo: cast ssbo index to int type.
1164- lavapipe: enable dynamic index ubo/ssbo
1165- llvmpipe/cs: rework thread pool for avoid mtx locking
1166- gallivm/coro: use a phi instead of alloca
1167- llvmpipe: shorten hold time on the screen mutex
1168- llvmpipe/cs: rework coroutine context handling (v2)
1169- gallivm: add initial support for 16-bit float builder.
1170- gallivm/nir: handle conversion to 16-bit texel fetch
1171- gallivm/nir: fix f2b32
1172- gallivvm/nir: handle non-32bit mask scatter stores
1173- gallivm: add 16-bit sin/cos via llvm intrinsic
1174- llvmpipe: lower_flrp16
1175- gallivm/nir: handle 16-bit exp/lod using intrinsics.
1176- gallivm/nir: call pow with correct flt builder
1177- gallivm/nir: pass the correct float builder to ddx/y
1178- gallivm: increase tgsi nesting call stack size
1179- gallivm: use llvm intrinsics for 16-bit round/trunc/roundeven
1180- llvmpipe: enable FP16 and update CL + traces piglit results.
1181- lavapipe: enable KHR_shader_float16_int8
1182- gallivm/nir: handle subgroup reduction across all types
1183- lavapipe: enable KHR_shader_subgroup_extended_types
1184- docs: update docs for new llvmpipe/lavapipe features
1185- lavapipe: enable KHR_spirv_1_4
1186- lavapipe: fix vertex attributes/descriptor binding
1187- lavapipe: don't access pColorBlendState when not legal
1188- gallium/format: move two vertex formats into the proper place.
1189- lavapipe/ci: drop some fails I fixed recently
1190- lavapipe: move to 1.2 features/properties structs.
1191- gallivm/nir: fix subgroup invocation read.
1192- lavapipe: enable vulkan 1.2 support.
1193- lavapipe: move to new shared features/properties
1194- lavapipe: cleanup image create function.
1195- lavapipe: fixup image binding flags.
1196- llvmpipe: overhaul fs/cs variant keys to be simpler.
1197- gallivm: use pmulhrsw to make aos sampling more accurate.
1198- crocus/gen6: don't reemit the svbi when debugging
1199- crocus/query: don't loop on ready status after gpu hang.
1200- gallivm/format: clamp SINT conversion rather than truncate.
1201- llvmpipe/cs: change submission pattern for threadpool
1202- llvmpipe: fix 4-bit output scaling.
1203- lvp/fence: quick fix to previous commit.
1204- device_select: close dri3 fd after using it.
1205- wsi/x11: cleanup properly after mit shm paths are used.
1206- Revert "lvp/fence: quick fix to previous commit."
1207- lavapipe: fix fence handling around wsi submission
1208- crocus: Honor scanout requirement from DRI
1209- crocus/gen5: reemit shaders on gen5 after new program cache bo.
1210- crocus/gen5: add dirty flags for urb fences.
1211- llvmpipe: fix userptr for texture resources.
1212- lavapipe: drop EXT_acquire_xlib_display
1213- vulkan/wsi: set correct bits for host allocations/exports for images.
1214- llvmpipe: disable 64-bit integer textures.
1215- llvmpipe: fix compressed image sizes.
1216
1217Derek Foreman (2):
1218
1219- egl/wayland: Support RGBA ordered formats
1220- egl/wayland: Properly clear stale buffers on resize
1221
1222Dmitry Baryshkov (1):
1223
1224- freedreno/regs: add bit to control continuous clock with 7nm PHYs
1225
1226Dylan Baker (19):
1227
1228- VERSION: bump version for 21.3 development cycle
1229- docs/relnotes/new_features: empty for next release cycle
1230- docs: update calendar for 21.2.0-rc1
1231- docs: mark mesa 21.0 as done
1232- freedreno/ir3: Add build id to the disassembler test
1233- docs: add release notes for 21.2.0
1234- docs: update calendar for 21.2.0-rc2
1235- docs: update calendar for 21.2.0-rc3
1236- docs: update calendar and link releases notes for 21.2.0
1237- docs: Add calendar entries for 21.2 release.
1238- bin/gen_release_notes: Add basic tests for parsing issues
1239- bin/gen_release_notes: Don't consider issues for other projects
1240- bin/gen_release_notes: Fix commits with multiple Closes:
1241- docs: add release notes for 21.2.2
1242- docs/relnotes/21.2.2: Add SHA256 sum
1243- docs: update calendar and link releases notes for 21.2.2
1244- docs: add release notes for 21.2.3
1245- docs" Add SHA256 sum for mesa 21.2.3
1246- docs: update calendar and link releases notes for 21.2.3
1247
1248Ed Baker (1):
1249
1250- frontends/va: Fix test_va_api VAAPIDisplayAttribs tests
1251
1252Ed Martin (1):
1253
1254- winsys/radeonsi: Set vce_encode = true when VCE found
1255
1256Eduardo Lima Mitev (1):
1257
1258- turnip: Add support for VK_VALVE_mutable_descriptor_type
1259
1260Ella-0 (13):
1261
1262- v3dv: Add is_unorm, is_snorm and is_float format functions
1263- v3dv: Implement VK_EXT_custom_border_color
1264- v3dv: implement VK_EXT_color_write_enable
1265- v3dv: Implement VK_EXT_pipeline_creation_cache_control
1266- v3dv: Implement VK_EXT_provoking_vertex
1267- v3dv: Implement VK_EXT_pipeline_creation_feedback
1268- v3d/compiler: Handle point_coord_upper_left
1269- v3d: Don't handle PIPE_SPRITE_COORD_UPPER_LEFT twice
1270- v3dv: Expose correct point size granularity
1271- v3dv: Implement VK_EXT_vertex_attribute_divisor
1272- ci/v3dv: Update fails with multiview failing with points
1273- v3d: add R10G10B10X2_UNORM to format table
1274- v3dv: enable VK_KHR_surface_protected_capabilities
1275
1276Emma Anholt (233):
1277
1278- nir: Validate after deserialization.
1279- nir_to_tgsi: Fix image declarations.
1280- gallium/ttn: Add a debug flag for dumping the shaders.
1281- freedreno/ir3: Reduce choose_instr_dec() and _inc() overhead.
1282- gallium/ureg: Sort the output decls.
1283- freedreno: Lock access to msm_pipe for RB object suballocation.
1284- ci/freedreno: Enable the MSAA deqp tests.
1285- gallivm: Default brilinear filtering to off.
1286- gallivm: Always take the per-pixel LOD path for cubemaps.
1287- i915g: Add support for shader-db.
1288- nir_to_tgsi: Pack our tex coords into vec4 nir_tex_src_backend[12].
1289- nir_to_tgsi: Add support for TXP.
1290- nir_to_tgsi: Add support for HW atomics.
1291- nir_to_tgsi: Declare buffers for all of num_ssbos.
1292- nir_to_tgsi: Add support for nir_intrinsic_load_sample_pos.
1293- turnip: Fix assertions on checking mutable combined samplers support.
1294- gallium/dri2: Make dri_init_options just init DRI options.
1295- gallium/driconf: Allow the driver to parse the driconf options.
1296- ci: Stop disabling filter hacks for llvmpipe.
1297- ci/i915: Update deqp expectations for another test passing.
1298- ci: Uprev deqp-runner and use "suite" support to merge softpipe runs.
1299- ci/llvmpipe: Use the deqp-runner suite support to consolidate jobs.
1300- ci/i915g: Merge the two dEQP runs together.
1301- ci: Save dEQP results on all tests.
1302- ci/virgl: Use deqp-runner suite support to reduce CI job count.
1303- ci/zink: Use deqp-runner suite support to reduce the CI job count.
1304- ci: Update piglit to 4545a28cd8fea03fbab0e5f90bfbd812c32f3be1
1305- ci/freedreno: Clear out TF API errors xfails.
1306- freedreno/a5xx: Disable TF when pausing or transitioning to non-TF.
1307- freedreno/a5xx: Don't try to emit FS images in binning command streams.
1308- ci/freedreno: Mark border_color as passing on a5xx.
1309- ci/a5xx: Skip some piglit stress tests that destabilize CI.
1310- ci/freedreno: Organize, fill out, and document our VK xfails.
1311- ci/freedreno: Generalize the spirv_ids_abuse skips.
1312- ci/freedreno: Clean up and fill out the tess timeout annotations.
1313- ci/freedreno: Skip the slow dEQP-VK.ubo.random.all_shared_buffer.48 in CI.
1314- ci/freedreno: Add jobs to manually do a full VK on freedreno.
1315- i915g: Use the devmaster quadratic approximation for sin/cos.
1316- i915g: Reapply clang-format.
1317- nir: Move phi src setup to a helper.
1318- i915g: Make the 1D workaround keep TXP's .w channel in the right spot.
1319- i915g: Add support for blitting compressed textures.
1320- i915g: Add missing support for sRGB S3TC.
1321- i915g: Fix up the format mapping for DXT1_*RGB
1322- i915g: Add support for FXT1.
1323- i915g: Fix 3D texture layouts for width != height.
1324- i915g: Implement cube/3d texture_subdata() as a series of per-layer maps.
1325- ci/turnip: Add a new flake from running more of the CTS.
1326- ci/freedreno: Move freedreno's deqp testing to suite support.
1327- freedreno/a6xx: Apply the cube image size lowering to GL, too.
1328- freedreno/ir3: Only lower cube image sizes once.
1329- freedreno/ir3: Use the resinfo path for ssbo sizes on GL, too.
1330- freedreno/ir3: Move a6xx's get_ssbo_size shl to NIR.
1331- freedreno/a6xx: Skip setting up image dims constants.
1332- freedreno/a5xx: Use ST4\_ constants for SSBO/image state types.
1333- freedreno/a5xx: Reduce packet emits for SSBO state.
1334- ci/freedreno: Mark a new flaky SSBO length test.
1335- ci/freedreno: Flake the rest of the pbuffer/window dEQP-EGL tests.
1336- i915g: Fix polygon offset by telling draw the Z format.
1337- i915g: Correct PIPE_SHADER_CAP_MAX_TEMPS.
1338- i915g: Reduce ARB_fp max tex indirections to match i915c.
1339- i915g: Clear some xfails that are now skips.
1340- i915g: Add comments explaining various xfails.
1341- i915g: clang-format fixup.
1342- freedreno/ir3: Apply the a6xx samgq workaround to TES/TCS/GS as well.
1343- freedreno/ir3: Align driver param upload size/offset for indirect uploads.
1344- freedreno/a6xx: Sync TFB BO access against prior TFB writes.
1345- ci/lavapipe: Add a fractional run with ASan
1346- ci/llvmpipe: Add a fractional ASan run.
1347- nir: Set .driver_location for GLSL UBO/SSBOs when we lower to block indices.
1348- nir/nir_lower_uniforms_to_ubo: Set the explicit stride of the UBO 0 uniform.
1349- nir_to_tgsi: Use explicit sizes of NIR variables for UBO declarations.
1350- ci/freedreno: Annotate a bunch of piglit fails/crashes.
1351- ci/freedreno: Add a bunch of recent a530 and a630 flakes.
1352- ci/v3dv: generalize the buffer_access.through_pointers flakes.
1353- ci/freedreno: Fix xfail update for arb_draw_indirect.
1354- freedreno/ir3: Don't use isam for coherent image loads on a6xx.
1355- freedreno/ir3: Clarify what's going on in a4xx SSBO atomics.
1356- freedreno/ir3: Refactor a3xx ibo/ssbo load/store instruction XML.
1357- freedreno/ir3: Add encode/decode support for a5xx's LDIB.
1358- freedreno/ir3: Use LDIB for coherent image loads on a5xx.
1359- osmesa: Add a unit test for resizing buffers.
1360- cso: Revert using FS sampler count for other stages at context unbind.
1361- mesa/st: Add an assertion for finalize_nir versus PIPE_CAP_TEXCOORD.
1362- i915g: Simplify the process of texcoord mapping to TGSI semantics.
1363- i915g: Expose PIPE_CAP_TGSI_TEXCOORD.
1364- i915g: Add finalize_nir.
1365- mesa/st: Add an optional GLSL link fail msg to finalize_nir.
1366- i915g: Reject non-unrolled loops or non-flattend IFs at link time.
1367- ci/iris: Mark create_context-no_error as failing.
1368- ci/iris: Unmark dma_buf_import_export tests as failing.
1369- ci/iris: Consistently use .test-manual-mr for our unstable hardware.
1370- ci/iris: Switch GL/GLES testing to suites.
1371- freedreno/a6xx: Emit a WFI after event writes flushing CCU.
1372- ci/freedreno: Fix typo in glx-tfp flake annotation.
1373- ci/freedreno: Mark a630 basic-glsl-misc-fs as flaky.
1374- ci/freedreno: Skip slow SizedDeclarationsPrimitive in CI.
1375- llvmpipe: Free CS shader images on context destroy.
1376- llvmpipe: Fix leak of CS local memory with 0 threads.
1377- llvmpipe: memcpy user_buffers at set_constant_buffer time.
1378- nir_to_tgsi: Fix indirect addressing of atomic counters.
1379- nir_to_tgsi: Don't forget to add sampler views with our samplers.
1380- nir_to_tgsi: Add support for memory_barrier_tcs_patch.
1381- nir_to_tgsi: Clean up some unnecessary pointers-to-uregs.
1382- nir_to_tgsi: Switch ssa_temp[] to be a ureg_src.
1383- nir_to_tgsi: Allow SSA defs to include swizzles, abs, and neg.
1384- mesa: Move the advanced blend bitmask to shader_info.
1385- nir: Add a nir_instr_free() to replace ralloc_free(instr).
1386- nir: Pull the instr list free function out to a helper.
1387- nir/from_ssa: Use nir_instr_free() to free instrs instead of ralloc.
1388- nir: Consistently pass the shader to the shader arg of instr creation.
1389- nir: Consistently pass the instr to nir_src_copy().
1390- nir: Add all allocated instructions to a GC list.
1391- nir/lower_phis_to_scalar: Use nir_instr_free() to free instrs.
1392- nir/tests: Fix transmuting an SSA dest to be non-SSA
1393- nir: Switch from ralloc to malloc for NIR instructions.
1394- nir: Drop the unused instr arg for src/dest copy functions.
1395- ci/freedreno: Drop minetest from a3xx trace testing.
1396- freedreno: Precompute resource pointer hash values.
1397- freedreno: Use TC's flag for whether get_query is in the driver thread.
1398- freedreno: Move the batch cache to the context.
1399- freedreno: Remove the submit lock locking.
1400- freedreno: Use a BO bitset for faster checks for resource referenced.
1401- freedreno: Remove dead fd_batch_reset().
1402- ci/i915g: Clarify failure happening in fbo-fragcoord2.
1403- mesa/st: Allow loops in GLSL when NIR is enabled, even if the HW can't.
1404- freedreno: Fix autotune regression since batch-cache rework.
1405- freedreno: Assert to check for the previous regression.
1406- ci/freedreno: Add some cubearray piglit flakes on a630 I noticed.
1407- ci/baremetal: Retry if our network device spontaneously fails.
1408- ci/freedreno: Update restricted trace sha1s.
1409- nir_to_tgsi: Remove the abs on fcsel's bool src.
1410- freedreno/a5xx+: Rename GRAS_CNTL/RB_RENDER_CONTROL0 IJ_LINEAR_* bits.
1411- freedreno/a5xx+: Set the IJ_LINEAR_* request bits if we need the regs.
1412- tu: Move core features definitions to a helper function.
1413- tu: Deduplicate extension/core feature flags.
1414- tu: Add GetPhysicalDeviceFeatures2() support for more VK 1.2 core features.
1415- tu: Move VK 1.1 core properties to a helper function and use macros for exts.
1416- tu: Support VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES.
1417- turnip: Move physical device 1.2 properties to a helper function.
1418- mesa: Throw an error for compressed glGenerateMipmap on GLES2 contexts.
1419- mesa: Prioritize checking for GLES2's uniform transpose error.
1420- mesa: Fix missing CopyTexImage formats for OES_required_internalformat.
1421- ci/vc4,i915g: Add links to VK-GL-CTS issues for some of our xfails.
1422- vulkan: Add helpers for filling exts for core features and properties.
1423- vulkan: Support PHYSICAL_DEVICE_1_n\_ features/properties in the helpers.
1424- turnip: Use the shared now-in-core feature/prop extension helper functions.
1425- anv: Use the shared now-in-core feature/prop extension helper functions.
1426- radv: Use the shared now-in-core feature/prop extension helper functions.
1427- vulkan: Update the XML and headers to 1.2.193
1428- turnip: Set the VK_DRIVER_ID to our new enum.
1429- turnip: Swizzle in 0, 1 for D24S8 STENCIL_ASPECT sampling.
1430- turnip: Disable VK_EXT_display_control.
1431- i915g: Improve debug output for the fresh-batch overflow case.
1432- i915g: Remove dead VBUF_USE_POOL code.
1433- i915g: Unifdef VBUF_MAP_BUFFER.
1434- i915g: Use the non-vbuf code path by default to fix index overflows.
1435- ci/freedreno: Disable flaky a530 for now.
1436- gallium/dri: Make YUV formats we're going to emulate external-only.
1437- turnip: Match the blob's format for vendorID and deviceID.
1438- turnip: Expose a device name similar to the blob.
1439- freedreno/rnndec: Fix use of undefined value_orig in the !ti case.
1440- freedreno/rnndec: Avoid making 0-length variable length arrays.
1441- freedreno/afuc: Avoid ubsan warns about shifting to the top bit of 'int'
1442- freedreno: Fix UBSan failures in cffdec's (uint8_t)x << 24
1443- freedreno: Reuse u_math.h instead of open coding ALIGN/ARRAY_SIZE.
1444- freedreno: Reuse u_math.h instead of open coding uif().
1445- freedreno: Move afuc tests to meson unit tests.
1446- freedreno: Move crashdec/cffdec tests to be meson unit tests.
1447- freedreno: Move the headergen2 test to be meson unit tests.
1448- panfrost: Disable flaky piglit job for now.
1449- ci/freedreno: Restart the run if cheza spontenously reboots.
1450- freedreno/tools: Fix build failure when cffdump isn't built but tests are.
1451- freedreno/a6xx: Move the format table to common code.
1452- freedreno/a6xx: Add int/scaled/snorm vertex formats to match turnip.
1453- freedreno/a6xx: disable vertex fetch support flag for b8g8r8a8_srgb.
1454- freedreno/a6xx: Add support for EXT_texture_sRGB_R8/RG8.
1455- freedreno/a6xx: Drop texturing support from other scaled formats.
1456- freedreno/a6xx: Add some more 16-bit rgb/rgba swaps to our format tables.
1457- freedreno/a6xx+: Add support for the R8G8_R8B8 and G8R8_B8R8 formats.
1458- util/format: Add an RGB planar format for YV12, like we have for NV12.
1459- freedreno/a6xx: Put R8_G8_B8_420_UNORM in the format table.
1460- freedreno/a6xx: Use fd6_pipe2tex() for the 2D src format.
1461- freedreno/a6xx: Make the format table const.
1462- freedreno/a6xx: Rewrite the format table format/swap helpers.
1463- freedreno/a6xx: Add support for A/XRGB1555 formats.
1464- freedreno/a6xx: Enable UBWC for RGBA5551 (and 1555) textures.
1465- turnip: Give D32_SFLOAT_S8_UINT a native format.
1466- turnip: Switch tu_format internals to using pipe_format more.
1467- turnip: Do format lookups from the fd6 format table and cross-check.
1468- turnip: Replace our format table with fd6_format_table.
1469- i915g: Check for the scanout-layout conditions before setting level info.
1470- mesa/st: Don't bump locations of patch vars for !PIPE_CAP_TEXCOORD.
1471- nir_to_tgsi: Include txf_ms's sample index.
1472- nir_to_tgsi: Add support for load_output/load_per_vertex_output.
1473- gallium/ureg: Sort the input decls, too.
1474- nir_to_tgsi: Add support for declaring image arrays.
1475- nir_to_tgsi: Add support for load_barycentric_sample.
1476- nir_to_tgsi: Add support for nir_intrinsic_load_barycentric_at_sample.
1477- nir_to_tgsi: Turn GS PRIMID into an input instead of a sysval.
1478- nir-to-tgsi: Avoid emitting TXL just for lod 0 on non-vertex shaders.
1479- nir_to_tgsi: Sort FS output declarations to avoid virglrenderer bugs.
1480- nir_to_tgsi: Add a workaround for virgl UBO array dynamic indexing.
1481- nir_to_tgsi: Force the TXQ LOD argument to be scalar.
1482- virgl: Add support for NIR shaders when VIRGL_DEBUG=nir.
1483- turnip: Plug the vendor/device ID into the pipeline cache fields, too.
1484- turnip: Fix allocation failure handling around device->name.
1485- turnip: Free disk cache on pdev init failure.
1486- ci/freedreno: Move the other a530 test jobs to test-manual-mr.
1487- ci/freedreno: try to fix the a630 cubearray flake's regex.
1488- ci/freedreno: Disable the minetest trace due to flaky shader code.
1489- ci: Update deqp to vulkan-cts-1.2.7.1.
1490- ci: Update piglit to 7d7dd2688c214e1b3c00f37226500cbec4a58efb.
1491- radeonsi: Fix leak of screen->perfcounters.
1492- Revert "ci: Add osmesa to Windows GitLab CI"
1493- ci/deqp-runner: Drop SUMMARY_LIMIT env var.
1494- ci/deqp-runner: Simplify the --jobs argument setup.
1495- ci/deqp-runner: Use new deqp-runner's built-in renderer/version checks.
1496- ci/deqp-runner: Drop silly CSV env vars.
1497- ci/deqp-runner: Move remaining asan runs to --env LD_PRELOAD=
1498- ci/deqp-runner: Drop LD_LIBRARY_PATH=/usr/local for libkms workaround.
1499- ci/deqp-runner: Don't start GPU hang detection for making junit results.
1500- ci/deqp-runner: Move more non-suite logic under the non-suite 'if'.
1501- ci/piglit-runner: Fix funny indentation of the piglit-runner command.
1502- ci/deqp-runner: Rename the deqp-drivername-\*.txt files to drivername-\*.txt
1503- ci/piglit-runner: Merge piglit-driver-\*.txt files into driver-\*.txt.
1504- ci: Enable testing radeonsi's libva using libva-util unit tests.
1505- freedreno: Fix gmem invalidating the depth or stencil of packed d/s.
1506- freedreno/a6xx: Fix partial z/s clears with sysmem.
1507- freedreno/a6xx: Don't try to generate mipmaps for SNORM with our blitter.
1508- freedreno/ir3: Fix off-by-one in prefetch safety assert.
1509- freedreno/a6xx: Emit a null descriptor for unoccupied IBO slots.
1510- mesa/st: Disable NV_copy_depth_to_color on non-doubles-capable HW.
1511
1512Emmanuel Gil Peyrot (3):
1513
1514- radv: Support device initialization without LLVM dependencies
1515- radv: Support shader compilation without LLVM dependencies
1516- radv: Allow building when LLVM isn’t enabled
1517
1518Enrico Galli (11):
1519
1520- microsoft/spirv_to_dxil: Adding continue opt pass to fix DXIL loop gen
1521- nir_lower_readonly_images_to_tex: Fix typeo on image arrays
1522- microsoft/compiler: Add support for arrays to image_store
1523- microsoft/compiler: Correctly flag when using raw buffers
1524- microsoft/spirv_to_dxil: Enable support for shared memory
1525- microsoft/compiler: Add support for local_invocation_index
1526- spirv_to_dxil: Convert out parameters to a single object
1527- nir: Add CAN_REORDER to load_ubo_dxil
1528- spirv_to_dxil: Add support for nir_intrinsic_load_num_workgroups
1529- spirv_to_dxil: Add support for non-zero vertex and instance indices
1530- nir_to_dxil: Add tagging raw SRVs in shader flags
1531
1532Eric Engestrom (45):
1533
1534- docs: add release notes for 21.1.5
1535- docs: update calendar and link releases notes for 21.1.5
1536- docs: drop duplicate \`21.1` branch name from release calendar
1537- docs: add release notes for 21.1.6
1538- docs: update calendar and link releases notes for 21.1.6
1539- pick-ui: drop assert that optional argument is passed
1540- pick-ui: show nomination type in the UI
1541- pick-ui: show commit date
1542- docs: add release notes for 21.1.7
1543- docs: update calendar and link releases notes for 21.1.7
1544- python: explicitly require python3
1545- gitlab-ci: stop installing python-is-python3 package
1546- python: drop python2 support
1547- Revert "python: Explicitly add the 'L' suffix on Python 3"
1548- isl: drop comment about "python 2 vs 3" as it doesn't apply anymore
1549- isl: drop left-over comment
1550- glsl/tests: remove some dead code
1551- python: drop explicit output_encoding='utf-8' in mako templates
1552- docs: add release notes for 21.1.8
1553- docs: update calendar and link releases notes for 21.1.8
1554- docs: add plan for 21.3.x release cycle
1555- docs: shorten "last release" note to fit on the website without horizontal scrolling
1556- bin/khronos-update.py: update the branch name (s/master/main/)
1557- bin/khronos-update.py: add upstream for vulkan_directfb.h & vulkan_screen.h
1558- gitlab: convert old REVIEWERS into GitLab's CODEOWNERS
1559- CODEOWNERS: add SWR maintainers
1560- CODEOWNERS: add intel group
1561- CODEOWNERS: add android build system
1562- CODEOWNERS: add @alyssa for Asahi and Panfrost
1563- CODEOWNERS: add @bbrezillon for src/panfrost/vulkan/
1564- CODEOWNERS: add @jenatali for Microsoft & D3D12
1565- egl: sync eglext.h & egl.xml from Khronos
1566- egl: implement EGL_EXT_present_opaque on wayland
1567- VERSION: bump for 21.3.0-rc1
1568- .pick_status.json: Update to 86b3d8c66ce17ddcaefa5bdea68882cc03a57f15
1569- .pick_status.json: Mark 7a2e40df5e8490de739c66865f90fa6804e41f6d as denominated
1570- VERSION: bump for 21.3.0-rc2
1571- .pick_status.json: Update to 4856586ac605e89ee6c128b1a190f000311b49ba
1572- VERSION: bump for 21.3.0-rc3
1573- .pick_status.json: Update to c356f3cfce9459dc1341b6a2a0fd5336a9bdcc3c
1574- VERSION: bump for 21.3.0-rc4
1575- .pick_status.json: Update to 549924d53e359c04d7c14b12990178c86d3aad2d
1576- meson: drop duplicate addition of surfaceless & drm to the list of platforms
1577- VERSION: bump for 21.3.0-rc5
1578- .pick_status.json: Update to ba6d389fa7a0ac512cb9d4cdd21efde990f041b1
1579
1580Erico Nunes (2):
1581
1582- lima: avoid crash with negative viewport values
1583- ci: enable CI for lima again
1584
1585Erik Faye-Lund (52):
1586
1587- dxil: Set coord_components on the txf in lower_int_sampler
1588- lavapipe: do not assert on more than 32 samplers
1589- lavapipe: do not mark unsupported tests as crashing
1590- gallivm: let nir_lower_tex handle projectors
1591- gallivm: make rho-approximation opt-in instead of opt-out
1592- gallivm: remove pointless no_filter_hacks flag
1593- d3d12: split up root parameter update and set
1594- microsoft/compiler: fix psv-output calculation
1595- microsoft/compiler: harmonize num_psv_inputs with outputs
1596- gallivm: use lp_build_log2_safe for pow
1597- lavapipe: remove stale xfails
1598- lavapipe: remove duplicate xfail with typo
1599- lavapipe: lower mipmapPrecisionBits to 4
1600- gallivm: remove code to force nearest s/t interpolation
1601- llvmpipe: take intersection with bbox for non-legacy points
1602- st/mesa: correct point_tri_clip for gles2
1603- gallivm: fix texture-mapping with 16-bit result
1604- draw: fix stippling of fractional lines
1605- gallium/nir/tgsi: fixup indentation
1606- gallium/nir/tgsi: initialize file_max for inputs
1607- draw: improve numerical stability in clipper
1608- llvmpipe: use preferred attribute interpolation for wide lines
1609- llvmpipe: clamp z to 0..1 range when using polygon offset
1610- llvmpipe: split coefficient calculation and store
1611- llvmpipe: improve polygon-offset precision
1612- lavapipe: fix reported subpixel precision for lines
1613- draw/llvmpipe: correct exponent calculation for negative z
1614- gallium/tgsi: remove unused helper
1615- gallium/tgsi: rip out cylindrical wrap from ureg
1616- gallium/tgsi: rip out cylindrical wrap support
1617- softpipe: rip out cylindrical wrap support
1618- llvmpipe: rip out cylindrical wrap support
1619- microsoft/compiler: remove needless error-returns
1620- microsoft/compiler: return errors from get_n_src
1621- microsoft/compiler: trivial fixes to error-handling
1622- Revert "zink: always init bordercolor value for sampler"
1623- zink: do not warn about rare features until used
1624- zink: initialize pQueueFamilyIndices
1625- zink: avoid overflow when calculating size
1626- zink: do not try to dereference null-key
1627- zink: do not dereference null-pointer
1628- zink: pctx can't be null here
1629- zink: return false on failure
1630- zink: remove needless NULL-check
1631- zink: avoid memcmping null pointers
1632- zink: avoid checking if src is const twice
1633- zink: give each major intrinsic it's own emit function
1634- zink: remove needless scope
1635- zink: remove incorrect ASSERTED macro
1636- zink: clean up const-value handling for get_ssbo_size
1637- zink: reduce scope of version-struct hack
1638- zink: avoid generating nonsensical code
1639
1640Esme Xuan Lim (1):
1641
1642- docs/panfrost: Fix link to use rst syntax
1643
1644Felix DeGrood (2):
1645
1646- iris: add tile cache flush to iris_copy_region
1647- anv: dirty only state impacted by blorp_exec
1648
1649Filip Gawin (18):
1650
1651- docs: make most important part of bugs.rst easier to find
1652- radeonsi: improve rounding of zmin
1653- radv: improve rounding of zmin
1654- nir: fix shadowed variable in nir_lower_bit_size.c
1655- nir: fix ifind_msb_rev by using appropriate type
1656- meson: add crocus to default group of drivers for x86/x86_64
1657- nouveau: fix forward declaration of struct
1658- nouveau: use bool literals instead of integers
1659- glsl: use bool literals instead of integers
1660- r300: fix usage of COVERED_PTR_MASKING_ENABLE for r500
1661- r300: make global variables const (if possible)
1662- r300: assert that array in translate_vertex_program is initialized
1663- aco: cleanup assignment of unique_ptrs
1664- r300: implement forgotten tgsi's cases of textures
1665- r300: fix UB caused by 1 << 31 and 2 << 30
1666- r300: avoid searching for temp variable twice
1667- nir: avoiding reading unitialized memory when using nir_dest_copy
1668- r300: fixes for UB caused by left shifts
1669
1670Francisco Jerez (12):
1671
1672- iris: Add read-only domain for VF cache.
1673- iris: Annotate all BO uses through VF cache domain.
1674- iris: Insert buffer-local memory barriers for VF reads.
1675- iris: Add separate dirty bit for VBO flushes.
1676- iris: Insert buffer-local memory barriers for indirect draw parameters.
1677- iris: Add read-write domain for data cache.
1678- iris: Use DATA domain barrier for shader images instead of OTHER domain.
1679- iris: Insert buffer-local memory barriers for SSBO reads and writes.
1680- iris: Insert buffer-local memory barriers for UBO reads.
1681- iris: Use separate dirty bits for UBO and SSBO flushes.
1682- iris: Track dirty UBOs per-stage for more targeted flushing.
1683- iris: Make sure a bound resource is flushed after iris_dirty_for_history.
1684
1685Georg Lehmann (3):
1686
1687- radv: Use c_msvc_compat_args.
1688- aco: Use cpp_msvc_compat_args.
1689- radv: Remove dead min waves code.
1690
1691Gert Wollny (3):
1692
1693- mesa: Add support for EXT_clear_texture
1694- mesa: Add EXT_texture_mirror_clamp_to_edge to extension table
1695- mesa: signal driver when buffer is bound to different texture format
1696
1697Greg V (1):
1698
1699- util: make util_get_process_exec_path work on FreeBSD w/o procfs
1700
1701Guilherme Gallo (9):
1702
1703- gitlab-ci: enable testing on Intel Whiskey Lake (experimental)
1704- gitlab-ci: enable testing on Intel Comet Lake (experimental)
1705- gitlab-ci: Fix trace expectations for iris devices
1706- gitlab-ci: Fix octopus device type and tag
1707- gitlab-ci: Add sleep for every \`scheduler.jobs.logs` call
1708- gitlab-ci: Implement a simple timeout detection for LAVA jobs
1709- gitlab-ci: refactor timeout constants and tweak timeout values
1710- ci: Uprev deqp-runner to 0.9.0
1711- ci: Update linux kernel to v5.15
1712
1713Gurchetan Singh (3):
1714
1715- drm-uapi: virtgpu_drm.h: context init feature
1716- virgl/drm: query for context init ioctl and supported capset ids
1717- virgl/drm: explicit context initialization
1718
1719Hoe Hao Cheng (2):
1720
1721- zink: make codegen compatible with python 3.5
1722- zink/codegen: do not enable extensions based on vulkan version
1723
1724Hyunjun Ko (4):
1725
1726- tu: allow dynamic primitive topology with tessellation
1727- freedreno/a5xx,a6xx: rename MSAA_ENABLE to LINE_MODE in GRAS_SU_CNTL
1728- turnip: enable VK_EXT_line_rasterization
1729- turnip: enable strictLines
1730
1731Iago Toral Quiroga (40):
1732
1733- ci:  disable Broadcom CI
1734- v3dv: remove more dead clearing code
1735- v3dv: refactor meta copy/clear code
1736- v3dv: remove unused layer field from struct rcl_clear_info
1737- v3dv: improve TLB layered image clears
1738- v3dv: allow limiting amount of tile state allocated
1739- v3dv: don't overallocate tile state for meta TLB operations
1740- v3dv: don't emit frame setup more than once for multilayered framebuffers
1741- v3dv: fix I/O lowering for GS
1742- v3dv: drop unused parameters
1743- v3dv: store multiview info in our render pass data
1744- v3dv: move all our NIR pre-processing to preprocess_nir
1745- v3dv: inject a custom passthrough geometry shader for multiview pipelines
1746- broadcom/compiler: implement nir_intrinsic_load_view_index
1747- v3dv: broadcast multiview draw commands
1748- v3dv: don't merge subpasses with different view masks
1749- v3dv: use correct number of layers for multiview
1750- v3dv: skip processing tiles for layers that are not in the view mask
1751- v3dv: track first and last subpass that use a view index
1752- v3dv: fix query error handling
1753- v3dv: implement interaction of queries with multiview
1754- v3dv: expose VK_KHR_multiview
1755- v3dv: fill in drmFormatModifierTilingFeatures
1756- v3dv: handle IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
1757- docs: flag VK_KHR_multiview as implemented for v3dv
1758- broadcom/compiler: add a vir_get_cond helper
1759- broadcom/compiler: Flags are per-thread state in V3D 4.2+
1760- broadcom/compiler: make spills of conditional writes also conditional
1761- broadcom/compiler: rewrite partial update liveness tracking
1762- v3d,v3dv: add options to force 32-bit or 16-bit TMU precision
1763- v3dv: don't try to access pColorBlendState if rasterization is disabled
1764- v3dv: add API entry points for sampler Ycbcr conversions
1765- vulkan: allow creating color views from depth/stencil images
1766- v3dv: make v3dv_image derive from vk_image
1767- v3dv: use subresource helpers in more places
1768- v3dv: make v3dv_image_view derive from vk_image_view
1769- v3dv: honor VkPhysicalDeviceFeatures2 in pNext chain of VkDeviceCreateInfo
1770- broadcom/compiler: don't enable early fragment tests if shader writes Z
1771- v3dv: start using Broadcom's device identifiers
1772- broadcom/compiler: fix assert that current instruction must be in current block
1773
1774Ian Romanick (65):
1775
1776- nir/gcm: Clear out pass_flags before starting
1777- util/queue: Don't crash in util_queue_destroy when init failed
1778- iris: Add a comment for iris_uncompiled_shader::nir
1779- iris: Fix return type of iris_compile_*
1780- iris: Unify iris_delete_[shader stage]_state functions
1781- iris: Unify iris_create_[shader stage]_state functions
1782- iris: Merge iris_create_[shader stage]_state funcs into iris_create_shader_state
1783- iris: Ref count the uncompiled shaders
1784- iris: Extract allocation bits from iris_upload_shader to iris_create_shader_variant
1785- iris: Allocate shader variant in caller of iris_upload_shader
1786- iris: Add the variant to the list as early as possible
1787- iris: Don't pass the shader key to iris_compile_[shader stage]
1788- iris: add sync_compile option
1789- iris: Enable threaded shader compilation
1790- iris: Split iris_upload_shader in two
1791- intel/compiler: Add id parameter to shader_debug_log callback
1792- intel/compiler: Add id parameter to shader_perf_log callback
1793- mesa: Fix tiny race condition in _mesa_debug_get_id
1794- util: Add and use functions to calculate min and max int for a size
1795- isl: Use CLAMP macro instead of MIN of MAX
1796- nir/opcodes: Use u_intN_(min|max)
1797- Revert "nir/algebraic: Convert some f2u to f2i"
1798- intel/fs: sel.cond writes the flags on Gfx4 and Gfx5
1799- gallium: Remove "optimize" parameter from pipe_screen::finalize_nir
1800- intel/compiler: Document and assert some aspects of 8-bit integer lowering
1801- nir/algebraic: Optimize some extract forms resulting from 8-bit lowering
1802- intel/fs: Allow copy propagation between MOVs of mixed sizes
1803- intel/fs: Emit better code for u2u of extract
1804- nir/algebraic: Remove spurious conversions from inside logic ops
1805- nir: intel/compiler: Add and use nir_op_pack_32_4x8_split
1806- intel/compiler: Lower 8-bit ops to 16-bit in NIR on all platforms
1807- util/xmlconfig: Make unit tests more resilient against user env settings
1808- util/xmlconfig: Test values set via the environment
1809- nir/lower_bit_size: Support add_sat and sub_sat
1810- nir/opcodes: Add integer dot-product opcodes
1811- nir/algebraic: Basic patterns for dot_4x8
1812- intel/compiler: Basic support for DP4A instruction
1813- nir/algebraic: Add lowering for dot_4x8 instructions
1814- nir/algebraic: Add some extract optimizations
1815- spirv: Update headers and metadata from latest Khronos commit
1816- spirv: Add support for SPV_KHR_integer_dot_product
1817- intel/fs: Refactor some cmod propagation tests
1818- intel/fs: Remove redundant inst->opcode checks in cmod prop
1819- intel/fs: Add many cmod propagation tests involving MOV instructions
1820- intel/fs: Fix a cmod prop bug when the source type of a mov doesn't match the dest type of scan_inst
1821- intel/compiler: Move type_is_unsigned_int to brw_reg_type.h
1822- intel/fs: cmod propagate from MOV with any condition
1823- intel/fs: Remove condition-based restriction for cmod propagation to saturated operations
1824- intel/fs: Remove after parameter from test_saturate_prop
1825- intel/fs: Remove type-based restriction for cmod propagation to saturated operations
1826- anv: Enable KHR_shader_integer_dot_product
1827- nir/lower_gs_intrinsics: Return progress if append_set_vertex_and_primitive_count makes progress
1828- nir/lower_gs_intrinsics: Make nir_lower_gs_intrinsics be idempotent
1829- iris: crocus: Use shader_info::is_arb_asm flag
1830- iris: Calculate uses_atomic_load_store after all lowering
1831- nir/edgeflags: Add a flag to indicate the edge flag input is needed
1832- iris: Eliminate iris_uncompiled_shader::needs_edge_flag
1833- iris: Move iris_set_max_shader_compiler_threads and iris_is_parallel_shader_compilation_finished
1834- iris: Add finalize_nir
1835- spirv: Silence unused parameter warnings in vtn_alu.c
1836- spirv: Minor cleanup in SpvOpFOrdNotEqual
1837- spirv: SpvOpFUnordNotEqual doesn't need special treatment
1838- spirv: Generate shorter code for SpvOpFUnord comparisons
1839- nir/algebraic: Small optimizations for SpvOpFOrdNotEqual and SpvOpFUnordEqual
1840- nir/loop_unroll: Always unroll loops that iterate at most once
1841
1842Icecream95 (26):
1843
1844- pan/decode: Avoid undefined behaviour on shift in bits()
1845- pan/gen_pack: Use 1U for unpacking log2 to avoid undefined behaviour
1846- pan/bi: Print the clause of branch targets
1847- pan/bi: Use padding bytes for checking whether to stop disassembly
1848- pan/bi: Fix infinite loop parsing arguments for bifrost_compiler
1849- pan/mdg: Analyze helper termination after scheduling
1850- pan/bi: Use the computed scale for fexp NaN propagation
1851- panfrost: Call primconvert and u_transfer_helper destroy functions
1852- pan/bi,pan/mdg: Fix memory leak of hash tables
1853- panfrost: Fix memory leaks for compute state
1854- panfrost: Free TGSI tokens
1855- panfrost: Free NIR when deleting shader state
1856- pan/mdg: Reduce size of tex_opcode_props
1857- panfrost: Fill tiler job padding again
1858- panfrost: Add nocache debug flag for disabling the BO cache
1859- panfrost: Only allow colour blit shaders to be killed
1860- panfrost: drm-shim support
1861- pan/bi: Extend bi_add_nop_for_atest for tilebuffer loads
1862- lima: Enable PIPE_CAP_VERTEX_COLOR_UNCLAMPED
1863- lima: Fix crashes for GPUs with more than four cores
1864- lima: Improve error messages for unsupported GP operations
1865- lima: Add a noop drm-shim
1866- pan/bi: Don't set dependencies for +BLEND in blend shaders
1867- pan/mdg: Remove use of global variables in disassembler
1868- panfrost: Add ASTC 3D texture format entries
1869- pan/mdg: Use the correct swizzle for condition moves
1870
1871Ilia Mirkin (7):
1872
1873- st/mesa: fix pbo download store image type
1874- mesa: don't return errors for gl_* GetFragData* queries
1875- mesa: rgb10_a2 is never color-renderable in gles2
1876- glsl: fix explicit-location ifc matching in presence of array types
1877- freedreno: use OUT_WFI for emit_marker
1878- a4xx: add some better documentation for compute registers
1879- a4xx/computerator: add initial backend
1880
1881Italo Nicola (6):
1882
1883- ci: skip minio login if PIGLIT_REPLAY_UPLOAD_TO_MINIO is not set
1884- virgl/ci: switch glmark2 traces from .rdc to .trace
1885- virgl/ci: stop overriding GL version when running traces
1886- virgl/ci: enable some traces that were previously crashing
1887- main: don't always clamp pixels read from snorm buffers
1888- panfrost: fix null deref when no color buffer is attached
1889
1890Iván Briano (8):
1891
1892- anv: Don't advertise unsupported shader stages
1893- anv: fix some multisample lines_wide CTS tests
1894- anv: Unbreak wide lines on HSW/BDW
1895- anv: fix feature/property/sizes reported for fragment shading rate
1896- anv: Allow unused VkSpecializationMapEntries
1897- anv: Don't copy the lineStipple values if lineStipple is not enabled
1898- vulkan: fix handling of aliases in enum members
1899- vulkan: Generate defines for aliases of promoted enums
1900
1901James Park (1):
1902
1903- aco: Work around MSVC restrict in c99_compat.h
1904
1905Jan Beich (1):
1906
1907- meson: disable -Werror=thread-safety on FreeBSD
1908
1909Jason Ekstrand (192):
1910
1911- intel/dev: Handle CHV CS thread weirdness in get_device_info_from_fd
1912- intel/dev: Put the device name in intel_device_info
1913- intel/dev: Handle BSW naming issues
1914- intel/dev: Add a max_cs_workgroup_threads field
1915- intel/dev: Drop a bogus assert
1916- nir: Better document the Boissinot algorithm in nir_from_ssa()
1917- iris: Re-emit MEDIA_VFE_STATE for variable group size shaders
1918- anv: Handle errors properly in anv_i915_query
1919- intel: Pull anv_i915_query into common code
1920- anv: Use intel_i915_query_alloc for memory regions
1921- iris: Use intel_i915_query for meminfo
1922- intel/dev: Use intel_i915_query_alloc in query_topology
1923- intel/perf: Use intel_i915_query_flags instead of hand-rolling it
1924- intel/eu: Start validating LSC message descriptors
1925- anv: Assume syncobj support
1926- anv: Drop unused sync_file and BO semaphore code
1927- anv: Stop reference counting semaphores
1928- glsl/nir: Use nir_ssa_undef() from nir_builder
1929- nir: Set IMAGE_DIM and IMAGE_ARRAY on deref intrinsics
1930- nir: Set src_components = -1 for image intrinsic deref sources
1931- nir: Add a format field to _deref image intrinsics
1932- nir/lower_subgroups: Handle down-casts in uint_to_ballot_type
1933- nir/lower_image: Handle index and bindless image_size
1934- nir/lower_tex: Add a lower_txs_cube_array option
1935- radv,radeonsi: Do cube size divide-by-6 lowering in NIR
1936- turnip: Replace tu_lower_image_size with nir_lower_image
1937- intel/eu: Don't validate LSC transpose on ops that don't have it
1938- ttn: Don't handle texop_txf_ms_mcs
1939- amd: Don't handle nir_tex_src_ms_mcs
1940- panfrost: Don't handle nir_texop_txf_ms_mcs
1941- nir: Suffix all the MCS texture stuff _intel
1942- docs,nir: Document NIR texture instructions
1943- intel/blorp: Use nir_texop_txl
1944- nir/lower_tex: Rework invalid implicit LOD lowering
1945- nir: Validate newly documented texture restrictions
1946- anv/android: Rework our handling of AHardwareBuffer imports
1947- nir: Removing uses of SSA defs destroys SSA liveness
1948- nouveau: Use nir_lower_tex for projectors
1949- anv/blorp: Drop some can_ycbcr checks
1950- anv/blorp: Use the isl_surf for computing level_width/height in anv_image_ccs_op
1951- anv: Rename anv_get_format_plane to anv_get_format_aspect
1952- anv: Rework depth/stencil early return in anv_get_format_plane
1953- anv: Add a get_format_plane helper and use it in image setup
1954- anv: Use anv_get_format_plane in anv_get_image_format_features
1955- anv: Use anv_get_format_plane for color image view setup
1956- anv: Stop assuming planes are in aspect-bit-order
1957- anv/image: Rework YCbCr image aspects
1958- anv: Rework our aspect/plane helpers
1959- anv: Make anv_image_aspect_to_plane take an anv_image*
1960- intel/eu: Set scope to TILE for TGM flushes
1961- meson/intel: Don't build genxml tests on Android
1962- meson: Intel drivers don't require expat on Android
1963- meson/glsl: Only run GLSL tests if can_run_host_binaries()
1964- intel/vec4: Don't override emit_urb_write_opcode for SNB GS
1965- intel/perf: Use a char array for OA perf query data
1966- anv/android: Pass the correct pointer type to vk_errorf
1967- anv/android: Drop unused device variables
1968- ci: Build ANV on Android
1969- include/drm-uapi: Bump headers
1970- anv: Use I915_MMAP_OFFSET_FIXED for LMEM platforms
1971- iris: SMEM buffers on discrete platforms are coherent
1972- iris: Use a tiny table to map mmap modes to offsets
1973- iris: Add an assert to iris_bo_gem_mmap_legacy()
1974- iris: Add a new IRIS_MMAP_NONE map type
1975- iris: Use I915_MMAP_OFFSET_FIXED for LMEM platforms
1976- anv: Use I915_USERPTR_PROBE when available
1977- intel/isl: Explicitly set offset_B = 0 in get_uncomp_surf for arrays
1978- intel/isl: Add units to view dimensions in isl_surf_get_uncompressed_surf
1979- intel/isl: Better document isl_tiling_get_intratile_offset_*
1980- intel/isl: Add a missing assert in isl_tiling_get_intratile_offset_sa
1981- intel/isl: Use uint64_t for computed byte offsets
1982- anv/image: Use planes[i]->primary_surface.isl.format in check_drm_format_mod
1983- anv: Delete anv_image::format
1984- vulkan: Add a vk_image struct
1985- anv: Make anv_image derive from vk_image
1986- anv,vulkan: Move anv_image_expand_aspects to common code
1987- anv,vulkan: Move VkImageSubresource* helpers from ANV
1988- vulkan: Refactor and better document vk_image_expand_aspect_mask
1989- radv: Add asserts to vk_format_depth/stencil_only
1990- vulkan,radv: Move vk_format_depth/stencil_only to common code
1991- vulkan: Add a vk_image_view struct
1992- anv: Make anv_image_view derive from vk_image_view
1993- anv,vulkan: Move ANV image layout helpers to common code
1994- anv,vulkan: Move drm_format_mod to vk_image
1995- anv,vulkan: Add a vk_image::wsi_legacy_scanout bit
1996- anv: Move compute_heap_size lower in the file
1997- anv: Rework init_meminfo
1998- anv: compute available memory in anv_init_meminfo
1999- anv: Set CONTEXT_PARAM_RECOVERABLE to false
2000- intel/compiler: Add unified barrier support for CS
2001- intel/isl: Add more parameters to isl_tiling_get_info
2002- isl/docs/tiling: Add Tile4 docs
2003- intel/fs: Add support for atomic_fadd
2004- anv: Advertise support for shaderBufferFloat32AtomicAdd
2005- nir: Properly clean up nir_src/dest indirects
2006- nir: Stop sweeping indirects
2007- spirv: Handle the SubgroupSize execution mode
2008- intel/fs: Handle required subgroup sizes specified in the SPIR-V
2009- iris: Handle states=NULL in iris_bind_sampler_states
2010- iris: Return 1 for PIPE_COMPUTE_CAP_IMAGES_SUPPORTED
2011- panvk: Use vk_queue
2012- panvk: Use vk_command_buffer
2013- vulkan: Add the pCreateInfo to vk_queue_init()
2014- anv: Drop anv_queue::flags
2015- radv: Drop radv_queue::flags/queue_family_index/queue_idx
2016- lavapipe: Drop lvp_queue::flags
2017- turnip: Drop tu_queue::flags/queue_family_index/queue_idx
2018- v3dv: Drop v3dv_queue::flags
2019- panvk: Drop panvk_queue::flags/queue_family_index
2020- vulkan/device: Add a common GetDeviceQueue2 implementation
2021- vulkan/device: Add a common DeviceWaitIdle implementation
2022- anv: Switch to common GetDeviceQueues2 and DeviceWaitIdle
2023- radv: Switch to common GetDeviceQueues2 and DeviceWaitIdle
2024- turnip: Switch to common GetDeviceQueues2 and DeviceWaitIdle
2025- v3dv: Use the common GetDeviceQueue implementation
2026- lavapipe: Simplify DeviceWaitIdle
2027- lavapipe: Switch to common GetDeviceQueue and DeviceWaitIdle
2028- panvk: Switch to common GetDeviceQueue and DeviceWaitIdle
2029- intel/fs: Rework fence handling in brw_fs_nir.cpp
2030- intel/fs: Ignore SLM fences if shared is unused
2031- intel/fs: Add the URB fence message
2032- intel/fs: Emit URB fences when we have LSC
2033- vulkan/shader_module: Fix the lifetime of temporary shader modules
2034- v3dv: Use VK_DEFINE_*HANDLE_CASTS instead of rolling our own
2035- st/texture: Dedent surface setup in CompressedTexSubImage
2036- st/texture: Fall back to single-slice uploads in st_CompressedTexSubImage
2037- Move a bunch of the CLC stuff from src/microsoft to common code
2038- compiler/clc: Clean ups
2039- compiler/clc: grab opencl-c.h from the system path by default
2040- anv,iris,genxml: Use NumberOfBarriers on XeHP
2041- vulkan/physical_device_features: Drop some unnecessary dependencies
2042- vulkan/physical_device_features: Stop generating a header
2043- radv: Use VK_DEFINE_*HANDLE_CASTS instead of rolling our own
2044- vulkan: Update the XML and headers to 1.2.195
2045- anv: Add an anv_image_get_memory_requirements helper
2046- intel/isl: Add a max_buffer_size limit to isl_device
2047- intel/isl: Simplify isl_format_supports_filtering
2048- intel/isl: Stop claiming ASTC works on Cherry View
2049- anv: Ask ISL about ASTC support
2050- intel/isl: ASTC support was removed on Gfx12.5
2051- genxml: Drop bit 27 from RENDER_SURFACE_STATE::Surface Format
2052- nir/algebraic: Lower fisfinite
2053- nir/algebraic: Add some boolean optimizations
2054- nir/algebraic: Add some opts for comparisons of comparisons
2055- vulkan: Drop vk_object_base_reset
2056- vulkan: Track which objects are client-visible
2057- vulkan/log: Assert if the driver logs a client-invisible object
2058- vulkan/log: Log to instance messages during instance construction
2059- anv: drop a misplaced and wrong comment
2060- anv: Stop printing descriptor pool allocation failures
2061- anv: s/vk_error/anv_error/g
2062- vulkan/log: Handle logging to a physical device
2063- vulkan/log: Add common vk_error and vk_errorf helpers
2064- anv: Drop unused logging helpers
2065- anv/queue: Plumb the queue through all the queue_submit calls
2066- anv: Use the common vk_error and vk_errorf helpers
2067- radv: Stop printing descriptor pool allocation failures
2068- radv: Switch to the new common vk_error helpers
2069- lavapipe: Switch to the new vk_error helpers
2070- panvk: Switch to the new vk_error helpers
2071- v3dv: Switch to the new vk_error helpers
2072- turnip: Plumb non-startup errors through the new vk_error helpers
2073- vulkan/log: Drop _impl from the log helper names
2074- vulkan/instance: Use vk_error in vk_instance_init
2075- vulkan/device: Use vk_error
2076- vulkan/device: Use vk_errorf to report missing features
2077- Revert "mesa: use simple_mtx_t for TexMutex"
2078- nir/lower_discard_or_demote: Fix metadata
2079- vulkan: Generate flag #defines based on bitwidth
2080- vulkan: Generate #defines with every bit in a given bitfield
2081- anv: Use the common wrapper for GetPhysicalDeviceFormatProperties
2082- anv: Flip around the way we reason about storage image lowering
2083- meson: Add and use an idep for Vulkan WSI
2084- vulkan/wsi: Add a dispatch table for WSI entrypoints
2085- vulkan/wsi: Add common wrappers for most entrypoints
2086- anv: Use the common WSI wrappers
2087- radv: Use the common WSI wrappers
2088- turnip: Use the common WSI wrappers
2089- v3dv: Use the common WSI wrappers
2090- panvk: Use the common WSI wrappers
2091- lavapipe: Use the common WSI wrappers
2092- venus: Use the common WSI wrappers
2093- vulkan/wsi/common: Delete the wrapper entrypoints
2094- vulkan/wsi/x11: Delete the wrapper entrypoints
2095- vulkan/wsi/wayland: Delete the wrapper entrypoints
2096- vulkan/wsi/display: Delete the wrapper entrypoints
2097- vulkan/log: Tweak our handling of a couple error enums
2098- i965: Emit a NULL surface for buffer textures with no buffer
2099- lavapipe: Don't wrap errors returned from vk_device_init in vk_error
2100- anv: Fix FlushMappedMemoryRanges for odd mmap offsets
2101- anv: Also disallow CCS_E for multi-LOD images
2102- vulkan/util: Include stdlib.h
2103
2104Jeremy Newton (1):
2105
2106- Fix building AMD MM/GL with EL7
2107
2108Jesse Natalie (62):
2109
2110- mesa/main: Check for fbo attachments when importing EGL images to textures
2111- microsoft/compiler: Implement texture loads from UAVs
2112- microsoft/clc: Add a test for compiling a kernel with a read-write image
2113- gallium/dri: Move driConf -> st option processing to aux/util
2114- xmlconfig: Use static inline for regex fallback to prevent -O0 issues
2115- wgl: Parse driconf options
2116- wgl: Add a driver name for driconf
2117- u_driconf: Use a macro to avoid repeating option names
2118- CI: Update Windows quick_gl baseline for mysterious new passes
2119- spirv2dxil: Fix build after spirv_to_dxil signature change
2120- ci/windows: Build spirv-to-dxil
2121- llvmpipe: Don't wait for already-terminated threads on Windows
2122- mapi: Fix shared-glapi build with MSVC
2123- wgl: Fix unit test when using shared glapi
2124- static-glapi: Fix MSVC preprocessor definitions
2125- wgl: Don't use BUILD_GL32 for wgl frontend
2126- wgl: Move opengl32.def to target instead of frontend
2127- wgl: Move wgl* non-extension definitions to libgl-gdi
2128- wgl: Make overridden entrypoints local to stw_ext_context
2129- wgl: Refactor drivers to a libgallium_wgl.dll
2130- docs: Update Windows llvmpipe doc for driver split
2131- gl.h: Remove dllimport
2132- wgl: Create contexts and DHGLRCs separately
2133- wgl: Pass share context as pointer instead of DHGLRC
2134- wgl: Make contexts current with pointer instead of DHGLRC
2135- wgl: Allow creating framebuffers that aren't in the global window list
2136- wgl: Make contexts current with framebuffers instead of HDCs
2137- wgl: Split DrvReleaseContext to support unbind via pointer
2138- wgl: Add iPixelFormat to stw_pixelformat_info
2139- wgl: Un-inline helpers which use stw_own_mutex
2140- wgl: Add an explicit iPixelFormat for context creation
2141- wgl: Use HWND instead of HDC as primary framebuffer handle
2142- wgl: Add a stw_dev getter
2143- wgl: Swap buffers via pointer instead of HDC
2144- wgl: Add stw_* DLL exports for EGL support
2145- meson: Include EGL after gallium
2146- meson, egl: Support building for the Windows platform
2147- egl: Add wgl/gallium dependencies for Windows platform
2148- egl: Use the .def file for Windows
2149- egl: Don't try to dereference native displays unless there's a detectable platform
2150- egl: Detect Windows platform using GDI
2151- egl: Add a basic Windows driver
2152- symbols-check: Fix symbol demangling for Windows
2153- egl: Update Windows .def to include missing exports
2154- meson: Set /Zc:__cplusplus for MSVC
2155- CI/windows: Build shared-glapi, EGL, gles2
2156- microsoft/clc: Rename compiler DLL to clon12compiler
2157- microsoft/clc: Clean up clc_context
2158- microsoft/clc: Stop heap-allocating tiny fixed-size transparent structs
2159- microsoft/clc: Split clc_object and rename entrypoints
2160- microsoft/clc: Support SPIR intermediates in the compilation APIs
2161- microsoft/clc: Parse SPIR-V specialization consts into metadata
2162- microsoft/clc: Support passing specialization consts to spirv_to_nir
2163- microsoft/clc: Add API to independently specialize SPIR-V
2164- microsoft/clc: Add a test for specializing via SPIRV-Tools
2165- clover: std::result_of is deprecated in c++17 and removed in c++20
2166- clover: Delete unused 'e' exception reference vars
2167- clover: Rename module -> binary, because C++20 makes module a keyword
2168- compiler/clc: Null extensions should mean all supported, not all
2169- compiler/clc: Preserve OCL kernel arg type metadata on LLVM13
2170- util/hash_table: Clear special 0/1 entries for u64 hash table too
2171- d3d12: Fix Linux fence wait return value
2172
2173Jonathan Marek (1):
2174
2175- freedreno/registers: add a6xx media formats
2176
2177Jordan Justen (51):
2178
2179- nir: Add nir_lower_image() to lower cube image sizes
2180- intel/compiler: Rename brw_nir_lower_image_load_store to brw_nir_lower_storage_image
2181- intel/compiler: Lower cube image sizes using nir_lower_image()
2182- intel/compiler: Remove cube array size lowering in compiler backend
2183- meson: Search for python3 before python for bin/meson_get_version.py
2184- meson: Check that bin/meson_get_version.py ran without an error
2185- intel/pci-ids: Re-enable DG1 and add SG1
2186- intel/compiler: Regroup TCS barrier code paths
2187- intel/compiler: Add unified barrier support for TCS
2188- iris: Disable the Y-tiled modifiers on XeHP+
2189- intel: Move subslice_total into devinfo
2190- intel/devinfo: Add devinfo->max_scratch_ids
2191- intel/dev: Add is_dg2 to devinfo
2192- intel/isl: Enable MOCS 61 for external surfaces on TGL
2193- intel/dev: Add display_ver and set adl-p to 13
2194- iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13
2195- Revert "iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13"
2196- Revert "intel/dev: Add display_ver and set adl-p to 13"
2197- intel/dev: Add display_ver and set adl-p to 13
2198- iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13
2199- intel/blorp: Move most of BLORP_CREATE_NIR_INPUT into a function
2200- intel/blorp: Add compute support to BLORP_CREATE_NIR_INPUT
2201- intel/blorp: Add shader_pipeline to brw_blorp_base_key
2202- intel/blorp: Add brw_blorp_init_cs_prog_key
2203- intel/compiler: Use INTEL_DEBUG=blorp to dump blorp compute shaders
2204- intel/blorp: Add subgroup_id input for compute programs
2205- intel/blorp: Add blorp_compile_cs
2206- intel/blorp: Split out ps specific sampler state into a separate function
2207- intel/blorp: Split out surface setup from state emission
2208- blorp: Add blorp_alloc_general_state
2209- intel/blorp: Emit compute program based on BLORP_BATCH_USE_COMPUTE
2210- intel/gfx7: Change GPGPU Mode to bool
2211- intel/blorp: Add blorp_get_cs_local_y, blorp_set_cs_dims
2212- intel/blorp: Change discard terminology to bounds
2213- intel/blorp: Add blorp_check_in_bounds()
2214- intel/blorp: Use blorp_check_in_bounds for discards
2215- blorp: Set view usage to ISL_SURF_USAGE_STORAGE_BIT for compute
2216- blorp/clear: Simplify rbg-as-red channel packing
2217- intel/blorp: Convert blorp_clear color_write_disable to a bitmask
2218- intel/blorp: Support compute for slow clears
2219- intel/blorp/blit: Rename wm_prog_key and prog_key to key
2220- intel/blorp: Support some image/buffer blit operations using compute
2221- anv: Store anv_queue_family type in cmd-pool
2222- anv: Prevent starting a render pass on compute queues
2223- anv/blorp: Make sure blorp type is supported by the queue
2224- anv/blorp: Select pipeline based on BLORP_BATCH_USE_COMPUTE
2225- anv/blorp: Add anv_blorp_batch_init, anv_blorp_batch_finish
2226- anv/blorp: Force compute blorp on compute-only queues
2227- anv/slice_hash: Don't allocate more than once with multiple queues
2228- intel/isl: Add mocs settings for DG2
2229- Revert "iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13"
2230
2231Jose Maria Casanova Crespo (8):
2232
2233- Revert "ci:  disable Broadcom CI"
2234- v3d/driconf: Expose non-MSAA texture limits for mutter and gnome-shell
2235- v3d: export supported prim types by v3d
2236- v3d: remove primconvert
2237- vc4: export supported prim types by vc4
2238- vc4: remove primconvert
2239- v3d: Enable PIPE_CAP_PRIMITIVE_RESTART
2240- v3d: Enable PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE
2241
2242Joshua Ashton (26):
2243
2244- lavapipe: Use common Vulkan format helpers
2245- radv: Fix DCC image store check
2246- radv: Disable DCC on storage images that cannot support DCC image stores
2247- ac/surface: Add modifiers capable of DCC image stores
2248- ac/surface: Add ac_modifier_supports_dcc_image_stores helper
2249- radv: Expose modifiers that support DCC image stores with STORAGE_IMAGE_BIT
2250- radv: Push box traversal results onto stack in correct order
2251- radv: Add noatocdithering option to RADV_DEBUG
2252- vulkan/util: Cast vk_alloc pointers
2253- radv: Rename radv_subpass_barrier function to radv_emit_subpass_barrier
2254- radv: Define extern "C" linkage if C++
2255- ac/surface: Add helper for checking if a surface supports DCC Image stores
2256- radv: Use common DCC image store check
2257- radeonsi: Use common DCC image store check
2258- radv: Remove assert in radv_rt_bind_tables
2259- radv: Do not pass result to insert_traversal_aabb_case
2260- radv: Implement build_node_to_addr for GFX8 and below
2261- radv: Implement software emulation for intersect_ray
2262- radv: Enable raytracing extensions on older generations
2263- radv: Add force_emulate_rt perftest option
2264- ac/surface: Use 64 && 128 for GFX10_3 on non-modifier path
2265- ac/surface: Add ac_modifier_max_extent
2266- radeonsi: Check if modifier supports the image extent
2267- radv: Respect max extent for modifiers
2268- ac/surface: Expose modifiers capable of DCC image stores first
2269- radv: Do early and late tests for fast clears
2270
2271Joshua Watt (1):
2272
2273- v3d, vc4: Fix dmabuf import for non-scanout buffers
2274
2275José Fonseca (1):
2276
2277- llvmpipe: Add a linear rasterizer optimized for 2D rendering.
2278
2279Juan A. Suarez Romero (35):
2280
2281- broadcom/compiler: emit TMU flush before a jump
2282- ci/v3dv: update expected results
2283- ci/v3d: add piglit flake test
2284- v3d: handle debug options with debug_named_value
2285- v3dv: assert job->cmd_buffer is valid
2286- ci/v3dv: update vulkan expected results
2287- broadcom: remove v3dv3 from neon library
2288- ci: update to VK-GL-CTS 1.2.7.0
2289- drm-uapi: add v3d performance counters
2290- v3d: check if device supports performance monitors
2291- v3d: attach performance monitor to jobs
2292- v3d: move queries to pipe queries
2293- v3d: add fence wait function
2294- v3d: implement performance counter queries
2295- v3d/simulator: implement performance counters
2296- gallium/hud: initialize query
2297- ci/v3dv: update expected results
2298- broadcom/compiler: change current block on setting spill base
2299- v3d: print error on perfmon destroy error
2300- ci/vc4: update piglit expected results
2301- broadcom/compiler: set current block on incrementing unifa
2302- ci/v3dv: update flakes
2303- v3dv: initialize CL submission structure
2304- v3d/ci: add piglit flake
2305- broadcom/ci: use deqp-runner suites for gles
2306- broadcom/qpu: remove duplicated opcode variable
2307- broadcom/compiler: check instruction belongs to current block
2308- mesa: fix default texture buffer format
2309- broadcom: make vir_emit_last_thrsw() private
2310- broadcom/compiler: force a last thrsw for spilling
2311- broadcom/compiler: add V3D_DEBUG_NO_LOOP_UNROLL debug option
2312- broadcom: add cl_nobin debug option
2313- ci/v3dv: update flakes
2314- ci/v3d: add piglit flake
2315- ci/vc4: add piglit timeout
2316
2317Kai Wasserbäch (3):
2318
2319- gallivm: add new wrapper around Module::setOverrideStackAlignment()
2320- gallivm: fix FTBFS on i386 with LLVM >= 13, StackAlignmentOverride is gone
2321- fix(clover/llvm): update code to build with recent versions of LLVM 14 (Git)
2322
2323Karol Herbst (4):
2324
2325- nv50/ir/nir: fix smem size for GL
2326- nv30: fix emulated vertex index buffers
2327- clover: Local memory needs to be aligned.
2328- spirv: Don't add 0.5 to array indicies for OpImageSampleExplicitLod
2329
2330Keith Packard (1):
2331
2332- iris: Map scanout buffers WC instead of WB [v2]
2333
2334Kenneth Graunke (29):
2335
2336- gallium: Remove dead pb_malloc_buffer_create function prototype
2337- iris: Rename bo->gtt_offset to bo->address
2338- iris: Improve the memory layout of iris_bo by fixing pahole issues
2339- iris: Drop dead drm_ioctl prototype
2340- iris: Don't try to CPU read imported clear color BOs
2341- iris: Use the new I915_USERPTR_PROBE API
2342- iris: Allow SET_DOMAIN to fail when allocating new GEM objects
2343- iris: Stop using SET_DOMAIN on discrete GPUs altogether
2344- iris: Bypass the BO cache when allocating buffers for aux map tables
2345- iris: Mark the aux table buffers with EXEC_OBJECT_CAPTURE.
2346- i965: Only call lower_blend_equation_advanced for fragment shaders
2347- glsl: Assert that lower_blend_equation_advanced is only called for FS
2348- iris: Rewrite bo->index comment to refer to exec_bos[]
2349- iris: Track written BOs via a bitfield rather than exec_object2 entries
2350- iris: Defer construction of the validation (exec_object2) list
2351- iris: Add some accessor wrappers for a few fields.
2352- intel: Finish off the last scraps of bacon
2353- iris: Move some iris_bo entries into a union
2354- iris: Handle multiple BOs backed by the same GEM object in execbuf code
2355- iris: Begin handling slab-allocated wrapper BOs in various places
2356- iris: Introduce a BO_ALLOC_NO_SUBALLOC flag and set it in a few places
2357- iris: Change the validation list debug code to print the BO list instead
2358- iris: Move suballocated resources to a dedicated allocation on export
2359- iris: Suballocate BO using the Gallium pb_slab mechanism
2360- iris: Delete the MI_COPY_MEM_MEM resource_copy_region implementation.
2361- iris: Require a 4K alignment for extra clear color BOs.
2362- iris: Fix MOCS for buffer copies
2363- iris: Fix parameters to iris_copy_region in reallocate_resource_inplace
2364- intel/genxml: Fix MI_FLUSH_DW to actually specify the length properly
2365
2366Kostiantyn Lazukin (1):
2367
2368- util/u_trace: Replace Flag with IntEnum to support python3.5
2369
2370Kyle Brenneman (2):
2371
2372- Add copyright comments to the GLVND-related files.
2373- Remove the shebang from eglFunctionList.py.
2374
2375Leandro Ribeiro (8):
2376
2377- vulkan/wsi/wayland: check directly if we got globals successfully
2378- vulkan/wsi/wayland: do not perform roundtrip when not querying formats
2379- vulkan/wsi/wayland: fix crash when force_bgra8_unorm_first is true
2380- vulkan/wsi/wayland: fold wsi_wl_display_swrast and wsi_wl_display_dmabuf into parent
2381- vulkan/wsi/wayland: always initialize format vector
2382- vulkan/wsi/wayland: add helper function find_format()
2383- vulkan/wsi/wayland: create swapchain using vk_zalloc()
2384- vulkan/wsi/wayland: memset members of image to zero
2385
2386Leo Liu (8):
2387
2388- frontends/va: Add AV1 picture description
2389- frontends/va: Add AV1 parameter buffers functions
2390- frontends/va: Place AV1 picture and slice parameter buffers functions
2391- frontends/va: Add AV1 profile main to the config
2392- radeon/vcn: Enable the AV1 decode p010 mode
2393- frontends/va: Reallocate p010 buffer for AV1 10 bits decode
2394- radeon/vcn: reuse the dpb buffers when with the same size.
2395- radeon/vcn: add a handling of error for incorrect reference lists
2396
2397Lepton Wu (3):
2398
2399- gallium: Reset {d,r}Priv in dri_unbind_context
2400- i965: Enable RGBX8888_SRGB format.
2401- virgl: Add an option to disable coherent
2402
2403Lionel Landwerlin (67):
2404
2405- isl: fix mapping of format->stringname
2406- loader/dri3: create linear buffer with scanout support
2407- nir/lower_shader_calls: adding missing stack offset alignment
2408- anv: fix submission batching with perf queries
2409- drm-shim: implement stat/fstat when xstat variants are not there
2410- intel/disasm: fix missing oword index decoding
2411- anv: don't try to access Android swapchains
2412- nir/lower_shader_calls: remove empty phis
2413- anv/android: handle image bindings from gralloc buffers
2414- genxml: add more INSTDONE registers for Gfx12.5
2415- intel/error-decode: printout more registers
2416- nir: prevent peephole from generating invalid NIR
2417- intel/fs: fix framebuffer reads
2418- microsoft/clc: small compile fix on Linux
2419- clc: use the defined version for the parser
2420- spirv: don't fail on CapabilitySubgroupDispatch if supported
2421- spirv: avoid shadowing local variable
2422- spirv: workaround LLVM-SPIRV Undef variable initializers
2423- spirv: don't bother initializing variables to Undef
2424- microsoft/clc: drop LLVM dependency to version < 12
2425- nir: fix opt_memcpy src/dst mixup
2426- spirv: switch Groups capability to non AMD specific field
2427- microsoft/clc: drop MSVC specific function
2428- microsoft/clc: fix compiler warning on uninitiailzed variable use
2429- meson: extract libversion checks from clc & clover
2430- anv: honor INTEL_DEBUG=sync
2431- clc: add allowed extension for compile parameter
2432- clc: print warnings/errors on their own line
2433- clc: let user specify the targetted SPIRV version
2434- anv: enable UBO indexing
2435- intel/compiler: add missing line returns to logs
2436- anv: remove redundant VertexURBEntryReadLength setting
2437- nir/lower_io: preserve all metadata when no progress
2438- anv: move GetBufferMemoryRequirement with other buffer functions
2439- anv: implement vkGetDeviceBufferMemoryRequirementsKHR
2440- anv: remove unused function
2441- anv: move VkImage object allocation to anv_CreateImage
2442- anv: implement vkGetDeviceImageMemoryRequirementsKHR
2443- anv: implement vkGetDeviceImageSparseMemoryRequirementsKHR
2444- anv: enable VK_KHR_maintenance4
2445- vulkan: put generated defines into their own header
2446- vulkan: handle new VK_KHR_synchronization2 image layouts
2447- vulkan: remove unused VkCommand
2448- vulkan/util: generate define for a selected few enums
2449- vulkan: implement legacy entrypoints on top of VK_KHR_synchronization2
2450- anv: add missing transition handling bits
2451- anv: make semaphore helper work on a single object
2452- anv: improve readability of pipelined states
2453- anv: implement VK_KHR_synchronization2
2454- spirv: deal with null pointers
2455- anv: switch to use VkFormatFeatureFlags2KHR internally
2456- intel/nir: allow unknown format in lowering of storage images
2457- anv: start computing KHR_format_features2 flags for storage images
2458- anv: implement VK_KHR_format_feature_flags2
2459- anv: fill correct surface state for lowered storage image
2460- isl: only bump the min row pitch for display when not specified
2461- vulkan/wsi/wayland: don't expose surface formats not fully supported
2462- anv: fix push constant lowering with bindless shaders
2463- intel/dev: fix HSW GT3 number of subslices in slice1
2464- intel/dev: don't forget to set max_eu_per_subslice in generated topology
2465- intel/dev: reuse internal functions to set mask
2466- intel/dev: fix subslice/eu total computations with some fused configurations
2467- intel/perf: fix perf equation subslice mask generation for gfx12+
2468- intel/devinfo: fix wrong offset computation
2469- intel: remove 2 preproduction pci-id for ADLS
2470- anv: don't forget to add scratch buffer to BO list
2471- anv: fix multiple wait/signal on same binary semaphore
2472
2473Liviu Prodea (1):
2474
2475- ci: Add osmesa to Windows GitLab CI
2476
2477Lone_Wolf (1):
2478
2479- clover: TargetRegistry.h was moved to another folder
2480
2481Lucas Stach (2):
2482
2483- renderonly: don't complain when GPU import fails
2484- etnaviv: always try to create KMS side handles for imported resources
2485
2486Luis Felipe Strano Moraes (2):
2487
2488- docs: Clean up environment variable docs for Intel drivers.
2489- docs: Add documentation regarding INTEL_MEASURE to envvars doc.
2490
2491M Henning (1):
2492
2493- nouveau: Support nir_intrinsic_*_atomic_fadd
2494
2495Maniraj D (1):
2496
2497- egl: set TSD as NULL after deinit
2498
2499Mao, Marc (1):
2500
2501- iris: declare padding for iris_vue_prog_key
2502
2503Marcin Ślusarz (51):
2504
2505- intel/tools/aubinator_error_decode: tag hanging instruction
2506- anv: share some code between vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount
2507- glsl: evaluate switch expression once
2508- nir/builder: invalidate metadata per function
2509- intel/compiler: use nir_shader_instructions_pass in brw_nir_apply_attribute_workarounds
2510- d3d12: use nir_metadata_none instead of its value
2511- microsoft/clc: preserve only valid metadata in clc_lower_printf_base
2512- microsoft/clc: use nir_shader_instructions_pass in clc_nir_dedupe_const_samplers
2513- microsoft/compiler: preserve all metadata when upcast_phi doesn't make progress
2514- microsoft/compiler: use nir_shader_instructions_pass in dxil_nir_split_clip_cull_distance
2515- microsoft/compiler: use nir_shader_instructions_pass in dxil_nir_lower_double_math
2516- zink: use nir_shader_instructions_pass in lower_discard_if
2517- zink: use nir_shader_instructions_pass in nir_lower_dynamic_bo_access
2518- genxml: add INSTDONE_GEOM register for Gfx12.5
2519- intel/error-decode: printout INSTDONE_GEOM register for Gfx12.5
2520- glsl/opt_algebraic: disable invalid optimization
2521- glsl: refactor code to avoid static analyzer noise
2522- freedreno/ir3: use nir_metadata_none instead of its value
2523- r600: use nir_shader_instructions_pass in r600_nir_lower_atomics
2524- r600: preserve all metadata when passes don't make progress
2525- turnip: use nir_shader_instructions_pass in tu_lower_io
2526- intel/compiler: INT DIV function does not support source modifiers
2527- vulkan/wsi/x11: fix shm allocation control flow issue
2528- glsl: propagate errors from \*=, /=, +=, -= operators
2529- glsl: break out early if compound assignment's operand errored out
2530- crocus: drop redundant unlikely's around INTEL_DEBUG
2531- intel/compiler: drop redundant likely's around INTEL_DEBUG
2532- anv: drop redundant unlikely's around INTEL_DEBUG
2533- lima: use nir_shader_instructions_pass in lima_nir_split_load_input
2534- anv: Set graphics pipeline active_stages earlier
2535- anv: Use input assembly state only when pipeline has vertex stage
2536- intel/compiler: use nir_shader_instructions_pass in brw_nir_demote_sample_qualifiers
2537- intel/compiler: use nir_shader_instructions_pass in brw_nir_clamp_image_1d_2d_array_sizes
2538- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_conversions
2539- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_mem_access_bit_sizes
2540- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_scoped_barriers
2541- intel/compiler: use nir_shader_instructions_pass in brw_nir_lower_storage_image
2542- intel/compiler: use nir_shader_instructions_pass in brw_nir_opt_peephole_ffma
2543- intel/compiler: use nir_metadata_none instead of its value
2544- anv: use nir_shader_instructions_pass in anv_nir_add_base_work_group_id
2545- anv: use nir_shader_instructions_pass in anv_nir_lower_ycbcr_textures
2546- anv: preserve all metadata when anv_nir_lower_multiview doesn't make progress
2547- glsl: preserve all metadata when lower_buffer_interface_derefs doesn't make progress
2548- nir: preserve all metadata when nir_lower_int_to_float doesn't make progress
2549- nir: preserve all metadata when nir_propagate_invariant doesn't make progress
2550- nir: preserve all metadata when nir_opt_vectorize doesn't make progress
2551- anv: allocate zeroed device object
2552- nir/print: pad 64-bit constants with zeroes
2553- anv: fix potential integer overflow
2554- iris: fix scratch address patching for TESS_EVAL stage
2555- intel: fix INTEL_DEBUG environment variable on 32-bit systems
2556
2557Marek Olšák (211):
2558
2559- radeonsi: don't expose no-attachment MSAA 16x on all 1 RB chips due to issues
2560- radeonsi: document a missing synchronization for bindless textures
2561- st/mesa: inline st_setup_arrays on MSVC too by adding a wrapper
2562- mesa: remove unused drawid_offset parameter from DrawGalliumMultiMode
2563- mesa: fix incorrect comment in draw_gallium_multimode
2564- st/mesa: always use PIPE_USAGE_STAGING for GL_MAP_READ_BIT usage
2565- shader_enums,mesa: move VERT_ATTRIB_EDGEFLAG to slot 31 for st/mesa
2566- gallium: change pipe_vertex_element::src_format to uint8_t
2567- gallium: add multi-component 64-bit UINT formats for raw double vertex attribs
2568- gallium: add pipe_vertex_element::dual_slot to move lowering to CSO creation
2569- gallium: lower raw 64-bit vertex formats in cso/vbuf instead of st/mesa
2570- st/mesa: remove lowering of 64-bit vertex attribs to 32 bits
2571- st/mesa: remove st_vertex_program::index_to_input
2572- st/mesa: remove st_vertex_program::input_to_index
2573- radeonsi: improve viewperf snx performance by forcing staging for VRAM buffers
2574- gallium: simplify VRAM uploads by adding PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY
2575- gallium/noop: implement fences
2576- gallium/noop: implement shader buffers and shader images
2577- gallium/noop: use threaded_query
2578- gallium/noop: use threaded_resource
2579- gallium/noop: use threaded_transfer
2580- gallium/noop: enable threaded_context to test TC overhead without a driver
2581- gallium/noop: update pipe_screen::num_contexts
2582- gallium/noop: implement a lot of missing screen functions
2583- gallium/noop: implement a lot of missing context functions
2584- radeonsi: allow arbitrary swizzle modes for displayable DCC
2585- radv: allow arbitrary swizzle modes for displayable DCC
2586- ac/surface: allow arbitrary swizzle modes for displayable DCC
2587- gallium: add take_ownership into set_sampler_views to skip reference counting
2588- st/mesa: set take_ownership = true in set_sampler_views
2589- st/mesa: move handling CubeMapSeamless into st_convert_sampler where it belongs
2590- gallium: remove vertices_per_patch, add pipe_context::set_patch_vertices
2591- radeonsi: remove vertices_per_patch parameter from draw-related functions
2592- frontend/dri: add environment variable DRI_NO_MSAA for performance comparisons
2593- gallium: use a packed enum to make pipe_prim_mode 1-byte large with __GNUC__
2594- gallium: change pipe_draw_info::mode to uint8_t on MSVC to make it 1 byte large
2595- glthread: implement glGetUniformLocation without syncing
2596- meson: add missing custom target to generate shader_replacement.h
2597- mesa: add environment variable MESA_NO_SHADER_REPLACEMENT
2598- util/cpu_detect: print num_L3_caches and num_cpu_mask_bits
2599- util/cpu_detect: add/guess support for next Zen CPUs
2600- vbo: merge draws with GL_LINES regardless of line stippling
2601- vbo: check more GL errors when drawing via glCallList
2602- mesa: remove unused indices parameter from validate functions
2603- mesa: fix gl_DrawID with indirect multi draws using user indirect buffer
2604- mesa: skip draw calls with unaligned indices
2605- radeonsi: remove unused depth_clamp_any
2606- radeonsi: remove instancing support from the prim discard compute shader
2607- radeonsi: remove stages_key parameter from si_shader_selector_key
2608- radeonsi: move si_vgt_stages_key determination into si_update_vgt_shader_config
2609- radeonsi: move as_ls/es/ngg setting out of si_shader_selector_key
2610- radeonsi: inline si_get_alpha_test_func
2611- radeonsi: stop using AC_EXP_PARAM_UNDEFINED because it's not useful
2612- radeonsi: use memcmp and radeon_emit_array in radeon_opt_set_context_regn
2613- radeonsi: correctly use cs instead of gfx_cs in build pm4 helpers
2614- radeonsi: simplify memory usage checking by merging vram and gtt counters
2615- radeonsi: inline remaining big functions in draw_vbo for better snx perf
2616- radeonsi: simplify si_need_gfx_cs_space
2617- winsys/amdgpu: clean up amdgpu_cs_check_space
2618- radeonsi: inline si_need_gfx_cs_space
2619- radeonsi: don't use SQ_NON_EVENT before GE_PC_ALLOC for better perf on Navi1x
2620- radeonsi: add si_print_current_ib function for debugging
2621- ac/debug: add an option to disable colors for printed IBs
2622- radeonsi: fix a memory leak in si_get_shader_binary_size
2623- radeonsi: set gfx10 registers better in si_emit_initial_compute_regs
2624- ac/gpu_info: fix detection of smart access memory
2625- radeonsi: disable DCC stores on Navi12-14 for displayable DCC to fix corruption
2626- radeonsi: enable DCC stores for clear_render_target on gfx10
2627- radeonsi: add missing make_CB_shader_coherent for DCC stores into copy_image
2628- radeonsi: handle pipe_aligned in compute_expand_fmask
2629- radeonsi: rename DCC_WRITE -> ALLOW_DCC_STORE
2630- radeonsi: track displayable_dcc_dirty for non-compute shaders
2631- radeonsi: enable DCC stores on gfx10.3 APUs for better performance
2632- radeonsi: clean up typecasts in compute_copy_image
2633- ac/llvm: remove load_tess_coord callback
2634- ac/llvm: implement a bunch of NIR AMD intrinsics for NGG
2635- ac: remove needless parameters from ac_shader_abi::emit_outputs
2636- ac: make ac_shader_abi::inputs an array instead of a pointer
2637- ac/llvm: implement nir_intrinsic_overwrite_*_arguments_amd
2638- ac/llvm: implement nir_intrinsic_elect
2639- ac,radeonsi: load VS inputs at the call site of nir_intrinsic_load_input
2640- ac,radv: remove unused inputs array and VS input code
2641- radeonsi: don't set prefer_mono for fetched instance divisors
2642- radeonsi: ignore the vertex element count in si_shader_selector_key_vs
2643- radeonsi: accurately check if instance divisors need a VS update
2644- radeonsi: don't update shaders if only the vertex element count changes
2645- radeonsi: correct index_bias_varies usage
2646- radeonsi: remove the primitive discard compute shader
2647- winsys/amdgpu: precompute amdgpu_ib_max_submit_dwords
2648- radeonsi: reduce the frequency of switching GS fast launch on/off
2649- radeonsi: strengthen the VGT_FLUSH condition in begin_new_gfx_cs
2650- radeonsi: skip setting some PGM_HI registers by switching to 32-bit addresses
2651- winsys/amdgpu: include CS ioctl overhead in RADEON_NOOP
2652- radeonsi: enable shader-based prim culling with polygon mode
2653- radeonsi: remove a few fields from si_state_rasterizer
2654- radeonsi: don't emit PA_SU_POLY_OFFSET_CLAMP if it has no effect
2655- radeonsi: add AMD_DEBUG=ib to print IBs
2656- radeonsi: don't use NGG passthrough if culling is possible for better perf
2657- radeonsi: fix DCC image stores with display DCC
2658- radeonsi: copy a few nir_shader_compiler_options from RADV
2659- driconf: remove leftover code for allow_incorrect_primitive_id
2660- radeonsi: fix DCC image stores with image descriptors in user SGPRs
2661- radeonsi: add const to the key parameter in si_shader_select_with_key
2662- radeonsi: handle NO_OPT_VARIANT in si_shader_select_with_key
2663- radeonsi: sink memsets and disable uniform inlining in si_shader_selector_key
2664- radeonsi: move PS shader key code into a separate function
2665- radeonsi: don't memset mono and opt in si_update_ps_shader_key
2666- radeonsi: don't memset part in si_update_ps_shader_key
2667- radeonsi: divide si_update_ps_shader_key into many separate functions
2668- radeonsi: ignore blitter when computing the PS shader key
2669- radeonsi: update most of the PS shader key in set & bind functions
2670- radeonsi: clean up and clear VS shader key fields related to outputs
2671- radeonsi: update the VS shader key in set & bind functions and remove memsets
2672- radeonsi: rewrite inlinable uniform states for shader keys in si_context
2673- radeonsi: move si_shader_io_get_unique_index calls out of si_get_vs_key_outputs
2674- radeonsi: move PS inputs_read computation out of si_get_vs_key_outputs
2675- radeonsi: unset SI_PREFETCH_* only when we unbind pm4 shader states
2676- radeonsi: make si_update_shaders a C++ template in si_state_draw.cpp
2677- radeonsi: optimize scratch buffer size updates using C++ template arguments
2678- radeonsi: check flatshade and sprite_coord_enable for spi_map in bind_rs_state
2679- radeonsi: move DB_SHADER_CONTROL update for PS out of si_update_shaders
2680- radeonsi: move flat shading VRS enablement out of si_update_shaders
2681- radeonsi: precompute si_vgt_stages_key for NGG in si_shader
2682- radeonsi: deduplicate si_compiler_ctx_state initialization
2683- radeonsi: determine num_vbos_in_user_sgprs from template arguments in draw_vbo
2684- radeonsi: eliminate a not-found conditional for PrimID in si_get_ps_input_cntl
2685- radeonsi: force flat for PrimID early in si_nir_scan_shader
2686- radeonsi: restructure si_get_ps_input_cntl for future refactoring
2687- radeonsi: interleave si_shader_info::input_* in memory for faster emit_spi_map
2688- radeonsi: precompute num_interp for si_emit_spi_map
2689- radeonsi: simplify si_emit_spi_map for back-face colors
2690- radeonsi: inline si_get_ps_input_cntl because it has only one use
2691- radeonsi: unroll loops in si_emit_spi_map using 33 C++ template instantiations
2692- radeonsi: precompute more spi_map code
2693- radeonsi: set prefer_mono outside of si_shader_selector_key
2694- radeonsi: move setting most TCS shader key fields out of si_shader_selector_key
2695- radeonsi: move setting one GS shader key field out of si_shader_selector_key
2696- radeonsi: put si_pm4_state at the beginning of si_shader
2697- radeonsi: eliminate redundant SPI_SHADER_PGM_RSRC3/4_GS register writes
2698- radeonsi: convert gfx10_emit_ge_pc_alloc to radeon_opt_set_uconfig_reg
2699- radeonsi: use a trick to extract and pack edgeflags using fewer instructions
2700- radeonsi: don't set edgeflags for TES and blit VS
2701- radeonsi: fix incorrect comments about VGT_SHADER_STAGES_EN
2702- radeonsi: enable NGG passthrough when LDS is used, document the real constraints
2703- radeonsi: remove the unused cs parameter from radeon_emit
2704- radeonsi: remove the unused cs parameter from radeon_emit_array
2705- radeonsi: remove the unused cs parameter from radeon_set_(config|context)_reg
2706- radeonsi: remove the unused cs parameter from radeon_set_sh_reg
2707- radeonsi: remove the unused cs parameter from radeon_set_uconfig_reg
2708- radeonsi: remove the unused cs parameter from remaining packet functions
2709- ac/surface: use DCC compatible with image stores for < 4K resolutions
2710- ac/surface: correct a comment about DCC image stores
2711- radeonsi: fix a depth texturing performance regression on gfx6-7
2712- radeonsi: change the units of oversub_pc_factor to integer multiples of 1/4
2713- radeonsi: decrease vertex count threshold for shader culling to 128
2714- radeonsi: set vs_uses_base_instance using C++ template arguments
2715- radeonsi: use the optimal draw packet sequence for VGT_FLUSH
2716- radeonsi: reduce NGG culling on/off transitions by keeping it enabled
2717- radeonsi: clean prefer_mono for the blit VS
2718- radeonsi: don't check ngg_culling != 0 for fast launch because it's tautology
2719- ac/gpu_info: fix the comment for the NGG->legacy transition bug
2720- radeonsi: strenthen the ngg->legacy hw workaround, fix fast launch hangs too
2721- radeonsi: fix clearing index_size for NGG fast launch
2722- radeonsi: disallow NGG fast launch on Navi1x because VGT_FLUSH makes it slower
2723- ac/llvm: pass cull options into cull_bbox directly
2724- radeonsi: always use the correct number of vertices in NGG shader code
2725- radeonsi: add gfx10 helpers for determining whether edgeflags are enabled
2726- ac/llvm: rename ac_cull_triangle -> ac_cull_primitive
2727- radeonsi: implement shader-based culling for lines
2728- radeonsi: don't set DX10_DIAMOND_TEST_ENA for better performance
2729- util: add util_popcnt_inline_asm
2730- util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium
2731- gallium/util: make pipe_vertex_buffer_reference safe for hashing dst
2732- gallium: add pipe_vertex_state and draw_vertex_state for display lists
2733- gallium/u_threaded: implement draw_vertex_state
2734- gallium/trace: add pipe_vertex_state support
2735- gallium/util: add util_vertex_state_cache for deduplicating the states
2736- st/mesa: add ST_PIPELINE_RENDER_NO_VARRAYS, for future display list support
2737- st/mesa: make setup_arrays more reusable for future display list support
2738- mesa: use pipe_vertex_state in vbo and st/mesa for lower display list overhead
2739- radeonsi: separate VBO descriptor code into a new function (for future work)
2740- radeonsi: implement draw_vertex_state for lower display list overhead
2741- ac/surface: don't overwrite DCC settings for imported buffers
2742- ac/surface: enable DCC image stores for all displayable DCC on gfx10.3
2743- mesa: add missing unlock_texture into generate_texture_mipmap
2744- util/slab: use simple_mtx_t
2745- util/queue: use simple_mtx_t for finish_lock
2746- gallium/pb_cache: use simple_mtx_t
2747- gallium/pb_slab: use simple_mtx_t
2748- mesa: use simple_mtx_t for TexMutex
2749- mesa: use simple_mtx_t for ShaderIncludeMutex
2750- gallium/u_threaded: fix draw_vertex_state with multi draws
2751- radeonsi: fix a leak in draw_vertex_state if threaded_context is disabled
2752- radeonsi: remove duplicate partial_count variable
2753- radeonsi: add back a workaround for DCC MSAA on gfx9 due to conformance issues
2754- radeonsi: remove GS fast launch
2755- util,gallium: put count in pipe_resource & sampler_view on its own cache line
2756- radeonsi: align pipe_resource & sampler_view allocations to a cache line
2757- radeonsi: fix an out-of-bounds access in si_create_vertex_state
2758- ac/surface: always use suboptimal display DCC with DRM <= 3.43.0
2759- ac/surface: disallow display DCC for big resolutions
2760- ac/surface: enable better display DCC for chips newer than Yellow Carp
2761- radeonsi: simplify how VS_OUT_CCDIST is set
2762- radeonsi: simplify write_psize code in si_get_vs_out_cntl
2763- mesa: fix crashes in the no_error path of glUniform
2764- st/mesa: don't crash when draw indirect buffer has no storage
2765- radeonsi: enable shader culling for indirect draws
2766- radeonsi: print the border color error message only once
2767- radeonsi: fix 2 issues with depth_cleared_level_mask
2768- radeonsi: fix a typo preventing a fast depth-stencil clear
2769- driconf: disallow 10-bit pbuffers for viewperf2020/maya due to X errors
2770
2771Marek Vasut (2):
2772
2773- freedreno: a2xx: Handle samplerExternalOES like sampler2D
2774- freedreno: Handle timeout == PIPE_TIMEOUT_INFINITE and rollover
2775
2776Marijn Suijten (1):
2777
2778- freedreno: Enable Adreno 508, 509 and 512
2779
2780Mark Janes (3):
2781
2782- anv: Use local memory for block pool BO
2783- anv: Allocate workaround buffer in local memory if present
2784- anv: warn if system memory is used
2785
2786Martin Krastev (2):
2787
2788- svga: enable DRM mks-stats via hooking to the corresponding DRM ioctls
2789- meson: introduce option vmware-mks-stats controlling the instrumentations of gallium svga driver
2790
2791Martin Roukala (néé Peres) (1):
2792
2793- radv/ci: mark some tests as flaky on gfx9
2794
2795Matt Turner (5):
2796
2797- tu: Raise maxDescriptorSetUpdateAfterBindUniformBuffersDynamic to 16
2798- util: Add unit tests for dag
2799- util: Replace recursive DFS with iterative implementation
2800- tu: Free device->bo_idx and device->bo_list on init failure
2801- tu: Enable VK_KHR_uniform_buffer_standard_layout
2802
2803Michael Tang (11):
2804
2805- spirv_to_dxil: expose version number
2806- spirv_to_dxil: Run nir_lower_tex during compilation
2807- microsoft/compiler: Add support for SV_SampleIndex intrinsic
2808- microsoft/compiler: More robustly handle setting Register=-1
2809- microsoft/compiler: Set the SampleFrequency runtime metadata
2810- microsoft/compiler: Emit a flat interpolation method for SV_SampleIndex
2811- microsoft/compiler: Miscellaneous fixes from running clang-format
2812- microsoft/spirv_to_dxil: Add \`install : true` to spirv_to_dxil library.
2813- gallium/d3d12: move d3d12_lower_bool_input to microsoft/compiler
2814- microsoft/spirv_to_dxil: use dxil_nir_lower_bool_input pass
2815- microsoft/spirv_to_dxil: turn sysvals into input varyings
2816
2817Michel Dänzer (2):
2818
2819- ci: Drop "success" job
2820- ci: Put all container related jobs in a single stage
2821
2822Michel Zou (6):
2823
2824- zink: Fix unused-variable warning
2825- meson: dont use missing dumpbin path
2826- radv: fix build with mingw
2827- lavapipe: fix missing VKAPI_CALL attribute
2828- wgl: fix 32 bits mingw exports
2829- docs: mark off missing lavapipe exts
2830
2831Mike Blumenkrantz (480):
2832
2833- zink: improve detection for broken drawids
2834- lavapipe: increment drawid for multidraws
2835- radv: merge si_write_viewport into radv_emit_viewport
2836- radv: pre-calculate viewport transforms
2837- radv: remove unused variable from radv_emit_viewport
2838- lavapipe: don't read line stipple info in pipeline creation if stipple is disabled
2839- util/tc: make clear calls async
2840- util/foz: stop crashing on destroy if prepare hasn't been called
2841- lavapipe: add a padding member to rendering_state
2842- lavapipe: implement VK_EXT_color_write_enable
2843- features: VK_EXT_color_write_enable for lavapipe
2844- zink: check for dedicated allocation requirements during image alloc
2845- zink: hook up VK_KHR_dedicated_allocation
2846- zink: optimize shader recalc
2847- zink: ifdef out some context prototypes/inlines for c++ compile
2848- zink: start adding C++ draw templates
2849- zink: add draw template for dynamic state
2850- zink: make descriptors_update hook return a bool if a flush occurred
2851- zink: if descriptor updating flushes, re-call draw/compute
2852- zink: add template for starting new cmdbuf
2853- zink: split pipeline_changed to use template value separately
2854- zink: stop flagging pipeline dirty for line width changes
2855- zink: don't rebind vertex buffers if pipeline changes
2856- zink: add a ctx flag for drawid reading
2857- zink: flatten descriptor_refs_dirty into BATCH_CHANGED template
2858- zink: use drawid_offset directly during draw
2859- zink: add a ctx flag for shader reading basevertex
2860- zink: remove screen info stuff from draw templates
2861- zink: add changed flag for blend states
2862- util/tc: add a util function for setting bytes_mapped_limit
2863- radeonsi: use new tc util for setting bytes_mapped_limit
2864- zink: use new tc util for setting bytes_mapped_limit
2865- freedreno: use new tc util for setting bytes_mapped_limit
2866- nir/lower_point_size_mov: zero nir_state_slot::swizzle in new variable
2867- gallium: add pipe_sampler_state::pad member
2868- lavapipe: add support for anisotropic texturing
2869- nir: add nir_imm_ivec3 builder
2870- zink: add mechanism for generating VkBuffers for rebinding
2871- zink: change vbo_bind_count to a mask of slots
2872- zink: handle vertex buffer offset overflows
2873- zink: split and move maybe_flush_or_stall mechanic
2874- zink: split draw_count checking to local variable
2875- zink: make zink_end_render_pass public
2876- zink: make batch_rp and norp static inlines
2877- zink: use a local var for draw mode during draw
2878- zink: add a param to check_batch_completion for toggling lock-taking
2879- zink: rework oom flushing
2880- zink: move mem cache to sub-struct
2881- zink: inline mem cache hash table
2882- zink: split mem cache per type
2883- zink: clamp descriptor allocation bucket sizing to defined limit
2884- zink: add define for descriptor alloc clamping
2885- zink: improve lazy descriptor pool handling
2886- zink: fix cached descriptor allocation clamping
2887- nir/validate: refactor validate_assert to have a return value
2888- zink: use array size in spirv bo length calculations
2889- zink: add screen function for checking usage completion
2890- zink: force batch completion check on query result
2891- zink: add some resource util functions for batch usage
2892- zink: collapse a conditional in zink_batch_resource_usage_set()
2893- zink: use resource batch usage helpers in invalidate_buffer()
2894- zink: simplify some dumb code in invalidate_buffer
2895- zink: use new resource batch usage utils for is_resource_busy
2896- zink: replace some direct batch_usage calls with resource abstractions
2897- zink: remove no longer used internal resource function
2898- zink: more explicitly check shader stages during compile
2899- zink: merge draw_count and compute_count, move to batch struct
2900- zink: improve oom flushing
2901- zink: EXT_vertex_input_dynamic_state
2902- zink: change descriptor flushing to assert
2903- zink: lower subgroup ballot instructions
2904- zink: implement compiler handling for subgroup ballot builtins/intrinsics
2905- zink: remove VK_EXT_shader_subgroup_ballot from device info
2906- zink: export PIPE_CAP_TGSI_BALLOT
2907- zink: add env var to disable timelines
2908- ci: add another zink job with timelines disabled
2909- zink: use dynamic line stipple
2910- zink: use MAP_ONCE for qbo readback
2911- zink: rework buffer mapping
2912- mesa/st: break up st_GetTexSubImage
2913- mesa/st: break up st_choose_matching_format()
2914- mesa/st: enable calling st_choose_format() purely for translation
2915- mesa/st: add format-finding capabilities to pbo get_dst_format()
2916- st/texture: refactor get_src_format() to be more useful
2917- zink: never use staging buffer for unsynchronized buffer maps
2918- zink: force threadsafe mapping for query results when necessary
2919- Revert "zink: simplify some dumb code in invalidate_buffer"
2920- zink: simplify some dumb code in invalidate_buffer (v2)
2921- lavapipe: rework queue to use u_queue
2922- lavapipe: use consistent semaphore variable naming
2923- lavapipe: implement timeline semaphores
2924- features: mark off timelines for lavapipe
2925- zink: add locking for zink_shader::programs
2926- zink: sum available memory heaps instead of assigning
2927- zink: simplify else clause for mem info gathering
2928- nine: don't memset sampler state during conversion
2929- nine: set CSO_NO_USER_VERTEX_BUFFERS for main cso context
2930- nine: optimize texture binds a bit
2931- nine: split enabled/dummy texture binds into separate iterators
2932- nine: update bound sampler mask directly during texture updates
2933- nine: track bound sampler count to optimize unbinds
2934- nine: enable tc
2935- nir: add imm_vec3 to round these out
2936- nine: init take_index_buffer_ownership for draws
2937- nine: init more draw info members
2938- zink: add a suballocator
2939- zink: repack zink_resource_object struct
2940- zink: stop zeroing structs during resource allocation
2941- zink: split transfer_unmap for images and buffers
2942- zink: split mem unmap logic for images and buffers
2943- zink: make map_count useful for dedicated image allocations
2944- zink: remove PIPE_MAP_ONCE from subdata
2945- zink: rejigger PIPE_MAP_ONCE for internal qbo reads
2946- zink: flake out some tests for now
2947- zink: collapse 'dedicated' allocation into zink_bo
2948- zink: remove duplicated zink_resource_object::mem member
2949- zink: split out zink_transfer allocation
2950- zink: split buffer and image map functions
2951- zink: remove unused variable from image map
2952- zink: break out transfer map destroy
2953- zink: handle map failures more effectively
2954- zink: enable compat contexts
2955- zink: ci updates
2956- nir/lower_vectorize_tess_levels: set num_components for vectorized loads
2957- softpipe: fix ci rule ordering to avoid unnecessarily running jobs
2958- zink: simplify get_descriptor_set_lazy params
2959- zink: remove redundant asserts from lazy descriptor set populate
2960- zink: remove repeated lazy batch dd casts
2961- zink: flag the gfx pipeline dirty and unset pipeline shader module on shader change
2962- zink: do compute shader change on bind
2963- zink: clear current gfx/compute program upon unbinding its shaders
2964- zink: clear out all ubo rebinds first if they exist
2965- zink: make descriptor update functions return the updated resource
2966- zink: split out buffer rebinds to helper functions
2967- zink: add bind counts for so bindings
2968- zink: count streamout rebinds when doing buffer rebinds
2969- zink: rebind all buffers on replacement
2970- zink: only force all buffer rebinds if rebinds exist on other contexts
2971- zink: defer deletion of no-attachment framebuffers
2972- zink: stop referencing framebuffers
2973- nine: replace unnecessary dynamic-sized array with bitfield
2974- zink: move void format detection function to zink_format
2975- zink: make component mapping function a static inline
2976- zink: make void swizzle clamping util public
2977- zink: add better TODO note for surface swizzles
2978- zink: fix program init flag
2979- zink: fix pipeline caching
2980- zink: verify program key sizes before checking for default variant
2981- zink: return early when getting resource modifer if no modifier is used
2982- zink: inline program cache structs
2983- zink: track mask of bound gfx shader stages
2984- zink: split gfx shader cache based on stages present
2985- zink: avoid hashing shader stages multiple times for new gfx programs
2986- zink: create compute programs on bind
2987- zink: simplify a bitmask init
2988- zink: stop using dirty_shader_stages for shader binds
2989- zink: add some null checks for shader variant key generation
2990- zink: set inlinable_uniforms_mask first when binding a shader
2991- zink: only remove programs from hash tables on shader deletion if needed
2992- zink: implement PIPE_QUERY_GPU_FINISHED
2993- zink: always init bordercolor value for sampler
2994- zink: require occlusionQueryPrecise for occlusion queries
2995- zink: assert precise queries are occlusion queries
2996- zink: declare ctx var during blend state bind
2997- zink: remove attachment count from pipeline hash
2998- zink: pass current program's shader array, not ctx array
2999- zink: remove extra unsetting of ctx->vertex_state_changed
3000- zink: reorder gfx program/pipeline/descriptor binds if dynamic state is present
3001- zink: init ctx->gfx_prim_mode to nonzero value to trigger pipeline changes
3002- zink: use ctx gfx prim mode for draw comparisons
3003- zink: remove query flush from memory barrier hook
3004- zink: slim down streamout component of mem barrier hook
3005- zink: batch mem barrier hooks
3006- zink: use dynamic prim type
3007- zink: consolidate pipeline hash tables
3008- zink: no-op prim changes for pipeline recalc
3009- zink: hook up VK_EXT_extended_dynamic_state2
3010- zink: template for VK_EXT_extended_dynamic_state2
3011- zink: bump dynamic pipeline state count
3012- zink: set primitive restart with extended dynamic state2
3013- zink: move dynamic state1 pipeline members into substruct
3014- zink: move viewport count into dynamic state1 part of pipeline hash
3015- zink: zero viewport and scissor count in pipeline with dynamic state1
3016- zink: repack zink_rasterizer_hw_state
3017- zink: add clip_halfz to rasterizer hw state
3018- zink: steal a bit from rast_samples in pipeline state
3019- zink: convert rasterizer pipeline components to bitfield
3020- zink: repack zink_gfx_pipeline_state
3021- zink: make zink_gfx_pipeline_state::vertices_per_patch a bitfield
3022- zink: improve threadsafe qbo access
3023- zink: move time query ending out to zink_end_query
3024- zink: don't try to sync previous timestamp query qbo values
3025- zink: more effectively utilize batch_usage for query destruction
3026- zink: avoid pulling in unused push descriptors for cached ubo0
3027- zink: remove extra program ref from cached descriptor updates
3028- freedreno: export supported primtypes
3029- freedreno: remove primconvert
3030- freedreno: ci updates
3031- zink: only update inlinable constants when they change
3032- zink: determine whether the gpu has a resizable BAR at startup
3033- zink: implement PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY when resizable bar not present
3034- radv: use pool stride when copying single query results
3035- radv: ignore dynamic line stipple if line stipple isn't enabled
3036- zink: free local shader nirs on program free
3037- zink: use VK_WHOLE_SIZE for full-sized bufferviews
3038- zink: explicitly end renderpass before running dispatch
3039- zink: move alphaToOne warning to a dynamic warning
3040- zink: add input attachment thingy for spirv builder
3041- zink: emit fbfetch variables as ntv input attachments
3042- zink: add a compiler pass to translate fbfetch -> input attachments
3043- zink: refactor descriptor layout/template creation a little
3044- zink: track fbfetch info on context, update as needed
3045- zink: flag color attachment images as input attachments at creation
3046- zink: add an input attachment to the gfx push set layout to handle fbfetch
3047- zink: fix lazy descriptor deinit
3048- zink: add an input attachment to the gfx push set layout to handle fbfetch
3049- zink: update push descriptor set anytime fbfetch changes
3050- zink: add a renderpass flag for input attachment layout handling
3051- zink: enable fbfetch pipe cap
3052- docs: mark off ES 3.2 for zink
3053- zink: ci updates
3054- zink: destroy shader modules on program free to avoid leaking
3055- aux/cso: always restore states in atom order
3056- gallium/cso: add unbind mask for cso restore
3057- zink: directly pass resource pointer to descriptor state updates
3058- zink: use tc rebind info for buffer replacements
3059- zink: split out stalling from fence-waiting function
3060- zink: remove refcounting from batch states
3061- zink: ensure gfx shader module states are updated when doing a partial recalc
3062- zink: create inner scanout object without scanout binds
3063- zink: dynamic vertex input template
3064- zink: don't use dynamic vertex stride with dynamic vertex input
3065- zink: incrementally hash gfx shader stages
3066- zink: incrementally hash module variants in pipeline
3067- zink: incrementally hash vertex state into pipeline hash
3068- zink: incrementally hash all pipeline component hashes
3069- zink: inline gfx pipeline hash table
3070- zink: track compatible render passes
3071- zink: use compatible renderpass state in pipeline hash
3072- zink: clamp lazy pools to 500 descriptors and allocate more slowly
3073- zink: remove ZINK_HEAP_HOST_VISIBLE_ANY
3074- mesa/st: create new surfaces before destroying old ones when updating attachments
3075- radv: just use UINT64_MAX when getting absolute timeout for that value
3076- radv: add some asserts for descriptor updating
3077- lavapipe: support EXT_primitive_topology_list_restart
3078- docs: update features for lavapipe
3079- lavapipe: unbreak imageless framebuffer
3080- zink: move get_framebuffer() to zink_framebuffer.c
3081- zink: store some image creation metadata to object struct
3082- zink: store some surface metadata to struct during creation
3083- zink: use imageless framebuffers
3084- lavapipe: unbreak push descriptor templates
3085- zink: add a piglit ci job for lazy descriptors
3086- tgsi_to_nir: force int type for LAYER output
3087- zink: hash blend state pointers on creation
3088- zink: remove tcs shader keys
3089- zink: move sample part of fs key to renderpass
3090- zink: add pipeline state flag for determining if output type is points
3091- zink: move point sprite rasterizer bits to unhashed pipeline state
3092- zink: move drawid_broken to unhashed pipeline state
3093- zink: always emit sample id 0 for non-msaa texel pointers in ntv
3094- zink: fix PIPE_CAP_DRAW_PARAMETERS export
3095- zink: add 8bit alu handling
3096- zink: hook up 8/16bit storage exts
3097- zink: lower 32_2x16_split pack/unpack instructions
3098- zink: implement nir_op_pack_half_2x16_split
3099- zink: handle 8/16bit ssbo storage
3100- zink: handle bo struct types that are just a runtime array
3101- zink: fix PIPE_SHADER_CAP_FP16_DERIVATIVES handling
3102- zink: clamp query results to 500 per qbo on 32bit
3103- util/primconvert: force restart rewrites if original primtype wasn't supported
3104- lavapipe: fix primitive restart with indexed indirect draws
3105- zink: hook up VK_EXT_primitive_topology_list_restart
3106- zink: use EXT_primitive_topology_list_restart where available
3107- zink: use dispatch table for (almost) all vulkan calls
3108- zink: fix some pipe caps for max instructions
3109- mesa/st: use uint for instance_divisor instead of int
3110- aux/trace: dump more pipe_vertex_element members
3111- mesa: skip fallback draw call if no primitives are being drawn
3112- aux/trace: use private refcounts for samplerviews
3113- zink: reorganize cached descriptor updating a bit
3114- zink: split out lazy set updating
3115- zink: fall back to lazy descriptors if too many cache misses in a row
3116- zink: add "nofallback" descriptor mode
3117- zink: document ZINK_DESCRIPTORS env var
3118- zink: ci updates
3119- zink: move resource unrefs to flush thread
3120- zink: remove batch params from renderpass functions
3121- zink: remove batch params from resource copy functions
3122- zink: remove unused barrier function
3123- zink: remove batch params from barrier functions
3124- zink: clamp instance divisors to max value
3125- zink: add 8/16bit ubo handling
3126- zink: export PIPE_SHADER_CAP_FP16_CONST_BUFFERS
3127- zink: initialize zink_descriptor_layout_key::use_count on create
3128- Revert "zink: ci updates"
3129- zink: set vbo resource usage on bind
3130- zink: add inline for checking whether a resource has any binds
3131- zink: replace a couple checks for bind counts with new inline
3132- zink: add some asserts for buffer replacement
3133- zink: add a batch ref when replacing a buffer that has binds and usage
3134- zink: move batch ref when possible during buffer replacement
3135- zink: make a local screen var for buffer replace
3136- zink: use better check for determining bufferview rebinds
3137- zink: remove ZINK_RESOURCE_USAGE_STREAMOUT
3138- zink: use bind_stages for pipeline barrier generation
3139- zink: don't generate more pipeline stages if vertex bit is already set
3140- zink: use more accurate generation for buffer barrier pipeline stages
3141- zink: remove bind_stages and bind_history from zink_resource
3142- zink: remove zink_get_resource_for_descriptor()
3143- zink: use descriptor info for ubo hashing
3144- zink: fix ZINK_MAX_DESCRIPTORS_PER_TYPE to stop exploding the stack
3145- zink: add function for decomposing vertex format to single component
3146- zink: decompose vertex attribs into single components when not supported
3147- zink: use smallest int type possible for decompose shader key
3148- zink: hook up dmabuf ext
3149- zink: add dmabuf modifier query hooks for screen
3150- zink: hook up VK_EXT_queue_family_foreign
3151- zink: split import and export fd handle types
3152- zink: set a flag for dmabuf init
3153- zink: handle image creation for dmabufs
3154- zink: fix import pNext attachment during image creation
3155- zink: use foreign queue import for dmabufs
3156- zink: add dmabuf fd handling
3157- zink: fix dmabuf cap export
3158- zink: unconditionally support conditional rendering
3159- zink: fix some return values
3160- zink: add return values for resource usage unsetting
3161- zink: move barrier info to resource object struct
3162- zink: unset barrier info if resource object no longer has usage after reset
3163- zink: unset src access in barriers if there's no src pipeline stages
3164- zink: assert surface geometry
3165- zink: add a resource reference for bufferviews
3166- zink: move surface and bufferview caches onto resources
3167- zink: wrap framebuffer surfaces to preserve gallium expectations
3168- zink: be smarter about fb surface rebinds
3169- zink: force imageless fb rebind  if rebinding an attachment
3170- zink: update surface info when rebinding to storage
3171- zink: add some debug asserts to validate imageless framebuffer correctness
3172- compiler/spirv: add a fail if tex instr coord components aren't dimensional enough
3173- zink: don't copy inner surface refcount
3174- zink: stop setting nr_samples for null surfaces
3175- zink: fix enabled vertex buffer mask calculation
3176- zink: move pending prim type to gfx pipeline struct
3177- zink: make tcs shader generation take screen param
3178- zink: remove ctx references from shader compile path
3179- zink: remove some ctx references from shader/pipeline compile
3180- zink: only update gfx pipeline cache after creating a real pipeline
3181- zink: simplify flagging last vertex stage for updating
3182- zink: move xfb updates to just before draw
3183- zink: move shader keys to be persistent on pipeline state
3184- zink: move uniform size calc for shader keys into keybox
3185- zink: store shader key to shader module
3186- zink: stop using hash table for compute programs
3187- zink: move shader cache to gfx program struct
3188- zink: replace shader module hash table with a list
3189- zink: remove default_variants storage in program struct
3190- zink: split out inlined uniform shader variants into separate cache
3191- zink: simplify shader variant update loop
3192- zink: cap max shader variants with inlined uniforms
3193- zink: store drm fd to screen
3194- zink: unbreak dmabuf handling
3195- zink: pre-filter multi-plane modifiers
3196- zink: pass all modifiers through to image creation
3197- zink: zero VkImageCreateInfo::queueFamilyIndexCount on creation
3198- features: fix listing for GL_ARB_parallel_shader_compile
3199- util/tc: rename tc_replace_buffer_storage_func::num_rebinds and document
3200- zink: don't leak drm fd on drmPrimeFDToHandle failure
3201- zink: disable miplevel tests in ci completely for now
3202- zink: fix regex syntax from previous ci commit
3203- build: fix nine compilation with only zink enabled as a gallium driver
3204- zink: always use type size for query result copy stride
3205- zink: fix ci skips
3206- zink: don't use legacy scanout with modifiers
3207- zink: clean up texture_barrier hook a little
3208- zink: check for pending memory barrier before trying to flush it
3209- zink: enable timeline ext features
3210- zink: split vk debug logging into separate functions
3211- zink: repack zink_render_pass_state
3212- zink: add ZINK_HEAP_DEVICE_LOCAL_LAZY
3213- zink: add ZINK_BIND_TRANSIENT
3214- zink: improve handling of buffer rebinds using tc info
3215- zink: reorder draw state updates
3216- zink: remove fbfetch layout thingy from zs renderpass init
3217- zink: move fb attachment init to new function
3218- zink: stop setting nr_samples for shader image surface creation
3219- zink: implement GL_EXT_multisampled_render_to_texture
3220- docs: mark off GL_EXT_multisampled_render_to_texture for zink
3221- zink: remove duplicated struct member set
3222- zink: force lazy descriptor set rebinds if pipeline compatibility changes
3223- zink: split out bvci creation from object creation
3224- zink: don't add resource to pending barrier set if no barrier will be generated
3225- zink: refactor some shader image code to make it reusable
3226- zink: handle bindless images and samplers in ntv
3227- zink: hook up VK_EXT_descriptor_indexing
3228- zink: implement bindless textures
3229- zink: export PIPE_CAP_BINDLESS_TEXTURE
3230- features: mark off bindless texture for zink
3231- lavapipe: add support for KHR_shader_float_controls
3232- anv: assert that legacy_scanout isn't used with explicit modifiers
3233- wsi/x11: fix uninit value by using zalloc for swapchain
3234- zink: make a local resource var in fb_clears_apply_internal
3235- zink: break out surface info init to helper function
3236- anv: support EXT_primitive_topology_list_restart
3237- zink: stop using VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT
3238- zink: ensure fences are released before reusing them
3239- zink: support 16bit rgbx formats
3240- ci: updates
3241- lavapipe: inherit from vk_image
3242- lavapipe: EXT_4444_formats support
3243- lavapipe: remove display extension support
3244- build: unify vulkan cpp platform args
3245- build: also remove wayland wsi flags from c++ build
3246- features: be explicit about EXT_color_buffer_half_float support
3247- zink: wait on thread queue before destroying context
3248- zink: split out fb state updating to helper function
3249- zink: wait in the flush thread when ETOOMANY batches are out
3250- zink: move semaphore reset handling to submit
3251- zink: remove zink_context::curr_batch
3252- zink: stop leaking buffers on replacement
3253- zink: switch remaining direct access of zink_resource_object::(reads|writes) to util
3254- zink: remove reads/writes members from zink_resource_object
3255- zink: stop leaking resource surface cache hash tables
3256- zink: rework in-use batch states hash table to be a singly-linked list
3257- zink: ci updates
3258- zink: move glx@glx-multi-window-single-context to flakes
3259- radv: don't use invalid stride for triggering vertex state change
3260- radv: dynamically calculate misaligned_mask for dynamic vertex input
3261- radv: pre-calc "simple" dynamic vertex input values
3262- radv: add a mask of bound descriptor buffers for dynamic vertex input
3263- radv: move alpha_adjust into conditional during vertex input updating
3264- aux/pb: add a tolerance for reclaim failure
3265- aux/pb: more correctly check number of reclaims
3266- zink: use static array for detecting VK_TIME_DOMAIN_DEVICE_EXT
3267- zink: add a read barrier for indirect dispatch
3268- zink: fully zero surface creation struct
3269- zink: rescue surfaces/bufferviews for cache hits during deletion
3270- zink: clear descriptor refs on buffer replacement
3271- zink: assert compute descriptor key is valid before hashing it
3272- zink: don't update lazy descriptor states in hybrid mode
3273- zink: move push descriptor updating into lazy-only codepath
3274- zink: add an early return for zink_descriptors_update_lazy_masked()
3275- zink: move last of lazy descriptor state updating back to lazy-only code
3276- zink: detect prim type more accurately for tess/gs lines
3277- zink: don't break early when applying fb clears
3278- zink: only reset zink_resource::so_valid on buffer rebind
3279- zink: don't check rebind count outside of buffer/image rebind function
3280- zink: stop exporting PIPE_SHADER_CAP_FP16_DERIVATIVES
3281- zink: don't add dynamic vertex pipeline states if no attribs are used
3282- zink: fix gl_SampleMaskIn spirv generation
3283- zink: more accurately update samplemask for fs shader keys
3284- nir/lower_samplers_as_deref: rewrite more image intrinsics
3285- zink: add better handling for CUBE_COMPATIBLE bit
3286- zink: use align64 for allocation sizes
3287- zink: set aspectMask for renderpass2 VkAttachmentReference2 structs
3288- zink: always use explicit lod for texture() when legal in non-fragment stages
3289- zink: be more permissive for injecting LOD into texture() instructions
3290- zink: inject LOD for sampler version of OpImageQuerySize
3291- zink: flag renderpass change when toggling fbfetch
3292- zink: don't clamp cube array surfacess to cubes
3293- zink: don't clamp 2D_ARRAY surfaces to 2D
3294- zink: error when trying to allocate a bo larger than heap size
3295- zink: clamp max buffer sizes to smallest buffer heap size
3296- zink: explicitly enable VK_EXT_shader_subgroup_ballot
3297- zink: add more int/float types to cast switching in ntv
3298- zink: force float dest types on some alu results
3299- zink: stop double printing validation messages
3300- zink: add SpvCapabilityStorageImageMultisample for multisampled storage images
3301- zink: reject all storage multisampling if the feature is unsupported
3302- zink: add queue locking
3303- build: add sha1_h to llvmpipe build
3304- zink: set fbfetch state on lazy batch data when enabling it
3305- zink: always use lazy (non-push) updating for fbfetch descriptors
3306- zink: clamp PIPE_SHADER_CAP_MAX_INPUTS for xfb
3307- aux/primconvert: handle singular incomplete restarts
3308- zink: rework cached fbfetch descriptor fallback
3309- aux/trace: fix vertex state tracing
3310- zink: be more consistent about applying module hash for gfx pipeline
3311- zink: update gfx pipeline shader module pointer even if the program is unchanged
3312- zink: always add VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for 3D images
3313
3314Mykhailo Skorokhodov (3):
3315
3316- iris: Fix compute shader leak
3317- iris: Add missed tile flush flag
3318- Revert "iris: add tile cache flush to iris_copy_region"
3319
3320Nanley Chery (41):
3321
3322- anv: Add genX(cmd_buffer_emit_gfx12_depth_wa)
3323- iris: Add genX(emit_depth_state_workarounds)
3324- iris: Update the clear value in cso_z->packets
3325- iris: Emit clear_params as part of cso_z->packets
3326- iris: Update clear_params only when HiZ is enabled
3327- intel: Move the D16 workarounds out of ISL
3328- iris: Use constants for emitting cso_z->packets
3329- iris: Optimize genX(emit_depth_state_workarounds)
3330- anv: Optimize genX(cmd_buffer_emit_gfx12_depth_wa)
3331- intel: Use env_var_as_boolean for INTEL_NO_HW
3332- intel: Parse INTEL_NO_HW for devinfo construction
3333- intel/isl: Add msaa_layout param to isl_tiling_get_info
3334- intel/isl: Define ISL_TILING_4/64 for XeHP
3335- intel/isl: Update image alignments on XeHP
3336- intel/isl: Size Tile64 surfaces with 4 dimensions
3337- intel/isl: Drop extra assert on array_pitch_el_rows
3338- intel/isl: Drop ISL_SURF_USAGE_DISPLAY_*_BIT
3339- intel/isl: Use an allow-list in gfx6_filter_tiling
3340- intel/isl: Update tiling filter functions for XeHP
3341- intel: Support Tile4/64 in depth/stencil state
3342- intel: Support Tile4/64 in surface states
3343- intel/blorp: Fix faked RGB image alignment on XeHP
3344- intel/blorp: Fix Gfx7 stencil surface state valign
3345- intel/isl: Fix halign/valign of uncompressed views
3346- intel/isl: Use a switch for HALIGN/VALIGN encoding
3347- intel: Update surface states for XeHP alignments
3348- intel: Add underscores to HALIGN and VALIGN enums
3349- intel/isl: Disable I915_FORMAT_MOD_Y_TILED on XeHP+
3350- iris: Disable tiled memcpy for Tile4
3351- anv/image: Don't assert that HiZ can be added
3352- iris: Delete iris_resource_get_clear_color
3353- iris: Support NULL aux BOs in fill_surface_state
3354- iris: Split clear color and aux BO checks
3355- iris: Simplify an iris_use_pinned_bo call
3356- iris: Allow NULL aux BOs in aux-state functions
3357- iris: Don't add a clear color BO for MC_CCS
3358- iris: Add and use get_num_planes
3359- iris: Finish aux import in iris_resource_from_handle
3360- anv: Allow HIZ_CCS_WT with subpass self-dependencies
3361- anv: Tile cache flush for depth before fast clear
3362- iris: Tile cache flush for depth before fast clear
3363
3364Neha Bhende (4):
3365
3366- aux/draw: use nir_to_tgsi for draw shader in llvm path
3367- svga/drm: use pb_usage_flags instead of pipe_map_flags in vmw_svga_winsys_buffer_map
3368- auxiliary/indices: convert primitive type PIPE_PRIM_PATCHES
3369- st: Fix 64-bit vertex attrib index for TGSI path
3370
3371Neil Roberts (1):
3372
3373- v3d: Update prim_counts when prims generated query in flight without TF
3374
3375Olivier Fourdan (1):
3376
3377- radeonsi: Check aux_context on si_destroy_screen()
3378
3379Paulo Zanoni (10):
3380
3381- iris: mark the workaround_bo as asynchronous
3382- iris: don't bump the seqno for the workaround_bo
3383- iris: assign bo->index to the aux map BOs too
3384- iris: extract the code that adds BOs to the batch lists
3385- iris: add the workaround_bo directly to the batch
3386- iris: use add_bo_to_batch() when adding batch->bo
3387- iris: syncobjs are now owned by bufmgr instead of screen
3388- iris: give each screen of a bufmgr a unique ID
3389- iris: switch to explicit busy tracking
3390- iris: signal the syncobj after a failed batch
3391
3392Pavel Asyutchenko (3):
3393
3394- vulkan/overlay: Fix violation of VUID-VkMappedMemoryRange-size-01389
3395- llvmpipe: fix crash when doing FB fetch + gl_FragDepth write in one shader
3396- lavapipe: Fix vkWaitForFences for initially-signalled fences
3397
3398Philipp Zabel (3):
3399
3400- etnaviv: fix gbm_bo_get_handle_for_plane for multiplanar images
3401- etnaviv: fix dirty bit check for baselod emission
3402- etnaviv: add mov for direct depth store output from load input
3403
3404Pierre Moreau (5):
3405
3406- clover: Do not advertise OpenCL x.y when unsupported
3407- clover/spirv: Increase max amount of function args
3408- clover/spirv: Properly size 3-component vector args
3409- clover/api: Interleave details in dispatch table
3410- clover/nir: Set constant buffer pointer size to host
3411
3412Pierre-Eric Pelloux-Prayer (78):
3413
3414- mesa: fix bindless uniform samplers update
3415- dlist: don't handle unmerged draws as merged
3416- mesa: move gl_program::is_arb_asm to shader_info
3417- radeonsi: preserve derivatives after discards for ARB shaders
3418- gallium/va: don't use key=NULL in hash tables
3419- amd/registers: fix fields conflict detection
3420- dlist: upload vertices in compile_vertex_list
3421- dlist: implement vertices deduplication
3422- radeonsi: add a script to run piglit/glcts/deqp tests
3423- radeonsi: add expected tests results for Navi10 GPU
3424- st/pbo: only use x coord when reading a PIPE_TEXTURE_1D
3425- st/pbo: set nir_tex_instr::is_array field
3426- st/pbo: add a fast pbo download code-path
3427- radeonsi: fix test script's output
3428- radeonsi: add -t option to the test script
3429- radeonsi: don't create an infinite number of variants
3430- nir: add a pass to optimize "gl_FragDepth = gl_FragCoord.z" away
3431- radeonsi/test: fix test script args handling
3432- radeonsi/test: format radeonsi-run-test.py with black
3433- radeonsi/test: allow to pass a filename as a test filter value
3434- radeonsi/test: prettier output
3435- radeonsi/test: add Sienna Cichlid expected results
3436- vbo/dlist: simplify add_vertex function
3437- vbo/dlist: apply start_offset after indices construction
3438- vbo/dlist: move VAO update at the end
3439- vbo/dlist: use buffer_in_ram_size
3440- vbo/dlist: use a single buffer object
3441- vbo/dlist: remove vbo_save_vertex_store::bufferobj
3442- vbo/dlist: don't store prim_store
3443- vbo/dlist: use prim_store directly
3444- vbo/dlist: realloc prims array instead of free/malloc
3445- vbo/dlist: don't force list compilation if out of prim space
3446- vbo/dlist: remove vbo_save_context::buffer_ptr
3447- vbo/dlist: reset vertex_store::used in reset_counters
3448- vbo/dlist: remove vbo_save_context::buffer_map
3449- vbo/dlist: realloc vertex stores
3450- vbo/dlist: remove vbo_save_context::max_vert
3451- vbo/dlist: limit allocation sizes
3452- vbo/dlist: don't force list compilation if out of vertex space
3453- vbo/dlist: rework out of memory
3454- vbo/dlist: fix max_index_count value
3455- vbo/dlist: remove vbo_save_copied_vtx
3456- vbo/dlist: remove vbo_save_context::vert_count
3457- vbo/dlist: add documentation
3458- vbo/dlist: remove unused functions
3459- vbo/dlist: rework buffer sizes
3460- vbo/dlist: rework primitive store handling
3461- vbo/dlist: rework vertex_store management
3462- vbo/dlist: fix indentation in vbo_save_api.c
3463- vbo/dlist: reallocate the vertex buffer on vertex upgrade
3464- Revert "ci/v3d: add piglit flake"
3465- radeonsi/test: fix typo in the test script
3466- radeonsi/test: update expected results
3467- radeonsi/sqtt: export wave size and scratch size
3468- radeonsi/sqtt: add si_se_is_disabled
3469- radeonsi/test: don't require a folder name
3470- radeonsi/test: use -t for deqp tests
3471- radeonsi/test: print default values in help
3472- radeonsi/test: allow to specify a baseline folder
3473- radeonsi/test: sanitize output_folder
3474- radeonsi/test: add --gpu to select the GPU to test
3475- radeonsi/test: add Raven expected results
3476- radeonsi/test: add sanity checks
3477- gallium: add PIPE_CAP_PREFER_BACK_BUFFER_REUSE
3478- loader/dri3: avoid reusing the same back buffer with DRI_PRIME
3479- radeonsi: disable PIPE_CAP_PREFER_BACK_BUFFER_REUSE
3480- radeonsi: don't clear G_028644_OFFSET
3481- radeonsi: implement si_sdma_copy_image for gfx7+
3482- radeonsi: add an async compute context
3483- gallium: add a is_dri_blit_image bool to pipe_blit_info
3484- radeonsi: make the DRI_PRIME dGPU -> iGPU copy async
3485- radeonsi: use viewport offset in quant_mode determination
3486- radeonsi: treat nir_intrinsic_load_constant as a VMEM operation
3487- radeonsi/sdma: fix bogus assert
3488- ac/surface: don't validate DCC settings if DCC isn't possible
3489- vbo/dlist: free copied.buffer if no vertices were copied
3490- mesa: always call _mesa_update_pixel
3491- radeonsi/sqtt: fix shader stage values
3492
3493Qiang Yu (20):
3494
3495- nir/inline_uniforms: add uniforms in condition atomically
3496- nir/inline_uniforms: support vector uniform
3497- nir/loop_analyze: move nir_is_supported_terminator_condition() to header
3498- nir/loop_analyze: record induction variables for each loop
3499- nir/loop_analyze: skip unsupported induction variable early
3500- nir/inline_uniforms: support loop
3501- egl/dri2: seperate EGLImage validate and lookup
3502- gbm/dri: implement image lookup extension version 2
3503- gallium/dri: add dri_screen egl image validate hooks
3504- gallium/api: add validate_egl_image interface
3505- mesa: add ValidateEGLImage driver callback
3506- mesa: fix glthread deadlock when EGL multi thread shared context
3507- nir/lower_io_to_vector: check centroid & sample when merge variable
3508- nir/linker: pack varyings with different interpolation qualifier
3509- radeonsi: enable nir option pack_varying_options
3510- radeonsi: fix ps SI_PARAM_LINE_STIPPLE_TEX arg
3511- loader/dri3: fix swap out of order when changing swap interval
3512- mesa/st: delay nir spirv link
3513- nir/linker: support uniform when optimizing varying
3514- nir/linker: rename replace_constant_input to replace_varying_input_by_constant_load
3515
3516Quantum (1):
3517
3518- main: allow all external textures for BindImageTexture
3519
3520Rhys Perry (108):
3521
3522- aco: don't create v_madmk_f32/v_madak_f32 from v_fma_legacy_f16
3523- ac/llvm: implement v2f16 fsat
3524- radv: set image_dim and image_array intrinsic indices
3525- aco: use image_dim and image_array intrinsic indices
3526- aco: calculate correct register demand for branch instructions
3527- nir/algebraic: fix imod by negative power-of-two
3528- nir/algebraic: don't optimize umod/imod/irem if lower_bitops=true
3529- nir/algebraic: add optimizations for imul(a, INT_MIN)
3530- nir/search: don't consider INT_MIN a negative power-of-two
3531- nir/algebraic: improve irem by power-of-two optimization
3532- nir/idiv_const: improve idiv(n, INT_MIN)
3533- nir/idiv_const: optimize imod/irem
3534- nir: fix signed overflow for iadd constant folding
3535- nir/tests: add tests for umod/imod/irem optimizations
3536- radv: enable DCC with signedness reinterpretation
3537- nir: remove src/compiler/nir/nir_control_flow
3538- nir: swap fadd operands in nir_atan()
3539- spirv: swap fadd operands in build_asin() and matrix_multiply()
3540- nir/algebraic: add various ffma optimizations
3541- nir/algebraic: reassociate add chains for more MAD/FMA-friendly code
3542- nir/algebraic: add is_used_once to dot product reassociation optimization
3543- nir: add ffma creation helpers
3544- nir: create ffma from builders more often
3545- nir: lower fdot to ffma if lower_ffma=false
3546- spirv: create ffma more often
3547- nir,glsl_to_nir: use nir_fdot()
3548- ci: update trace hashes
3549- aco: fix validation of DPP v_cndmask_b32/v_addc_co_u32
3550- aco: add can_use_DPP() and convert_to_DPP()
3551- aco: move a bunch of helpers into aco_ir.h/aco_ir.cpp
3552- aco: make optimize_postRA() work across blocks
3553- aco: handle DPP in the optimizer
3554- aco: combine DPP into VALU before RA
3555- aco: combine DPP into VALU after RA
3556- aco/tests: add tests for pre-RA DPP combining
3557- aco/tests: add tests for post-RA DPP combining
3558- aco: fix vectorized 16-bit load_input/load_interpolated_input
3559- aco: remove label_extract if the extract is used by a non-VALU
3560- aco/scheduler: allow moving down VMEM stores to below VMEM loads
3561- nir/lower_io: use nir_vector_insert_imm()
3562- radv: use nir_vector_insert_imm in lower_intrinsics
3563- nir: consider push constant loads as always dynamically uniform
3564- nir/gcm: pin some instructions which require uniform sources
3565- aco: include utility in isel
3566- aco: don't constant propagate to DPP instructions
3567- aco/tests: test copy propagation with DPP instructions
3568- aco: remove DPP when applying constants/literals/sgprs
3569- aco: don't coalesce constant copies into non-power-of-two sizes
3570- aco/spill: add temporary operands of exec phis to next_use_distances_end
3571- nir: separate lower_add_sat
3572- nir: add sdot_2x16 and udot_2x16 opcodes
3573- spirv: use sdot_2x16 and udot_2x16 opcodes
3574- ac/gpu_info: add has_accelerated_dot_product
3575- ac/llvm: implement nir_op_pack_32_4x8
3576- ac/llvm,radv: implement uadd_sat/iadd_sat
3577- ac/llvm: implement udot_4x8/sdot_4x8/udot_2x16/sdot_2x16 opcodes
3578- radv: refactor handling of nir_options
3579- radv,aco: implement iadd_sat
3580- aco: implement nir_op_pack_32_4x8
3581- aco: implement udot_4x8/sdot_4x8/udot_2x16/sdot_2x16 opcodes
3582- aco/ra: allow v1b operands with 16-bit instructions
3583- radv: expose VK_KHR_shader_integer_dot_product
3584- aco/ra: don't use ds_write_b8_d16_hi/ds_write_b16_d16_hi on GFX8
3585- nir: fix serialization of loop/if control
3586- radv: fix pipeline caching with robust buffer access
3587- aco: add RegClass::is_linear_vgpr helper
3588- aco: add and use RegClass::resize helper
3589- aco: rewrite print_reg_class()
3590- aco: find a scratch register for sub-dword copies on GFX7 if scc is empty
3591- aco: find scratch reg for sub-dword psuedo instructions which read sgprs
3592- aco/tests: fix finish_ra_test()
3593- aco/tests: add regalloc.scratch_sgpr.create_vector
3594- aco: implement linear vgpr copies
3595- aco: allow live-range splits of linear vgprs in top-level blocks
3596- aco/nops: use up-to-date mask_size
3597- aco/nops: create handle_raw_hazard_instr helper
3598- aco/nops: add State
3599- aco/nops: fix handle_raw_hazard_internal when visiting the current block
3600- nir/algebraic: distribute fmul(fadd(a, b), c) when b and c are constants
3601- aco/tests: add idep_amdgfxregs_h
3602- nir: add nir_src_components_read()
3603- nir/opt_if: add opt_if_rewrite_uniform_uses
3604- radv: don't require a GS copy shader to use the cache with NGG VS+GS
3605- radv: workaround incorrect image format with World War Z
3606- radv: move ngg culling determination earlier
3607- nir: add _amd suffix to fragment_mask_fetch and fragment_fetch texops
3608- nir/lower_tex: add lower_to_fragment_fetch_amd
3609- radv: don't create blit pipelines for multisampled 3D images
3610- aco: return 0x76543210 for NULL FMASK fetch
3611- ac/nir: return 0x76543210 for NULL FMASK fetch
3612- aco: use correct dim for FMASK fetches
3613- radv,aco: use lower_to_fragment_fetch
3614- radv,aco: don't include FMASK in the storage descriptor
3615- ac/llvm: fix image_samples with null descriptors
3616- radv/llvm: fix parameter index for layer exports
3617- aco: fix vadd32() when b is neither a constant nor temporary
3618- radv: add and use radv_vs_input_alpha_adjust
3619- radv: add radv_translate_vertex_format()
3620- radv: add radv_shader_variant_get_va and radv_find_shader_variant helpers
3621- radv: add segregated fit shader memory allocator
3622- radv: move VS specific input SGPRs first
3623- radv: implement dynamic vertex input state using vertex shader prologs
3624- radv: add pre-compiled vertex shader prologs for common states
3625- aco: implement aco_compile_vs_prolog
3626- aco: implement VS input loads with prologs
3627- radv: implement VK_EXT_vertex_input_dynamic_state
3628- radv: enable VK_EXT_vertex_input_dynamic_state
3629- aco: consider pseudo-instructions reading exec in needs_exec_mask()
3630
3631Rob Clark (81):
3632
3633- freedreno/registers: update dsi registers to support tpg
3634- freedreno/a6xx: Add missing PC_CCU_INVALIDATE_x
3635- driconfig: Add support for device specific config
3636- driconf: Add force_gl_renderer override
3637- freedreno: Support per-device driconf overrides
3638- freedreno: Unleash the dragon!
3639- freedreno: Move generated device table to .h
3640- freedreno: Drop device_id
3641- freedreno: Reduce use of screen->gpu_id
3642- freedreno/ir3: Reduce use of compiler->gpu_id
3643- freedreno/ir3/lower_io_offsets: Drop gpu_id param
3644- freedreno/all: Introduce fd_dev_id
3645- freedreno: Make chip_id 64b
3646- freedreno: Device matching based on chip_id
3647- freedreno: Use correct key for binning pass shader
3648- freedreno: Add a680 support
3649- freedreno/cffdec: Fix indentation
3650- freedreno/cffdec: Fix gpuaddr comparision
3651- freedreno/crashdec: Decode full RB in verbose mode
3652- freedreno/crashdec: Quiet spammy print in query mode
3653- freedreno/common: Fix comment typo
3654- freedreno/a6xx: Set type for PC_HS_INPUT_SIZE
3655- freedreno/a6xx: Register updates for a6xx gen3
3656- freedreno/a6xx: Rast updates for a6xx gen3
3657- freedreno/a6xx: Fix streamout with tess_use_shared
3658- freedreno/a6xx: Updates for tess_use_shared
3659- freedreno/a6xx: Register updates for a6xx gen4
3660- freedreno/a6xx: Fix a6xx gen4 compute shaders
3661- freedreno/ci: Add a status variable for CI farm
3662- freedreno/ci: Take fd farm offline for moving day
3663- freedreno/ci: Bring fd farm back online after move
3664- clover: Don't remove sampler/image uniforms
3665- nir/lower_amul: Handle load/store_global
3666- nir/lower_amul: Fix usage of nir_foreach_src()
3667- freedreno/ir3: Update physical_successors after retargetting jumps
3668- freedreno/ir3: Fix physical successors for break out of loop
3669- freedreno/ir3: Fix double printing of branch suffix
3670- freedreno/ir3: Validate physical successors
3671- freedreno/ir3: Improve error msg for block level validation
3672- freedreno/ir3: Update physical_predecessors for streamout block
3673- freedreno: Remove unused function
3674- freedreno: Cleanup primtypes/primtypes_mask
3675- freedreno: Move a6xx specific screen init
3676- freedreno/drm: Garbage collect unused bo_cache
3677- freedreno/drm: Rename bo->flags to bo->reloc_flags
3678- freedreno/drm: Consider allocation flags in bo-cache
3679- freedreno/drm: Don't return shared/control bo's to cache
3680- freedreno/drm: Add cached-coherent bo support
3681- freedreno/drm: Use cached-coherent cmdstream buffers
3682- freedreno/drm: Use cached-coherent for control bo
3683- freedreno: Used cached coherent for staging resources
3684- freedreno: Add perf warning for WC readback
3685- freedreno/a6xx: Pre-bake SO-disable stateobj
3686- freedreno/ir3: Fix sched debug msgs
3687- freedreno/ir3: Cleanup liveness lifetime
3688- freedreno/ir3: Fix generation check
3689- freedreno/computerator/a4xx: Fix enum mismatch warning
3690- freedreno: Add info->a6xx.has_shading_rate
3691- turnip: Fix unitialized cs->device
3692- turnip: Rast updates for a6xx gen4
3693- turnip: Fix a6xx gen4 compute shaders
3694- isaspec: Remove unused leftovers
3695- isaspec: Fix comment
3696- isaspec: Split encode_bitset() into it's own template
3697- isaspec: De-duplicate bitset encoding
3698- freedreno: Get shader variant msgs in perf debug output
3699- freedreno: Optimize no-op submits
3700- freedreno: Fix some indentation
3701- freedreno/ir3: Remove used unused
3702- freedreno: Handle cso==NULL in bind_sampler_states
3703- freedreno: Handle PIPE_FORMAT_NONE buffers
3704- gallium/u_threaded: Get reset status without sync
3705- freedreno: Disable TC syncs for get_device_reset_status()
3706- zink: Disable TC syncs for get_device_reset_status()
3707- Revert "freedreno: Fix autotune regression since batch-cache rework."
3708- Revert "freedreno: Remove dead fd_batch_reset()."
3709- Revert "freedreno: Use a BO bitset for faster checks for resource referenced."
3710- Revert "freedreno: Remove the submit lock locking."
3711- Revert "freedreno: Move the batch cache to the context."
3712- gallium/u_threaded: Split out options struct
3713- freedreno/drm: Move pipe unref after fence removal
3714
3715Rohan Garg (7):
3716
3717- virgl: Add more meta data to cached resources
3718- Revert "Revert "virgl: Cache depth and stencil buffers""
3719- virgl: Enable caching for sampler views and render targets
3720- i965: Take into account the offset when marking a valid data region
3721- i965: Write a custom allocator for the intel memobj struct
3722- ci: Fix a minor issue in prepare-artifacts.sh script
3723- ci: Use FDO_DISTRIBUTION_TAG where possible
3724
3725Roland Scheidegger (7):
3726
3727- llvmpipe/linear: don't try to use tgsi analysis for nir shaders
3728- llvmpipe: always use draw_regions intersection
3729- llvmpipe: fix nir dot products (fsum op)
3730- aux/cso: try harder to keep cso state in sync on cso context unbind
3731- gallium: add rasterizer depth_clamp enable bit
3732- lavapipe: implement VK_EXT_depth_clip_enable
3733- lavapipe: Fix crashes with transform feedback when using VK_WHOLE_SIZE
3734
3735Roman Stratiienko (7):
3736
3737- kmsro: Add 'kirin' driver support
3738- AOSP: Extract version from libdrm instead of hardcoding it.
3739- AOSP: Upgrade libLLVM dependency to v12
3740- AOSP: Update timestamps of target binaries
3741- AOSP: Add panfrost vulkan library suffix
3742- lima: Implement lima_resource_get_param() callback
3743- meson_options: Bump max value of platform-sdk-version to 31
3744
3745Ryan Neph (1):
3746
3747- virgl: disallow null-terminated debug messages
3748
3749Sagar Ghuge (19):
3750
3751- nir: Add new opcode for ternary addition
3752- intel/compiler: Add support for ternary add instruction on XeHP
3753- intel/compiler: Make decision based on source type instead of opcode
3754- intel/compiler: Allow ternary add to promote source to immediate
3755- nir: Add optimizations for iadd3
3756- intel/compiler: Enable has_iadd3 option on XeHP
3757- intel/compiler: Fix missing break in switch
3758- intel/compiler: Handle ternary add in lower_simd_width
3759- genxml/gen12: Update debug register fields according to HW
3760- genxml/gen125: Update debug register fields according to HW
3761- anv: Fix VK_EXT_memory_budget to consider VRAM if available
3762- intel/compiler: Add 64-bit A64 float logical opcode support
3763- anv: Advertise support for shaderBufferFloat64AtomicMinMax
3764- intel/compiler: Add support to handle 64-bit atomics with A32 messages
3765- anv: No need to lower to A64 messages for 64-bit atomics
3766- iris: Enable atomic operations on compressed surfaces
3767- intel/genxml: Add new bit fields Render Compression Format
3768- isl: Add helper to return render compression format encoding
3769- isl: Use software programmable render compression format encoding
3770
3771Samuel Pitoiset (215):
3772
3773- radv: only init the TC-compat ZRANGE metadata for the depth aspect
3774- radv: fix bounds checking for zero vertex stride on GFX6-7
3775- radv: report APUs as discrete GPUs for Red Dead Redemption 2
3776- radv: fix specifying the stencil layout for separate depth/stencil layouts
3777- radv: allow unused VkSpecializationMapEntries
3778- aco: implement VK_EXT_shader_atomic_float2
3779- radv: implement VK_EXT_shader_atomic_float2
3780- radv: reduce number of emitted DWORDS for contiguous context registers
3781- radv: do not use radeon_set_context_reg_seq() for only one register
3782- radv: init radv_image::l2_coherent when creating the layout
3783- ac: introduce a structure to store DCC address equations for GFX9
3784- amd/addrlib: expose CMASK address equations to drivers on GFX9
3785- ac/surface: add tests for CmaskAddrFromCoord prototype outside of addrlib
3786- ac/surface: store CMASK pitch and height to radeon_surf
3787- ac/surface: copy the CMASK equation to radeon_surf
3788- ac/surface: implement CmaskAddrFromCoord in NIR
3789- radv: fix selecting the first active CU when profiling with SQTT
3790- radv: fix missing cache flushes when clearing HTILE levels on GFX10+
3791- amd/addrlib: expose CMASK address equations to drivers on GFX10+
3792- ac/surface: add tests for CmaskAddrFromCoord on GFX10+
3793- ac/surface: implement CmaskAddrFromCoord in NIR on GFX10+
3794- radv: rework DCC, FMASK and FCE decompress path
3795- radv: perform a FCE for MSAA images that might have been fast-cleared
3796- radv: allow DCC MSAA fast clears if a FCE is needed
3797- radv: fix initializing the DS clear metadata value for separate aspects
3798- radv: remove unnecessary FIXME about custom sample locations
3799- radv: flush caches before performing separate depth/stencil aspect init
3800- radv: bump maxFragmentSizeAspectRatio to 2
3801- radv: disable fragmentShadingRateWithCustomSampleLocations
3802- radv: bump maxFragmentShadingRateCoverageSamples to 32
3803- radv: fix reported sample counts for VRS 1x1
3804- radv: use more explicit DCC clear codes
3805- radv: pass an image view to vi_get_fast_clear_parameters()
3806- radv: add RADV_DCC_CLEAR_SINGLE
3807- radv: determine if an image support fast clears using comp-to-single
3808- radv: implement DCC fast clears with comp-to-single
3809- radv: skip FCE for images that are fast-cleared using comp-to-single
3810- radv: enable DCC fast-clears with comp-to-single on GFX10+
3811- radv: allow fast clears for concurrent images if comp-to-single is supported
3812- radv: fix pre-computing viewport xform when setting new viewports
3813- radv: fix fast clearing depth images with mips on GFX10+
3814- radv: determine if an image support comp-to-single at creation time
3815- radv: remove useless check about the FCE predicate offset
3816- radv: do not allocate the FCE predicate for images that use comp-to-single
3817- radv: remove unnecessary check in radv_layout_is_htile_compressed()
3818- radv: remove incorrect comment about compressed writes to HTILE on GFX10+
3819- radv: fix copying depth+stencil images on compute
3820- radv: remove unused fast depth-stencil gfx clear path with expclear
3821- radv: remove useless DISABLE_{ZMASK,SMEM}_EXPCLEAR_OPTIMIZATION state
3822- radv: don't use SQ_NON_EVENT before GE_PC_ALLOC for better perf on Navi1x
3823- radv: allocate shaders to 32-bit address to skip PGM_HI
3824- nir/opt_algebraic: optimize fmax(-fmin(b, a), b) -> fmax(b, -a)
3825- Revert "nir/opt_algebraic: optimize fmax(-fmin(b, a), b) -> fmax(b, -a)"
3826- nir/opt_algebraic: optimize fmax(-fmin(b, a), b) -> fmax(fabs(b), -a)
3827- ci: update the list of expected failures/skips for RADV
3828- radv: allow storage images with VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 on GFX10.3+
3829- ci: update the list of skipped tests for Fiji/RADV
3830- radv: remove outdated radv_finishme() in the HW resolve path
3831- radv: remove useless check about number of samples in the HW resolve path
3832- radv: remove unecessary radv_finishme() for invalid color formats
3833- radv: disable DCC image stores on Navi12-14 for displayable DCC corruption
3834- radv: do not load/store the clear value for comp-to-single images
3835- radv: do not allocate a clear value for images that support comp-to-single
3836- radv: add support for clearing multi layers with normal gfx clear path
3837- vulkan: Update the XML and headers to 1.2.190
3838- radv: advertise VK_EXT_primitive_topology_list_restart
3839- ac/llvm: adjust assertion for nir_intrinsic_terminate
3840- ac/llvm: fix huge alignment when loading from shared memory
3841- radv/llvm: fix invalid IR when converting triangle strips to indices
3842- radv: use radeon_set_sh_reg_seq() more for initial gfx/compute state
3843- radv: call nir_lower_int64() for LLVM
3844- radv: track if shader image 32-bit float atomics are enabled
3845- radv: do not disable DCC for storage images if atomics aren't enabled
3846- vulkan: add common entrypoints for sparse image requirements/properties
3847- radv: use common entrypoints for sparse image requirements/properties
3848- radv: use common vkGetPhysicalDevice{Image}FormatProperties()
3849- radv: use common vkGetDeviceQueue()
3850- radv: use common vkBind{Buffer,Image}Memory()
3851- radv: use common vkGet{Buffer,Image}MemoryRequirements()
3852- radv: fix determining the maximum number of waves that can use scratch
3853- radv: remove NGG streamout support in LLVM
3854- radv: allow to conditionally read HTILE value when copying VRS rates
3855- radv: optimize copying VRS rates to the global HTILE buffer
3856- radv: pass the HTILE buffer to radv_copy_vrs_htile()
3857- radv: optimize VRS when no depth stencil attachment is bound
3858- radv/llvm: rework VS input loads and implement the callback
3859- ac/llvm: fix build with LLVM 14
3860- radv: add MSAA support to the comp-to-single fast clear path
3861- radv: enable comp-to-single for MSAA images
3862- radv: reduce SQTT traffic when instruction timing is disabled
3863- radv/llvm: fix using Wave32
3864- radv/llvm: fix vertex input fetches with 16-bit floats
3865- ac/llvm: implement nir_intrinsic_image_deref_atomic_{fmin,fmax}
3866- ac/llvm: implement nir_intrinsic_ssbo_atomic_{fmin,fmax}
3867- ac/llvm: implement nir_intrinsic_shared_atomic_{fmin,fmax}
3868- ac/llvm: implement nir_intrinsic_global_atomic_{fmin,fmax}
3869- radv: advertise EXT_shader_atomic_float2 with LLVM 14+
3870- radv/ci: add a list of expected failures for VanGogh
3871- ac/rgp, radv: report scratch memory size for shaders
3872- ac/rgp, radv: report wave size for shaders
3873- radv: rename radv_decompress_depth_stencil()
3874- radv: implement depth/stencil expand on compute
3875- radv: add support for copying compressed depth/stencil images on compute
3876- radv: keep depth/stencil images compressed for TRANSFER_DST on compute
3877- radv: replicate THREAD_TRACE_CTRL config when stopping SQTT
3878- radv: make the SQTT BO a resident buffer
3879- radv: remove useless assertions in the SQTT path
3880- radv: do not use a different disk cache key for LLVM
3881- radv: do not store meta shaders to the default shader disk cache
3882- radv: remove useless shader variant key copies for VS+TCS
3883- radv: stop loading invocation ID for NGG vertex shaders
3884- radv: remove unused radv_tcs_variant_key:primitive_mode
3885- radv: stop using the shader keys for as_ls/as_es/as_ngg when possible
3886- radv: remove useless as_ngg_passthrough init when lowering NGG in NIR
3887- radv/llvm: stop using vs_common_out.as_ngg_passthrough
3888- radv: add export_clip_dists for VS and TES to radv_shader_info
3889- radv,aco: stop using vs_common_out.export_clip_dists
3890- radv/llvm: stop using vs_common_out.export_prim_id
3891- radv: store the topology instead of the output primitive type in the key
3892- radv: store the CS subgroup size to radv_shader_info
3893- radv: rework layout of radv_pipeline_key
3894- radv: pass the pipeline key to the backend compilers
3895- radv: cleanup uses of VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT
3896- radv: remove unused radv_nir_compiler_options fields
3897- radv: remove unnecessary vs_common_out.export_viewport_index
3898- radv: remove unnecessary vs_common_out.export_layer_id
3899- radv: remove unnecessary radv_shader_info:{vs,tes}.export_prim_id
3900- radv: remove unnecessary init of outinfo.export_prim_id for GS
3901- radv: remove vs_common_out:export_prim_id
3902- radv: remove vs_common_out:export_clip_dists
3903- radv: pass the pipeline key to the shader info pass
3904- radv: use the pipeline key more when possible
3905- radv: stop using vs_common_out.{as_es/as_ls/as_ngg*} shader keys
3906- radv: remove radv_shader_variant_key completely
3907- radv: fix missing features for BDA
3908- radv: remove the LLVM stat about the number of private VGPRs
3909- radv: fix adjusting the frag coord when RADV_FORCE_VRS is enabled
3910- radv: fix selecting the hash when RADV_FORCE_VRS is enabled
3911- radv: make sure to load the Primitive ID for VS+GS as NGG
3912- radv: fix vk_object_base_init/finish for the internal pipeline cache
3913- radv: fix vk_object_base_init/finish for internal buffer views
3914- radv: fix vk_object_base_init/finish for the internal push descriptors
3915- radv: fix vk_object_base_init/finish for internal image views
3916- radv: fix vk_object_base_init/finish for internal buffers
3917- radv: set export_clip_dists for the GS copy shader
3918- radv: determine the VS output parameters in the shader info pass
3919- radv: disable the DX10 diamond test for better line rasterization perf
3920- radv: get the float controls execution mode from NIR for LLVM
3921- radv: do not declare an extra user SGPR for sample positions and PS
3922- radv: move ngg early prim export determination earlier
3923- move: move ngg lds bytes determination earlier
3924- radv: move ngg passthrough determination earlier
3925- radv: remove unnecessary ac_nir_ngg_config output struct
3926- radv: constify radv_shader_info for radv_lower_{io_to_mem,ngg}()
3927- radv: move forcing discard to demote to the graphics pipeline key
3928- radv: move forcing invariant geometry to the graphics pipeline key
3929- radv: move forcing MRT output NaN fixup to the graphics pipeline key
3930- radv: move forcing VRS rates to the graphics pipeline key
3931- radv: move use of NGG to the graphics pipeline key
3932- radv: remove redundant check of needs_multiview_view_index for PS
3933- radv: remove useless loads_dynamic_offsets when emitting push constants
3934- radv: determine the ES type (VS or TES) for GS earlier
3935- ci: enable building RADV in debian-release
3936- radv: fix vk_object_base_init/finish for push descriptors
3937- radv: fix writing combined image/sampler descriptor
3938- radv: fix vk_object_base_init/finish for internal device memory objects
3939- radv/llvm: fix exporting VS parameters
3940- radv: do not set TRAP_PRESENT(1) for fragment shaders
3941- aco: fix load_barycentric_at_{offset,sample}
3942- radv: declare the shader user locs from the shader arguments
3943- radv: determine if a shader uses indirect descriptors from the SGPR loc
3944- radv: determine if a shader loads push constants from the SGPR loc
3945- radv: remove unnecessary radv_shader_info:base_inline_push_consts
3946- radv: remove unnecessary radv_shader_info:num_inline_push_consts
3947- radv: do not overwrite loads_push_constants when declaring shader args
3948- radv: gather more information about PS in the shader info pass
3949- radv,aco: compute and store the SPI PS input in radv_shader_info
3950- aco: prevent using undeclared shader arguments for PS
3951- radv,aco: remap PS inputs when declaring shader arguments
3952- aco: constify radv_shader_{info,args}
3953- radv: remove radv_pipeline::layout
3954- radv: implement vkGetDeviceBufferMemoryRequirementsKHR()
3955- radv: implement vkGetDeviceImageMemoryRequirementsKHR()
3956- radv: implement vkGetDeviceImageSparseMemoryRequirementsKHR()
3957- radv: advertise VK_KHR_maintenance4
3958- radv: use nir_image_deref_{load,store} in the DCC retile compute path
3959- radv: remove useless coordinate computation in the compute clear path
3960- radv: remove few useless nir_channels() in meta shaders
3961- radv: use get_global_ids() to compute coordinates in meta shaders
3962- radv: use nir_ssa_undef() for unused image components in meta shaders
3963- radv: move ac_shader_config to radv_shader_binary instead of legacy
3964- radv: store the post-processed shader binary config to the cache
3965- radv,aco: remove nir_intrinsic_load_layer_id
3966- radv: remove no-op about the view index in the shader info pass
3967- radv: rename needs_multiview_view_index to uses_view_index
3968- radv: stop gathering output GS info for vertex shaders
3969- aco: cleanup setup_vs_output_info()
3970- radv: do not initialize is_ngg_passthrough for geometry shaders
3971- radv: remove duplicated code about NGG passthrough determination
3972- radv: switch to VK_FORMAT_FEATURE_2_XXX/VkFormatProperties3KHR
3973- radv: implement VK_KHR_format_feature_flags2
3974- aco: do not return an empty string when disassembly is not supported
3975- radv: fix removing PSIZ when it's not emitted by the last VGT stage
3976- radv: fix OpImageQuerySamples with non-zero descriptor set
3977- radv: do not remove PSIZ for streamout shaders
3978- aco: fix invalid IR generated for b2f64 when the dest is a VGPR
3979- aco: fix emitting stream outputs when the first component isn't zero
3980- aco: fix loading 64-bit inputs with fragment shaders
3981- radv: re-emit prolog inputs when the nontrivial divisors state changed
3982- radv: fix build errors with Android
3983- aco: only load streamout buffers if streamout is enabled
3984- radv: do not expose buffer features for depth/stencil formats
3985- radv/sqtt: fix GPU hangs when capturing from the compute queue
3986- radv: fix a sync issue on GFX9+ by clearing the upload BO fence
3987- nir: fix constant expression of ibitfield_extract
3988
3989Sergii Melikhov (2):
3990
3991- iris: Fix Null pointer dereferences
3992- dri2: Fix Null pointer dereferences
3993
3994Shmerl (1):
3995
3996- vulkan/overlay: don't display histogram and range for device and format
3997
3998Simon Ser (18):
3999
4000- EGL: sync headers with Khronos
4001- egl: add support for EGL_EXT_device_drm_render_node
4002- etnaviv: fix renderonly check in etna_resource_alloc
4003- etnaviv: fail in get_handle(TYPE_KMS) without a scanout resource
4004- freedreno: fail in get_handle(TYPE_KMS) without a scanout resource
4005- panfrost: fail in get_handle(TYPE_KMS) without a scanout resource
4006- lima: fail in get_handle(TYPE_KMS) without a scanout resource
4007- vulkan/wsi/wayland: use drm_fourcc.h for formats
4008- vulkan/wsi/wayland: drop support for wl_drm
4009- vulkan/wsi/wayland: generalize modifier handling
4010- etnaviv: add stride, offset and modifier to resource_get_param
4011- panfrost: implement resource_get_param
4012- vc4: implement resource_get_param
4013- v3d: implement resource_get_param
4014- vulkan/wsi/x11: add driconf option to not wait under Xwayland
4015- gbm: consistently use the same name for BO flags
4016- gbm: add gbm_{bo,surface}_create_with_modifiers2
4017- gbm: assume USE_SCANOUT in create_with_modifiers
4018
4019Simon Zeni (5):
4020
4021- gbm: add GBM_FORMAT_R16
4022- i915: remove use of backtrace and backtrace_symbols
4023- glapi/gl_gentable.py: drop call to backtrace on no op
4024- util/u_debug_symbol: remove debug_symbol_name_glibc and execinfo dependency
4025- meson: stop searching for execinfo
4026
4027Stéphane Marchesin (1):
4028
4029- virgl: Flush context before waiting on fences
4030
4031Tapani Pälli (22):
4032
4033- crocus: take a reference to memobj bo in crocus_resource_from_memobj
4034- crocus: disable depth and d+s formats with memory objects
4035- iris: handle depth-stencil import with a wrapper function
4036- anv: disable aux for exportable images without modifiers
4037- anv: allow stencil memory export
4038- anv/android: fix build error due refactoring
4039- mesa: fix timestamp enum with EXT_disjoint_timer_query
4040- mesa: GL_ARB_ES3_2_compatibility GL compat profile support
4041- anv: remove a format assert when setting up attachments
4042- vulkan: provide common functions to check device features
4043- anv: remove feature checks from device creation
4044- radv: remove feature checks from device creation
4045- turnip: remove feature checks from device creation
4046- v3dv: remove feature checks from device creation
4047- lavapipe: remove feature checks from device creation
4048- panvk: remove feature checks from device creation
4049- intel/blorp: fix a compile warning about uninitialized use
4050- intel/isl: FXT1 support was removed on Gfx12.5
4051- swrast: Fix another warning from gcc 11
4052- anv/android: fix parameters given for vk_common_QueueSubmit
4053- anv: use vk_object_zalloc for wsi fences created
4054- iris: clear bos_written when resetting a batch
4055
4056Thomas H.P. Andersen (1):
4057
4058- nine: Fix assert in tx_src_param
4059
4060Thomas Wagner (6):
4061
4062- gallium: add utility and interface for memory fd allocations
4063- llvmpipe: add support for EXT_memory_object(_fd)
4064- lavapipe: add support for KHR_external_memory_fd
4065- llvmpipe: enable EXT_memory_object(_fd)
4066- lavapipe: enable KHR_external_memory_fd
4067- util: use anonymous file for memory fd creation
4068
4069Thong Thai (15):
4070
4071- gallium: add temporal layers cap enum
4072- frontends/va: check number of temporal layers supported by encoder
4073- gallium: update h264 struct to track temporal layers
4074- radeon/vcn/enc: H.264 SVC encode
4075- radeonsi: enable H.264 temporal encoding support for VCN
4076- frontends/va: handle h264 num_temporal_layers for SVC encoding
4077- gallium: change rate ctrl struct to array
4078- r600: change rate ctrl struct to array
4079- radeon/vce: change rate ctrl struct to array
4080- radeon/vcn/enc: change to per-temporal layer rate control
4081- frontends/omx: change rate ctrl struct to array
4082- frontends/va: change to per-layer rate control
4083- gallium/auxiliary/vl: Add additional deinterlace enum and tracking
4084- gallium/util: add half texel offset param to util_compute_blit
4085- frontends/va/postproc: Keep track of deinterlacing method being used
4086
4087Timothy Arceri (20):
4088
4089- util: document that workaround also fixes Riptale
4090- glsl: replace some C++ code with C
4091- nir/gcm: be less destructive with instruction order
4092- intel/compiler: call nir_opt_dead_cf() after we have finished all opts
4093- intel/compiler: Use GCM in nir_optimize
4094- util: add workaround for Full Bore
4095- glsl: relax rule on varying matching for shaders older than 4.20
4096- intel/compiler: make sure swizzle is applied to if condition
4097- nir: add indirect loop unrolling to compiler options
4098- nir: move nir_block_ends_in_break() to nir.h
4099- nir: add heuristic for instructions in loops with GCM
4100- nir: fix GCM when GVN enabled
4101- glsl: fix variable scope for instructions inside case statements
4102- mesa: fix mesa_problem() call in _mesa_program_state_flags()
4103- glsl: fix variable scope for loop-expression
4104- glsl: handle scope correctly when inlining loop expression
4105- glsl: fix variable scope for do-while loops
4106- util/cache: run basic cache tests on the single file cache
4107- util/cache: test simple cache put and get between instances
4108- mesa: fix buffer overrun in SavedObj texture obj array
4109
4110Timur Kristóf (71):
4111
4112- radv: Use 128-sized vertex grouping for NGG shaders.
4113- radv: Don't compile NGG culling into shaders that write viewport index.
4114- radv: Remove num_viewports from radv_skip_ngg_culling.
4115- aco: Swap s_and operand order for ballot.
4116- aco: Allow elect to take advantage of knowing when all lanes are active.
4117- aco: Remove s_and with exec when all lanes are active.
4118- radv: Use pre-computed viewport transform for NGG culling state.
4119- aco: Fix how p_elect interacts with optimizations.
4120- aco, nir, ac: Simplify sequence of getting initial NGG VS edge flags.
4121- ac/nir: Use es_accepted variable after culling.
4122- ac/nir: Use gs_accepted variable after culling.
4123- ac/nir: Don't count vertices and primitives in wave after culling.
4124- nir, aco: Remove vertex and primitive count overwrite intrinsic.
4125- ac/nir: Remove unhelpful nir_opt_cse from ac_nir_lower_ngg_nogs.
4126- aco: Use Navi 10 empty NGG output workaround on NGG culling shaders.
4127- radv: Don't toggle PC oversubscription for NGG culling.
4128- radv: Use ac_compute_late_alloc in radv_pipeline.
4129- ac: Remove deprecated use_late_alloc field as nobody uses it anymore.
4130- radv: Write RSRC2_GS for NGGC when pipeline is dirty but not emitted.
4131- aco: Fix to_uniform_bool_instr when operands are not suitable.
4132- radv, ac, aco: Use indices 0-2 of gs_vtx_offset argument array on GFX9+.
4133- radeonsi: Change GS vertex offset arguments to use gs_vtx_offset array.
4134- ac: Calculate workgroup sizes of HW stages that operate in workgroups.
4135- radv: Calculate workgroup sizes in radv_pipeline.
4136- radv: Remove superfluous workgroup size calculations.
4137- aco: Use workgroup size from input shader info.
4138- aco: Consider LDS usage by PS inputs in MaxWaves calculation.
4139- aco: Consider maximum number of workgroups per CU/WGP on Navi.
4140- aco: Emit zero for the derivatives of uniforms.
4141- aco: Unset 16 and 24-bit flags from operands in apply_extract.
4142- nir: Add unsigned upper bound for extract opcodes.
4143- nir: Fix local_invocation_index upper bound for non-compute-like stages.
4144- nir: Add comment to explain the sad_u8x4 opcode.
4145- aco: Fix invalid usage of std::fill with std::array.
4146- ac/nir/ngg: Delete unused struct.
4147- ac/nir/nggc: Don't stop applying reusable variables at prim export.
4148- ac/nir/nggc: Only repack arguments that are needed.
4149- ac/nir/nggc: Move gs_alloc_req up in NGG culling shaders.
4150- aco: Use Builder reference in emit_copies_block.
4151- aco: Skip code paths to emit copies when there are no copies.
4152- aco/optimize_postRA: Use iterators instead of operator[] of std::array.
4153- aco: Add some useful info to the README for debugging.
4154- radv: Remove PSIZ output when it isn't needed.
4155- aco: Add ability to optimize v_lshl + v_sub into v_mad_i32_i24.
4156- aco/isel: Fix emit_vop2_instruction to apply 16/24-bit flags properly.
4157- ac/nir: Remove byte permute from prefix sum of the repack sequence.
4158- ac/nir: Fix match_mask to work correctly for VS outputs.
4159- nir: Exclude non-generic patch variables from get_variable_io_mask.
4160- radv: Disable HW generated edge flags for NGG shaders.
4161- ac/nir: Emit edge flag instructions conditionally.
4162- radv/llvm: Don't read edge flags anymore.
4163- radv: Fix gs_vgpr_comp_cnt for NGG culling in vertex shaders.
4164- ac/nir/nggc: Refactor save_reusable_variables.
4165- ac/nir/nggc: Don't reuse uniform values from divergent control flow.
4166- radv: Select PC oversubscription rate based on number of PS params.
4167- radv: Reduce NGG culling small draw threshold to 128.
4168- aco: Allow p_extract to have different definition and operand sizes.
4169- aco: Implement integer conversions using p_extract.
4170- aco: Omit p_extract after ds_read with matching bit size.
4171- aco: Don't write m0 register for LDS instructions on GFX9+.
4172- aco: Fix small primitive precision.
4173- aco: Fix determining whether any culling is enabled.
4174- radv: Don't declare ngg_gs_state when there is no API GS.
4175- radv: Enable NGG culling by default on GFX10.3, add nonggc debug flag.
4176- ac/nir/cull: Accept NaN and +/- Inf in face culling.
4177- ac/nir/nggc: Write undef to variables in non-repacked ES threads.
4178- aco/optimizer: Skip SDWA on v_lshlrev when unnecessary in apply_extract.
4179- drirc: Fix indentation.
4180- drirc: Apply radv_invariant_geom workaround to Resident Evil Village.
4181- drirc: Apply radv_invariant_geom workaround to World War Z games.
4182- aco: Fix how p_is_helper interacts with optimizations.
4183
4184Tomeu Vizoso (40):
4185
4186- panvk: Don't try to update samplers if they are immutable
4187- panvk: Start a new batch when the job index gets above the limit
4188- panvk: Close batch when ending a command buffer
4189- panvk: Move check for fragment requirement up to the draw
4190- panvk: A pipeline might not be bound when the render pass is ended
4191- panvk: Expose panvk_cmd_alloc_fb_desc and panvk_cmd_alloc_tls_desc
4192- panvk: Implement vkCmdClearAttachments
4193- docs/ci: Update http cache config to let Authorization headers pass through
4194- freedreno/ci: Move rules for restricted jobs to test-source-dep.yml
4195- ci: Update canvas_text trace
4196- virgl/ci: Have LLVMPipe use more threads for rendering
4197- virgl/ci: Rebalance concurrency
4198- virgl/ci: Wait a bit before shutting the VM down
4199- virgl/ci: Set NIR_VALIDATE=0 on the host
4200- panfrost: Add padding to pan_blit_blend_shader_key
4201- iris/ci: Add manual jobs for tracking performance
4202- panvk: Initialize timestamp for disk cache
4203- freedreno/ci: Correctly set freq governors to max
4204- iris/ci: Correctly set freq governors to max
4205- panvk/ci: Build-test panvk
4206- ci: Ensure the DRM device is open
4207- lavapipe: add xfails for whole of CTS
4208- vulkan: Read len attribute of parameters to functions
4209- vulkan: Generate code to place commands in a queue
4210- vulkan: Generate entrypoints that enqueue commands
4211- lavapipe: Use generated command queue code
4212- lavapipe: Use c_msvc_compat_args
4213- vulkan: Remove dependency on Python 3.9+
4214- Revert "lavapipe: unbreak imageless framebuffer"
4215- vulkan: Copy pNext structures when enqueuing commands
4216- ci: Uprev piglit to 99be1b06ff36
4217- ci: Stop adding link to tracie dashboard
4218- panfrost/ci: Enable test runs on G72
4219- panvk: Move CmdClear* impl to a separate file
4220- panfrost/ci: Move CI files to src/panfrost
4221- panfrost/ci: Test panvk on Mali G52
4222- ci: Rebuild kernel with Amlogic KMS support
4223- panfrost/ci: Run Piglit's quick_gl tests on G52
4224- ci: Add support for lazor Chromebooks
4225- ci: Let manual LAVA jobs have a longer timeout than others
4226
4227Tony Wasserka (24):
4228
4229- radv: Rename radv_shader_helper.h to radv_llvm_helper.h
4230- aco: Separate LLVM/CLRX asm printers more cleanly
4231- aco: Extend set of supported GPUs that can be disassembled with CLRX
4232- radv: Build code which depends on LLVM only when enabled
4233- radv: Disable shader disassembly when no disassembler is available
4234- aco/tests: Assert that the requested IR is actually provided
4235- aco/spill: Avoid unneeded copies when iterating over maps
4236- aco: Use std::vector for the underlying container of std::stack
4237- aco/spill: Remove unused container
4238- aco/spill: Replace map[] with map::insert
4239- aco/spill: Avoid copying next_use maps more often than needed
4240- aco/spill: Persist memory allocations of local next use maps
4241- aco/spill: Avoid destroying local next use maps over-eagerly
4242- aco/spill: Replace vector<map> with vector<vector> for local_next_use
4243- aco/spill: Prefer unordered_map over map for next use distances
4244- aco/spill: Avoid copying current_spills when not needed
4245- aco/spill: Reduce redundant std::map lookups
4246- aco/spill: Replace an std::map to booleans with std::set
4247- aco/spill: Store remat list in an std::unordered_map instead of std::map
4248- aco/spill: Change worklist to a single integer
4249- aco/spill: Reduce allocations in next_uses_per_block
4250- aco/spill: Clarify use of long-lived references by adding const
4251- aco/spill: Use unordered_map for spills_exit
4252- aco/spill: Use std::unordered_map for spills_entry
4253
4254Vadym Shovkoplias (3):
4255
4256- driconf, glsl: Add a vs_position_always_precise option
4257- drirc: Set vs_position_always_precise for Assault Android Cactus
4258- intel/fs: Fix a cmod prop bug when cmod is set to inst that doesn't support it
4259
4260Vasily Khoruzhick (2):
4261
4262- lima: handle fp16 vertex formats
4263- lima: split_load_input: don't split unaligned vec2
4264
4265Veerabadhran Gopalakrishnan (2):
4266
4267- radeon/vcn: Add FW header flag to enable VP9 header parsing
4268- gallium/va: Remove VP9 header parsing for secure playback
4269
4270Vinson Lee (17):
4271
4272- nv50/ir: Initialize Value member id in constructor.
4273- asahi: Move assignment after null check.
4274- spirv_to_dxil: Fix missing-prototypes build error.
4275- meson: Remove duplicate xvmc in build summary.
4276- nir: Initialize evaluate_cube_face_index_amd dst.x.
4277- zink: Remove unnecessary null checks.
4278- nv50/ir: Add FlatteningPass constructor.
4279- freedreno: Require C++17.
4280- broadcom/compiler: Fix qpu.flags.muf typo.
4281- glx: Fix unused-variable warning with macOS build.
4282- draw/tess: Fix unused-function warning with draw-use-llvm=disabled.
4283- nv50/ir: Add DeadCodeElim constructor.
4284- pps: Avoid duplicate elements in with_datasources array.
4285- freedreno: Add valgrind dependency.
4286- anv: Fix assertion.
4287- radv: Fix memory leak on error path.
4288- virgl: Allocate qdws after virgl_init_context to avoid leak.
4289
4290Witold Baryluk (2):
4291
4292- zink: Do not access just freed zink_batch_state
4293- zink: Fully initialize VkBufferViewCreateInfo for hashing
4294
4295Yevhenii Kharchenko (1):
4296
4297- iris: fix layer calculation for TEXTURE_3D ReadPixels() on mip-level>0
4298
4299Yevhenii Kolesnikov (19):
4300
4301- glsl: Add operator for .length() method on implicitly-sized arrays
4302- glsl: Properly handle .length() of an unsized array
4303- vulkan: Add a common vk_command_buffer structure
4304- anv: Use a common vk_command_buffer structure
4305- radv: Use a common vk_command_buffer structure
4306- turnip: Use a common vk_command_buffer structure
4307- v3dv: Use a common vk_command_buffer structure
4308- lavapipe: Use a common vk_command_buffer structure
4309- vulkan: Add a common vk_queue structure
4310- anv: Use a common vk_queue structure
4311- radv: Use a common vk_queue structure
4312- turnip: Use a common vk_queue structure
4313- v3dv: Use a common vk_queue structure
4314- lavapipe: Use a common vk_queue structure
4315- vulkan: Implement VK_EXT_debug_utils
4316- vulkan/enum_to_str: Add generator for VkObjectType to Vulkan Handle
4317- vulkan: Add vk_asprintf and vk_vasprintf helpers
4318- vulkan: Add convenience debug message helpers
4319- anv: Switch to new debug message helpers
4320
4321Yipeng Chen (Jasber) (1):
4322
4323- radeonsi: do not use staging texture for APU
4324
4325Yiwei Zhang (24):
4326
4327- venus: cache ahb backed buffer memory type bits requirement
4328- venus: fix all missing vn_object_base_fini
4329- venus: scrub ignored fields of pipeline info when rasterization is disable
4330- venus: refactor failure path for sets allocation
4331- venus: add vn_descriptor_set_layout_init
4332- venus: descriptor layout to track more binding infos
4333- venus: layout to track variable descriptor count binding info
4334- venus: descriptor pool to track pool state
4335- venus: descriptor set to track descriptor count of last binding
4336- venus: check descriptor allocations against pool resource
4337- venus: conditionally enable async descriptor set allocation
4338- venus: set maxMipLevels to 1 for ahb images
4339- venus: renderer to check map size only when mappable
4340- venus: workaround a blob_mem mappable size check issue
4341- venus: suggest the proper sampler ycbcr model conversion based on format
4342- docs: update vn extension list
4343- venus: amend supported extensions list
4344- venus: properly check and fill ahb buffer properties
4345- util: fix sign comparison
4346- radv/anv android: rename buffer usage camera mask
4347- android_stub: update platform headers to include atrace
4348- venus: update to latest venus-protocol to include tracing
4349- dri_interface: remove obsolete interfaces
4350- dri_interface: remove gl header
4351
4352Yogesh Mohan Marimuthu (2):
4353
4354- radeonsi: remove redundant setting scratch_state atom dirty
4355- radeonsi: set scratch_state dirty only if ctx->scratch_buffer allocated
4356
4357Yogesh Mohanmarimuthu (1):
4358
4359- vulkan/device-select: select correct default device for xcb apiVersion 1.0
4360
4361Zachary Michaels (1):
4362
4363- X11: Ensure that VK_SUBOPTIMAL_KHR propagates to user code
4364
4365Zhu Yuliang (1):
4366
4367- gallium/vl: don't leak fd in vl_dri3_screen_create
4368
4369byte[] (1):
4370
4371- i965: Explicitly abort instead of exiting on batch failure
4372
4373liuyujun (1):
4374
4375- gallium: fix surface->destroy use-after-free
4376
4377mattvchandler (1):
4378
4379- gallium/osmesa: fix buffer resizing
4380
4381mwezdeck (1):
4382
4383- mesa: validate texture format against GL/ES ctx
4384
4385orbea (1):
4386
4387- build: add sha1_h for lp_texture.c
4388
4389suijingfeng (4):
4390
4391- gallivm: add basic mips64 support and set mcpu to mips64r5 on ls3a4000
4392- pass egl-symbols-check test on mips64el
4393- gallivm: fix pass init order on mips64 with llvm 8
4394- llvmpipe: correct the debug information printed with GALLIVM_PERF=nopt
4395
4396xantares (1):
4397
4398- lavapipe: Fix 32bits windows build
4399