Revert "docs/relnotes/19.3: fix vulkan version reported"
[mesa.git] / docs / relnotes / 19.2.0.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html lang="en">
3 <head>
4 <meta http-equiv="content-type" content="text/html; charset=utf-8">
5 <title>Mesa Release Notes</title>
6 <link rel="stylesheet" type="text/css" href="../mesa.css">
7 </head>
8 <body>
9
10 <div class="header">
11 <h1>The Mesa 3D Graphics Library</h1>
12 </div>
13
14 <iframe src="../contents.html"></iframe>
15 <div class="content">
16
17 <h1>Mesa 19.2.0 Release Notes / 2019.09.25</h1>
18
19 <p>
20 Mesa 19.2.0 is a new development release. People who are concerned
21 with stability and reliability should stick with a previous release or
22 wait for Mesa 19.2.1.
23 </p>
24 <p>
25 Mesa 19.2.0 implements the OpenGL 4.5 API, but the version reported by
26 glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
27 glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
28 Some drivers don't support all the features required in OpenGL 4.5. OpenGL
29 4.5 is <strong>only</strong> available if requested at context creation.
30 Compatibility contexts may report a lower version depending on each driver.
31 </p>
32 <p>
33 Mesa 19.2.0 implements the Vulkan 1.1 API, but the version reported by
34 the apiVersion property of the VkPhysicalDeviceProperties struct
35 depends on the particular driver being used.
36 </p>
37
38 <h2>SHA256 checksums</h2>
39 <pre>
40 b060caa2a00f856431160ff7377d0e8f58f2aa48c16ee5a9e265ebdccb10852a mesa-19.2.0.tar.xz
41 </pre>
42
43
44 <h2>New features</h2>
45
46 <ul>
47 <li>GL_ARB_post_depth_coverage on radeonsi (Navi)</li>
48 <li>GL_ARB_seamless_cubemap_per_texture on etnaviv (if GPU supports SEAMLESS_CUBE_MAP)</li>
49 <li>GL_EXT_shader_image_load_store on radeonsi (with LLVM >= 10)</li>
50 <li>GL_EXT_shader_samples_identical on iris and radeonsi (if using NIR)</li>
51 <li>GL_EXT_texture_shadow_lod on i965, iris</li>
52 <li>EGL_EXT_platform_device</li>
53 <li>VK_AMD_buffer_marker on radv</li>
54 <li>VK_EXT_index_type_uint8 on radv</li>
55 <li>VK_EXT_post_depth_coverage on radv</li>
56 <li>VK_EXT_queue_family_foreign on radv</li>
57 <li>VK_EXT_sample_locations on radv</li>
58 <li>VK_EXT_shader_demote_to_helper_invocation on Intel.</li>
59 <li>VK_KHR_depth_stencil_resolve on radv</li>
60 <li>VK_KHR_imageless_framebuffer on radv</li>
61 <li>VK_KHR_shader_atomic_int64 on radv</li>
62 <li>VK_KHR_uniform_buffer_standard_layout on radv</li>
63 </ul>
64
65 <h2>Bug fixes</h2>
66
67 <ul>
68
69 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=103674">Bug 103674</a> - u_queue.c:173:7: error: implicit declaration of function 'timespec_get' is invalid in C99</li>
70
71 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=104395">Bug 104395</a> - [CTS] GTF-GL46.gtf32.GL3Tests.packed_pixels.packed_pixels tests fail on 32bit Mesa</li>
72
73 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=110765">Bug 110765</a> - ANV regression: Assertion `pass-&gt;attachment_count == framebuffer-&gt;attachment_count' failed</li>
74
75 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=110814">Bug 110814</a> - KWin compositor crashes on launch</li>
76
77 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111069">Bug 111069</a> - Assertion fails in nir_opt_remove_phis.c during compilation of SPIR-V shader</li>
78
79 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111213">Bug 111213</a> - VA-API nouveau SIGSEGV and asserts</li>
80
81 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111241">Bug 111241</a> - Shadertoy shader causing hang</li>
82
83 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111248">Bug 111248</a> - Navi10 Font rendering issue in Overwatch</li>
84
85 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111271">Bug 111271</a> - Crash in eglMakeCurrent</li>
86
87 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111308">Bug 111308</a> - [Regression, NIR, bisected] Black squares in Unigine Heaven via DXVK</li>
88
89 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111401">Bug 111401</a> - Vulkan overlay layer - async compute not supported, making overlay disappear in Doom</li>
90
91 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111405">Bug 111405</a> - Some infinite 'do{}while' loops lead mesa to an infinite compilation</li>
92
93 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111411">Bug 111411</a> - SPIR-V shader leads to GPU hang, sometimes making machine unstable</li>
94
95 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111414">Bug 111414</a> - [REGRESSION] [BISECTED] Segmentation fault in si_bind_blend_state after removal of the blend state NULL check</li>
96
97 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111467">Bug 111467</a> - WOLF RPG Editor + Gallium Nine Standalone: Rendering issue when using Iris driver</li>
98
99 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111490">Bug 111490</a> - [REGRESSION] [BISECTED] Shadow Tactics: Blades of the Shogun - problems rendering water</li>
100
101 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111493">Bug 111493</a> - In the game The Surge (378540) - textures disappear then appear again when I change the camera angle view</li>
102
103 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111509">Bug 111509</a> - [regression][bisected] piglit.spec.ext_image_dma_buf_import.ext_image_dma_buf_import-export fails on iris</li>
104
105 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111522">Bug 111522</a> - [bisected] Supraland no longer start</li>
106
107 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111529">Bug 111529</a> - EGL_PLATFORM=drm doesn't expose MESA_query_driver extension</li>
108
109 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111552">Bug 111552</a> - Geekbench 5.0 Vulkan compute benchmark fails on Anvil</li>
110
111 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111566">Bug 111566</a> - [REGRESSION] [BISECTED] Large CS workgroup sizes broken in combination with FP64 on Intel.</li>
112
113 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111576">Bug 111576</a> - [bisected] Performance regression in X4:Foundations in 19.2</li>
114
115 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111676">Bug 111676</a> - Tropico 6 apitrace throws error into logs</li>
116
117 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=111734">Bug 111734</a> - Geometry shader with double interpolators fails in LLVM</li>
118
119 </ul>
120
121 <h2>Changes</h2>
122
123 <p>Adam Jackson (1):</p>
124 <ul>
125 <li>docs: Update bug report URLs for the gitlab migration</li>
126 </ul>
127
128 <p>Alex Smith (1):</p>
129 <ul>
130 <li>radv: Change memory type order for GPUs without dedicated VRAM</li>
131 </ul>
132
133 <p>Alyssa Rosenzweig (1):</p>
134 <ul>
135 <li>pan/midgard: Fix writeout combining</li>
136 </ul>
137
138 <p>Andres Gomez (1):</p>
139 <ul>
140 <li>docs: Add the maximum implemented Vulkan API version in 19.2 rel notes</li>
141 </ul>
142
143 <p>Andres Rodriguez (1):</p>
144 <ul>
145 <li>radv: additional query fixes</li>
146 </ul>
147
148 <p>Arcady Goldmints-Orlov (1):</p>
149 <ul>
150 <li>anv: fix descriptor limits on gen8</li>
151 </ul>
152
153 <p>Bas Nieuwenhuizen (6):</p>
154 <ul>
155 <li>radv: Use correct vgpr_comp_cnt for VS if both prim_id and instance_id are needed.</li>
156 <li>radv: Emit VGT_GS_ONCHIP_CNTL for tess on GFX10.</li>
157 <li>radv: Disable NGG for geometry shaders.</li>
158 <li>Revert "ac/nir: Lower large indirect variables to scratch"</li>
159 <li>tu: Set up glsl types.</li>
160 <li>radv: Add workaround for hang in The Surge 2.</li>
161 </ul>
162
163 <p>Caio Marcelo de Oliveira Filho (2):</p>
164 <ul>
165 <li>nir/lower_explicit_io: Handle 1 bit loads and stores</li>
166 <li>glsl/nir: Avoid overflow when setting max_uniform_location</li>
167 </ul>
168
169 <p>Connor Abbott (1):</p>
170 <ul>
171 <li>radv: Call nir_propagate_invariant()</li>
172 </ul>
173
174 <p>Danylo Piliaiev (3):</p>
175 <ul>
176 <li>nir/loop_unroll: Prepare loop for unrolling in wrapper_unroll</li>
177 <li>nir/loop_analyze: Treat do{}while(false) loops as 0 iterations</li>
178 <li>tgsi_to_nir: Translate TGSI_INTERPOLATE_COLOR as INTERP_MODE_NONE</li>
179 </ul>
180
181 <p>Dave Airlie (2):</p>
182 <ul>
183 <li>virgl: fix format conversion for recent gallium changes.</li>
184 <li>gallivm: fix atomic compare-and-swap</li>
185 </ul>
186
187 <p>Dave Stevenson (1):</p>
188 <ul>
189 <li>broadcom/v3d: Allow importing linear BOs with arbitrary offset/stride.</li>
190 </ul>
191
192 <p>Dylan Baker (9):</p>
193 <ul>
194 <li>bump version to 19.2-rc2</li>
195 <li>nir: Add is_not_negative helper function</li>
196 <li>Bump version for rc3</li>
197 <li>meson: don't generate file into subdirs</li>
198 <li>add patches to be ignored</li>
199 <li>Bump version for 19.2.0-rc4</li>
200 <li>cherry-ignore: Add patches</li>
201 <li>rehardcode from origin/master to upstream/master</li>
202 <li>bin/get-pick-list: use --oneline=pretty instead of --oneline</li>
203 </ul>
204
205 <p>Emil Velikov (1):</p>
206 <ul>
207 <li>Update version to 19.2.0-rc1</li>
208 </ul>
209
210 <p>Eric Engestrom (14):</p>
211 <ul>
212 <li>ttn: fix 64-bit shift on 32-bit `1`</li>
213 <li>egl: fix deadlock in malloc error path</li>
214 <li>util/os_file: fix double-close()</li>
215 <li>anv: fix format string in error message</li>
216 <li>freedreno/drm-shim: fix mem leak</li>
217 <li>nir: fix memleak in error path</li>
218 <li>anv: add support for driconf</li>
219 <li>wsi: add minImageCount override</li>
220 <li>anv: add support for vk_x11_override_min_image_count</li>
221 <li>amd: move adaptive sync to performance section, as it is defined in xmlpool</li>
222 <li>radv: add support for vk_x11_override_min_image_count</li>
223 <li>drirc: override minImageCount=2 for gfxbench</li>
224 <li>gl: drop incorrect pkg-config file for glvnd</li>
225 <li>meson: re-add incorrect pkg-config files with GLVND for backward compatibility</li>
226 </ul>
227
228 <p>Erik Faye-Lund (2):</p>
229 <ul>
230 <li>gallium/auxiliary/indices: consistently apply start only to input</li>
231 <li>util: fix SSE-version needed for double opcodes</li>
232 </ul>
233
234 <p>Haihao Xiang (1):</p>
235 <ul>
236 <li>i965: support AYUV/XYUV for external import only</li>
237 </ul>
238
239 <p>Hal Gentz (2):</p>
240 <ul>
241 <li>glx: Fix SEGV due to dereferencing a NULL ptr from XCB-GLX.</li>
242 <li>gallium/osmesa: Fix the inability to set no context as current.</li>
243 </ul>
244
245 <p>Iago Toral Quiroga (1):</p>
246 <ul>
247 <li>v3d: make sure we have enough space in the CL for the primitive counts packet</li>
248 </ul>
249
250 <p>Ian Romanick (8):</p>
251 <ul>
252 <li>nir/algrbraic: Don't optimize open-coded bitfield reverse when lowering is enabled</li>
253 <li>intel/compiler: Request bitfield_reverse lowering on pre-Gen7 hardware</li>
254 <li>nir/algebraic: Mark some value range analysis-based optimizations imprecise</li>
255 <li>nir/range-analysis: Adjust result range of exp2 to account for flush-to-zero</li>
256 <li>nir/range-analysis: Adjust result range of multiplication to account for flush-to-zero</li>
257 <li>nir/range-analysis: Fix incorrect fadd range result for (ne_zero, ne_zero)</li>
258 <li>nir/range-analysis: Handle constants in nir_op_mov just like nir_op_bcsel</li>
259 <li>nir/algebraic: Do not apply late DPH optimization in vertex processing stages</li>
260 </ul>
261
262 <p>Ilia Mirkin (1):</p>
263 <ul>
264 <li>gallium/vl: use compute preference for all multimedia, not just blit</li>
265 </ul>
266
267 <p>Jason Ekstrand (9):</p>
268 <ul>
269 <li>anv: Bump maxComputeWorkgroupSize</li>
270 <li>nir: Handle complex derefs in nir_split_array_vars</li>
271 <li>nir: Don't infinitely recurse in lower_ssa_defs_to_regs_block</li>
272 <li>nir: Add a block_is_unreachable helper</li>
273 <li>nir/repair_ssa: Repair dominance for unreachable blocks</li>
274 <li>nir/repair_ssa: Insert deref casts when needed</li>
275 <li>nir/dead_cf: Repair SSA if the pass makes progress</li>
276 <li>intel/fs: Handle UNDEF in split_virtual_grfs</li>
277 <li>nir/repair_ssa: Replace the unreachable check with the phi builder</li>
278 </ul>
279
280 <p>Jonathan Marek (1):</p>
281 <ul>
282 <li>freedreno/a2xx: ir2: fix lowering of instructions after float lowering</li>
283 </ul>
284
285 <p>Jose Maria Casanova Crespo (1):</p>
286 <ul>
287 <li>mesa: recover target_check before get_current_tex_objects</li>
288 </ul>
289
290 <p>Juan A. Suarez Romero (1):</p>
291 <ul>
292 <li>bin/get-pick-list.sh: sha1 commits can be smaller than 8 chars</li>
293 </ul>
294
295 <p>Kenneth Graunke (20):</p>
296 <ul>
297 <li>gallium/ddebug: Wrap resource_get_param if available</li>
298 <li>gallium/trace: Wrap resource_get_param if available</li>
299 <li>gallium/rbug: Wrap resource_get_param if available</li>
300 <li>gallium/noop: Implement resource_get_param</li>
301 <li>iris: Replace devinfo-&gt;gen with GEN_GEN</li>
302 <li>iris: Fix broken aux.possible/sampler_usages bitmask handling</li>
303 <li>iris: Update fast clear colors on Gen9 with direct immediate writes.</li>
304 <li>iris: Drop copy format hacks from copy region based transfer path.</li>
305 <li>iris: Avoid unnecessary resolves on transfer maps</li>
306 <li>iris: Fix large timeout handling in rel2abs()</li>
307 <li>isl: Drop UnormPathInColorPipe for buffer surfaces.</li>
308 <li>isl: Don't set UnormPathInColorPipe for integer surfaces.</li>
309 <li>util: Add a _mesa_i64roundevenf() helper.</li>
310 <li>mesa: Fix _mesa_float_to_unorm() on 32-bit systems.</li>
311 <li>iris: Fix partial fast clear checks to account for miplevel.</li>
312 <li>iris: Report correct number of planes for planar images</li>
313 <li>iris: Fix constant buffer sizes for non-UBOs</li>
314 <li>gallium: Fix util_format_get_depth_only</li>
315 <li>iris: Initialize ice-&gt;state.prim_mode to an invalid value</li>
316 <li>intel: Increase Gen11 compute shader scratch IDs to 64.</li>
317 </ul>
318
319 <p>Lepton Wu (1):</p>
320 <ul>
321 <li>virgl: Fix pipe_resource leaks under multi-sample.</li>
322 </ul>
323
324 <p>Lionel Landwerlin (9):</p>
325 <ul>
326 <li>util/timespec: use unsigned 64 bit integers for nsec values</li>
327 <li>util: fix compilation on macos</li>
328 <li>egl: fix platform selection</li>
329 <li>vulkan/overlay: bounce image back to present layout</li>
330 <li>radv: store engine name</li>
331 <li>driconfig: add a new engine name/version parameter</li>
332 <li>vulkan: add vk_x11_strict_image_count option</li>
333 <li>util/xmlconfig: fix regexp compile failure check</li>
334 <li>drirc: include unreal engine version 0 to 23</li>
335 </ul>
336
337 <p>Marek Olšák (23):</p>
338 <ul>
339 <li>radeonsi/gfx10: fix the legacy pipeline by storing as_ngg in the shader cache</li>
340 <li>radeonsi: move some global shader cache flags to per-binary flags</li>
341 <li>radeonsi/gfx10: fix tessellation for the legacy pipeline</li>
342 <li>radeonsi/gfx10: fix the PRIMITIVES_GENERATED query if using legacy streamout</li>
343 <li>radeonsi/gfx10: create the GS copy shader if using legacy streamout</li>
344 <li>radeonsi/gfx10: add as_ngg variant for VS as ES to select Wave32/64</li>
345 <li>radeonsi/gfx10: fix InstanceID for legacy VS+GS</li>
346 <li>radeonsi/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0</li>
347 <li>radeonsi/gfx10: always use the legacy pipeline for streamout</li>
348 <li>radeonsi/gfx10: finish up Navi14, add PCI ID</li>
349 <li>radeonsi/gfx10: add AMD_DEBUG=nongg</li>
350 <li>winsys/amdgpu+radeon: process AMD_DEBUG in addition to R600_DEBUG</li>
351 <li>radeonsi: add PKT3_CONTEXT_REG_RMW</li>
352 <li>radeonsi/gfx10: remove incorrect ngg/pos_writes_edgeflag variables</li>
353 <li>radeonsi/gfx10: set PA_CL_VS_OUT_CNTL with CONTEXT_REG_RMW to fix edge flags</li>
354 <li>radeonsi: consolidate determining VGPR_COMP_CNT for API VS</li>
355 <li>radeonsi: unbind blend/DSA/rasterizer state correctly in delete functions</li>
356 <li>radeonsi: fix scratch buffer WAVESIZE setting leading to corruption</li>
357 <li>radeonsi/gfx10: don't call gfx10_destroy_query with compute-only contexts</li>
358 <li>radeonsi/gfx10: fix wave occupancy computations</li>
359 <li>radeonsi: add Navi12 PCI ID</li>
360 <li>amd: add more PCI IDs for Navi14</li>
361 <li>ac/addrlib: fix chip identification for Vega10, Arcturus, Raven2, Renoir</li>
362 </ul>
363
364 <p>Mauro Rossi (2):</p>
365 <ul>
366 <li>android: mesa: revert "Enable asm unconditionally"</li>
367 <li>android: anv: libmesa_vulkan_common: add libmesa_util static dependency</li>
368 </ul>
369
370 <p>Paulo Zanoni (2):</p>
371 <ul>
372 <li>intel/fs: grab fail_msg from v32 instead of v16 when v32-&gt;run_cs fails</li>
373 <li>intel/fs: fix SHADER_OPCODE_CLUSTER_BROADCAST for SIMD32</li>
374 </ul>
375
376 <p>Pierre-Eric Pelloux-Prayer (1):</p>
377 <ul>
378 <li>glsl: replace 'x + (-x)' with constant 0</li>
379 </ul>
380
381 <p>Rafael Antognolli (1):</p>
382 <ul>
383 <li>anv: Only re-emit non-dynamic state that has changed.</li>
384 </ul>
385
386 <p>Rhys Perry (1):</p>
387 <ul>
388 <li>radv: always emit a position export in gs copy shaders</li>
389 </ul>
390
391 <p>Samuel Iglesias Gonsálvez (1):</p>
392 <ul>
393 <li>intel/nir: do not apply the fsin and fcos trig workarounds for consts</li>
394 </ul>
395
396 <p>Samuel Pitoiset (11):</p>
397 <ul>
398 <li>radv: allow to enable VK_AMD_shader_ballot only on GFX8+</li>
399 <li>radv: add a new debug option called RADV_DEBUG=noshaderballot</li>
400 <li>radv: force enable VK_AMD_shader_ballot for Wolfenstein Youngblood</li>
401 <li>ac: fix exclusive scans on GFX8-GFX9</li>
402 <li>radv/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0</li>
403 <li>radv/gfx10: do not use NGG with NAVI14</li>
404 <li>radv: fix getting the index type size for uint8_t</li>
405 <li>nir: do not assume that the result of fexp2(a) is always an integral</li>
406 <li>radv: fix allocating number of user sgprs if streamout is used</li>
407 <li>radv: fix loading 64-bit GS inputs</li>
408 <li>radv/gfx10: fix VK_KHR_pipeline_executable_properties with NGG GS</li>
409 </ul>
410
411 <p>Sergii Romantsov (2):</p>
412 <ul>
413 <li>intel/dri: finish proper glthread</li>
414 <li>nir/large_constants: more careful data copying</li>
415 </ul>
416
417 <p>Tapani Pälli (5):</p>
418 <ul>
419 <li>util: fix os_create_anonymous_file on android</li>
420 <li>iris/android: fix build and link with libmesa_intel_perf</li>
421 <li>egl: reset blob cache set/get functions on terminate</li>
422 <li>iris: close screen fd on iris_destroy_screen</li>
423 <li>egl: check for NULL value like eglGetSyncAttribKHR does</li>
424 </ul>
425
426 <p>Thong Thai (1):</p>
427 <ul>
428 <li>Revert "radeonsi: don't emit PKT3_CONTEXT_CONTROL on amdgpu"</li>
429 </ul>
430
431 <p>Timur Kristóf (1):</p>
432 <ul>
433 <li>st/nine: Properly initialize GLSL types for NIR shaders.</li>
434 </ul>
435
436 <p>Vinson Lee (2):</p>
437 <ul>
438 <li>swr: Fix build with llvm-9.0 again.</li>
439 <li>travis: Fail build if any command in if statement fails.</li>
440 </ul>
441
442 </div>
443 </body>
444 </html>