summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-01-24 15:11:01 -0800
committerJason Ekstrand <[email protected]>2017-04-03 13:51:08 -0700
commitf82b6c6272b48b4ce1f267239fa5b1cd3dfffcc7 (patch)
treeaf9d6edfe1a31672da755f392174c43e90fa932e
parent3598a2907c071ca4642b8b247c8b0724681ab869 (diff)
vulkan/wsi: Plumb present regions through the common code
Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Acked-by: Dave Airlie <[email protected]>
-rw-r--r--src/amd/vulkan/radv_wsi.c3
-rw-r--r--src/intel/vulkan/anv_wsi.c3
-rw-r--r--src/vulkan/wsi/wsi_common.h3
-rw-r--r--src/vulkan/wsi/wsi_common_wayland.c3
-rw-r--r--src/vulkan/wsi/wsi_common_x11.c3
5 files changed, 10 insertions, 5 deletions
diff --git a/src/amd/vulkan/radv_wsi.c b/src/amd/vulkan/radv_wsi.c
index d2b760e9356..8b66095b263 100644
--- a/src/amd/vulkan/radv_wsi.c
+++ b/src/amd/vulkan/radv_wsi.c
@@ -485,7 +485,8 @@ VkResult radv_QueuePresentKHR(
fence->submitted = true;
result = swapchain->queue_present(swapchain,
- pPresentInfo->pImageIndices[i]);
+ pPresentInfo->pImageIndices[i],
+ NULL);
/* TODO: What if one of them returns OUT_OF_DATE? */
if (result != VK_SUCCESS)
return result;
diff --git a/src/intel/vulkan/anv_wsi.c b/src/intel/vulkan/anv_wsi.c
index 4236ee14909..45bf8963427 100644
--- a/src/intel/vulkan/anv_wsi.c
+++ b/src/intel/vulkan/anv_wsi.c
@@ -380,7 +380,8 @@ VkResult anv_QueuePresentKHR(
anv_QueueSubmit(_queue, 0, NULL, swapchain->fences[0]);
item_result = swapchain->queue_present(swapchain,
- pPresentInfo->pImageIndices[i]);
+ pPresentInfo->pImageIndices[i],
+ NULL);
/* TODO: What if one of them returns OUT_OF_DATE? */
if (pPresentInfo->pResults != NULL)
pPresentInfo->pResults[i] = item_result;
diff --git a/src/vulkan/wsi/wsi_common.h b/src/vulkan/wsi/wsi_common.h
index 8227c1e4e91..5e77518c098 100644
--- a/src/vulkan/wsi/wsi_common.h
+++ b/src/vulkan/wsi/wsi_common.h
@@ -69,7 +69,8 @@ struct wsi_swapchain {
uint64_t timeout, VkSemaphore semaphore,
uint32_t *image_index);
VkResult (*queue_present)(struct wsi_swapchain *swap_chain,
- uint32_t image_index);
+ uint32_t image_index,
+ const VkPresentRegionKHR *damage);
void (*get_image_and_linear)(struct wsi_swapchain *swapchain,
int imageIndex,
VkImage *image,
diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c
index 2e47183b9d2..26a137c1a0d 100644
--- a/src/vulkan/wsi/wsi_common_wayland.c
+++ b/src/vulkan/wsi/wsi_common_wayland.c
@@ -578,7 +578,8 @@ static const struct wl_callback_listener frame_listener = {
static VkResult
wsi_wl_swapchain_queue_present(struct wsi_swapchain *wsi_chain,
- uint32_t image_index)
+ uint32_t image_index,
+ const VkPresentRegionKHR *damage)
{
struct wsi_wl_swapchain *chain = (struct wsi_wl_swapchain *)wsi_chain;
diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_x11.c
index 4afd6063385..c399aae5afd 100644
--- a/src/vulkan/wsi/wsi_common_x11.c
+++ b/src/vulkan/wsi/wsi_common_x11.c
@@ -860,7 +860,8 @@ x11_acquire_next_image(struct wsi_swapchain *anv_chain,
static VkResult
x11_queue_present(struct wsi_swapchain *anv_chain,
- uint32_t image_index)
+ uint32_t image_index,
+ const VkPresentRegionKHR *damage)
{
struct x11_swapchain *chain = (struct x11_swapchain *)anv_chain;