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