docs: Add release notes for 20.1.0
[mesa.git] / docs / relnotes / 20.1.0.html
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
3 <html lang="en">
4 <head>
5 <meta http-equiv="content-type" content="text/html; charset=utf-8">
6 <title>Mesa Release Notes</title>
7 <link rel="stylesheet" type="text/css" href="../mesa.css">
8 </head>
9 <body>
11 <div class="header">
12 <h1>The Mesa 3D Graphics Library</h1>
13 </div>
15 <iframe src="../contents.html"></iframe>
16 <div class="content">
18 <h1>Mesa 20.1.0 Release Notes / 2020-05-27</h1>
20 <p>
21 Mesa 20.1.0 is a new development release. People who are concerned
22 with stability and reliability should stick with a previous release or
23 wait for Mesa 20.1.1.
24 </p>
25 <p>
26 Mesa 20.1.0 implements the OpenGL 4.6 API, but the version reported by
27 glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
28 glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
29 Some drivers don't support all the features required in OpenGL 4.6. OpenGL
30 4.6 is <strong>only</strong> available if requested at context creation.
31 Compatibility contexts may report a lower version depending on each driver.
32 </p>
33 <p>
34 Mesa 20.1.0 implements the Vulkan 1.2 API, but the version reported by
35 the apiVersion property of the VkPhysicalDeviceProperties struct
36 depends on the particular driver being used.
37 </p>
39 <h2>SHA256 checksum</h2>
40 <pre>
41 2109055d7660514fc4c1bcd861bcba9db00c026119ae222720111732dba27c83 mesa-20.1.0.tar.xz
42 </pre>
45 <h2>New features</h2>
47 <ul>
48 <li>GL_ARB_compute_variable_group_size on i965.
49 </li>
50 <li>GL_EXT_depth_bounds_test on Iris.
51 </li>
52 <li>GL_EXT_texture_shadow_lod on radeonsi, nvc0.
53 </li>
54 <li>GL_NV_alpha_to_coverage_dither_control on radeonsi
55 </li>
56 <li>GL_NV_copy_image on all gallium drivers.
57 </li>
58 <li>GL_NV_pixel_buffer_object on all gallium drivers, i915, i965, swrast.
59 </li>
60 <li>GL_NV_viewport_array2 on nvc0 (GM200+).
61 </li>
62 <li>GL_NV_viewport_swizzle on nvc0 (GM200+).
63 </li>
64 <li>VK_AMD_memory_overallocation_behavior on RADV.
65 </li>
66 <li>VK_KHR_shader_non_semantic_info on Intel, RADV.
67 </li>
68 <li>GL_EXT_draw_instanced on gles2
69 </li>
70 <li>VK_KHR_8bit_storage for ACO on GFX8+
71 </li>
72 <li>VK_KHR_16bit_storage for ACO on GFX8+ (storageInputOutput16 is still unsupported)
73 </li>
74 <li>shaderInt16 for ACO on GFX9+
75 </li>
76 <li>VK_KHR_shader_float16_int8 for ACO on GFX8+ (shaderFloat16 is still unsupported)
77 </li>
78 <li>VK_EXT_robustness2 on Intel, RADV.
79 </li>
80 <li>Add Rocket Lake (RKL) support on anvil and iris.
81 </li>
82 </ul>
84 <h2>Bug fixes</h2>
86 <ul>
87 <li>Reproduceable i915 gpu hang Intel Iris Plus Graphics (Ice Lake 8x8 GT2)</li>
88 <li>glsl: regression affecting shader compilation time</li>
89 <li>freedreno: glamor issue with x11 desktops</li>
90 <li>[gles3] supertuxkart: some textures are incorrect</li>
91 <li>Double lock in fbobject.c</li>
92 <li>[bisected] Steam crashes when newest Iris built with LTO</li>
93 <li>i965/vec4: opt_cse_local cause the out of bound array access</li>
94 <li>NIR: Regression on shader using 8/16-bit integers</li>
95 <li>lp_bld_intr.c:70:16: error: use of undeclared identifier &#x27;LLVMFixedVectorTypeKind&#x27;; did you mean &#x27;LLVMVectorTypeKind&#x27;?</li>
96 <li>Deadlock in anv_timelines_wait()</li>
97 <li> does not work with release candidates</li>
98 <li> does not work with release candidates</li>
99 <li>radv regression on android</li>
100 <li>src\util\ ERROR: Program or command &#x27;winepath&#x27; not found or not executable</li>
101 <li>debug builds are massively broken on Windows</li>
102 <li>heavy glitches on amd ryzen 5 since version 20.x</li>
103 <li>zink asserts with 32-bit boolean</li>
104 <li>Dirt: Showdown bad performance and broken rendering with enabled advanced lightning</li>
105 <li>gravit &amp; Firefox WebGL broken since 3dc2ccc14c0e035368fea6ae3cce8c481f3c4ad2 &quot;ac/surface: replace RADEON_SURF_OPTIMIZE_FOR_SPACE with !FORCE_SWIZZLE_MODE&quot;</li>
106 <li>mesa 20.0.5 causing kitty to crash</li>
107 <li>radeonsi: &quot;Torchlight II&quot; trace showing regression on mesa-20.0.6 [bisected]</li>
108 <li>[RADV/LLVM/ACO/Regression] After mesa commit a3dc7fffbb7be0f1b2ac478b16d3acc5662dff66 all games stucks at start</li>
109 <li>Android building error after commit 2ab45f41</li>
110 <li>iris: Crash when trying to capture window in OBS Studio</li>
111 <li>Properly annotate control flow convergence points</li>
112 <li>intel/compiler: Register coalesce doesn&#x27;t move conditional modifiers</li>
113 <li>[bisected] [iris] mpv under wayland: failed to import supplied dmabufs: Unsupported buffer format 808669784</li>
114 <li>[Bisected][Iris] piglit.spec.!opengl 1_1.max-texture-size crashes on x32 platform</li>
115 <li>anv : android deqp assert dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image#export_import_bind_bind</li>
116 <li>GL cts gtf30.GL3Tests.sgis_texture_lod.sgis_texture_lod_basic_getter failure</li>
117 <li>freedreno/a6xx: texture cache vs realloc_bo()</li>
118 <li>[Bisected] dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.* failures</li>
119 <li>dEQP-VK.subgroups.size_control.compute.* crashes on HSW and TGL</li>
120 <li>zink: framebuffer and pipeline caches accumulate due to zink_create_surface()</li>
121 <li>FTBFS due to LLVM commit 2dea3f129878 (LLVMVectorTypeKind is gone)</li>
122 <li>[r600/Turks] 20.0.2: modesetting/radeon driver SIGABRT at loading X (kernel 5.5.10, ppc64)</li>
123 <li>piglit spec.!opengl crash on Iris</li>
124 <li>ci: Update the Wine version</li>
125 <li>SPIR-V: Failure in dEQP-VK.graphicsfuzz.control-flow-switch</li>
126 <li>SPIR-V: OpConvertUToPtr from spec constant fails to compile</li>
127 <li>ACO: Regression: Texture corruption</li>
128 <li>radv: Reading ViewportIndex in fragment shader returns garbage</li>
129 <li>piglit spec.arb_gpu_shader_fp64.execution.arb_gpu_shader_fp64-vs-non-uniform-control-flow-ssbo crash on Iris</li>
130 <li>piglit spec/arb_gpu_shader_fp64/execution/built-in-functions/vs-sign-neg-abs.shader_test failure on IVB</li>
131 <li>[ANV] gfxbench Aztec Ruins misrenders on gen11+</li>
132 <li>glxinfo cmd crashed</li>
133 <li>radeonsi: GL_LINES rendering is affected by GL_POINT_SPRITE</li>
134 <li>nir: nir_lower_returns can&#x27;t handle nested loops</li>
135 <li>Graphic artifacts with Mesa 20.0.4 on intel HD 510 GPU</li>
136 <li>[Iris] [Bisected] Some KHR-GL46.arrays_of_arrays_gl. tests are failing</li>
137 <li>Mesa 20 regression makes Lightsprint demos crash</li>
138 <li>metro redux games crash upon loading certain levels on amdgpu</li>
139 <li>dri_common.h:58:8: error: unknown type name &#x27;__GLXDRIdrawable&#x27;</li>
140 <li>Graphical glitches on Intel Graphics when Xorg started on Iris driver</li>
141 <li>GL/GLES test crashes on G33/i915 platforms</li>
142 <li>GL/GLES test crashes on G33/i915 platforms</li>
143 <li>GL/GLES test crashes on G33/i915 platforms</li>
144 <li>SIGSEGV src/compiler/glsl/ast_function.cpp:53</li>
145 <li>manywin aborts with &quot;i965: Failed to submit batchbuffer: Invalid argument&quot;</li>
146 <li>manywin aborts with &quot;i965: Failed to submit batchbuffer: Invalid argument&quot;</li>
147 <li>manywin aborts with &quot;i965: Failed to submit batchbuffer: Invalid argument&quot;</li>
148 <li>manywin aborts with &quot;i965: Failed to submit batchbuffer: Invalid argument&quot;</li>
149 <li>v3d: transform feedback issue</li>
150 <li>radv: Enable TC-compat HTILE in VK_IMAGE_LAYOUT_GENERAL.</li>
151 <li>radv: dEQP-VK.binding_model.descriptorset_random.sets4.noarray.ubolimitlow.sbolimitlow.imglimitlow.noiub.comp.noia.0 segfault</li>
152 <li>radv: RAVEN fails dEQP-VK.pipeline.timestamp.misc_tests.reset_query_before_copy</li>
153 <li>buffer overflow in nouveau driver on mesa 20.0.2</li>
154 <li>xmlconfig sha1 code has overflow and possible bug</li>
155 <li>enable storageBuffer16BitAccess feature in radv for SI and CIK</li>
156 <li>Build Fails with Clang Shared Library</li>
157 <li>Thousands of 32 bit regressions in VulkanCTS and GL test suites due to handling of cross-invocation</li>
158 <li>anv: isl assert when running dEQP-VK.geometry.layered.3d.*.readback</li>
159 <li>Weston seems to fail with Mesa master and LIBGL_ALWAYS_SOFTWARE=1</li>
160 <li>freedreno/turnip: Don&#x27;t request pixlodenable when we don&#x27;t use it</li>
161 <li>VulkanCTS uniform_buffer_block_geom spins forever</li>
162 <li>freedreno: dEQP-GLES3.functional.fbo.msaa.4_samples.r16f flakiness in CI</li>
163 <li>src\util\ ERROR: Program or command &#x27;winepath&#x27; not found or not executable</li>
164 <li>RADV: flickering textures in Q.U.B.E. 2 through Proton</li>
165 <li>Missing ENDBR in entry_x86-64_tls.h, entry_x86_tls.h and entry_x86_tsd.h</li>
166 <li>[regression][bisected] Android build test fails: marshal_generated.c&#x27;, missing and no known rule to make it</li>
167 <li>Missing ENDBR in rtasm_x86sse.c</li>
168 <li>src/intel/tools/aubinator_viewer.cpp:383:52: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t {aka long long unsigned int}’ [-Werror=format=]</li>
169 <li>src/compiler/glsl/ast_to_hir.cpp:2134: ir_rvalue* ast_expression::do_hir(exec_list*, _mesa_glsl_parse_state*, bool): Assertion `result != NULL || !needs_rvalue&#x27; failed.</li>
170 <li>process_test fails on macOS</li>
171 <li>Vulkan Overlay is blinking</li>
172 <li>Regression: 9d64ad2fe79 broke Rocket League</li>
173 <li>GameMaker games (Memoranda and Undertale) + amdgpu — Segmentation fault on launch</li>
174 <li>Civilization VI - Animated leader characters small black squares artifacts</li>
175 <li>[ACO] Reliable crash with RPCS3 that is not present with LLVM</li>
176 <li>[RADV] vkCmdBindTransformFeedbackBuffersEXT pSizes optional parameter not handled</li>
177 <li>[RadeonSI] - Curse of the Dead Gods (1123770) - Lighting is not rendering correctly.</li>
178 <li>soft-fp64: __fsat64 incorrectly returns NaN for a NaN input. It should return zero.</li>
179 <li>Hang when using glWaitSync with multithreaded shared GL contexts</li>
180 <li>RPCS3 / Persona 5 - Performance regression [RADV / Navi]</li>
181 <li>[ANV] Rendering corruption in Shadow of the Tomb Raider</li>
182 <li>src/compiler/glsl/glcpp/glcpp-parse.y:1297: _token_print: Assertion `!&quot;Error: Don&#x27;t know how to print token.&quot;&#x27; failed.</li>
183 <li>[CTS] dEQP-VK.descriptor_indexing.* fails on RADV/LLVM</li>
184 <li>Unigine Valley failure / assert</li>
185 <li>[Gen9/icl] [Bisected] [Regression] dEQP-GLES3.functional.shaders.loops.short_circuit.do_while_fragment fail</li>
186 <li>[RadeonSI][gfx10/navi] Kerbal Space Program crash: si_draw_vbo: Assertion `0&#x27; failed</li>
187 <li>Budget Cuts hits VK_AMD_shader_fragment_mask assert</li>
188 <li>Follow-up from &quot;i965/blorp: Don&#x27;t resolve HiZ unless we&#x27;re reinterpreting&quot;</li>
189 <li>crash in vc4_write_uniforms with shaders involving YUV textures</li>
190 <li>Corrupted output with vaapi 10 bit -&gt; 8 bit transcoding on AMD RAVEN</li>
191 <li>tessellator.cpp:78:7: error: &#x27;fmin&#x27; is missing exception specification &#x27;noexcept&#x27;</li>
192 <li>Please add Raspberry Pi 4 to features.txt</li>
193 <li>Build failure with bison 2.3.</li>
194 <li>Mesa build fails on 32 bit architecture</li>
195 <li>Mesa build fails on 32 bit architecture</li>
196 <li>Incorrect rendering with vaapi + uyvy422</li>
197 <li>V3D/Broadcom (Raspberry Pi 4) - GLES 3.1 - GL_EXT_texture_norm16 advertised, but not usable</li>
198 <li>mesa-20.0.0/src/amd/compiler/aco_instruction_selection.cpp:7221:55: style: Same expression on both sides of &#x27;&amp;&amp;</li>
199 <li>i965 assertion failure in fallback_rgbx_to_rgba</li>
200 <li>vaapi bob deinterlacer produces wrong output height on AMD</li>
201 <li>Compute copies do not handle SUBSAMPLED formats</li>
202 <li>Please document RADV_TEX_ANISO variable in envvars.html</li>
203 <li>unexpected CI failure</li>
204 <li>Multiple glapi_mapi_tmp.h</li>
205 <li>drisw crashes on calling NULL putImage on EGL surfaceless platform (pbuffer EGLSurface)</li>
206 <li>VRAM leak with vuilkan external memory + opengl memory objects</li>
207 <li>[radeonsi][vaapi][bisected] invalid VASurfaceID when playing interlaced DVB stream in Kodi</li>
208 <li>[RADV] GPU hangs while the cutscene plays in the game Assassin&#x27;s Creed Origins</li>
209 <li>ACO: The Elder Scrolls Online crashes on startup (Navi)</li>
210 <li>Broken rendering of glxgears on S/390 architecture (64bit, BigEndian)</li>
211 <li>aco: sun flickering with Assassins Creeds Origins</li>
212 <li>!1896 broke ext_image_dma_buf_import piglit tests with radeonsi</li>
213 <li>aco: wrong geometry with Assassins Creed Origins on GFX6</li>
214 <li>valgrind errors since commit a8ec4082a41</li>
215 <li>src/broadcom/qpu/qpu_pack.c:962:25: error: implicit declaration of function &#x27;ffs&#x27; is invalid in C99 [-Werror,-Wimplicit-function-declaration] mux_b = ffs(desc-&gt;mux_b_mask) - 1;</li>
216 <li>X fails to start with amdgpu and Mesa 20.1 on Fedora</li>
217 <li>GPU hangs in Factorio on Radeon RX 5700 XT (MSI GAMING X)</li>
218 <li>OSMesa osmesa_choose_format returns a format not supported by st_new_renderbuffer_fb</li>
219 <li>Build error with VS on WIN</li>
220 <li>Using EGL_KHR_surfaceless_context causes spurious &quot;libEGL warning: FIXME: egl/x11 doesn&#x27;t support front buffer rendering.&quot;</li>
221 <li>!3460 broke texsubimage test with piglit on zink+anv</li>
222 <li>VERSION needs to be bumped for trunk master</li>
223 <li>The screen is black when using ACO</li>
224 </ul>
226 <h2>Changes</h2>
228 <ul>
229 <p>Abhishek Kumar (1):</p>
230 <li> anv/android: fix assert in anv_import_ahw_memory</li>
231 <p></p>
232 <p>Adam Jackson (1):</p>
233 <li> gallium: enable EGL_EXT_image_dma_buf_import_modifiers unconditionally</li>
234 <p></p>
235 <p>Albert Astals Cid (5):</p>
236 <li> cube_face_coord: Use fabsf instead of fabs since we know it&#x27;s floats</li>
237 <li> cube_face_index: Use fabsf instead of fabs since we know it&#x27;s floats</li>
238 <li> aco: Minor optimization in spill_ctx constructor</li>
239 <li> aco: pass vars by const &amp;</li>
240 <li> Fix promotion of floats to doubles</li>
241 <p></p>
242 <p>Alejandro Piñeiro (7):</p>
243 <li> docs/features: add v3d driver</li>
244 <li> nir/linker: remove reference to just SPIR-V linking</li>
245 <li> v3d/tex: don&#x27;t configure tmu config 1 if not needed</li>
246 <li> v3d/tex: Configuration Parameter 1 can be only skipped if P2 can be skipped too</li>
247 <li> v3d/packet: fixing TMU_Config_Parameter_2 definition</li>
248 <li> nir: add nir_tex_instr_need_sampler helper</li>
249 <li> v3d: support for textureQueryLOD</li>
250 <p></p>
251 <p>Alexandros Frantzis (3):</p>
252 <li> gitlab-ci: Automated testing with OpenGL traces</li>
253 <li> gitlab-ci: Fix traces caching in tracie</li>
254 <li> gitlab-ci: Check the Mesa version used for tracie tests</li>
255 <p></p>
256 <p>Alyssa Rosenzweig (505):</p>
257 <li> pan/midgard: Break out one-src read_components</li>
258 <li> pan/midgard: Implement mixed-type constant packing</li>
259 <li> panfrost: Avoid overlapping copy</li>
260 <li> pan/midgard: Check for null consts</li>
261 <li> pan/midgard: Remove unused variable</li>
262 <li> panfrost: Use size0 when calculating the offset to a depth level</li>
263 <li> pan/midgard: Fix scheduling issue with csel + render target reference</li>
264 <li> panfrost: Simplify swizzle translation</li>
265 <li> panfrost: Update comment about magic number relating to barriers</li>
266 <li> panfrost: Ensure compute shader_meta is zeroed</li>
267 <li> panfrost: Identify mali_shared_memory structure</li>
268 <li> panfrost: Unify bifrost_scratchpad with mali_shared_memory</li>
269 <li> panfrost: Rename bifrost_framebuffer-&gt;mali_framebuffer</li>
270 <li> panfrost: Rename unknown2_8 to padding</li>
271 <li> panfrost: Allocate RAM backing of shared memory</li>
272 <li> pan/midgard: Track pressure when scheduling ld/st</li>
273 <li> pan/midgard: Fix missing prefixes</li>
274 <li> pan/midgard: Fix swizzles harder</li>
275 <li> pan/midgard: Implement barriers</li>
276 <li> pan/midgard: Allow jumping out of a shader</li>
277 <li> pan/midgard: Fix 32/64 mixed swizzle packing</li>
278 <li> pan/midgard: Use dummy tag for empty shaders</li>
279 <li> pan/midgard: Improve barrier disassembly</li>
280 <li> pan/midgard: Overhaul tag handling</li>
281 <li> pan/midgard: Imply next tags</li>
282 <li> pan/midgard: Infer tags entirely</li>
283 <li> pan/midgard: Set xyzx swizzle for load_compute_arg</li>
284 <li> pan/midgard: Identify stack barrier flag</li>
285 <li> pan/midgard: Don&#x27;t crash with constants on unknown ops</li>
286 <li> pan/midgard: Use fprintf instead of printf for constants</li>
287 <li> pan/decode: Remove extraneous newline</li>
288 <li> pan/decode: Add `minimal` mode</li>
289 <li> pan/decode: Cleanup pandecode_jc</li>
290 <li> panfrost: Implement PAN_DBG_SYNC with pandecode/minimal</li>
291 <li> panfrost: Print synced traces to stderr</li>
292 <li> panfrost: Rewrite scoreboarding routines</li>
293 <li> panfrost: Update scoreboarding notes</li>
294 <li> panfrost: Cleanup transfer_map</li>
295 <li> panfrost: Avoid reading GPU memory when packing vertices</li>
296 <li> panfrost: Debitfieldize mali_uniform_buffer_meta</li>
297 <li> panfrost: Remove enum panfrost_memory_layout</li>
298 <li> panfrost: Remove dirty tracking</li>
299 <li> panfrost: Remove old comment</li>
300 <li> panfrost: Remove old hack</li>
301 <li> panfrost: Remove flush_frontbuffer</li>
302 <li> pan/midgard: Identify clamp(x, -1.0, 1.0) flag</li>
303 <li> panfrost: Move checksum routines to root panfrost</li>
304 <li> panfrost: Move pan_afbc.c to root</li>
305 <li> panfrost: Move format translation to root</li>
306 <li> panfrost: Rewrite texture descriptor creation logic</li>
307 <li> nir: Add SSBO-&gt;global lowering pass</li>
308 <li> pan/midgard: Lower SSBOs in NIR</li>
309 <li> pan/midgard: Implement nir_intrinsic_get_buffer_size</li>
310 <li> pan/midgard: Implement load/store_shared</li>
311 <li> panfrost: Combine get_index_buffer with bound computation</li>
312 <li> panfrost: Implement index buffer cache</li>
313 <li> pan/decode: Dump scratchpad size if present</li>
314 <li> pan/midgard: Don&#x27;t spill near a branch</li>
315 <li> panfrost: Fix gl_VertexID/InstanceID</li>
316 <li> panfrost: Fix padded_vertex_count generation</li>
317 <li> panfrost: Update spilling comment framebuffer-&gt;shared</li>
318 <li> panfrost: Don&#x27;t set shared-&gt;unk0</li>
319 <li> panfrost: Fix param getting</li>
320 <li> panfrost: Default to 256 threads for TLS</li>
321 <li> panfrost: Reserve an extra page for spilling</li>
322 <li> panfrost: Simplify stack shift calculation</li>
323 <li> panfrost: Expose PIPE_CAP_PRIMITIVE_RESTART</li>
324 <li> panfrost: Add PAN_MESA_DEBUG=gles3 option</li>
325 <li> panfrost: Increase SSBO/image limit from 4-&gt;8</li>
326 <li> pan/midgard: Allow inverted inverted ops</li>
327 <li> pan/midgard: Allow fusing inverted sources for inverted ops</li>
328 <li> pan/midgard: Partially fix 64-bit swizzle alignment</li>
329 <li> pan/midgard: Extract nir_ssa_index helper</li>
330 <li> pan/midgard: Add LDST_ADDRESS property</li>
331 <li> pan/midgard: Fix load/store argument sizing</li>
332 <li> pan/midgard: Round up bytemasks when promoting uniforms</li>
333 <li> pan/midgard: Force address alignment</li>
334 <li> pan/midgard: Add address analysis framework</li>
335 <li> pan/midgard: Use address analysis for globals, etc</li>
336 <li> pan/decode: Calm an assert to a pandecode error</li>
337 <li> pan/decode: Restore bifrost sample_locations</li>
338 <li> pan/decode: Fix tiler weights printing</li>
339 <li> pan/decode: Skip analysis for Bifrost tiler structures</li>
340 <li> pan/bi: Add discard ops</li>
341 <li> pan/bi: Add ICMP.GL.NEQ op</li>
342 <li> pan/bi: Move notes on FMA opcodes from disassembler</li>
343 <li> pan/bi: Introduce CSEL4 class</li>
344 <li> pan/bi: Move notes on ADD ops to notes file</li>
345 <li> pan/bi: Decode FMA_SHIFT properly</li>
346 <li> pan/bi: Add v4i8 mode to FMA_SHIFT</li>
347 <li> pan/bi: Identify extended FMA opcodes</li>
348 <li> pan/bi: Decode ADD_SHIFT properly</li>
349 <li> pan/bi: Combine LOAD_VARYING_ADDRESS instructions by type</li>
350 <li> pan/bi: Squash LD_ATTR ops together</li>
351 <li> pan/bi: Structify FMA_FADD</li>
352 <li> pan/bi: Move some definitions from disasm to bifrost.h</li>
353 <li> panfrost: Add note about preloaded varyings</li>
354 <li> pan/bi: Gut old compiler</li>
355 <li> pan/bi: Stub out new compiler</li>
356 <li> pan/bi: Add the control flow graph</li>
357 <li> pan/bi: Add src/dest fields to bifrost_instruction</li>
358 <li> pan/bi: Add class properties</li>
359 <li> pan/bi: Add modifiers to bi_instruction</li>
360 <li> pan/bi: Add BI_GENERIC property</li>
361 <li> pan/bi: Factor out enum bifrost_minmax_mode</li>
362 <li> pan/bi: Add a bifrost_roundmode field</li>
363 <li> pan/bi: Add bifrost_minmax_mode field</li>
364 <li> pan/bi: Add bi_load structure</li>
365 <li> pan/bi: Pull out bifrost_load_var</li>
366 <li> pan/bi: Add bi_load_vary structure</li>
367 <li> pan/bi: Add PAN_SCHED_* flags</li>
368 <li> pan/bi: Add bi_clause, bi_bundle abstractions</li>
369 <li> pan/bi: Add dest_type field to bifrost_instruction</li>
370 <li> pan/bi: Add special indices</li>
371 <li> pan/bi: Add constant field to bi_instruction</li>
372 <li> pan/bi: Add class-specific ops</li>
373 <li> pan/bi: Add clause header fields to bi_clause</li>
374 <li> pan/bi: Clarify special op scheduling</li>
375 <li> pan/bi: Add swizzles</li>
376 <li> pan/bi: Add source type for conversions</li>
377 <li> pan/bi: Add EXTRACT, MAKE_VEC synthetic ops</li>
378 <li> pan/bi: Add constants to bi_clause</li>
379 <li> pan/bi: Add pred/successors to build CFG</li>
380 <li> pan/bi: Extract bifrost_branch structure</li>
381 <li> pan/bi: Add bi_branch data</li>
382 <li> pan/bi: Add CSEL condition</li>
383 <li> pan/bi: Add high-latency property for classes</li>
384 <li> pan/bi: Add quirks system</li>
385 <li> pan/bi: Add IR iteration macros</li>
386 <li> pan/bi: Move some print routines out of the disasm</li>
387 <li> pan/bi: Add BIR manipulation routines to bir.c</li>
388 <li> pan/bi: Move bi_interp_mode_name to bi_print</li>
389 <li> pan/bi: Add bi_instruction printing</li>
390 <li> pan/bi: Add bi_print_bundle for printing bi_bundle</li>
391 <li> pan/bi: Add bi_print_clause</li>
392 <li> pan/bi: Add bi_print_block</li>
393 <li> pan/bi: Add bi_print_shader</li>
394 <li> pan/bi: Lower and optimize NIR</li>
395 <li> pan/bi: Walk through the NIR control flow graph</li>
396 <li> pan/bi: Improve block printing</li>
397 <li> pan/bi: Don&#x27;t print types for unconditional branches</li>
398 <li> pan/bi: Print branch target</li>
399 <li> pan/bi: Add instruction emit/remove helpers</li>
400 <li> pan/bi: Call nir_lower_io_to_temporaries in cmdline</li>
401 <li> pan/bi: Add support for if-else blocks</li>
402 <li> pan/bi: Handle loops when ingesting CFG</li>
403 <li> pan/bi: Handle jumps (breaks, continues)</li>
404 <li> pan/bi: Fix destination printing</li>
405 <li> pan/bi: Implement nir_intrsinic_load_interpolated_input</li>
406 <li> pan/bi: Add blend_location to IR for BI_BLEND</li>
407 <li> pan/bi: Add bi_schedule_barrier helper</li>
408 <li> pan/bi: Implement store_output for fragment shaders</li>
409 <li> pan/bi: Implement load_input for vertex shaders</li>
410 <li> pan/bi: Add helpers for creating temporaries</li>
411 <li> pan/bi: Implement store_vary for vertex shaders</li>
412 <li> pan/bi: Add preliminary LOAD_UNIFORM implementation</li>
413 <li> pan/bi: Implement load_const</li>
414 <li> pan/bi: Add dummy scheduler</li>
415 <li> pan/bi: Rename next-wait to simply &#x27;wait&#x27;</li>
416 <li> pan/bi: Fix</li>
417 <li> panfrost: Move mir_to_bytemask to common code</li>
418 <li> pan/bi: Generalize swizzles to avoid extracts</li>
419 <li> pan/bi: Introduce writemasks</li>
420 <li> pan/bi: Remove bi_load</li>
421 <li> pan/bi: Lower vec* to writemasks in NIR</li>
422 <li> pan/bi: Add initial handling of ALU ops</li>
423 <li> pan/bi: Allow inlining constants</li>
424 <li> pan/bi: Implement fsat as mov.sat</li>
425 <li> pan/bi: Add a bunch of ALU ops</li>
426 <li> pan/bi: Add BI_SPECIAL_* enum</li>
427 <li> pan/bi: Handle special ops in NIR-&gt;BIR</li>
428 <li> pan/bi: Implement fabs, fneg as fmov with mods</li>
429 <li> pan/bi: Disable lower_sub</li>
430 <li> pan/bi: Add isub op</li>
431 <li> pan/bi: Import algebraic pass from midgard</li>
432 <li> pan/bi: Implement nir_op_bcsel</li>
433 <li> pan/bi: Lower b2f to bcsel</li>
434 <li> pan/bi: Specify comparison op for BI_CMP</li>
435 <li> pan/bi: Print source types unconditionally</li>
436 <li> pan/bi: Implement comparison opcodes via BI_CMP</li>
437 <li> panfrost: Promote midgard_program to panfrost/util</li>
438 <li> pan/midgard: Remove unused iterators</li>
439 <li> pan/midgard: Adjust sysval-related prototypes</li>
440 <li> pan/midgard: Remove indexing dependency of sysvals</li>
441 <li> pan/midgard: Decontextualize midgard_nir_assign_sysval_body</li>
442 <li> pan/midgard: Remove dest_override sysval argument</li>
443 <li> panfrost: Move Midgard sysval code to common Panfrost</li>
444 <li> pan/bi: Switch to panfrost_program</li>
445 <li> pan/bi: Implement sysvals</li>
446 <li> pan/midgard: Localize `visited` tracking</li>
447 <li> pan/midgard: Decontextualize liveness analysis core</li>
448 <li> pan/midgard: Sync midgard_block field names with Bifrost</li>
449 <li> pan/midgard: Subclass midgard_block from pan_block</li>
450 <li> panfrost: Move liveness analysis to root panfrost/</li>
451 <li> panfrost: Sync Midgard/Bifrost control flow</li>
452 <li> pan/bi: Paste over bi_has_arg</li>
453 <li> pan/bi: Add bi_bytemask_of_read_components helpers</li>
454 <li> pan/bi: Add bi_next/prev_op helpers</li>
455 <li> pan/bi: Add bi_max_temp helper</li>
456 <li> pan/bi: Add liveness analysis pass</li>
457 <li> pan/bi: Add dead code elimination pass</li>
458 <li> pan/bi: Implement nir_op_ffma</li>
459 <li> pan/bi: Fix swizzle for second argument to ST_VARY</li>
460 <li> panfrost: Move lcra to panfrost/util</li>
461 <li> pan/midgard: Remove incorrect comment in RA</li>
462 <li> pan/bi: Minor fixes in iteration macros</li>
463 <li> pan/bi: Fix vector handling of readmasks</li>
464 <li> pan/bi: Fix missing src_types</li>
465 <li> pan/bi: Add register allocator</li>
466 <li> pan/bi: Interpret register allocation results</li>
467 <li> pan/bi: Setup initial clause packing</li>
468 <li> pan/bi: Sketch out instruction word packing</li>
469 <li> pan/bi: Add packing for register control field</li>
470 <li> pan/bi: Pack register fields</li>
471 <li> pan/bi: Add missing __attribute__((packed))</li>
472 <li> pan/bi: Assign registers to ports</li>
473 <li> pan/bi: Route through first_instruction field</li>
474 <li> pan/bi: Model 3-bit Bifrost srcs in IR</li>
475 <li> pan/bi: Add struct bifrost_fma_fma</li>
476 <li> pan/bi: Pack BI_FMA ops</li>
477 <li> pan/bi: Pack fadd32</li>
478 <li> pan/bi: List ADD classes in bi_pack_add</li>
479 <li> pan/bi: Generalize bi_get_src a bit</li>
480 <li> pan/bi: Pass second src for load_vary ops</li>
481 <li> pan/bi: Emit load_vary ops</li>
482 <li> pan/bi: Skip over data registers in port assignment</li>
483 <li> pan/bi: Route through clause header</li>
484 <li> pan/bi: Pretty-print clause types in disassembler</li>
485 <li> pan/bi: Don&#x27;t hide SCHED_ADD inside HI_LATENCY</li>
486 <li> pan/bi: Track clause types during scheduling</li>
487 <li> pan/bi: Flesh out ATEST in IR</li>
488 <li> pan/bi: Add ATEST packing</li>
489 <li> pan/bi: Flesh out BI_BLEND</li>
490 <li> pan/bi: Pack BI_BLEND</li>
491 <li> pan/bi: Implement FMA/MOV without modifiers</li>
492 <li> pan/bi: Add bi_emit_before helper</li>
493 <li> pan/bi: Add move lowering pass</li>
494 <li> pan/bi: Pack a constant quadword</li>
495 <li> pan/bi: Document constant related errata(?)</li>
496 <li> pan/bi: Index out constants in instructions</li>
497 <li> pan/bi: Include UBO index for sysval reads</li>
498 <li> pan/bi: Add bi_load32_components helper</li>
499 <li> pan/bi: Pack ld_ubo ops</li>
500 <li> pan/bi: Pack ld_var_addr</li>
501 <li> pan/bi: Flesh out st_vary IR</li>
502 <li> pan/bi: Generalize data register setting</li>
503 <li> pan/bi: Add store_channels property</li>
504 <li> pan/bi: Pack st_vary</li>
505 <li> pan/bi: Pack LD_ATTR</li>
506 <li> pan/bi: Lower bool to ints</li>
507 <li> pan/bi: Remove hacks for 1-bit booleans in IR</li>
508 <li> pan/bi: Add `soft` NIR-&gt;BIR condition translation</li>
509 <li> pan/bi: Implement csel fusing</li>
510 <li> pan/bi: Respect shift when printing immediates</li>
511 <li> pan/bi: Use bi_lookup_immediate when packing</li>
512 <li> pan/bi: Default csel to &quot;!= 0&quot; mode</li>
513 <li> pan/bi: Pack csel4 opcodes</li>
514 <li> pan/bi: Ingest vecN directly (again)</li>
515 <li> pan/bi: Lower combines to rewrites for scalars</li>
516 <li> pan/bi: Rewrite aligned vectors as well</li>
517 <li> panfrost: Split panfrost_device from panfrost_screen</li>
518 <li> panfrost: Isolate panfrost_bo_access_for_stage to pan_cmdstream.c</li>
519 <li> panfrost: Inline reference counting routines</li>
520 <li> panfrost: Move pan_bo to root panfrost</li>
521 <li> pan/bit: Link standalone compiler with en/decoder</li>
522 <li> panfrost: Move device open/close to root panfrost</li>
523 <li> pan/bit: Open up the device</li>
524 <li> panfrost: Stub out G31/G52 quirks</li>
525 <li> pan/bit: Submit a WRITE_VALUE job as a sanity check</li>
526 <li> pan/bit: Begin generating a vertex job</li>
527 <li> pan/bi: Fix overzealous write barriers</li>
528 <li> pan/bi: Fix off-by-one in scoreboarding packing</li>
529 <li> pan/bi: Enable precision lowering in standalone compiler</li>
530 <li> panfrost: Enable PIPE_SHADER_CAP_FP16 on Bifrost</li>
531 <li> pan/bi: Handle f2f* opcodes</li>
532 <li> pan/bi: Ignore swizzle in unwritten component</li>
533 <li> pan/bi: Finish FMA structures</li>
534 <li> pan/bi: Fix missing type for fmul</li>
535 <li> pan/bi: Add FMA16 packing</li>
536 <li> pan/bi: Pack outmod and roundmode with FMA</li>
537 <li> pan/bi: Expand out FMA conversion opcodes</li>
538 <li> pan/bi: Enumerate conversions</li>
539 <li> pan/bi: Handle standard FMA conversions</li>
540 <li> pan/bi: Add bifrost_fma_2src generic</li>
541 <li> pan/bi: Add one-source f32-&gt;f16 op</li>
542 <li> pan/bi: Assert out i16 related converts for now</li>
543 <li> pan/bi: Handle round opcodes in frontend</li>
544 <li> pan/bi: Add v2f16 versions of rounding ops</li>
545 <li> pan/bi: Structify fadd/min/max16</li>
546 <li> pan/bi: Handle core faddminmax16 packing</li>
547 <li> pan/bi: Handle abs packing for fp16/FMA add/min</li>
548 <li> pan/bi: Handle fp16/abs scheduling restriction</li>
549 <li> pan/bi: Fix handling of constants with COMBINE</li>
550 <li> pan/bit: Add `run` mode to the cmdline</li>
551 <li> pan/bit: Wire through I/O</li>
552 <li> pan/bi: Fix writes_component for VECTOR</li>
553 <li> pan/bi: Use STAGE srcs for scheduler nops</li>
554 <li> pan/bi: Don&#x27;t set the back-to-back bit yet</li>
555 <li> pan/bi: Add cmdline option for verbose disassembly</li>
556 <li> pan/bi: Fix unused port swapping</li>
557 <li> pan/bi: Handle fmov class ops</li>
558 <li> pan/bi: Fix outmod/roundmode flip</li>
559 <li> pan/bi: Export bi_class_name</li>
560 <li> pan/bi: Fix duplicated source in ADD.v2f16</li>
561 <li> pan/bi: Fix negation in ADD.v2f16</li>
562 <li> pan/bi: Don&#x27;t gobble zero ports</li>
563 <li> pan/bi: Allow BI_FMA to take mods</li>
564 <li> pan/bi: Handle BIFROST_FIRST_WRITE_FMA_P2_READ_P3</li>
565 <li> pan/bi: Add helper to debug port assignment</li>
566 <li> pan/bi: Match CSEL argument order with hw</li>
567 <li> pan/bit: Stub out BIR interpreter</li>
568 <li> pan/bit: Handle read/write</li>
569 <li> pan/bit: Add preliminary FMA/ADD/MOV implementations</li>
570 <li> pan/bit: Implement outmods</li>
571 <li> pan/bit: Implement floating source mods</li>
572 <li> pan/bit: Add packing test framework</li>
573 <li> pan/bit: Add helper for generating floating mod tests</li>
574 <li> pan/bit: Add verbose printing for tests</li>
575 <li> pan/bit: Add 16-bit fmod tests</li>
576 <li> pan/bit: Add FMA tests</li>
577 <li> pan/bit: Add CSEL to interpreter</li>
578 <li> pan/bit: Add csel tests</li>
579 <li> pan/bit: Make run more useful</li>
580 <li> pan/bit: Add mode to run unit tests</li>
581 <li> pan/bi: Remove nontrivial SPECIAL ops</li>
582 <li> pan/bi: Add 32-bit _FAST packing</li>
583 <li> pan/bi: Add fp16 support for frcp/frsq</li>
584 <li> pan/bit: Add special op interpreting</li>
585 <li> pan/bit: Add special unit test</li>
586 <li> pan/bi: Implement min/max on FMA</li>
587 <li> pan/bi: Structify ADD unit add/min/max</li>
588 <li> pan/bi: Add ADD add/min/max fp32 packing</li>
589 <li> pan/bi: Set BI_MODS for MINMAX</li>
590 <li> pan/bi: Fix incorrect abs flip in fma/fadd16</li>
591 <li> pan/bi: Force ADD scheduling for MINMAX</li>
592 <li> pan/bit: Unify test frontends</li>
593 <li> pan/bit: Add min/max support to interpreter</li>
594 <li> pan/bit: Enable more debug for `run`</li>
595 <li> pan/bit: Add fmin/max16 tests</li>
596 <li> pan/bit: Wire up add/add op+test</li>
597 <li> panfrost: Add IS_BIFROST quirk</li>
598 <li> panfrost: Populate bifrost-specific structs within mali_shader_meta</li>
599 <li> panfrost: Staticize a few cmdstream functions</li>
600 <li> panfrost: Unify vertex/tiler structures</li>
601 <li> panfrost: Set mfbd.msaa.sample_locations on Bifrost</li>
602 <li> panfrost: Call the Bifrost compiler on bi devices</li>
603 <li> pan/bi: Fix nondeterministic register packing</li>
604 <li> pan/midgard: Remove unused max_varying variable</li>
605 <li> panfrost: Move varying linking to cmdstream</li>
606 <li> panfrost: Move uniform_count to pan_assemble</li>
607 <li> panfrost: Pass compiler-appropriate options</li>
608 <li> pan/bi: Fix backwards registers ports</li>
609 <li> panfrost: Fix BI_BLEND packing</li>
610 <li> pan/bi: Let !b2b imply branch_cond</li>
611 <li> pan/decode: Print Bifrost blend descriptor</li>
612 <li> panfrost: Drop dependency on nonexistant write_value</li>
613 <li> pan/bi: Lower fsqrt</li>
614 <li> pan/midgard: Fix f2u naming confusion</li>
615 <li> pan/bi: Set BI_ROUNDMODE for BI_CONVERT</li>
616 <li> pan/bi: Fix incorrect swizzle packing assert</li>
617 <li> pan/bi: Rewrite conversion packing</li>
618 <li> pan/bi: ADD packing for CONVERT</li>
619 <li> pan/bit: Add BI_CONVERT interpretation</li>
620 <li> pan/bit: Add BI_CONVERT tests</li>
621 <li> pan/bi: Add disasm for ADD.i8</li>
622 <li> pan/bi: Disable FMA scheduling for CONVERT</li>
623 <li> pan/bi: Add BI_TABLE for fast table accesses</li>
624 <li> pan/bi: Add special op for exp2</li>
625 <li> pan/bi: Add op for ADD_FREXPM</li>
626 <li> pan/bi: Add FLOG2_U op to disassembler</li>
627 <li> pan/bi: Add log_frexpe op to IR</li>
628 <li> pan/bi: Add frexp_log packing</li>
629 <li> pan/bi: Add bi_pack_fma_2src helper</li>
630 <li> pan/bi: Pack ADD_FREXPM</li>
631 <li> pan/bi: Add log2_help packing</li>
632 <li> pan/bi: Add _MSCALE flag for FMA/ADD</li>
633 <li> pan/bi: Structify FMA_MSCALE</li>
634 <li> pan/bi: Pack FMA_MSCALE</li>
635 <li> pan/bi: Add fexp2_fast packing</li>
636 <li> pan/bi: Split src/dest index printing</li>
637 <li> pan/bi: Ensure CONSTANT srcs have types</li>
638 <li> pan/bi: Fix bi_get_immediate with multiple imms</li>
639 <li> pan/bi: Fix packing with multiple constants</li>
640 <li> pan/bi: Fix packing with low-nibble-set on hi constant</li>
641 <li> pan/bi: Fix lower_combine swizzle rewrite</li>
642 <li> pan/bi: Add fexp2 implementation</li>
643 <li> pan/bi: Implement flog2</li>
644 <li> pan/bi: Fix vec2/3 handling</li>
645 <li> pan/bi: Handle st_vary with &lt;4 components</li>
646 <li> pan/bi: Try to reuse constants in ALU</li>
647 <li> pan/bi: Workaround constant packing errata</li>
648 <li> pan/bi: Structify add and min/max fp16 ADD</li>
649 <li> pan/bi: Pack ADD.v2f16</li>
650 <li> pan/bi: Pack MAX.v2f16</li>
651 <li> pan/bi: Dump extra bits for disasm</li>
652 <li> pan/bi: Round constants to 32-bit</li>
653 <li> pan/bi: Lower special ops to 32-bit</li>
654 <li> pan/bit: Add FREXP interp support</li>
655 <li> pan/bit: Add frexp_log test</li>
656 <li> pan/bit: Add BI_REDUCE_FMA interp</li>
657 <li> pan/bit: Add FMA_REDUCE test</li>
658 <li> pan/bit: Add log2 helper interp</li>
659 <li> pan/bit: Add BI_TABLE test</li>
660 <li> pan/bit: _MSCALE interp</li>
661 <li> pan/bit: Add FMA_MSCALE test</li>
662 <li> pan/bit: Add fexp2_fast interp</li>
663 <li> pan/bit: Add fexp2_fast test</li>
664 <li> pan/bit: Add constants test</li>
665 <li> pan/bit: Add fp16 min/max tests</li>
666 <li> pan/bi: Print tex_compact coordinates</li>
667 <li> pan/bi: Document when dual-tex is triggered</li>
668 <li> pan/bi: Disassemble f16 dual tex</li>
669 <li> pan/bi: Structify TEX compact</li>
670 <li> pan/bi: Include TEX_COMPACT f16 opcode</li>
671 <li> pan/bi: Feed data register to BI_TEX</li>
672 <li> pan/bi: Add normal/compact/dual switch to IR</li>
673 <li> pan/bi: Stub out tex_compact logic</li>
674 <li> pan/bi: Generate TEX_COMPACT instruction</li>
675 <li> pan/bi: Pack TEX compact instructions</li>
676 <li> pan/bi: Assert out multiple textures</li>
677 <li> panfrost: Fix crashes with small BOs</li>
678 <li> panfrost: Assert on unimplemented fragcoord etc</li>
679 <li> panfrost: Set clear_color_[12] in the extra fb desc</li>
680 <li> panfrost: Add tentative bifrost_texture_descriptor</li>
681 <li> panfrost: decode textures and samplers on bifrost</li>
682 <li> pan/decode: Remove is_zs weirdness</li>
683 <li> panfrost: Identify texture layout field</li>
684 <li> panfrost: The texture descriptor has a pointer to a trampoline</li>
685 <li> pan/bi: Pack fp16 ATEST</li>
686 <li> pan/bi: Passthrough type for ATEST</li>
687 <li> pan/bi: Passthrough blend types</li>
688 <li> pan/bi: Assign blend descriptor for BLEND op</li>
689 <li> pan/bi: Add missing BI_VECTOR</li>
690 <li> pan/bi: Fix ADD.v4i8 opcode</li>
691 <li> pan/bi: Eliminate writemasks in the IR</li>
692 <li> pan/bi: Rename BI_SWIZZLE to BI_SELECT</li>
693 <li> pan/bi: Pack FMA SEL16</li>
694 <li> pan/bi: Pack FMA SEL8</li>
695 <li> pan/bi: Pack ADD SEL16</li>
696 <li> pan/bi: Force BI_SELECT arguments scalar</li>
697 <li> pan/bit: Interpret BI_SELECT</li>
698 <li> pan/bit: Add SELECT tests</li>
699 <li> pan/bi: Fix RA wrt 16-bit swizzles</li>
700 <li> pan/bi: Implement 16-bit COMBINE lowering</li>
701 <li> nir: Move nir_lower_mediump_outputs from ir3</li>
702 <li> ir3: Use shared mediump output lowering</li>
703 <li> pan/bi: Add bool-&gt;float opcodes</li>
704 <li> pan/bi: Add CSEL.64 opcode</li>
705 <li> pan/bi: Add some 8-bit compares</li>
706 <li> pan/bi: Add 64-bit int compares</li>
707 <li> pan/bi: Add FCMP.GL.v2f16 on ADD opcode</li>
708 <li> pan/bi: Add CSEL.8 opcode</li>
709 <li> pan/bi(t): Fix SELECT tests</li>
710 <li> pan/bi: Deduplicate csel/cmp cond</li>
711 <li> pan/bi: Remove bi_round_op</li>
712 <li> pan/bi: Structify FMA FCMP</li>
713 <li> pan/bi Strucitfy ADD FCMP 32</li>
714 <li> pan/bi: Structify FMA FCMP16</li>
715 <li> pan/bi: Structify ADD FCMP16</li>
716 <li> pan/bi: Structify FMA ICMP 32</li>
717 <li> pan/bi: Structify FMA ICMP 16</li>
718 <li> pan/bi: Structify ADD ICMP 32</li>
719 <li> pan/bi: Fix source mod testing for CMP</li>
720 <li> pan/bi: Pack FMA 32 FCMP</li>
721 <li> pan/bi: Factor out fp16 abs logic</li>
722 <li> pan/bi: Pack fma.fcmp16</li>
723 <li> pan/bi: Relax double-abs condition</li>
724 <li> pan/bit: Prepare condition evaluation for vectors</li>
725 <li> pan/bit: Interpret CMP</li>
726 <li> pan/bi: Add initial fcmp test</li>
727 <li> pan/bi: Add bitwise modifiers</li>
728 <li> pan/bi: Pack BI_BITWISE</li>
729 <li> pan/bi: Handle iand/ior/ixor in NIR-&gt;BIR</li>
730 <li> pan/bit: Interpret BI_BITWISE</li>
731 <li> pan/bit: Add BITWISE test</li>
732 <li> panfrost: Fix BO reference counting</li>
733 <li> panfrost: Move Bifrost IR indexing to common</li>
734 <li> pan/bi: Use common IR indices</li>
735 <li> pan/mdg: Remove nir_alu_src_index</li>
736 <li> pan/mdg: Use PAN_IS_REG</li>
737 <li> pan/mdg: SSA_FIXED_MINIMUM already covered by PAN_IS_REG</li>
738 <li> pan/mdg: Don&#x27;t break SSA</li>
739 <li> pan/mdg: Remove goofy 16-bit comment</li>
740 <li> pan/mdg: Remove old hack</li>
741 <li> pan/mdg: Set lower_flrp16</li>
742 <li> pan/bi: Share ALU type printing</li>
743 <li> pan/mdg: Add type fields to IR</li>
744 <li> pan/mdg: Track ALU src types</li>
745 <li> pan/mdg: Track ALU dest type</li>
746 <li> pan/mdg: Another goofy comment gone</li>
747 <li> pan/mdg: Track a primary type for I/O</li>
748 <li> pan/mdg: Denoise prints</li>
749 <li> pan/mdg: Track v_mov type (force uint32 for now?)</li>
750 <li> pan/mdg: Track texture types</li>
751 <li> pan/mdg: Set texture full fields at pack time</li>
752 <li> pan/mdg: Move sampler_type emission to pack time</li>
753 <li> pan/mdg: Lower specials to 32-bit</li>
754 <li> pan/mdg: Specialize swizzle to type</li>
755 <li> pan/mdg: Always print the mask</li>
756 <li> pan/mdg: Make some branch targets more explicit</li>
757 <li> pan/mdg: Don&#x27;t crash on unknown branch target</li>
758 <li> pan/mdg: Pass through some types from scheduling</li>
759 <li> pan/mdg: Move condense_writemask to disasm</li>
760 <li> pan/mdg: Ensure fdot is scalar out in disasm</li>
761 <li> pan/mdg: Replicate 16-bit swizzles</li>
762 <p></p>
763 <p>Andreas Baierl (8):</p>
764 <li> lima/parser: Fix RSW depth test parsing</li>
765 <li> lima/parser: Extend AUX0 findings</li>
766 <li> lima/parser: Change value name in RSW parser</li>
767 <li> lima/parser: Extend rsw parsing showing strings instead of numbers</li>
768 <li> gitlab-ci: lima: Add flaky tests to the skips list</li>
769 <li> gitlab-ci: Enable the lima job again</li>
770 <li> gitlab-ci: Add add a set of lima flakes</li>
771 <li> lima: Add etc1 support</li>
772 <p></p>
773 <p>Andres Gomez (27):</p>
774 <li> tracie: correct typo</li>
775 <li> gitlab-ci: add missing popd to the script</li>
776 <li> gitlab-ci: build gfxreconstruct into the Vulkan testing container</li>
777 <li> gitlab-ci: build VulkanTools into the Vulkan testing container</li>
778 <li> gitlab-ci: Change devices format to &lt;api-vendor-deviceId&gt;</li>
779 <li> gitlab-ci: Add gfxreconstruct traces support</li>
780 <li> gitlab-ci: Add jobs to be able to test Vulkan</li>
781 <li> gitlab-ci: Fix indentation and dangerous &quot;\&quot; in the last multiline line</li>
782 <li> gitlab-ci: Remove unneeded python3-pilkit dependency</li>
783 <li> gitlab-ci: Sort packages to install alphabetically</li>
784 <li> gitlab-ci: add python3-requests to the test-vk container</li>
785 <li> gitlab-ci/traces: Add Vulkan sample entries for POLARIS10</li>
786 <li> gitlab-ci: Don&#x27;t use buster-backports packages by default for x86_test-vk</li>
787 <li> gitlab-ci: add Wine, win64&#x27;s apitrace and DXVK to the Vulkan testing container</li>
788 <li> gitlab-ci: add apitrace&#x27;s DXGI traces support</li>
789 <li> gitlab-ci: replay apitrace traces in headless mode</li>
790 <li> gitlab-ci: add Wine and DXVK env variables to Vulkan&#x27;s tracie runner</li>
791 <li> gitlab-ci/traces: Add D3D11 sample entry for POLARIS10</li>
792 <li> gitlab-ci: Vulkan tracie runner to return last command exit code</li>
793 <li> gitlab-ci: protect usage of shell variables with double quotes</li>
794 <li> gitlab-ci: make explicit tracie is gitlab specific</li>
795 <li> gitlab-ci: adapt query_traces_yaml to gitlab specific changes</li>
796 <li> gitlab-ci: install winehq-stable to get 5.0 instead of 4.0</li>
797 <li> Revert &quot;meson,ci: Disable sparse_array tests on windows&quot;</li>
798 <li> gitlab-ci: update tracie README after changes in main script</li>
799 <li> gitlab-ci: create always the &quot;results&quot; directory with tracie</li>
800 <li> gitlab-ci: correct tracie behavior with replay errors</li>
801 <p></p>
802 <p>Andrii Simiklit (2):</p>
803 <li> Revert &quot;glx: convert glx_config_create_list to one big calloc&quot;</li>
804 <li> i965/vec4: Ignore swizzle of VGRF for use by var_range_end()</li>
805 <p></p>
806 <p>Anuj Phogat (2):</p>
807 <li> intel/gen12+: Reserve 4KB of URB space per bank for Compute Engine</li>
808 <li> intel/gen12+: Set way_size_per_bank to 4</li>
809 <p></p>
810 <p>Arcady Goldmints-Orlov (7):</p>
811 <li> compiler/nir: Add support for variable initialization from a pointer</li>
812 <li> compiler/spirv: Add support for non-constant initializers</li>
813 <li> Rename nir_lower_constant_initializers to nir_lower_variable_initalizers</li>
814 <li> spirv: Remove outdated SPIR-V decoration warnings</li>
815 <li> nir: Lower returns correctly inside nested loops</li>
816 <li> anv: increase minUniformBufferOffsetAlignment to 64</li>
817 <li> intel/compiler: fix alignment assert in nir_emit_intrinsic</li>
818 <p></p>
819 <p>Axel Davy (1):</p>
820 <li> gallium/util: Fix leak in the live shader cache</li>
821 <p></p>
822 <p>Bas Nieuwenhuizen (29):</p>
823 <li> radv: Allow non-dedicated linear images and buffer.</li>
824 <li> radv: Do not set SX DISABLE bits for RB+ with unused surfaces.</li>
825 <li> radv: Optimize emitting index buffer changes.</li>
826 <li> radv: Do not redundantly set the RB+ regs on pipeline switch.</li>
827 <li> radeonsi: Fix compute copies for subsampled formats.</li>
828 <li> amd/llvm: Fix divergent descriptor indexing. (v3)</li>
829 <li> amd/llvm: Fix divergent descriptor regressions with radeonsi.</li>
830 <li> radv: Store 64-bit availability bools if requested.</li>
831 <li> radv: Consider maximum sample distances for entire grid.</li>
832 <li> radv: Whitespace fixup.</li>
833 <li> radv: Use correct buffer count with variable descriptor set sizes.</li>
834 <li> winsys/amdgpu: Retrieve WC flags from imported buffers.</li>
835 <li> drm-uapi,radv,radeonsi: Add amdgpu_drm.h header.</li>
836 <li> vulkan/wsi: Add callback to set ownership of buffer.</li>
837 <li> radv: Add WSI buffers to BO list only if they can be used.</li>
838 <li> st/dri: Set next in template instead of after creation. (v2)</li>
839 <li> radeonsi: Count planes for imported textures.</li>
840 <li> radv: Use actual memory type count for setting app-visible bitset.</li>
841 <li> radv: Stop using memory type indices.</li>
842 <li> radv/winsys: Add function to get domains/flags from fd.</li>
843 <li> radv: Determine memory type for import based on fd.</li>
844 <li> radv: Expose 4G element texel buffers.</li>
845 <li> radv: Fix implicit sync with recent allocation changes.</li>
846 <li> radv: Extend tiling flags to 64-bit.</li>
847 <li> radv: Provide a better error for permission issues with priorities.</li>
848 <li> radv/winsys: Remove extra sizeof multiply.</li>
849 <li> radv: Handle failing to create .cache dir.</li>
850 <li> radv: Do not close fd -1 when NULL-winsys creation fails.</li>
851 <li> radv: Implement vkGetSwapchainGrallocUsage2ANDROID.</li>
852 <p></p>
853 <p>Bernd Kuhls (1):</p>
854 <li> util/os_socket: Include unistd.h to fix build error</li>
855 <p></p>
856 <p>Blaž Tomažič (1):</p>
857 <li> radeonsi: Fix omitted flush when moving suballocated texture</li>
858 <p></p>
859 <p>Boris Brezillon (45):</p>
860 <li> pan/midgard: Add an enum to describe the render targets</li>
861 <li> pan/midgard: Make sure we pass the right RT id to emit_fragment_store()</li>
862 <li> pan/midgard: Lower bitfield extract to shifts</li>
863 <li> pan/midgard: Don&#x27;t check &#x27;branch &amp;&amp; branch-&gt;writeout&#x27; twice in mir_schedule_alu()</li>
864 <li> pan/midgard: Stop leaking instruction objects in mir_schedule_alu()</li>
865 <li> panfrost: Fix the damage box clamping logic</li>
866 <li> pan/midgard: Turn Z/S stores into zs_output_pan intrinsics</li>
867 <li> pan/midgard: Add nir_intrinsic_store_zs_output_pan support</li>
868 <li> panfrost: Z24 variants should be sampled as R32UI</li>
869 <li> panfrost: Add the MALI_WRITES_{Z,S} flags</li>
870 <li> panfrost: Set the MALI_WRITES_{Z,S} flags when needed</li>
871 <li> Revert &quot;panfrost: Z24 variants should be sampled as R32UI&quot;</li>
872 <li> panfrost: Pass the sampler view format when creating a tex descriptor</li>
873 <li> panfrost: Assign primitive_size.pointer only if writes_point_size() returns true</li>
874 <li> panfrost: Add an helper to retrieve the currently active shader state</li>
875 <li> panfrost: Move the batch stack size adjustment out of panfrost_queue_draw()</li>
876 <li> panfrost: Move viewport desc emission out of panfrost_emit_for_draw()</li>
877 <li> panfrost: Move the const buf emission logic out of panfrost_emit_for_draw()</li>
878 <li> panfrost: Move shared mem desc emission out of panfrost_launch_grid()</li>
879 <li> panfrost: Dissociate shader meta patching from the desc emission</li>
880 <li> panfrost: Move panfrost_attach_vt_framebuffer() to pan_cmdstream.c</li>
881 <li> panfrost: Stop using panfrost_emit_for_draw() for compute jobs</li>
882 <li> panfrost: Simplify panfrost_emit_for_draw() and make it private</li>
883 <li> panfrost: Add an helper to update the occclusion query part of a tiler job desc</li>
884 <li> panfrost: Add an helper to update the rasterizer part of a tiler job desc</li>
885 <li> panfrost: Prepare things to get rid of panfrost_shader_state.tripipe</li>
886 <li> panfrost: Prepare shader_meta descriptors at emission time</li>
887 <li> panfrost: Add a panfrost_sampler_desc_init() helper</li>
888 <li> panfrost: Move sampler/tex descs emission helpers to pan_cmdstream.c</li>
889 <li> panfrost: Add an helper to emit a pair of vertex/tiler jobs</li>
890 <li> panfrost: Drop initial mali_attr_meta.src_offset assignment</li>
891 <li> panfrost: Ignore BO start addr when adjusting src_offset</li>
892 <li> panfrost: Prepare attribute for builtins at state creation time</li>
893 <li> panfrost: Emit attribute descriptors after patching the templates</li>
894 <li> panfrost: Move the mali_attr.src_offset adjustment to a sub-function</li>
895 <li> panfrost: Rename panfrost_stage_attributes()</li>
896 <li> panfrost: Move streamout offset update out of panfrost_draw_vbo()</li>
897 <li> panfrost: Move vertex/tiler payload initialization out of panfrost_draw_vbo()</li>
898 <li> panfrost: Inline panfrost_queue_draw() and panfrost_emit_for_draw()</li>
899 <li> panfrost: Move panfrost_emit_vertex_data() to pan_cmdstream.c</li>
900 <li> panfrost: Move panfrost_emit_varying_descriptor() to pan_cmdstream.c</li>
901 <li> panfrost: Re-init the VT payloads at draw/launch_grid() time</li>
902 <li> panfrost: Use ctx-&gt;active_prim in panfrost_writes_point_size()</li>
903 <li> panfrost: Get rid of ctx-&gt;payloads[]</li>
904 <li> vtn/opencl: add rint-support</li>
905 <p></p>
906 <p>Brian Ho (17):</p>
907 <li> turnip: Promote tu_cs_get_size/is_empty to header</li>
908 <li> turnip: Execute main cs for secondary command buffers</li>
909 <li> turnip: Advertise 8 bit subpixel precision</li>
910 <li> ir3: Disable copy prop for immediate ldlw offsets</li>
911 <li> turnip: Set has_gs in ir3_shader_key</li>
912 <li> turnip: Emit geometry shader obj and related consts</li>
913 <li> turnip: Configure VPC for geometry shaders</li>
914 <li> turnip: Configure VFD_CONTROL with gsheader and primitiveid</li>
915 <li> turnip: Set up REG_A6XX_SP_GS_CONFIG</li>
916 <li> turnip: Selectively configure GRAS_LAYER_CNTL</li>
917 <li> turnip: Update maxGeometryShaderInvocations to match blob</li>
918 <li> turnip: Populate tu_pipeline.active_stages</li>
919 <li> turnip: Enable geometry shaders for CP_DRAWs</li>
920 <li> turnip: Enable geometryShader device feature</li>
921 <li> turnip: Correctly set layer stride for 3D images</li>
922 <li> turnip: Emit geometry shader descriptor consts</li>
923 <li> freedreno/turnip: Update GRAS_LAYER_CNTL to GRAS_MAX_LAYER_INDEX</li>
924 <p></p>
925 <p>Caio Marcelo de Oliveira Filho (46):</p>
926 <li> anv: Advertise VK_KHR_shader_non_semantic_info</li>
927 <li> radv: Advertise VK_KHR_shader_non_semantic_info</li>
928 <li> intel/gen12: Take into account opcode when decoding SWSB</li>
929 <li> spirv: Be consistent when checking for Shader/Kernel</li>
930 <li> anv: Use intel_debug_flag_for_shader_stage()</li>
931 <li> anv: Add pipe_state_for_stage() helper</li>
932 <li> nir/builder: Add nir_scoped_memory_barrier()</li>
933 <li> nir: Add the alias NIR_MEMORY_ACQ_REL</li>
934 <li> nir/tests: Use nir_scoped_memory_barrier() helper</li>
935 <li> nir, intel: Move use_scoped_memory_barrier to nir_options</li>
936 <li> anv: Remove unused field xfb_used from anv_pipeline</li>
937 <li> anv: Remove unused field `urb.total_size`</li>
938 <li> nir: Don&#x27;t skip a bit in nir_memory_semantics</li>
939 <li> nir: Reorder nir_scopes so wider scope has larger numeric value</li>
940 <li> nir: Add pass to combine adjacent scoped memory barriers</li>
941 <li> intel/fs: Combine adjacent memory barriers</li>
942 <li> anv: Add a new enum to identify the pipeline type</li>
943 <li> anv: Use pipeline type to decide whether or not lower multiview</li>
944 <li> anv: Use a dynamic array for storing executables in pipeline</li>
945 <li> anv: Keep the shader stage in anv_shader_bin</li>
946 <li> anv: Pass the right pipe_state to flush_descriptor_sets()</li>
947 <li> anv: Remove redundant check in flush_descriptor_sets() helpers</li>
948 <li> anv: Decouple flush_descriptor_sets() helpers from pipeline struct</li>
949 <li> anv: Decouple flush_descriptor_sets() from pipeline struct</li>
950 <li> anv: Use a separate field in the pipeline for compute shader</li>
951 <li> anv: Split graphics and compute bits from anv_pipeline</li>
952 <li> anv: Reduce compute pipeline batch_data size</li>
953 <li> anv: Remove duplicate code in anv_cmd_buffer_bind_descriptor_set</li>
954 <li> intel/blorp: Plumb the stage through blorp upload_shader</li>
955 <li> mesa/main: Fix overflow in validation of DispatchComputeGroupSizeARB</li>
956 <li> nir: Add per_view attribute to nir_variable</li>
957 <li> intel/gen12: Add XML description for 3DSTATE_PRIMITIVE_REPLICATION</li>
958 <li> intel/fs: Allow multiple slots for position</li>
959 <li> anv/gen12: Lower VK_KHR_multiview using Primitive Replication</li>
960 <li> intel/compiler: Replace cs_prog_data-&gt; with a helper</li>
961 <li> anv: Stop using cs_prog_data-&gt;threads</li>
962 <li> iris: Stop using cs_prog_data-&gt;threads</li>
963 <li> intel/compiler: Remove cs_prog_data-&gt;threads</li>
964 <li> intel/fs,vec4: Properly account SENDs in IVB memory fence</li>
965 <li> spirv: Fix propagation of OpVariable access flags</li>
966 <li> spirv: Handle instruction aliases in vtn_gather_types</li>
967 <li> spirv: Update the headers from latest Khronos master</li>
968 <li> intel/fs: Allow FS_OPCODE_SCHEDULING_FENCE stall on registers</li>
969 <li> intel/fs,vec4: Pull stall logic for memory fences up into the IR</li>
970 <li> intel/fs: Only stall after sending all memory fence messages</li>
971 <li> i965: Use correct constant for max_variable_local_size</li>
972 <p></p>
973 <p>Chad Versace (12):</p>
974 <li> anv: Drop unused anv_image_get_surface_for_aspect_mask()</li>
975 <li> anv: Rename param make_surface::dev to device</li>
976 <li> anv: Delete anv_image::ccs_e_compatible</li>
977 <li> anv: Clarify behavior of anv_image_aspect_to_plane()</li>
978 <li> anv: Respect ISL_SURF_USAGE_DISABLE_AUX_BIT in make_surface()</li>
979 <li> turnip: Add magic register values to tu_physical_device</li>
980 <li> turnip: Add a618 support</li>
981 <li> anv: Drop anv_image.c:get_surface()</li>
982 <li> anv: Add anv_image_plane_needs_shadow_surface() (v2)</li>
983 <li> anv: Refactor creation of aux surfaces (v2)</li>
984 <li> anv: Flatten the logic add_aux_surface_if_supported (v3)</li>
985 <li> anv: Use isl_drm_modifier_get_default_aux_state()</li>
986 <p></p>
987 <p>Chia-I Wu (2):</p>
988 <li> egl/android: require ANDROID_native_fence_sync for buffer age</li>
989 <li> egl/android: enable/disable KHR_partial_update correctly</li>
990 <p></p>
991 <p>Chris Lord (2):</p>
992 <li> vc4: fix vc4_yuv_blit overwriting fragment constant buffer slot 0</li>
993 <li> vc4: Fix query_dmabuf_modifiers mis-reporting external_only property</li>
994 <p></p>
995 <p>Chris Wilson (1):</p>
996 <li> iris: Fix import sync-file into syncobj</li>
997 <p></p>
998 <p>Christian Gmeiner (44):</p>
999 <li> etnaviv: enable texture upload memory throttling</li>
1000 <li> etnaviv: update headers from rnndb</li>
1001 <li> etnaviv: fix alpha test on GC3000</li>
1002 <li> etnaviv: add etna_constbuf_state object</li>
1003 <li> etnaviv: ask kernel for max number of supported varyings</li>
1004 <li> etnaviv: update headers from rnndb</li>
1005 <li> etnaviv: increase number of supported varyings to 16</li>
1006 <li> etnaviv: implement emit_string_marker</li>
1007 <li> etnaviv: get rid of etna_spec in etna_context</li>
1008 <li> etnaviv: enable shareable shaders</li>
1009 <li> freedreno: calculate modified bit mask only once</li>
1010 <li> freedreno: simplify fd_set_shader_buffers(..)</li>
1011 <li> freedreno: ssbo: keep track if a buffer gets written</li>
1012 <li> freedreno: ssbo: mark resource read or written depending on usage</li>
1013 <li> etnaviv: get rid of SE_CLIP_*</li>
1014 <li> etnaviv: rework clippling calculation to be a derived state</li>
1015 <li> etnaviv: do the left shift by 16 at emit time</li>
1016 <li> etnaviv: get rid of struct compiled_scissor_state</li>
1017 <li> etnaviv: s/scissor_s/scissor</li>
1018 <li> etnaviv: compiled_framebuffer_state: get rid of SE_SCISSOR_*</li>
1019 <li> etnaviv: rename hw queries to acc queries</li>
1020 <li> etnaviv: rework etna_acc_sample_provider</li>
1021 <li> etnaviv: explicitly call resource_written(..)</li>
1022 <li> etnaviv: reset no_wait_cnt after triggered flush</li>
1023 <li> etnaviv: rework wait/flush logic</li>
1024 <li> etnaviv: extend acc query provider with supports(..) function</li>
1025 <li> etnaviv: make use of a fixed size array to track of all acc query provider</li>
1026 <li> etnaviv: extend result(..) to return if data is ready</li>
1027 <li> etnaviv: extend acc sample provide with an allocate(..)</li>
1028 <li> etnaviv: move generic perfmon functionality into own file</li>
1029 <li> etnaviv: convert perfmon queries to acc queries</li>
1030 <li> etnaviv: drop redundant calls to etna_acc_query_suspend(..)</li>
1031 <li> etnaviv: change begin_query(..) to a void function</li>
1032 <li> etnaviv: remove the &quot;active&quot; member of queries</li>
1033 <li> etnaviv: anisotropic filtering is supported starting with HALTI0</li>
1034 <li> etnaviv: update headers from rnndb</li>
1035 <li> etnaviv: add anisotropic filter support</li>
1036 <li> docs/features: mark GL_ARB_texture_filter_anisotropic as done for etnaviv</li>
1037 <li> etnaviv: drop default state for FE_HALTI5_ID_CONFIG</li>
1038 <li> etnaviv: call util_blitter_save_fragment_constant_buffer_slot(..)</li>
1039 <li> etnaviv: support for using generic blit path</li>
1040 <li> ci: bare-metal: power down device after tests</li>
1041 <li> etnaviv: fix SAMP_ANISOTROPY register value</li>
1042 <li> etnaviv: do not use int filter when anisotropic filtering is used</li>
1043 <p></p>
1044 <p>Christopher Egert (1):</p>
1045 <li> radv: use util_float_to_half_rtz</li>
1046 <p></p>
1047 <p>Christopher James Halse Rogers (1):</p>
1048 <li> egl/wayland: Fix zwp_linux_dmabuf usage</li>
1049 <p></p>
1050 <p>Connor Abbott (55):</p>
1051 <li> freedreno: Fix CP_COND_REG_EXEC bit positions</li>
1052 <li> freedreno: Add CP_REG_WRITE documentation</li>
1053 <li> freedreno: Fix CP_COND_EXEC</li>
1054 <li> tu: Move vsc_data and vsc_data2 allocation into the device</li>
1055 <li> tu: Don&#x27;t emit initial render target state in tile_load_ib</li>
1056 <li> tu: Properly set UBWC flags in RB_RENDER_CNTL</li>
1057 <li> tu/blit: Support blits in secondary cmdstreams</li>
1058 <li> tu: Support multisample image clears</li>
1059 <li> tu: Disable linear depth attachments</li>
1060 <li> tu: Sysmem rendering</li>
1061 <li> tu: Add helper for CP_COND_REG_EXEC</li>
1062 <li> tu: Handle vkCmdClearAttachments() with sysmem</li>
1063 <li> tu: Support resolve ops with sysmem rendering</li>
1064 <li> tu: Support input attachments with sysmem</li>
1065 <li> tu: Force sysmem with mipmapped non-aligned linear stores</li>
1066 <li> tu: Rewrite border color handling</li>
1067 <li> lima/gpir: Make lima_gpir_node_insert_child() useful</li>
1068 <li> lima/gpir: Optimize conditional break/continue</li>
1069 <li> lima/gpir: Optimize nots created from branch lowering</li>
1070 <li> tu: Fix border color with compute shaders</li>
1071 <li> freedreno/fdl: Add base_align</li>
1072 <li> tu: Return the correct alignment for images</li>
1073 <li> freedreno: Cleanup event names</li>
1074 <li> freedreno: Rename RB_DONE_TS</li>
1075 <li> tu: Dump out shader assembly when requested</li>
1076 <li> tu: ir3: Emit push constants directly</li>
1077 <li> freedreno/a6xx: Add UBO size field</li>
1078 <li> freedreno/a6xx: Add registers for the bindless model</li>
1079 <li> ir3: Add bindless instruction encoding</li>
1080 <li> ir3: Plumb through support for a1.x</li>
1081 <li> ir3: Also don&#x27;t propagate immediate offset with LDC</li>
1082 <li> ir3: LDC also has a destination</li>
1083 <li> ir3: Plumb through bindless support</li>
1084 <li> ir3: Rewrite UBO push analysis to support bindless</li>
1085 <li> tu: Switch to the bindless descriptor model</li>
1086 <li> tu: Emit CP_LOAD_STATE6 for descriptors</li>
1087 <li> tu: Add missing code for immutable samplers</li>
1088 <li> tu: Implement descriptor set update templates</li>
1089 <li> ir3: Fix txs with bindless</li>
1090 <li> ir3: Fix LDC offset units</li>
1091 <li> ir3: Handle load_ubo_ir3 when promoting to constants</li>
1092 <li> tu: Align GMEM resolve blit scissor</li>
1093 <li> tu: Use tu_cs_add_entries() with non-render-pass secondaries</li>
1094 <li> ir3/ra: Fix off-by-one issues with live-range extension</li>
1095 <li> freedreno/a6xx: Expand various varying-count bitfields</li>
1096 <li> tu: Fix the advertised maxFragmentInputComponents</li>
1097 <li> ir3: Don&#x27;t double-insert the first block</li>
1098 <li> ir3: Fix bug with shaders that only exit via discard</li>
1099 <li> freedreno/a6xx: Document PrimID passthrough registers</li>
1100 <li> ir3: Skip missing VS outputs in VS out map when linking</li>
1101 <li> tu: Implement PrimID passthrough</li>
1102 <li> freedreno/a6xx: Implement PrimID passthrough</li>
1103 <li> st/nir: Fix assigning PointCoord location with !PIPE_CAP_TEXCOORD</li>
1104 <li> ir3: Remove VARYING_SLOT_PNTC remapping hack</li>
1105 <li> tu: Don&#x27;t invert point coords</li>
1106 <p></p>
1107 <p>D Scott Phillips (6):</p>
1108 <li> intel/tools/aubinator_error_decode: read HW Context before other batches</li>
1109 <li> intel/tools/aubinator_error_decode: Decode ring buffers from HEAD to TAIL</li>
1110 <li> util/sparse_array: don&#x27;t stomp head&#x27;s counter on pop operations</li>
1111 <li> intel/fs: Update location of Render Target Array Index for gen12</li>
1112 <li> anv,iris: Fix input vertex max for tcs on gen12</li>
1113 <li> anv/gen11+: Disable object level preemption</li>
1114 <p></p>
1115 <p>Daniel Schürmann (73):</p>
1116 <li> aco: fix image_atomic_cmp_swap</li>
1117 <li> nir: gather info whether a shader uses demote_to_helper</li>
1118 <li> nir: add pass to lower discard() to demote()</li>
1119 <li> amd/llvm: implement nir_intrinsic_demote(_if) and nir_intrinsic_is_helper_invocation</li>
1120 <li> radeonsi: lower discard to demote when FS_CORRECT_DERIVS_AFTER_KILL is enabled</li>
1121 <li> radv: use nir_lower_discard_to_demote to work around game bugs</li>
1122 <li> amd: join emit_kill() from radv and radeonsi in ac_nir_to_llvm</li>
1123 <li> nir: fix unpack_64_4x16 in lower_alu_to_scalar()</li>
1124 <li> aco: add comparison operators for PhysReg</li>
1125 <li> aco: add sub-dword regclasses</li>
1126 <li> aco: refactor regClass setup for subdword VGPRs</li>
1127 <li> aco: validate p_create_vector with subdword elements properly</li>
1128 <li> aco: validate register alignment of subdword operands and definitions</li>
1129 <li> aco: validate uninitialized operands</li>
1130 <li> aco: validate RA of subdword assignments</li>
1131 <li> aco: print subdword registers</li>
1132 <li> aco: fix Temp and assignment of renamed operands during RA</li>
1133 <li> aco: remove unnecessary reg_file.fill() operation in get_reg_create_vector()</li>
1134 <li> aco: add notion of subdword registers to register allocator</li>
1135 <li> aco: create helper function to collect variables from register area</li>
1136 <li> aco: adapt register allocation for subdword registers</li>
1137 <li> aco: align subdword registers during RA when necessary</li>
1138 <li> aco: small refactoring of shuffle code lowering</li>
1139 <li> aco: add builder function for subdword copy()</li>
1140 <li> aco: lower subdword shuffles correctly.</li>
1141 <li> aco: don&#x27;t propagate SGPRs into subdword PSEUDO instructions</li>
1142 <li> aco: don&#x27;t assume split_vector(create_vector) has the same number of elements when optimizing</li>
1143 <li> aco: don&#x27;t vectorize 8/16bit load/store_ssbo</li>
1144 <li> aco: add missing conversion operations for small bitsizes</li>
1145 <li> aco: add byte_align_scalar() &amp; trim_subdword_vector() helper functions</li>
1146 <li> aco: prepare helper functions for subdword handling</li>
1147 <li> aco: implement vec2/3/4 with subdword operands</li>
1148 <li> aco: implement storagePushConstant8 &amp; storagePushConstant16</li>
1149 <li> aco: implement 8bit/16bit load_buffer</li>
1150 <li> aco: implement 8bit/16bit store_ssbo</li>
1151 <li> aco: use MUBUF to load subdword SSBO</li>
1152 <li> aco: guarantee that Temp fits in 4 bytes</li>
1153 <li> aco: add explicit padding for all Instruction sub-structs</li>
1154 <li> aco: improve hashing for value numbering</li>
1155 <li> aco: improve register assignment when live-range splits are necessary</li>
1156 <li> aco: replace assignment hashmap by std::vector in register allocation</li>
1157 <li> aco: during RA only insert into renames table if a variable got renamed</li>
1158 <li> aco: improve speed of live_var_analysis</li>
1159 <li> aco: refactor try_remove_trivial_phi() in RA</li>
1160 <li> aco: change some std::map to std::unordered_map in register_allocation</li>
1161 <li> aco: change live_out variables to std::unordered_set</li>
1162 <li> aco: move all needed helper containers to ra_ctx</li>
1163 <li> aco: RA - move all std::function objects into proper functions</li>
1164 <li> aco: setup subdword regclasses for ssa_undef &amp; load_const</li>
1165 <li> aco: ensure correct bit representation of subdword constants</li>
1166 <li> aco: don&#x27;t constant-propagate into subdword PSEUDO instructions</li>
1167 <li> aco: lower subdword phis with SGPR operands</li>
1168 <li> aco: rename aco_lower_bool_phis() -&gt; aco_lower_phis()</li>
1169 <li> aco: make some reg_file helpers private and fix their uses</li>
1170 <li> aco: fix p_extract_vector optimization in presence of unequally sized vector operands</li>
1171 <li> aco: use v_subrev_f32 for fsub with an sgpr operand in src1</li>
1172 <li> aco: fix 64bit fsub</li>
1173 <li> aco: move src1 to vgpr instead of using VOP3 for VOP2 instructions during isel</li>
1174 <li> aco: simplify operand handling in RA</li>
1175 <li> aco: refactor get_reg() to take Temp instead of RegClass</li>
1176 <li> aco: refactor get_reg() to also handle affinities</li>
1177 <li> aco: create pseudo dummy instruction in RA to be used for live-range splits</li>
1178 <li> aco: create and use DefInfo struct in RA</li>
1179 <li> aco: use DefInfo in more places to simplify RA</li>
1180 <li> aco: move attempt to find strided register into get_reg_simple()</li>
1181 <li> aco: allocate full register for subdword definitions if HW doesn&#x27;t support it</li>
1182 <li> aco: don&#x27;t create vector affinities for operands which are not killed or are duplicates</li>
1183 <li> aco: refactor get_reg_simple() to return early on exact matches</li>
1184 <li> aco: stop get_reg_simple after reaching max_used_gpr</li>
1185 <li> aco: try to always find a register with stride for even sizes</li>
1186 <li> aco: use upper part of gap in register file if it is beneficial for striding</li>
1187 <li> aco: coalesce v_mad&#x27;s accumulator with definition&#x27;s affinities</li>
1188 <li> aco: either copy-propagate or inline create_vector operands</li>
1189 <p></p>
1190 <p>Daniel Stone (15):</p>
1191 <li> Revert &quot;gitlab-ci: disable panfrost runners&quot;</li>
1192 <li> egl/wayland: Don&#x27;t invalidate buffers on no-op resize</li>
1193 <li> util/test: Use MAX_PATH on Windows</li>
1194 <li> CI: Add native Windows VS2019 build</li>
1195 <li> CI: Windows: Fix Docker tag argument inversion</li>
1196 <li> CI: Disable Panfrost Mali-T820 jobs</li>
1197 <li> CI: Avoid htz4 runner for VS2019</li>
1198 <li> meson: Add VS 4624 warning exclusion to remove piles of LLVM warnings</li>
1199 <li> CI: Re-enable Windows VS2019 builds</li>
1200 <li> EGL: Add eglSetDamageRegionKHR to GLVND dispatch list</li>
1201 <li> meson: Make shared-llvm into a tri-state boolean</li>
1202 <li> CI: Disable Windows/VS2019 builds</li>
1203 <li> Revert &quot;CI: Disable Windows/VS2019 builds&quot;</li>
1204 <li> ci/windows: Make Chocolatey installs more reliable</li>
1205 <li> CI: Disable Lima jobs due to lab unhealthiness</li>
1206 <p></p>
1207 <p>Danylo Piliaiev (29):</p>
1208 <li> i965: Do not set front_buffer_dirty if there is no front buffer</li>
1209 <li> st/mesa: Handle the rest renderbuffer formats from OSMesa</li>
1210 <li> osmesa/tests: Cover OSMESA_RGB GL_UNSIGNED_BYTE case</li>
1211 <li> st/nir: Unify inputs_read/outputs_written before serializing NIR</li>
1212 <li> brw_nir: Cast bitshift to unsigned</li>
1213 <li> brw_fs: Avoid zero size vla</li>
1214 <li> intel/compiler: Do not qsort zero sized array</li>
1215 <li> intel/bufmgr: Cast bitshift to unsigned</li>
1216 <li> glsl/blob: Do not call memcpy if there is nothing to copy</li>
1217 <li> iris: Do not dereference nullptr with pipe_reference</li>
1218 <li> i965: Do not generate D16 B5G6R5_UNORM configs on gen &lt; 8</li>
1219 <li> intel/tools: Fix compilation with UBSan</li>
1220 <li> glsl: do not crash if string literal is used outside of #include/#line</li>
1221 <li> st/mesa: Fix signed integer overflow when using util_throttle_memory_usage</li>
1222 <li> intel/aub_viewer: Fix format specifier for uint64_t</li>
1223 <li> nir: Fix breakage of foreach_list_typed_safe assumptions in loop unrolling</li>
1224 <li> anv: Do not sample from 3d depth image with HiZ</li>
1225 <li> glsl/list: Fix undefined behaviour of foreach_* macros</li>
1226 <li> st/mesa: Update shader info of ffvp/ARB_vp after translation to NIR</li>
1227 <li> st/mesa: Re-assign vs in locations after updating nir info for ffvp/ARB_vp</li>
1228 <li> spirv: Expand workaround for OpControlBarrier on old GLSLang</li>
1229 <li> st/mesa: Treat vertex inputs absent in inputMapping as zero in mesa_to_tgsi</li>
1230 <li> iris/bufmgr: Check if iris_bo_gem_mmap failed</li>
1231 <li> i965: Fix out-of-bounds access to brw_stage_state::surf_offset</li>
1232 <li> anv: Translate relative timeout to absolute when calling anv_timelines_wait</li>
1233 <li> anv: Fix deadlock in anv_timelines_wait</li>
1234 <li> meson: Disable GCC&#x27;s dead store elimination for memory zeroing custom new</li>
1235 <li> mesa: Fix double-lock of Shared-&gt;FrameBuffers and usage of wrong mutex</li>
1236 <li> intel/fs: Work around dual-source blending hangs in combination with SIMD16</li>
1237 <p></p>
1238 <p>Dave Airlie (69):</p>
1239 <li> llvmpipe/query: add support for indexed queries</li>
1240 <li> gallivm/swr: add stream_id to geom epilogue emit</li>
1241 <li> gallivm/nir: add support for multiple vertex streams</li>
1242 <li> draw: change geom shader output to an array of outputs.</li>
1243 <li> draw/gs: track emitted prims + verts per stream.</li>
1244 <li> draw: emit multiple streams to streamout.</li>
1245 <li> draw: don&#x27;t emit vertex to streams with no outputs</li>
1246 <li> llvmpipe: advertise 4 vertex streams</li>
1247 <li> gallivm/s390: fix pass init order on s390 with llvm 8 (v2)</li>
1248 <li> ci: bump debian image and change llvm deps to 8</li>
1249 <li> dri: add another get shm variant.</li>
1250 <li> glx/drisw: add getImageShm2 path</li>
1251 <li> glx/drisw: return false if shmid == -1</li>
1252 <li> glx/drisw: fix shm put image fallback</li>
1253 <li> gallivm/tgsi: fix stream id regression</li>
1254 <li> gallivm/nir: fix integer divide SIGFPE</li>
1255 <li> gallivm/nir: handle mod 0 better.</li>
1256 <li> gallium/auxiliary: add the microsoft tessellator and a pipe wrapper.</li>
1257 <li> gallivm/nir: split out 64-bit splitting code</li>
1258 <li> gallivm/nir: add support for tess system values</li>
1259 <li> gallivm/nir: align store_var param order with load_var</li>
1260 <li> gallivm/tgsi/swr: add mask vec to the tcs store</li>
1261 <li> gallivm/nir: add tessellation i/o support.</li>
1262 <li> draw: add JIT context/functions for tess stages.</li>
1263 <li> draw: add main tessellation code</li>
1264 <li> draw: hook up final bits of tessellation</li>
1265 <li> gallium/nir/tgsi: only scan fragment shader inputs for usage_mask</li>
1266 <li> llvmpipe: add support for tessellation shaders</li>
1267 <li> gallivm/tessellator: use private functions for min/max to avoid namespace issues</li>
1268 <li> gallium: fix build with latest meson and gcc10</li>
1269 <li> gallivm/s3tc: split out dxt5 alpha code</li>
1270 <li> gallivm: add support for rgtc/latc fetches.</li>
1271 <li> gallium/llvmpipe: add an optimised 32-bit memset</li>
1272 <li> gallivm/rgtc: fix the truncation to 8-bit</li>
1273 <li> gallivm/rgtc: enable fast path for snorm types.</li>
1274 <li> Revert &quot;gallivm: disable rgtc/latc SNORM accellerated fetches&quot;</li>
1275 <li> llvmpipe: fixup context leaks.</li>
1276 <li> draw: collect tessellation invocations statistics</li>
1277 <li> llvmpipe: report tessellation shader statistics.</li>
1278 <li> llvmpipe/query: fix transform feedback overflow any queries.</li>
1279 <li> gallivm: fix left over shader vote debug</li>
1280 <li> gallivm/nir: lower implicit lod to tex.</li>
1281 <li> gallivm/draw: calloc prim id toavoid undef</li>
1282 <li> llvmpipe: fix no tokens detections.</li>
1283 <li> draw: fix tessellation stats query</li>
1284 <li> llvmpipe/setup: move line stats collection earlier.</li>
1285 <li> draw/cull: run pipeline for culled points.</li>
1286 <li> draw: fix user culling pipeline order. (v2)</li>
1287 <li> u_blitter: fix stencil blitting</li>
1288 <li> draw: free the NIR IR.</li>
1289 <li> draw/tess: free the NIR</li>
1290 <li> llvmpipe/nir: free the nir shader</li>
1291 <li> nir/linking: fix issue with two compact variables in a row. (v2)</li>
1292 <li> gallivm/nir: fix image store conversions</li>
1293 <li> gallivm/nir: add helper invocation support</li>
1294 <li> util/indirect: handle stride less than number of parameters.</li>
1295 <li> llvmpipe: bump max images to 16</li>
1296 <li> llvmpipe: fix ssbo alignment</li>
1297 <li> draw/tess: fix TES patch vertices in.</li>
1298 <li> llvmpipe: fix d32 unorm depth conversions.</li>
1299 <li> llvmpipe/setup: add point size clamping</li>
1300 <li> llvmpipe: enable stencil only formats. (v2)</li>
1301 <li> llvmpipe: clamp color storage for integer types.</li>
1302 <li> gallivm: fix stencil border</li>
1303 <li> vulkan: add initial device selection layer. (v6.1)</li>
1304 <li> ci: add llvmpipe paths to virgl rules</li>
1305 <li> draw/tess: free tessellation control shader i/o memory.</li>
1306 <li> llvmpipo/nir: free compute shader NIR</li>
1307 <li> llvmpipe: compute shaders work better with all the threads.</li>
1308 <p></p>
1309 <p>David Stevens (1):</p>
1310 <li> egl/android: set window usage flags</li>
1311 <p></p>
1312 <p>Denys (1):</p>
1313 <li> gitlab: add bug report template</li>
1314 <p></p>
1315 <p>Dominik Behr (1):</p>
1316 <li> meson: fix debug build on Android</li>
1317 <p></p>
1318 <p>Drew Davenport (1):</p>
1319 <li> radv: Filter extensions not whitelisted for Android</li>
1320 <p></p>
1321 <p>Duncan Hopkins (2):</p>
1322 <li> zink. Added storage CISto descriptor pool. Added storage in descriptor pool for combined image samplers as well as uniform buffers. Stops some shaders from running through a pools storage faster than zinks internal tracking.</li>
1323 <li> zink: zero out zink_render_pass_state</li>
1324 <p></p>
1325 <p>Dylan Baker (48):</p>
1326 <li> docs/release-calendar: 20.0.0-rc1 has been released</li>
1327 <li> docs: Mark 20.0-rc2 as done</li>
1328 <li> docs: Add release notes for 19.3.4</li>
1329 <li> docs: Add SHA256 sum for 19.3.4</li>
1330 <li> docs: Mark 19.3.4 as done</li>
1331 <li> docs: Mark 20.0.0-rc3 as done</li>
1332 <li> Docs: Add 20.0.0 release notes</li>
1333 <li> docs: Update index, relnotes, and release-calendar for 20.0</li>
1334 <li> docs: Update stable process around using fixes: and gitlab</li>
1335 <li> docs/submittingpatches: Fix confusing typo + missing pronoun</li>
1336 <li> docs: Update release notes with current process</li>
1337 <li> bin/ Update the release calendar as well</li>
1338 <li> bin/ Pretty print the html</li>
1339 <li> bin/ Make the git commit as well.</li>
1340 <li> docs: update releasing to cover updated</li>
1341 <li> docs: add relnotes for 20.0.1</li>
1342 <li> docs: Add sha256sums for 20.0.1</li>
1343 <li> docs: update news, calendar, and link release notes for 20.0.1</li>
1344 <li> Docs: Add release notes for 20.0.2</li>
1345 <li> docs/relnotes: Add sha256 sums for 20.0.2</li>
1346 <li> docs: update calendar, add news item, and link releases notes for 20.0.2</li>
1347 <li> docs/release-calendar: Add calendar for 20.1 Release candidates</li>
1348 <li> bin/ Fix version detection for .0 release</li>
1349 <li> bin/pick-ui: Add a new maintainer script for picking patches</li>
1350 <li> replace _mesa_is_pow_two with util_is_power_of_two_*</li>
1351 <li> replace _mesa_next_pow_two_* with util_next_power_of_two_*</li>
1352 <li> replace _mesa_logbase2 with util_logbase2</li>
1353 <li> replace LOG2 with util_fast_log2</li>
1354 <li> u_math: add x86 optimized version of ifloor</li>
1355 <li> replace IFLOOR with util_ifloor</li>
1356 <li> Replace IROUND_POS with _mesa_roundevenf</li>
1357 <li> mesa/main: remove unused IROUNDD</li>
1358 <li> replace IROUND with util functions</li>
1359 <li> move windows strtok_r define to u_string</li>
1360 <li> Replace IS_INF_OR_NAN with util_is_inf_or_nan</li>
1361 <li> replace malloc macros in imports.h with u_memory.h versions</li>
1362 <li> util: Add an aligned realloc function</li>
1363 <li> replace imports memory functions with utils memory functions</li>
1364 <li> mesa|mapi: replace _mesa_[v]snprintf with [v]snprintf</li>
1365 <li> mesa: move ADD_POINTERS to macros.h</li>
1366 <li> dri/nouveau: replace assert with unreachable</li>
1367 <li> remove final imports.h and imports.c bits</li>
1368 <li> meson: update llvm dependency logic for meson 0.54.0</li>
1369 <li> docs: Add relnotes for 20.0.5</li>
1370 <li> docs: Add sha256 sums for 20.0.5</li>
1371 <li> docs: update calendar, add news item, and link releases notes for 20.0.5</li>
1372 <li> mesa: Follow OpenGL conversion rules for values that exceed storage size</li>
1373 <li> tests: Make tests aware of meson test wrapper</li>
1374 <p></p>
1375 <p>Edmondo Tommasina (1):</p>
1376 <li> radv/sqtt: fix RADV_THREAD_TRACE_BUFFER_SIZE spelling</li>
1377 <p></p>
1378 <p>Eduardo Lima Mitev (3):</p>
1379 <li> turnip/pipeline: Don&#x27;t assume tu_shader is a valid object</li>
1380 <li> turnip: Instance can be NULL resolving &#x27;GetInstanceProcAddr&#x27; entry point</li>
1381 <li> anv/radv: Resolving &#x27;GetInstanceProcAddr&#x27; should not require a valid instance</li>
1382 <p></p>
1383 <p>Eli Schwartz (1):</p>
1384 <li> docs: fix typo in v20 release notes</li>
1385 <p></p>
1386 <p>Elie Tournier (3):</p>
1387 <li> spirv2nir: print nir shader if translation succed</li>
1388 <li> spirv2nir: Add kernel spirv support</li>
1389 <li> docs/features: Update virgl OpenGL 4.5 features GL_ARB_clip_control and GL_KHR_robustness are now expose in the guest.</li>
1390 <p></p>
1391 <p>Emil Velikov (11):</p>
1392 <li> meson: glx: drop with_glx == dri check</li>
1393 <li> glx: set the loader_logger early and for everyone</li>
1394 <li> egl/drm: reinstate (kms_)swrast support</li>
1395 <li> Revert &quot;egl/dri2: Don&#x27;t dlclose() the driver on dri2_load_driver_common failure&quot;</li>
1396 <li> loader: use a maximum of 64 drmDevices</li>
1397 <li> loader: simplify loader_get_user_preferred_fd()</li>
1398 <li> loader: simplify codeflow in drm_get_pci_id_for_fd</li>
1399 <li> loader: move &quot;using driver...&quot; message to loader_get_kernel_driver_name</li>
1400 <li> loader: fallback to kernel name, if PCI fails</li>
1401 <li> glx: omit loader_loader() for macOS</li>
1402 <li> egl: simplify client/platform extension handling</li>
1403 <p></p>
1404 <p>Emmanuel Gil Peyrot (1):</p>
1405 <li> Expose EGL_KHR_platform_* when EXT is supported</li>
1406 <p></p>
1407 <p>Eric Anholt (144):</p>
1408 <li> gallium/osmesa: Fix a typo in the unit test&#x27;s test names.</li>
1409 <li> gallium/osmesa: Fix MakeCurrent of non-8888 contexts.</li>
1410 <li> gallium/osmesa: Fill out other format tests.</li>
1411 <li> gallium/osmesa: Try to fix the test for big-endian.</li>
1412 <li> util: Make helper functions for pack/unpacking pixel rows.</li>
1413 <li> mesa/st: Use direct util_format_pack/unpack instead of u_tile.</li>
1414 <li> gallium/util: Remove pipe_get_tile_z/put_tile_z.</li>
1415 <li> softpipe: Drop the raw_to* part of the tile cache interface.</li>
1416 <li> softpipe: Refactor pipe_get/put_tile_rgba_* paths.</li>
1417 <li> gallium: Add and use a helper for packing uc from a color_union.</li>
1418 <li> gallium: Refactor some single-pixel util_format_read/writes.</li>
1419 <li> util: Drop unpacking from int signed to unsigned and vice versa.</li>
1420 <li> freedreno: Move the layout debug under FD_MESA_DEBUG=layout.</li>
1421 <li> freedreno: Include the layer size in layout debug.</li>
1422 <li> freedreno: Rename the UBWC layer size field and store it as bytes.</li>
1423 <li> freedreno/a6xx: Disable the core layer-size setup.</li>
1424 <li> freedreno: Swap the whole resource layout in shadowing.</li>
1425 <li> freedreno: Blit all array levels when uncompressing UBWC.</li>
1426 <li> freedreno: Disable UBWC on Z24S8 if not TEXTURE_2D.</li>
1427 <li> freedreno: Allow UBWC on textures with multiple mipmap levels.</li>
1428 <li> mesa: Clean up some endianness adapters for shader image formats.</li>
1429 <li> intel/isl: Move iris&#x27;s pipe-to-isl format function to isl.</li>
1430 <li> glsl,nir: Switch the enum representing shader image formats to PIPE_FORMAT.</li>
1431 <li> mesa/st: Move the SYSTEM_VALUE -&gt; TGSI_SEMANTIC map to tgsi_from_mesa.</li>
1432 <li> nouveau: Reuse tgsi_get_sysval_semantic().</li>
1433 <li> nouveau: reuse tgsi_get_gl_frag_result_semantic().</li>
1434 <li> nouveau: Reuse tgsi_get_gl_varying_semantic().</li>
1435 <li> u_tile: Skip the packed temporary and just store tiles directly.</li>
1436 <li> ci: Disable a bunch of tests on freedreno a630.</li>
1437 <li> ci: Bump the GLES CTS version to</li>
1438 <li> Revert &quot;gallium: Fix big-endian addressing of non-bitmask array formats.&quot;</li>
1439 <li> ci: Extend the a630 flake list to reduce spurious failures.</li>
1440 <li> radv: Squelch possibly-undefined warning</li>
1441 <li> llvmpipe: Fix real uninitialized use of &quot;atype&quot; for SEMANTIC_FACE</li>
1442 <li> llvmpipe: Silence &quot;possibly uninitialized value&quot; warning for ssbo_limit.</li>
1443 <li> llvmpipe: Silence uninitialized variable warning about &quot;chan&quot;</li>
1444 <li> llvmpipe: Fix warning about uninitialized &quot;op&quot; in the NIR path.</li>
1445 <li> llvmpipe: Silence uninitialized variable warning about &quot;vals&quot;</li>
1446 <li> llvmpipe: Silence uninitialized variable warning about &quot;scissor&quot;</li>
1447 <li> llvmpipe: Fix another uninitialized value warning, on init_val.</li>
1448 <li> gallium: Only define PIPE_ALIGNSTACK on x86.</li>
1449 <li> ci: prepare-artifacts: Make the indent here match previously in the file</li>
1450 <li> ci: Make sure that we have a proper shell prompt for LAVA.</li>
1451 <li> ci: Make LAVA job fails emit the full list of unexpected test results.</li>
1452 <li> ci: Document how LAVA runners work.</li>
1453 <li> ci: Don&#x27;t bother generating deqp junit results since we don&#x27;t present it.</li>
1454 <li> ci: Remove a useless filtering of the lava logs.</li>
1455 <li> nir: Rename gl_nir_lower_bindless_images.c in preparation for extending it.</li>
1456 <li> nir: Make image lowering optionally handle the !bindless case as well.</li>
1457 <li> gallium: Add a cap for enabling lowering of image load/store intrinsics.</li>
1458 <li> v3d: Ask the state tracker to lower image accesses off of derefs.</li>
1459 <li> glsl: Factor out the sampler dim coordinate components switch statement.</li>
1460 <li> spirv_to_nir: Reuse glsl_sampler_dim_coordinate_components().</li>
1461 <li> freedreno/ir3: Reuse glsl_get_sampler_dim_coordinate_components() in tex_info.</li>
1462 <li> tgsi_to_nir: Reuse glsl_get_sampler_dim_coordinate_components().</li>
1463 <li> prog_to_nir: Reuse glsl_get_sampler_dim_coordinate_components().</li>
1464 <li> freedreno/ir3: Fix the arg to ir3_get_num_components_for_image_format()</li>
1465 <li> nir: Move intel&#x27;s intrinsic_image_coordinate_components() to core nir.</li>
1466 <li> freedreno: Switch to using lowered image intrinsics.</li>
1467 <li> ci: Blacklist another freedreno flaky test.</li>
1468 <li> meson: Disable bison&#x27;s -Wdeprecated since we still support old bison.</li>
1469 <li> turnip: Fix compiler warning about casting a nondispatchable handle.</li>
1470 <li> freedreno/computerator: Fix defined-but-not-used warnings from lex/yacc.</li>
1471 <li> ci: Remove LLVM from ARM test drivers.</li>
1472 <li> ci: Stop disabling ACPI in the LAVA arm64 kernel build.</li>
1473 <li> ci: Shrink the arm64 kernel build a bit.</li>
1474 <li> ci: Include db410c support in the ARM container.</li>
1475 <li> aco: Fix signed-vs-unsigned warning.</li>
1476 <li> ci: Enable -Werror on meson-vulkan and meson-testing.</li>
1477 <li> ci: Switch testing on db410c over to LAVA.</li>
1478 <li> ci: Add a disabled-by-default job for GLES3 testing on db410c.</li>
1479 <li> ci: Flip db410c back to docker mode.</li>
1480 <li> ci: Print the renderer/version that our dEQP invocation is using.</li>
1481 <li> ci: Fix installation of firmware for db410c&#x27;s nic.</li>
1482 <li> ci: Make a simple little bare-metal fastboot mode for db410c.</li>
1483 <li> glsl/tests: Catch mkdir errors to help explain when they happen.</li>
1484 <li> glsl/tests: Fix waiting for disk_cache_put() to finish.</li>
1485 <li> ci: Update the ci-templates commit.</li>
1486 <li> ci: Enable ccache in the container builds.</li>
1487 <li> ci: Enable ccaching of CMake builds as well.</li>
1488 <li> ci: Enable testing GLES2-3 on a530 (Dragonboard 820c).</li>
1489 <li> freedreno/a5xx: Fix min-vs-mag filtering decisions on non-mipmap tex.</li>
1490 <li> gallium/util: Switch util_float_to_half to _mesa_float_to_half()&#x27;s impl.</li>
1491 <li> ci: Ban the recent popular freedreno a630 flakes.</li>
1492 <li> ci: Disable tests that showed intermittent fails on a530 in day 1.</li>
1493 <li> ci: Only run the freedreno baremetal tests when freedreno/core changes.</li>
1494 <li> freedreno: Switch to exposing only half-integer pixel centers.</li>
1495 <li> ci: Move db820c and db410c&#x27;s gles3 tests to manual, like radv did.</li>
1496 <li> glsl: Restore the IsES flag on the shader when reading from cache.</li>
1497 <li> ci: Ban the recent popular freedreno a630 intermittent failure.</li>
1498 <li> freedreno: Remove always-true return from per-gen begin_query.</li>
1499 <li> freedreno: Remove the &quot;active&quot; member of queries.</li>
1500 <li> freedreno: Fix acc query handling in the presence of batch reordering.</li>
1501 <li> freedreno: Associate the acc query bo with the batch.</li>
1502 <li> freedreno: Count blits in GL_TIME_ELAPSED and perf counter queries.</li>
1503 <li> freedreno/a6xx: Fix timestamp queries.</li>
1504 <li> freedreno: Rename &quot;is_blit&quot; to &quot;is_discard_blit&quot;</li>
1505 <li> freedreno: Fix detection of being in a blit for acc queries.</li>
1506 <li> freedreno: Work around UBWC flakiness.</li>
1507 <li> freedreno: Drop an unnecessary include marked &quot;this should go away&quot;</li>
1508 <li> freedreno/turnip: Use the NIR info to decide if we need helper invocations.</li>
1509 <li> loader: Warn when we fail to open a device node due to permissions.</li>
1510 <li> ci: Consistently use -j4 across x86 build jobs and -j8 on ARM.</li>
1511 <li> freedreno/a6xx: Sink the per-level size temps inside the loop.</li>
1512 <li> freedreno/a6xx: Remove the &quot;aligned_height&quot; temporary.</li>
1513 <li> freedreno/a6xx: Drop the &quot;alignment&quot; layout temporary.</li>
1514 <li> freedreno: Add the outline of a test for a6xx texture layout.</li>
1515 <li> freedreno/a6xx: Set a level&#x27;s pitch based on minified level0 pitch, not width0.</li>
1516 <li> freedreno: Fix leak of binning shader variants.</li>
1517 <li> freedreno/ir3: Stop doing b2n on the SEL condition.</li>
1518 <li> freedreno/ir3: CSE the up/downconversion of SEL&#x27;s cond&#x27;s size.</li>
1519 <li> freedreno/a5xx+: Skip compiling the old gmem blit programs.</li>
1520 <li> freedreno/drm-shim: Add support for faking other adreno chips.</li>
1521 <li> freedreno/ir3: Drop handling FRAG_RESULT_DEPTH writing to .z</li>
1522 <li> freedreno: Introduce a &quot;cpp_shift&quot; value for cpp divs/muls.</li>
1523 <li> freedreno: Make the slice pitch be bytes, not pixels.</li>
1524 <li> drm-shim: Let the driver choose to overwrite the first render node.</li>
1525 <li> nir/lower_two_sided_color: Fix picking of new driver location.</li>
1526 <li> nir/lower_clip: Fix picking of unused driver locations.</li>
1527 <li> gallium: Fix setup of pstipple frag coord var.</li>
1528 <li> freedreno/ir3: Fix driver_location of the added vertex_flags varying.</li>
1529 <li> freedreno/ir3: Fix sizing of the inputs/outputs array.</li>
1530 <li> vc4: Use NIR shader&#x27;s num_outputs for generating our new output.</li>
1531 <li> ci: Drop redundant freedreno stage specification.</li>
1532 <li> ci: Enable GLES3 testing on db410c/db820c (freedreno a306 and a530).</li>
1533 <li> freedreno: Fix derivatives without texturing on a3xx-a5xx.</li>
1534 <li> ci: Enable GLES 3.1 testing on db820c (a530).</li>
1535 <li> freedreno/ir3: Fix the disasm of half-float STG dests.</li>
1536 <li> freedreno/ir3: Print a space after nop counts, like qcom&#x27;s disasm.</li>
1537 <li> freedreno/ir3: Add a unit test for our disassembler.</li>
1538 <li> freedreno/ir3: Convert remaining disasm src prints to reginfo.</li>
1539 <li> freedreno/ir3: Refactor out print_reg_src().</li>
1540 <li> freedreno/ir3: Add support for disasm of cat2 float32 immediates.</li>
1541 <li> ci: Enable --compact-display false on all dEQP runs.</li>
1542 <li> ci: Add sanity checking that dEQP gets the expected GL_RENDERER.</li>
1543 <li> freedreno: Fix calculation of the const buffer cmdstream size.</li>
1544 <li> ci: Allow namespacing of dEQP run results files.</li>
1545 <li> ci: Clean up some excessive use of pipes in dEQP results processing.</li>
1546 <li> ci/freedreno: Add a test run of a few driver options.</li>
1547 <li> util/ra: Sanity check that the driver selected a valid reg.</li>
1548 <li> util/ra: Sanity check that we&#x27;re adding a valid reg to a class.</li>
1549 <li> util/ra: Use util_dynarray for the adjacency list.</li>
1550 <li> util/ra: Use util_dynarray for handling the conflict lists.</li>
1551 <li> util/ra: Improve ra_set_finalize() performance.</li>
1552 <p></p>
1553 <p>Eric Engestrom (58):</p>
1554 <li> VERSION: bump after 20.0 branch point</li>
1555 <li> egl: put full path to in GLVND json</li>
1556 <li> gitlab-ci: disable a630 tests as mesa-cheza is down</li>
1557 <li> util/os_socket: fix header unavailable on windows</li>
1558 <li> freedreno/perfcntrs: fix fd leak</li>
1559 <li> dri: delete</li>
1560 <li> util/disk_cache: check for write() failure in the zstd path</li>
1561 <li> meson: don&#x27;t bother trying `python2`</li>
1562 <li> Revert &quot;egl: put full path to in GLVND json&quot;</li>
1563 <li> egl: directly access static members instead of using _egl{Get,Set}ConfigKey()</li>
1564 <li> meson: explicitly disallow unsupported build directory layout</li>
1565 <li> docs: fix typos in the release docs</li>
1566 <li> bin/ fix commit list command</li>
1567 <li> gen_release_notes: fix vulkan version reported</li>
1568 <li> docs/relnotes/19.3: fix vulkan version reported</li>
1569 <li> docs/relnotes/20.0: fix vulkan version reported</li>
1570 <li> Revert &quot;docs/relnotes/19.3: fix vulkan version reported&quot;</li>
1571 <li> docs: trivial fix for html structure</li>
1572 <li> docs/releasing: add missing &lt;/li&gt; tags</li>
1573 <li> docs: add release notes for 19.3.5</li>
1574 <li> docs: update calendar, add news item, and link releases notes for 19.3.5</li>
1575 <li> vulkan/wsi: fix cleanup when dup() fails</li>
1576 <li> gen_release_notes: fix version in &quot;you should wait&quot; message</li>
1577 <li> gen_release_notes: resolve ambiguity by renaming `version` to `previous_version` and `next_version` to `this_version`</li>
1578 <li> meson: use existing variables in inc_common</li>
1579 <li> meson: inline `inc_common`</li>
1580 <li> vulkan: drop unused include directories</li>
1581 <li> intel: drop unused include directories</li>
1582 <li> scons: prune unused Makefile.sources</li>
1583 <li> docs: add release notes for 20.0.3</li>
1584 <li> docs/relnotes: add sha256sum for 20.0.3</li>
1585 <li> docs: update calendar, add news item, and link releases notes for 20.0.3</li>
1586 <li> docs: add release notes for 20.0.4</li>
1587 <li> docs/relnotes: add sha256sum for 20.0.4</li>
1588 <li> docs: update calendar, add news item, and link releases notes for 20.0.4</li>
1589 <li> glx: fix 630 times -Wlto-type-mismatch when building with LTO enabled</li>
1590 <li> glx: use anonymous namespace to avoid -Wodr issues when building with LTO enabled</li>
1591 <li> pick-ui: auto-scroll the feedback window</li>
1592 <li> pick-ui: compute .pick_status.json path only once</li>
1593 <li> pick-ui: make .pick_status.json path relative to the git root instead of the script</li>
1594 <li> pick-ui: show commit sha in the pick list</li>
1595 <li> VERSION: bump to 20.1.0-rc1</li>
1596 <li> .pick_status.json: Update to af55bdd05d94eda59ee1c9331a50045000da5db5</li>
1597 <li> .pick_status.json: Update to 57796946985de60204189426ca8eb7bbfa97c396</li>
1598 <li> .pick_status.json: Mark 3fac55ce0d066d767d6c6c8308f79d0c3e566ec0 as denominated</li>
1599 <li> .pick_status.json: Update to 29da52128090a1ef8ef782188c0f67c7f5ec8d19</li>
1600 <li> VERSION: bump to 20.1.0-rc2</li>
1601 <li> .pick_status.json: Update to 772b15ad3227e08bb4e18932ac9ecf4c29271160</li>
1602 <li> .pick_status.json: Update to 56f955e4850035d915a2a87e2ebea7fa66ab5e19</li>
1603 <li> .pick_status.json: Update to c1c0cf7a66905e8d7ad506842a41b0ad0c5b10da</li>
1604 <li> VERSION: bump to 20.1.0-rc3</li>
1605 <li> .pick_status.json: Update to 5a6beb6a24aa084adfd6c57edd0a64f0a044611a</li>
1606 <li> fix branch name construction for release candidates</li>
1607 <li> invert `is_point` into `is_first_release` to make its purpose clearer</li>
1608 <li> stop adding release candidates to the index and relnotes</li>
1609 <li> VERSION: bump to 20.1.0-rc4</li>
1610 <li> .pick_status.json: Update to a91306677c613ba7511b764b3decc9db42b24de1</li>
1611 <li> tree-wide: fix deprecated GitLab URLs</li>
1612 <p></p>
1613 <p>Erik Faye-Lund (154):</p>
1614 <li> zink: enable texture-buffer objects</li>
1615 <li> zink: implement load_instance_id</li>
1616 <li> zink: implement support for derivative-control</li>
1617 <li> zink: be more careful about the mask-check</li>
1618 <li> zink: disallow depth-stencil blits with format-change</li>
1619 <li> st/mesa: use uint-result for sampling stencil buffers</li>
1620 <li> zink: lower away fdph</li>
1621 <li> zink: fixup sampler-usage</li>
1622 <li> zink: replace unset buffer with a dummy-buffer</li>
1623 <li> zink: emit blend-target index</li>
1624 <li> zink: only inspect dual-src limit if feature enabled</li>
1625 <li> Revert &quot;nir: Add a couple trivial abs optimizations&quot;</li>
1626 <li> zink: do not use SpvDimRect</li>
1627 <li> zink: fix binding-usage</li>
1628 <li> zink: do not report texture-samplers for unsupported stages</li>
1629 <li> zink/spirv: do not reinvent store_dest</li>
1630 <li> zink/spirv: prefer store_dest over store_dest_uint</li>
1631 <li> zink/spirv: rename functions a bit</li>
1632 <li> zink/spirv: unit_value -&gt; raw_value</li>
1633 <li> zink/spirv: uint -&gt; raw</li>
1634 <li> zink: do not convert bools to/from uint</li>
1635 <li> util: promote u_debug_memory.c to src/util</li>
1636 <li> util: move debug_memory_{begin,end} to os_memory_debug.h</li>
1637 <li> gallium/util: do not use debug_print_format</li>
1638 <li> gallium/util: remove unused debug_print_foo helpers</li>
1639 <li> zink/spirv: do not use bitwise operations on booleans</li>
1640 <li> pipebuffer: clean up cast-warnings</li>
1641 <li> rbug: clean up cast-warnings</li>
1642 <li> rbug: do not return void-value</li>
1643 <li> vtn/opencl: fully enable OpenCLstd_Clz</li>
1644 <li> compiler/nir: move build_exp helper into builtin-builder</li>
1645 <li> compiler/nir: move build_log helper into builtin-builder</li>
1646 <li> vtn/opencl: add native exp/log-support</li>
1647 <li> vtn/opencl: add native exp10/log10-support</li>
1648 <li> vtn/opencl: add native exp2/log2-support</li>
1649 <li> nv50: remove unused variable</li>
1650 <li> meson: disable some more warnings on msvc</li>
1651 <li> mesa/main: correct extension-checks for GL_BLACKHOLE_RENDER_INTEL</li>
1652 <li> mesa/main: clean-up extension-checks for point-sprites</li>
1653 <li> mesa/main: clean up extension-check for GL_VERTEX_PROGRAM</li>
1654 <li> mesa/main: clean up extension-check for GL_VERTEX_PROGRAM_TWO_SIDE</li>
1655 <li> mesa/main: clean up extension-check for GL_VERTEX_PROGRAM_POINT_SIZE</li>
1656 <li> mesa/main: clean up extension-check for GL_TEXTURE_RECTANGLE</li>
1657 <li> mesa/main: clean up extension-check for GL_STENCIL_TEST_TWO_SIDE</li>
1658 <li> mesa/main: clean up extension-check for GL_DEPTH_BOUNDS_TEST</li>
1659 <li> mesa/main: clean up extension-check for AMD_depth_clamp_separate</li>
1660 <li> mesa/main: clean up extension-check for GL_FRAGMENT_SHADER_ATI</li>
1661 <li> mesa/main: clean up extension-check for GL_TEXTURE_CUBE_MAP_SEAMLESS</li>
1662 <li> mesa/main: clean up extension-check for GL_RASTERIZER_DISCARD</li>
1663 <li> mesa/main: clean up extension-check for GL_TEXTURE_EXTERNAL</li>
1664 <li> mesa/main: remove unused macro</li>
1665 <li> wgl: drop pointless debug_printf</li>
1666 <li> wgl: drop unused member</li>
1667 <li> wgl: move screen-init to a helper</li>
1668 <li> wgl: do not create screen from DllMain</li>
1669 <li> st/dri: make sure software color-buffers are linear</li>
1670 <li> zink: be less picky about tiled resources</li>
1671 <li> .mailmap: add an alias for Alan Swanson</li>
1672 <li> .mailmap: add an alias for Alyssa Rosenzweig</li>
1673 <li> .mailmap: add an alias for Andrii Simiklit</li>
1674 <li> .mailmap: add an alias for Anuj Phogat</li>
1675 <li> .mailmap: add an alias for Axel Davy</li>
1676 <li> .mailmap: add an alias for Boris Brezillon</li>
1677 <li> .mailmap: add an alias for Bruce Cherniak</li>
1678 <li> .mailmap: update aliases for Carl-Philip Hänsch</li>
1679 <li> .mailmap: add an alias for Chad Versace</li>
1680 <li> .mailmap: add a couple of aliases for Chandu Babu Namburu</li>
1681 <li> .mailmap: add alias for Chenglei Ren</li>
1682 <li> .mailmap: add an alias for Christian Gmeiner</li>
1683 <li> .mailmap: add an alias for Christian Inci</li>
1684 <li> .mailmap: add a few aliases for Christoph Haag</li>
1685 <li> .mailmap: add an alias for Colin McDonald</li>
1686 <li> .mailmap: specify spelling for Constantine Kharlamov</li>
1687 <li> .mailmap: add an alias for Craig Stout</li>
1688 <li> .mailmap: add an alias for Daniel Schürmann</li>
1689 <li> .mailmap: add an alias for Danylo Piliaiev</li>
1690 <li> .mailmap: add an alias for Dave Airlie</li>
1691 <li> .mailmap: add an alias for Dylan Baker</li>
1692 <li> .mailmap: add a couple of aliases for Dylan Noblesmith</li>
1693 <li> .mailmap: add an alias for Emmanuel Gil Peyrot</li>
1694 <li> .mailmap: add an alias for Erik Faye-Lund</li>
1695 <li> .mailmap: specify spelling for Francesco Ansanelli</li>
1696 <li> .mailmap: specify spelling for Gurchetan Singh</li>
1697 <li> .mailmap: add an alias for Haihao Xiang</li>
1698 <li> .mailmap: add an alias for Harish Krupo</li>
1699 <li> .mailmap: specify spelling for Heinrich Fink</li>
1700 <li> .mailmap: specify spelling for Henri Verbeet</li>
1701 <li> .mailmap: add an alias for Igor Gnatenko</li>
1702 <li> .mailmap: add an alias for Illia Iorin</li>
1703 <li> .mailmap: specify spelling for James Zhu</li>
1704 <li> .mailmap: add an alias for Jan Beich</li>
1705 <li> .mailmap: clean up aliases for Jeremy Huddleston</li>
1706 <li> .mailmap: add an alias for Julien Isorce</li>
1707 <li> .mailmap: add a few aliases for Karol Herbst</li>
1708 <li> .mailmap: add a few aliases for Kevin Rogovin</li>
1709 <li> .mailmap: add a few aliases for Kristian Høgsberg</li>
1710 <li> .mailmap: add an alias for Lionel Landwerlin</li>
1711 <li> .mailmap: specify spelling for Liviu Prodea</li>
1712 <li> .mailmap: update aliases for Marc-André Lureau</li>
1713 <li> .mailmap: add alias for Matthias Groß</li>
1714 <li> .mailmap: add an alias for Neha Bhende</li>
1715 <li> .mailmap: add an alias for Neil Roberts</li>
1716 <li> .mailmap: specify spelling for Nian Wu</li>
1717 <li> .mailmap: add an alias for Nicholas Bishop</li>
1718 <li> .mailmap: update aliases for Nicolai Hähnle</li>
1719 <li> .mailmap: add an alias for Philipp Zabel</li>
1720 <li> .mailmap: update aliases for Pierre-Eric Pelloux-Prayer</li>
1721 <li> .mailmap: add an alias for Plamena Manolova</li>
1722 <li> .mailmap: add an alias for Qiang Yu</li>
1723 <li> .mailmap: specify spelling for Randy Xu</li>
1724 <li> .mailmap: add an alias for Renato Caldas</li>
1725 <li> .mailmap: add an alias for Rob Clark</li>
1726 <li> .mailmap: add an alias for Rodrigo Vivi</li>
1727 <li> .mailmap: add an alias for Samuel Li</li>
1728 <li> .mailmap: add an alias for Sergii Romantsov</li>
1729 <li> .mailmap: specify spelling for Sonny Jiang</li>
1730 <li> .mailmap: add a couple of aliases for Steinar H. Gunderson</li>
1731 <li> .mailmap: add a couple of aliases for Suresh Guttula</li>
1732 <li> .mailmap: add an alias for Thierry Reding</li>
1733 <li> .mailmap: add an alias for Timo Aaltonen</li>
1734 <li> .mailmap: add a couple of aliases for Timothy Arceri</li>
1735 <li> .mailmap: add an alias for Tim Wiederhake</li>
1736 <li> .mailmap: add an alias for Tom Stellard</li>
1737 <li> .mailmap: add an alias for Tomasz Figa</li>
1738 <li> .mailmap: add an alias for Topi Pohjolainen</li>
1739 <li> .mailmap: add an alias for Vadym Shovkoplias</li>
1740 <li> .mailmap: add an alias for Varad Gautam</li>
1741 <li> .mailmap: specify spelling for Vivek Kasireddy</li>
1742 <li> .mailmap: specify spelling for Wladimir J. van der Laan</li>
1743 <li> .mailmap: add an alias for Xavier Bouchoux</li>
1744 <li> .mailmap: add an alias for Yaakov Selkowitz</li>
1745 <li> .mailmap: add alias for Zhaowei Yuan</li>
1746 <li> .mailmap: add an alias for Zhongmin Wu</li>
1747 <li> meson: use override_options to change warning-level</li>
1748 <li> wgl: silence some cast-warnings</li>
1749 <li> util/tests: initialize variable</li>
1750 <li> mesa: fixup cast expression</li>
1751 <li> vbo: avoid including wingdi.h on win32</li>
1752 <li> meson: tell flex that we support c99</li>
1753 <li> gtest: Update to 1.10.0</li>
1754 <li> meson: do not disable incremental linking for debug-builds</li>
1755 <li> docs: remove outdated sentence</li>
1756 <li> mesa/gallium: do not use enum for bit-allocated member</li>
1757 <li> meson: correct windows-version define</li>
1758 <li> mesa/main: do not store unrecognized extensions in context</li>
1759 <li> mesa/main: do not pass context to one-time extension init</li>
1760 <li> mesa/main: do not init remap-table per api</li>
1761 <li> mesa/main: Do not pass context to one_time_init</li>
1762 <li> mesa/main: one_time_init() -&gt; _mesa_initialize()</li>
1763 <li> mesa/st: call _mesa_initialize() early</li>
1764 <li> zink: lower b2b to b2i</li>
1765 <li> util/os_memory: never use os_memory_debug.h</li>
1766 <li> zink: implement i2b1</li>
1767 <li> zink: use general-layout when blitting to/from same resource</li>
1768 <p></p>
1769 <p>Francisco Jerez (57):</p>
1770 <li> intel/fs/cse: Make HALT instruction act as CSE barrier.</li>
1771 <li> intel/fs/gen7: Fix fs_inst::flags_written() for SHADER_OPCODE_FIND_LIVE_CHANNEL.</li>
1772 <li> intel/fs: Add virtual instruction to load mask of live channels into flag register.</li>
1773 <li> intel/fs/gen12: Workaround unwanted SEND execution due to broken NoMask control flow.</li>
1774 <li> intel/fs/gen12: Fixup/simplify SWSB annotations of SIMD32 scratch writes.</li>
1775 <li> intel/fs/gen12: Workaround data coherency issues due to broken NoMask control flow.</li>
1776 <li> intel/fs: Set src0 alpha present bit in header when provided in message payload.</li>
1777 <li> intel/fs/gen11: Work around dual-source blending hangs in combination with SIMD32.</li>
1778 <li> intel/fs: Make sample_mask_reg() local to brw_fs.cpp and use it in more places.</li>
1779 <li> intel/fs: Use helper for discard sample mask flag subregister number.</li>
1780 <li> intel/fs/gen7+: Swap sample mask flag register and FIND_LIVE_CHANNEL temporary.</li>
1781 <li> intel/fs: Refactor predication on sample mask into helper function.</li>
1782 <li> intel/fs: Return consistent UW types from sample_mask_reg() in fragment shaders.</li>
1783 <li> intel/fs/gen7+: Implement discard/demote for SIMD32 programs.</li>
1784 <li> intel/compiler: Move base IR definitions into a separate header file</li>
1785 <li> intel/compiler: Reverse inclusion dependency between brw_cfg.h and brw_shader.h</li>
1786 <li> intel/compiler: Nest definition of live variables block_data structures</li>
1787 <li> intel/compiler: Reverse inclusion dependency between brw_fs_live_variables.h and brw_fs.h</li>
1788 <li> intel/compiler: Reverse inclusion dependency between brw_vec4_live_variables.h and brw_vec4.h</li>
1789 <li> intel/compiler: Introduce simple IR analysis pass framework</li>
1790 <li> intel/compiler: Introduce backend_shader method to propagate IR changes to analysis passes</li>
1791 <li> intel/compiler: Define more detailed analysis dependency classes</li>
1792 <li> intel/compiler: Pass detailed dependency classes to invalidate_analysis()</li>
1793 <li> intel/compiler: Mark virtual_grf_interferes and vars_interfere as const</li>
1794 <li> intel/compiler: Move all live interval analysis results into fs_live_variables</li>
1795 <li> intel/compiler: Move all live interval analysis results into vec4_live_variables</li>
1796 <li> intel/compiler: Restructure live intervals computation code</li>
1797 <li> intel/compiler: Pass single backend_shader argument to the fs_live_variables constructor</li>
1798 <li> intel/compiler: Pass single backend_shader argument to the vec4_live_variables constructor</li>
1799 <li> intel/compiler/fs: Add live interval validation pass</li>
1800 <li> intel/compiler/vec4: Add live interval validation pass</li>
1801 <li> intel/compiler/fs: Switch liveness analysis to IR analysis framework</li>
1802 <li> intel/compiler/vec4: Switch liveness analysis to IR analysis framework</li>
1803 <li> intel/compiler: Drop invalidate_live_intervals()</li>
1804 <li> intel/compiler: Move idom tree calculation and related logic into analysis object</li>
1805 <li> intel/compiler: Move dominance tree data structure into idom_tree object</li>
1806 <li> entel/compiler: Simplify new_idom reduction in dominance tree calculation</li>
1807 <li> intel/compiler: Move register pressure calculation into IR analysis object</li>
1808 <li> intel/compiler: Calculate num_instructions in O(1) during register pressure calculation</li>
1809 <li> intel/fs: Fix workaround for VxH indirect addressing bug under control flow.</li>
1810 <li> intel/fs/gen12: Fix interaction of SWSB dependency combination with EU fusion workaround.</li>
1811 <li> intel/fs/gen12: Fix hangs with per-sample SIMD32 fragment shader dispatch.</li>
1812 <li> intel/fs/gen12: Work around dual-source blending hangs in combination with SIMD32.</li>
1813 <li> intel/fs/gen12: Fix Render Target Read header setup for new thread payload layout.</li>
1814 <li> intel/ir: Add missing initialization of backend_reg::offset during construction.</li>
1815 <li> intel/fs: Rename half() helpers to quarter(), allow index up to 3.</li>
1816 <li> intel/fs: Fix constness of argument of fs_instruction_scheduler::is_compressed().</li>
1817 <li> intel/fs: Replace fs_visitor::bank_conflict_cycles() with stand-alone function.</li>
1818 <li> intel/vec4: Fix constness of vec4_instruction::reads_flag() and ::writes_flag().</li>
1819 <li> intel/ir: Import shader performance analysis pass.</li>
1820 <li> intel/fs: Heap-allocate fs_visitors in brw_compile_fs().</li>
1821 <li> intel/fs: Implement performance analysis-based SIMD32 heuristic for fragment shaders.</li>
1822 <li> intel/fs: Add INTEL_DEBUG=no32 debugging flag.</li>
1823 <li> intel/ir: Use brw::performance object instead of CFG cycle counts for codegen stats.</li>
1824 <li> intel/ir: Pass block cycle count information explicitly to disassembler.</li>
1825 <li> intel/ir: Remove scheduling-based cycle count estimates.</li>
1826 <li> intel/ir: Update performance analysis parameters for memory fence codegen changes.</li>
1827 <p></p>
1828 <p>Fritz Koenig (3):</p>
1829 <li> Revert &quot;gitlab-ci: disable a630 tests as mesa-cheza is down&quot;</li>
1830 <li> Revert &quot;gitlab-ci: disable a630 tests as mesa-cheza is down (again)&quot;</li>
1831 <li> freedreno: allow FMT6_8_UNORM as a UBWC format</li>
1832 <p></p>
1833 <p>Georg Lehmann (3):</p>
1834 <li> Correctly wait in the fragment stage until all semaphores are signaled</li>
1835 <li> Vulkan Overlay: Don&#x27;t try to change the image layout to present twice</li>
1836 <li> Vulkan overlay: use the corresponding image index for each swapchain</li>
1837 <p></p>
1838 <p>Gert Wollny (63):</p>
1839 <li> r600: force new CF with TEX only if any texture value is written</li>
1840 <li> r600: Increase space for IO values to agree with PIPE_MAX_SHADER_IN/OUTPUTS</li>
1841 <li> r600: Add NIR compiler options</li>
1842 <li> r600: Update state code to accept NIR shaders</li>
1843 <li> r600/sfn: Add a basic nir shader backend</li>
1844 <li> r600: enable NIR backend DEBUG flag for supported architectures</li>
1845 <li> r600/sfn: Add the VS in and FS out vectorization</li>
1846 <li> r600/sfn: Add the WaitAck instruction</li>
1847 <li> r600/sfn: add live range evaluation for the GPR</li>
1848 <li> r600/sfn: add register remapping</li>
1849 <li> r600/sfn: Add lowering arrays to scratch and according instructions</li>
1850 <li> r600/sfn: Add a load GDS result instruction</li>
1851 <li> r600/sfn: Add MemRingOut instructions</li>
1852 <li> r600/sfn: add emitVertex instructions</li>
1853 <li> r600/sfn: Add support for geometry shader</li>
1854 <li> r600/sfn: Add VS for TCS shader skeleton</li>
1855 <li> r600/sfn: Add compute shader skeleton</li>
1856 <li> r600/sfn: Add GDS instructions</li>
1857 <li> r600/sfn: Add lowering UBO access to r600 specific codes</li>
1858 <li> r600: Make sure LLVM is not used for DRAW</li>
1859 <li> r600/sfn: Add support for atomic instructions</li>
1860 <li> r600/sfn: Add support for SSBO load and store</li>
1861 <li> r600/sfn: Add .editorconfig file</li>
1862 <li> r600/sfn: Add some documentation</li>
1863 <li> r600/sfn: Avoid using dynamic_cast to identify type</li>
1864 <li> r600/sfn: Use static_cast when type is already known</li>
1865 <li> r600/sfn: Don&#x27;t try to catch exceptions, the driver doesn&#x27;t throw any</li>
1866 <li> gallium/tgsi_to_nir: Set nir_intrinsic_align_mul to 16 and offset to 0</li>
1867 <li> r600: Dump a few more variables when requested</li>
1868 <li> r600/sfn: Reduce array limit for scratch usage</li>
1869 <li> r600/sfn: Fix setting alignments when lowering UBOs</li>
1870 <li> r600/sfn: Implementing instructions blocks</li>
1871 <li> r600/nir: Pin interpolation results to channel</li>
1872 <li> r600/sfn: Fix null pointer deref in live range evalation</li>
1873 <li> r600/sfn: Handle b2b1 like it was a mov</li>
1874 <li> r600/sfn: Fix handling of GS inputs</li>
1875 <li> r600/sfn: Fix using the result of a fetch instruction in next fetch</li>
1876 <li> r600/sfn: Count only literals that are not inline to split instruction groups</li>
1877 <li> r600/sfn: use new temp register allocation when loading single value temporaries</li>
1878 <li> nir: Add r600 specific intrinsics for tesselation shader IO</li>
1879 <li> nir: Add umad24 and umul24 opcodes</li>
1880 <li> r600: Handle texcoord semantics in LDS index evaluation</li>
1881 <li> r600/sfn: simplify UBO lowering pass</li>
1882 <li> r600/sfn: Don&#x27;t emit inline constants in the r600 IR</li>
1883 <li> r600/sfn: Add LDS IO instructions to r600 IR</li>
1884 <li> r600/sfn: Add LDS instruction to assembly conversion</li>
1885 <li> r600/sfn: Add TF write instruction</li>
1886 <li> r600/sfn: Add IR instruction to fetch the TESS parameters</li>
1887 <li> r600/sfn: Handle umul24 and umad24</li>
1888 <li> r600/sfn: Emit some LDS instructions</li>
1889 <li> r600/sfn: Move emission of barrier from compute shader to shader base</li>
1890 <li> r600/sfn: Add methods to valuepool to get a vector of values</li>
1891 <li> r600/sfn: Move some shader base methods to the public interface</li>
1892 <li> r600/sfn: extract class to handle the VS export to different stages</li>
1893 <li> r600/sfn: derive the GS from the vertex stage for a common interface</li>
1894 <li> r600/sfn: Handle LDS output in VS</li>
1895 <li> r600/sfn: Move removing of unused variables</li>
1896 <li> r600/sfn: Add lowering passes for Tesselation IO</li>
1897 <li> r600/sfn: Add tesselation shaders</li>
1898 <li> r600: Enable tesselation for NIR</li>
1899 <li> r600: Fix nir compiler options, i.e. don&#x27;t lower IO to temps for TESS</li>
1900 <li> r600/sfn: Fix printing vertex fetch instruction flags</li>
1901 <li> r600: Fix duplicated subexpression in r600_asm.c</li>
1902 <p></p>
1903 <p>Greg V (3):</p>
1904 <li> amd/addrlib: fix build on non-x86 platforms</li>
1905 <li> r600: add missing &lt;array&gt; include</li>
1906 <li> svga: fix build on FreeBSD</li>
1907 <p></p>
1908 <p>H.J. Lu (2):</p>
1909 <li> x86_init_func_common: Add ENDBR at function entry</li>
1910 <li> x86: Add ENDBR at function entries</li>
1911 <p></p>
1912 <p>Hanno Böck (1):</p>
1913 <li> Properly check mmap return value</li>
1914 <p></p>
1915 <p>Hyunjun Ko (27):</p>
1916 <li> freedreno/ir3: fix printing half constant registers.</li>
1917 <li> freedreno/ir3: Add cat4 mediump opcodes</li>
1918 <li> freedreno/ir3: put the conversion back for half const to the right place.</li>
1919 <li> freedreno/ir3: Fold const only when the type is float</li>
1920 <li> freedreno/ir3: Add new ir3 pass to fold out fp16 conversions</li>
1921 <li> nir: Add optimization for doing removing f16/f32 conversions</li>
1922 <li> freedreno/ir3: handle half registers for arrays during register allocation.</li>
1923 <li> turnip: support indirect draw</li>
1924 <li> glsl: Handle fp16 unary operations when lowering matrix operations</li>
1925 <li> glsl/lower_instructions: Handle fp16 for MOD_TO_FLOOR</li>
1926 <li> turnip: Gather information for transform feedback</li>
1927 <li> turnip: Define structs for transform feedback</li>
1928 <li> turnip: Setup stream-output when linking program</li>
1929 <li> turnip: Implement stream-out emit and vkApis for transform feedback</li>
1930 <li> turnip: Implement an empty function vkCmdDrawIndirectByteCountEXT</li>
1931 <li> turnip: Enable VK_EXT_transform_feedback</li>
1932 <li> turnip: Add tu6_control struct.</li>
1933 <li> turnip: Fix wrong assignment of xfb output&#x27;s offset.</li>
1934 <li> turnip: Do gathering xfb info after nir_remove_dead_variables</li>
1935 <li> freedreno: Enable mediump lowering</li>
1936 <li> freedreno/ir3: enable nir_opt_loop_unroll on a6xx</li>
1937 <li> nir: fix wrong assignment to buffer in xfb_varyings_info</li>
1938 <li> turnip: make the struct slot_value of queries get 2 values</li>
1939 <li> turnip: Implement and enable VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT</li>
1940 <li> turnip : Fix wrong offset calculation for xfb buffer.</li>
1941 <li> turnip: Skip unused regs when setting up streamout buffers</li>
1942 <li> turnip: Fix crashes when geometry shader constants aren&#x27;t used</li>
1943 <p></p>
1944 <p>Iago Toral Quiroga (1):</p>
1945 <li> nir: add a bool bitsize lowering pass</li>
1946 <p></p>
1947 <p>Ian Romanick (62):</p>
1948 <li> intel/fs: Don&#x27;t count integer instructions as being possibly coissue</li>
1949 <li> nir: Mark fmin and fmax as commutative and associative</li>
1950 <li> mesa/draw: Make sure all the unused fields are initialized to zero</li>
1951 <li> nir/search: Use larger type to hold linearized index</li>
1952 <li> intel/fs: Correctly handle multiply of fsign with a source modifier</li>
1953 <li> intel/fs: Do cmod prop again after scheduling</li>
1954 <li> intel/fs: Allow NOT instructions in conditional discard optimization</li>
1955 <li> intel/fs: Fix NULL destinations on 3-source instructions again after late DCE</li>
1956 <li> nir/algebraic: Simplify logic to detect sign of an integer</li>
1957 <li> nir/algebraic: optimize ior(ine(a, 0), ine(b, 0)) to ine(ior(a, b), 0)</li>
1958 <li> nir/algebraic: Generalize some and-of-shift-right patterns [v2]</li>
1959 <li> nir/algebraic: Constant reassociation for bitwise operations too</li>
1960 <li> nir/algebraic: Simplify a contradiction that can occur in __flt64_nonnan</li>
1961 <li> soft-fp64/b2f: Reimplement using bitwise logic ops</li>
1962 <li> soft-fp64: Don&#x27;t open-code umulExtended</li>
1963 <li> soft-fp64: Simplify __countLeadingZeros32 function</li>
1964 <li> soft-fp64: Pick a single idiom for treating sign value as a Boolean</li>
1965 <li> soft-fp64: Store sign value as 0 or 0x80000000</li>
1966 <li> soft-fp64/fneg: Don&#x27;t treat NaN specially</li>
1967 <li> soft-fp64/flt: Perform checks in a different order</li>
1968 <li> soft-fp64/fsat: Correctly handle NaN</li>
1969 <li> soft-fp64/fsat: Micro-optimize x &lt; 0 test</li>
1970 <li> soft-fp64/fsat: Micro-optimize x &gt;= 1 test</li>
1971 <li> soft-fp64: Relax the way NaN is propagated</li>
1972 <li> soft-fp64/ffloor: Simplify the &gt;= 0 comparison</li>
1973 <li> soft-fp64: Optimize __fmin64 and __fmax64 by using different evaluation order [v2]</li>
1974 <li> soft-fp64/fadd: Instead of tracking &quot;b &lt; a&quot;, track sign of the difference</li>
1975 <li> soft-fp64/fadd: Massively split the live range of zFrac0 and zFrac1</li>
1976 <li> soft-fp64/fadd: Pick zero or non-zero result based on subtraction result</li>
1977 <li> soft-fp64/fadd: Just let the subtraction happen when the result will be zero</li>
1978 <li> soft-fp64/fadd: Delete a redundant condition check</li>
1979 <li> soft-fp64/fadd: Reformat after previous commit</li>
1980 <li> soft-fp64/fadd: Combine an if-statement into the preceeding else-clause</li>
1981 <li> soft-fp64/fadd: Rename aFrac and bFrac variables</li>
1982 <li> soft-fp64/fadd: Use absolute value of expDiff</li>
1983 <li> soft-fp64/fadd: Move common code out of both branches of an if-statement</li>
1984 <li> soft-fp64/fadd: Common code optimization for differing sign case</li>
1985 <li> soft-fp64: Split a block that was missing a cast on a comparison</li>
1986 <li> intel/vec4: Allow late copy propagation on vec4</li>
1987 <li> nir/algebraic: Change the default cursor location when replacing a unary op</li>
1988 <li> nir/algebraic: Distribute source modifiers into instructions</li>
1989 <li> nir/algebraic: Use value range analysis to convert fmax to fsat</li>
1990 <li> nir/algebraic: Remove a redundant fabs pattern</li>
1991 <li> tnl: Don&#x27;t dereference NULL obj pointer in bind_indices</li>
1992 <li> tnl: Don&#x27;t dereference NULL obj pointer in replay_init</li>
1993 <li> tnl: Don&#x27;t dereference NULL obj pointer in t_rebase_prims</li>
1994 <li> tnl: Silence unused parameter &#x27;attrib&#x27; warning in convert_half_to_float</li>
1995 <li> tnl: Silence unused parameter warnings in _tnl_draw_prims</li>
1996 <li> tnl: Silence unused parameter warnings in dump_draw_info</li>
1997 <li> tnl: Silence unused parameter warnings in _tnl_split_inplace</li>
1998 <li> tnl: Code formatting in t_draw.c</li>
1999 <li> tnl: Code formatting in t_rebase.c</li>
2000 <li> intel/compiler: Silence unused parameter warnings in vec4_tcs_visitor</li>
2001 <li> intel/compiler: Silence unused parameter warning in fs_live_variables::setup_one_read</li>
2002 <li> intel/compiler: Silence unused parameter warning in update_inst_scoreboard</li>
2003 <li> intel/compiler: Only GE and L modifiers are commutative for SEL</li>
2004 <li> intel/compiler: CSEL can do saturate</li>
2005 <li> intel/compiler: Fixup operands in fs_builder::emit() that takes array</li>
2006 <li> nir/algebraic: Detect some kinds of malformed variable names</li>
2007 <li> nir/algebraic: Require operands to iand be 32-bit</li>
2008 <li> nir/algebraic: Optimize ushr of pack_half, not ishr</li>
2009 <li> anv/tests: Don&#x27;t rely on assert or changing NDEBUG in tests</li>
2010 <p></p>
2011 <p>Icecream95 (16):</p>
2012 <li> panfrost: Fix non-debug builds</li>
2013 <li> panfrost: Inline panfrost_get_default_swizzle</li>
2014 <li> panfrost: LogicOp support</li>
2015 <li> nir: Allow nir_format conversions to work on 32-bit values</li>
2016 <li> panfrost: LogicOp fixes and non 8-bit format support</li>
2017 <li> mesa/format_utils: Add a fast-path for RGBA to BGRA</li>
2018 <li> panfrost: Extend the tiled store fast-path to loads</li>
2019 <li> panfrost: Mark 64-bit formats as unsupported</li>
2020 <li> panfrost: Add support for B5G5R5X1</li>
2021 <li> st/mesa: Fall back on R3G3B2 for R3_G3_B2</li>
2022 <li> panfrost: Add support for R3G3B2</li>
2023 <li> panfrost: Correctly identify format 0x4c</li>
2024 <li> pan/midgard: Fix a divide by zero in emit_alu_bundle</li>
2025 <li> panfrost: Fix GL_EXT_vertex_array_bgra</li>
2026 <li> panfrost: Enable PIPE_CAP_VERTEX_COLOR_UNCLAMPED</li>
2027 <li> panfrost: Fix background showing when using discard</li>
2028 <p></p>
2029 <p>Icenowy Zheng (3):</p>
2030 <li> lima: remove its hash table entry when invalidating a resource</li>
2031 <li> lima: expose fragment shader derivatives capability</li>
2032 <li> lima: implement zsbuf reload</li>
2033 <p></p>
2034 <p>Ilia Mirkin (24):</p>
2035 <li> nv50: report max lod bias of 15.0</li>
2036 <li> gitlab-ci: disable panfrost runners</li>
2037 <li> mesa: fix _mesa_draw_nonzero_divisor_bits to return nonzero divisors</li>
2038 <li> nv50,nvc0: add newly added PIPE_CAP&#x27;s to list</li>
2039 <li> st/mesa: allow TXB2/TXL2 to work with cube array shadow textures</li>
2040 <li> nvc0: enable EXT_texture_shadow_lod</li>
2041 <li> st/vdpau: avoid asserting on new VDP_YCBCR_* formats</li>
2042 <li> st/vdpau: make query test for 2D support</li>
2043 <li> nv50: don&#x27;t try to upload MSAA settings for BUFFER textures</li>
2044 <li> gallium: add viewport swizzling state and cap</li>
2045 <li> mesa: add GL_NV_viewport_swizzle support</li>
2046 <li> st/mesa: add NV_viewport_swizzle support</li>
2047 <li> nvc0: add NV_viewport_swizzle support for GM200+</li>
2048 <li> compiler: add VARYING_SLOT_VIEWPORT_MASK</li>
2049 <li> glsl: add NV_viewport_array2 support</li>
2050 <li> mesa: add NV_viewport_array2 enable, attach to glsl</li>
2051 <li> gallium: add TGSI_SEMANTIC_VIEWPORT_MASK</li>
2053 <li> gallium: add PIPE_CAP_VIEWPORT_MASK</li>
2054 <li> st/mesa: add support for GL_NV_viewport_array2</li>
2055 <li> nvc0: enable GL_NV_viewport_array2</li>
2056 <li> nv50,nvc0: update with latest caps</li>
2057 <li> docs: update for recently-added nvc0 features</li>
2058 <li> mesa: add interaction between compute derivatives and variable local sizes</li>
2059 <p></p>
2060 <p>Indrajit Kumar Das (4):</p>
2061 <li> glapi/copyimage: Implement CopyImageSubDataNV</li>
2062 <li> gallium: prepare framework for supporting AlphaToCoverageDitherControlNV</li>
2063 <li> mesa: add support for AlphaToCoverageDitherControlNV</li>
2064 <li> radeonsi: enable support for AlphaToCoverageDitherControlNV</li>
2065 <p></p>
2066 <p>Ivan Molodetskikh (1):</p>
2067 <li> egl: allow INVALID format for linux_dmabuf</li>
2068 <p></p>
2069 <p>James Xiong (2):</p>
2070 <li> iris: handle the failure of converting unsupported yuv formats to isl</li>
2071 <li> gallium: let the pipe drivers decide the supported modifiers</li>
2072 <p></p>
2073 <p>James Zhu (1):</p>
2074 <li> radeonsi: fix Segmentation fault during vaapi enc test</li>
2075 <p></p>
2076 <p>Jan Palus (1):</p>
2077 <li> targets/opencl: fix build against LLVM&gt;=10 with Polly support</li>
2078 <p></p>
2079 <p>Jan Vesely (2):</p>
2080 <li> clover: Use explicit conversion from llvm::StringRef to std::string</li>
2081 <li> clover: Check if the detected clang libraries are usable</li>
2082 <p></p>
2083 <p>Jan Zielinski (8):</p>
2084 <li> gallium/swr: Fix various asserts and security issues</li>
2085 <li> gallium/swr: fix corruptions in Unigine Heaven</li>
2086 <li> gallium/swr: use ElementCount type arguments for getSplat()</li>
2087 <li> gallium/gallivm: Remove workaround disabling AVX code for newer CPUs</li>
2088 <li> gallium/gallivm: fix compilation issues with llvm 11</li>
2089 <li> gallium/gallivm: remove unused header include for newer LLVM</li>
2090 <li> gallium/swr: Fix LLVM 11 compilation issues</li>
2091 <li> gallium/swr: Fix crashes and failures in vertex fetch</li>
2092 <p></p>
2093 <p>Jason Ekstrand (202):</p>
2094 <li> genxml: Add a new 3DSTATE_SF field on gen12</li>
2095 <li> anv,iris: Set 3DSTATE_SF::DerefBlockSize to per-poly on Gen12+</li>
2096 <li> intel/genxml: Drop SLMEnable from L3CNTLREG on Gen11</li>
2097 <li> iris: Set SLMEnable based on the L3$ config</li>
2098 <li> iris: Store the L3$ configs in the screen</li>
2099 <li> iris: Use the URB size from the L3$ config</li>
2100 <li> i965: Re-emit l3 state before BLORP executes</li>
2101 <li> intel: Take a gen_l3_config in gen_get_urb_config</li>
2102 <li> intel/blorp: Always emit URB config on Gen7+</li>
2103 <li> iris: Consolodate URB emit</li>
2104 <li> anv: Emit URB setup earlier</li>
2105 <li> intel/common: Return the block size from get_urb_config</li>
2106 <li> intel/blorp: Plumb deref block size through to 3DSTATE_SF</li>
2107 <li> anv: Plumb deref block size through to 3DSTATE_SF</li>
2108 <li> iris: Plumb deref block size through to 3DSTATE_SF</li>
2109 <li> anv: Always fill out the AUX table even if CCS is disabled</li>
2110 <li> intel/eu/validate: Don&#x27;t validate regions of sends</li>
2111 <li> intel/disasm: SEND has two sources on Gen12+</li>
2112 <li> intel/tools: Handle strides better when dumping buffers</li>
2113 <li> intel/fs: Write the address register with NoMask for MOV_INDIRECT</li>
2114 <li> anv/blorp: Use the correct size for vkCmdCopyBufferToImage</li>
2115 <li> anv: No-op submit and wait calls when no_hw is set</li>
2116 <li> anv: Reject modifiers on depth/stencil formats</li>
2117 <li> vulkan: Update the XML and headers to 1.2.133</li>
2118 <li> nir: Fix the nir_builder include path for nir_builtin_builder</li>
2119 <li> nir/builder: Return an integer from nir_get_texture_size</li>
2120 <li> intel/isl: Add isl_aux_info.c to Makefile.sources</li>
2121 <li> anv: Always enable the data cache</li>
2122 <li> nir: Drop nir_tex_instr::texture_array_size</li>
2123 <li> anv: Use the PIPE_CONTROL instead of bits for the CS stall W/A</li>
2124 <li> anv: Use a proper end-of-pipe sync instead of just CS stall</li>
2125 <li> anv: Do end-of-pipe sync around MCS/CCS ops instead of CS stall</li>
2126 <li> nir: Flush to zero with OOB low exponents in ldexp</li>
2127 <li> isl: Set 3DSTATE_DEPTH_BUFFER::Depth correctly for 3D surfaces</li>
2128 <li> iris: Allow HiZ on blit sources</li>
2129 <li> blorp: Write to depth/stencil images as depth/stencil when possible</li>
2130 <li> anv: Enable HiZ for VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</li>
2131 <li> iris: Enable CCS for copies from HiZ+CCS depth buffers</li>
2132 <li> iris: Enable HiZ and stencil CCS for blorp blit destinations</li>
2133 <li> iris: Don&#x27;t skip fast depth clears if the color changed</li>
2134 <li> anv: Parse VkPhysicalDeviceFeatures2 in CreateDevice</li>
2135 <li> anv: Mark max_push_range UNUSED and simplify the code</li>
2136 <li> anv: Pass buffer addresses into emit_push_constant*</li>
2137 <li> anv: Delete some pointless break statements</li>
2138 <li> anv: Align UBO sizes to 32B</li>
2139 <li> anv: Add an align_down_u32 helper</li>
2140 <li> anv: Bounds-check pushed UBOs when robustBufferAccess = true</li>
2141 <li> vulkan/wsi: Don&#x27;t leak the FD when GetImageDrmFormatModifierProperties fails</li>
2142 <li> vulkan/wsi: Return an error if dup() fails</li>
2143 <li> intel/isl: Clean up some aux surface logic</li>
2144 <li> intel/isl: Add a separate ISL_AUX_USAGE_HIZ_CCS_WT</li>
2145 <li> intel/blorp: Allow HIZ_CCS_WT in copy sources</li>
2146 <li> iris: Use ISL_AUX_USAGE_HIZ_CCS_WT to indicate write-through HiZ</li>
2147 <li> intel/isl: Require ISL_AUX_USAGE_HIZ_CCS_WT for HZ+CCS WT mode</li>
2148 <li> intel/isl: Add a separate ISL_AUX_USAGE_STC_CCS</li>
2149 <li> intel/blorp: Allow STC_CCS in blit sources</li>
2150 <li> iris: Use ISL_AUX_USAGE_STC_CCS for stencil CCS</li>
2151 <li> intel: Require ISL_AUX_USAGE_STC_CCS for stencil CCS</li>
2152 <li> intel/isl: Set DepthStencilResource based on aux usage</li>
2153 <li> anv: Dump push ranges via VK_KHR_pipeline_executable_properties</li>
2154 <li> anv: Fix the comparison in an assert</li>
2155 <li> anv: Push UBO ranges relative to the start of the binding</li>
2156 <li> anv: Do an end-of-pipe sync before updating AUX table entries</li>
2157 <li> intel/isl: Don&#x27;t align linear images to 64K on Gen12+</li>
2158 <li> intel/blorp: Add support for swizzling fast-clear colors</li>
2159 <li> anv: Swizzle fast-clear values</li>
2160 <li> intel/iris: Always initialize CCS to 0</li>
2161 <li> anv: Only add END_OF_PIPE_SYNC if we actually have AUX_INVAL</li>
2162 <li> util/sparse_array: Finish the sparse_array in the tests</li>
2163 <li> util/sparse_array: Add a node_size_log2 temporary</li>
2164 <li> meson,ci: Disable sparse_array tests on windows</li>
2165 <li> util/sparse_array: Stash the node level in the node pointer</li>
2166 <li> anv: Stop fetching the timestamp frequency ourselves</li>
2167 <li> intel/dump_gpu: Add an ensure_device_info helper</li>
2168 <li> intel/dump_gpu: Handle a bunch of getparam in the no-HW case</li>
2169 <li> intel/nir: Run copy-prop and DCE after lower_bool_to_int32</li>
2170 <li> nir: Add b2b opcodes</li>
2171 <li> aco: Implement b2b32 and b2b1</li>
2172 <li> nir: Use b2b opcodes for shared and constant memory</li>
2173 <li> nir: Insert b2b1s around booleans in nir_lower_to</li>
2174 <li> anv: Set alignments on descriptor and constant loads</li>
2175 <li> nir: Validate that memory load/store ops work on whole bytes</li>
2176 <li> nir: Set UBO alignments in lower_uniforms_to_ubo</li>
2177 <li> nir/opt_loop_unroll: Fix has_nested_loop handling</li>
2178 <li> nir/lower_int64: Lower 8 and 16-bit downcasts with nir_lower_mov64</li>
2179 <li> nir/algebraic: Add downcast-of-pack opts</li>
2180 <li> nir: Add a nir_op_is_vec helper</li>
2181 <li> nir: Copy propagate through vec8s and vec16s</li>
2182 <li> nir: Handle vec8/16 in bool_to_bitsize</li>
2183 <li> nir: Handle vec8/16 in gather_ssa_types</li>
2184 <li> nir: Handle vec8/16 in lower_phis_to_scalar</li>
2185 <li> nir: Handle vec8/16 in lower_regs_to_ssa</li>
2186 <li> nir: Handle vec8/16 in opt_split_alu_of_phi</li>
2187 <li> nir: Treat vec8/16 as select in opt_peephole_select</li>
2188 <li> nir: Handle vec8/16 in opt_undef_vecN</li>
2189 <li> nir: Handle vec8/16 in nir_shrink_array_vars</li>
2190 <li> anv: Account for the header in anv_state_stream_alloc</li>
2191 <li> anv/allocator: Use util_dynarray for blocks in anv_state_stream</li>
2192 <li> spirv: Implement OpCopyObject and OpCopyLogical as blind copies</li>
2193 <li> Revert &quot;spirv: Implement OpCopyObject and OpCopyLogical as blind copies&quot;</li>
2194 <li> anv/image: Use align_u64 for image offsets</li>
2195 <li> nir/from_ssa: Only chain movs when a src is also a dest</li>
2196 <li> intel/fs: Choose memory message type based on bit size</li>
2197 <li> anv: Improve brw_nir_lower_mem_access_bit_sizes</li>
2198 <li> iris: Set alignments on cbuf0 and constant reads</li>
2199 <li> intel/nir: Lower memory access bit sizes later</li>
2200 <li> nir/load_store_vectorize: Fix shared atomic info</li>
2201 <li> nir/load_store_vectorize: Use nir_iadd_imm for offsets</li>
2202 <li> nir/load_store_vectorize: Add support for nir_var_mem_global</li>
2203 <li> intel/nir: Enable load/store vectorization</li>
2204 <li> spirv: Add a vtn_block() helper</li>
2205 <li> spirv: Add cast and loop helpers for vtn_cf_node</li>
2206 <li> spirv: Make vtn_case a vtn_cf_node</li>
2207 <li> spirv: Make vtn_function a vtn_cf_node</li>
2208 <li> spirv: Add a parent field to vtn_cf_node</li>
2209 <li> spirv: Rewrite CFG construction</li>
2210 <li> Revert &quot;spirv: Rewrite CFG construction&quot;</li>
2211 <li> nir: Assert memory loads are aligned</li>
2212 <li> anv: Advertise SEND count through VK_EXT_pipeline_executable_properties</li>
2213 <li> anv: Fix UBO range detection in anv_nir_compute_push_layout</li>
2214 <li> nir: Add an alignment to nir_intrinsic_load_constant</li>
2215 <li> nir: Add some sanity assertions in opt_large_constants</li>
2216 <li> intel: Add _const versions of prog_data cast helpers</li>
2217 <li> anv: Report correct SLM size</li>
2218 <li> intel/batch_decoder: Stop printing to stdout</li>
2219 <li> intel/cfg: Add first/last_block helpers</li>
2220 <li> anv: Emit pushed UBO bounds checking code in the back-end compiler</li>
2221 <li> intel/blorp: Delete an unused enum</li>
2222 <li> spirv: Handle OOB vector extract operations</li>
2223 <li> spirv,nir: Add a better vector_insert</li>
2224 <li> spirv: Error if OpCompositeInsert/Extract has OOB indices</li>
2225 <li> nir/builder: Handle any bit-size selector in nir_extract</li>
2226 <li> spirv: Call nir_builder directly for vector_extract</li>
2227 <li> spirv,nir: Move the SPIR-V vector insert code to NIR</li>
2228 <li> anv: Move vb_emit setup closer to where it&#x27;s used in flush_state</li>
2229 <li> anv: Apply any needed PIPE_CONTROLs before emitting state</li>
2230 <li> nir/dominance: Better handle unreachable blocks</li>
2231 <li> nir/gcm: Loop over blocks in pin_instructions</li>
2232 <li> nir/gcm: Use an array for storing the early block</li>
2233 <li> nir/gcm: Move block choosing into a helper function</li>
2234 <li> nir/gcm: Add a real concept of &quot;progress&quot;</li>
2235 <li> nir/gcm: Delete dead instructions</li>
2236 <li> nir/gcm: Prefer the instruction&#x27;s original block</li>
2237 <li> intel/fs: Rename block to scan_block in can_coalesce_vars</li>
2238 <li> intel/fs: Coalesce when the src live range is contained in the dst</li>
2239 <li> glsl: Hard-code noise to zero in builtin_functions.cpp</li>
2240 <li> nir: Delete the fnoise opcodes</li>
2241 <li> meta,i965: Rip GL_EXT_texture_multisample_blit_scaled support out of meta</li>
2242 <li> spirv: Allow constants and NULLs in SpvOpConvertUToPtr</li>
2243 <li> anv: Properly handle all sizes of specialization constants</li>
2244 <li> radv: Properly handle all sizes of specialization constants</li>
2245 <li> turnip: Properly handle all sizes of specialization constants</li>
2246 <li> spirv: Use nir_const_value for spec constants</li>
2247 <li> nir/opt_deref: Remove certain sampler type casts</li>
2248 <li> spirv: Fix passing combined image/samplers through function calls</li>
2249 <li> anv: Drop an assert</li>
2250 <li> nir/lower_subgroups: Mask off unused bits in ballot ops</li>
2251 <li> anv: Add a vk_image_layout_to_usage_flags helper</li>
2252 <li> anv: Move vk_image_layout_is_read_only higher</li>
2253 <li> anv: Be more conservative about image view usage</li>
2254 <li> anv: Rework anv_layout_to_aux_state</li>
2255 <li> anv/blorp: Do less hard-coding of aux usages</li>
2256 <li> anv: Generalize some aux usage checks</li>
2257 <li> intel/blorp: Allow more HiZ usages in hiz_clear_depth_stencil</li>
2258 <li> anv: Simplify a case in layout_to_aux_usage</li>
2259 <li> anv/cmd_buffer: Move anv_image_init_aux_tt higher</li>
2260 <li> intel/isl: Delete a misleading comment</li>
2261 <li> intel/isl: Refactor isl_surf_get_ccs_surf</li>
2262 <li> anv: Add support for HiZ+CCS</li>
2263 <li> spirv: Rewrite CFG construction</li>
2264 <li> intel/devinfo: Compute the correct L3$ size for Gen12</li>
2265 <li> anv: Expose CS workgroup sizes based on a maximum of 64 threads</li>
2266 <li> anv: Return an error if allocating attachment memory fails</li>
2267 <li> anv: Add TRANSFER_SRC to pass usage not subpass usage</li>
2268 <li> anv: Stop filling out the clear color in compute_aux_usage</li>
2269 <li> anv: Assert surface states are valid</li>
2270 <li> anv: Use ANV_FROM_HANDLE for pInheritanceInfo fields</li>
2271 <li> anv: Mark images written in end_subpass</li>
2272 <li> anv: Split command buffer attachment setup in three</li>
2273 <li> anv: Allocate surface states per-subpass</li>
2274 <li> intel: Move swizzle_color_value from blorp to ISL</li>
2275 <li> anv: Disallow fast-clears which require format-reinterpretation</li>
2276 <li> anv: Stop allowing non-zero clear colors in input attachments</li>
2277 <li> anv: Refactor cmd_buffer_setup_attachments</li>
2278 <li> anv: Rework depth_stencil_attachment_compute_aux_usage</li>
2279 <li> anv: Split color_attachment_compute_aux_usage in two</li>
2280 <li> anv: Use anv_layout_to_aux_usage for color during render passes</li>
2281 <li> anv: Allow all clear colors for texturing on Gen11+</li>
2282 <li> vulkan: Update Vulkan XML and headers to 1.2.139</li>
2283 <li> nir/copy_prop_vars: Handle volatile better</li>
2284 <li> nir/copy_prop_vars: Report progress when deleting self-copies</li>
2285 <li> nir/dead_write_vars: Handle volatile</li>
2286 <li> nir/combine_stores: Handle volatile</li>
2287 <li> anv: Handle NULL descriptors</li>
2288 <li> anv: Handle null vertex buffer bindings</li>
2289 <li> anv: Claim VK_EXT_robustness2 support</li>
2290 <li> intel/fs: Don&#x27;t delete coalesced MOVs if they have a cmod</li>
2291 <li> vulkan: Allow destroying NULL debug report callbacks</li>
2292 <li> anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+</li>
2293 <li> nir/lower_double_ops: Rework the if (progress) tree</li>
2294 <li> nir/opt_deref: Report progress if we remove a deref</li>
2295 <li> nir/copy_prop_vars: Record progress in more places</li>
2296 <p></p>
2297 <p>Jesse Natalie (3):</p>
2298 <li> wgl: add official gldrv.h header-file</li>
2299 <li> wgl: use gldrv.h instead of stw_icd.h</li>
2300 <li> util/ralloc: fix ralloc alignment on Win64</li>
2301 <p></p>
2302 <p>John Stultz (7):</p>
2303 <li> freedreno: Add ir3_cf.c and ir3_delay.c to Makefile.sources</li>
2304 <li> panfrost: Move pan_afbc.c file to the the right Makefile.source file</li>
2305 <li> gallium: hud_context: Fix scalar initializer warning.</li>
2306 <li> Tweak MESA_ENABLE_LLVM checks</li>
2307 <li> etnaviv: Avoid shift overflow</li>
2308 <li> vc4_bufmgr: Remove duplicative VC definition</li>
2309 <li> r600: Fix build error in sfn_nir_lower_fs_out_to_vector.cpp</li>
2310 <p></p>
2311 <p>Jon Turney (1):</p>
2312 <li> Fix util/process test on Cygwin</li>
2313 <p></p>
2314 <p>Jonathan Marek (79):</p>
2315 <li> freedreno/a6xx: use single format enum</li>
2316 <li> freedreno/a6xx: fix Z24_UNORM_S8_UINT_AS_R8G8B8A8</li>
2317 <li> freedreno: name sysmem color/depth flush events</li>
2318 <li> freedreno/a6xx: document some unknown bits</li>
2319 <li> turnip: add option to force use of hw binning</li>
2320 <li> turnip: fix COND_EXEC reserved size in tu_query</li>
2321 <li> turnip: add tu_device pointer to tu_cs</li>
2322 <li> turnip: automatically reserve cmdstream space in emit_pkt4/emit_pkt7</li>
2323 <li> turnip: remove marker seqno</li>
2324 <li> turnip: make cond_exec helper easier to use</li>
2325 <li> turnip: move tile_load_ib/sysmem_clear_ib into draw_cs</li>
2326 <li> hud: add GALLIUM_HUD_SCALE</li>
2327 <li> turnip: enable sampleRateShading feature</li>
2328 <li> turnip: enable fullDrawIndexUint32/independentBlend/dualSrcBlend/logicOp</li>
2329 <li> etnaviv: disable INT_FILTER for ASTC</li>
2330 <li> util/format: add missing BC4/BC5 vulkan formats</li>
2331 <li> turnip: rework format table to support r5g5b5a1_unorm/b5g5r5a1_unorm</li>
2332 <li> turnip: add r5g5b5a1_unorm/b5g5r5a1_unorm formats</li>
2333 <li> turnip: check the right alignment requirement on shader iova</li>
2334 <li> turnip: move some constant state to tu6_init_hw</li>
2335 <li> turnip: remove unecessary MRT_CONTROL fill</li>
2336 <li> turnip: minify image_view extent</li>
2337 <li> turnip: fix hw binning + render_area offset interaction</li>
2338 <li> turnip: fix srgb MRT</li>
2339 <li> turnip: don&#x27;t hardcode gmem base for input attachment</li>
2340 <li> turnip: remove unnecessary fb size check</li>
2341 <li> turnip: fall back to sysmem when attachments don&#x27;t fit into gmem</li>
2342 <li> turnip: increase array sizes in tu_descriptor_map</li>
2343 <li> turnip: improve binning pipe layout config</li>
2344 <li> turnip: fix tile-&gt;slot calculation</li>
2345 <li> etnaviv: nir: add compile_check_limits</li>
2346 <li> freedreno/registers: more GRAS_CL_CNTL bits, Z_CLAMP</li>
2347 <li> turnip: fix znear clipping</li>
2348 <li> turnip: implement depth clamp</li>
2349 <li> turnip: implement timestamp query</li>
2350 <li> turnip: fix compute shaders crashing after geometry shader change</li>
2351 <li> turnip: improve vertex input handling</li>
2352 <li> turnip: use buffer size instead of bo size for VFD_FETCH_SIZE</li>
2353 <li> freedreno/registers: add RB_CCU_CNTL bitfields</li>
2354 <li> freedreno/a6xx: set bypass RB_CCU_CNTL value for blitter</li>
2355 <li> turnip: RB_CCU_CNTL fixes</li>
2356 <li> turnip: split up gmem/tile alignment</li>
2357 <li> turnip: fix nir validate failure from push constant lowering</li>
2358 <li> turnip: disable 8x msaa</li>
2359 <li> turnip: save attachment samples in renderpass state</li>
2360 <li> turnip: use dirty bits for dynamic viewport/scissor state</li>
2361 <li> turnip: rework format helpers</li>
2362 <li> turnip: add vk_format_is_snorm/is_float</li>
2363 <li> turnip: new clear/blit implementation with shader path fallback</li>
2364 <li> freedreno/computerator: support nop prefix</li>
2365 <li> freedreno/computerator: support bindless sampler instructions</li>
2366 <li> freedreno/ir3: fix emit_tex_info split_dest</li>
2367 <li> freedreno/ir3: don&#x27;t overwrite wrmask in ir3_SAM</li>
2368 <li> turnip: compute render_components/srgb_cntl at renderpass creation time</li>
2369 <li> turnip: don&#x27;t limit framebuffer size to image size</li>
2370 <li> turnip: image_view rework</li>
2371 <li> nir: add common convert_ycbcr for vulkan csc</li>
2372 <li> nir: convert_ycbcr: preserve alpha channel</li>
2373 <li> anv: use common nir_convert_ycbcr</li>
2374 <li> radv: use common nir_convert_ycbcr</li>
2375 <li> turnip: fix GMEM resolve in CmdNextSubpass</li>
2376 <li> turnip: disable depth test for S8_UINT attachment</li>
2377 <li> turnip: improve GMEM load/store logic</li>
2378 <li> turnip: enable VK_FORMAT_S8_UINT as stencil format</li>
2379 <li> turnip: set shader key msaa field</li>
2380 <li> turnip: implement VK_EXT_sample_locations</li>
2381 <li> turnip: implement VK_EXT_filter_cubic</li>
2382 <li> turnip: enable cube arrays</li>
2383 <li> turnip: implement VK_EXT_sampler_filter_minmax</li>
2384 <li> turnip: divide cube map depth by 6</li>
2385 <li> freedreno/ir3: fix 16-bit ssbo access</li>
2386 <li> freedreno/ir3: set even bit for f2f16_rtne</li>
2387 <li> freedreno/ir3: fix incorrect conversion folding</li>
2388 <li> turnip: remove unused RB_UNKNOWN_8E04_blit</li>
2389 <li> turnip: use RESOLVE_TS event</li>
2390 <li> turnip: add adreno 650</li>
2391 <li> nir: add pack_32_2x16_split/unpack_32_2x16_split lowering</li>
2392 <li> freedreno/ir3: run nir_lower_pack</li>
2393 <li> turnip: fix wrong substream size in parse_multisample_and_color_blend</li>
2394 <p></p>
2395 <p>Jordan Justen (6):</p>
2396 <li> intel/compiler: Restrict cs_threads to 64</li>
2397 <li> intel: Update TGL PCI strings</li>
2398 <li> intel: Add TGL PCI ID</li>
2399 <li> intel/dev: Split .num_subslices out of GEN12_FEATURES macro</li>
2400 <li> intel/dev: Add device info for RKL</li>
2401 <li> docs/relnotes/new_features.txt: Add RKL to 20.1 release notes</li>
2402 <p></p>
2403 <p>Jose Maria Casanova Crespo (5):</p>
2404 <li> broadcom: Fix implicit declaration of ffs for Android build</li>
2405 <li> v3d: Sync on last CS when non-compute stage uses resource written by CS</li>
2406 <li> v3d: Primitive Counts Feedback needs an extra 32-bit padding.</li>
2407 <li> v3d: Fix swizzle in DXT3 and DXT5 formats</li>
2408 <li> v3d: Include supported DXT formats to enable s3tc/dxt extensions</li>
2409 <p></p>
2410 <p>Joshua Ashton (3):</p>
2411 <li> radv: Use TRUNC_COORD on samplers</li>
2412 <li> radv: Pass logical device to si_emit_graphics</li>
2413 <li> radeonsi: Use TRUNC_COORD on samplers</li>
2414 <p></p>
2415 <p>José Fonseca (4):</p>
2416 <li> meson: Avoid duplicate symbols.</li>
2417 <li> scons: Prune out unnecessary targets.</li>
2418 <li> gitlab-ci: Prune all SCons jobs except scons-win64, and allows failures.</li>
2419 <li> appveyor: Remove Meson job.</li>
2420 <p></p>
2421 <p>Juan A. Suarez Romero (6):</p>
2422 <li> nir/lower_double_ops: add note for lowering mod</li>
2423 <li> nir/lower_double_ops: relax lower mod()</li>
2424 <li> nir/algebraic: coalesce fmod lowering</li>
2425 <li> anv: use urb_setup_attribs in SBE</li>
2426 <li> intel/compiler: store the FS inputs in WM prog data</li>
2427 <li> anv/pipeline: allow more than 16 FS inputs</li>
2428 <p></p>
2429 <p>Karol Herbst (18):</p>
2430 <li> clover: add trivial clCreateCommandQueueWithProperties implementation</li>
2431 <li> nir/lower_ssbo: handle atomics</li>
2432 <li> gallium: make handles of set_global_binding 64 bit</li>
2433 <li> Revert &quot;gallium: make handles of set_global_binding 64 bit&quot;</li>
2434 <li> nv50, nvc0: fix must_check warning of util_dynarray_resize_bytes</li>
2435 <li> clover: fix build with single library clang build</li>
2436 <li> gallium: add PIPE_CAP_SYSTEM_SVM</li>
2437 <li> clover: add stubs for SVM</li>
2438 <li> clover: implement CL_DEVICE_SVM_CAPABILITIES</li>
2439 <li> clover: implement clSetKernelArgSVMPointer</li>
2440 <li> clover: implement SVM functions for devices with fine grained system SVM support</li>
2441 <li> clover: implement cl_arm_shared_virtual_memory</li>
2442 <li> clover: expose cl_arm_shared_virtual_memory for devices with SVM support</li>
2443 <li> nvc0: enable ASTC and ETC on GM20B</li>
2444 <li> mesa: fix enum value of VIEWPORT_SWIZZLE_POSITIVE_W_NV</li>
2445 <li> gallium: initialize viewport swizzle in cso_set_viewport_dims</li>
2446 <li> Revert &quot;nvc0: fix line width on GM20x+&quot;</li>
2447 <li> st/mesa: properly guard fallback_copy_texsubimage aginst failed maps</li>
2448 <p></p>
2449 <p>Kenneth Graunke (14):</p>
2450 <li> intel/genxml: Drop &quot;reserved&quot; enum</li>
2451 <li> isl: Fix the android build.</li>
2452 <li> iris: Dump frame markers with INTEL_DEBUG=submit</li>
2453 <li> iris: Trim &quot;../../src/gallium/drivers/iris/&quot; out of debug dump filenames</li>
2454 <li> iris: Make mocs an inline helper in iris_resource.h</li>
2455 <li> iris: Fix BLORP vertex buffers to respect ISL MOCS settings</li>
2456 <li> iris: Set MOCS for constant packets on Gen12+</li>
2457 <li> intel/compiler: Drop nir_lower_to_source_mods() and related handling.</li>
2458 <li> intel/compiler: Put back saturate on [iu]add_sat opcodes</li>
2459 <li> intel/compiler: Don&#x27;t copy prop source mods into PICK_HIGH_32BIT</li>
2460 <li> intel/compiler: Delete abs/neg handling in fsign code</li>
2461 <li> intel/compiler: Don&#x27;t create 64-bit src1 immediates in opt_peephole_sel</li>
2462 <li> nir: Actually do load/store vectorization beyond vec2</li>
2463 <li> iris: Fix downcast of bound_vertex_buffers from uint64_t to int</li>
2464 <p></p>
2465 <p>Konrad Dybcio (1):</p>
2466 <li> freedreno/a4xx: enable A405</li>
2467 <p></p>
2468 <p>Kristian Høgsberg (39):</p>
2469 <li> nir: Delete unused is_var_constant() helper</li>
2470 <li> nir: Make unroll pragma work on clang</li>
2471 <li> freedreno/fdperf: Cast away some ignored return values</li>
2472 <li> spirv/opencl: Cast opcode up front to avoid warnings</li>
2473 <li> glsl: Use &#x27;using&#x27; to be explicit about visitor overloads</li>
2474 <li> nir: Remove always-true assert</li>
2475 <li> turnip: Be explicit about converting vk compare func to a6xx</li>
2476 <li> freedreno/a6xx: Add fd6_resource_screen_init()</li>
2477 <li> freedreno: Set up supported modifiers in fd*_resource_screen_init()</li>
2478 <li> freedreno: Add layout_resource_for_modifier screen vfunc</li>
2479 <li> freedreno/a6xx: Implement layout for DRM_FORMAT_MOD_QCOM_COMPRESSED</li>
2480 <li> turnip: Drop explicit configure opt-in for turnip</li>
2481 <li> ci: Drop turnip opt-in option</li>
2482 <li> freedreno/ir3: Set IR3_REG_HALF flag on src as well in immediate MOV</li>
2483 <li> Mark a few static inline helpers with ASSERTED</li>
2484 <li> main/get: Converted type conversion macros to inline functions</li>
2485 <li> nir/types: Add glsl_float16_type() helper</li>
2486 <li> freedreno/ir3: Lower output precision</li>
2487 <li> Revert &quot;glsl: Use a simpler formula for tanh&quot;</li>
2488 <li> Revert &quot;spirv: Use a simpler and more correct implementaiton of tanh()&quot;</li>
2489 <li> freedreno/ir3: Don&#x27;t fold conversions into sign</li>
2490 <li> glsl: Add ir_constant constructor for fp16</li>
2491 <li> glsl: Add fp16 case for ir_triop_lrp optimization</li>
2492 <li> glsl: Implement constant propagation for fp16</li>
2493 <li> glsl: Expand fp16 to float before constant expression evaluation</li>
2494 <li> glsl: Add type queries for fp16+float and fp16+float+double</li>
2495 <li> glsl/lower_instructions: Handle fp16 for FDIV_TO_MUL_RCP</li>
2496 <li> radeonsi: Stop exposing PIPE_SHADER_CAP_FP16</li>
2497 <li> turnip: Add missing VKAPI_ATTR annotations</li>
2498 <li> turnip: Stub out VK_KHR_external_{fence,semaphore}_fd</li>
2499 <li> turnip: Make Android platform build</li>
2500 <li> turnip: Drop dep_llvm from dependencies</li>
2501 <li> freedreno/ir3: Fix sz vs class confusion</li>
2502 <li> freedreno/computerator: Decouple ir3 assembler</li>
2503 <li> freedreno/ir3: Move ir3 assembler to backend compiler</li>
2504 <li> freedreno/ir3: Parse, but ignore @in, @out and @tex headers</li>
2505 <li> freedreno/ir3: Reset lex line number when we start parsing</li>
2506 <li> freedreno/ir3: Print @tex write mask using 0x%x</li>
2507 <li> freedreno: Use the right amount of &amp;&#x27;s</li>
2508 <p></p>
2509 <p>Krzysztof Raszkowski (10):</p>
2510 <li> gallium/swr: fix gcc warnings</li>
2511 <li> gallium/swr: Fix gcc 4.8.5 compile error</li>
2512 <li> gallium/swr: Fix llvm11 compilation issues</li>
2513 <li> gallium/swr: simplify environmental variabled expansion code</li>
2514 <li> gallium/swr: fix rdtsc debug statistics mechanism</li>
2515 <li> gallium/swr: Fix min/max range index draw</li>
2516 <li> Revert &quot;gallium/swr: Fix min/max range index draw&quot;</li>
2517 <li> gallium/swr: Fix vcvtph2ps llvm intrinsic compile error</li>
2518 <li> gallium/swr: Fix array stride problem.</li>
2519 <li> gallium/swr: Re-enable scratch space for client-memory buffers</li>
2520 <p></p>
2521 <p>Leandro Ribeiro (1):</p>
2522 <li> i965: remove duplicated comment</li>
2523 <p></p>
2524 <p>Leo Liu (1):</p>
2525 <li> radeon/jpeg: fix the jpeg dt_pitch with YUYV format</li>
2526 <p></p>
2527 <p>Lepton Wu (1):</p>
2528 <li> virgl: Use ETC2 formats directly when possible.</li>
2529 <p></p>
2530 <p>Lionel Landwerlin (49):</p>
2531 <li> iris: implement gen12 post sync pipe control workaround</li>
2532 <li> anv: implement gen9 post sync pipe control workaround</li>
2533 <li> anv: implement gen12 post sync pipe control workaround</li>
2534 <li> anv: set MOCS on push constants</li>
2535 <li> mesa: add INTEL_blackhole_render</li>
2536 <li> i965: enable INTEL_blackhole_render</li>
2537 <li> st: add support for INTEL_blackhole_render</li>
2538 <li> iris: add support INTEL_blackhole_render</li>
2539 <li> intel/tools/aub_dump: move aub file initialization to maybe_init()</li>
2540 <li> intel/tools/aub_dump: fix crash when using the default legacy context</li>
2541 <li> intel/aub_dump: stub the waits when overriding the device</li>
2542 <li> intel/tools/dump_gpu: fix getparam values</li>
2543 <li> anv: stop storing prog param data into shader blobs</li>
2544 <li> intel/decoder: don&#x27;t consider header fields past dword0</li>
2545 <li> isl: implement linear tiling row pitch requirement for display</li>
2546 <li> isl: properly filter supported display modifiers on Gen9+</li>
2547 <li> isl: only apply main surface ccs pitch constraint with CCS</li>
2548 <li> isl: drop min row pitch alignment when set by the driver</li>
2549 <li> intel: add new TGL pci ids</li>
2550 <li> i965/iris: fix crash when calling GetPerfQueryDataINTEL</li>
2551 <li> vulkan/overlay: Add a workaround semaphore for application presenting without one</li>
2552 <li> intel/perf: move register definition to special file</li>
2553 <li> intel/perf: break GL query stuff away</li>
2554 <li> intel/perf: move mdapi query definitions to their own file</li>
2555 <li> intel/perf: document meaning of query field</li>
2556 <li> intel/perf: store the probed i915-perf version</li>
2557 <li> isl: set bpb for Y8_UNORM</li>
2558 <li> isl: don&#x27;t warn in physical extent calculation for yuv formats</li>
2559 <li> intel/aub_viewer: fix access to freed memory</li>
2560 <li> drm-shim: return device platform as specified</li>
2561 <li> drm-shim: stub libdrm&#x27;s use of realpath()</li>
2562 <li> iris: properly free resources on BO allocation failure</li>
2563 <li> iris: share buffer managers accross screens</li>
2564 <li> iris: make resources take a ref on the screen object</li>
2565 <li> i965: store DRM fd on intel_screen</li>
2566 <li> i965: share buffer managers across screens</li>
2567 <li> iris: drop cache coherent cpu mapping for external BO</li>
2568 <li> intel/perf: Enable MDAPI queries for Gen12</li>
2569 <li> anv: skip writing perfcntr in results on Gen12+</li>
2570 <li> util/sparse_free_list: manipulate node pointers using atomic primitives</li>
2571 <li> iris: fail screen creation when kernel support is not there</li>
2572 <li> include/drm-uapi: bump headers</li>
2573 <li> intel/perf: store default sseu configuration</li>
2574 <li> intel/perf: specify sseu configuration when supported</li>
2575 <li> anv: force whole EU array to be powered for perf queries</li>
2576 <li> drm-shim: provide a valid fake syncobj handle at creation</li>
2577 <li> drm-shim: stub syncobj wait ioctl</li>
2578 <li> iris: don&#x27;t assert on unfinished aux import in copy paths</li>
2579 <li> anv: don&#x27;t expose VK_INTEL_performance_query without kernel support</li>
2580 <p></p>
2581 <p>Liviu Prodea (2):</p>
2582 <li> scons/windows: Support build with LLVM 10.</li>
2583 <li> util: Make process_test path compatible with mingw native toolchains</li>
2584 <p></p>
2585 <p>Louis-Francis Ratté-Boulianne (7):</p>
2586 <li> glsl/linker: add DisableTransformFeedbackPacking workaround</li>
2587 <li> glsl/linker: handle array/struct members for DisableXfbPacking</li>
2588 <li> glsl/linker: add xfb workaround for modified built-in variables</li>
2589 <li> gallium: add PIPE_CAP_PACKED_STREAM_OUTPUT</li>
2590 <li> gallium: add PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED</li>
2591 <li> gallium: add PIPE_CAP_PSIZ_CLAMPED</li>
2592 <li> panfrost: fix transform feedback</li>
2593 <p></p>
2594 <p>Lucas Stach (1):</p>
2595 <li> etnaviv: retarget transfer to render resource when necessary</li>
2596 <p></p>
2597 <p>Marek Olšák (254):</p>
2598 <li> vbo: move GLvertexformat initialization into a template header file for reuse</li>
2599 <li> vbo: use the template for noop GLvertexformat initialization</li>
2600 <li> vbo: use the template for save GLvertexformat initialization</li>
2601 <li> vbo: move reusable code from vbo_attrib_tmp.h into vbo_util.h</li>
2602 <li> mesa: implement missing display list functions while switching to the template</li>
2603 <li> radeonsi: don&#x27;t report that multi-plane formats are supported</li>
2604 <li> radeonsi: fix the DCC MSAA bug workaround</li>
2605 <li> radeonsi: don&#x27;t update states for the DCC MSAA bug on GFX6-7</li>
2606 <li> glx: print FPS with 2 decimal places</li>
2607 <li> mesa: fix incorrect uses of FLUSH_CURRENT</li>
2608 <li> mesa: remove FLUSH_CURRENT calls that have no effect</li>
2609 <li> mesa: import PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET handling</li>
2610 <li> vbo: create the immediate mode buffer only in vbo_exec_vtx_map</li>
2611 <li> vbo: skip FlushMappedBufferRange for glBegin/End by using a persistent mapping</li>
2612 <li> vbo: don&#x27;t unmap persistent buffer mappings for glBegin/End</li>
2613 <li> vbo: remove immediate mode code that doesn&#x27;t do anything and simplify stuff</li>
2614 <li> vbo: interleave attrsz, attrtype, and active_sz in memory</li>
2615 <li> vbo: remove a funky recursive call in glBegin</li>
2616 <li> vbo: don&#x27;t check ctx-&gt;NewState twice in glBegin</li>
2617 <li> vbo: keep the immediate mode buffer always mapped for simplicity</li>
2618 <li> vbo: don&#x27;t set FLUSH_UPDATE_CURRENT for glVertex</li>
2619 <li> vbo: pass only either uint32_t or uint64_t into ATTR_UNION</li>
2620 <li> vbo: don&#x27;t store glVertex values temporarily into exec</li>
2621 <li> vbo: optimize resizing vertex attributes during immediate mode</li>
2622 <li> vbo: fix resizing 64-bit vertex attributes</li>
2623 <li> vbo: use FlushVertices flags properly and clear NeedFlush correctly</li>
2624 <li> vbo: increase the size of the immediate mode buffer to decrease draw count</li>
2625 <li> vbo: add/update unlikely statements in ATTR_UNION</li>
2626 <li> vbo: delay flagging FLUSH_STORED_VERTICES until glEnd</li>
2627 <li> vbo: also map the immediate mode buffer for read</li>
2628 <li> vbo: clean up resetting vertex attribs</li>
2629 <li> vbo: merge use_buffer_objects into vbo_CreateContext to skip the big malloc</li>
2630 <li> í965: don&#x27;t use _mesa_prim::is_indirect</li>
2631 <li> mesa: remove unused _mesa_prim::is_indirect</li>
2632 <li> mesa: don&#x27;t use bitfields in _mesa_prim</li>
2633 <li> st/mesa: optimize st_update_array with ALWAYSINLINE</li>
2634 <li> radeonsi: don&#x27;t wait for shader compilation to finish when destroying a context</li>
2635 <li> mesa: translate into gallium vertex formats in mesa/main</li>
2636 <li> mesa: remove unused _mesa_draw_indirect</li>
2637 <li> st/mesa: always inline the code setting non-64bit vertex elements</li>
2638 <li> st/mesa: simplify determination whether a draw has user vertex buffers</li>
2639 <li> st/mesa: simplify determination whether a draw needs min/max index</li>
2640 <li> st/mesa: change some loops from while to do..while in st_atom_array.c</li>
2641 <li> st/mesa: make st_setup_current static</li>
2642 <li> st/mesa: simplify releasing the current attrib buffer</li>
2643 <li> gallium/u_upload_mgr: reduce dereferences by adding buffer_size</li>
2644 <li> gallium/u_upload_mgr: don&#x27;t do align twice in the u_upload_alloc fast path</li>
2645 <li> gallium/u_vbuf: adjust the heuristic for unrolling indices</li>
2646 <li> gallium/cso_hash: inline a bunch of functions</li>
2647 <li> gallium/cso_hash: make cso_hash declared within structures instead of alloc&#x27;d</li>
2648 <li> gallium/cso_hash: remove always constant variable nodeSize</li>
2649 <li> gallium/cso_hash: cosmetic changes, no behavior changes</li>
2650 <li> gallium/cso_hash: remove another layer of pointer indirection</li>
2651 <li> st/mesa: try to fix MSVC build failure due to ALWAYS_INLINE</li>
2652 <li> vbo: remove dead code in vbo_can_merge_prims</li>
2653 <li> vbo: remove redundant code in vbo_exec_fixup_vertex</li>
2654 <li> mesa: document _mesa_prim::begin/end</li>
2655 <li> mesa: don&#x27;t use memset in glDrawArrays</li>
2656 <li> mesa: fix immediate mode with tessellation and varying patch vertices</li>
2657 <li> gallium/util: remove unused u_surfaces.c/h</li>
2658 <li> util: remove the dependency on kcmp.h</li>
2659 <li> nir: fix gl_nir_lower_images for bindless images</li>
2660 <li> tgsi_to_nir: set num_images and num_samplers with holes correctly</li>
2661 <li> gallium/hash_table: consolidate hash tables with pointer keys</li>
2662 <li> gallium/hash_table: consolidate hash tables with FD keys</li>
2663 <li> gallium/hash_table: use the same callback signatures as util/hash_table</li>
2664 <li> gallium/hash_table: turn it into a wrapper around util/hash_table</li>
2665 <li> gallium/hash_table: remove some function wrappers</li>
2666 <li> mesa: remove leftovers from ARB_shadow_ambient</li>
2667 <li> mesa: call FLUSH_VERTICES before updating CoordReplace</li>
2668 <li> i965: stop using &quot;indirect&quot; parameter from Driver.Draw (non-indirect)</li>
2669 <li> mesa: remove unused &quot;indirect&quot; parameter from Driver.Draw</li>
2670 <li> gallium/cso_hash: pack cso_node better</li>
2671 <li> gallium/cso_hash: inline struct cso_hash_data</li>
2672 <li> gallium: pass cso_velems_state into cso_context instead of pipe_vertex_element</li>
2673 <li> gallium/u_threaded: fix uploading user indices with start != 0</li>
2674 <li> gallium/u_threaded: convert dividing by index_size to a bit shift</li>
2675 <li> mesa/i965: remove _mesa_prim::indirect_offset</li>
2676 <li> mesa: remove redundant _mesa_prim::is_indexed</li>
2677 <li> mesa: move num_instances and base_instance out of _mesa_prim</li>
2678 <li> mesa: clean up glMultiDrawElements code, use alloca for small draw count (v2)</li>
2679 <li> mesa: don&#x27;t unroll glMultiDrawElements if one count is 0</li>
2680 <li> mesa: optimize glMultiDrawArrays, call Draw only once (v2)</li>
2681 <li> mesa: fix incorrect prim.begin/end for glMultiDrawElements</li>
2682 <li> nir: replace GCC unroll with an option that works on GCC &lt; 8.0</li>
2683 <li> gallivm: fix 5 warnings</li>
2684 <li> nir: fix 5 warnings</li>
2685 <li> mesa: fix 11 warnings</li>
2686 <li> gallium/u_vbuf: silence a warning by using unreachable</li>
2687 <li> mesa: add index_size_shift = log2(index_size) into _mesa_index_buffer</li>
2688 <li> mesa: replace some index_size multiplications and divisions with shifts</li>
2689 <li> vbo: don&#x27;t look at the second draw&#x27;s count when merging 2 glBegin/End draws</li>
2690 <li> vbo: deduplicate copy_vertices functions</li>
2691 <li> vbo: clean up vbo_copy_vertices</li>
2692 <li> vbo: handle GS and tess primitive types when splitting Begin/End</li>
2693 <li> vbo: clean up conditional blocks in ATTR_UNION</li>
2694 <li> vbo: fold code from vbo_exec_fixup_vertex to vbo_exec_wrap_upgrade_vertex</li>
2695 <li> Revert &quot;mesa: check for z=0 in _mesa_Vertex3dv()&quot;</li>
2696 <li> mesa: remove _mesa_index_buffer::index_size in favor of index_size_shift</li>
2697 <li> mesa: optimize get_index_size</li>
2698 <li> mesa: deduplicate draw indirect functions</li>
2699 <li> vbo: merge more primitive types for glBegin/End (v2)</li>
2700 <li> vbo: merge draws even when begin==0 or end==0</li>
2701 <li> glthread: don&#x27;t generate the sync fallback if the call size is not variable</li>
2702 <li> glthread: don&#x27;t prefix variable_data with const</li>
2703 <li> glthread: inline _mesa_unmarshal_dispatch_cmd and convert the switch to a table</li>
2704 <li> glthread: reduce pointer dereferences in glthread_unmarshal_batch</li>
2705 <li> glthread: use int instead of size_t where it&#x27;s OK</li>
2706 <li> glthread: simplify repeated function sequences in marshal_generated.c</li>
2707 <li> glthread: don&#x27;t insert _mesa_post_marshal_hook into every function</li>
2708 <li> glthread: don&#x27;t increment variable_data if it&#x27;s the last variable-size param</li>
2709 <li> glthread: add GL_DRAW_INDIRECT_BUFFER tracking and generator support</li>
2710 <li> glthread: add/update count and marshal fields for many GL functions</li>
2711 <li> glthread: handle complex pointer parameters and support GL functions with strings</li>
2712 <li> glthread: check the size of all variable params and clean up the code</li>
2713 <li> glthread: replace custom ClearBuffer marshalling with generated one</li>
2714 <li> glthread: add support for TexParameteri and SamplerParameteri functions</li>
2715 <li> glthread: add support for glFog, glLight, glLightModel, glTexEnv, glTexGen</li>
2716 <li> glthread: add support for glClearNamedFramebuffer, glMaterial, glPointParameter</li>
2717 <li> glthread: add support for glCallLists, glPatchParameterfv</li>
2718 <li> glthread: add support for glMemoryObjectParameteriv, glSemaphoreParameterui64v</li>
2719 <li> glthread: don&#x27;t insert an empty line after (void) cmd;</li>
2720 <li> glthread: add marshal_call_after and remove custom glFlush and glEnable code</li>
2721 <li> glthread: track for each VAO whether the user has set a user pointer</li>
2722 <li> glthread: sync instead of disabling glthread for non-VBO pointers</li>
2723 <li> glthread: replace custom glBindBuffer marshalling with generated one</li>
2724 <li> glthread: merge glBufferData and glNamedBufferData into 1 set of functions</li>
2725 <li> glthread: merge glBufferSubData and glNamedBufferSubData into 1 set of functions</li>
2726 <li> glthread: add custom marshalling for glNamedBuffer(Sub)DataEXT</li>
2727 <li> glthread: fix a crash with incorrect glShaderSource parameters</li>
2728 <li> glthread: fall back if a param size is non-zero and a pointer param is NULL</li>
2729 <li> radeonsi: add a bug workaround for NGG - LATE_ALLOC_GS</li>
2730 <li> ac: add a bug workaround for the 100% NGG culling case</li>
2731 <li> radeonsi: determine uses_bindless_samplers correctly</li>
2732 <li> st/mesa: flush the bitmap cache before st/dri and vbo flushes</li>
2733 <li> st/mesa: fix a possible crash with selection and feedback modes</li>
2734 <li> gallium/cso_context: remove cso_delete_xxx_shader helpers to fix the live cache</li>
2735 <li> st/mesa: keep serialized NIR instead of nir_shader in st_program</li>
2736 <li> vbo: use vbo_exec_wrap_upgrade_vertex for glVertex in ATTR_UNION</li>
2737 <li> vbo: fix transitions from glVertexN to glVertexM where M &lt; N</li>
2738 <li> vbo: fix vbo_copy_vertices for GL_PATCHES and adjacency primitive types</li>
2739 <li> gallium: add PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES</li>
2740 <li> mesa: don&#x27;t unroll glMultiDrawElements with user indices for gallium</li>
2741 <li> radeonsi/gfx10: cache metadata in L2 on small chips</li>
2742 <li> radeonsi: set better tessellation tunables on gfx9 and gfx10</li>
2743 <li> radeonsi: tune primitive binning for small chips</li>
2744 <li> ac: add radeon_info::use_late_alloc to control LATE_ALLOC globally</li>
2745 <li> ac: disable late alloc on small gfx10 chips</li>
2746 <li> gallium/u_threaded: don&#x27;t sync the thread for all unsychronized mappings</li>
2747 <li> gallium/u_vbuf: simplify the first if statement in u_vbuf_upload_buffers</li>
2748 <li> ac: unify denorm setting enforcement</li>
2749 <li> ac: set new LLVM denormal flags</li>
2750 <li> ac: don&#x27;t set old denormals flags with LLVM &gt;= 11</li>
2751 <li> nir: fix clip/cull_distance_array_size in nir_lower_clip_cull_distance_arrays</li>
2752 <li> mesa: use vbo_attrib_tmp.h to generate display list vertex attrib functions</li>
2753 <li> mesa: remove redundant api_loopback functions</li>
2754 <li> glthread: align the batch buffer to 8 bytes for pointers and doubles again</li>
2755 <li> glthread: enable display lists</li>
2756 <li> glthread: track VAOs created by CreateVertexArrays</li>
2757 <li> glthread: don&#x27;t execute any custom VAO and BindBuffer code in the Core profile</li>
2758 <li> glthread: remove debug_print_marshal function</li>
2759 <li> glthread: clean up debug_print_sync code</li>
2760 <li> glthread: don&#x27;t declare unmarshal functions as inline</li>
2761 <li> winsys/radeon: change to 3-space indentation</li>
2762 <li> driconf: enable glthread for &quot;From The Depths&quot;</li>
2763 <li> glthread: remove _mesa_post_marshal_hook, because it&#x27;s not very useful</li>
2764 <li> glthread: simplify printing safe_mul in</li>
2765 <li> glthread: autogenerate prototypes for custom-marshalled functions</li>
2766 <li> glthread: move buffer functions into glthread_bufferobj.c</li>
2767 <li> glthread: rename marshal.h/c to glthread_marshal.h and glthread_shaderobj.c</li>
2768 <li> mesa: put gl_thread_state inside gl_context to remove pointer indirection</li>
2769 <li> glthread: handle buffer unbinding via glDeleteBuffers</li>
2770 <li> glthread: rename non_vbo helper functions</li>
2771 <li> glthread: track which vertex array attribs are enabled</li>
2772 <li> glthread: ignore vertex arrays with user pointers if they&#x27;re disabled</li>
2773 <li> glthread: remove the marshal_fail XML attribute</li>
2774 <li> vbo,gallium: make glBegin/End buffer size configurable by drivers</li>
2775 <li> ac: fix fast division</li>
2776 <li> st/mesa: fix use of uninitialized memory due to st_nir_lower_builtin</li>
2777 <li> glthread: inline SET_func and add -O1 to build _mesa_create_marshal_table faster</li>
2778 <li> glthread: declare marshal and unmarshal functions as non-static</li>
2779 <li> glthread: compile marshal_generated.c faster by breaking it up into 8 files</li>
2780 <li> nir: add and gather shader_info::writes_memory</li>
2781 <li> glsl_to_tgsi: set shader_info::writes_memory</li>
2782 <li> mesa: allow out-of-order drawing to optimize immediate mode if it&#x27;s safe</li>
2783 <li> radeonsi: enable full out-of-order drawing when allow_draw_out_of_order is set</li>
2784 <li> mesa: try to fix the android build</li>
2785 <li> Move compiler.h and imports.h/c from src/mesa/main into src/util</li>
2786 <li> mesa: don&#x27;t use &lt;&gt; for including internal headers</li>
2787 <li> util: stop including files from mesa/main</li>
2788 <li> radv: stop including files from mesa/main</li>
2789 <li> util: don&#x27;t include p_defines.h and u_pointer.h from gallium</li>
2790 <li> util: remove duplicated MALLOC_STRUCT and CALLOC_STRUCT</li>
2791 <li> radeonsi: remove obsolete TODO comment related to compute-based culling</li>
2792 <li> radeonsi: fix incorrect ordered_wave_id initilization for compute-based culling</li>
2793 <li> radeonsi: set amdgpu-gds-size for mode == 2 of compute-based culling</li>
2794 <li> radeonsi: always create wait_mem_scratch for compute-based culling</li>
2795 <li> radeonsi: add num_vbos_in_user_sgprs into the shader cache key</li>
2796 <li> radeonsi/gfx10: don&#x27;t use NGG culling if compute-based culling is used</li>
2797 <li> radeonsi/gfx10: fix ds.ordered.add intrinsic for compute-based culling</li>
2798 <li> radeonsi/gfx10: user correct ACQUIRE_MEM packet for compute-based culling</li>
2799 <li> radeonsi/gfx10: fix the wave size for compute-based culling</li>
2800 <li> radeonsi/gfx10: fix descriptors and compute registers for compute-based culling</li>
2801 <li> gallium/u_threaded: call the driver to pin threads to L3 immediately</li>
2802 <li> st/mesa: add environment variable pin_app_thread for faster glthread on AMD Zen</li>
2803 <li> driconf: whilelist more games for glthread</li>
2804 <li> mesa: optimize initialization of new VAOs</li>
2805 <li> mesa: don&#x27;t ever set NullBufferObj in gl_vertex_array_binding</li>
2806 <li> mesa: don&#x27;t ever bind NullBufferObj for glBindBuffer targets</li>
2807 <li> mesa: don&#x27;t ever bind NullBufferObj to glBindBuffer(Base,Range) slots</li>
2808 <li> mesa: remove NullBufferObj</li>
2809 <li> mesa: remove no longer needed _mesa_is_bufferobj function</li>
2810 <li> mesa: precompute _mesa_primitive_restart_index during state changes</li>
2811 <li> mesa: split _mesa_primitive_restart_index into a function without gl_context</li>
2812 <li> vbo: expose helper function vbo_get_minmax_index_mapped for glthread</li>
2813 <li> util: move and adjust the vertex upload heuristic equation from u_vbuf</li>
2814 <li> st/mesa: fix a crash due to passing a draw vertex shader into the driver</li>
2815 <li> ac: out-of-order rasterization is not supported on gfx10</li>
2816 <li> ac,radeonsi: simplify checking for Navi1x chips</li>
2817 <li> radeonsi: use pipe_blend_state::max_rt to update fewer blend registers</li>
2818 <li> ac: force enable -structurizecfg-skip-uniform-regions for LLVM 11</li>
2819 <li> ac: update and document fast math flags used by radeonsi</li>
2820 <li> ac: generate FMA for inexact instructions for radeonsi</li>
2821 <li> ac: reassociate FP expressions for inexact instructions for radeonsi</li>
2822 <li> mesa: replace _NEW_EVAL with vbo_exec_update_eval_maps</li>
2823 <li> mesa: reset primitive restart state in glClientAttribDefaultEXT</li>
2824 <li> mesa: remove exec=&quot;dynamic&quot; from Draw functions that are not really dynamic</li>
2825 <li> glthread: use 32-bit align instead of 64-bit ALIGN</li>
2826 <li> glthread: reduce dereferences of the next batch</li>
2827 <li> glthread: use GLenum16 in batch buffers to save space</li>
2828 <li> glthread: sort variables in marshal structures to pack them optimally</li>
2829 <li> gallium: add PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE for glthread</li>
2830 <li> mesa: add Const.BufferCreateMapUnsynchronizedThreadSafe &amp; MESA_MAP_THREAD_SAFE</li>
2831 <li> mesa: add offset_is_int32 param into _mesa_bind_vertex_buffer for glthread</li>
2832 <li> mesa: extend _mesa_bind_vertex_buffer to take ownership of the buffer reference</li>
2833 <li> mesa: replace GLenum target with gl_shader_stage in NewProgram</li>
2834 <li> ac/surface: rename micro tile mode enums like gfx10 uses them</li>
2835 <li> ac/surface: remove RADEON_SURF_TC_COMPATIBLE_HTILE and assume it&#x27;s always set</li>
2836 <li> ac/surface: replace RADEON_SURF_OPTIMIZE_FOR_SPACE with !FORCE_SWIZZLE_MODE</li>
2837 <li> ac/surface: match get_display_flag() with expectations for is_displayable</li>
2838 <li> ac/surface: don&#x27;t compute DCC if it&#x27;s unsupported by DCN on gfx9+</li>
2839 <li> ac/surface: move non-displayable DCC to the end of the buffer</li>
2840 <li> ac/surface: add code for gfx10 displayable DCC</li>
2841 <li> ac/surface: validate that DCC is enabled correctly on gfx9+</li>
2842 <li> ac: enable displayable DCC on Navi12 &amp; Navi14</li>
2843 <li> mesa: report GL_INVALID_OPERATION for invalid glTextureBuffer target</li>
2844 <li> st/mesa: expose more SPIR-V capabilities</li>
2845 <li> radeonsi: unify and align down the max SSBO/TBO/UBO buffer binding size</li>
2846 <li> radeonsi: revert an accidental change in si_clear_buffer</li>
2847 <li> Revert &quot;ac/surface: remove RADEON_SURF_TC_COMPATIBLE_HTILE and assume it&#x27;s always set&quot;</li>
2848 <li> Revert &quot;ac: reassociate FP expressions for inexact instructions for radeonsi&quot;</li>
2849 <li> ac/surface: fix MSAA crash with FORCE_SWIZZLE_MODE on gfx9</li>
2850 <li> radeonsi: fix compilation of monolithic PS</li>
2851 <li> radeonsi: don&#x27;t expose 16xAA on chips with 1 RB due to an occlusion query issue</li>
2852 <p></p>
2853 <p>Marek Vasut (4):</p>
2854 <li> etnaviv: Destroy rsc-&gt;pending_ctx set in etna_resource_destroy()</li>
2855 <li> etnaviv: Emit PE.ALPHA_COLOR_EXT* on GPUs with half-float support</li>
2856 <li> etnaviv: Fix depth stencil ops on GC880/GC2000</li>
2857 <li> etnaviv: Disable seamless cube map on GC880</li>
2858 <p></p>
2859 <p>Mark Janes (2):</p>
2860 <li> nir: check shader type before writing to shaderinfo.tess union</li>
2861 <li> nir: place aligned members after bitfields in shader_info.tess</li>
2862 <p></p>
2863 <p>Mark Menzynski (2):</p>
2864 <li> util/blob: Add overwrite function for uint8</li>
2865 <li> tgsi/util: Change boolean for bool</li>
2866 <p></p>
2867 <p>Martin Fuzzey (3):</p>
2868 <li> freedreno: android: fix build failure on android due to python version</li>
2869 <li> freedreno: android: add a6xx-pack.xml.h generation to android build</li>
2870 <li> freedreno: android: fix build of perfcounters.</li>
2871 <p></p>
2872 <p>Mathias Fröhlich (19):</p>
2873 <li> egl: Implement getImage/putImage on pbuffer swrast.</li>
2874 <li> mesa: Fix FLUSH_VERTICES in SubpixelPrecisionBiasNV.</li>
2875 <li> egl: Fix A2RGB10 platform_{device,surfaceless} PBuffer configs.</li>
2876 <li> egl: Factor out dri2_add_pbuffer_configs_for_visuals {device,surfaceless}.</li>
2877 <li> mesa: Check for OpenGL state change before flushing vertices.</li>
2878 <li> mesa: Flush vertices before changing the OpenGL state.</li>
2879 <li> i965: Move down genX_upload_sbe in profiles.</li>
2880 <li> iris: Move down iris_emit_sbe_swiz in profiles.</li>
2881 <li> i965: Use 32 bit u_bit_scan for vertex attribute setup.</li>
2882 <li> i965: Use the VAOs binding information in array setup.</li>
2883 <li> i965: Test original vertex array pointer to skip array upload.</li>
2884 <li> i965: Split merge_inputs and clear_buffers.</li>
2885 <li> i965: Reorder workaround flags computation.</li>
2886 <li> i965: Remove glbinding from brw_vertex_element.</li>
2887 <li> mesa: Remove now unused _mesa_draw_attrib_and_binding.</li>
2888 <li> mesa: Remove now unused _mesa_draw_attrib.</li>
2889 <li> mesa: Provide gl_vertex_format accessors.</li>
2890 <li> i965: Make use of the vertex format functions in i965.</li>
2891 <li> i965: Use gl_vertex_format in brw_vertex_element.</li>
2892 <p></p>
2893 <p>Matt Turner (11):</p>
2894 <li> intel/tools: Do not print type/qualifiers/name for c_literal</li>
2895 <li> intel/vec4: Make implied_mrf_writes() a vec4_instruction method</li>
2896 <li> intel/compiler: Remove unnecessary local variables</li>
2897 <li> intel/compiler: Make instructions_to_schedule a local variable</li>
2898 <li> intel/compiler: Mark some methods and parameters const</li>
2899 <li> intel/compiler: Mark visitor parameters to scheduler const</li>
2900 <li> intel/compiler: Pass backend_shader * to cfg_t()</li>
2901 <li> intel/compiler: Pass shader_stats for each SIMD mode</li>
2902 <li> intel/compiler: Discount NOPs from instruction counts</li>
2903 <li> isl: Avoid EXPECT_DEATH in unit tests</li>
2904 <li> meson: Specify the maximum required libdrm in dri.pc</li>
2905 <p></p>
2906 <p>Mauro Rossi (5):</p>
2907 <li> android: gallium/auxiliary: fix &quot;Unused source files&quot; in tesselator</li>
2908 <li> android: aco: fix PIPE_FORMAT related building errors</li>
2909 <li> android: r600/sfn: fix includes and libmesa_nir dependency</li>
2910 <li> android: r600/sfn: Add GDS instructions</li>
2911 <li> android: aco: add various compiler statistics</li>
2912 <p></p>
2913 <p>Michel Dänzer (33):</p>
2914 <li> gitlab-ci: Update to latest ci-templates HEAD</li>
2915 <li> gitlab-ci: Pass -j4 to make</li>
2916 <li> gitlab-ci: Merge ccache and libxml2-utils into main apt-get install</li>
2917 <li> gitlab-ci: Add ppc64el and s390x cross-build jobs</li>
2918 <li> gitlab-ci: Build radeonsi &amp; RADV in the ppc64el job</li>
2919 <li> llvmpipe: Bump test timeout to 180 seconds</li>
2920 <li> gitlab-ci: Only use gstreamer runners for the s390x job for now</li>
2921 <li> gitlab-ci: Sort random failure softpipe skips</li>
2922 <li> gitlab-ci: Add three more dEQP-GLES31 tests to softpipe skips</li>
2923 <li> st/vdpau: Only call is_video_format_supported hook if needed</li>
2924 <li> winsys/amdgpu: Make local variable r signed</li>
2925 <li> util: Change os_same_file_description return type from bool to int</li>
2926 <li> gitlab-ci: Drop &quot;test-&quot; prefix from llvmpipe/softpipe job names</li>
2927 <li> gitlab-ci: Distribute jobs across more stages</li>
2928 <li> gitlab-ci: Always name artifacts archive after the job producing it</li>
2929 <li> gitlab-ci: Don&#x27;t restrict ppc64el/s390x build jobs to gstreamer runners</li>
2930 <li> gitlab-ci: Don&#x27;t use buster-backports packages by default for x86_build</li>
2931 <li> gitlab-ci: Fold scons-swr job into scons job</li>
2932 <li> gitlab-ci: Move classic driver testing to a new meson-classic job</li>
2933 <li> llvmpipe: Use uintptr_t for pointer values</li>
2934 <li> gitlab-ci: Enable more Gallium drivers in meson-i386 job</li>
2935 <li> gitlab-ci: Restrict s390x/ppc64el jobs to packet runners</li>
2936 <li> gitlab-ci: Update to current templates</li>
2937 <li> gitlab-ci: Rename &quot;paths&quot; YAML anchor to &quot;all_paths&quot;</li>
2938 <li> gitlab-ci/lava: Add needs: for container image to test jobs (again)</li>
2939 <li> gitlab-ci: Don&#x27;t require triggering build/test jobs manually</li>
2940 <li> gitlab-ci: Run merge request pipelines automatically only for Marge Bot</li>
2941 <li> gitlab-ci: Use all_paths in .test-manual rules</li>
2942 <li> gbm/dri: Propagate queryDmaBufModifiers return value</li>
2943 <li> amd/addrlib: Use enum instead of sparse chars to identify dimensions</li>
2944 <li> mesa: Skip 3-byte array formats in _mesa_array_format_flip_channels</li>
2945 <li> Revert &quot;ac,radeonsi: fix compilations issues with LLVM 11&quot;</li>
2946 <li> Revert &quot;gallium/gallivm: fix compilation issues with llvm 11&quot;</li>
2947 <p></p>
2948 <p>Mike Blumenkrantz (6):</p>
2949 <li> zink: set UBO alignments in nir_intrinsic_load_uniform lowering</li>
2950 <li> zink: remove framebuffer cache</li>
2951 <li> zink: explicitly unref old fb object when setting new one</li>
2952 <li> iris: move iris_vtable to iris_screen</li>
2953 <li> gallium: add pipe cap for scissored clears and pass scissor state to clear() hook</li>
2954 <li> iris: handle PIPE_CAP_CLEAR_SCISSORED</li>
2955 <p></p>
2956 <p>Nanley Chery (6):</p>
2957 <li> isl: Add a module which manages aux resolves</li>
2958 <li> iris: Use isl_aux_usage_has_fast_clear()</li>
2959 <li> iris: Use ISL&#x27;s access preparation functions</li>
2960 <li> iris: Use isl_aux_state_transition_write()</li>
2961 <li> i965: Use ISL&#x27;s access preparation functions</li>
2962 <li> i965: Use isl_aux_state_transition_write()</li>
2963 <p></p>
2964 <p>Nataraj Deshpande (1):</p>
2965 <li> dri_util: Update internal_format to GL_RGB8 for MESA_FORMAT_R8G8B8X8_UNORM</li>
2966 <p></p>
2967 <p>Neha Bhende (2):</p>
2968 <li> svga: fix size of format_conversion_table[]</li>
2969 <li> svga: Use pipe_shader_state_from_tgsi to set shader state</li>
2970 <p></p>
2971 <p>Neil Armstrong (4):</p>
2972 <li> gitlab-ci/lava: fix handling of lava tags</li>
2973 <li> Revert &quot;ci: Remove T820 from CI temporarily&quot;</li>
2974 <li> gitlab-ci: add FILES_HOST_URL and move FILES_HOST_NAME into jobs</li>
2975 <li> gitlab-ci: re-enable mali400/450 and t820 jobs</li>
2976 <p></p>
2977 <p>Neil Roberts (17):</p>
2978 <li> nir/opcodes: Add nir_op_f2fmp</li>
2979 <li> glsl: Add support for float16 types in the IR tree</li>
2980 <li> glsl: Add IR conversion ops for 16-bit float types</li>
2981 <li> glsl: Add b2f16 and f162b conversion operations</li>
2982 <li> glsl: Add ir_unop_f2fmp</li>
2983 <li> glsl/validate: Allow float16 in the expression tree</li>
2984 <li> glsl/lower_instructions: Use float16 constants when appropriate</li>
2985 <li> glsl/opt_minmax: Add support for float16</li>
2986 <li> glsl: Add a method to get precision from a deref instruction</li>
2987 <li> glsl/hierarchical_visitor: Call leave_callback on leaf nodes</li>
2988 <li> glsl: Add an IR lowering pass to convert mediump operations to 16-bit</li>
2989 <li> glsl/standalone: Add an option to lower the precision</li>
2990 <li> glsl: Add unit tests for the lower_precision pass</li>
2991 <li> freedreno/ir3: Lower bools to bitsize</li>
2992 <li> glsl: Inline builtins in a separate pass</li>
2993 <li> glsl/lower_precision: Lower builtins depending on arguments</li>
2994 <li> glsl/lower_precision: Use vector.back() instead of vector.end()[-1]</li>
2995 <p></p>
2996 <p>Paulo Zanoni (8):</p>
2997 <li> intel: fix the gen 11 compute shader scratch IDs</li>
2998 <li> intel: fix the gen 12 compute shader scratch IDs</li>
2999 <li> intel/device: bdw_gt1 actually has 6 eus per subslice</li>
3000 <li> anv: multiply the scratch space by 4 on gen9-10 like iris and i965</li>
3001 <li> iris: remove hole from struct iris_bo</li>
3002 <li> iris: remove unnecessary forward declaration</li>
3003 <li> iris: remove useless bo-&gt;gtt_offset assignment</li>