Here's a couple of reasonably straightforward extensions implemented for both anv and radv drivers. VK_EXT_display_surface_counter is a very simple extension which adds an API, vkGetPhysicalSurfaceCapabilities2EXT, to extend the existing vkGetPhysicalDeviceSurfaceCapabilitiesKHR and vkGetPhysicalDeviceSurfaceCapablities2KHR interfaces. The new interface uses a slightly different structure that includes a new flags word, "supportedSurfaceCounters". This new field describes the counters available from the underlying WSI layer. As this extension doesn't provide any counters itself, each WSI layer initializes this to zero for now. VK_EXT_display_control is an extension specific to display surfaces (those created via the KHR_display extension). This extension adds DPMS support and fences which signal when vblank or monitor hotplug events happen. I've implemented the DPMS support and the vblank fence stuff; I haven't bothered hooking up the monitor hotplug bits, although it would be fairly simple. To make the fences work on anv, I had to refactor the existing fence waiting code to add the ability to spin waiting for any of a set of heterogeneous fences (a mixture of syncobj and bo fences) to become ready; this mirrors the same functionality in the radv driver, although anv hadn't needed it before as it only supported homogenous fence types (either all syncobj or all bo). I've created a separate patch for this refactoring to try and reduce the difficulty in reviewing that part. -keith _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel