diff --git a/src/intel/vulkan/anv_measure.c b/src/intel/vulkan/anv_measure.c index c77ac00bf71..4114c4add8a 100644 --- a/src/intel/vulkan/anv_measure.c +++ b/src/intel/vulkan/anv_measure.c @@ -426,7 +426,7 @@ _anv_measure_submit(struct anv_cmd_buffer *cmd_buffer) * Hook for the start of a frame. */ void -anv_measure_acquire(struct anv_device *device) +_anv_measure_acquire(struct anv_device *device) { struct intel_measure_config *config = config_from_device(device); struct intel_measure_device *measure_device = &device->physical->measure_device; diff --git a/src/intel/vulkan/anv_measure.h b/src/intel/vulkan/anv_measure.h index bca0fc0c207..a058a5ac51e 100644 --- a/src/intel/vulkan/anv_measure.h +++ b/src/intel/vulkan/anv_measure.h @@ -46,7 +46,7 @@ void _anv_measure_endcommandbuffer(struct anv_cmd_buffer *cmd_buffer); void _anv_measure_beginrenderpass(struct anv_cmd_buffer *cmd_buffer); /* tracks frame progression */ -void anv_measure_acquire(struct anv_device *device); +void _anv_measure_acquire(struct anv_device *device); /* should be combined with endcommandbuffer */ void _anv_measure_submit(struct anv_cmd_buffer *cmd_buffer); @@ -55,6 +55,10 @@ void _anv_measure_add_secondary(struct anv_cmd_buffer *primary, struct anv_cmd_buffer *secondary); +#define anv_measure_acquire(device) \ + if (unlikely(device->physical->measure_device.config)) \ + _anv_measure_acquire(device) + #define anv_measure_snapshot(cmd_buffer, type, event_name, count) \ if (unlikely(cmd_buffer->measure)) \ _anv_measure_snapshot(cmd_buffer, type, event_name, count) diff --git a/src/intel/vulkan/anv_wsi.c b/src/intel/vulkan/anv_wsi.c index 67ffefd59e4..bffa3beca14 100644 --- a/src/intel/vulkan/anv_wsi.c +++ b/src/intel/vulkan/anv_wsi.c @@ -71,6 +71,22 @@ anv_finish_wsi(struct anv_physical_device *physical_device) &physical_device->instance->vk.alloc); } +VkResult anv_AcquireNextImage2KHR( + VkDevice _device, + const VkAcquireNextImageInfoKHR *pAcquireInfo, + uint32_t *pImageIndex) +{ + VK_FROM_HANDLE(anv_device, device, _device); + + VkResult result = + wsi_common_acquire_next_image2(&device->physical->wsi_device, + _device, pAcquireInfo, pImageIndex); + if (result == VK_SUCCESS) + anv_measure_acquire(device); + + return result; +} + VkResult anv_QueuePresentKHR( VkQueue _queue, const VkPresentInfoKHR* pPresentInfo)