1Mesa 20.3.0 Release Notes / 2020-12-03
2======================================
3
4Mesa 20.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 20.3.1.
7
8Mesa 20.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 20.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    2999738e888731531cd62b27519fa37566cc0ea2cd7d4d97f46abaa3e949c630  mesa-20.3.0.tar.xz
25
26
27New features
28------------
29
30- GL 4.5 on llvmpipe
31
32- GL_INTEL_blackhole_render on radeonsi
33
34- GL_NV_copy_depth_to_color for NIR
35
36- GL_NV_half_float
37
38- GL_NV_shader_atomic_int64 on radeonsi
39
40- EGL_KHR_swap_buffers_with_damage on X11 (DRI3)
41
42- VK_PRESENT_MODE_FIFO_RELAXED on X11
43
44- GLX_EXT_swap_control for DRI2 and DRI3
45
46- GLX_EXT_swap_control_tear for DRI3
47
48- VK_KHR_copy_commands2 on RADV
49
50- VK_KHR_shader_terminate_invocation on RADV
51
52- NGG GS support in ACO
53
54- VK_KHR_shader_terminate_invocation on ANV
55
56- driconf: add glx_extension_override
57
58- driconf: add indirect_gl_extension_override
59
60- VK_AMD_mixed_attachment_samples on RADV (GFX6-GFX7).
61
62- GL_MESA_pack_invert on r100 and vieux
63
64- GL_ANGLE_pack_reverse_row_order
65
66- VK_EXT_shader_image_atomic_int64 on RADV
67
68- None
69
70
71Bug fixes
72---------
73
74- \[icl,tgl][iris][i965][regression][bisected\] piglit failures
75- shader-db valgrind error
76- \[AMDGPU NAVI 5700xt\] Large parts of the Blender viewport does not render correctly if an object with hair is moved.
77- \[aco\] problem compiling compute pipeline
78- zink: regression after !7606
79- glcpp test 084-unbalanced-parentheses fails with bison 3.6.y
80- zink+radv: corruption on pre-game menu in quake3
81- panfrost massive glitches apitrace opengl 2.1
82- \[radeonsi\] After 549ae5f84375dfadb86cfd465f0103acfae3249f commit Firefox Nightly Asan begins crashes
83- Amber test NIR validation failed after spirv_to_nir
84- zink: add detection for wsi_memory_allocate_info usage
85- Follow-up from "nir,spirv: Add generic pointers support"
86- v3d  GL_ARB_vertex_array_bgra support
87- iris: glClear with FBO imported from DMA-BUF doesn't work
88- Fast-clears of GL_ALPHA16 textures are broken on TGL
89- NV50_PROG_USE_NIR=1 doesn't work for piglit/bin/pbo-teximage ?
90- Follow-up from "st/mesa: Use nir-to-tgsi for builtins if the driver needs TGSI"
91- \[spirv-fuzz\] Shader causes an assertion failure in nir_opt_large_constants
92- Amber test validate_phi_src
93- Regnum Online UBO break after game update
94- Current mesa git fails to build in multilib environment?
95- radv/aco: Vertex explosion on RPCS3
96- llvmpipe-cl should not run for other drivers
97- Factorio v1.0 - Linux native - 64 bit - OpenGL/radeonsi - completely broken rendering
98- Gnome 3.38 with Xwayland has screen corruption for X11 apps.
99- st/va fails to build on old libva in mesa git
100- sp_state_shader.c:146: undefined reference to \`nir_to_tgsi'
101- anv: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.3d\* failures
102- anv: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.3d\* failures
103- RADV: Death Stranding glitchy sky rendering
104- Crash in glDrawArrays on Intel iris
105- GLX_OML_swap_method not fully supported
106- deinterlace_vaapi=rate=field does not double output's actual frame rate on AMD
107- Steam game Haydee leans on implementation-dependent behavior
108- ANV: Support 1 million update-after-bind descriptors
109- zink: crash in Blender on start-up
110- vc4 in 20.2-rc has regression causing app to crash
111- \[RADV\] broken stencil behaviour when using extended dynamic stencil state
112- \[RADV/ACO\] Star Citizen Lighting/Shadow Issue
113- \[RADV\] Some bindings seem broken with VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT
114- \[RADV/ACO\] ACO build error about SMEM operands
115- Graphics corruption in Super Mega Baseball 2 with RADV on Navi
116- RADV ACO - ground line corruption in Path of Exile with Vulkan renderer
117- omx/tizonia build broken with latest mesa git
118- Request: VK_EXT_transform_feedback on Intel Gen 7
119- iris: Regression in deqp const_write tests
120- \[hsw][bisected][regression\] gpu hangs on dEQP-VK.subgroups.(shuffle|quad) tests
121- \[RADV/LLVM/ACO\] Serious Sam 4 crashes after first cutscene with ACO backend + flickering black spots sprout up everywhere
122- TGL B0 Stepping gpu hangs on many dEQP-VK.subgroups.quad nonconst tests
123- \[machines without AVX2/F16C][bisected\] X server crash, wflinfo crash in mesa CI
124- nir: Mesa regression on Compute shader
125- radv, aco: dEQP-VK.glsl.atomic_operations.*_fragment_reference regressed
126- Commit c6c1fa9a263880 causes corruption in Steam UI
127- \[spirv-fuzz\] Shader generates a wrong image
128- Running Amber test leads to VK_DEVICE_LOST
129- \[Regression][Bisected][20.2][radeonsi\] American Truck Simulator continually allocates memory until OOM
130- \[radeonsi\] bottom mips of height=1 2D texture is uninitialised after upload
131- Missing terrain in Total War:  Warhammer
132- anv: dEQP-VK.robustness.robustness2.\* failures on gen12
133- AMD VAAPI encoding - applying filters introduces garbled line at the bottom
134- AMD VAAPI HEVC encoding not working correctly on Polaris
135- \[RADV\] Problems reading primitive ID in fragment shader after tessellation
136- Massive memory leak (at least AMD, others unknown)
137- Substance Painter 6.1.3 black glitches on Radeon RX570
138- \[ivb,hsw,byt,bsw][i965][bisected\] anv_reloc_list_add: Assertion failure
139- vkCmdCopyImage broadcasts subsample 0 of MSAA src into all subsamples of dst on RADV
140- assert(left \<= -1 && top \<= -1 && right \>= 1 && bottom \>= 1) fails in si_emit_guardband
141- Crash in ruvd_end_frame when calling vaBeginPicture/vaEndPicture without rendering anything
142- Release signing key is not readily available
143- \[iris][bisected\] piglit.spec.nv_copy_depth_to_color.nv_copy_depth_to_color failures
144- VAAPI vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED
145- X-Plane 11 Installer crashes on startup since \`glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins\`
146- piglit spec/glsl-1.50/execution/geometry/clip-distance-vs-gs-out.shader_test fails on Iris
147- Amber test opt_peel_loop_initial_if: Assertion failed
148- builder_misc.cpp:137:55: error: ‘get’ is not a member of ‘llvm::ElementCount’
149- AVX instructions leak outside of CPU feature check and cause SIGILL
150- Dirt Rally: Flickering glitches on certain foliage since Mesa 20.1.0 caused by MSAA
151- Horizon Zero Dawn graphics corruption with with radv
152- Crusader Kings 3 Crashes at start since commit with !6472
153- pan_resource.c:733:38: error: use of GNU empty initializer extension \[-Werror,-Wgnu-empty-initializer\]
154- \[BRW\] WRC 5 asserts with gallium nine and iris.
155- ci/bare-metal: POWER_GOOD detection broken with reboot rework
156- radv: Corruption in "The Surge 2"
157- \[RADV\] Detroit: Become Human Demo game lock-ups with RADV
158- Road Redemption certain  graphic effects rendered white color
159- gen_state_llvm.h:54:99: error: invalid conversion from ‘int’ to ‘const llvm::VectorType*’ \[-fpermissive\]
160- Using a shared dEQP build script
161- vulkan/wsi/x11: deadlock with Xwayland when compositor holds multiple buffers
162- \[RADV/ACO\] Death Stranding cause a GPU hung (\*ERROR\* Waiting for fences timed out!)
163- lp_bld_init.c:172:7: error: implicit declaration of function ‘LLVMAddConstantPropagationPass’; did you mean ‘LLVMAddCorrelatedValuePropagationPass’? \[-Werror=implicit-function-declaration\]
164- ci: Use lld or gold instead of ld.bfd
165- Intel Vulkan driver crash with alpha-to-coverage
166- radv: blitting 3D images with linear filter
167- \[ACO\] Compiling pipelines from RPCS3's shader interpreter spins forever in ACO code
168- \[regression][bisected\] nir: nir_intrinsic_io_semantics assert failures in piglit
169- error: ‘static_assert’ was not declared in this scope
170- Intel Vulkan driver assertion with small xfb buffer
171- \<<MESA crashed>\> Array Index Out of Range with Graphicsfuzz application
172- EGL_KHR_swap_buffers_with_damage support on X11
173- \[spirv-fuzz\] SPIR-V parsing failed "src->type->type == dest->type->type"
174- radeonsi: radeonsi crashes in Chrome on chromeos
175- \[RADV\] commit d19bc94e4eb94 broke gamescope with Navi
176- 4e3a7dcf6ee4946c46ae8b35e7883a49859ef6fb breaks Gamescope showing windows properly.
177- anv: crashes in CTS test dEQP-VK.subgroups.*.framebuffer.*_tess_eval
178- Intel Vuikan (anv) crash in copy_non_dynamic_state() when using validation layer
179- \[tgl][bisected][regression\] GPU hang in The Witcher 3
180- Mafia 3: Trees get rendered incorrectly
181- radv: dEQP-VK.synchronization.op.multi_queue.timeline_semaphore.write_clear_attachments_*_concurrent fail when forcing DCC.
182- Crash on GTA 5 through proton 5.0.9 and GE versions
183- Flickering textures in "Divinity Original Sin Enhanced Edition"
184- Mesa 20.2.0-rc1 fails to build for AMD
185- Assertion failure compiling shader from Zigguart
186
187
188Changes
189-------
190
191Aaron Watry (1):
192
193- clover: Fix incorrect error check in clGetSupportedImageFormats
194
195Adam Jackson (22):
196
197- drisw: Port the MIT-SHM check to XCB
198- vulkan: Don't pointlessly depend on libxcb-dri2
199- docs: Stop claiming to implement OpenVG
200- mesa: Fix GL_CLAMP handling in glSamplerParameter
201- mesa: Generate more errors from GetSamplerParameter
202- wsi/x11: Hook up VK_PRESENT_MODE_FIFO_RELAXED_KHR
203- glx: Use GLX_FUNCTION2 only for actually aliased function names
204- glx: Collect all the non-applegl extensions in the GetProcAddress table
205- glx: Reject glXSwapIntervalMESA greater than INT_MAX
206- glx: Implement GLX_EXT_swap_control for DRI2 and DRI3
207- glx/dri3: Implement GLX_EXT_swap_control_tear
208- glx: Allow depth-30 pbuffers to work without a depth-30 pixmap format
209- wsi/x11: Create a present queue for VK_PRESENT_MODE_FIFO_RELAXED_KHR
210- glx: move \__glXGetUST into the DRI1 code
211- glx: Delegate the core of glXGetScreenDriver to the GLX screen vtable
212- glx: Move glXGet{ScreenDriver,DriverConfig} to common code
213- docs/features: Update extensions for softpipe
214- docs/features: Update extensions for swr
215- loader: Print dlerror() output in the failure message
216- mesa: Enable GL_MESA_pack_invert unconditionally
217- mesa: Implement GL_ANGLE_pack_reverse_row_order
218- docs: Add MESA_pack_invert and ANGLE_pack_reverse_row_order
219
220Alejandro Piñeiro (147):
221
222- v3d/compiler: add v3dv_prog_data_size helper
223- v3d/packet: fix typo on Set InstanceID/PrimitiveID packet
224- v3d: set instance id to 0 at start of tile
225- broadcom/qpu_instr: wait is not a read or write vpm instruction
226- nir/lower_io: don't reduce range if parent length is zero
227- broadcom/simulator: update to a newer simulator
228- broadcom/common: increase V3D_MAX_TEXTURE_SAMPLERS, add specific OpenGL limit
229- broadcom/compiler: add V3D_DEBUG_RA option
230- v3dv: add v3d vulkan driver skeleton
231- gitlab-ci: add broadcom vulkan driver
232- v3dv: add support for VK_EXT_debug_report
233- v3dv: memory management stubs
234- v3dv: add support to use v3d simulator
235- v3dv/debug: plug v3d_debug
236- v3dv/debug: add v3dv_debug
237- v3dv: stubs for graphics pipeline methods
238- v3dv: Create/DestroyShaderModule implementation
239- v3d/compiler: num_tex_used on v3d_key
240- v3dv/format: add v3dv_get_format_swizzle
241- v3dv: initial CreateGraphicsPipeline/DestroyPipeline implementation
242- v3dv: initial stub for CmdBindPipeline
243- v3dv: CmdSetViewport and CmdSetScissor implementation
244- v3dv/pipeline: start to track dynamic state
245- v3dv/cmd_buffer: init command buffer dynamic state during pipeline bind
246- v3dv/cmd_buffer: emit Scissor packets
247- v3dv/cmd_buffer: emit Viewport packets
248- v3dv/cmd_buffer: emit shader_state packets
249- v3dv/cmd_buffer: start to emit draw packets
250- v3dv/cmd_buffer: add shader source bos to cmd_buffer
251- v3dv: clif format dumping support
252- v3dv/cmd_buffer: cache viewport translate/scale
253- v3dv: add v3dv_write_uniforms
254- v3dv/cmd_buffer: start jobs with CmdBeginRenderPass
255- v3d/compiler: update uses_vid/uses_iid check
256- v3dv/cmd_buffer: emit CFG_BITS
257- v3dv: partial prepack of the gl_shader_state_record
258- v3dv: prepack VCM_CACHE_SIZE
259- v3dv/pipeline: lower fs/vs inputs/outputs
260- v3dv: vertex input support
261- v3dv: provide default values for input attributes
262- v3dv/format: add R32G32B32A32_SFLOAT format
263- v3dv: stubs for Create/DestroyPipelineCache
264- v3d/cmd_buffer: emit flat_shade/noperspective/centroid flags
265- v3dv/pipeline: adding some nir-based linking
266- v3dv/bo: add a bo name
267- v3dv: debug nir shader also after spirv_to_nir
268- v3dv: initial descriptor set support
269- v3dv/descriptor_set: support for array of ubo/ssbo
270- v3dv/pipeline: null check for pCreateInfo->pDepthStencilState
271- v3dv: no need to manually add assembly bo to the job
272- v3d/compiler: handle GL/Vulkan differences in uniform handling
273- v3dv/cmd_buffer: support for push constants
274- v3dv/descriptor: support for dynamic ubo/ssbo
275- v3dv/pipeline: revamp nir lowering/optimizations passes
276- v3dv/pipeline: clean up io lowering
277- v3dv/descriptor: take into account pPushConstantRanges
278- v3dv/device: tweak ssbo/ubo device limits
279- v3dv/cmd_bufffer: rename and split emit_graphics_pipeline
280- v3dv/cmd_buffer: push constants not using descriptor anymore
281- v3dv/uniforms: cleaning up, moving udpate ubo/ssbo uniforms to a function
282- v3dv/pipeline: unify local allocator name
283- v3dv/pipeline: sampler lowering
284- v3dv/descriptor_set: added support for samplers
285- v3dv/uniforms: filling up QUNIFORM_TMU_CONFIG_P0/P1
286- v3dv/pipeline: add support for shader variants
287- v3dv/cmd_buffer: update shader variants at CmdBindDescriptorSets/CmdBindPipeline
288- v3dv/cmd_buffer: allow return in the middle of variant update if needed
289- v3dv/pipeline: fix adding texture/samplers array elements to texture/sampler map
290- v3dv/descriptor_set: support for immutable samplers
291- v3dv/descriptor: move descriptor_map_get_sampler, add and use get_image_view
292- v3dv/descriptor_set: combine texture and sampler indices
293- v3dv/descriptor: handle not having a sampler when combining texture and sampler id
294- v3dv/uniforms: fill up texture size-related uniforms
295- v3dv/format: expose correctly if a texture format is filterable
296- v3dv: handle texture/sampler shader state bo failure with OOM error
297- v3dv: properly return OOM error during pipeline creation
298- v3dv/meta-copy: ensure valid height/width with compressed formats
299- v3dv/cmd_buffer: move variant checking to CmdDraw
300- v3dv/pipeline: support for specialization constants
301- v3dv/descriptor: add general bo on descriptor pool
302- v3dv/descriptor: use descriptor pool bo for image/samplers
303- v3dv/meta-copy: add uintptr_t casting to avoid warning
304- v3dv/bo: adding a BO cache
305- v3dv/bo: add a maximum size for the bo_cache and a envvar to configure it
306- v3dv/bo: add dump stats info
307- v3d/tex: avoid to ask back for a sampler state if not needed
308- v3dv/pipeline: iterate used textures using the combined index map
309- v3dv/pipeline: set load_layer_id to zero
310- v3dv: initial support for input attachments
311- v3dv/descriptors: support for DESCRIPTOR_TYPE_STORAGE_IMAGE
312- v3dv/pipeline: lower_image_deref
313- v3dv/uniforms: support for some QUNIFORM_IMAGE_XXX
314- nir: include texture query lod as one of the ops that requires a sampler
315- v3dv/device: expose support for image cube array
316- v3dv/image: fix TEXTURE_SHADER_STATE depth for cube arrays
317- v3dv/device: add vendorID/deviceID get helpers
318- v3dv/device: get proper device ID under simulator
319- v3dv/device: proper pipeline cache uuid
320- v3dv/pipeline_cache: bare basic support for pipeline cache
321- v3dv/pipeline_cache: cache nir shaders
322- v3dv/pipeline: add basic ref counting support for variants
323- v3dv/pipeline_cache: cache v3dv_shader_variants
324- v3dv/pipeline_cache: support to serialize/deserialize cached NIRs
325- v3dv/pipeline_cache: MergePipelineCaches implementation
326- v3dv/pipeline: provide a shader_sha1 to private ShaderModules
327- v3dv/pipeline_cache: add default pipeline cache
328- v3dv/pipeline: remove custom variant cache
329- v3dv/pipeline: when looking for a variant, check first current variant
330- v3dv/pipeline: pre-generate more that one shader variant
331- v3dv/pipeline: handle properly OUT_OF_HOST_MEMORY error when allocating p_stage
332- v3dv/descriptor: support for UNIFORM/STORAGE_TEXEL_BUFFER
333- v3dv: add v3dv_limits file
334- v3dv/device: fix minTexelBufferOffsetAlingment
335- v3dv/formats: fix exposing FEATURE_UNIFORM/STORAGE_TEXEL_BUFFER_BIT
336- v3dv/uniforms: handle texture size for texel buffers
337- v3dv/descriptor: remove v3dv_descriptor_map_get_image_view
338- v3dv/device: add assert for texture-related limits
339- v3dv/device: warn when the pipeline cache is disabled
340- v3dv/debug: add v3dv_print_v3d_key
341- v3dv/pipeline: fix combined_index_map insertions
342- v3dv/meta: fix hash table insertion
343- broadcom/compiler: allow GLSL_SAMPLER_DIM_BUF on txs emission
344- v3d/simulator: add v3d_simulator_get_mem_size
345- v3dv/device: fix compute_heap_size for the simulator
346- v3dv/pipeline: use derefs for ubo/ssbo
347- v3dv: Call nir_lower_io for push constants
348- v3dv/pipeline: track if texture is shadow
349- v3dv/pipeline: set 16bit return_size for shadows always
350- v3dv/cmd_buffer: set instance id to 0 at start of tile
351- v3d/limits: add line width and point size limits
352- v3dv/device: fix point-related VkPhysicalDeviceLimits
353- v3dv/device: enable largePoints
354- v3dv/meta_copy: handle mirroring z component bliting 3D images
355- v3dv/formats: properly return unsupported for 1D compressed textures
356- v3dv/meta_copy: fix TFU blitting when using 3D images
357- v3dv/pipeline_cache: set a max size for the pipeline cache
358- v3dv/pipeline_cache: extend pipeline cache envvar
359- v3dv/device: Support loader interface version 3.
360- nir/lower_io_to_scalar: update io semantics on per-component inst
361- docs/features: add v3dv driver
362- v3dv/format: use XYZ1 swizzle for three-component formats
363- v3d/format: use XYZ1 swizzle for three-component formats
364- broadcom/compiler: remove v3d_fs_key depth_enabled field.
365- v3dv/util: remove several logging functions
366- v3dv/util: log debug ignored stype only on debug builds
367- v3dv/device: do nothing when asked physical device pci bus properties
368- v3dv/cmd_buffer: missing (uint8_t \*) casting when calling memcmp
369
370Alexandros Frantzis (5):
371
372- tracie: Make tests independent of environment
373- tracie: Produce JUnit XML results
374- gitlab-ci: Enable unit test reports for normal runner traces jobs
375- gitlab-ci: Enable unit test reports for lava traces jobs
376- gitlab-ci: Enable unit test report for arm64_a630_traces
377
378Alyssa Rosenzweig (388):
379
380- panfrost: Remove blend prettyprinters
381- panfrost: Move format stringify to decode.c
382- pan/decode: Remove shader replacement artefact
383- panfrost: Inline panfrost-misc.h into panfrost-job.h
384- panfrost: Remove panfrost-misc.h
385- panfrost: Don't export exception_status
386- panfrost: Rename encoder/ to lib/
387- panfrost: Move pandecode into lib/
388- pan/mdg: Separate disassembler and compiler targets
389- pan/bi: Separate disasm/compiler targets
390- panfrost: Reduce bit dependency to disassembly only
391- panfrost: Add panloader/ to .gitignore
392- pan/bi: Drop use of MALI_POSITIVE
393- panfrost: Inline max rt into compilers
394- panfrost: Treat texture dimension as first-class
395- panfrost: Drop compiler cmdstream deps
396- nir/lower_ssbo: Don't set align\_\* for atomics
397- gallium/dri2: Support Arm modifiers
398- panfrost: Set \`initialized\` more conservatively
399- panfrost: Remove hint-based AFBC heuristic
400- panfrost: Introduce create_with_modifier helper
401- panfrost: Use modifier instead of layout throughout
402- panfrost: Account for modifiers when creating BO
403- panfrost: Respect modifiers in resource management
404- panfrost: Import staging routines from freedreno
405- panfrost: Choose AFBC when available
406- panfrost: Implement YTR availability check
407- panfrost: Enable YTR where allowed
408- panfrost: Allocate enough space for tiled formats
409- panfrost: Ensure AFBC slices are aligned
410- panfrost: Implement panfrost_query_dmabuf_modifiers
411- panfrost: Add stub midgard.xml
412- panfrost: Adopt gen_pack_header.py via v3d
413- panfrost: Build midgard_pack.h via meson
414- panfrost: Redirect cmdstream includes through GenXML
415- pan/decode: Add helper to dump GPU structures
416- panfrost: XMLify job_type
417- panfrost: XMLify draw_mode
418- panfrost: XMLify mali_func
419- panfrost: XMLify stencil op
420- panfrost: XMLify wrap modes
421- panfrost: XMLify viewport
422- panfrost: XMLify UBOs
423- panfrost: XMLify stencil test
424- panfrost: Simplify zsa == NULL case
425- panfrost: Simplify depth/stencil/alpha
426- panfrost: Don't mask coverage mask to 4-bits
427- panfrost: XMLify Midgard samplers
428- panfrost: XMLify Bifrost samplers
429- panfrost: XMLify Midgard textures
430- panfrost: XMLify Bifrost textures
431- panfrost: Drop unused mali_channel_swizzle
432- panfrost: XMLify Block Format
433- panfrost: XMLify MSAA writeout mode
434- panfrost: XMLify exception access
435- panfrost: XMLify enum mali_format
436- panfrost: Set STRIDE_4BYTE_ALIGNED_ONLY
437- panfrost: Drop NXR format
438- panfrost: Squash 22-bit format field in attr_meta
439- panfrost: XMLify mali_channel
440- panfrost: XMLify attributes
441- panfrost: Merge attribute packing routines
442- panfrost: Add XML for attribute buffers
443- panfrost: Use better packs for blits
444- panfrost: Simplify offset fixup proof
445- panfrost: Make attribute-buffer map explicit
446- panfrost: Move attr_meta emission to the draw routine
447- panfrost: Use packs for attributes
448- panfrost: Hoist instance_shift/instance_odd fetch
449- panfrost: Inline panfrost_vertex_instanced
450- panfrost: Use packs for vertex attribute buffers
451- panfrost: Use packs for vertex built-ins
452- panfrost: Reword comment
453- panfrost: Pass varying descriptors by reference
454- panfrost: Factor out general varying case
455- panfrost: Use pack for XFB varying
456- panfrost: Use pack for general varying
457- panfrost: Use MALI_ATTRIBUTE_LENGTH
458- pan/bit: Use packs for Bifrost unit tests
459- panfrost: Remove mali_attr_meta
460- panfrost: Use packs for varying buffers
461- panfrost: Drop hand-rolled pandecode for attribute buffers
462- panfrost: Drop union mali_attr
463- panfrost: Update CI expectations
464- panfrost: Decontextualize rasterizer
465- panfrost: Drop rasterizer null checks in draw calls
466- panfrost: Drop ZSA null checks in draws
467- panfrost: Drop panfrost_invalidate_frame
468- panfrost: Drop QUADS primitive convert
469- panfrost: Hoist add_fbo_bo call
470- panfrost: Remove useless comment
471- panfrost: Hoist assert from bind to create
472- panfrost: Fix WRITES_GLOBAL bit
473- panfrost: Fix shared memory size computation
474- pan/mdg: Ensure barrier op is set on texture
475- pan/mdg: Handle 32-bit offsets from store_shared
476- pan/mdg: Identify barrier out-of-order field
477- pan/mdg: Fix printing of r26 ld/st sources post-RA
478- pan/mdg: Fix auxiliary load/store swizzle packing
479- panfrost: Pre-allocate memory for pool
480- panfrost: Introduce invisible pool
481- panfrost: Avoid minimum stack allocations
482- pan/decode: Don't try to dereference heap mapping
483- panfrost: Share tiler_heap across batches/contexts
484- panfrost: Drop implicit blend pooling
485- panfrost: Explicitly handle nr_cbufs=0 case
486- panfrost: Drop depth-only case in blend finalize
487- panfrost: Keep finalized blend state constant
488- panfrost: Fix blend leak for render targets 5-8
489- panfrost: Free cloned NIR shader
490- panfrost: Free NIR of blit shaders
491- panfrost: Free hash_to_temp map
492- pan/mdg: Free previous liveness
493- panfrost: Use memctx for sysvals
494- panfrost: Free batch->dependencies
495- panfrost: Pass alignments explicitly
496- panfrost: Fix attribute buffer underallocation
497- panfrost: Don't overallocate attributes
498- panfrost: Don't reserve for NPOT w/o instancing
499- panfrost: Reduce attribute buffer allocations
500- panfrost: Fix alignment on Bifrost
501- gallium: Add util_blend_factor_uses_dest helper
502- gallium: Add util_blend_uses_dest helper
503- si: Use util_blend_factor_uses_dest
504- r300: Use util_blend_factor_uses_dest
505- pan/decode: Drop legacy 32-bit job support
506- panfrost: Decode nested structs correctly
507- panfrost: Hoist blend finalize calls
508- panfrost: Separate shader/blend descriptor emits
509- panfrost: XMLify blend flags
510- panfrost: Simplify make_fixed_blend_mode prototype
511- panfrost: Honour load_dest/opaque flags
512- panfrost: XMLify blend equation
513- panfrost: Combine frag_shader_meta_init functions
514- panfrost: Size UBO#0 accurately
515- panfrost: Clamp shader->uniform_count
516- panfrost: Bake the initial tag into the shader pointer
517- panfrost: Specialize compute vs frag shader init
518- panfrost: Rename shader emit functions
519- panfrost: Clean up blend shader errata handling
520- panfrost: Group SFBD state together
521- panfrost: XMLify Midgard properties
522- panfrost: Pack compute Midgard properties
523- panfrost: Use packs for fragment properties
524- panfrost: Use pack for shaderless
525- panfrost: Fold work_count packing for blend shaders
526- panfrost: Simplify bind_blend_state
527- panfrost: Remove midgard1 bitfield
528- panfrost: XMLify bifrost1
529- panfrost: Drop redundant NULL check
530- panfrost: Group SFBD code tighter
531- panfrost: XMLify Bifrost preload
532- panfrost: Identify additional SFBD flags
533- panfrost: Support SHADERLESS mode everywhere
534- panfrost: Quiet pandecode error
535- panfrost: Derive texture/sampler_count from shader
536- panfrost: XMLify beginning of shader descriptor
537- panfrost: Derive UBO count from shader_info
538- panfrost: Pack vertex properties when compiling
539- panfrost: Prepack fragment properties/preload
540- panfrost: Simplify shaderless packing
541- panfrost: Ensure shader-db state is zero-initialized
542- panfrost: Allocate a state uploader
543- panfrost: Upload shader descriptors at CSO create
544- panfrost: Use preuploaded shader descriptors
545- panfrost: XMLify the rest of shader_meta
546- panfrost: Inherit default values from structs
547- panfrost: Use pack for blit shaders
548- panfrost: Use pack for Bifrost test state
549- panfrost: Add optional opaque packs to GenXML
550- panfrost: Use opaque pack for vertex shaders
551- panfrost: Use pack for fragment shaders
552- pan/decode: Use unpacks for state descriptor
553- panfrost: Drop mali_shader_meta
554- panfrost: Add opaque midgard_blend XML
555- panfrost: Emit explicit REPLACE for disabled colour writeout
556- panfrost: Drop blend indirection
557- panfrost: Add padded type for instance fields
558- panfrost: Add XML for mali_vertex_tiler_postfix
559- panfrost: Use draw pack for blit
560- panfrost: Separate postfix from emits
561- panfrost: Inline vt_update_{rasterizer, occlusion}
562- panfrost: Remove postfix parameter from UBO upload
563- panfrost: Avoid postfix dep for vertex_data
564- panfrost: Don't call panfrost_vt_init for compute
565- panfrost: Inline panfrost_vt_init
566- panfrost: Inline panfrost_vt_set_draw_info
567- panfrost: Detangle postfix from varying emits
568- panfrost: Use draw pack for compute jobs
569- panfrost: Use pack for draw descriptor
570- panfrost: Simplify ZSA bind
571- panfrost: Cleanup point sprite linking
572- panfrost: Drop point sprite from shader key
573- panfrost: XMLify primitive information
574- panfrost: Add invocation XML
575- panfrost: XMLify invocations
576- panfrost: Drop bifrost_payload_fused
577- panfrost: Inline bifrost_tiler_only
578- panfrost: Use nir_builder_init_simple_shader for blits
579- pan/decode: Drop scratchpad size dump
580- pan/decode: Drop mali_vertex_tiler_postfix arg
581- pan/decode: Print shader-db even for compute
582- pan/decode: Fix awkward syntax
583- pan/decode: Use generation for vertex_tiler_postfix
584- pan/decode: Use unpack for vertex_tiler_postfix_pre
585- panfrost: Remove mali_vertex_tiler_postfix
586- pan/decode: Drop prefix braces
587- panfrost: Emit texture/sampler points for compute
588- pan/mdg: Implement i/umul_high
589- pan/mdg: Scalarize 64-bit
590- pan/mdg: Bounds check swizzle writing globals
591- pan/mdg: Implement nir_intrinsic_load_sample_mask_in
592- pan/mdg: Refactor texture op/mode handling
593- pan/mdg: Add disassembly for shadow gathers
594- pan/mdg: Implement texture gathers
595- panfrost: Set PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS
596- docs/features: Add missing Panfrost extensions
597- pan/mdg: Fix discard encoding
598- pan/mdg: Fix perspective combination
599- panfrost: Drop PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER/BUFFERS
600- mesa/st: Don't set alpha if ALPHA_TEST is lowered
601- pan/mdg: Obey f2fmp size restriction in fuse_io_16
602- panfrost: Fix nonzero stencil mask on vertex/compute
603- pan/bit: Set d3d=true for CMP tests
604- pan/bit: Fix unit tests
605- pan/bi: Lower flrp16
606- pan/bi: Add XML describing the instruction set
607- pan/bi: Add ISA parser
608- pan/bi: Add packing generator
609- pan/bi: Add disassembler generator
610- pan/bi: Add disassembly prototypes
611- pan/bi: Add bi_disasm_dest\_\* helpers
612- pan/bi: Export dump_src
613- pan/bi: Use new disassembler
614- pan/bi: Use canonical syntax for registers/uniforms/imms
615- pan/bi: Use canonical syntax for special constants
616- pan/bi: Add dummy carry/borrow argument for iadd/isub
617- pan/bi: Introduce segments into the IR
618- pan/bi: Add format field to IR
619- pan/bi: Track compute_lod in IR
620- pan/bi: Pass blend descriptor explicitly in IR
621- pan/bi: Use 8-bit shifts
622- pan/bi: Use src1/dest_invert instead of src_invert[\]
623- pan/bi: Move packing helpers to dedicated file
624- pan/bi: Use new packing
625- pan/bi: Remove unused prints
626- pan/bi: Remove unused packing data structures
627- pan/bi: Drop \*FMIN reference
628- pan/bi: Annotate stop bit (canonically "Z-bit")
629- pan/bi: Annotate disassemble with format names
630- pan/bi: Inline dump_instr
631- pan/bi: Track M values of disassembled constants
632- pan/bi: Decode M values in disasm
633- pan/bi: Disassemble PC-relative addresses
634- pan/bi: Add bifrost_reg_mode enum
635- pan/bi: Pass 'first' through disassembler
636- pan/bi: Decode all 32-bit register modes
637- pan/bi: Rename port -\> slot
638- pan/bi: Use canonical register packing
639- pan/bi: Remove old register mode definitions
640- pan/bi: Fix assert when writing vertex outputs
641- pan/bi: Add copy for register COMBINEs
642- pan/decode: Ensure mappings are zeroed
643- pan/bi: Fix memory corruption in scheduler
644- pan/bi: Drop if 0'd combine lowering
645- pan/bi: Cull unnecessary edges on the CF graph
646- pan/bi: Use canonical floating-point modes
647- pan/bi: Canonicalize terminate_discarded_threads
648- pan/bi: Use canonical next_clause_prefetch
649- pan/bi: Use canonical name for staging registers
650- pan/bi: Expand clause type to 5-bit
651- pan/bi: Add missing message types
652- pan/bi: Print message types as strings
653- pan/bi: Use canonical term "message type"
654- pan/bi: Use canonical term dependency
655- pan/bi: Use canonical flow control enum
656- pan/bi: Pass flow_control through directly
657- pan/bi: Handle vector moves
658- pan/bi: Expose GL 2.1 on Bifrost
659- pan/bi: Fix simple txl test
660- pan/bi: Use canonical texture op names in IR
661- pan/bi: Streamline TEXC/TEXS naming/selection
662- pan/bi: Encode skip bit into IR
663- pan/bi: Pack skip bit for texture operations
664- pan/bi: Add texture operator descriptor
665- pan/bi: Stub out TEXC handling
666- pan/bi: Add data register passing infrastructure
667- pan/bi: Handle nir_tex_src_lod
668- pan/bi: Pack TEXC
669- pan/bi: Rewrite to fit dest = src constraint
670- pan/bi: Prefer 'texture_index' to 'image_index'
671- panfrost: Add missing XML for Bifrost samplers
672- panfrost: Fix Bifrost filter selection
673- panfrost: Fix Bifrost high LOD clamp
674- panfrost: Add some missing Bifrost texture XML
675- pan/bi: Implement txb
676- panfrost: Set helper_invocation_enable for Bifrost
677- pan/bi: Fix message type printing
678- pan/bi: Don't terminate helper threads
679- panfrost: Add panfrost_block_dim helper
680- pan/bi: Use new block dimension helper
681- panfrost: Fix faults on block-based formats on Bifrost
682- pan/bi: Map NIR tex ops to Bifrost ops
683- pan/bi: Add bi_emit_lod_cube helper
684- pan/bi: Implement FETCH
685- panfrost: Update XML for Bifrost early-z/FPK
686- panfrost: Set "shader modifies coverage?" flag
687- panfrost: Temporarily disable FP16 on Bifrost
688- pan/bi: Disable mediump output lowering
689- pan/bi: Range check newc/oldc when rewriting
690- panfrost: Rename gtransfer to transfer
691- panfrost: Use canonical characterization of tls_size
692- panfrost: Drop panfrost_vt_emit_shared_memory
693- pan/mdg: Cleanup mir_rewrite_index_src_single
694- pan/bi: Drop 64-bit constant support
695- pan/bi: Fix handling of small constants in bi_lookup_constant
696- pan/bi: Stub spilling
697- pan/bi: Add no_spill flag to IR
698- pan/bi: Implement bi_choose_spill_node
699- pan/bi: Add spills/fills parameters
700- pan/bi: Add bi_spill helper
701- pan/bi: Add bi_fill
702- pan/bi: Add bi_rewrite_index_src_single helper
703- pan/bi: Add helpers for working with singletons
704- pan/bi: Implement bi_spill_register
705- pan/bi: Factor out singleton construction from scheduler
706- pan/bi: Add bi_foreach_clause_in_block_safe helper
707- pan/bi: Pack LOAD/STORE
708- pan/bi: Implement spilling
709- pan/bi: Pipe through tls_size
710- panfrost: Move nir_undef_to_zero to common util/
711- pan/bi: Use nir_undef_to_zero
712- panfrost: Record architecture major version
713- panfrost: Don't export queries
714- panfrost: Calculate thread count on Bifrost
715- panfrost: Fix component order XML
716- panfrost: Implement BGRA textures
717- panfrost: Drop PIPE_CAP_GLSL_FEATURE_LEVEL for Bifrost
718- panfrost: Don't advertise MSAA on Bifrost
719- pan/bi: Account for bool32 ld_ubo reads
720- panfrost: Don't double-compose swizzles
721- panfrost: Add MALI_EXTRACT_INDEX helper
722- panfrost: Use consistent swizzle names in XML
723- panfrost: Add a blendable format table
724- panfrost: Use panfrost_blendable_formats for MFBD
725- panfrost: Use panfrost_blendable_formats for SFBD
726- panfrost: Use panfrost_blendable_formats for blending
727- panfrost: Complete format_to_bifrost_blend
728- panfrost: Remove duplicated format arg for ASTC
729- panfrost: Remove panfrost_is_z24s8_variant
730- panfrost: Add v7 special colour formats
731- panfrost: Add missing depth/stencil formats
732- panfrost: Add miscellaneous missing Midgard formats
733- panfrost: Add v7-specific depth formats
734- panfrost: Split out v6/v7 format tables
735- panfrost: Rename VARYING_DISCARD to CONSTANT
736- panfrost: Rename VARYING_POS to SNAP4
737- panfrost: Add missing 1/2/4/64-bit formats to XML
738- panfrost: Use macro for panfrost_get_default_swizzle
739- panfrost: Fix RGB5A1 formats
740- panfrost: Fix BGR233 component order
741- panfrost: Add missing alpha-first special formats
742- pan/bi: Suppress disassembly for internal shaders
743- pan/bi: Lower +CUBEFACE2
744- panfrost: Disable point sprites on Bifrost
745- panfrost: Advertise Bifrost support
746- panfrost: Drop unused swizzles
747- panfrost: Add bi_emit_array_index helper
748- pan/bi: Track tex data register swizzles
749- pan/bi: Handle 3D/array coordinates
750- pan/bi: Don't emit TEXS for array textures
751- panfrost: Set .array_size on Bifrost
752- nir: Add SRC_TYPE to store_combined_output_pan
753- pan/mdg: Deduplicate nir_find_variable_with_driver_location
754- pan/mdg: Move writeout lowering to common panfrost
755- panfrost: Pass through src_type
756- panfrost: Deduplicate shader properties
757- pan/bi: Add +ZS_EMIT instruction to IR
758- pan/bi: Infer z/stencil flags from sources passed
759- pan/bi: Factor out bi_emit_atest
760- pan/bi: Factor out bi_emit_blend
761- pan/bi: Stub handling for nir_intrinsic_store_combined_output_pan
762- pan/bi: Emit +ZS_EMIT as needed
763- pan/bi: Lower depth/stencil stores
764- pan/bi: Correctly calculate render target index
765- pan/mdg: Add missing Collabora copyright notices
766- panfrost: Add missing Collabora copyright notices
767- pan/bi: Model writemasks correctly
768
769Andreas Baierl (4):
770
771- lima/ppir: Skip instruction merge when having more than one successor
772- lima: fix glCopyTexSubImage2D
773- lima: set clear depth value to 0x00ffffff as default
774- lima/parser: Fix varyings decoding in RSW
775
776Andres Gomez (3):
777
778- gitlab-ci: reuse container_post_build when building the test images
779- gitlab-ci: reorder container_post_build call for arm64_test image
780- Revert "gitlab-ci: reuse container_post_build when building the test images"
781
782Andrew Randrianasulu (1):
783
784- st/va: fix build with old libva
785
786Andrey Vostrikov (1):
787
788- egl/x11: Free memory allocated for reply structures on error
789
790Andrii Simiklit (4):
791
792- util/xmlconfig: eliminate memory leak
793- nir: get rid of OOB dereferences in nir_lower_io_arrays_to_elements
794- glx: get rid of memory leak
795- glsl: avoid an out-of-bound access while setting up a location for variable
796
797Anthoine Bourgeois (4):
798
799- docs/features: Minor update extensions support
800- docs/features: VK_KHR_mir_surface is disabled, remove it
801- docs/features: add some extensions we missed
802- docs/features.txt: VK_EXT_separate_stencil_usage not exposed on RADV
803
804Antonio Caggiano (1):
805
806- zink: pre-hash gfx-pipeline-state
807
808Anuj Phogat (2):
809
810- intel/gen9: Enable MSC RAW Hazard Avoidance
811- intel: Pointer to SCISSOR_RECT array should be 64B aligned
812
813Aníbal Limón (1):
814
815- src/util/disk_cache_os.c: Add missing headers for open/fcntl
816
817Arcady Goldmints-Orlov (7):
818
819- broadcom/compiler: support nir_intrinsic_load_sample_id
820- broadcom/compiler: Add a constant folding pass after nir_lower_io
821- broadcom/compiler: Enable PER_QUAD for UBO and SSBO loads.
822- broadcom/compiler: support varyings with struct types
823- broadcom/compiler: use nir io semantics
824- broadcom/compiler: Handle non-SSA destinations for tex instructions
825- broadcom/compiler: Allow spills of temporaries from TMU reads
826
827Bas Nieuwenhuizen (58):
828
829- radv: Add ETC2 support on RAVEN2.
830- radv: Fix assert that is too strict.
831- radv: Add forcecompress debug flag.
832- radv: Do not consider layouts fast-clearable on compute queue.
833- radv: Update CI expectations for the recent descriptor indexing regressions.
834- radv: When importing an image, redo the layout based on the metadata.
835- radv:  Clean up setting the surface flags.
836- radv: Use getter instead of setter to extract value.
837- driconf: Support selection by Vulkan applicationName.
838- radv: Override the uniform buffer offset alignment for World War Z.
839- radv: Fix handling of attribs 16-31.
840- radv: Remove conformance warnings with ACO.
841- radv: Update CTS version.
842- radv: Fix 3d blits.
843- radv: Centralize enabling thread trace.
844- radv: Allow triggering thread traces by file.
845- radv: Fix threading issue with submission refcounts.
846- radv: Avoid deadlock on bo_list.
847- spirv: Deal with glslang bug not setting the decoration for stores.
848- spirv: Deal with glslang not setting NonUniform on constructors.
849- radeonsi: Work around Wasteland 2 bug.
850- radv,gallium: Add driconf option to reduce advertised VRAM size.
851- amd/common: Store non-displayable DCC pitch.
852- radeonsi: Put retile map in separate buffers.
853- radeonsi: Move display dcc dirty tracking to framebuffer emission.
854- ac/surface: Fix depth import on GFX6-GFX8.
855- radv,radeonsi: Disable compression on interop depth images
856- Revert "radv: set BIG_PAGE to improve performance on GFX10.3"
857- Revert "radv: emit {CB,DB}_RMI_L2_CACHE_CONTROL at framebuffer time"
858- st/mesa: Deal with empty textures/buffers in semaphore wait/signal.
859- radv: Disable NGG on APUs.
860- radv: Simplify radv_is_hw_resolve_pipeline.
861- radv: Add VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 rendering support.
862- radv: Fix emitting SQTT userdata.
863- radv: Use correct alignment for SQTT buffer sizes.
864- radv: Fix RGP Asic CU info for GFX10+.
865- radv: Include flushes in the barrier.
866- radv: Record cache flushes for RGP.
867- radv: Write correct dispatch size for RGP.
868- radeonsi: Fix imports with displayable DCC.
869- radv: Use atomics to read query results.
870- radv: Set fce metadata correctly on DCC initialization.
871- radv: Fix event write cmdbuffer allocation when tracing.
872- radv/winsys: Expand scope of allbos lock.
873- radv: Fix mipmap extent adjustment on GFX9+.
874- aco: Add VK_KHR_shader_terminate_invocation support.
875- amd/llvm: Add VK_KHR_shader_terminate_invocation support.
876- radv: Advertise VK_KHR_shader_terminate_invocation.
877- frontends/va: Initialize drm modifier on import.
878- radv: Fix 1D compressed mipmaps on GFX9.
879- radv: Do not access set layout during vkCmdBindDescriptorSets.
880- radv: Fix variable name collision.
881- radv: Skip tiny non-visible VRAM heap.
882- radv: Fix budget calculations with large BAR.
883- radv: Fix exporting/importing multisample images.
884- radv: Fix RB+ blending for VK_FORMAT_E5B9G9R9_UFLOAT_PACK32.
885- radv: Fix a hang on CB change by adding flushes.
886- radv: Deal with unused attachments in mip flush
887
888BillKristiansen (1):
889
890- compiler/glsl: Initialize local variable to zero to fix MSVC RTC error
891
892Boris Brezillon (141):
893
894- spirv: Move the emit a 'return value' store logic into own function
895- compiler/nir: Add new flags to lower pack/unpack split instructions
896- nir: Fix i64tof32 lowering
897- spirv: Add support for the CL Round instruction
898- panfrost: Rename panfrost_create_pool() into panfrost_pool_init()
899- panfrost: Avoid accessing pan_pool fields directly
900- panfrost: Store transient BOs in a dynamic array
901- spirv: Add a vtn_get_mem_operands() helper
902- spirv: Don't accept CPacked decoration on struct members
903- spirv: Propagate packed information to glsl_type
904- glsl: Propagate packed info in get_explicit_type_for_size_align()
905- nir/glsl: Consider block interfaces as structs when it comes to size/align calculation
906- nir: Expose the packed attribute attached to glsl_type objects
907- panfrost: gen_pack: Minor formatting improvement
908- panfrost: gen_pack: Fix \__gen_unpack_uint()
909- panfrost: gen_pack: Add pan_{unpack,print}() helpers
910- panfrost: gen_pack: Move the group get_length() logic to its own method
911- panfrost: gen_pack: Add the aggregate concept
912- panfrost: gen_pack: Allow empty structs
913- panfrost: gen_pack: Add an align() modifier
914- panfrost: gen_pack: Add a log2 modifier
915- panfrost: gen_pack: Allow enum/define values expressed in hexadecimal
916- panfrost: decode: Make the indentation consistent with auto-generated print helpers
917- panfrost: decode: Rework the DUMP_{CL,ADDR}() macros
918- panfrost: decode: Add a macro to dump unpacked descriptors
919- panfrost: decode: Use pan_{unpack,print}() when applicable
920- panfrost: XML-ify the local storage descriptor
921- panfrost: Clarify what TILED mode is
922- panfrost: Add Tiled linear mode to the Block Format enum
923- panfrost: XML-ify the midgard tiler descriptor
924- panfrost: XML-ify the single target framebuffer descriptor
925- panfrost: XML-ify the bifrost tiler descriptors
926- panfrost: XML-ify the multi-target framebuffer descriptors
927- panfrost: XML-ify the job header descriptor
928- panfrost: XML-ify the write value job descriptor
929- panfrost: XML-ify the fragment job descriptor
930- panfrost: Rename the Blend dither disable flag
931- panfrost: XML-ify the compute job descriptor
932- panfrost: Avoid copying job descriptors around when we can
933- panfrost: decode: Misc formatting improvements
934- panfrost: gen_pack: Fix gnu-empty-initializer errors
935- ci: Extend meson-clang coverage by compiling all gallium drivers
936- panfrost: Fix bifrost tiler descriptor definition
937- panfrost: Fix bifrost tiler job emission
938- panfrost: Adjust quirks for bifrost v6
939- panfrost: Add preliminary support for Mali G72
940- kmsro: Add mediatek entry point
941- panfrost: Add support for rbg16 formats
942- panfrost: decode: Fix decode_bifrost_constant() prototype
943- panfrost: decode: Flag pandecode_log_typed() as PRINTFLIKE
944- panfrost: bifrost: disassemble: Fix decoding of next_regs
945- panfrost: Fix a warning
946- panfrost: Adjust the draw descriptor definition
947- panfrost: Adjust the primitive desc definition
948- panfrost: Adjust the renderer state definition
949- panfrost: Get rid of the with_opaque qualifier on the renderer state desc
950- panfrost: Drop the with_opaque specifier on midgard blend desc
951- panfrost: gen_pack: Drop support for opaque structs
952- panfrost: gen_pack: Support overlapping structs
953- panfrost: gen_pack: Add a no-direct-packing attribute
954- panfrost: Rework fixed-function blending
955- panfrost: Rework the render target layout to use overlapping structs
956- panfrost: XML-ify the blend descriptors
957- panfrost: Fix fixed-function blend on Mali v6
958- panfrost: Constify the rt_fmts arg passed to pan_lower_framebuffer()
959- panfrost: Move the blend constant mask extraction out of make_fixed_blend_mode()
960- panfrost: Pass compile arguments through a struct
961- panfrost: Allocate blit_blend with ralloc()
962- panfrost: Don't leak NIR blend shaders
963- panfrost: Let compile_blend_shader() allocate the blend shader object
964- panfrost: Get rid of the constant patching done on blend shader binaries
965- panfrost: Move the blend shader cache at the context level
966- panfrost: Fix fixed-function blend on bifrost
967- panfrost: Extend compile_inputs to pass a blend descriptor
968- pan/bi: Copy blend shader info from compile_inputs
969- pan/bi: Use canonical name for FAU RAM sources
970- pan/bi: Get rid of the regs argument in bi_assign_fau_idx()
971- pan/bi: Rework blend descriptor access handling
972- pan/bi: Add support for load_blend_const_color_{r,g,b,a}_float
973- pan/bi: Support indirect jumps
974- panfrost: Add a "Bifrost Internal Blend" descriptor
975- panfrost: Scalarize nir_load_blend_const_color_rgba
976- panfrost: Flag blend shader function as an entry point
977- pan/bi: Add load_output support
978- pan/bi: Collect return addresses of blend calls
979- pan/bi: Special-case BLEND instruction emission for blend shaders
980- pan/bi: Reserve r0-r3 in blend shaders
981- pan/bi: Special-case load_input for blend shaders
982- panfrost: Add missing tile-buffer formats to the format enum
983- panfrost: Add blend shader support to bifrost
984- panfrost: Adjust the renderer state definition
985- panfrost: Fix tiler job injection
986- panfrost: Add the bifrost tiler internal state field
987- panfrost: Add specialized preload descriptors
988- panfrost: Replace unkown renderer state fields by their real names
989- pan/bi: Make sure we don't print special index as a register
990- pan/bi: Print blend descriptor source properly
991- pan/bi: Add support for load_sample_id
992- pan/bi: Support the case where TEXC needs 0 or 1 staging reg
993- pan/bi: Add basic support for txf_ms
994- panfrost: Make {midgard,bifrost}_compile_shader_nir() return a program object
995- panfrost: Build blit shaders on Bifrost too
996- panfrost: Use real name for attribute's unknown field
997- panfrost: Rename panfrost_transfer to panfrost_ptr
998- panfrost: Pass the texture payload through a panfrost_ptr
999- panfrost: Split panfrost_load_midg()
1000- panfrost: Add support for native wallpapering on Bifrost
1001- panfrost: Use native wallpapering on Bifrost
1002- panfrost: Get rid of the non-native wallpering bits
1003- panfrost: Preload primitive flags when gl_FrontFacing is accessed
1004- pan/bi: Add support for load_front_face
1005- pan/bi: Add support for load_point_coord
1006- pan/bi: Lower {i,u}{min,max} instructions
1007- pan/bi: Add ult support
1008- pan/bi: Fix ms_idx type to catch missing ms_index source
1009- panfrost: Leave push_constants pointer to NULL if there's no uniform
1010- panfrost: Suppress Bifrost prefetching
1011- panfrost: Add array size to XML
1012- panfrost: Implement v7 texture payloads
1013- pan/bi: s/t0/t1/ in bi_disasm_dest_add()
1014- pan/bi: Move special instruction packing to a separate helper
1015- pan/bi: Split special class in two
1016- pan/bi: Hook up cube instructions packing
1017- pan/bi: Lower cube map coordinates
1018- panfrost: Force late pixel kill when depth/stencil is written from the FS
1019- panfrost: Expose GLES3 features on Bifrost when PAN_MESA_DEBUG=deqp
1020- pan/bi: Extract LD_VAR sample field from ins->load_vary.interp_mode
1021- pan/bi: Support centroid and sample interpolations
1022- pan/bi: Fix swizzle handling in bi_copy_src()
1023- pan/bi: Add support for load_ubo
1024- pan/bi: Lower uniforms to UBO
1025- pan/bi: Get rid of bi_emit_ld_uniform()
1026- pan/bi: Move bitwise op packing out of bi_pack_fma()
1027- pan/bi: Fix ARSHIFT definitions
1028- pan/bi: Add support for ishr
1029- pan/bi: Add support for ushr
1030- panfrost: Allow linear ZS resources on Bifrost
1031- pan/bi: Add support for load_vertex_id
1032- pan/bi: Add support for load_instance_id
1033- panfrost: Fix Bifrost blend descriptor emission
1034- panfrost: Fix ->reads_frag_coord assignment
1035
1036Boyuan Zhang (5):
1037
1038- vl: add flag and definition for protected playback
1039- frontends/va: handle protected slice data buffer
1040- radeon: add decryption params definition header
1041- radeon/vcn: add defines for drm message buffer
1042- radeon/vcn: program drm message buffer
1043
1044Brendan Dougherty (1):
1045
1046- mesa: Fix vertex_format_to_pipe_format index.
1047
1048Caio Marcelo de Oliveira Filho (19):
1049
1050- intel/compiler: Use C99 array initializers for prog_data/key sizes
1051- nir: Add nir_intrinsic_terminate and nir_intrinsic_terminate_if
1052- spirv: Update headers and metadata from latest Khronos commit
1053- spirv: Handle SpvOpTerminateInvocation
1054- intel/fs: Handle nir_intrinsic_terminate
1055- vulkan: Update XML and headers to 1.2.158
1056- anv: Advertise VK_KHR_shader_terminate_invocation
1057- nir: Use a switch in nir_lower_explicit_io_instr
1058- intel/fs: Don't emit_uniformize when getting a constant SSBO index
1059- spirv: Implement SpvCapabilitySubgroupShuffleINTEL from SPV_INTEL_subgroups
1060- nir: Add nir_intrinsic_{load,store}_deref_block_intel
1061- spirv: Implement SpvCapabilitySubgroupBufferBlockIOINTEL
1062- intel/fs: Add A64 OWORD BLOCK opcodes
1063- intel/fs: Implement nir_intrinsic_{load,store}_global_block_intel
1064- intel/fs: Add surface OWORD BLOCK opcodes
1065- intel/fs: Implement nir_intrinsic_{load,store}_ssbo_block_intel
1066- intel/fs: Implement nir_intrinsic_{load,store}_shared_block_intel
1067- compiler: Add new Vulkan shader stages
1068- spirv: Add Ray Tracing execution models
1069
1070Caleb Callaway (1):
1071
1072- iris: Add missing newline to debug log message
1073
1074Chad Versace (2):
1075
1076- anv/image: Check DISJOINT in vkGetPhysicalDeviceImageFormatProperties2 (v2)
1077- anv/image: Fix isl_surf_usage_flags for stencil images
1078
1079Charmaine Lee (3):
1080
1081- st/mesa: increase size of gl_register_file bitfields
1082- winsys/svga: fix display corruption after surface_init
1083- svga: fix draw elements with 8-bits indices
1084
1085Chia-I Wu (2):
1086
1087- virgl: move protocol headers to a common place
1088- virgl: update protocol headers
1089
1090Christian Gmeiner (17):
1091
1092- etnaviv: call nir_lower_bool_to_bitsize
1093- etnaviv: completely turn off MSAA
1094- ci: do not build libdrm for vc4, reedreno and etnaviv
1095- etnaviv: call nir_opt_shrink_vectors(..) in opt loop
1096- etnaviv: shuffle some variant fields
1097- etnaviv: add disk cache
1098- etnaviv: simplify linear stride implementation
1099- ci: piglit: conditionally build OpenCL tests
1100- ci/bare-metal: suppress 'No such file or directory'
1101- etnaviv: drop etna_pipe_wait(..)
1102- ci/x86: speed up piglit testing
1103- nir: make tgsi_varying_semantic_to_slot(..) public
1104- etnaviv: convert from tgsi semantic/index to varying-slot
1105- etnaviv: move etna_dump_shader(..) to generic location
1106- etnaviv: move etna_destroy_shader(..) to generic location
1107- etnaviv: nir: do not run opt loop after nir_lower_bool_xxx(..)
1108- etnaviv/drm: fix evil-twin etna_drm_table_lock
1109
1110Connor Abbott (59):
1111
1112- freedreno/afuc: Fix printing preemptleave on a5xx
1113- freedreno/afuc: Handle setsecure opcode
1114- freedreno/afuc: Add iret
1115- freedreno/afuc: Handle xmov modifiers
1116- freedreno/afuc: Make 0 a valid number
1117- freedreno/afuc: Install asm/disasm
1118- freedreno: Add afuc regression test
1119- nir/spirv: Add the option to keep ViewIndex as an input
1120- nir/lower_input_attachments: Refactor to use an options struct
1121- nir/lower_input_attachments: Support loading layer id as an input
1122- radv: Use an input for the layer when lowering input attachments
1123- tu: Use an input for the layer when lowering input attachments
1124- nir/lower_input_attachments: Support loading layer id via gl_ViewIndex
1125- freedreno/a6xx: Add multiview registers
1126- ir3: Add support for gl_ViewIndex in VS & FS
1127- tu: Translate VkRenderPassMultiviewCreateInfo to VkRenderPassCreateInfo2
1128- tu: Parse multiview render pass info
1129- tu: Implement multiview clear/resolve interactions
1130- tu: Improve timestamp queries
1131- tu: Implement multiview query interactions
1132- tu: Add multiview lowering pass
1133- tu: Implement multiview pipeline state
1134- tu: Enable VK_KHR_multiview
1135- freedreno/computerator: Use a render node
1136- tu: Expose shaderStorageImageExtendedFormats
1137- tu: Expose shaderImageGatherExtended
1138- ir3: Don't use the format to get the image type
1139- tu: Expose shaderStorageImage*WithoutFormat
1140- nir: Add nir_lower_multiview pass
1141- anv: Use nir_lower_multiview pass
1142- nir: Count i/o slots correctly for per-view variables
1143- nir/lower_io_arrays: Fix xfb_offset bug
1144- nir: Add per_view to IO semantics
1145- nir: Handle per-view io in nir_io_add_const_offset_to_base()
1146- tu: Write multiview control registers in binning pass
1147- tu: Refactor shader compilation flow
1148- ir3, tu: Run optimization loop twice
1149- ir3, tu: Link per-view position correctly
1150- tu: Enable multi-position output
1151- intel/nir: Use nir control flow helpers
1152- radv: Use nir control flow insertion helpers
1153- ttn: Use nir control flow insertion helpers
1154- nir/lower_returns: Use nir control flow insertion helpers
1155- nir/opt_if: Remove open-coded nir_ssa_def_rewrite_uses()
1156- nir/opt_if: Use early returns in opt_if_merge()
1157- ttn: Fix number of components for IF/UIF
1158- nir/lower_clip_cull: Store array size for FS inputs
1159- ir3: Switch tess lowering to use location
1160- ir3: Handle clip+cull distances
1161- tu: Implement clip/cull distances
1162- freedreno/a6xx: Implement user clip/cull distances
1163- freedreno: Introduce common device info struct
1164- tu: Use freedreno_dev_info
1165- freedreno: Use freedreno_dev_info
1166- freedreno/a6xx: Update SO registers for streams
1167- ir3: Support geometry streams
1168- util/bitset: Add a range iterator helper
1169- tu: Support geometryStreams
1170- tu: Support rasterizerDiscardEnable and RasterizationStreamSelect
1171
1172Daniel Abrecht (1):
1173
1174- etnaviv: Make sure to track different pipe_screens for different DRM device descriptions
1175
1176Daniel Schürmann (26):
1177
1178- aco: execute branch instructions in WQM if necessary
1179- nir,amd: remove trinary_minmax opcodes
1180- aco/isel: refactor code and remove unnecessary v_mov
1181- aco/isel: refactor emit_vop3a_instruction() to handle 2 operand instructions
1182- ac/nir: implement nir_op_[un]pack_[64/32]_\*
1183- aco: propagate SGPRs into VOP1 instructions early.
1184- aco: expand create_vector more carefully w.r.t. subdword operands
1185- aco: use p_create_vector for nir_op_pack_half_2x16
1186- nir/opt_algebraic: optimize unpack_half_2x16_split_x(ushr, a, 16)
1187- aco: use p_split_vector for nir_op_unpack_half\_\*
1188- aco: add validation rules for p_split_vector
1189- aco: use v_cvt_pkrtz_f16_f32 for pack_half_2x16
1190- radv,aco: lower_pack_half_2x16
1191- aco: use VOP2 version of v_cvt_pkrtz_f16_f32 on GFX_6_7_10
1192- aco: use VOP2 for v_cvt_pkrtz_f16_f32 if possible
1193- aco: refactor GFX6_7 subdword copy lowering
1194- aco: improve code sequences for 16bit packing
1195- aco: use do_pack() for self-intersecting operations.
1196- aco: fix GFX8 16-bit packing
1197- aco: implement nir_op_unpack_[64/32]_\*
1198- ac/nir: implement nir_op_[un]pack_64_4x16
1199- nir: add options to lower nir_op_pack_[64/32]_\* via nir_lower_alu_to_scalar()
1200- radv: lower pack_[64/32]_\* via nir_lower_alu_to_scalar()
1201- radv: remove call to nir_lower_pack()
1202- aco: refactor split_store_data() to always split into evenly sized elements
1203- nir/lcssa: consider loops with no back-edge invariant
1204
1205Daniel Stone (17):
1206
1207- glsl/test: Don't run whitespace tests in parallel
1208- CI: Disable Panfrost T860 and AMD Stoney tests
1209- CI: Skip flaky CS test on VirGL
1210- CI: Skip another flaky GS test on softpipe
1211- CI: Disable Panfrost T720/T760 CI
1212- meson: Add MSVC narrowing-int-to-char warnings
1213- CI: Windows: Use separate config file for Docker
1214- CI: Re-enable VS2019 build
1215- CI: Disable Windows again
1216- CI: Temporarily disable Panfrost T7xx
1217- CI: Re-enable Panfrost T7xx
1218- CI: Disable Panfrost T7xx CI
1219- CI: Re-enable Panfrost T7xx CI
1220- CI: Don't run pixmark-piano twice on radeonsi
1221- CI: Only run OpenCL tests when we need to
1222- CI: Disable Panfrost T760
1223- freedreno: Add missing dependency to build
1224
1225Danylo Piliaiev (19):
1226
1227- st/mesa: Treat vertex outputs absent in outputMapping as zero in mesa_to_tgsi
1228- anv/nir: Unify inputs_read/outputs_written between geometry stages
1229- spirv: Only require bare types to match when copying variables
1230- ir_constant: Return zero on out-of-bounds vector accesses
1231- glsl: Eliminate assigments to out-of-bounds elements of vector
1232- glsl: Eliminate out-of-bounds triop_vector_insert
1233- intel/disasm: Change visibility of has_uip and has_jip
1234- intel/disasm: brw_label and support functions
1235- intel/disasm: Label support in shader disassembly for UIP/JIP
1236- intel/assembler: Add labels support
1237- intel/compiler: Fix pointer arithmetic when reading shader assembly
1238- st/nir: Call st_glsl_to_nir_post_opts before interface unification
1239- nir/lower_io: Eliminate oob writes and return zero for oob reads
1240- nir/large_constants: Eliminate out-of-bounds writes to large constants
1241- nir/lower_samplers: Clamp out-of-bounds access to array of samplers
1242- intel/fs: Disable sample mask predication for scratch stores
1243- docs: add INTEL_SHADER_ASM_READ_PATH description
1244- nir/lower_returns: Append missing phis' sources after "break" insertion
1245- freedreno/a6xx: Fix typo in height alignment calculation in a6xx layout
1246
1247Dave Airlie (115):
1248
1249- anv: add no reloc flags on empty and simple bo paths.
1250- CI: temp disable t720/t760 jobs.
1251- llvmpipe: only read 0 for channels being read
1252- gallium: add an interface for memory allocations.
1253- gallium: add a resource flag to say no over allocation.
1254- llvmpipe: add support for memory allocation APIs
1255- gallivm/nir: add load push constant support
1256- util/format: add some ZS helpers for vallium
1257- vulkan/wsi: add sw support. (v2)
1258- vallium: initial import of the vulkan frontend
1259- llvmpipe/blit: for 32-bit unorm depth blits just copy 32-bit
1260- llvmpipe: enable GL 4.5
1261- vallium: fix input attachment lowering variable shadowing
1262- llvmpipe/cs: update compute counters not fragment shader.
1263- gallium/nir/tgsi: reindent some code in the nir->tgsi info (v2)
1264- gallivm/nir: add imod support
1265- gallivm/sample: fix lod query on array textures.
1266- llvmpipe: lower uadd_carry/usub_borrow.
1267- gallium/nir/tgsi: add support for compact variables
1268- gallivm/nir: fixup compact TCS variable storage.
1269- gallivm/nir: split tex/sampler indirect offsets
1270- llvmpipe: lower cs local index from id
1271- llvmpipe: lower mul 2x32_64
1272- llvmpipe/nir: lower some more packing at nir level.
1273- llvmpipe: add reference counting to fragment shaders.
1274- vallium: handle 3D image views properly.
1275- vallium: limit buffer allocations to gallium max.
1276- gallium/nir/tgsi: fix nir->tgsi info conversion for samplers/image
1277- gallivm/nir: lower tg4 offsets.
1278- gallivm/nir: add indirect swizzle output loading support
1279- gallivm/nir: add quantize to f16 support
1280- gallivm/nir: fix const compact
1281- gallivm/nir: lower frexp/ldexp
1282- gallivm/nir: add subpass sampler type support
1283- gallivm: use common code to select texel type
1284- llvmpipe: blend has effects even if no colorbuffers.
1285- llvmpipe: add array/3d clearing support
1286- llvmpipe/fs: multisample depth/stencil bad ir generated
1287- gallivm/nir: allow 64-bit arit ops
1288- gallivm/nir: add some f16 support
1289- vallium: disable VK_KHR_shader_float16_int8.
1290- vulkan/device_select: don't pick a cpu driver as the default
1291- llvmpipe: include gallivm perf flags in shader cache.
1292- gallivm: disable brilinear for lod bias and explicit lod.
1293- vtn: add an option to create a nir library from spirv
1294- clover/nir: add libclc lowering pass
1295- util: add missing extern C
1296- clover: handle libclc shader (v3)
1297- gallivm: fix pow(0, y) to be 0
1298- gallivm: fix 64-bit CL intrinsics.
1299- gallivm/nir: fix up non 32-bit load stores
1300- gallivm/nir: handle non-32-bit mul high
1301- llvmpipe: use an alternate env var to enable clover.
1302- lavapipe: rename vallium to lavapipe
1303- gallivm/nir: make sure to mask global reads.
1304- llvmpipe/cs: add in shader shared size.
1305- gallivm/nir: fix non-32 bit find lsb/msb
1306- lavapipe: drop dri,dricommon deps.
1307- ci: move to using clang 10 for meson + clover
1308- clover: Use core libclc loader
1309- ci: enable piglit testing of clover/llvmpipe.
1310- clover: don't call validate spirv at all if not needed
1311- ci: fix deqp clone + fetch
1312- CI: build our own spirv tools
1313- clover/nir: add a constant folding pass before lowering mem const
1314- llvmpipe: fix sampler/image binding for clover.
1315- gallivm: add load/store scratch support.
1316- llvmpipe: fix 8/16 bit global stores
1317- gallivm: fix 64->16 f2f16
1318- gallivm: add 16-bit split/merge support.
1319- gallivm: add b2i8/b216 support
1320- gallivm: handle sub-32 bit masked stores.
1321- gallivm: add support for 8/16-bit mul_hi
1322- gallivm: get correct min/max behaviour for kernels.
1323- gallivm: lower flrp for all sizes.
1324- CI: remove llvmpipe cl flake test
1325- gallivm: zero init the temporary register storage.
1326- gallium: add a level parameter to resource parameter get
1327- gallium: add a layer stride pipe resource parameter.
1328- llvmpipe: add resource get param support.
1329- lavapipe: use resource get param.
1330- gallivm: fix f16 quantize.
1331- lavapipe: don't write to pending clear aspects in cmd buffer
1332- lavapipe: constify state pointers into command buffers.
1333- lavapipe: fix dEQP-VK.info.device_properties
1334- gallivm/nir: handle dvec3/4 inputs properly.
1335- gallivm/nir: fix vulkan vertex inputs
1336- lavapipe: fix 3d compressed texture copies.
1337- lavapipe: stop crashes with 3D z blits
1338- llvmpipe: add clear_buffer callback. (v2)
1339- lavapipe: use clear_buffer callback
1340- lavapipe: don't advertise linear filtering on integer textures.
1341- gallium: add a non-multisample sample mask out behaviour flag.
1342- llvmpipe: respect the sample mask in non-multisample flag
1343- lavapipe: request correct sample mask behaviour
1344- CL: update CL headers to 3.0
1345- vtn/opencl: add ctz support
1346- clover: access 3.0 and deprecated 2.2 API
1347- clover/llvm: add 3.0 versioning.
1348- clover/spirv: hook up spir-v environment for 3.0
1349- clover: add empty cl 3.0 dispatch entries.
1350- gallium: handle empty cbuf slots in framebuffer samples helper
1351- u_blitter: port radv 3D blit coords logic.
1352- lavapipe: enable alpha to one.
1353- lavapipe: disable SNORM blending for now
1354- llvmpipe: just use draw_regions in draw/line setup.
1355- draw: fix tess eval pipeline statistics.
1356- lavapipe: fixup device allocate + enable private data
1357- lavapipe: fix wsi acquire fences
1358- llvmpipe/setup: move point stats collection earlier.
1359- llvmpipe: fix multisample point rendering.
1360- llvmpipe: fix multisample lines.
1361- lavapipe: fixup mipmap precsion bits
1362- lavapipe: enable pipeline stats queries
1363- gallium: fix missing bit field in p_state.h
1364
1365Denis Pauk (1):
1366
1367- mesa: bptc fixes for decompress rgba_unorm and rgb_float
1368
1369Duncan Hopkins (10):
1370
1371- meson: Add xcb-fixes to loader when using x11 and dri3. Fixes undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c
1372- zink: clamped maxPerStageDescriptorUniformBuffers limits to INT_MAX when stored as uint32_t.
1373- zink: Basic framework to check for optional instance layers and instance extensions.
1374- zink: Added support for MacOS MoltenVK APIs.
1375- zink: return fail if create_instance fails
1376- zink: Added inbuilt debug logging from the VK_LAYER_LUNARG_standard_validation layer.
1377- zink: add support to device info for macro guards and just VkPhysicalDevice*Features with out the have\_.
1378- zink: have_triangle_fans support.
1379- zink: For MoltenVk added vkFlushMappedMemoryRanges() to vkMapMemory() to fix empty mapped memory.
1380- zink: make physical device functions use a dynamic function pointers.
1381
1382Dylan Baker (31):
1383
1384- Bump development version and clear new_features
1385- meson/freedreno: Fix lua requirement
1386- docs: update calendar for 20.2.0-rc1
1387- docs: update calendar for 20.2.0-rc2
1388- meson/anv: Use variable that checks for --build-id
1389- glsl/xxd.py: fix imports
1390- clover/meson: use dep.get_variable instead of deprecated get_pkgconfig_variable
1391- meson: generalize libclc usage
1392- docs: update calendar and link releases notes for 20.2
1393- docs/release-calender: Add 20.2 stable releases
1394- docs: add release notes for 20.2.0
1395- docs: Add sh256 sums for 20.2.0
1396- docs: add release notes for 20.2.1
1397- docs: add SHA256 sums for 20.2.1
1398- docs: update calendar and link releases notes for 20.2.1
1399- docs: add release notes for 20.2.2
1400- dcs: Add sha256 sums for 20.2.2
1401- docs: update calendar and link releases notes for 20.2.2
1402- bump version for 20.3-rc1
1403- .pick_status.json: Update to bf5cea7232f9ee2934c212211ebefb6fe766526d
1404- .pick_status.json: Update to 87dc3106b077199b829a082e32ec33d0c6d400ab
1405- .pick_status.json: Update to bac6cc586fe4c1b24351e0574d3a961eb631f6ae
1406- bump VERSION for 20.3.0-rc2 release
1407- .pick_status.json: Update to a59b1b18a95af1f8edb0093baf508e974e3251a2
1408- .pick_status.json: Update to a92f597b98bb032b904c7c8a8c3a9fe798b51915
1409- .pick_status.json: Update to 9fa1cdfe7ffd9e7ebd83055e2008f3e4b8ada549
1410- meson: Don't add extra values to shader-cache
1411- appveyor: disable for now
1412- bump VERSION for 20.3-rc3
1413- .pick_status.json: Update to 89f6b72f19dbc503386643c6283047bdb1013bef
1414- .pick_status.json: Update to d3c67d7e7ec6b9cf10fbea0d08e92751b7b0fbae
1415
1416Eduardo Lima Mitev (9):
1417
1418- st: Pass TextureTiling option from texture to memory obj
1419- freedreno: Implement memory object create/destroy for GL_EXT_memory_object
1420- freedreno: Refactor fd_resource_create_with_modifiers() into a helper
1421- freedreno/layout: Move hard-coded minimum width for UBWC to a macro
1422- freedreno: implement pipe screen's resource_from_memobj
1423- freedreno: Implement pipe screen's get_device/driver_uuid()
1424- freedreno: Enable GL_EXT_memory_object and GL_EXT_memory_object_fd
1425- freedreno: Destroy syncobj too when destroying fence
1426- turnip: Enable support for KHR_incremental_present
1427
1428Eleni Maria Stea (3):
1429
1430- radeonsi: support for external buffers (ext_external_objects)
1431- iris: handle PIPE_FD_TYPE_SYNCOBJ type
1432- iris: add support for fence signal capability
1433
1434Emil Velikov (1):
1435
1436- radv: restrict exported symbols with static llvm
1437
1438Emmanuel Vadot (1):
1439
1440- util/os_misc: os_get_available_system_memory() for FreeBSD
1441
1442Eric Anholt (221):
1443
1444- util: Split the pack/unpack functions out of the format desc.
1445- util: Change a codegenned switch statement to a nice little table.
1446- util: Fix up indentation in the generated format tables code.
1447- uitl: Add R1_UNORM to the list of noaccess (no pack/unpack) formats.
1448- util: Make all 3 fetch_rgba functions occupy the same function slot.
1449- util: Mark the format description getter functions as const.
1450- util: Move fetch_rgba to a separate function table.
1451- gallium: Use unpack_rgba() instead of fetch_rgba in translate_generic
1452- freedreno/ir3: Fix compiler warning from the setjmp fails path.
1453- freedreno/cffdec: When .mergedregs is set, don't count half regs.
1454- freedreno/ir3: Fix assertion failures dumping CS high full regs.
1455- util: Expose rgba unpack/fetch functions as external functions as well.
1456- util: Explicitly call the unpack functions from inside bptc pack/unpack.
1457- radv: Move nir_opt_shrink_vectors() into the opt loop.
1458- nir/opt_undef: Handle a couple more normal store intrinsics.
1459- nir: Expand opt_undef to handle undef channels in a store intrinsic.
1460- nir: Shrink store intrinsic num_components to the size used by the writemask.
1461- ci/deqp-runner: Drop stale comment from deqp-runner.sh.
1462- ci/deqp-runner: Drop unused "count" variable
1463- ci/deqp-runner: Add a post-deqp-run filter list for known flakes.
1464- ci/freedreno: Move our skips lists over to being known-flakes lists.
1465- ci/freedreno: List more common flakes reported recently.
1466- ci/bare-metal: Use a new serial buffer tool.
1467- ci/bare-metal: Convert the main cros-servo boot code to python
1468- ci/bare-metal: Retry booting chezas instead of failing when !POWER_GOOD
1469- ci/bare-metal: Try rebooting chezas again if they get stuck during tftp.
1470- nir: Make the nir_builder \*_imm helpers consistently handle bit size.
1471- nir: Add nir_[iu]shr_imm and nir_udiv_imm helpers and use them.
1472- nir: Add a lowering pass for backends wanting load_ubo with vec4 offsets.
1473- freedreno/ir3: Replace our custom vec4 UBO intrinsic with the shared lowering.
1474- nir/load_store_vectorizer: Clean up unit test swizzle assertions.
1475- freedreno: Drop UNIFORM_BUFFER_OFFSET_ALIGNMENT to 32
1476- ci: Mark the rest of compswap as flaky on freedreno.
1477- freedreno/a5xx: Don't set the VARYING flag for fragcoord-only programs.
1478- ci: Test the KHR-GL\* CTS cases with softpipe.
1479- nir/opt_copy_prop_vars: Quiet valgrind warning about overlapping memcpy.
1480- nir: Add a helper for general instruction-modifying passes.
1481- nir/lower_vec_to_movs: Convert to use nir_shader_instructions_pass().
1482- nir/opt_undef: Convert to use nir_shader_instructions_pass().
1483- nir/lower_io_to_scalar: Convert to use nir_shader_instructions_pass().
1484- nir/nir_lower_wrmasks: Use the nir_lower_instructions_pass() helper.
1485- nir/lower_discard_to_demote: Use nir_shader_instructions_pass().
1486- drm-shim: Fix unused variable warnings from asserts in release build.
1487- panfrost: Fix OOB array access compiler warning.
1488- panfrost: Fix remaining release-build warnings.
1489- gallium/tests: Fix compiler warning about unused vars in trivial tests.
1490- nvc0: Fix compiler warning about unused var that gets asserted.
1491- vc4: Fix unused var warnings in release builds from assertions.
1492- nv50: Fix uninitialized var warnings from using assert() as unreachable().
1493- zink: Fix unused var warnings in release build from assertions.
1494- etnaviv: Fix unused var warning in release build from assertions.
1495- lima: Fix unused var/function warnings in release build from assertions.
1496- lima: Fix uninitialized var warning from using assert() as unreachable().
1497- virgl: Fix unused var warnings in release build from assertions.
1498- ci: Add a release build with -Werror enabled.
1499- nir: Fix printing of individual instructions with io semantics.
1500- nir: Look up the shader when printing a single instruction.
1501- ci: Make a missing device name correctly bail out of deqp-runner.sh.
1502- turnip: Make sure we include the build id.
1503- pipe-loader: Use real galliumvl if radeonsi is being linked.
1504- ci: Switch to using gold as the linker.
1505- nir: Invalidate live SSA def information when making new SSA defs.
1506- nir: Switch the indexing of block->live_in/out arrays.
1507- ci: Bump vulkan CTS version to 1.2.3.2, and keep the GL CTS around.
1508- ci: Use the same VK-GL-CTS tree for GL/GLES as VK.
1509- ci: Enable KHR-GL30 CTS testing on freedreno a630.
1510- freedreno/a6xx: Add ARB_depth_clamp and separate clamp support.
1511- gallivm: Report the unsupported intrinsic instead of just assert(0);
1512- gallium/tgsi: Add support for PRIMITIVEID as a system value.
1513- gallium/tgsi: Add some missing opcodes to tgsi_ureg.
1514- gallium/tgsi: Add a helper for initializing ureg from a shader_info.
1515- gallium/ureg: Set the next shader stage from the shader info.
1516- nir: Add simplistic lowering for bany_equal/ball_inequal.
1517- nir/opt_vectorize: Add a callback for filtering of vectorizing.
1518- gallium/tgsi_exec: Add missing DFLR opcode support.
1519- gallium/tgsi_exec: Fix up NumOutputs counting
1520- ci/bare-metal: Use re.search() instead re.match() for our line matching.
1521- ci/bare-metal: Fix detection of "POWER_GOOD not seen in time" fails
1522- ci/bare-metal: Include a timestamp in our serial reads.
1523- ci/bare-metal: Log why our run restarts when it does.
1524- ci/bare-metal: Fix capturing of serial output as job artifacts.
1525- ci/bare-metal: Use python for handling fastboot booting and parsing
1526- nir/load_store_vectorizer: Use more imm helpers in the tests.
1527- nir/load_store_vectorizer: Add unit tests for alignment handling.
1528- nir: Update the comment about nir_lower_uniforms_to_ubo()'s multiplier.
1529- nir: Add a range_base+range to nir_intrinsic_load_ubo().
1530- freedreno/ir3: Use the new NIR UBO ranges in UBO analysis.
1531- freedreno/ir3: Apply the max upload limit to initial range setup
1532- nir: Use explicit deref information to provide real UBO ranges.
1533- iris: Add missing range_base/range to our nir_load_ubos.
1534- turnip: Fix a compiler warning in release builds of the query code.
1535- freedreno: Make the pack struct have a .qword for wide addresses.
1536- turnip: Fix truncation of CS shader iovas to 32 bits.
1537- turnip: Fix truncation of iovas to 32 bits in queries.
1538- ci/bare-metal: Update the kernel to msm-next-pgtables
1539- ci/bare-metal: Allow wget of the kernel/dtb for kernel development.
1540- freedreno: Add another new sysmem flake.
1541- freedreno/cffdec: Fix up texturator parsing scripts for XML changes.
1542- freedreno/cffdec: Add support for texturator's 2DMS layout setup.
1543- freedreno/fdl: Add layout test for the Android CTS's MSAA mustpass surface.
1544- turnip: Add support for a615.
1545- turnip/kgsl: Associate fences with submits.
1546- mesa: Make the android_stub be a set of non-installed shared libraries.
1547- android: Disable trying to read/write to the disk cache.
1548- gallium/drm: Deduplicate screen creation for the dynamic (clover) pipe loader.
1549- gallium/drm: Refactor the stub screen create functions.
1550- gallium/drm: Define the DRM entrypoints in drm_helper.h
1551- gallium/drm: Make the pipe loader handle the driconf merging.
1552- util/xmlconfig: Add a unit test of the code.
1553- virgl: Clean up the driconf definition of GLES_SAMPLES_PASSED_VALUE.
1554- driconf: Use nesting macros for defining options.
1555- mesa: Promote Intel's simple logging façade for Android to util/
1556- turnip: Replace tu_log*() with mesa_log*()
1557- ci/freedreno: Sort the traces in the .yml of expectations
1558- ci/freedreno: Add trace tests for glxgears, 0 A.D., and xonotic.
1559- nir/lower_clip: Add i/o semantics for load/store intrinsics.
1560- intel: Add support for i945g to intel_stub_gpu.
1561- freedreno/ir3: Make sure we run the opt loop after lowering UBOs to vec4.
1562- nir: Document a bit about how align_mul/offset work.
1563- nir: Print the alignment information on casts.
1564- nir/nir_lower_uniforms_to_ubo: Set better alignments on our new instructions.
1565- nir/gl_nir_lower_buffers: Set up align_mul/offset on UBOs.
1566- nir: Make the load_store_vectorizer provide align_mul + align_offset.
1567- nir: Drop the high_offset argument to the load_store_vectorizer filter.
1568- nir: Make nir_lower_ubo_vec4() handle non-vec4-aligned loads.
1569- freedreno/ir3: Enable the i/o vectorizer on UBOs.
1570- ci/bare-metal: Move the "POWER_GOOD not seen in time" check to the right time.
1571- driconf: Eliminate the DRI_CONF_OPT_BEGIN_B macro.
1572- driconf: Fix extra quoting on "Jimenez'".
1573- r200: Reuse DRI_CONF_OPT_F for texture_blend_quality.
1574- driconf: Make a DRI_CONF_OPT_S() for string options.
1575- util/xmlconfig: Drop silly open-coded strdup.
1576- util/xmlconfig: Indent to Mesa style.
1577- driconf: Delete disjoint range support.
1578- driconf: Use DRI_CONF_OPT_I for remaining int options
1579- driconf: Make the driver's declarations be structs instead of XML.
1580- driconf: Stop quoting true/false in boolean option definitions.
1581- util/xmlconfig: Drop use of XML_Char in parsing.
1582- android: Disable the user XML config parsing.
1583- turnip: Don't expose VK_ANDROID_native_buffer on non-Android.
1584- turnip: Use mesa's normal PRINTFLIKE macro instead of our own.
1585- turnip: Mark the vk_errorf helper as bring printflike.
1586- turnip: Extend the coverage of TU_DEBUG=startup.
1587- turnip: Always enable TU_DEBUG=startup on debug drivers.
1588- turnip: Report device loss through \_mesa_loge() instead of fprintf.
1589- turnip/kgsl: Add strerror decode in BO init failure.
1590- driconf: Make sure that the range check on the defaults actually works.
1591- driconf: Restore the ability to override driconf with the environment.
1592- ci/softpipe: Add another flaky GS test to the skips list.
1593- freedreno/ir3: Clean up the UBO upload plan setup.
1594- freedreno/ir3: Don't leave holes the UBO upload plan.
1595- turnip/kgsl: Fix last minute breakage of the build.
1596- turnip/kgsl: Add support for importing dma-bufs.
1597- turnip: Detect Qualcomm gralloc and its UBWC flag on gralloc surfaces.
1598- turnip: Add support for GetSwapchainGrallocUsage2ANDROID().
1599- meson: Drop adding -Wl,--gc-sections to project c/cpp arguments.
1600- glsl/tests: Make the tests skip on Android binary execution failures.
1601- symbols-check: Add \__cxa_guard_\* to the list of approved symbols.
1602- ci/android: Switch to using the Android NDK.
1603- docs: Document how to replicate a CI build locally.
1604- android_stub: Update platform headers to include gralloc1.h.
1605- ci/android: Switch build to using platform SDK version 26.
1606- util: Import a copy of drm's libsync.h
1607- android: Add pre-4.7 Android kernel compatibility to our libsync header.
1608- turnip: Drop a dead error checking path in device init.
1609- turnip: Use Mesa's libsync.h instead of libdrm's libsync.h.
1610- turnip: Don't link the WSI code if we don't have a WSI extension.
1611- turnip: Only link libdrm in the DRM case, not KGSL.
1612- ci: Enable NIR_VALIDATE everywhere.
1613- nir: Introduce nir_metadata_instr_index for nir_index_instr() being current.
1614- nir: Replace nir_ssa_def->live_index with nir_instr->index.
1615- nir: Add a block start/end ip to live instr index metadata.
1616- nir: Add a call to get a struct describing SSA liveness per instruction.
1617- nir: Add an option to not lower source mods for f64/u64/i64.
1618- gallium: Add a nir-to-TGSI pass.
1619- softpipe: Fix buffer overflows in SSBO atomics.
1620- softpipe: Switch to using NIR as the shader format from mesa/st.
1621- meson: Only require libexpat when a part of the build needs it.
1622- freedreno: Use Android's libsync instead of libdrm's.
1623- meson: Don't try to build GLX by default on Android.
1624- meson: Don't enable libunwind by in 'auto' mode on Android.
1625- docs: Document how to build and install Android drivers.
1626- freedreno/cffdec: Fix format overflow warning.
1627- freedreno/tools: Fix compiler warnings about using sz in the error paths.
1628- freedreno/fdperf: Silence a compiler warning about current counter.
1629- turnip: Handle some error paths in allocating CS space from a command buffer.
1630- turnip: Handle the error path for tu/drm's vkResetFences().
1631- turnip: Add error path handling for descriptor pool init.
1632- ci: Enable Werror on meson-arm64-build-test.
1633- gallium/ntt: Add default compiler options for non-native-NIR drivers.
1634- st/mesa: Drop the TGSI paths for PBOs and use nir-to-tgsi if needed.
1635- st/mesa: Drop the TGSI paths for drawpixels and use nir-to-tgsi if needed.
1636- nir: Only validate in passes that might have changed things.
1637- docs: Move the gallium driver documentation to the top level.
1638- docs/vmware: Move the vmware driver docs into the drivers section.
1639- docs/vc4: Move my old vc4 wiki's documentation into docs.mesa3d.org.
1640- docs/vc4: Add information on the hw documentation available.
1641- docs/v3d: Add a little stub of v3d documentation.
1642- docs: Drop extra link to old DRI wiki in the "Help" section.
1643- docs: Add a link to the linux kernel DRM docs under "Developer Topics"
1644- docs: Fix "Hosted by" link and drop duplicate.
1645- ci: Add the new timeout-prone softpipe-gl test to the skips list.
1646- mesa/st: Fix a use-after-free of the NIR shader stage.
1647- st/nir: Fix the st->pbo.use_gs case.
1648- st/nir: Drop setting interp mode on system values in builtins.
1649- tu: Make sure spirv_to_nir knows we support imageStorageWithoutFormat.
1650- turnip: Fix image size for 3D vkGetImageSubresourceLayout.
1651- ci/bare-metal: Apply autopep8 to the bare-metal scripts.
1652- ci/bare-metal: Reset colors at the end of a line of serial output.
1653- ci/deqp: Switch to a new dEQP runner written in Rust.
1654- util/set: Fix the \_mesa_set_clear function to not leave tombstones.
1655- ci: Only install kernel modules for LAVA devices.
1656- gallium/draw: Fix rasterizer_discard for wide points/lines.
1657- freedreno: Fix leak of shader binary on disk cache hits.
1658- freedreno: Fix warning about uninit size for the size==0 special case.
1659- gallium: Fix leak of the merged driconf options.
1660- freedreno: Fix leak of u_transfer_helper.
1661- gallium: Fix leak of bound SSBOs at CSO context destruction.
1662- gallivm: Fix max const buffer count.
1663- gallium: Fix leak of currently bound UBOs at CSO context destruction.
1664- freedreno: Break out of "should we free the entry" loop once we've freed.
1665
1666Eric Engestrom (94):
1667
1668- pick-ui: specify git commands in "resolve cherry pick" message
1669- egl/entrypoint-check: split sort-check into a function
1670- egl/entrypoint-check: add check that GLVND and plain EGL have the same entrypoints
1671- driconf: fix force_gl_vendor description
1672- meson: bump required glvnd version
1673- egl: replace \_EGLDriver param with \_EGLDisplay->Driver in \_eglReleaseDisplayResources()
1674- egl: replace \_EGLDriver param with \_EGLDisplay->Driver in dri{2_x11,3}_create_window_surface()
1675- egl: replace \_EGLDriver with \_EGLDisplay->Driver in \_eglQuerySurface()
1676- egl: drop unused \_EGLDriver from Initialize()
1677- egl: drop unused \_EGLDriver from Terminate()
1678- egl: drop unused \_EGLDriver from {Create,Destroy}Context()
1679- egl: drop unused \_EGLDriver from Create{Window,Pixmap,Pbuffer}Surface() & DestroySurface()
1680- egl: drop unused \_EGLDriver from MakeCurrent()
1681- egl: drop unused \_EGLDriver from QuerySurface()
1682- egl: drop unused \_EGLDriver from {Bind,Release}TexImage()
1683- egl: drop unused \_EGLDriver from SwapInterval()
1684- egl: drop unused \_EGLDriver from SwapBuffers{,WithDamageEXT,RegionNOK}()
1685- egl: drop unused \_EGLDriver from CopyBuffers()
1686- egl: drop unused \_EGLDriver from SetDamageRegion()
1687- egl: drop unused \_EGLDriver from WaitClient()
1688- egl: drop unused \_EGLDriver & \_EGLDisplay from WaitNative()
1689- egl: drop unused \_EGLDriver from GetProcAddress()
1690- egl: drop unused \_EGLDriver from {Create,Destroy}ImageKHR()
1691- egl: drop unused \_EGLDriver from {Create,Destroy,ClientWait,Wait,Signal}SyncKHR()
1692- egl: drop unused \_EGLDriver from DupNativeFenceFDANDROID()
1693- egl: drop unused \_EGLDriver from {Create,Export}DRMImageMESA()
1694- egl: drop unused \_EGLDriver from {Bind,Unbind,Query}WaylandDisplayWL()
1695- egl: drop unused \_EGLDriver from CreateWaylandBufferFromImageWL()
1696- egl: drop unused \_EGLDriver from PostSubBufferNV()
1697- egl: drop unused \_EGLDriver from QueryBufferAge()
1698- egl: drop unused \_EGLDriver from ExportDMABUFImage{,Query}MESA()
1699- egl: drop unused \_EGLDriver from QueryDmaBuf{Formats,Modifiers}EXT()
1700- egl: drop unused \_EGLDriver from SetBlobCacheFuncsANDROID()
1701- egl: drop unused \_EGLDriver from \_eglGetConfigs()/_eglChooseConfig()/_eglGetConfigAttrib()
1702- egl: drop unused \_EGLDisplay from \_eglSetDamageRegionKHRClampRects()
1703- egl: drop unused \_EGLDriver & \_EGLDisplay from \_eglQueryContext()
1704- egl: drop unused \_EGLDriver from \_eglSurfaceAttrib()
1705- egl: replace \_EGLDriver with \_EGLDisplay->Driver in \_eglGetSyncAttrib()
1706- egl: replace replace \_EGLDriver with \_EGLDisplay->Driver in eglapi.c
1707- egl: drop unused \_EGLDriver from MesaGLInteropEGL{QueryDeviceInfo,ExportObject}()
1708- egl: replace \`&_eglDriver\`/\`NULL\` tested against \`NULL\` with simple \`true\`/\`false\`
1709- egl: drop unused ${drv}_driver()
1710- egl: inline \_eglGetDriverProc() into eglGetProcAddress()
1711- egl: inline \_eglInitializeDisplay() into eglInitialize()
1712- egl: drop now empty egldriver.c
1713- egl: drop unused egldriver.h header
1714- meson: fix trivial s/dir/dri/ typo
1715- egl/x11_dri3: enable & require xfixes 2.0
1716- egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage
1717- docs: add release notes for 20.1.6
1718- docs: update calendar and link releases notes for 20.1.6
1719- gitlab-ci: fix testing whether a variable with a given name is set or not
1720- gitlab-ci: fix quoting of variables passed down to bare-metal runners
1721- egl: drop an indentation level in \_eglFindDisplay() by replacing break/if with a goto
1722- egl: drop another indentation level in \_eglFindDisplay() by inverting an if
1723- egl: drop invalid shebang
1724- scons: bump c++ standard to 14 to match meson
1725- docs/egl: fix typo
1726- docs/egl: move section around
1727- docs/egl: complete list of dri2 platforms
1728- docs/egl: add haiku driver
1729- docs/egl: add some more documentation
1730- docs/egl: correct/update DRI2 mention with the shiny new DRI3
1731- egl: move extension driver functions after core functions
1732- egl: document which driver hooks are only required by extensions
1733- egl: inline eglSwapInterval() fallback
1734- egl: simplify eglSwapInterval() fallback logic
1735- meson: don't advertise TLS support if glx wasn't build with it
1736- egl/android: simplify dri2_initialize_android()
1737- egl/surfaceless: simplify dri2_initialize_surfaceless()
1738- egl/wayland: simplify dri2_initialize_wayland()
1739- egl/x11: simplify dri2_initialize_x11()
1740- docs: add release notes for 20.1.7
1741- docs: update calendar and link releases notes for 20.1.7
1742- docs: shift 20.2 rc dates by two weeks to match reality
1743- meson: drop leftover PTHREAD_SETAFFINITY_IN_NP_HEADER
1744- docs/download: mention tarball GPG signatures and link to the keys
1745- docs: add another 20.1.x release to allow for more overlap with 20.2
1746- docs/release-calendar: update 20.2
1747- docs: add release notes for 20.1.8
1748- docs: update calendar and link releases notes for 20.1.8
1749- bin/gen_release_notes.py: escape special rST characters
1750- docs: add release notes for 20.1.9
1751- docs: update calendar and link releases notes for 20.1.9
1752- add one last 20.1 release to coincide with expected 20.2.1
1753- radv: add missing u_atomic.h include
1754- docs: fix relnotes index
1755- docs: fix release calendar
1756- docs: fix 20.2.0 relnotes
1757- docs: add release notes for 20.1.10
1758- docs: update calendar and link releases notes for 20.1.10
1759- docs/release-calendar: plan 20.3 release
1760- gitlab-ci: drop deprecated platforms that snuck in when nobody was watching
1761- meson: drop deprecated EGL platform build options
1762
1763Erico Nunes (4):
1764
1765- lima: dont split vec3 unaligned load inputs
1766- lima: allocate new bo for stream draw
1767- lima: fix vertex shader uniform buffer size
1768- lima: add natively supported vertex buffer formats
1769
1770Erik Faye-Lund (123):
1771
1772- st/wgl: do not reject PFD_SUPPORT_GDI
1773- gallium/util: factor out primitive-restart rewriting logic
1774- gallium/indices: don't expand prim-type for 8-bit indices
1775- gallium/indices: generalize primitive-restart logic
1776- gallium/indices: implement prim-restart for line-loops
1777- gallium/indices: use prim_restart-helper for polygon
1778- gallium/indices: implement prim-restart for triangle fans
1779- gallium/indices: introduce u_primconvert_config
1780- gallium/indices: translate primitive-restart values
1781- compiler/nir: make lowering global-id to local-id optional
1782- nir: add iabs-lowering code
1783- gallium/util: use uint sampler for stencil-reads
1784- nir: fix const-cast warning on MSVC
1785- v3d: remove unused header
1786- vc4: remove unused header
1787- gallium/aux: remove unused u_blit.[ch\]
1788- gallium/util: add shader for stencil-blits
1789- gallium/util: add blitter-support for stencil-fallback
1790- mesa: handle GL_FRONT after translating to it
1791- zink: correct typo in stencil-setup
1792- zink: store base-object of DSA-state
1793- zink: only set stencil-ref for back if two-sided
1794- docs: escape backquote character
1795- docs: show 'Edit on GitLab'-link
1796- docs: store prefixes in redirects
1797- docs: remove webmaster article
1798- docs: everytime -\> every time
1799- docs: apis -\> APIs
1800- docs: scons -\> SCons
1801- docs: frambuffer -\> framebuffer
1802- docs: make two acronyms upper-case
1803- docs: unecessarily -\> unnecessarily
1804- docs: behaviour -\> behavior
1805- docs: timeplan -\> time plan
1806- docs: initialisation -\> initialization
1807- docs: gitlab -\> GitLab
1808- docs: url -\> URL
1809- docs: recognisable -\> recognizable
1810- docs: drop outdated gallium-docs comment
1811- docs: clippping -\> clipping
1812- docs: consistantly -\> consistently
1813- docs: stabilisation -\> stabilization
1814- docs: flavours -\> flavors
1815- docs: debian -\> Debian
1816- docs: docker -\> Docker
1817- docs: gallium -\> Gallium
1818- st/mesa: use roundf instead of floorf for lod-bias rounding
1819- gallium/util: set right dst-dimensions
1820- gallium/util: fix texture-coordinates for stencil-fallback
1821- gallium/util: allow scaling blits for stencil-fallback
1822- docs: softwara -\> software
1823- docs: existant -\> existent
1824- docs: webservice -\> web service
1825- docs: bpp -\> BPP
1826- docs: llvm -\> LLVM
1827- docs: correct reference to meson.build
1828- docs: meson -\> Meson
1829- docs: python3 -\> Python 3
1830- docs: flex -\> Flex
1831- docs: bison -\> Bison
1832- docs: mako -\> Mako
1833- docs: chocolatey -\> Chocolatey
1834- docs: ninja -\> Ninja
1835- docs: mingw -\> MinGW
1836- docs: microsoft -\> Microsoft
1837- docs: linux -\> Linux
1838- docs: windows -\> Windows
1839- docs: visual studio -\> Visual Studio
1840- docs: gpu -\> GPU
1841- docs: cmake -\> CMake
1842- docs: x11 -\> X11
1843- docs: wayland -\> Wayland
1844- docs: drm -\> DRM
1845- docs: android -\> Android
1846- docs: git -\> Git
1847- docs: quote "git log"
1848- docs: scons -\> SCons
1849- docs: ubuntu -\> Ubuntu
1850- docs: vmware -\> VMWare
1851- docs: Sandybridge -\> Sandy Bridge
1852- docs: cpu -\> CPU
1853- gallium/util: fix memory-leak
1854- gallium/util: allow scissored blits for stencil-fallback
1855- zink: use nir_lower_ubo_vec4 to simplify things a bit
1856- zink: support non-const offsets
1857- zink: support loading any UBO
1858- zink: do not report SSBOs as halfway supported
1859- zink: add feature-documentation
1860- zink: reject resource-imports with modifiers
1861- v3d: do not report alpha-test as supported
1862- vc4: do not report alpha-test as supported
1863- nir: drop support for using load_alpha_ref_float
1864- nir: drop unused alpha_ref_float
1865- docs: create leading directories for redirects
1866- docs: verify that targets for relative redirects exist
1867- docs: specify redirects relative to docs-root
1868- docs: specify redirects in conf.py instead
1869- zink: verify geometry shader feature
1870- docs: do not document required minimum
1871- docs: document zink's gl \\> 3.0 requirements
1872- mapi: remove unused function
1873- mapi: do not call thread-unsafe dispatch getter
1874- mapi: do not return thread-specific data for wrong thread
1875- docs: add link to extension spec
1876- docs: ie. -\> i.e.
1877- docs: eg. -\> e.g.
1878- docs: anistropy -\> anisotropy
1879- docs: api -\> API
1880- docs: hud -\> HUD
1881- docs: fbo -\> FBO
1882- docs: gcc -\> GCC
1883- docs: clang -\> Clang
1884- docs: s3tc -\> S3TC
1885- spirv: correct sematic-typo
1886- libgl-gdi: support building without softpipe
1887- gallium/util: do not pass undefined sample-count
1888- softpipe: correct signature of get_compiler_options
1889- mesa/main: add missing include in glformats.h
1890- zink: more accurately track supported blits
1891- zink: fix layered resolves
1892- zink: fall back to util_blitter for scaled resolves
1893- docs: document new zink-flag
1894- zink: do not require VK_KHR_external_memory
1895
1896Felix Yan (1):
1897
1898- Correct a typo in threads_win32.h
1899
1900Gert Wollny (81):
1901
1902- gallium + mesa/st: Add PIPE_CAP_NIR_ATOMICS_AS_DEREF and use it
1903- r600: Set PIPE_CAP_NIR_ATOMICS_AS_DEREF to true
1904- r600/sfn: Sort uniforms by binding and offset
1905- r600/sfn: add r600 specific lowering pass for atomics and use it
1906- r600/sfn: Add a mapping table for atomics
1907- r600/sfn: correct allocating and emitting of atomics
1908- r600/sfn: Correct ssbo instruction handling
1909- r600/sfn: handle querying SSBO size
1910- r600/sfn: Force a minimum of 4 GPRs, it seems to fix atomics
1911- r600: Enable compute shaders for NIR code path
1912- compiler/nir: rewrite lower_fragcoord_wtrans to use nir_lower_instructions
1913- compiler/nir: extend lower_fragcoord_wtrans to support VARYING_SLOT_POS
1914- gallium/aux: reorder vertex attributes in triangle fans according to PV
1915- meson: Make some warnings handled as errors with MSVC
1916- r600: revert disabling llvm draw
1917- r600/nir: fetch sources and split uniforms before emittting alu instructions
1918- r600/sfn: correct ring op patching
1919- r600/sfn: Fix loading vertex attributes
1920- r600/sfn: clone shader before lowering to registers and src/dest modifiers
1921- r600/sfn: Fix ordering of tex param moves
1922- r600/sfn: avoid some copies
1923- r600/sfn: Lower \*sign opcodes in nir
1924- r600/sfn: Fix split_alu_modifiers
1925- r600/sfn: Fix bitfield ops and 2x16 split_y
1926- r600/sfn: Fix source swizzle for gradient queries
1927- r600/sfn: more fixing of vec4 fetching
1928- r600/sfn: Fix comparison with different signedness
1929- nir: Add option lower_uniforms_to_ubo
1930- radeonsi: set compiler flag lower_uniforms_to_ubo
1931- freedreno/ir3: set lower_uniforms_to_ubo compiler flag
1932- intel/compiler: Set lower_uniform_to_ubo compiler flag
1933- llvmpipe: set lower_uniform_to_ubo compiler flag
1934- gallium+mesa/st: lower uniforms based on compiler flag instead of packed uniforms cap
1935- r600: enable lowering uniforms to UBO
1936- r600/sfn: Use load_ubo_vec4 lowering pass
1937- nir: remove ubo_r600 instrinsic since ubo_vec4 is used now
1938- r600/sfn: make number of source components a local variable
1939- r600/sfn: Fix component count for fdph
1940- r600/sfn: Fix typo in comment
1941- r600/sfn: use cnde instead of cnde_int
1942- r600/sfn: run late algebraic optimizations
1943- r600/sfn: remove a useless if-condition
1944- r600: Add flag for dual-source blending to shader key
1945- r600/sfn: Sort the outputs of the FS according to data index
1946- r600/sfn: Keep info about dual-source blend in FS
1947- r600/sfn: Handle number of color outputs taking dual source blending into account
1948- r600/sfn: Take dual source blending output indices into account
1949- r600/sfn: Acquire the number of FS outputs and the write_all info early
1950- r600/sfn: Be a bit more verbose when logging skipped FS outputs
1951- r600/sfn: Fix emitting shared atomics with constant sources
1952- r600/sfn: Handle nir_op_b2b32
1953- r600/sfn: lower to scalar for some optimizations and vectortize later
1954- r600/sfn: Support group memory barrier
1955- r600/sfn: save some instructions when doing multisample on sample 0
1956- r600/sfn: use fine gradient evaluation for interpolate_at_offset
1957- r600/sfn: Fix interpolate at sample
1958- r600/sfn: Fix indirect const buffer access
1959- r600/sfn; go back to not lowering uniforms to UBOs
1960- r600/sfn: replace hand-backed literal check by NIR function
1961- r600/sfn: remove old code to track uniforms as it is no longer needed
1962- r600/sfn: Add support for helper invocations
1963- r600/sfn: Fix enabling the right interpolator for inerpolate_at_sample
1964- r600/sfn: Fix IDX register ID
1965- r600/sfn: Add support for more barrier instructions
1966- r600/sfn: extend life range of all variables by one
1967- r600/sfn: Don't reuse registers for workgroup ID and local invocation ID
1968- r600/sfn: Fix ssbo resource offset for buffer loads
1969- r600/sfn: Fix keepalive patch
1970- r600/sfn: fix mega fetch count for SSBO/Image atomics result fetch
1971- r600/sfn: Rework get_temp_register to return a smart pointer to GPRValue
1972- r600/sfn: use shared pointer to GPR for FS sysvalues
1973- r600/sfn: Handle mem barrier and image barrier by using ACK
1974- r600/sfn: use cacheless op for coherent image write
1975- r600/sfn: use 32 bit bools
1976- r600/sfn: fix remapping of deleted attributes
1977- r600/sfn: Use register keep-alive also when scanning the shader
1978- r600/sfn: Fix the parameter component type
1979- r600/sfn: Update state docu
1980- compile/nir: Correct printing dest_type
1981- r600/sfn: lower bool to int32 only after common optimizations
1982- r600/sfn: fix component loading from fixed buffer ID
1983
1984Greg V (1):
1985
1986- radv,anv: use CLOCK_MONOTONIC_FAST when CLOCK_MONOTONIC_RAW is undefined
1987
1988Guido Günther (1):
1989
1990- kmsro: Extend to include imx-dcss
1991
1992Gurchetan Singh (7):
1993
1994- virgl: add flags to (\*resource_create) callback
1995- drm-uapi: virtgpu_drm.h: resource create blob + host visible memory region
1996- virgl/drm: query for resource blob and host visible memory region
1997- virgl/drm: add resource create blob function
1998- virgl: support PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT
1999- virgl: query blob mem
2000- virgl: fix stride + layer_stride inconsistency
2001
2002Hoe Hao Cheng (7):
2003
2004- zink: generate extension infrastructure using a python script
2005- zink: hook zink_device_info.py to build system
2006- zink: use the new extension infrastructure in device creation
2007- zink: use the new, generated extension infrastructure
2008- zink: remove old extension infrastructure
2009- zink: implement pipe_device_reset_callback
2010- zink: call the reset callback not only during a status check
2011
2012Hyunjun Ko (4):
2013
2014- freedreno: support GL_EXT_semaphore
2015- turnip: Refactor structs of tu_query
2016- turnip: Support pipeline statistics query
2017- turnip: Implement VK_EXT_host_query_reset
2018
2019Iago Toral Quiroga (443):
2020
2021- v3d/compiler: fix V3D double-rounding of .8 fixed-point XY coordinates
2022- v3dv: add support for valgrind macros
2023- v3dv: implement vkCreateInstance
2024- v3dv: implement vkDestroyInstance
2025- v3dv: implement vkEnumeratePhysicalDevices
2026- v3dv: pretend to initialize a physical device
2027- v3dv: Implement vkGetPhysicalDeviceProperties
2028- v3dv: retrieve device name from device info
2029- v3dv: add a comment to clarify how we should implement uuid / deviceID retrieval
2030- v3dv: implement vkGetPhysicalDeviceMemoryProperties
2031- v3dv: implement vkGetPhysicalDeviceFeatures
2032- v3dv: implement vkEnumerateDeviceExtensionProperties
2033- v3dv: amend vkEnumerateInstanceExtensionProperties to handle layers
2034- v3dv: implement vkGetPhysicalDeviceQueueFamilyProperties
2035- v3dv: implement vkCreateDevice
2036- v3dv: implement vkGetDeviceQueue
2037- v3dv: add dummy implementations for the packet definition generator
2038- v3dv: add stubs for the format table and vkGetPhysicalDeviceFormatProperties
2039- v3dv: add some basic support for format properties
2040- v3dv: implement vkEnumerate{Instance,Device}LayerProperties
2041- v3dv: add stub for vkDeviceWaitIdle
2042- v3dv: implement vkCreateImage
2043- v3dv: implement vkGetImageMemoryRequirements
2044- v3dv: initialize mememory heaps in the physical device
2045- v3dv: implement vkAllocateMemory
2046- v3dv: implement vkFreeMemory
2047- v3dv: implement vkMapMemory
2048- v3dv: implement vkUnmapMemory
2049- v3dv: implement vkBindImageMemory
2050- v3dv: implement vkCreateImageView
2051- v3dv: implement vk{Create,Destroy}Buffer
2052- v3dv: implement vkGetBufferMemoryRequirements
2053- v3dv: implement vkBindBufferMemory
2054- v3dv: implement vkCreateRenderPass
2055- v3dv: implement vk{Create,Destroy}RenderPass
2056- v3dv: implement vk{Create,Destroy}Framebuffer
2057- v3dv: implement vkCreateCommandPool
2058- v3dv: implement vk{Allocate,Free}CommandBuffers
2059- v3dv: create a v3dv_bo struct and reference it from v3dv_device_memory
2060- v3dv: add a concept of a command list
2061- v3dv: implement vkBeginCommandBuffer
2062- v3dv: start handling command buffer status
2063- v3dv: implement vkGetPhysicalDeviceImageFormatProperties
2064- v3dv: make v3dv_bo_alloc allocate memory for the bo struct
2065- v3dv: compute tile size for framebuffer
2066- v3dv: implement vkCmdBeginRenderPass
2067- v3dv: make the command buffer own the command list BOs
2068- v3dv: add a few more API stubs
2069- v3dv: store base mip level in the image view
2070- v3dv: add the tile state and alloc BOs to the command buffer BO list
2071- v3dv: revert the decision that the command buffer takes ownership of BOs
2072- v3dv: implement vkDestroyImage and vkDestroyImageView
2073- v3dv: make v3dv_layer_offset public
2074- v3dv: plug leak when destroying device
2075- v3dv: precompute more tiling info at framebuffer creation time
2076- v3dv: emit scissor to render area and precompute hw color clear values
2077- v3dv: emit the render command list
2078- v3dv: implement vkEndCommandBuffer
2079- v3dv: create the command buffer BO set before we init CLs
2080- v3dv: keep track of the numbre of BOs in a command buffer
2081- v3dv: clear set of BOs in the command buffer on reset
2082- v3dv: implement vkQueueSubmit
2083- v3dv: be more conservative resetting command buffer state
2084- v3dv: setup color clear values at subpass setup time
2085- v3dv: emit tile loads
2086- v3dv: flush at the end of each subpass
2087- v3dv: split framebuffer internal bpp calculations from tiling calculations
2088- v3dv: rename and make compute_tile_size_for_framebuffer() public
2089- v3dv: implement vkCmdCopyImageToBuffer
2090- v3dv: add the concept of a job
2091- v3dv: implement vkCmdNextSubpass
2092- v3dv: use the correct miplevel slice for the tile load operation
2093- v3dv: implement vkCmdPipelineBarrier
2094- v3dv: do not automatically emit a binner flush when finishing jobs
2095- v3dv: fix clipping against render area
2096- v3dv: add a note on interactions between clearing and scissor
2097- v3dv: rewrite attachment state tracking
2098- v3dv: only clear attachments on the first subpass that uses them
2099- v3dv: merge subpasses into the same job when possible
2100- v3dv: fix tile buffer loading
2101- v3dv: rewrite the attachment needs clearing condition
2102- v3dv: create a helper to start a new frame
2103- v3dv/cmd_buffer: rename render pass RCL emission helpers to be more explicit
2104- v3dv: handle VK_ATTACHMENT_UNUSED properly in more places
2105- v3dv: implement vkDeviceWaitIdle
2106- v3dv: implement vk{Create,Destroy}Semaphore
2107- v3dv: implement semaphore waits and signals on queue submissions
2108- v3dv: implement fences
2109- v3dv: support queue submissions with multiple command buffers
2110- v3dv: implement vkGetPhysicalDeviceSparseImageFormatProperties
2111- v3dv: include Vulkan version 1.1 as unsupported.
2112- v3dv: implement VK_KHR_get_physical_device_properties2
2113- v3dv: implement VK_KHR_external_memory_capabilities
2114- v3dv: implement VK_KHR_external_memory{_fd,_dma_buf}
2115- v3dv: fix copy image to buffer
2116- v3dv: implement vkGetImageSubresourceLayout
2117- v3dv: implement DRM modifier setup for WSI
2118- v3dv: hook up WSI support
2119- v3dv: implement device detection on actual hardware
2120- v3dv: allocate winsys BOs properly
2121- v3dv: rename drm device fields so they are more explict
2122- v3dv: don't swap RB channels when copying images to buffers
2123- v3dv: implement support for depth testing
2124- v3dv: don't always skip tile buffer stores
2125- v3dv: compute subpass ranges for attachments at render pass creation time
2126- v3dv: select the depth/stencil buffer from the attachment aspect mask
2127- v3dv: select correct internal type for depth/stencil formats
2128- v3dv: support depth testing on combined depth/stencil formats
2129- v3dv: implement stencil testing
2130- v3dv: fix indentation
2131- v3dv: support copying depth/stencil aspects to buffer
2132- v3dv: fix viewport state from pipeline
2133- v3dv: implement early Z optimization
2134- v3dv: clamp stencil masks and reference value to supported limits
2135- v3dv: implement dynamic stencil states
2136- v3dv: fix the mess with dynamic state handling
2137- v3dv: add a helper to compute the hardware clear color
2138- v3dv: add a helper to get the Z/S buffer from an aspect mask
2139- v3dv: implement vkCmdClearAttachments
2140- v3dv: implement indexed draws
2141- v3dv: fix clockwise primitive setting
2142- v3dv: ignore image view aspects for depth/stencil attachments
2143- v3dv: take the number of layers from the framebuffer
2144- v3dv: Add more supported formats to our format table
2145- v3dv: don't advertise texel buffer support yet.
2146- v3dv: implement vkCmdCopyBuffer
2147- v3dv: implement vkCmdUpdateBuffer
2148- v3dv: implement vkCmdFillBuffer
2149- v3dv: move the framebuffer setup code for buffer copy/fill to a helper
2150- v3dv: add a concept of a fake framebuffer for meta-copy operations
2151- v3dv: refactor common code in meta copy operations
2152- v3dv: fix copy size for image to buffer copies
2153- v3dv: implement vkCmdCopyImage
2154- v3dv: implement vkCmdClearColorImage
2155- v3dv: fix buffer automatic stride for image to buffer copies
2156- v3dv: implement vkCmdClearDepthStencilImage
2157- v3dv: implement vkCmdCopyBufferToImage for color formats
2158- v3dv: vkCmdCopyBufferToImage for depth/stencil formats
2159- v3dv: add an assert to catch applications trying to clear invalid aspects
2160- v3dv: implement indirect draws
2161- v3dv: add support for primitive restarts on indexed draw calls
2162- v3dv: initialize in_sync_bcl in our submits
2163- v3dv: implement vkResetCommandBuffer
2164- v3dv: add assertions for unimplemented fallback paths
2165- v3dv: honor swizzle for non-copy operations of color formats
2166- v3dv: implement vkQueueWaitIdle
2167- v3dv: destroy wsi device during physical device termination
2168- v3dv: implement vk{Create,Destroy}BufferView
2169- v3dv: implement host-side event handling functions
2170- v3dv: adjust a few limits to comply with CTS minimum requirements
2171- v3dv: declare that we support robust buffer access
2172- v3dv: meet requirements for supported format features and properties
2173- v3dv: implement vkResetCommandPool
2174- v3dv: don't swap R/B channels for VK_FORMAT_R5B6G5_UNORM_PACK16
2175- v3dv: don't use TLB path for formats that are not supported for rendering
2176- v3dv: fix image clearing with VK_REMAINING\_\*
2177- v3dv: don't support image formats that we can rendet to or texture from
2178- v3dv: fix fill buffer with VK_WHOLE_SIZE
2179- v3dv: implement vkGetRenderAreaGranularity
2180- v3dv: fix supertile coverage when render are size is 0.
2181- v3dv: take memory format from appropriate miplevel for image load/store
2182- v3dv: fix framebuffer format when computing fragment shader key
2183- v3dv: fix subpass tracking in the command buffer state
2184- v3dv: rewrite frame tiling setup
2185- v3dv: more frame tiling refactors
2186- v3dv: trivial refactors in a few meta copy helpers
2187- v3dv: assign driver locations on fragment shader output variables
2188- v3dv: don't reset loader data on command buffers
2189- v3dv: drop incorrect assertion
2190- v3dv: add a no-op fragment shader if we don't have one
2191- v3dv: implement interpolation qualifiers
2192- v3d/compiler: implement nir_op_fquantize2f16
2193- v3dv: call nir_lower_io_arrays_to_elements_no_indirects on vertex shaders
2194- v3dv: fix incorrect sizing of the vertex attribute state array
2195- v3dv: split fragment shader array outputs
2196- v3dv: lower usubborrow and uaddcarry
2197- v3dv: lower {i,u}mulExtended
2198- v3dv: don't assume that VkPipelineColorBlendStateCreateInfo is provided
2199- v3dv: drop incorrect assertion
2200- v3dv: drop assert for map of a mapped buffer
2201- v3dv: fix image tiling configuration
2202- v3dv: fix scissor outside viewport
2203- v3dv: fix viewport Z
2204- v3dv: work around viewport Z scale hardware bug
2205- v3dv: don't leak job allocations
2206- v3dv: handle the case where we fail to allocate a new job gracefully
2207- v3dv: only export the last job sync object once
2208- v3dv: support submits without a command buffer
2209- v3dv: return OOM error if we fail to import or export sync objects
2210- v3dv: use vk_error() for all queue/submit errors
2211- v3dv: fix copies and clears of 3D images
2212- v3dv: fix depth/stencil clear color
2213- v3dv: implement color blending
2214- v3dv: only expose blending on formats that support it
2215- v3dv: add an 'always flush' mode
2216- v3dv: always flush draw calls if we are doing sRGB blending
2217- v3dv: implement dynamic state for blend constants
2218- v3dv: only emit blend state if the pipeline is dirty
2219- v3dv: rewrite dirty state handling
2220- v3dv: drop redundant emission of stencil state
2221- v3dv: stencil state fixes
2222- v3dv: only emit config bits and varyings packets if needed
2223- v3dv: use perp end caps rasterization mode for lines
2224- v3dv: drop incorrect assertion on number of clear values at render pass begin
2225- v3dv: disable depth/stencil testing if we don't have a depth/stencil attachment
2226- v3dv: assert on vkCreateComputePipelines
2227- v3dv: improve assert handling for fallback paths on meta copy/clear operations
2228- v3dv: check support for transfer usage flags
2229- v3dv: make sure we only expose transfer features for formats we can use
2230- v3dv: use compatible TLB formats if possible during copies and clears
2231- v3dv: fix incorrect image slice selection
2232- v3dv: fix clearing of 3D images
2233- v3dv: fix job subpass index for vkCmdClearAttachments jobs
2234- v3dv: don't emit the subpass RCL for jobs that have emitted their own
2235- v3dv: fix a1r5g5b5 format
2236- v3dv: allow to create shader modules from NIR
2237- v3dv: improve asserts for VkPipelineColorBlendStateCreateInfo handling
2238- v3dv: implement partial color attachment clears
2239- v3dv: implement partial depth/stencil attachment clears
2240- v3dv: implement proper caching for partial clear pipelines
2241- v3dv: store the clip window in the command buffer state
2242- v3dv: check the render area against the clip window
2243- v3dv: fix v3dv_GetRenderAreaGranularity to account for attachment bpp
2244- v3dv: don't always assert that we have an active job
2245- v3dv: use the TLB to clear attachments even if we have an active scissor
2246- v3dv: restrict render pass clears to the render area
2247- v3dv: handle stencil load/store operations
2248- v3dv: assert on subpasses that use input or resolve attachments
2249- v3dv: push/pop more state during meta operations
2250- v3dv: create a v3dv_cmd_buffer_subpass_resume helper
2251- v3dv: set render area for partial clears to match clear rect
2252- v3dv: compute tile granularity for each subpass
2253- v3dv: fix incorrect attachment reference
2254- v3dv: fix incorrect attachment reference
2255- v3dv: simplify partial clearing code
2256- v3dv: handle partial clears of just one aspect of combined DS targets
2257- v3d/compiler: implement nir_intrinsic_load_base_instance
2258- v3dv: emit instanced draw calls when requested
2259- v3dv: fix subpass merge tests
2260- v3dv: reset all state to dirty when we start a new job for a command buffer
2261- v3dv: implement occlusion queries
2262- v3dv: submit a no-op job if a command buffer doesn't have any jobs.
2263- v3dv: simplify handling of no-op jobs
2264- v3dv: add a bunch of API stubs
2265- v3dv: implement TFU blits
2266- v3dv: reset subpass index at render pass end
2267- v3dv: meta operations can happen outside a render pass
2268- v3dv: save and restore descriptor state during meta operations if needed
2269- v3dv: save and restore push constant state during meta operations
2270- v3dv: implement shader draw fallback for vkCmdBlitImage
2271- v3dv: require optimal tiling for features that reqiure sampling
2272- v3dv: move early-Z update to pre-draw
2273- v3dv: don't leak NIR code in pipelines
2274- v3dv: don't leak host memory allocated for shader variants
2275- v3dv: don't leak default pipeline attributes BO
2276- v3dv: don't leak prog_data from shader variants
2277- v3dv: don't leak the compiler from the physical device
2278- v3dv: don't leak the texture shader state BO from image views
2279- v3dv: don't leak state BO from samplers
2280- v3dv/blit: fix integer blits from larger to lower bit size
2281- v3dv: handle miplevel correctly for blits
2282- v3dv: support depth blits
2283- v3dv: don't support blitting of combined depth/stencil formats
2284- v3dv: don't support 1D depth/stencil for transfer sources or sampling
2285- v3dv: remove incorrect assert
2286- v3dv: support blits with 1D and 3D images
2287- v3dv: add framework for private driver objects
2288- v3dv: fix leaks during recording of meta blits
2289- v3dv: use the private object framework in the meta clear path
2290- v3dv: implement fallback for partial image copies
2291- v3dv: implement stencil aspect blits for combined depth/stencil format
2292- v3d: fix Tile Rendering Mode Cfg (Color) packet description
2293- v3dv: limit software integer RT clamp to rgb10a2
2294- v3dv: handle copies from/to compressed formats
2295- v3dv: implement partial buffer copies to color images
2296- v3dv: support blitting both depth and stencil aspects at the same time
2297- v3dv: implement partial buffer copies to depth/stencil images
2298- v3dv: always return true from a fallback path if it can handle the case
2299- v3dv: fix image addressing calculations to account for suballocation
2300- v3dv: only require 4-byte alignment for linear images
2301- v3dv: implement partial image to buffer copies
2302- v3dv: do not rewrite blit spec for combined depth/stencil in get_blit_pipeline
2303- v3dv: drop blit path for depth/stencil formats
2304- v3dv: implement depth bias
2305- v3dv: ignore dynamic updates of depth bounds state
2306- v3dv: implement wide lines
2307- v3dv: fix dynamic blend constants
2308- v3dv: fix the command buffer private object framework for 32-bit
2309- v3dv: fix depth/stencil clears on hardware
2310- v3dv: make the driver more robust against OOM
2311- v3dv: implement events
2312- v3dv: don't leak BOs from CLs when using BRANCH
2313- v3dv: fix vkResetCommandPool
2314- v3dv: make TLB clearing paths return true/false
2315- v3dv: drop the extra BO handling from the command buffer
2316- v3dv: remove some unnecessary / unused functions
2317- v3dv: assert command buffers are executable when submitting to a queue
2318- v3dv: check that GPU device matches requirements
2319- v3dv: ensure BCL space is available before emitting packets
2320- v3dv: handle OOM properly during command buffer recording in more places
2321- v3dv: fix bogus command buffer allocation scopes
2322- v3dv: add basic support for secondary command buffers
2323- v3dv: implement vkCmdWaitEvents for secondary command buffers
2324- v3dv: support vkCmdClearAttachments in secondary command buffers
2325- v3dv: don't leak attachment state
2326- v3dv: add stubs for missing API implementations
2327- v3dv: warn users that this is not a conformant driver
2328- v3dv: fix BCL start offset in presence of chained BOs
2329- v3dv: regen BO lists for CLs inside cloned jobs
2330- v3dv: fix a few cases where we were ignoring suballocated buffers
2331- v3dv: fix release build warnings
2332- v3dv: actually enable early Z
2333- v3dv: try harder to skip emission of redundant state
2334- v3dv: add a TFU path for buffer to image copies
2335- v3dv: add a CPU path for buffer to image copies
2336- v3dv: try to use TFU path when creating tiled images from linear buffers
2337- v3dv: always map full BOs
2338- v3dv: support compute pipelines
2339- v3dv: handle separate binding points for compute and graphics
2340- v3dv: implement compute dispatch
2341- v3dv: handle unsized arrays in SSBOs
2342- v3dv: always emit index buffer state for new jobs
2343- v3dv: implement indirect compute dispatch
2344- v3dv: return a proper error for too large buffer allocations
2345- v3dv: assert that our framebuffers are single sampled
2346- v3dv: don't free BOs from imported memory objects
2347- v3dv: pipeline initialization fixes for disabled rasterization
2348- v3dv: handle empty set layouts
2349- v3dv: don't reset descriptor state after a meta operation
2350- v3dv: lower unpack_{u,s}norm_2x16
2351- v3dv: lower frexp
2352- v3dv: implement support for shader spilling
2353- v3dv: fix GFXH-930 workaround
2354- v3dv: add workaround for GFXH-1602
2355- v3dv: improve handling of too large image sizes
2356- v3dv: handle draw after barrier
2357- v3dv: fix vkCmdCopyBuffer unaligned TLB access
2358- v3dv: fix textureSize() for cube arrays
2359- v3dv: fix srcSubresource description for image to buffer blits
2360- v3dv: fix blit_shader() to honor the region's aspect mask
2361- v3dv: handle unnormalized coordinates in samplers
2362- v3dv: use swizzle X001 with D/S formats
2363- v3dv: fix regressions for cubemap array load/store
2364- v3dv: fix color border clamping with specific formats
2365- v3dv: make sure we emit vertex attributes in location order
2366- v3d/compiler: support swapping R/B channels in vertex attributes.
2367- v3dv: handle VK_FORMAT_B8G8R8A8_UNORM vertex attributes
2368- v3dv: don't support sRGB buffer formats
2369- v3dv: improve pipeline barrier handling
2370- v3dv: use a binning sync for CL jobs waiting on a semaphore
2371- v3dv: ignore stencil load operation if attachment format doesn't have stencil
2372- v3dv: only use per-buffer clear bit for cases were we are already storing
2373- v3dv: avoid prime blit path when presenting WSI images
2374- v3dv: only care about barriers between GPU jobs
2375- v3dv: emit new shader state if viewport is dirty
2376- v3dv: only clear depth/stencil attachments if any aspect needs clearing
2377- v3dv: add a fast path for vkCmdClearAttachments
2378- v3dv: enable shaderClipDistance
2379- v3dv: enable fillModeNonSolid
2380- v3dv: fix dynamic state after meta operation
2381- v3dv: consider MSAA when computing frame tiling
2382- v3dv: process VkPipelineMultisampleStateCreateInfo properly
2383- v3dv: implement subpass multisample rendering and resolve
2384- v3dv: implement vkCmdResolveImage for whole images
2385- v3dv: handle multisampled image copies in the TLB path
2386- v3dv: setup texture shader state correctly for multisampled images
2387- v3dv: add a blit fallback path for vkCmdResolveImage
2388- v3dv: handle multisampled image copies with the blit path
2389- broadcom/compiler: handle gl_SampleMask writes in fragment shaders
2390- v3dv: amend tile size tables with smallest tile sizes available
2391- nir/glsl: add a glsl_ivec4_type() helper
2392- v3dv: fix blitting of signed integer formats
2393- v3dv: handle multisample resolve of integer formats
2394- v3dv: handle multisample resolves for formats that don't support TLB resolves
2395- v3dv: handle multisample image clears
2396- broadcom/compiler: implement nir_intrinsic_load_sample_pos
2397- broadcom/compiler: track if the fragment shader forces per-sample MSAA
2398- v3dv: enable sample rate shading if fragment shader reads gl_SampleID
2399- v3dv: implement nir_texop_texture_samples
2400- v3dv: handle multisample rasterization with empty framebuffers
2401- nir/lower_io: add an option to lower interpolateAt functions
2402- v3dv: lower interpolateAt functions in NIR and enable sample rate shading
2403- v3dv: only require texel-size alignment for linear images
2404- v3dv: fix 3D image blits
2405- v3dv: don't cache subpass color clear pipelines
2406- v3dV: move meta init/finish to meta implementation files
2407- nir: add a nir_get_ubo_size intrinsic
2408- v3d/compiler: implement nir_intrinsic_get_ubo_size
2409- v3dv: handle QUNIFORM_GET_UBO_SIZE
2410- broadcom/compiler: rename QUNIFORM_GET_BUFFER_SIZE to QUNIFORM_GET_SSBO_SIZE
2411- v3d/compiler: add a lowering pass for robust buffer access
2412- v3dv: hook up robust buffer access
2413- v3dv: fix color clear pipeline destruction for 32-bit architectures
2414- v3dv: handle VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO
2415- v3dv: expose DRM modifiers based on supported features
2416- v3dv: fix offset computed by vkGetImageSubresourceLayout for array images
2417- v3dv: fix size computed by vkGetImageSubresourceLayout for 3D images
2418- v3dv: do not expose VK_IMAGE_USAGE_SAMPLED_BIT for swapchains
2419- v3dv: signal semaphore/fence if needed after acquiring a swapchain image
2420- v3dv: fix sampling from stencil aspect of a combined depth/stencil image
2421- v3dv: honor VkPipelineDepthStencilStateCreateInfo::depthWriteEnable
2422- v3dv: don't leak dumb BO handles allocated for swapchain images
2423- v3dv: clean-up after obtaining an XCB connection
2424- v3dv: free noop job if needed when finishing the queue
2425- v3d/compiler: allow to batch spills
2426- v3dv: always program a reasonable internal depth type for copies/clears
2427- v3dv: only advertise one memory type
2428- v3dv: flag tmu_dirty_rcl in primaries when linking secondaries that have it set
2429- v3dv: implement workaround for GFXH-1461
2430- v3dv: implement workaround for GFXH-1918
2431- v3dv: fixes for barriers in secondary command buffers
2432- v3dv: fix blit path for copies from 3D compressed images
2433- v3dv: generate proper UUIDs for device and driver
2434- v3dv: limit blit framebuffer dimensions to max coordinates
2435- v3dv: drop a couple of obsolete comments
2436- v3dv: fix buffer copies to compressed images on the blit path
2437- broadcom/compiler: track partially interpolated fragment inputs
2438- v3d/compiler: implement load interpolated input intrinsics
2439- v3dv: skip unnecessary tile loads when blitting
2440- v3dv: fix multi-layered buffer to image copies on the blit path
2441- v3dv: do not attempt to blit from a linear image source
2442- v3dv: fix Z coordinate for 3D blits
2443- v3dv: handle compressed image to buffer copies on the blit path
2444- v3dv: handle buffer to linear depth/stencil image copies in blit path
2445- broadcom/cle: fix vec size dump when set to 0
2446- v3d/compiler: fix BGRA vertex attributes for vec2/float size.
2447- v3dv: compute swap_rb flag after applying all swizzles
2448- v3dv: properly describe swap_color_rb
2449- v3dv: enable the logicOp feature
2450- v3dv: grow meta descriptor pool dynamically
2451- v3dv: enable alphaToOne feature
2452- v3dv: add image view debug checks for VK_KHR_maintenance1
2453- v3dv: fix base slice selection for copies involving 3D images
2454- v3dv: update assertion to match VK_KHR_maintenance1 semantics
2455- v3dv: implement vkTrimCommandPool
2456- v3dv: expose VK_KHR_maintenance1
2457- v3dv: add support for timestamp queries
2458- v3dv: fix occlusion query inheritance in secondary command buffers
2459- zink: require Vulkan timestamp queries for time query caps
2460- zink: add VK_STRUCTURE_TYPE_WSI_MEMORY_ALLOCATE_INFO_MESA for WSI allocations
2461- v3dv: add a v3dv_bo_init helper
2462- v3dv: expose more features
2463- zink: fix pNext chain for resource memory allocation
2464
2465Ian Romanick (34):
2466
2467- intel/vec4: Silence unused paramter warnings in brw_vec4_generator.cpp
2468- intel/compiler: Silence unused parameter warning in brw_surface_payload_size
2469- intel/compiler: Don't fallback to vec4 when scalar GS compile fails \[v2\]
2470- intel/vec4: Remove inline lowering of LRP
2471- intel/compiler: Remove INTEL_SCALAR\_... env variables
2472- intel/vec4: Remove all support for Gen8+ \[v2\]
2473- intel/vec4: Remove everything related to VS_OPCODE_SET_SIMD4X2_HEADER_GEN9
2474- i965: Allow viewport array extensions with allow_higher_compat_version
2475- intel: Silence many unused parameter warnings in blorp_genX_exec.h
2476- i965: Silence many unused parameter warnings in genX_blorp_exec.c
2477- i965: Silence many unused parameter warnings in genX_state_upload.c
2478- i965: Make MOCS index tables static const
2479- i965: Rename gen10_emit_isp_disable to gen7_emit_isp_disable
2480- intel: Disable all support for Gen10
2481- intel/compiler: Remove Gen10-specific code
2482- i965: Remove Gen10-specific state setup and workarounds
2483- i965: Don't build Gen10-specific files and libraries
2484- intel: Remove Gen10-specific cache config code
2485- intel/isl: Don't generate Gen10-specific functions
2486- iris: Don't generate Gen10-specific functions
2487- anv: Don't generate Gen10-specific functions
2488- intel: Remove Gen10-speicific perf support
2489- intel: Remove Gen10-specific device entries
2490- i965: Silence unused parameter warnings
2491- mesa/st: Silence unused parameter warnings in st_context.c
2492- mesa: Pass the correct caller string to \_mesa_lookup_or_create_texture
2493- glx: rework \__glXCalculateUsableExtensions to be more readable
2494- nir: Rename replicated-result dot-product instructions
2495- mesa: Open-code hash walk in \_mesa_HashPrint
2496- mesa: Store the atlas Id in the gl_bitmap_atlas structure
2497- i965: Get the gl_perf_query_object Id from the object
2498- mesa: Remove the key parameter from the \_mesa_HashWalk callback
2499- mesa: Remove the key parameter from the \_mesa_HashDeleteAll callback
2500- intel/compiler: Rotate instructions ROR and ROL cannot have source modifiers
2501
2502Icecream95 (27):
2503
2504- panfrost: Fix border colour
2505- docs/features: Add missing Panfrost extensions
2506- panfrost: Cleanup panfrost_get_param
2507- panfrost: Remove old comment on broken depth reload
2508- panfrost: Correctly set modifier_constant
2509- panfrost: Seperate resource setup and bo creation
2510- panfrost: Move tiled-linear conversion checking to a new function
2511- panfrost: AFBC to linear layout conversion
2512- pan/mdg: Fix spilling of non-32-bit types
2513- panfrost: Set modifier_constant to true for exported resources
2514- pan/mdg: Return a bool from midgard_nir_lod_errata
2515- pan/mdg: Use nir_shader_instructions_pass for nir_lod_errata
2516- pan/mdg: Use nir_shader_instructions_pass for fdot2 lowering
2517- Revert "panfrost: Drop implicit blend pooling"
2518- panfrost: Clamp uniform buffer size
2519- panfrost: Handle non-positive viewport positions
2520- panfrost: Remove redundant casts of viewport position
2521- panfrost: Mark blit shaders as internal
2522- pan/mdg: Infer whether to disassemble shaders from info.internal
2523- panfrost: Add a debug flag to disable AFBC
2524- panfrost: Precise occlusion query support
2525- panfrost: Only enable occlusion queries when active
2526- panfrost: Move zs format handling code out of the !afbc case
2527- panfrost: Z16 depth buffer support
2528- panfrost: AFBC compress Z16 depth buffers
2529- panfrost: Fix AFBC blits of resources with faked RGTC
2530- panfrost: Fix stack shift calculation
2531
2532Igor V. Kovalenko (1):
2533
2534- r600: amend space check for chips older than EVERGREEN
2535
2536Ilia Mirkin (1):
2537
2538- panfrost: enable DrawTransformFeedback\*
2539
2540Indrajit Kumar Das (5):
2541
2542- mesa: add NV_copy_depth_to_color support for nir
2543- gallium: prepare framework for supporting GL_NV_shader_atomic_int64
2544- mesa,glsl: add support for GL_NV_shader_atomic_int64
2545- radeonsi: enable support for GL_NV_shader_atomic_int64
2546- radeonsi/gfx10: fix stream index for multi-stream overflow query
2547
2548Italo Nicola (12):
2549
2550- nir: add shared/global atomics to nir_get_io_offset_src()
2551- panfrost: fix undefined value access on mir_set_intr_mask()
2552- panfrost: add atomic_cmpxchg opcode
2553- panfrost: add LDST_ADDRESS property to atomic ops
2554- panfrost: introduce LDST_ATOMIC property
2555- panfrost: add support for src[3\] in LOAD_STORE ops
2556- panfrost: add atomic ops infrastructure
2557- panfrost: add support for atomics
2558- nir/algebraic: fold some nested comparisons with ball and bany
2559- pan/mdg: remove unused arg from ALU_CHECK_CMP and ALU_CASE_CMP
2560- pan/mdg: map uabs_i/usub to i/uabsdiff
2561- pan/mdg: fix LOCAL_STORAGE wls_instances packing
2562
2563Iván Briano (1):
2564
2565- anv: restrict number of subgroups per group
2566
2567James Park (16):
2568
2569- amd/addrlib: Fix warning list for msvc
2570- radv: Increased const usage
2571- util: Hide timespec_passed on Windows
2572- radv: Only close local_fd when valid
2573- ac,amd/llvm,radv: Initialize structs with {0}
2574- util,radv,radv/winsys: Cross-platform rwlock API
2575- util,ac,aco,radv: Cross-platform memstream API
2576- util: Fix rwlock Windows include for MinGW
2577- util/xmlconfig: Disable for Windows like Android
2578- aco: Clean up some C++ usages
2579- vulkan/util,vulkan/wsi,radv: Add typed outarray API
2580- aco: Fix accidental copies, attempt two
2581- nir: Stabilize compact_components sort
2582- amd/llvm,aco: Replace VLA with alloca
2583- radv,radv/winsys: Move RADV_MAX_IBS_PER_SUBMIT
2584- radv: Fix leak in radv_amdgpu_winsys_destroy()
2585
2586Jan Beich (1):
2587
2588- spirv: switch to util_bswap32 to improve portability
2589
2590Jan Ziak (1):
2591
2592- Add driver override to envvars.rst
2593
2594Jason Ekstrand (296):
2595
2596- iris: no-op implement set_compute_resources
2597- iris: Implement set_global_binding
2598- iris: Add support for serialized NIR
2599- intel/cs_intrinsics: Handle 64-bit intrinsics
2600- intel/compiler: Allow MESA_SHADER_KERNEL
2601- iris: Use blob_write_uint32 for num_system_values
2602- iris: Add a kernel_input_size field for compiled shaders
2603- iris/disk_cache: Stop assuming stage == cache_id
2604- iris: Copy dest size from the original intrinsic in setup_uniforms
2605- iris: Upload kernel inputs with system values
2606- iris: Add support for MESA_SHADER_KERNEL in the disk cache
2607- nir: Add and use nir_foreach_block_unstructured helpers
2608- nir/lower_goto_if: Document some data structures
2609- nir/lower_goto_if: Clean up ralloc usage
2610- nir/lower_goto_if: Use util/list instead of exec_list
2611- nir/lower_goto_if: Rework handling of skip targets
2612- nir/lower_goto_if: Rework some set union logic
2613- nir/lower_goto_if: Sort blocks in select_fork
2614- nir/lower_goto_if: Add a block_for_singular_set helper
2615- nir/lower_goto_if: Replace a tripple loop with a double loop
2616- nir/lower_goto_if: Add a route::outside set
2617- nir/lower_goto_if: Add some debug prints
2618- spirv: Add a MESA_SPIRV_FORCE_UNSTRUCTURED environment variable
2619- nir/builder: Make nir_get_ptr_bitsize take a nir_shader
2620- spirv: Don't emit RMW for vector indexing in shared or global
2621- clover/nir: Stop setting ubo_addr_format
2622- clover/nir: Stop computing the global address format twice
2623- clover/nir: Use the correct address mode for shared
2624- nir: Initialize nir_ssa_def::live_index
2625- nir/builder: Add a nir_iand_imm helper
2626- nir/find_array_copies: Handle cast derefs
2627- nir/large_constants: Handle incomplete derefs
2628- compiler/types: Allow interfaces in get_explicit_type_for_size_align
2629- nir/opt_large_constants: Fix a type/deref_type typo
2630- nir: Add an LOD parameter to image_*_size
2631- iris: Stop advertising PIPE_SHADER_IR_NIR_SERIALIZED
2632- iris: Stop advertising clover-only caps
2633- iris: ref/unref the GLSL type singleton in screen_create/destroy
2634- iris: Normalize all compute shaders to MESA_SHADER_COMPUTE
2635- iris: Always re-upload sysvals when we have kernel inputs
2636- intel/fs: Fix an assert in load_scratch
2637- intel/nir: Allow splitting a single load into up to 32 loads
2638- clover/spirv: Don't call llvm::regularizeLlvmForSpirv
2639- clover: Call clang with -O0 for the SPIR-V path
2640- nir: Report progress properly in nir_lower_bool_to\_\*
2641- intel/nir: Pass the nir_builder by reference in lower_alpha_to_coverage
2642- intel/nir: Rewrite the guts of lower_alpha_to_coverage
2643- intel/nir: Clean up lower_alpha_to_coverage a bit
2644- nir: Use a switch in nir_inline_function_impl
2645- nir: Take a variable remap parameter in nir_inline_function_impl
2646- intel/fs: Add support for vec8 and vec16 ops
2647- intel/nir: Lower things with \\> 4 components in lower_mem_access_bit_sizes
2648- spirv: Support big-endian strings
2649- spirv: Delete some dead workgroup variable handling code
2650- nir: Rename num_shared to shared_size
2651- nir: Improve the comment on num_inputs and friends
2652- intel/fs: Fix MOV_INDIRECT and BROADCAST of Q types on Gen11+
2653- nir: Add a new nir_var_mem_constant variable mode
2654- nir: Add a load_global_constant intrinsic
2655- nir/lower_io: Use the variable mode for load_scratch_base_ptr checks
2656- nir/lower_io: Add a build_addr_for_var helper
2657- nir/lower_io: Add support for nir_var_mem_constant
2658- nir: Allow opt_large_constants to be run with constant_data_size \\> 0
2659- spirv: Use nir_var_mem_constant for UniformConstant data in CL
2660- intel/fs: Implement nir_intrinsic_load_global_constant
2661- nouveau/nir: Implement load_global_constant
2662- llvmpipe: Add support for load_global_constant
2663- clover/nir: Use nir_var_mem_constant for \__constant memory
2664- spirv: Drop the constant_as_global as option
2665- nir/lower_explicit_io: Assert that compute address sizes match derefs
2666- clover: Use 64-bit offsets for shader_in on 64-bit GPUs
2667- nir/clone: Add a helper for cloning most instruction types
2668- intel/compiler: Get rid of the global compaction table pointers
2669- intel/compiler: Get rid of struct gen_disasm
2670- iris: Use gen_disassemble
2671- intel/eu: Add some new helpers
2672- intel/fs,vec4: Stuff the constant data from NIR in the end of the program
2673- anv: Stop storing the shader constant data side-band
2674- intel/eu: Include brw_compiler.h in brw_eu.h
2675- intel/eu: Add a mechanism for emitting relocatable constant MOVs
2676- intel/fs: Add support for a new load_reloc_const intrinsic
2677- anv: Properly cache brw_stage_prog_data::relocs
2678- nir/builder: Add load/store_global helpers
2679- anv: Patch constant data pointers into shaders with using softpin
2680- iris: Patch constant data pointers into shaders
2681- intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy
2682- intel/fs: Use a single untyped surface read for load_num_work_groups
2683- intel/nir: Lower load_num_work_groups to 32-bit if needed
2684- iris: Re-emit push constants if we have a varying workgroup size
2685- intel/compiler: Handle all indirect lowering choices in brw_nir.c
2686- nir/lower_indirect_derefs: Add a threshold
2687- intel/nir: Stop using nir_lower_vars_to_scratch
2688- nir: Don't bail too early in lower_mem_constant_vars
2689- clover: Call nir_lower_mem_constant_vars
2690- compiler/types: Make booleans 32-bit for cl_size/align
2691- nir/glsl: Add an explicit_alignment field to glsl_type
2692- nir: Add alignment information to cast derefs
2693- nir: Handle all array stride cases in nir_deref_instr_array_stride
2694- nir: Add a helper for getting the alignment of a deref
2695- nir/lower_io: Apply alignments from derefs when available
2696- nir/opt_deref: Don't remove casts with alignment information
2697- nir/opt_deref: Remove restrictive alignment information from casts
2698- spirv: Add pointer helper vars to OpCopyMemory
2699- spirv: Propagate alignments to deref chains via casts
2700- nir: Allow var_mem_global in nir_lower_vars_to_explicit_types
2701- nir: Allow uniform in nir_lower_vars_to_explicit_types
2702- clover: Use args.size() to compute new var locations
2703- spirv: Stop counting inputs in entry_point_wrapper
2704- clover/nir: Use lower_vars_to_explicit for uniform and global
2705- spirv: Drop the OpenCL type layout code
2706- anv: Set alignments on UBO/SSBO root derefs
2707- compiler/types: Fix deserializing structs with \>= 15 members
2708- spirv: Improve the "Entry point not found" error message
2709- spirv2nir: Rework argument handling
2710- nir/lower_io: Fix the unknown-array-index case in get_deref_align
2711- nir: Add a dominance validation pass
2712- spirv: Run repair_ssa if there are discard instructions
2713- intel/nir: Call validate_ssa_dominance at both ends of the NIR compile
2714- nir: More NIR_MAX_VEC_COMPONENTS fixes
2715- nir/idiv_const: Use the modern nir_src_as\_\* constant helpers
2716- anv: Fix the target_bo assertion in anv_reloc_list_add
2717- clover: Pull the stride from pipe_transfer for image maps
2718- spirv: Access qualifiers are not a bitfield
2719- spirv: Plumb access qualifiers through from image types
2720- nir: Add a pass for lowering CL-style image ops to texture ops
2721- intel/fs/swsb: SCHEDULING_FENCE only emits SYNC_NOP
2722- nir: Rename get_buffer_size to get_ssbo_size
2723- radeonsi: Only call nir_lower_var_copies at the end of the opt loop
2724- spirv: vtn_fail with a nice message on unsupported rounding modes
2725- nir/liveness: Consider if uses in nir_ssa_defs_interfere
2726- compiler/types: Add glsl_baseN_t_type(bit_size) helpers
2727- spirv: Use the new types helpers
2728- nir: Add a new memcpy intrinsic
2729- nir: Add a lowering pass to lower memcpy
2730- spirv: Add support for OpCopyMemorySized
2731- clover/nir: Call the memcpy lowering pass
2732- nir: Allow creating variables with nir_var_mem_push_const.
2733- nir/lower_io: Add support for push constants
2734- anv,radv,tu,val: Call nir_lower_io for push constants
2735- spirv: Use derefs for push constants
2736- vallium: Stop using lower_ubo_ssbo_access_to_offsets
2737- spirv: Delete the legacy offset/index UBO/SSBO lowering
2738- nir/copy_propagate: Copy-prop into jump conditions
2739- nir: Disallow goto and goto_if in clone and \[de]serialize
2740- nir/cf: Better handle intra-block splits
2741- nir/validate: Improve the validation of blocks
2742- nir/lower_goto_ifs: Don't destroy SSA form in the process
2743- nir/dominance: Use \_mesa_set_clear instead ofhand-rolling it
2744- spirv: Only run repair_ssa if structured
2745- nir/lower_goto_ifs: Use rzalloc
2746- nir/lower_goto_ifs: Add asserts for SSA forks
2747- nir/lower_goto_ifs: Always include level dom_frontiers in prev_frontier
2748- Revert "nir/lower_goto_if: Add a route::outside set"
2749- anv: Allow HiZ clears for multi-view
2750- anv: Use more temp vars in cmd_buffer_begin_subpass
2751- anv: Skip HiZ and CCS ambiguates which preceed fast-clears
2752- nir: Split NIR_INTRINSIC_TYPE into separate src/dest indices
2753- nir: Add a conversion and rounding intrinsic
2754- nir: Add builder helpers for OpenCL type conversions
2755- nir: Add a passes for nir_intrinsic_convert_alu_types
2756- spirv: Add some conversion handling helpers
2757- spirv: Handle all OpenCL conversion ops with full rounding
2758- spirv/opencl: Drop dest_type from handle_v_load_store
2759- clover/nir: Call nir_lower_convert_alu_types
2760- nir: Add lowering from regular ALU conversions to the intrinsic
2761- intel/fs: NoMask initialize the address register for shuffles
2762- nir: Fix a misspelling
2763- nir/find_array_copies: Properly discard copies for casts
2764- nir: Handle memcpy in copy_prop_vars and combine_stores
2765- nir: Add a memcpy optimization pass
2766- nir/opt_load_store_vectorize: Use bit sizes when checking mask compatibility
2767- nir: Add component mask re-interpret helpers
2768- nir/opt_deref: Add an instruction type switch
2769- nir/opt_deref: Add an optimization for bitcasts
2770- nir: Add a pass to lower vec3s to vec4s
2771- intel/fs: Don't use NoDDClk/NoDDClr for split SHUFFLEs
2772- iris: Fix the constant data address calculation
2773- anv: Implement VK_EXT_transform_feedback on Gen7
2774- spirv: Make the clc_shader const
2775- nir/constant_folding: Use the builder
2776- nir/constant_folding: Use nir_shader_instruction_pass
2777- nir: Validate constant initializers
2778- nir/constant_folding: Fold load_deref of nir_var_mem_constant
2779- iris: Add pipe-loader support
2780- iris: Handle runtime-specified local memory size
2781- iris: Add support for load_work_dim as a system value
2782- iris: Fill out compute caps and enable clover support
2783- gallium/pipe: Add a GALLIUM_PIPE_SEARCH_DIR override env var
2784- util/xxd.py: Add an option for binary files
2785- spirv: Add a shared libclc loader
2786- spirv: Move nir_lower_libclc to src/compiler/spirv
2787- intel/nir: Don't try to emit vector load_scratch instructions
2788- intel/nir: Lower load_global_constant in lower_mem_access_bit_sizes
2789- i965: Take an isl_format in emit_buffer_surface_state
2790- intel/fs: Add an alignment to VARYING_PULL_CONSTANT_LOAD_LOGICAL
2791- intel/fs: Add an option to use dataport messages for UBOs
2792- anv: Add a device parameter to format_for_descriptor_type
2793- anv: Use format_for_descriptor_type for descriptor buffers
2794- anv: Plumb the device into \*bits_for_access_flags
2795- anv: Use the data cache for indirect UBO pulls on Gen8+
2796- iris: Use the data cache for indirect UBO pulls
2797- clover: Stop leaking NIR shaders
2798- nir/opt_deref: Fix the vector bitcast optimization
2799- nir: Allow more deref modes in phis
2800- intel/batch_decoder: Don't clame vec4 vs/gs/tcs shaders on Gen11+
2801- intel/fs: Copy the PTSS from g0 for scratch reads/writes
2802- intel/fs: Add a SCRATCH_HEADER opcode
2803- intel/fs/ra: Increment spill_offset as part of the emit_spill loop
2804- intel/fs/ra: Refactor handling of Gen7 scratch reads
2805- intel/fs/ra: Store the last non-spill VGRF node
2806- intel/fs/ra: Sanity-check our IP counts
2807- intel/fs/ra: Use a set to track added spill/fill instructions
2808- intel/fs: Rework scratch handling on Gen9+
2809- intel/fs: Allow constant-propagation into SAMPLEINFO and IMAGE_SIZE
2810- anv: Go back to using the sampler for UBO pulls
2811- Revert "iris: Use the data cache for indirect UBO pulls"
2812- anv: Bump the number of update-after-bind descriptors to 1M
2813- anv: Add a descriptor_count to descriptor sets
2814- anv: Implement VariableDescriptorCount
2815- iris: Flush caches based on brw_compiler::indirect_ubos_use_sampler
2816- anv,iris: Use the data cache for UBO pulls on Gen12+
2817- spirv: Add 0.5 to integer coordinates for OpImageSampleExplicitLod
2818- nir/lower_io: Assert non-zero power-of-two alignments
2819- compiler/types: Assert non-zero alignments in get_explicit_type_for_size_align
2820- compiler/types: Allow images and samplers in get_explicit_type_for_size_align
2821- clover/nir: Calculate sizes of images and samplers properly
2822- clover/nir: Add an image lowering pass
2823- spirv: Fix OpCopyMemorySized
2824- nir/lower_memcpy: Don't mask the store
2825- docs: Specify when branch points happen
2826- nir/validate: Explain why we don't use nir_foreach_block
2827- mesa/spirv: Lower variable initializers for global variables
2828- nir/builder: Add a nir_ieq_imm helper
2829- nir/phis_to_scalar: Use a deny-list for load_deref modes
2830- nir: Handle incomplete derefs in split_struct_vars
2831- nir: Use var->data.mode instead of deref->mode in a few cases
2832- nir: Disallow writes to system values and mem_constant
2833- nir/opt_find_array_copies: Allow copies from mem_constant
2834- nir: Add and use some deref mode helpers
2835- nir/lower_array_deref_of_vec: Use nir_deref_mode_must_be
2836- nir/lower_io: Use nir_deref_mode\_\* helpers
2837- nir/phis_to_scalar,gcm: Use nir_deref_mode_may_be
2838- nir: Only force loop unrolling if we know it's a in/out/temp
2839- nir/vars_to_ssa: Use nir_deref_must_be
2840- nir/vec3_to_vec4: Use nir_deref_must_be
2841- nir: Use nir_deref_mode_may_be in deref optimizations
2842- nir/find_array_copies: Prepare for generic pointers
2843- nir/split_*_vars: Prepare for generic pointers
2844- nir: Make nir_deref_instr::mode a bitfield
2845- nir: Add support for generic pointers
2846- spirv: Add generic pointer support
2847- nir/opt_deref: Add a deref mode specialization optimization
2848- nir/opt_deref: Add an optimization for deref_mode_is
2849- nir/lower_io: Add a mode parameter to build_addr_iadd
2850- nir/lower_io: Add a mode parameter to addr_format_is\_\*
2851- nir/lower_io: Add support for 32/64bit_global for shared
2852- nir/lower_io: Add support for lowering deref_mode_is
2853- nir/lower_io: Support generic pointer access
2854- nir/lower_io: Add a new 62bit_generic address format
2855- nir/opt_intrinsics: Report progress for the gl_SampleMask optimization
2856- nir/constant_folding: Use a switch in try_fold_intrinsic
2857- nir/constant_folding: Use the standard variable naming convention
2858- nir: Move constant folding of vote to opt_constant_folding
2859- nir/constant_folding: Fold subgroup shuffle intrinsics
2860- nir/opt_intrinsics: Refactor a bit
2861- nir/opt_intrinsic: Optimize bcsel(b, shuffle(x, i), shuffle(x, j))
2862- nir/find_array_copies: Don't assume all children exist
2863- nir/deref: Fix a typo
2864- spirv: Add basic plumbing for ray-tracing capabilities
2865- spirv: Remove a redundant vtn_fail_if
2866- spirv: Add a guard for OpTypeForwardPointer storage classes
2867- spirv: Pass the deref type to storage_class_to_mode for non-forward pointers
2868- spirv: Add support for OpTypeAccelerationStructureKHR
2869- spirv,nir: Add support for ray-tracing built-ins
2870- nir/builder: Add a select_from_ssa_def_array helper
2871- nir: Add intrinsics for object to/from world RT sysvals
2872- nir: Add new variable modes for ray-tracing
2873- spirv: Implement the new ray-tracing storage classes
2874- nir,spirv: Add support for the ShaderCallKHR scope
2875- spirv,nir: Add ray-tracing intrinsics
2876- nir: Handle ray-tracing intrinsics and storage classes in copy-prop etc.
2877- spirv: Update headers and metadata from latest Khronos commit
2878- nir: Print formats on image intrinsics as text
2879- nir: Validate image atomic formats
2880- util,gallium: Add new 64-bit integer formats
2881- compiler/types: Add 64-bit image types
2882- nir: Allow 64-bit image atomics
2883- spirv: Add support for SPV_EXT_shader_image_atomic_int64
2884- nir/lower_bit_size: Don't cast comparison results
2885- nir/lower_bit_size: Pass a nir_instr to the callback
2886- nir/lower_bit_size: Add support for lowering subgroup ops
2887- intel/nir: Refactor lower_bit_size_callback
2888- intel/nir: Lower 8-bit scan/reduce ops to 16-bit
2889- intel/nir: Lower 8-bit ops to 16-bit in NIR on Gen11+
2890- intel/fs: Fix use of undefined value in fixup_nomask_control_flow
2891- spirv: Call repair SSA for OpTerminateInvocation
2892
2893Jesse Natalie (61):
2894
2895- nir: nir_range_analysis needs to be updated for vec16
2896- u_debug_stack_test: Fix MSVC compiling by using ATTRIBUTE_NOINLINE
2897- util/macros: Add ATTRIBUTE_NOINLINE definition for MSVC
2898- glsl: Add 'bare' shadow sampler type
2899- nir: Fix serialize/deserialize of void samplers/images
2900- nir: Optimize mask+downcast to just downcast
2901- nir: Add nir_address_format_32bit_offset_as_64bit
2902- nir: Add nir_address_format_32bit_index_offset_pack64
2903- nir/vtn: CL SPIR-V callers should specify address modes
2904- mesa: Move ATTRIBUTE_NOINLINE for glsl_to_tgsi_visitor::visit_expression for MSVC
2905- nir: Add fisnormal op
2906- nir/vtn: Support SpvOpIsNormal via fisnormal
2907- nir: Add fisfinite op
2908- nir/vtn: Support SpvOpIsFinite via fisfinite
2909- nir/vtn: Handle LessOrGreater deprecated opcode
2910- nir/vtn: Support OpOrdered and OpUnordered opcodes
2911- nir/glsl: Add glsl_get_cl_type_size_align helper
2912- nir: Use 'unsigned' instead of enum types in nir_variable::data
2913- wgl: Switch to Win10 version defines to enable usage of Win10 WGL callbacks
2914- nir: Populate some places where existing system values were missing
2915- nir: Add new system values and intrinsics for dealing with CL work offsets
2916- nir: Move compute system value lowering to a separate pass
2917- nir: Add options to nir_lower_compute_system_values to control compute ID base lowering
2918- spirv: Use new global invocation offset system value
2919- nir: Add a lowering pass to split 64bit phis
2920- nir: Relax opt_if logic to prevent re-merging 64bit phis for loop headers
2921- nir_lower_bit_size: Support lowering ops with differing source/dest sizes
2922- nir: Implement mul_high lowering for bit sizes other than 32
2923- nir: Remove 32bit restriction for uadd_carry optimization
2924- nir: Add bit_count to lower_int64 pass
2925- nir/vtn: SPIR-V bit count opcodes (core and extension) dest size mismatches nir
2926- clover/nir/spirv: Use uniform rather than shader_in for kernel inputs
2927- nir/vtn: Add type constant to image intrinsics
2928- nir/vtn: Add support for kernel images to SPIRV-to-NIR.
2929- nir/vtn: Use return type rather than image type for tex ops
2930- nir/vtn: Handle integer sampling coordinates
2931- nir/vtn: ImageSizeLod op can be applied to images
2932- nir/vtn: Add intrinsics for CL image format/order queries
2933- nir/vtn: Convert constant samplers to variables with data
2934- nir_dominance: Use uint32_t instead of int16_t for dominance counters
2935- nir: More NIR_MAX_VEC_COMPONENTS fixes
2936- spirv: Handle OpTypeOpaque
2937- glsl_type: Add packed to structure type comparison for hash map
2938- nir_lower_system_values: Fix load_global_invocation_id to use base_work_group_id even with no base_global id
2939- nir: Add an internal flag to shader_info
2940- nir: Add glsl_base_type unsigned -\> signed version helper
2941- nir/vtn: Add handling for SPIR-V event variables
2942- vtn/opencl: Rework type handling for CL extension opcodes
2943- vtn/opencl: Add infrastructure for calling out to libclc
2944- vtn/opencl: Implement a lot of opcodes via libclc
2945- vtn/opencl: Rework handle_instr to be able to handle core SPIR-V opcodes via libclc
2946- vtn/opencl: Hook up OpenCL async copy and group wait opcodes via libclc
2947- vtn/opencl: Switch non-native trig to use libclc
2948- vtn/opencl: Switch exp/pow/log to use libclc
2949- vtn/opencl: Switch division-related ops to use libclc
2950- vtn/opencl: Switch some nir-sequence ops to use libclc
2951- vtn/opencl: Only use libclc ldexp when lower_ldexp is set
2952- vtn/opencl: Switch fma to conditionally use libclc for 32bit floats
2953- spirv: Implement vload[a]_half[n\] and vstore[a]_half[n][_r\]
2954- util: Move xxd.py to util
2955- util: Make xxd.py output char array instead of string
2956
2957John Bates (1):
2958
2959- disk_cache: build option for disabled-by-default
2960
2961Jonathan Gray (13):
2962
2963- util: unbreak endian detection on OpenBSD
2964- util/anon_file: add OpenBSD shm_mkstemp() path
2965- meson: build with \_ISOC11_SOURCE on OpenBSD
2966- meson: don't build with USE_ELF_TLS on OpenBSD
2967- meson: conditionally include -ldl in gbm pkg-config file
2968- util: futex fixes for OpenBSD
2969- util/u_thread: include pthread_np.h if found
2970- anv: use os_get_total_physical_memory()
2971- util/os_misc: add os_get_available_system_memory()
2972- anv: use os_get_available_system_memory()
2973- util/os_misc: os_get_available_system_memory() for OpenBSD
2974- radv: remove seccomp includes
2975- vulkan: make VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT conditional
2976
2977Jonathan Marek (57):
2978
2979- panfrost: add missing dependency on midgard_pack.h
2980- util/format: expose generated format packing functions through a header
2981- turnip: implement VK_EXT_custom_border_color
2982- turnip: remove dead tu_minify/typed_memcpy functions
2983- turnip: delete a blit_image TODO that has already been resolved
2984- turnip: fix CmdBlitImage with D32_SFLOAT_S8_UINT
2985- turnip: rework format_to_ifmt
2986- turnip: call packing functions directly for pack_gmem_clear_value
2987- turnip: add missing tu_bo_list_add in CmdWriteTimestamp
2988- freedreno/ir3: remove indirect input load
2989- freedreno/ir3: improve handling of aliased inputs
2990- freedreno/ir3: rework setup_{input,output} to make struct varyings work
2991- freedreno/regs: add 7nm DSI PHY/PLL regs
2992- turnip: delete tu_physical_device path field
2993- turnip: delete unused tu_image fields
2994- turnip: fix the type of tu_shader_module code field, delete unused sha1
2995- turnip: delete unused "tu_cmd_buffer_upload"
2996- turnip: remove some unnecessary regs init
2997- turnip: rework vertex buffers draw state handling
2998- turnip: device global bo list
2999- turnip: avoid heap allocations in QueueSubmit when semaphores are used
3000- freedreno/ir3: allow layer/viewport output for VS/GS/DS
3001- freedreno/ir3: add view_zero to shader key
3002- turnip: multiViewport and VK_EXT_shader_viewport_index_layer
3003- vulkan/wsi/display: add option for display fence to signal syncobj
3004- turnip: delete unused tu_fence_signal function
3005- turnip: add a fd field to tu_device
3006- turnip: require syncobj support
3007- turnip: rework fences to use syncobjs
3008- radv: fix incorrect ResetFences path for WSI fence
3009- radv: use syncobj for wsi fence
3010- turnip: fix wrong indentation in tu6_draw_common
3011- turnip: move A6XX_RB_ALPHA_CONTROL write to init_hw
3012- turnip: implement VK_EXT_extended_dynamic_state
3013- turnip: remove unused cmd_buffer/device arguments in descriptor sets
3014- turnip: delete unused/broken pipeline layout hashing code
3015- turnip: initial implementation of VK_KHR_push_descriptor
3016- turnip: clean up tu_device_memory
3017- turnip: always create permanent syncobj for semaphore
3018- turnip: set MSM_SUBMIT_SYNCOBJ_RESET for submit pWaitSemaphores
3019- turnip: semaphores simplification (only syncobj semaphores supported)
3020- turnip: rework GetSemaphoreFdKHR
3021- turnip: rework ImportSemaphoreFdKHR
3022- turnip: remove remaining uses of drmSyncobj helpers
3023- turnip: share code between semaphores/fences + fence import/export
3024- turnip: signal fence and semaphore in AcquireNextImage2KHR
3025- turnip: implement legacy API functions separately
3026- freedreno/cffdec: fix decoding of bindless descriptors
3027- turnip: remove pre-emption marker
3028- turnip: implement timestamp fences/semaphores for kgsl backend
3029- turnip: rework android gralloc path so it doesn't call tu_image_create
3030- turnip: don't implement CreateImage as two separate functions
3031- turnip: LAYOUT_PREINITIALIZED is not different for optimal tiling
3032- turnip: remove useless tu_image asserts
3033- turnip: remove unnecessary/redundant tu_image fields
3034- turnip: don't always fallback to linear for mutable formats
3035- turnip: enable VK_EXT_image_drm_format_modifier
3036
3037Jordan Justen (4):
3038
3039- anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+
3040- anv: Drop warning about gen12 not being supported
3041- intel/dev: Add device info for ADL-S
3042- intel/mi_builder: Support gen11 command-streamer based register offsets
3043
3044Jose Maria Casanova Crespo (7):
3045
3046- vc4: Avoid negative scissor caused by no intersection
3047- nir/algebraic: optimize iand/ior of (n)eq zero when umax/umin not available
3048- vc4: Enable lower_umax and lower_umin
3049- vc4: enable lower_isign for VC4
3050- vc4: Add missing load_ubo set_align in yuv_blit fs.
3051- vc4: Add missing range_base/range at nir_load_ubos in yuv_blit fs.
3052- vc4: Enable nir_lower_io for uniforms
3053
3054Joshua Ashton (1):
3055
3056- zink: Fix 32-bit compilation
3057
3058Juan A. Suarez Romero (7):
3059
3060- intel: split driver/device UUID generators
3061- iris: plumb device/driver UUID generators
3062- intel/uuid: use git-sha1/package for the driver UUID
3063- st/mesa: initialize lower alpha func to ALWAYS
3064- v3d/compiler: extend swapping R/B support to all vertex attributes
3065- v3dv: mark the right bit to swap R/B vertex attributes
3066- v3d: Add GL_ARB_vertex_array_bgra support
3067
3068Julian Winkler (1):
3069
3070- nir: Add a structurizer
3071
3072Karol Herbst (48):
3073
3074- util/set: add \_mesa_set_intersects
3075- spirv: rename vtn_emit_cf_list to vtn_emit_cf_list_structured
3076- nir: Add a structured flag to nir_shader
3077- nir: Add goto_if jump instruction
3078- spirv: extract switch parsing into its own function
3079- spirv: parse unstructured CFG
3080- clover/nir: fix mem_shared by using address_format_32bit_offset
3081- nv50/ir/nir: fix smem size
3082- nv50/ir/nir: rework indirect function_temp handling
3083- clover/nir: Call vars_to_explicit_types for shared memory
3084- nve4: fix uploading unaligned sized input buffers
3085- nv50/ir/nir: assert on unknown alu ops
3086- clover/nir: support int64 atomics if the device supports it
3087- nv50/ir/nir: fix global_atomic_comp_swap
3088- nvc0: handle nr being 0 in nvc0_set_global_bindings
3089- nv50/ir/nir: support load_work_dim
3090- clover/spirv: rework handling of spirv extensions
3091- clover/spirv: pass list of supported extensions to the translator
3092- nir: rename nir_op_fne to nir_op_fneu
3093- nir: fix nir_variable_create for kernels
3094- clover/nir: add support for global invocation id offsets
3095- nv50/ir: remove symbol table support for compute shaders
3096- nv50/ir: add nv50_ir_prog_info_out
3097- nir: use nir_var_all to get rid of casting
3098- util: add helpers to define bitwise operators on enums for C++
3099- nir: use enum operator helper for nir_variable_mode and nir_metadata
3100- clover/nir: Lower function_temp to scratch.
3101- nv50/ir: fix cas lowering for 64 bit
3102- clover/nir: use offset for temp memory
3103- clover/llvm: undefine \__IMAGE_SUPPORT_\_ for devices without image support
3104- nvc0/ir: fix load propagation for sub 4 byte addressing
3105- spirv: fix 64 bit atomic inc and dec
3106- nvc0/cl: hande 64 bit pointers in nvc0_set_global_handle
3107- clover/spirv: fix vec3 alignment
3108- nir/serialize: fix serialization of system values
3109- clover/util: add id_type_equals to support symbols with multiple sections
3110- clover: bind constant buffer if one is provided
3111- clover/nir: extract constant buffer into its own section
3112- clover/spirv: parse arg_info
3113- clover/spirv: support CL_KERNEL_COMPILE_WORK_GROUP_SIZE
3114- clover: use pipe_image_view for images instead of set_compute_resources
3115- clover: support custom driver strides
3116- clover/device: use PIPE_MAX_SHADER_SAMPLER_VIEWS for max_images_read
3117- clover/nir: set kernel_image cap
3118- nouveau: hide SVM support behing a variable for now as kernel space is broken
3119- nvc0/CL: enable images
3120- llvmpipe: enable CL images
3121- nv50/ir/nir: don't use designated initializers
3122
3123Kenneth Graunke (15):
3124
3125- iris: Fix headerless sampler messages in compute shaders with preemption
3126- nir: Copy semantics to nir_intrinsic_load_fs_input_interp_deltas
3127- nir: Move new edgeflag assert into the io_lowered case
3128- iris: Reorder the loops in iris_fence_await() for clarity.
3129- iris: Drop stale syncobj references in fence_server_sync
3130- Revert "nir: replace lower_ffma and fuse_ffma with has_ffma"
3131- intel/compiler, anv: Delete cs_prog_data->slm_size
3132- iris: Fix doubling of shared local memory (SLM) sizes.
3133- anv: Set only one ISL usage bit (RT/texture) for CopyBuffer sources
3134- isl, anv, iris: Add a centralized helper to select MOCS based on usage
3135- isl: Enable Tigerlake HDC:L1 caches via MOCS in various cases.
3136- iris: fix source/destination layers for 3D blits
3137- iris: Move blit scissoring earlier.
3138- intel/fs: Fix sampler message headers on Gen11+ when using scratch
3139- nir/algebraic: Avoid creating new fp64 ops when using softfp64
3140
3141Khem Raj (1):
3142
3143- vc4: use intmax_t for formatted output of timespec members
3144
3145Kristian Høgsberg (12):
3146
3147- egl/android: Call createImageFromDmaBufs directly
3148- egl/android: Look up prime fds in droid_create_image_from_prime_fds()
3149- egl/android: Drop unused ctx argument
3150- egl/android: Simplify droid_create_image_from_name() path
3151- egl/android: Move droid_create_image_from_prime_fds() function up
3152- egl/android: Use droid_create_image_from_prime_fds() in get_back_bo()
3153- egl/android: Add support for CrOS buffer info perform op
3154- turnip: Add kgsl backend
3155- util/formats: Add PIPE_FORMAT_R8_G8B8_420_UNORM
3156- st/mesa: Add NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM
3157- freedreno/a6xx: Generalize pointers in struct fd6_pipe_sampler_view
3158- freedreno/a6xx: Support PIPE_FORMAT_R8_G8B8_420_UNORM for texturing
3159
3160Krunal Patel (2):
3161
3162- gallium/auxiliary/vl: Odd Dimensions are failing
3163- radeon/vcn: Bitrate not updated when changing framerate
3164
3165Leo Liu (2):
3166
3167- frontends/omx/dec: Use the known codec profile when allocating buffers
3168- frontends/omx/h265: Check the pps set before the scaling data
3169
3170Lepton Wu (1):
3171
3172- util/ralloc: fix ralloc alignment.
3173
3174Lionel Landwerlin (36):
3175
3176- anv: fix incorrect realloc failure handling
3177- intel/dump_gpu: only write BOs mapped by the driver
3178- intel/dump_gpu: further track mapping of BOs
3179- intel/dump_gpu: set default device_override
3180- intel/dump_gpu: add an only-capture option
3181- intel/dump_gpu: only map in GTT buffers not previously mapped
3182- anv: track the current frame and write it into the driver identifier BO
3183- intel/dump_gpu: fix --platform option
3184- intel/dump_gpu: add an option to capture a single frame
3185- anv: centralize vk to gen arrays
3186- anv: fix up dynamic clip emission
3187- anv: don't fail userspace relocation with perf queries
3188- intel/perf: store query symbol name
3189- intel/perf: fix raw query kernel metric selection
3190- anv: fix transform feedback surface size
3191- anv: move push constant allocation tracking into gfx pipeline state
3192- anv: simplify push constant emissions
3193- anv: VK_INTEL_performance_query interaction with VK_EXT_private_data
3194- anv: fix robust buffer access
3195- include/drm-uapi: bump headers
3196- anv: add new gem/drm helpers
3197- anv: implement shareable timeline semaphores
3198- intel/genxml: make sure test assert are compiled in
3199- intel/compiler: fixup Gen12 workaround for array sizes
3200- vulkan: bump headers/registry to 1.2.154
3201- anv: implement VK_KHR_copy_commands2
3202- intel/perf: fix crash when no perf queries are supported
3203- intel/dev: add a small non installable tool to print device info
3204- intel/dev: fix 32bit build issue
3205- genxml: drop gen10
3206- blorp: identify copy kernels in NIR
3207- blorp: allow blits with floating point source layers
3208- anv: fix source/destination layers for 3D blits
3209- anv: report latest extension spec versions
3210- intel/dev: Bump Max EU per subslice/dualsubslice
3211- anv: fix descriptor pool leak in VMA object
3212
3213Louis Li (1):
3214
3215- radeon/radeon_vce: fix out of target bitrate in CBR mode (H.264)
3216
3217Louis-Francis Ratté-Boulianne (6):
3218
3219- st/mesa: factor ucp-lowering logic into helper
3220- st/mesa: Enable clip planes lowering for geometry shaders
3221- pipebuffer: Remove unused buffer event in slab bufmgr
3222- st/mesa: Replace UsesStreams by ActiveStreamMask for GS
3223- glsl/linker: Add support for XFB varying lowering in geometry shader
3224- gallium: Fix NIR validation when lowering polygon stipple
3225
3226Lucas Stach (19):
3227
3228- etnaviv: stop leaking the dummy texure descriptor BO
3229- gallium/dri: allow create image for formats that only support SV or RT binding
3230- etnaviv: drm: fix BO refcount race
3231- etnaviv: blt: properly program surface TS offset for clears
3232- etnaviv: update headers from rnndb
3233- etnaviv: tex_desc: fix TS compression enable
3234- etnaviv: cosmetic etna_resource_alloc fixes
3235- etnaviv: do proper cpu prep/fini when clearing allocated buffer
3236- etnaviv: simplify etna_screen_bo_from_handle
3237- etnaviv: pass correct layout to etna_resource_alloc for scanout resources
3238- etnaviv: don't import allocated scanout resources via from_handle
3239- Revert "gallium/dri: fix dri2_from_planar for multiplanar images"
3240- etnaviv: emit RA_EARLY_DEPTH on dirty ZSA
3241- etnaviv: flush depth cache when changing depth config
3242- etnaviv: update headers from rnndb
3243- etnaviv: expose shader discard usage in etna_shader_variant
3244- etnaviv: rework ZSA into a derived state
3245- gallium: document convention for get_handle calls on multi-planar resources
3246- etnaviv: fix disabling of INT filter for real
3247
3248Lukas F. Hartmann (1):
3249
3250- etnaviv: Fix disabling early-z rejection on GC7000L (HALTI5)
3251
3252Marcin Ślusarz (50):
3253
3254- intel/perf: fix calculation of used counter space
3255- intel/perf: fix how pipeline stats are stored
3256- intel/perf: streamline error handling in read_oa_samples_until
3257- intel/perf: fix performance counters availability after glFinish
3258- intel/perf: split load_oa_metrics
3259- intel/perf: export performance counters sorted by \[group|set\] and name
3260- glsl: fix crashes on out of bound matrix access using constant index
3261- gitlab: ask for more detailed info about GPU
3262- mesa: fix formatting of messages printed using \_mesa_log
3263- anv: refresh cached current batch bo after emitting some commands
3264- iris: handle os_dupfd_cloexec failure
3265- iris: verify color component width in convert_fast_clear_color
3266- i965: verify format width in blorp_get_client_bo
3267- intel/perf: don't generate logically dead code
3268- intel/compiler/test: use TEST_DEBUG env var consistently
3269- intel/compiler: mark debug constant as const
3270- intel/fs,vec4: remove unused assignments
3271- intel: add INTEL_DEBUG=shaders
3272- intel/fs: add hint how to get more info when shader validation fails
3273- intel/compiler: match brw_compile\_\* declarations with their definitions
3274- intel/compiler: use the same name for nir shaders in brw_compile\_\* functions
3275- intel/compiler: move extern C functions out of namespace brw
3276- intel/compiler: print dispatch width when shader fails to compile
3277- intel/compiler: fix typo in a comment
3278- anv: fix minor gen_ioctl(I915_PERF_IOCTL_CONFIG) error handling issue
3279- intel/compiler: remove unused fs_validator::param_size
3280- intel/compiler: initialize remaining fields of various classes
3281- intel/tools: fix possible memory leak in the error path
3282- intel/tools: handle ftell errors
3283- intel/compiler: quiet Coverity warnings
3284- intel/tools: fix possible randomly increased verbosity of error2aub
3285- intel: add INTEL_DEBUG expected value in declaration
3286- iris: drop likely/unlikely around INTEL_DEBUG
3287- i965: drop likely/unlikely around INTEL_DEBUG
3288- anv: drop likely/unlikely around INTEL_DEBUG
3289- intel: drop likely/unlikely around INTEL_DEBUG
3290- vulkan/wsi: fix possible random stalls in wsi_display_wait_for_event
3291- intel/tools: fix invalid type in argument to printf
3292- intel/genxml: don't generate identical code for different branches
3293- anv: always annotate memory returned from anv_gem_mmap
3294- intel: remove dead code
3295- i965: remove prototypes of not-existing functions
3296- intel/compiler: use C++ template instead of preprocessor
3297- intel/compiler: remove branch weight heuristic
3298- intel/tools: allow --color option to be used without arg
3299- anv: remove dead code from anv_create_cmd_buffer
3300- intel/tools: handle some failures
3301- intel/tools: refactor logging to be easier to follow by static analyzers
3302- intel/tools: add missing new lines to few remaining fail_if users
3303- nir: handle float atomics in copy propagation pass
3304
3305Marek Olšák (278):
3306
3307- radeonsi: enable ETC2 hw acceleration on Raven2
3308- ac/gpu_info: set num_tiles_pipes on gfx10+ too
3309- Revert "radeonsi: honor a user-specified pitch on gfx10.3"
3310- radeonsi: use correct wave size in gfx10_ngg_calculate_subgroup_info
3311- radeonsi: use the same units for esgs_ring_size and ngg_emit_size
3312- radeonsi: increase minimum NGG vertex count requirement per workgroup on gfx 10.3
3313- radeonsi: fix applying the NGG minimum vertex count requirement
3314- radeonsi: don't count unusable vertices to the NGG LDS size
3315- radeonsi: add a common function for getting the size of gs_ngg_scratch
3316- radeonsi: remove the NGG hack decreasing LDS usage to deal with overflows
3317- radeonsi: various fixes for gfx10.3
3318- radeonsi: disable NGG culling on gfx10.3 because of hangs
3319- radeonsi: fix compute-based culling with VERTEX_COUNTER_GDS_MODE == 1
3320- compiler: add glsl_print_type
3321- nir: remove nir_strip stub declaration
3322- nir: handle load_input_vertex in nir_get_io_offset_src
3323- nir: save IO semantics in lowered IO intrinsics
3324- nir: gather all IO info from IO intrinsics
3325- nir: update IO semantics in nir_io_add_const_offset_to_base
3326- nir: print IO semantics (v2)
3327- nir: properly identify texcoords for lowered IO in nir_lower_drawpixels
3328- nir: add shader_info::io_lowered
3329- nir: add interpolation qualifiers for color sysvals into shader_info
3330- nir: generate lowered IO in nir_lower_passthrough_edgeflags
3331- st/mesa: don't pass NIR to draw module if IO is lowered
3332- st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred
3333- st/mesa: handle lowered IO in st_nir_assign_vs_in_locations
3334- gallium/tgsi: add helper tgsi_get_interp_mode
3335- radeonsi: fix tess levels coming as scalar arrays from SPIR-V
3336- st/mesa: remove useless code for lowered IO in st_nir_assign_vs_in_locations
3337- gallivm: fix build on LLVM 12 due to LLVMAddConstantPropagationPass removal
3338- amd/registers: expose the canonicalize.py program as a function
3339- amd/registers: sort registers by offset in json
3340- amd/registers: add a script that generates json from kernel headers
3341- amd/registers: add non-gfx10 register files generated from kernel headers
3342- amd/registers: switch to new generated register definitions
3343- nir: fix a bug in is_dual_slot in nir_io_add_const_offset_to_base
3344- st/mesa: fix lowered IO - don't call st_nir_assign_vs_in_locations twice
3345- radeonsi: don't crash if input_usage_mask is 0 for a VS input
3346- radeonsi: get color interpolation info from shader_info
3347- radeonsi: clean up code for loading VS inputs
3348- ac/nir: handle all lowered IO intrinsics
3349- radeonsi: lower IO intrinsics - complete rewrite of input/output scanning
3350- radeonsi: remove in/out/uniform variables from NIR after lowering IO
3351- radeonsi: don't lower indirect IO in GLSL
3352- radeonsi: don't execute LDS stores for TCS outputs that are never read
3353- radeonsi: simplify handling color interp modes in si_emit_spi_map
3354- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_selector::type)
3355- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_context::type)
3356- radeonsi: change PIPE_SHADER to MESA_SHADER (debug flags)
3357- radeonsi: change PIPE_SHADER to MESA_SHADER (si_compile_llvm)
3358- radeonsi: change PIPE_SHADER to MESA_SHADER (si_get_shader_part)
3359- radeonsi: remove unused si_shader_context::type
3360- radeonsi: change PIPE_SHADER to MESA_SHADER (si_shader_dump_disassembly)
3361- radeonsi: precompute si_*_descriptors_idx in si_shader_selector
3362- radeonsi: change PIPE_SHADER to MESA_SHADER (si_dump_descriptors)
3363- radeonsi: remove si_shader_selector::type
3364- compiler: add INTERP_MODE_COLOR for radeonsi
3365- radeonsi: replace TGSI_INTERPOLATE with INTERP_MODE
3366- radeonsi: replace TGSI_SEMANTIC with VARYING_SLOT and FRAG_RESULT
3367- radeonsi: optimize out the loop in si_get_ps_input_cntl
3368- ac/llvm: fix unaligned VS input loads on gfx10.3
3369- nir: get ffma support from NIR options for nir_lower_flrp
3370- nir/algebraic: trivially enable existing 32-bit patterns for all bit sizes
3371- nir/algebraic: add 16-bit versions of a few 32-bit patterns
3372- glsl_to_nir: fix crashes with int16 shifts
3373- radeonsi: remove redundant no-signed-zero-fp-math LLVM attribute
3374- radeonsi: move nir_shader_compiler_options into si_screen
3375- Revert "ac: generate FMA for inexact instructions for radeonsi"
3376- ac/llvm: remove stub prototype for fmed3
3377- ac/llvm: fix amdgcn.rcp for v2f16
3378- ac/llvm: fix amdgcn.fract for v2f16
3379- ac/llvm: fix amdgcn.rsq for v2f16
3380- ac/llvm: fix bcsel for v2*16
3381- ac/llvm: remove dead code handling for fmod
3382- ac/llvm: add better code for isign
3383- ac/llvm: add better code for fsign
3384- ac/llvm: fix b2f for v2f16
3385- radeonsi: stop using TGSI_PROPERTY_NEXT_SHADER
3386- radeonsi: stop using TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION / VS_BLIT_SGPRS_AMD
3387- radeonsi: stop using TGSI_PROPERTY_TCS_VERTICES_OUT
3388- radeonsi: stop using TGSI_PROPERTY_TES_POINT_MODE / TES_PRIM_MODE
3389- radeonsi: stop using TGSI_PROPERTY_TES_SPACING
3390- radeonsi: stop using TGSI_PROPERTY_TES_VERTEX_ORDER_CW
3391- radeonsi: stop using TGSI_PROPERTY_GS\_\*
3392- radeonsi: stop using TGSI_PROPERTY_CS\_\*
3393- radeonsi: stop using TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL
3394- radeonsi: stop using TGSI_PROPERTY_FS_POST_DEPTH_COVERAGE
3395- radeonsi: stop using TGSI_PROPERTY_FS_COORD_PIXEL_CENTER
3396- radeonsi: stop using TGSI_PROPERTY_FS_DEPTH_LAYOUT
3397- radeonsi: stop using TGSI_PROPERTY_CS_LOCAL_SIZE
3398- radeonsi: stop using TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS
3399- radeonsi: remove info::samplers_declared, image_buffers, msaa_images_declared
3400- radeonsi: remove redundant si_shader_info::shader_buffers_declared
3401- radeonsi: remove redundant si_shader_info::images_declared
3402- radeonsi: remove redundant si_shader_info::const_buffers_declared
3403- radeonsi: remove redundant si_shader_info:\*(clip|cull)\* fields
3404- radeonsi: remove unused si_shader_info::uses_(vertexid|basevertex)
3405- radeonsi: merge uses_persp_opcode_interp_sample/uses_linear_opcode_interp_sample
3406- radeonsi: remove redundant si_shader_info::uses_kill
3407- radeonsi: reduce type sizes in si_shader_selector
3408- radeonsi: rename num_memory_instructions -\> num_memory_stores
3409- radeonsi: remove redundant si_shader_info::writes_memory
3410- radeonsi: remove redundant GS variables in si_shader_selector
3411- radeonsi: remove redundant si_shader_selector::max_gs_stream
3412- radeonsi: remove redundant si_shader_info::uses_derivatives
3413- radeonsi: use shader_info::cs::local_size_variable to clean up some code
3414- radeonsi: deduplicate setting key.mono.u.vs_export_prim_id
3415- radeonsi: kill point size VS output if it's not used by the rasterizer
3416- radeonsi: set outputs_written_before_ps for geometry shaders too
3417- radeonsi: eliminate unused shader outputs for separate NGG geometry shaders
3418- radeonsi: remove swizzle == ~0 dead code in si_llvm_load_input_gs
3419- ac,radeonsi: lower 64-bit IO to 32 bits and remove all dead code
3420- radeonsi: inline trivial PS functions
3421- nir: add mediump flag to IO semantics
3422- nir: fix lower_mediump_outputs to not require variables
3423- nir/algebraic: add flrp patterns for 16 and 64 bits
3424- nir/algebraic: expand existing 32-bit patterns to all bit sizes using loops
3425- nir: remove redundant opcode u2ump
3426- nir: enforce 32-bit src type requirement for f2fmp and i2imp
3427- nir: add new mediump opcodes f2[ui]mp, i2fmp, u2fmp
3428- nir/algebraic: collapse conversion opcodes (many patterns)
3429- nir/algebraic: add late optimizations that optimize out mediump conversions (v3)
3430- nir/opt_vectorize: don't lose exact and no_*_wrap flags
3431- st/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64
3432- nir,radeonsi: move ffma fusing to late optimizations for better codegen
3433- radeonsi: clean up ffma handling
3434- Revert "radeonsi: set BIG_PAGE fields on gfx10.3"
3435- Revert "radeonsi: move L2_CACHE_CONTROL registers into si_emit_framebuffer_state"
3436- radeonsi: don't lower pack for better 16-bit vectorization
3437- radeonsi: set flags for FP16 in shaders
3438- radeonsi: implement 16-bit FS color outputs
3439- radeonsi: vectorize IO for better ALU vectorization
3440- radeonsi: don't scalarize 16-bit vec2 ALU opcodes
3441- radeonsi: add 16-bit ALU vectorization
3442- gallium: rename PIPE_TRANSFER\_\* -\> PIPE_MAP\_\*
3443- gallium: rename pipe_transfer_usage -\> pipe_map_flags
3444- gallium: rename transfer flags -\> map flags in comments
3445- radeon: rename RADEON_TRANSFER\_\* -\> RADEON_MAP\_\*
3446- radeonsi: set TRUNC_COORD=0 for Total War: WARHAMMER to fix it
3447- radeonsi: move debug options from si_disk_cache_create to si_get_ir_cache_key
3448- radeonsi: remove KILL_PS_INF_INTERP/CLAMP_DIV_BY_ZERO, use screen::options
3449- amd: add Dimgrey Cavefish support
3450- amd: add VanGogh support
3451- radeonsi: set KEEP_TOGETHER_ENABLE if needed
3452- radeonsi: move binning parameters into si_screen
3453- radeonsi: break a binning batch on a new PS if bins can use multiple state sets
3454- radeonsi: add a tweak for PS wave CU utilization for gfx10.3
3455- nir: split fuse_ffma into fuse_ffma16/32/64
3456- nir: split lower_ffma into lower_ffma16/32/64
3457- radeonsi: fuse or lower ffma optimally on all chips
3458- nir: replace lower_ffma and fuse_ffma with has_ffma
3459- radeonsi: use optimal order of operations when setting up a compute dispatch
3460- radeonsi: call si_upload_graphics_shader_descriptors before the big conditional
3461- radeonsi: move a displaced comment in si_draw_vbo
3462- radeonsi: don't call emit_cache_flush after uploading bindless descriptors
3463- radeonsi: reorganize the code around the gfx9 scissor bug
3464- radeonsi: move si_upload_vertex_buffer_descriptors into si_state_draw.c
3465- radeonsi: add unlikely statements into si_draw_vbo
3466- radeonsi: lift the conditional for skipping si_upload_vertex_buffer_descriptors
3467- radeonsi: always inline draw-related functions that have only one use
3468- nir: gather indirect info from lowered IO intrinsics
3469- nir: gather tess.tcs_cross_invocation info from lowered IO intrinsics
3470- nir: set system_values_read for all intrinsics
3471- nir: gather fs.uses_sample_qualifier from lowered IO
3472- nir: fix input/output info gathering for lowered IO
3473- nir: gather information about fbfetch and dual source color
3474- radeonsi: fix indirect dispatches with variable block sizes
3475- radeonsi: call nir_shader_gather_info after lowering and optimizing NIR
3476- radeonsi: use info.system_values_read
3477- radeonsi: get information about FS color outputs from shader_info directly
3478- radeonsi: get input/output usage flags from shader_info directly
3479- radeonsi: run NIR optimizations that glsl_to_nir runs but other places might not
3480- radeonsi: assume that constant load_local_group_size has been optimized out
3481- radeonsi: remove redundant variables from struct si_compute
3482- radeonsi: remove redundant info.uses_fbfetch
3483- gallivm: add support for lowered IO in vertex shaders
3484- util: implement f16c - fast half<->float conversions
3485- util: move util_half_to_float code into \_mesa_half_to_float_slow
3486- util: remove util_float_to_half and util_half_to_float wrappers
3487- gallium/util: remove redundant util_float_to_half_rtz
3488- gallium/util: remove empty file u_half.h
3489- radeonsi: Fix dead lock with aux_context_lock in si_screen_clear_buffer.
3490- radeonsi: simplify NGG culling enablement and add radeonsi_shader_culling option
3491- radeonsi: kill disabled clip distances and planes at per-channel granularity
3492- radeonsi: move si_set_active_descriptors_for_shader into si_update_common_shader_state
3493- radeonsi: use staging buffer uploads for most VRAM buffers
3494- radeonsi: call nir_lower_bool_to_int32 last because it breaks nir_opt_if
3495- radeonsi: restructure si_pipe_set_constant_buffer
3496- mesa: factor out layout parsing for glInterleavedArrays
3497- gl_marshal.py: inline print_sync_dispatch
3498- driconf: force the vendor string to NVIDIA to fix viewperf energy tests
3499- driconf: enable force_glsl_extensions_warn for viewperf
3500- st/mesa: enable GL name reuse for queries based on the driconf option
3501- util/idalloc: resize if ID is too large for reservation
3502- gallium/util: add set_frontend_noop into driver_noop and u_threaded_context
3503- radeonsi: remove dead variable postponed_kill
3504- radeonsi: implement GL_INTEL_blackhole_render
3505- gallium/u_threaded_context: don't call memcpy in tc_set_constant_buffer
3506- gallium/u_threaded_context: always flush asynchronously if requested
3507- gallium/u_threaded_context: fix use-after-free in transfer_unmap
3508- util: implement F16C using inline assembly on x86_64
3509- util: move util_half_to_float code into \_mesa_half_to_float_slow
3510- util: remove util_float_to_half and util_half_to_float wrappers
3511- gallium/util: remove redundant util_float_to_half_rtz
3512- gallium/util: remove empty file u_half.h
3513- mesa: don't use GET_DISPATCH because it doesn't work with glthread
3514- mesa: remove api_loopback to remove call indirections
3515- glthread: handle glInterleavedArrays
3516- nir/algebraic: always lower idiv to shifts if bitops are allowed
3517- util: add \_mesa_set_create_u32_keys where keys are not pointers
3518- nir: add new helper passes that lower uniforms to literals
3519- gallium: add pipe_context::set_inlinable_constants
3520- st/mesa: pass inlinable uniforms to drivers if they requested it
3521- ac/surface: fix valgrind warnings in DCC retile tile lookups
3522- winsys/amdgpu: rework the VM alignment optimizations
3523- winsys/amdgpu: apply the VM alignment optimization to the physical alignment too
3524- radeonsi: update the DMA perf test
3525- radeonsi: disable SDMA on gfx6-7 and gfx10.3 to decrease CPU overhead
3526- Revert "radeonsi/gfx10: disable vertex grouping"
3527- radeonsi: don't disable NGG culling on gfx10.3
3528- radeonsi: enable NGG culling by default on gfx10.3 dGPUs
3529- radeonsi: optimize out LDS bank conflicts in the NGG culling shader
3530- radeonsi: remove indirection when loading position at the end for NGG culling
3531- radeonsi: write VS/TES system values into LDS after culling
3532- radeonsi: pack LDS better for NGG culling
3533- radeonsi: tweak LATE_ALLOC_GS numbers for faster NGG culling
3534- radeonsi: enable NGG on Navi14 PRO cards
3535- radeonsi: enable NGG culling by default on Navi1x PRO cards
3536- ac/llvm: don't lower bool to int32, switch to native i1 bool
3537- amd: update addrlib
3538- nir: consider load_color intrinsics as both inputs and sysval in gathering
3539- Revert "st/mesa: don't pass NIR to draw module if IO is lowered"
3540- st/mesa: make sure prog->info is up to date for NIR (v2)
3541- amd: regenerate gfx103.json from kernel headers
3542- amd: correct typos in gfx10-rsrc.json
3543- amd: update gfx10-rsrc.json for gfx10.3
3544- amd: replace 0x028848 with the register definition
3545- amd: print NUM_PKRS with AMD_DEBUG=info on gfx10.3
3546- Revert "radeonsi: use staging buffer uploads for most VRAM buffers"
3547- util: remove unused util_get_L3_for_pinned_thread
3548- util: consolidate thread_get_time functions
3549- st/mesa: remove random L3 pinning heuristic for glthread
3550- util: add util_set_thread_affinity helpers including Windows support
3551- util: add util_get_current_cpu using sched_getcpu and Windows equivalent
3552- util: completely rewrite and do AMD Zen L3 cache pinning correctly
3553- glthread: pin driver threads to the same L3 as the main thread regularly
3554- radeonsi: implement inlinable uniforms
3555- gallium: move pipe_draw_info::start/count to the beginning and pad empty space
3556- gallium: add pipe_context::multi_draw
3557- winsys/amdgpu: remove incorrect assertion check against max_check_space_size
3558- radeonsi: add num_draws parameter into si_need_gfx_cs_space
3559- radeonsi don't get count from pipe_draw_info in si_num_prims_for_vertices
3560- radeonsi: don't check info->count == 0
3561- radeonsi: implement multi_draw but supporting only 1 draw
3562- radeonsi: add support for multi draws
3563- radeonsi: set NOT_EOP for back-to-back draws on gfx10+
3564- radeonsi: implement multi_draw for compute-based primitive culling
3565- gallium/u_threaded: move a structure up to be used later
3566- gallium/u_threaded: merge consecutive draw calls within batches
3567- st/mesa: fix use-after-free when updating shader info in st_link_nir
3568- radeonsi: fix min_direct_count value
3569- radeonsi: do VGT_FLUSH when switching NGG -\> legacy on Sienna Cichlid
3570- radeonsi: only do VGT_FLUSH for fast launch if previous draw was normal launch
3571- radeonsi: determine correctly if switching from normal launch to fast launch
3572- radeonsi: add options.inline_uniforms to the shader cache key
3573- ac: fix detection of Pro graphics
3574- ac: fix min/max_good_num_cu_per_sa on gfx10.3 with disabled SEs
3575- radeonsi: fix NGG streamout regression
3576- radeonsi: fix scan_instruction for bindless inc_wrap/dec_wrap atomics
3577- nir: fix gathering TCS cross invocation access with lowered IO
3578- nir: fix gathering patch IO usage with lowered IO
3579- ac/nir: fix a typo in ac_are_tessfactors_def_in_all_invocs
3580- mesa: call FLUSH_VERTICES before changing sampler uniforms
3581- st/mesa: fix uninitialized/random clip plane state vars in lower_ucp
3582- radeonsi: fix a memory leak in si_create_dcc_retile_cs
3583- radeonsi: fix a nasty bug in si_pm4.c
3584- radeonsi: disable WGP mode on gfx10.3 to prevent hangs
3585
3586Marek Vasut (2):
3587
3588- etnaviv: Remove etna_resource_get_status()
3589- etnaviv: Add lock around pending_ctx
3590
3591Marijn Suijten (5):
3592
3593- util: Makefile.sources: Add disk_cache_os.{c,h}
3594- android: gallium/auxiliary: Deduplicate nir_to_tgsi.c inclusion
3595- scons: gallium/auxiliary: Unconditionally compile NIR regardless of LLVM
3596- android: panfrost: Move nir_undef_to_zero to util
3597- android: freedreno: Add freedreno_dev_info.[ch\] to Makefile.sources
3598
3599Mark Janes (2):
3600
3601- intel/fs: Assert if lower_source_modifiers converts 32x16 to 32x32 multiplication
3602- intel/fs: work around gen12 lower-precision source modifier limitation
3603
3604Mark Menzynski (5):
3605
3606- nv50/ir: Use a bit field in info_out structure
3607- nv50/ir: Add nv50_ir_prog_info_out serialize and deserialize
3608- nv50/ir: Add prog_info_out print
3609- nv50/ir: Add nv50_ir_prog_info serialize
3610- nvc0: Add shader disk caching
3611
3612Martin Peres (11):
3613
3614- driconf: bump the maximum string size from 25 to 1024
3615- driconf: initialize the option value before using it
3616- dri/DRI2ConfigQueryExtension: add support for string options
3617- glx/extensions: split set_glx_extension into find\_ and set\_
3618- glx: stop using hardcoded array sizes for bitfields
3619- glx: initial plumbing to let users force-enable/disable extensions
3620- glx: let users force-enable/disable indirect GL extensions
3621- driconf: add a way to override GLX extensions
3622- driconf: add a way to override indirect-GL extensions
3623- driconf: disable GLX_OML_swap_method by default on Brink
3624- driconf: allow higher compat version for Brink
3625
3626Matt Turner (3):
3627
3628- intel/tools: Disassemble WAIT's argument as a destination
3629- Revert F16C series (MR 6774)
3630- glcpp: Handle bison-3.6 error message changes
3631
3632Mauro Rossi (28):
3633
3634- android: panfrost: Rename encoder/ to lib/
3635- android: panfrost: Move pandecode into lib/
3636- android: pan/mdg: Separate disassembler and compiler targets
3637- android: pan/bi: Separate disasm/compiler targets
3638- android: panfrost: Redirect cmdstream includes through GenXML
3639- android: panfrost/bifrost: add libpanfrost_lib static dependency
3640- android: panfrost: Redirect cmdstream includes through GenXML (v2)
3641- android: util/format: fix generated sources rules
3642- android: amd/registers: switch to new generated register definitions
3643- android: util: fix missing include path
3644- android: nv50/ir: Add nv50_ir_prog_info_out serialize and deserialize
3645- android: freedreno: Implement pipe screen's get_device/driver_uuid()
3646- android: freedreno/common: add libmesa_git_sha1 static dependency
3647- egl/android: HAVE_DRM_GRALLOC path fixes (v2)
3648- android: aco/isel: Move context initialization code to a dedicated file
3649- android: pan/bi: Use new disassembler
3650- android: pan/bi: Use new packing
3651- android: pan/bi: fix typo in bifrost_gen_disasm.c gen rules
3652- android: gallium/iris: cleanup iris_driinfo.h gen rules
3653- android: gallium/radeonsi: cleanup si_driinfo.h gen rules
3654- android: gallium/virgl: cleanup virgl_driinfo.h gen rules
3655- android: util: add log.c to Makefile.sources
3656- android: pan/bi: Use new disassembler (v2)
3657- android: panfrost: use python3 for generated sources rules
3658- android: util: Move xxd.py to util
3659- android: util,ac,aco,radv: Cross-platform memstream API
3660- android: fix libsync dependencies (v2)
3661- android: aco: add aco_form_hard_clauses.cpp to Makefile.sources
3662
3663Michael Olbrich (1):
3664
3665- meson.build: xxf86vm is not needed for -Dglx-direct=false
3666
3667Michael Tretter (2):
3668
3669- etnaviv: fix comment for source of etna_mesa_debug
3670- etnaviv: free tgsi tokens when shader state is deleted
3671
3672Michel Dänzer (31):
3673
3674- ci: Fix up rules for post-merge / main project branch pipelines
3675- ci: Create test-docs job in mesa/mesa pipelines for MRs
3676- ci: Don't exclude "success" job from mesa/mesa pipelines for MRs
3677- ci: Restrict "success" job to pipelines for MRs
3678- ci: Do not create manual test-docs job in post-merge pipelines
3679- ci: Remove any existing results directory before running piglit
3680- ci: Add "is scheduled pipeline" YAML anchor
3681- ci: Add "is master branch of main project" YAML anchor
3682- ci: Add "is pre-merge pipeline for Marge Bot" YAML anchor
3683- ci: Add "is post-merge pipeline, not for Marge Bot" YAML anchor
3684- ci: Add "is forked branch or pre-merge pipeline" YAML anchor
3685- ci: Add "is forked branch" YAML anchor
3686- ci: Add "is post-merge pipeline" YAML anchor
3687- ci: Add "is pre-merge pipeline" YAML anchor
3688- ci: Add "is for Marge Bot" YAML anchor
3689- ci: Always use CI_PROJECT_NAMESPACE instead of CI_PROJECT_PATH
3690- ci: Prevent pages job from running in pre-merge pipelines
3691- ci: Don't create test-docs job if the pages one exists in the pipeline
3692- ci: Use ignore_scheduled_pipelines anchor in .radeonsi-rules
3693- gallium: Make pipe_viewport_state swizzle_x/y/z/w bit-fields 8 bits wide
3694- ci: Move test-docs job to deploy stage
3695- ci: Add empty needs: to pages job
3696- ci: Add jobs running ci-fairy checks
3697- loader/dri3: Only allocate additional buffers if needed
3698- loader/dri3: Keep current number of back buffers if frame was skipped
3699- loader/dri3: Allocate up to 4 back buffers for page flips
3700- ci: Add "check mr" job to needs: of build jobs
3701- ci: Run git_archive job if all_paths matches
3702- i965/bufmgr: Handle NULL bufmgr in brw_bufmgr_get_for_fd
3703- iris/bufmgr: Handle NULL bufmgr in iris_bufmgr_get_for_fd
3704- ac: Don't negate strstr return values in ac_query_gpu_info
3705
3706Michel Zou (9):
3707
3708- swr: fix build with mingw
3709- swr: missing \_BitScanForward64 on 32 bits win
3710- swr: fix \_BitScanForward64 on unix
3711- util: drop non-posix header fnmatch
3712- lavapipe: fix usleep usage in lvp_device
3713- wsi: move drm code to wsi_common_drm.c
3714- gallium: use libpipe_loader_links
3715- lavapipe: configure suffix in icd json
3716- util: use dllexport for mingw too
3717
3718Mike Blumenkrantz (118):
3719
3720- zink: basic primitive restart support for strip/fan topologies
3721- zink: move 8bit index handling out of u_primconvert path
3722- zink: use util_draw_vbo_without_prim_restart for unsupported prim modes
3723- zink: set primitive restart cap
3724- zink: move shader state methods for pipe_context into zink_program.c
3725- zink: adjust zink_shader struct to contain full streamout info
3726- zink: refcount zink_gfx_program objects
3727- zink: split up creating zink_shader objects and VkShaderModule objects
3728- zink: use ZINK_SHADER_COUNT instead of PIPE_SHADER_TYPES - 1 everywhere
3729- zink: start using per-stage flags for new shaders, refcount shader modules
3730- zink: always compile shaders in pipeline order
3731- zink: rename zink_gfx_program::stages to 'modules'
3732- gallium: add pipe_transfer_usage for z/s only mappings
3733- gallium/u_transfer_helper: add util functions for doing deinterleaving during map
3734- zink: print error when getprocaddr fails for extension functions
3735- zink: change pipeline hashes to index based on vk primitive type
3736- zink: handle more draw modes
3737- zink: invalidate pipeline hash on more changes
3738- zink: use u_transfer_helper to split/merge interleaved depth/stencil formats
3739- zink: add note about buffer<->image copy functions not handling multisample
3740- zink: generically handle matrix types
3741- anv: improve error message when failing to open device path
3742- anv: assert that the target bo is valid when adding a reloc list
3743- zink: use correct value for color buffer sample count when creating renderpass
3744- zink: use correct number of samples on framebuffer in set_framebuffer_state
3745- zink: use correct layer count when creating framebuffer
3746- zink: clamp min created fb size to 1x1
3747- zink: verify that src and dst aspects are the same in resource_copy_region hook
3748- zink: implement ARB_instanced_arrays
3749- zink: move viewport count to zink_gfx_pipeline_state
3750- zink: set multiviewport cap in ntv when gl_ViewportIndex is a written output
3751- zink: correctly set up fb-sized scissors for each viewport
3752- zink: apply viewport count when creating pipelines
3753- zink: reorder create_stream_output_target to fix failure case leak
3754- zink: combine all surface layout-setting for src/dst into util function
3755- zink: unify all occurrences of waiting on a fence
3756- zink: correctly handle ARB_arrays_of_arrays in ntv for samplers
3757- zink: run nir_lower_uniforms_to_ubo conditionally
3758- zink: fix shader buffer size caps to use 65536
3759- zink: always emit descriptor set 0 in ntv
3760- zink: emit ubo variables sized based on the overall ubo block size
3761- zink: don't emit ubos or bindings for ubo variables
3762- zink: correctly set up ubo bindings and buffer indices
3763- zink: use sizeof(vec4) multiplier for nir_lower_uniforms_to_ubo
3764- zink: hook up driconf
3765- xmlconfig: fix scandir_filter
3766- zink: handle timestamp queries
3767- zink: handle TIME_ELAPSED queries
3768- zink: add pipe_context::get_timestamp hook
3769- zink: enable pipe caps for ARB_timer_query
3770- anv: remove VkPipelineCacheCreateInfo::flags assert
3771- radv: remove VkPipelineCacheCreateInfo::flags assert
3772- util/hash_table: add function for reserving size in a hash table
3773- zink: enable VK_KHR_vulkan_memory_model extension
3774- zink: add VK_EXT_custom_border_color
3775- zink: support VK_EXT_blend_operation_advanced
3776- zink: support VK_EXT_extended_dynamic_state
3777- zink: add VK_EXT_pipeline_creation_cache_control
3778- zink: enable VK_EXT_shader_stencil_export
3779- zink: ARB_uniform_buffer_object is now implemented, so add cap and feature doc
3780- glsl: fix up location setting for variables pointing to a UBO's base
3781- nir: update ubo locations in nir_lower_uniforms_to_ubo
3782- zink: add a mechanism to track current resource usage in batches
3783- zink: optimize transfer_map for resources with pending reads/writes
3784- zink: add more explicit fencing for transfer maps
3785- zink: explicitly flag fb attachments as being written to in render passes
3786- zink: don't leak sampler view textures
3787- zink: redo slot mapping again for the last time really I mean it
3788- zink: export PIPE_CAP_MAX*_VARYINGS values
3789- zink: unify code for emitting named uint-based variable instructions
3790- glsl: more accurately handle swizzle in 64bit varying split with no left value
3791- zink: increase descriptor pool sizes for other descriptor types we'll be using
3792- zink: implement ARB_texture_buffer_object
3793- zink: ensure resource tracking for sampler buffers in render batches
3794- zink: assert valid format in zink_create_sampler_view()
3795- zink: handle null attachment for ARB_texture_buffer_object samplers
3796- zink: add VK_BUFFER_USAGE_INDEX_BUFFER_BIT to vertex buffer creation
3797- zink: add last few format maps for ARB_vertex_type_2_10_10_10_rev
3798- zink: fix stencil wrapping
3799- zink: add some spirv_builder functions we'll be using for geometry shaders
3800- zink: handle shader io vars more generically for use with gs
3801- zink: add ntv handling for geometry shader variables
3802- zink: re-transform gl_Position for gs input
3803- zink: add handling for gs in ntv
3804- zink: remove ADJACENCY prim types from primconvert path
3805- zink: round out handling for streamout buffer stride setting during draw
3806- zink: add gallium handling for geometry shaders
3807- zink: enable gs pipe caps
3808- zink: bump to glsl 1.40
3809- zink: mark off GL 3.1 as done in features.txt
3810- zink: GLSL 1.50
3811- zink: set 3.2 complete in features.txt
3812- zink: bump GLSL to 3.30
3813- zink: set 3.3 complete in features.txt
3814- zink: implement ARB_draw_indirect
3815- zink: add helper for vec-type input variables in ntv
3816- zink: add ntv handling for ARB_sample_shading
3817- zink: add a pipe_context::get_sample_position hook
3818- zink: mark ARB_sample_shading as supported
3819- doc/features: remove zink entries for GL 3.3 items
3820- zink: deduplicate some query result code
3821- zink: more correctly handle PIPE_QUERY_PRIMITIVES_GENERATED queries
3822- zink: also create an xfb query for every primitives generated query
3823- zink: store batch id onto query object at time of start
3824- zink: fixup gs/xfb tracking for primitives generated queries
3825- zink: rework query overflow handling
3826- zink: always use query->type for starting/stopping xfb queries
3827- zink: always reset query pools on next query begin
3828- zink: add pass for lowering dynamic ubo/ssbo block indexing to constants
3829- zink: break up dynamic access lowering
3830- util/threaded_context: use driver's buffer alignment for staging transfers
3831- nir/clip_disable: write 0s instead of undefs for disabled clip planes
3832- nir/clip_disable: try for better no-op
3833- nir/clip_disable: handle 2x vec4 case
3834- zink: implement ARB_texture_query_lod
3835- zink: use same function for all pipe_context::delete_*_state shader methods
3836- zink: add a quadop function in spirv_builder
3837- zink: add some spirv builder functions for barriers
3838
3839Nanley Chery (46):
3840
3841- dri_util: Update internal_format to GL_RGB8 for MESA_FORMAT_B8G8R8X8_UNORM
3842- iris: Don't call SET_TILING for dmabuf imports
3843- iris: Make iris_bo_import_dmabuf take a modifier
3844- iris: Drop iris_resource_alloc_separate_aux
3845- iris: Drop unused resource allocation optimization
3846- iris: Drop old comment on clear color BO allocation
3847- iris: Move size/offset calculations out of configure_aux
3848- iris: Add and use iris_resource_configure_main
3849- iris: Drop buffer support in resource_from_handle
3850- gallium/dri2: Report correct YUYV and UYVY plane count
3851- iris: Fix aux assertion in resource_get_handle
3852- iris: Fold a condition into no_gpu for consistency
3853- iris: Make iris_has_color_unresolved more generic
3854- iris: Avoid resolving Z/S reads in transfer_map
3855- iris: Drop a use of the need_resolve boolean
3856- iris: Better determine map_would_stall for Z/S
3857- gallium/dri2: Report I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS num_planes
3858- gallium/dri2: Support I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS import
3859- intel/isl: Describe I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS
3860- intel/isl: Support ISL_AUX_USAGE_MC in surface states
3861- intel/isl: Add YUV format info for the aux-map
3862- st/mesa: Don't map all P01X DRM formats to P016
3863- intel/common: Add get_aux_map_format_bits()
3864- iris: Support planar resource imports for MC
3865- intel/common: Drop unused gen_aux_map_add_image
3866- iris: Support MC modifier in plane count queries
3867- iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS
3868- blorp: Fix alignment test for HIZ_CCS_WT fast-clears
3869- blorp: Drop trailing whitespace in blorp_clear.c
3870- anv/image: Disable multi-layer CCS_E on TGL+
3871- blorp: Ensure aligned HIZ_CCS_WT partial clears
3872- iris: Fix a fast-clear skipping optimization
3873- anv: Enable multi-layer aux-map init for HIZ+CCS
3874- Revert "anv: Add driconf option to disable compression for 16bpp format"
3875- iris: Add fast-clear restriction for 8bpp surfaces
3876- isl: Allow CCS for 8bpp surfaces with 3+ miplevels
3877- st/mesa: Add missing sentinels in format_map[\]
3878- intel/isl: Drop redundant unpack of unorm channels
3879- isl: Fix the aux-map encoding for D24_UNORM_X8
3880- iris: Fix fast-clears of swizzled LA formats
3881- iris: Fix SINT assert in convert_fast_clear_color
3882- iris: Fix fast-clears of swizzled alpha formats
3883- iris: Flush dmabufs during context flushes
3884- mesa: Add and use \_mesa_has_depth_float_channel
3885- mesa: Clamp some depth values in glClearBufferfv
3886- mesa: Clamp some depth values in glClearBufferfi
3887
3888Neil Roberts (3):
3889
3890- v3d: Make the function to set tex dirty state for a stage global
3891- v3d: Split the creating of TEXTURE_SHADER_STATE into a helper function
3892- v3d: Update the TEXTURE_SHADER_STATE when there’s a new buf for a tex
3893
3894Philipp Zabel (3):
3895
3896- meson: fix power8 option
3897- gallium/dri: fix dri2_query_image for multiplanar images
3898- gallium/dri: fix dri2_from_planar for multiplanar images
3899
3900Pierre Moreau (5):
3901
3902- clover/spirv: Remove unused tuple header
3903- clover/spirv: Print linked SPIR-V module if asked
3904- meson: Raise minimum version for SPIR-V OpenCL deps (v4)
3905- clover/llvm: Use the highest supported SPIR-V version (v4)
3906- clover/nir: Register callback for translation messages (v2)
3907
3908Pierre-Eric Pelloux-Prayer (61):
3909
3910- ac/llvm: handle static/shared llvm init separately
3911- mesa/st: introduce PIPE_CAP_NO_CLIP_ON_COPY_TEX
3912- radeonsi: enable PIPE_CAP_NO_CLIP_ON_COPY_TEX
3913- ac/llvm: add option to clamp division by zero
3914- radeonsi,driconf: add clamp_div_by_zero option
3915- radeonsi: use radeonsi_clamp_div_by_zero for SPECviewperf13, Road Redemption
3916- amd/llvm: switch to 3-spaces style
3917- amd/common: switch to 3-spaces style
3918- mesa: move u_idalloc from gallium/aux/util to util
3919- util/idalloc: add util_idalloc_reserve
3920- util/idalloc: add lowest_free_idx to avoid iterating from 0
3921- mesa: add a isGenName parameter to \_mesa_HashInsert
3922- mesa: add GL name reuse support
3923- mesa: add \_mesa_HashFindFreeKeys
3924- mesa: use \_mesa_HashFindFreeKeys for GL functions
3925- driconf: add option to reuse GL names
3926- glsl: fix per_vertex_accumulator::fields size
3927- r600/uvd: set dec->bs_ptr = NULL on unmap
3928- radeon/vcn: set dec->bs_ptr = NULL on unmap
3929- radeonsi: fix quant_mode selection for large negative values
3930- radeonsi: fix guardband handling for large values
3931- mesa: fix glUniform\* when a struct contains a bindless sampler
3932- gallium: add PIPE_CAP_MAX_TEXTURE_MB
3933- radeonsi: move GL vendor workaround to drirc
3934- radeonsi: reduce PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE value
3935- radeonsi: change vendor name to AMD
3936- radeonsi: force linear for textures with height=1 (gfx6-8)
3937- radeonsi/tmz: use secure job if framebuffer has dcc
3938- radeonsi/tmz: use secure job if using an encrypted z/s buffer
3939- radeonsi/tmz: add safety assert when tmz is enabled
3940- radeonsi/tmz: allocate depth/stencil buffers as encrypted
3941- radeonsi: introduce SI_RESOURCE_FLAG_INTERNAL / RADEON_FLAG_DRIVER_INTERNAL
3942- amd: add AMDGPU_IDS_FLAGS_TMZ definition to amdgpu_drm.h
3943- ac/gpu_info: add detection of TMZ support
3944- radeonsi/tmz: allow secure job if the app made a tmz allocation
3945- amd/winsys: add RADEON_FLUSH_TOGGLE_SECURE_SUBMISSION
3946- radeonsi/tmz: fail si_texture_transfer_map if tex is encrypted
3947- radeonsi/tmz: add tmz variant of sctx::wait_mem_scratch
3948- radeonsi/tmz: add tmz variant for sctx::tess_rings
3949- radeonsi: disable primitive discard if tmz is in use
3950- radeonsi/tmz: add a tmz variant for sctx::eop_bug_scratch
3951- radeonsi/tmz: add workaround for mpv/vaapi subtitles
3952- amd/tmz: move uses_secure_bos to radeon_winsys
3953- gallium/vl: do not call transfer_unmap if transfer is NULL
3954- gallium/vl: add chroma_format arg to vl_video_buffer functions
3955- omx/tizonia: fix build
3956- gallium: add new cap PIPE_CAP_DEVICE_PROTECTED_CONTENT
3957- gallium: introduce PIPE_BIND_PROTECTED
3958- radeonsi: honor PIPE_BIND_PROTECTED
3959- egl: implement EGL_EXT_protected_surface support
3960- radeonsi: enable PIPE_CAP_DEVICE_PROTECTED_CONTENT
3961- egl: handle EGL_PROTECTED_CONTENT_EXT for eglImage
3962- dri: introduce createImageFromDmaBufs3
3963- egl/dri2: implement createImageFromDmaBufs3
3964- driconf: add disable_protected_content_check option
3965- radeonsi: fix RADEON_FLUSH flags conflicts
3966- radeon: add si_vid_create_tmz_buffer helper
3967- radeon/vcn: delay dec->ctx and dec->dpb allocation
3968- va/picture: make sure destination buffer is protected if needed
3969- va: support VA_RT_FORMAT_PROTECTED
3970- radeonsi/gfx10: flush gfx cs on ngg -\> legacy transition
3971
3972Pierre-Loup A. Griffais (2):
3973
3974- radv: fix null descriptor for dynamic buffers
3975- radv: fix vertex buffer null descriptors
3976
3977Qiang Yu (4):
3978
3979- radeonsi: fix syncobj wait timeout
3980- radeonsi: fix user fence space when MCBP is enabled
3981- radeonsi: fix max syncobj wait timeout
3982- radeonsi: fix user fence GPU address
3983
3984Rhys Perry (160):
3985
3986- aco: fix C++11/C++14 compilation
3987- aco: set constant_data_offset correctly in the case of merged shaders
3988- aco: don't move memory accesses to before control barriers
3989- nir/opt_remove_phis: optimize out phis with undef
3990- gitlab: ask inxi output to be in code blocks
3991- util: add a alignof() macro
3992- nir: fix potential left shift of a negative value
3993- nir: fix memory leak in nir_cf_list_clone
3994- radv: don't pass null to \_mesa_sha1_update
3995- radv: align pipeline cache entry and header sizes
3996- radv: fix null memcpy and zero-sized malloc
3997- aco: fix non-rtz pack_half_2x16
3998- nir: add and use nir_intrinsic_has\_ helpers
3999- aco: use nir_intrinsic_has_access
4000- bifrost: use nir_intrinsic_has_type
4001- aco: consider branch definitions in spiller
4002- aco: don't consider the first partial spill if it's the wrong type
4003- aco: don't fix break condition for break+discard to exec
4004- aco: fix regclass checks when fixing to vcc/exec with Builder
4005- aco: fix spills_entry heuristic for branch blocks in init_live_in_vars()
4006- aco: keep loop live-through variables spilled
4007- aco: reserve 2 sgprs for each branch
4008- aco: create long jumps
4009- aco/tests: add test for GFX10 0x3f bug
4010- aco: shorten disassembly for repeated instructions
4011- aco/tests: add tests for long jumps
4012- aco: remove 64-bit SGPR ubfe/ibfe
4013- aco: fix sgpr ubfe/ibfe if the offset is too large
4014- aco: sink get_alu_src() in bfe lowering
4015- spirv: fix Uniform and Output MemoryAccessMakePointer{Visible,Available}
4016- spirv: make OpLoad/OpStore visibility/availablity barriers acquire/release
4017- spirv: add vtn_emit_make_{visible,available}_barrier helpers
4018- spirv: implement MakePointerAvailable/MakePointerVisible for OpCopyMemory
4019- spirv: implement Volatile memory semantic
4020- spirv: implement Volatile image operand
4021- spirv: implement SpvMemoryAccessVolatileMask
4022- spirv: add some tests for volatile/available/visible
4023- radv: remove descriptor_indexing fails from expected fails
4024- aco: fix mad splitting after applying output modifiers
4025- aco: remove omod_success/clamp_success
4026- aco: fix byte_align_scalar for 3 dword vectors
4027- nir/load_store_vectorize: rework alignment calculation
4028- nir/opt_shrink_vectors: shrink image stores using the format
4029- aco: fix one-off error in Operand(uint16_t)
4030- aco: improve fsign selection
4031- nir/opt_if: fix opt_if_merge when destination branch has a jump
4032- nir/opt_loop_unroll: fix is_access_out_of_bounds with vectors
4033- aco: fix v_writelane_b32 with two sgprs
4034- aco: workaround disassembler bug of v_writelane_b32 with literal
4035- aco: don't apply constant to SDWA on GFX8
4036- aco: fix value numbering of reductions
4037- aco: fix validation of sub-dword parallel-copies
4038- aco: pass -fno-exceptions and -fno-rtti
4039- aco: fix incorrect assertion in emit_vop3a_instruction()
4040- radv: initialize with expanded cmask if the destination layout needs it
4041- radv,aco: fix reading primitive ID in FS after TES
4042- aco: keep track of temporaries' regclasses in the Program
4043- aco: use bit vectors for liveness sets
4044- aco: use io semantics to get an intrinsic's slot
4045- aco: use nir_get_io_offset_src() in visit_load_input()
4046- aco: use nir's constant source helpers more
4047- aco: remove dead indirect fs input loading
4048- aco: stop multiplying driver_location by 4
4049- st/nir: call nir_opt_access before gl_nir_lower_buffers
4050- radeonsi: don't use nir_opt_access
4051- nir/instr_set: hash intrinsic sources
4052- nir/load_store_vectorize: improve vectorization with identical operations
4053- aco: fix get_buffer_resource_flags()
4054- aco: remove trailing whitespace
4055- radv: remove trailing whitespace
4056- aco: Add loop creation helpers.
4057- nir: return progress from nir_lower_io_to_scalar_early
4058- radv: move optimizations in shader_compile_to_nir() to after io_to_scalar
4059- radv: use radv_optimize_nir() less in radv_link_shaders()
4060- spirv: add and use a generator id enum
4061- spirv: replace discard with demote for incorrect HLSL->SPIR-V translations
4062- radv: remove RDR2 discard workaround
4063- android: fix SPIR-V -\> NIR build
4064- aco: optimize more uniform reductions/scans
4065- aco: implement elect
4066- radv/aco,nir/lower_subgroups: don't lower elect
4067- nir: add last_invocation intrinsic
4068- aco: implement last_invocation
4069- nir: move divergence analysis options to nir_shader_compiler_options
4070- nir: allow divergence information to be updated when inserting instruction
4071- nir: add pass to optimize uniform atomics
4072- aco: use nir_opt_uniform_atomics
4073- nir/opt_uniform_atomics: optimize image atomics
4074- nir/opt_uniform_atomics: don't optimize atomics twice
4075- aco: fix get_ssbo_size with a vgpr resource
4076- scons: fix SPIR-V -\> NIR build
4077- nir/opt_uniform_atomics: remove useless returns
4078- aco: implement 16-bit literals
4079- aco: propagate literals into sub-dword pseudo instructions on GFX9+
4080- aco: don't use v_pack_b32_f16 if 16-bit input denormals are flushed
4081- nir/opt_load_store_vectorize: don't vectorize stores across demote
4082- nir/opt_load_store_vectorize: add some tests for discard/demote behaviour
4083- aco: add missing SCC clobber in get_buffer_size
4084- ci: disable check commits job for now
4085- nir/loop_analyze: adjust force unrolling to only include interesting modes
4086- ac/nir: remove bindless image atomic format check
4087- aco: remove isel_context::allocated
4088- aco: update phi_map in add_subdword_operand()
4089- aco: don't do divergent break+discard
4090- aco: skip value numbering of copies
4091- aco: copy-propgate through p_create_vector during value numbering
4092- aco: expand vectors passed as copy operands
4093- aco: don't use bld.copy() in handle_operands()
4094- aco: allow literals on sub-dword p_parallelcopy
4095- aco: always use p_parallelcopy for pre-RA copies
4096- aco: use Builder::copy more
4097- aco: remove some unused optimizations
4098- aco: use v_mov_b32_sdwa for some 16-bit constants
4099- aco: remove all-undef phi opt
4100- aco: ignore the ACO-inserted continue in create_continue_phis()
4101- aco: default to a definition size of 32
4102- aco: round bytes_written to dwords if larger than 4 bytes
4103- aco: use control flow creation helpers in select_gs_copy_shader
4104- aco: use mubuf helper in select_gs_copy_shader
4105- aco: move individual instruction disassembly to its own helper
4106- aco: refactor repeated instruction disassembly
4107- aco: switch aco_print_asm to a FILE \\*
4108- aco: create s_clause on GFX10+
4109- aco: assert a label only uses one of the members in ssa_info's union
4110- aco: fix printing of some sdwa sels
4111- aco: fix combine_inverse_comparison()
4112- aco: don't allow destination opsel for v_cvt_pknorm
4113- aco: handle SDWA in the optimizer
4114- docs/features: update unpromoted Vulkan extensions
4115- docs/features: add Vulkan 1.2
4116- radv: add some missing radv_{start,stop}_feedback
4117- radv: fix shader caching with discard->demote workaround
4118- radv: fix shader caching with NaN fixup workaround
4119- nir: scalarize fdot in reverse
4120- spirv: reverse order in matrix multiplication
4121- nir/algebraic: better propagate constants up fadd chains
4122- nir: add nir_alu_src_is_trivial_ssa()
4123- nir: skip bcsel with non-trivial swizzle in opt_simplify_bcsel_of_phi()
4124- nir: use nir_alu_src_is_trivial_ssa() in nir_ssa_for_alu_src()
4125- nir: add shader_info::bit_sizes_used
4126- nir/lower_bit_size: optimize upcast of b2i8/b2i16
4127- radv: move a few passes to after load/store vectorization
4128- radv: do nir_lower_bit_size after algebraic optimizations
4129- radv: rework nir_lower_bit_size callback and run DA on GFX8+
4130- aco: implement some 16-bit arithmetic instead of lowering
4131- aco: implement 8/16-bit instructions which can be trivially widened
4132- spirv: fix GLSLstd450Modf/GLSLstd450Frexp when the destination is vector
4133- util: add mapping from Vulkan to Gallium R64 integer formats
4134- amd/common: add PIPE_FORMAT_R64_{UINT,SINT} to GFX10 format table
4135- aco: implement 64-bit images
4136- ac/nir: implement 64-bit images
4137- radv: implement VK_EXT_shader_image_atomic_int64
4138- aco: don't combine precise max(min()) to med3
4139- aco: fix combine_constant_comparison_ordering() NaN check with 16/64-bit
4140- aco: disallow various v_add_u32 opts if modifiers are used
4141- aco: disable omod if the sign of zeros should be preserved
4142- aco: fix fp16 \*0.5 omod
4143- aco: fix v_mul_hi_u32_u24 format
4144- nir/unsigned_upper_bound: fix buffer overflow in search_phi_bcsel
4145- nir: fix sampler_lod_parameters_pan indices
4146
4147Ricardo Garcia (1):
4148
4149- anv: Ignore continue flag in primary cmd buffers
4150
4151Ricardo Quesada (1):
4152
4153- anv: support fd==-1 in ImportSemaphoreFdKHR
4154
4155Rob Clark (46):
4156
4157- freedreno/registers: add some missing regs to build
4158- freedreno/ir3: don't install ir3_compiler cmdline tool
4159- freedreno/ir3: add tracking for \\# of instructions per category
4160- freedreno/ir3: add more disasm stats
4161- freedreno/crashdec: handle section name typos
4162- freedreno/decode: try harder to not crash in disasm
4163- freedreno/registers: SC_WAIT_WC is not a6xx
4164- freedreno/a6xx: only generate streamout for draw pass shader
4165- freedreno/a6xx: fix occlusion query with more than one tile
4166- freedreno/cffdump: add arg to filter by process name
4167- freedreno/a6xx: disable LRZ when color channels are masked
4168- freedreno/a6xx: refactor debug logging
4169- freedreno: add debug helper to dump buffers
4170- freedreno: handle case of shadowing current render target
4171- freedreno/gmemtool: add tile_alignw/h and a650
4172- freedreno: add env var to override GMEM size
4173- freedreno: add env var to override tiles-per-pipe
4174- freedreno/a6xx: fix hang with large render target
4175- freedreno/batch: split out helper for rb alloc
4176- freedreno/batch: replace lrz_clear with prologue
4177- freedreno/a5xx+a6xx: use sysmem path for nondraw batches
4178- freedreno/a6xx: move ubwc clear to blitter
4179- freedreno: Fix missing rsc->seqno updates
4180- freedreno: fence_server_sync() fixes
4181- freedreno: Fix rast state for multisample clear
4182- freedreno: Don't bypass fd_draw_vbo() in clear fallback
4183- freedreno/a6xx: Skip empty tile_setup
4184- freedreno/a6xx: Fix fd6_draw_vbo() return
4185- freedreno: Clear gs/tcs/tes state for clear blits
4186- freedreno/a6xx: Fix MSAA clear
4187- freedreno: fix fence-fd leak
4188- ci/deqp-runner: Allow overriding width/height/config
4189- ci: cherry-pick deqp fix for config choosing
4190- ci: Enable remaining (non-rotate) mustpass CTS tests
4191- freedreno/drm: drop bo's dev reference
4192- freedreno: Don't leak border_color_buf reference
4193- freedreno/a6xx: Small cleanup
4194- freedreno/drm: Also clean ring_cache
4195- freedreno/registers: Add a couple things used on kernel side
4196- freedreno: Don't leak LRZ bo's
4197- freedreno: Update import/export traces
4198- freedreno: Disallow tiled if SHARED and not QCOM_COMPRESSED
4199- freedreno: Rework GMEM limit init
4200- freedreno/gmem: Respect max-height limits too
4201- freedreno: Protect gmem_cache ralloc allocations
4202- freedreno/ir3: Fix crash in shader compile fail path
4203
4204Rohan Garg (3):
4205
4206- anv: Mark anv_dump_{start,finish} as PUBLIC
4207- gitlab-ci: Test the traces from bgfx
4208- virgl: Always enable emulated BGRA and swizzling unless specifically told not to
4209
4210Roland Scheidegger (1):
4211
4212- gallivm: add InstSimplify pass
4213
4214Roman Gilg (2):
4215
4216- vulkan/wsi/x11: add sent image counter
4217- vulkan/wsi/x11: wait for acquirable images in FIFO mode
4218
4219Roman Stratiienko (1):
4220
4221- android: freedreno: Another build fix
4222
4223Ruijing Dong (1):
4224
4225- frontends/omx/enc: fix omx h264 encoding force-keyframe-period issue.
4226
4227Ryan Neph (1):
4228
4229- virgl: Fixes portal2 binary name in tweak config
4230
4231Sagar Ghuge (12):
4232
4233- intel/isl: Drop unnecessary check on 16bpp depth format
4234- intel/blorp: Conditionally clear full surface depth and stencil
4235- anv: Factor out dri option initialization code in separate function
4236- anv: Add driconf option to disable compression for 16bpp format
4237- anv: Return number of layers/levels attached to anv_image
4238- anv: Handle compressed stencil buffer transition on Gen12+
4239- anv: Set stencil_aux_usage flag
4240- anv: Get aux usage from plane while clearing stencil buffer
4241- anv: Don't track clear bo for stencil buffer compression
4242- anv: Return optimal aux state for stencil buffer compression
4243- anv: Pass correct stencil aux usage during MSAA resolve
4244- anv: Enable stencil buffer compression on Gen12+
4245
4246Samuel Iglesias Gonsálvez (14):
4247
4248- freedreno/layout: add tile_all flag to the layout
4249- turnip: add environment variable to disable LRZ
4250- turnip: create LRZ buffer
4251- turnip: disable LRZ on specific cases
4252- turnip: disable LRZ writes when blend is enabled
4253- turnip: disable LRZ depending on fragment changes
4254- turnip: add LRZ tracking to command buffer state
4255- turnip: add LRZ valid tracking for secondary command buffers
4256- turnip: add support to clear LRZ
4257- turnip: emit correct LRZ fast clear setup
4258- turnip: disable LRZ on vkCmdClearAttachments()
4259- turnip: disable LRZ on vkCmdClearattachments() 3D fallback path
4260- turnip: enable LRZ
4261- turnip: don't initialize GRAS_LRZ_CNTL/RB_LRZ_CNTL tu6_init_hw()
4262
4263Samuel Pitoiset (157):
4264
4265- radv: allow to force-enable LLVM internally for a specific shader stage
4266- radv: report the spirv-nir logs back to the application
4267- radv: rework the error function helpers a bit
4268- radv: report errors back to the application via VK_EXT_debug_report
4269- radv: report a better error message when QueueWaitIdle() failed
4270- radv/gfx10: add missing initialization of registers
4271- radv: limit LATE_ALLOC_GS to prevent a GPU hang on GFX10
4272- radv: fix emitting the border color pointer on the compute queue
4273- radv/winsys: add null winsys entries for Sienna Cichild/Navy Flounder
4274- gitlab-ci: test Fossilize with GFX1030
4275- aco: do not set valid_mask for POS0 exports on GFX 10.3
4276- radv: track and report if a logical device is lost
4277- aco: rename DEBUG_VALIDATE to DEBUG_VALIDATE_IR
4278- aco: rework the way various compilation/validation errors are reported
4279- radv,aco: report ACO errors/warnings back via VK_EXT_debug_report
4280- aco: fix file leak in ra_fail()
4281- radv: ignore BB labels when splitting the disassembly string
4282- aco: add ACO_DEBUG=force-waitcnt to emit wait-states
4283- amd/registers: add missing TBA registers on GFX6-GFX8
4284- amd/registers: add some SQ_WAVE\_\* register definitions
4285- aco: add TBA/TMA/TTMP0-11 physical registers definitions
4286- aco: validate that SMEM operands can use fixed registers
4287- aco: add a helper for building a trap handler shader
4288- aco: skip unnecessary compiler pass for the trap handler program
4289- radv: add a small interface for creating the trap handler shader
4290- radv: add initial trap handler support with RADV_TRAP_HANDLER=1
4291- radv: enable the trap handler and configure the shader exceptions
4292- radv: use the trap handler to detect faulty shaders/instructions
4293- radv: align the TMA BO size to 256
4294- radv: allocate the TMA BO into 32-bit addr space
4295- radv: fix setting EXCP_EN for different shader stages
4296- radv: print a warning when RADV_TRAP_HANDLER is used
4297- aco: add ACO_DEBUG=novn,noopt,nosched for debugging purposes
4298- radv: emit {CB,DB}_RMI_L2_CACHE_CONTROL at framebuffer time
4299- radv: set BIG_PAGE to improve performance on GFX10.3
4300- aco: fix wrong source position for constant with nir_op_cube_face_coord
4301- radv: dump shader stats with VK_KHR_pipeline_executable_properties
4302- radv: force RADV_DEBUG=syncshaders when RADV_TRACE_FILE is used
4303- radv: improve reporting faulty pipelines when a GPU hang is detected
4304- radv: dump GPU info into the hang report
4305- nir/algebraic: mark some optimizations with fsat(NaN) as inexact
4306- spirv: fix retrieving dest type for OpFragmentMaskFetchAMD
4307- radv,aco: disable opts if VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT
4308- aco: handle unaligned loads on GFX10.3
4309- spirv: fix emitting switch cases that directly jump to the merge block
4310- radv: fix transform feedback crashes if pCounterBufferOffsets is NULL
4311- radv: add a helper for loading meta descriptors
4312- radv: do not lower UBO/SSBO access to offsets
4313- radv: remove useless assignment of MAX_API_VERSION
4314- radv: bump the advertised patch version to 145
4315- radv: add VK_KHR_copy_commands2 but leave it disabled
4316- radv: add support for CmdBlitImage2KHR()
4317- radv: add support for CmdCopyBuffer2KHR()
4318- radv: add support for CmdCopyBufferToImage2KHR()
4319- radv: add support for CmdCopyImage2KHR()
4320- radv: add support for CmdCopyImageToBuffer2KHR()
4321- radv: cleanup selecting the hardware resolve path
4322- radv: add support for CmdResolveImage2KHR()
4323- radv: advertise VK_KHR_copy_commands2
4324- radv: set KEEP_TOGETHER_ENABLE if necessary on GFX10+
4325- radv: add a tweak for PS wave CU utilization for gfx10.3
4326- ci: adjust RadeonSI rules
4327- ci: add dEQP-VK.info.device_extensions to the list of skipped tests
4328- nir/lower_memory_model: return progress when visiting instructions
4329- nir/lower_memory_model: do not break with global atomic operations
4330- ac/nir: implement nir_intrinsic_{load,store}_global
4331- ac/nir: implement nir_intrinsic_global_atomic\_\*
4332- radv: lower deref operations for global memory for both backends
4333- ac/llvm: fix invalid IR if image stores are shrinked using the format
4334- nir/lower_io: change nir_io_add_const_offset_to_base to use bitfield modes
4335- radeonsi: call nir_io_add_const_offset_to_base only once per shader
4336- radv/llvm: call nir_lower_io_to_vector with FS to fix array tests
4337- radv: call nir_io_add_const_offset_to_base for FS outputs
4338- radv: move lowering of FS outputs outside of ACO
4339- radv: fix gathering writes_memory for global store/atomic operations
4340- ac/llvm: fix invalid use of unreachable in ac_build_atomic_rmw()
4341- ac/nir: fix nir_intrinsic_shared_atomic_fadd
4342- radv: gather output usage mask from store_output for VS, TES and GS
4343- radv/aco: lower IO for all stages outside of ACO
4344- aco: apply the clamped integer addition disassembly workaround for v_add3
4345- aco/tests: add disassembler tests to reproduce the add3+clamp crash
4346- ac/llvm: adjust dmask when image stores are shrinked using the format
4347- ac/nir: remove dead load/store deref code for temporary variables
4348- radv/llvm: assign driver locations for VS, TCS, TES and GS correctly
4349- radv/llvm: lower GS IO
4350- radv/llvm: lower TES IO
4351- radv/llvm: gather TCS outputs from the output variables
4352- radv/llvm: lower TCS IO
4353- radv/llvm: gather VS input usage mask from load_input
4354- radv/llvm: lower VS IO
4355- ac/llvm: implement nir_op_unpack_half_2x16_split_{x,y}
4356- radv/llvm: enable lower_unpack_half_2x16
4357- ac/nir: remove dead global load/store/atomic derefs code
4358- ac/nir: remove dead shader IO code
4359- radeonsi: remove dead code in TCS/TES/GS since const_index is always 0
4360- ac,radv,radeonsi: remove unused parameters in the shader ABI IO
4361- radv: remove unused gs.writes_memory in the shader info pass
4362- radv: remove dead deref code in the shader info pass
4363- ac/nir,radv: fix invalid IR when loading inline uniform blocks
4364- nir/constant_folding: init nir_const_value to zero
4365- aco: bail out if the NIR IO base offset isn't zero
4366- aco: more uses of nir_get_io_offset_src()
4367- ac/nir: implement nir_op_fsat
4368- radv/llvm: do not lower nir_op_fsat
4369- radv/llvm: remove dead code for 64-bit GS inputs
4370- aco: dump the program if the disassembler failed
4371- radv/llvm: do not lower sub
4372- radv: use the same NIR compiler options for both compiler backends
4373- radv/llvm: stop assigning driver_location in NIR->LLVM
4374- ac,radv,radeonsi: stop multiplying driver_location by 4
4375- ac/nir: pass the variable location to store_tcs_outputs
4376- radv/llvm: switch to NIR IO assigned locations
4377- radv/llvm: reduce the ESGS itemsize by using NIR IO assigned locations
4378- radv/llvm: reduce LDS size for tess by using NIR IO assigned locations
4379- radv: remove one leftover TODO in the shader info pass
4380- ac/llvm: move AC_FETCH_FORMAT to non-LLVM code
4381- radv: replace RADV_ALPHA_ADJUST by AC_FETCH_FORMAT
4382- radv: move lower_io_arrays_to_elements before lower_io_to_scalar_early
4383- radv: fix adjusting vertex alpha
4384- aco: implement missing nir_op_unpack_half_2x16_split_{x,y}_flush_to_zero
4385- radv/aco: disable NGG GS support because it randomly hangs the GPU
4386- radv: fix ignoring the vertex attribute stride if set as dynamic
4387- aco: remove stub lower_wqm() prototype
4388- aco: remove useless occurences of radv_nir_compiler_options
4389- aco: remove unused radv_shader.h includes
4390- radv: move compiler statistics to ACO
4391- aco: compute the CS workgroup size from the shader NIR info
4392- aco: adjust an assertion about the wavesize in emit_gfx10_wave64_bpermute()
4393- radv: fix optimizing needed states if some are marked as dynamic
4394- ac/nir: implement missing nir_op_pack_half_2x16_split
4395- radv: report latest extension spec versions
4396- radv: add missing 'discardtodemote' option in the debug list
4397- Revert "radv/aco: disable NGG GS support because it randomly hangs the GPU"
4398- ac/nir: handle non-const offset with txf/txf_ms
4399- radv: move all NIR pass outside of ACO
4400- ac/nir: do not sign-extend the result of texop_samples_identical
4401- radv,aco: fix use of texop_samples_identical in the resolve meta path
4402- aco: fix determining if LOD is zero for nir_texop_txf/nir_texop_txs
4403- ac/nir: ignore set_vertex_and_primitive_count intrinsic
4404- ac/nir: abort when an unknown intrinsic is reached
4405- ac: add an option to dump GPU info to a file
4406- radv: add radv_dump_cmd() helper
4407- radv: dump UMR ring and waves into the hang report
4408- radv: dump GPU hang report logs into $HOME/radv_dumps_<pid\>
4409- radv: re-order GPU hang report dumps by usefulness
4410- radv: replace RADV_TRACE_FILE by RADV_DEBUG=hang
4411- radv: do not perform a FMASK expand for non-writeable MSAA images
4412- radv: flush CB before and after FMASK_DECOMPRESS or DCC_DECOMPRESS
4413- radv: enable VK_AMD_mixed_attachment_samples on GFX6-GFX7
4414- radv,aco: adjust the sample mask only if per-sample shading is enabled
4415- radv,aco: optimize computing the sample mask for per-sample shading
4416- aco: store NIR range analysis data to the isel context
4417- aco: select v_mul_{hi}_u32_u24 for 24-bit multiplications
4418- nir/algebraic: distribute imul(iadd(a, b), c) when b and c are constants
4419- aco: optimize v_and(a, v_subbrev_co(0, 0, vcc)) -\> v_cndmask(0, a, vcc)
4420- nir/algebraic: optimize bitfield_select(a, b, 0) to iand(a, b)
4421- aco: fix combining add/sub to b2i if a new dest needs to be allocated
4422
4423Serge Martin (13):
4424
4425- clover: set LLVM min version to 8.0.1
4426- clover: implements clEnqueueMigrateMemObjects
4427- clover: implements clEnqueueFillImage
4428- clover: implements clGetKernelArgInfo
4429- clover: bind sampler_t type to module::argument::sampler
4430- clover: add CL_KERNEL_ATTRIBUTES for clGetKernelInfo
4431- clover: implements clGetKernelWorkGroupInfo CL_KERNEL_COMPILE_WORK_GROUP_SIZE
4432- clover: implements notification callback on program builds
4433- clover: avoid adding an extra space to compiler options
4434- clover: move tokenize function to algorithm
4435- clover: validate image_row_pitch and image_slice_pitch in clEnqueueMapImage
4436- clover: clCreateImage: calculate image row_pitch and slice_pitch when not provided
4437- clover: implements clSetContextDestructorCallback
4438
4439Suresh Guttula (2):
4440
4441- gallium: update abs_delta segementation parameter
4442- radeon/vcn : Corrected dpb_size calculation for VP9_2
4443
4444Tapani Pälli (16):
4445
4446- anv: add a check for depthStencilState before using it
4447- anv: null check for buffer before reading size
4448- anv: take depth in to account in anv_GetImageSubresourceLayout
4449- mesa: refactor floating point texture fbo completeness check on gles
4450- mesa: add EXT_color_buffer_half_float plumbing
4451- mesa/st: enable EXT_color_buffer_half_float when formats supported
4452- glsl: mark some builtins with correct glsl(es) version check
4453- iris: remove additional pipe control done before hiz for older gens
4454- glsl: take EXT_gpu_shader4 in to account when adding round
4455- gallivm/nir: handle nir_op_flt in lp_build_nir_llvm
4456- iris: fix the order of src and dst for fence memcpy
4457- mesa/st: call memobj_destroy only if there is memory imported
4458- mesa: do not throw \_mesa_problem when invalid enum is used
4459- mesa/st: use a lock to protect access to variants when updating them
4460- egl/dri2: fix race between image create and egl_image_target_texture
4461- iris: initialize shared screen->vtbl only once
4462
4463Thong Thai (10):
4464
4465- radeon/vcn: fix jpeg decode for navi10
4466- frontends/va: Add support for NV12/P010/P016 to vaDeriveImage
4467- frontends/va: Derive image from interlaced buffers
4468- frontends/va: Derive image from interlaced buffers in some cases
4469- gallium: Parse packed HEVC SPS encode header for crop parameters
4470- radeon: Pass HEVC encode crop parameters to the encoder
4471- frontends/va: Enabled packed headers for H.264 encoder
4472- gallium/auxiliary/vl: Include src region in scale_y calculation
4473- frontends/va/postproc: Un-break field flag
4474- frontends/va: Return P010/P016 as possible surface formats when encoding
4475
4476Timothy Arceri (15):
4477
4478- i965: add support for force_gl_vendor
4479- disk_cache: move cache dir generation into OS specific helper file
4480- disk_cache: add disk_cache_enabled() helper
4481- disk_cache: move index mmap into OS specific helper
4482- disk_cache: move munmap into an OS specific helper
4483- disk_cache: move evict_lru_item() to an OS specific helper
4484- disk_cache: create new helper for writing cache items to disk
4485- disk_cache: move get_cache_file() to an OS specific helper
4486- disk_cache: add new OS specific helper disk_cache_evict_item()
4487- disk_cache: move cache item loading code into disk_cache_load_item() helper
4488- glsl: don't duplicate state vars as uniforms in the NIR linker
4489- util/disk_cache: remove unused function param
4490- glsl: relax rule on varying matching for shaders older than 4.00
4491- glsl: add extra pp tokens workaround and enable for CoR
4492- glsl: drop NMS OpenGL workarounds
4493
4494Timur Kristóf (50):
4495
4496- aco: Fix unused variable warning by adding ASSERTED.
4497- aco: Fix convert_to_SDWA when instruction has 3 operands.
4498- aco: Move README to README-ISA
4499- aco: Fixup markdown formatting of the README-ISA.
4500- aco: Add README which explains about what ACO is and how it works.
4501- aco: Fix emit_boolean_exclusive_scan in wave32 mode.
4502- aco: Clean up emit_mbcnt.
4503- aco: Add base argument to emit_mbcnt.
4504- aco: Use NIR IO semantics for tess factor IO locations.
4505- radv/aco: Set I/O variable locations outside ACO.
4506- nir: Add ability to count emitted GS primitives.
4507- nir: Add ability to count emitted GS vertices per primitive.
4508- nir: Add ability to overwrite incomplete GS primitives.
4509- nir: Count vertices per stream.
4510- nir: Add ability to count primitives per stream.
4511- radv/aco: Use new GS lowering options for ACO with NGG GS.
4512- aco: Clarify missing export error message in assembler.
4513- aco: Extract lanecount_to_mask to a separate function.
4514- aco: Extract thread_id_in_threadgroup to a separate function.
4515- aco: Use thread_id_in_threadgroup helper for ES outputs.
4516- aco: Optimize thread_id_in_threadgroup when there is just one wave.
4517- aco: Add wave-specific opcode for s_lshl and s_flbit.
4518- aco/ngg: Refactor gs_alloc_req in preparation for NGG GS.
4519- aco/ngg: Refactor ngg_emit_prim_export in preparation for NGG GS.
4520- aco/ngg: Make primitive export packing less prone to error.
4521- aco/ngg: Clean up and reorganize NGG VS/TES code.
4522- aco/ngg: Allow NGG GS to store ES outputs.
4523- aco/ngg: Allow NGG GS to load per-vertex GS inputs.
4524- aco/ngg: Allow NGG GS to create VS exports.
4525- aco/ngg: Setup NGG GS.
4526- aco/ngg: Create LDS layout for NGG GS.
4527- aco/ngg: Implement workgroup reduce / exclusive scan for NGG GS.
4528- aco/ngg: Implement NGG GS output.
4529- aco/ngg: Place workgroup barrier outside control flow for NGG GS.
4530- aco/ngg: Add shader query support to NGG GS.
4531- radv/aco: Enable NGG GS by default.
4532- aco/ngg: Use more efficient LDS layout to help reduce bank conflicts.
4533- aco/ngg: Allocate NGG GS space early for const vertex/primitive counts.
4534- aco/ngg: Calculate workgroup size of NGG shaders.
4535- nir: Emit set_vertex_and_primitive_count for inactive streams.
4536- aco/ngg: Add assertion to make sure we always know the vertex count.
4537- aco: Assert that workgroup barriers are not used inappropriately.
4538- aco/ngg: Put shader query reduction operand into a VGPR.
4539- aco: Add some validation for PSEUDO_REDUCTION instructions.
4540- aco: Make emitting reduction instructions a bit more convenient.
4541- aco: Add a few assertions about LDS usage.
4542- aco/ngg: Export a zero-area triangle when primitive count is 0.
4543- aco/ngg: Incorporate GS invocations into workgroup size calculation.
4544- aco/optimizer: Only set scc_needed when it is actually needed.
4545- aco: Fix NGG GS assert failure from the WG scan.
4546
4547Tomeu Vizoso (16):
4548
4549- Revert "CI: temp disable t720/t760 jobs."
4550- Revert "CI: Disable Panfrost T720/T760 CI"
4551- ci: Split traces.yml file per driver
4552- ci: Test Panfrost with more traces
4553- ci: Fix URL to imagediff page in traces dashboard
4554- ci: Update kernel used in LAVA to 5.8-based drm-misc
4555- ci: Run deqp-gles2 on RadeonSI
4556- ci: Run deqp-gles3 and deqp-gles31 on RadeonSI
4557- ci: Update kernel for LAVA
4558- ci: Test Panfrost on Khadas VIM3 boards
4559- ci: Disable pm_runtime and max clocks in LAVA jobs
4560- ci: Unskip fragment_ops tests on Bifrost
4561- virgl: Correctly align size of blobs
4562- ci: Update kernel for LAVA to 5.10-rc2 plus patches
4563- ci: Update dEQP skips and fails for Bifrost on G52
4564- ci: Distribute ADMGPU driver to LAVA as a module
4565
4566Tony Wasserka (26):
4567
4568- nir/lower_idiv: Port recent LLVM fixes to emit_udiv
4569- radv: Fix various non-critical integer overflows
4570- aco: Fix integer overflows when emitting parallel copies during RA
4571- amd/common: Fix various non-critical integer overflows
4572- aco/isel: Turn the function template emit_load into a proper function
4573- aco/isel: Simplify nested branching code
4574- aco/isel: Consistently use references for input parameters in emit_load
4575- aco/isel: Remove unused definitions
4576- aco/isel: Move context initialization code to a dedicated file
4577- aco/isel: Move add_startpgm to aco_instruction_selection.cpp
4578- aco/isel: Compile all helper functions with static linkage
4579- nir: Fix undefined behavior due to signed integer multiplication overflows
4580- nir: Fix unaligned pointer access
4581- radv: Avoid calling memcpy with null pointers
4582- radv: Fix unaligned memory access when writing specialization map entries
4583- radv: Clean up CreateDescriptorSetLayout
4584- radv: Respect alignment requirements in descriptor set layouts
4585- aco/isel: Fix out-of-bounds write in visit_load_input
4586- aco/isel: Always export position data from VS/NGG
4587- aco/isel: Remove some dead code
4588- aco/isel: Remove now unused VS-related code from create_null_export
4589- aco: Use strong typing to model SW<->HW stage mappings
4590- aco: Clean up symbol names and comments related to NGG
4591- aco/isel: Miscellaneous cleanups using the new Stage API
4592- aco/ra: Fix counting of subdword variables in get_reg_create_vector
4593- aco: Fix format string used when raising validation errors
4594
4595Veerabadhran Gopalakrishnan (1):
4596
4597- frontends/va: Added protected playback support for VP9
4598
4599Vinson Lee (64):
4600
4601- util: Fix memory leaks in unit test.
4602- meson: Fix lmsensors warning message.
4603- radv/winsys: Fix memory leak.
4604- vulkan: Fix memory leaks.
4605- panfrost: Fix gnu-empty-initializer errors.
4606- freedreno: Fix file descriptor leak.
4607- svga: Fix unused printf argument.
4608- spirv: Initialize spirv_test member shader.
4609- nv50/ir: Add fallthrough statement.
4610- nv50/ir: Remove duplicate mask assignment.
4611- ac/llvm: Fix nonportable sizeof.
4612- freedreno: Check file descriptor before write.
4613- nv50/ir: Initialize Converter members.
4614- libgl-gdi: Fix unused-variable warnings.
4615- disk_cache: Fix filename leak on error path.
4616- radesonsi: Remove unsigned comparison to zero.
4617- panfrost: Delete debug allocated syncobj.
4618- turnip: Release bo_mutex lock before potential error path.
4619- pan/bi: Fix typo.
4620- glsl: Initialize ir_constant member const_elements in all constructors.
4621- r600/sfn: Initialize GPRValue member m_pin_to_channel.
4622- gallium/dri2: Move image->texture assignment after image NULL check.
4623- panfrost: Remove extra printf arguments.
4624- anv: Check file descriptor before closing.
4625- aco: Initialize mad_info member literal_idx.
4626- gallium/swr: Remove unreachable code.
4627- pan/mdg: Fix memory leak on error path.
4628- lima: Print usage if --help is any of the arguments.
4629- radv: Fix asserts using assign instead of compare.
4630- nv50/ir: Initialize Source members.
4631- freedreno: Move rsc NULL check to before rsc dereferences.
4632- intel/vec4: Remove leftover code from Gen8+ removal.
4633- glsl: Initialize ast_node member field location.path in constructor.
4634- meson: Use more portable compiler option -std.
4635- swr/rasterizer: Remove BuilderGfxMem member mpTrackMemAccessFuncTy.
4636- util/xmlconfig: Initialize xmlconfig member options in constructor.
4637- svga: Remove unused printf argument.
4638- glsl: Initialize ir_to_mesa_visitor members in constructor.
4639- v3dv: Fix assert using assign instead of compare.
4640- glsl: Initialize lower_ubo_reference_visitor members in constructor.
4641- glsl: Initialize add_uniform_to_shader member var in constructor.
4642- v3dv: Remove unsigned comparison to zero.
4643- v3dv: Initialize time before usage by free_stale_bos.
4644- panfrost: Fix stride for AFBC_FORMAT_MOD_BLOCK_SIZE_32x8.
4645- v3dv: Fix assert using assign instead of compare.
4646- glsl: Initialize ir_if_to_cond_assign_visitor members in constructor.
4647- glsl: Initialize lower_shared_reference_visitor members.
4648- scons/windows: Support build with LLVM 11.
4649- amd/addrlib: Initialize Gfx10Lib members in constructor.
4650- Fix VMware capitalization.
4651- glsl: Update loop_terminator constructor to accept parameters.
4652- draw: Remove draw_install_aaline_stage dead code.
4653- os: Fix open result check.
4654- gallium: Remove duplicate resource variable.
4655- tgsi: Initialize tgsi_declaration_dimension padding.
4656- radesonsi: Remove unnecessary shader->selector NULL check.
4657- amd/addrlib: Add missing va_end.
4658- v3dv: Remove unsigned comparison to zero.
4659- st/nine: Remove unnecessary NULL check.
4660- turnip: Fix file descriptor return.
4661- vdpau: Add missing printf format specifier.
4662- frontends/va: Fix \*num_entrypoints check.
4663- clover/spirv: Add missing break for SpvOpExecutionMode case.
4664- turnip: Close sync_fd only if it is a valid file descriptor.
4665
4666Woody Chow (1):
4667
4668- st/mesa: Fix EGLImageTargetTexture2D for GL_TEXTURE_2D
4669
4670Yevhenii Kolesnikov (1):
4671
4672- nir/large_constants: only search for constant duplicates
4673
4674Yogesh Mohan Marimuthu (1):
4675
4676- src/mesa: add GL_NV_half_float extension support (v2)
4677
4678jzielins (4):
4679
4680- gallium/swr: Fix compilation with LLVM 12
4681- gallium/swr: Fix compilation TCS/TES compilation issues
4682- swr: Fix crashes on non-AVX hardware
4683- swr: Use ElemenCount constructor for LLVM 11
4684
4685n00b7 (1):
4686
4687- v3dv/device: handle primary nodes for newer kernels
4688
4689orbea (1):
4690
4691- spirv/vtn_cfg.c: Include util/debug.h for env_var_as_boolean.
4692
4693zhu yong (1):
4694
4695- meson: add support for loongson's mips/mips64 arch.
4696