mesa/src
Kenneth Graunke e9f9a944d3 iris: Fix export of fences that have already completed.
After flushing batches, iris_fence_flush() asks the kernel whether
each batch's last_syncpt has already signalled or not.  (The idea is
that either the compute or render batch may not have actually had any
work queued up, so last_syncpt there might have been signalled a long
time ago.)  If it's already completed, we don't bother to record it.

A strange corner is the case of repeated flushes.  For example, we
might flush for some reason, and hit a glFlush(), and hit SwapBuffers.
It's possible for all the batches to have been flushed previously, -and-
for them to have actually completed.  In this case, we'll see that there
are no syncobj's to wait on, and record fence->count == 0.

This works fine internally - fence_finish can see count == 0 and realize
that it doesn't need to wait, for example.  But when working with native
FDs, we may be asked to export a fence with count == 0.  So we need an
actual synchronization primitive we can hand off.  Because all of the
relevant batches had been signalled when creating the fence, we want the
new dummy fence to be signalled as well.

So we just make a signalled syncobj and export it.

Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
2020-01-15 14:47:46 -08:00
..
amd ac/cull: don't read Position.Z if it's not needed for culling 2020-01-15 15:06:20 -05:00
broadcom nir/lower_atomics_to_ssbo: Also lower barriers 2020-01-13 17:23:47 +00:00
compiler anv,nir: Lower quad_broadcast with dynamic index in NIR 2020-01-15 08:34:57 -06:00
drm-shim drm-shim: fix EOF case 2019-11-13 12:39:14 +00:00
egl egl/android: Restrict minimum triple buffering for android color_buffers 2020-01-15 09:42:08 +00:00
etnaviv etnaviv: add drm-shim 2019-11-21 22:56:04 +00:00
freedreno turnip: Pretend to support Vulkan 1.2 2020-01-15 08:34:57 -06:00
gallium iris: Fix export of fences that have already completed. 2020-01-15 14:47:46 -08:00
gbm meson: move the generic symbols check arguments to a common variable 2019-11-05 20:30:47 +00:00
getopt meson: build getopt when using msvc 2019-09-10 20:36:47 +00:00
glx dri: Avoid swapbuffer throttling in glXCopySubBufferMESA 2019-10-05 13:19:37 +00:00
gtest meson: gtest needs pthreads 2019-11-07 06:11:19 -08:00
hgl haiku: fix Mesa build 2019-10-01 10:31:02 +00:00
imgui meson: drop intel_ prefix on imgui_core 2019-12-10 15:16:02 +00:00
intel intel/compiler: Fix illegal mutation in get_nir_image_intrinsic_image 2020-01-15 19:25:35 +00:00
loader intel: Use similar brand strings to the Windows drivers 2020-01-13 19:42:35 -08:00
mapi glapi / teximage: implement EGLImageTargetTexStorageEXT 2020-01-13 14:57:18 -08:00
mesa st/mesa: run st_nir_lower_tex_src_plane for lowered xyuv/ayuv 2020-01-15 02:20:00 +00:00
panfrost panfrost: Prefix schedule_program to prevent collision 2020-01-15 22:30:17 +00:00
util vulkan/wsi: Add a driconf option to force WSI to advertise BGRA8_UNORM first 2020-01-14 19:27:13 +00:00
vulkan vulkan/overlay: Fix for Vulkan 1.2 2020-01-15 08:34:57 -06:00
meson.build meson: only build imgui when needed 2019-11-25 07:51:56 +00:00
SConscript