Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> On Tue, Oct 25, 2016 at 8:13 PM, Dave Airlie <airl...@gmail.com> wrote:
> From: Dave Airlie <airl...@redhat.com> > > This just moves this up a level as x11 will need it to > implement things properly. > > Signed-off-by: Dave Airlie <airl...@redhat.com> > --- > src/vulkan/wsi/wsi_common.h | 1 + > src/vulkan/wsi/wsi_common_wayland.c | 6 +++--- > src/vulkan/wsi/wsi_common_x11.c | 1 + > 3 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/vulkan/wsi/wsi_common.h b/src/vulkan/wsi/wsi_common.h > index ee67511..a1f5a40 100644 > --- a/src/vulkan/wsi/wsi_common.h > +++ b/src/vulkan/wsi/wsi_common.h > @@ -53,6 +53,7 @@ struct wsi_swapchain { > VkAllocationCallbacks alloc; > const struct wsi_image_fns *image_fns; > VkFence fences[3]; > + VkPresentModeKHR present_mode; > > VkResult (*destroy)(struct wsi_swapchain *swapchain, > const VkAllocationCallbacks *pAllocator); > diff --git a/src/vulkan/wsi/wsi_common_wayland.c > b/src/vulkan/wsi/wsi_common_wayland.c > index fc13bde..75af4cf 100644 > --- a/src/vulkan/wsi/wsi_common_wayland.c > +++ b/src/vulkan/wsi/wsi_common_wayland.c > @@ -559,7 +559,7 @@ wsi_wl_swapchain_queue_present(struct wsi_swapchain > *wsi_chain, > { > struct wsi_wl_swapchain *chain = (struct wsi_wl_swapchain *)wsi_chain; > > - if (chain->present_mode == VK_PRESENT_MODE_FIFO_KHR) { > + if (chain->base.present_mode == VK_PRESENT_MODE_FIFO_KHR) { > while (!chain->fifo_ready) { > int ret = wl_display_dispatch_queue(chain->display->display, > chain->queue); > @@ -572,7 +572,7 @@ wsi_wl_swapchain_queue_present(struct wsi_swapchain > *wsi_chain, > wl_surface_attach(chain->surface, chain->images[image_index].buffer, > 0, 0); > wl_surface_damage(chain->surface, 0, 0, INT32_MAX, INT32_MAX); > > - if (chain->present_mode == VK_PRESENT_MODE_FIFO_KHR) { > + if (chain->base.present_mode == VK_PRESENT_MODE_FIFO_KHR) { > struct wl_callback *frame = wl_surface_frame(chain->surface); > wl_proxy_set_queue((struct wl_proxy *)frame, chain->queue); > wl_callback_add_listener(frame, &frame_listener, chain); > @@ -708,12 +708,12 @@ wsi_wl_surface_create_swapchain(VkIcdSurfaceBase > *icd_surface, > chain->base.acquire_next_image = wsi_wl_swapchain_acquire_next_image; > chain->base.queue_present = wsi_wl_swapchain_queue_present; > chain->base.image_fns = image_fns; > + chain->base.present_mode = pCreateInfo->presentMode; > chain->surface = surface->surface; > chain->extent = pCreateInfo->imageExtent; > chain->vk_format = pCreateInfo->imageFormat; > chain->drm_format = wl_drm_format_for_vk_format(chain->vk_format, > false); > > - chain->present_mode = pCreateInfo->presentMode; > chain->fifo_ready = true; > > chain->image_count = num_images; > diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_ > x11.c > index 76c147e..bae1d18 100644 > --- a/src/vulkan/wsi/wsi_common_x11.c > +++ b/src/vulkan/wsi/wsi_common_x11.c > @@ -815,6 +815,7 @@ x11_surface_create_swapchain(VkIcdSurfaceBase > *icd_surface, > chain->base.acquire_next_image = x11_acquire_next_image; > chain->base.queue_present = x11_queue_present; > chain->base.image_fns = image_fns; > + chain->base.present_mode = pCreateInfo->presentMode; > chain->conn = x11_surface_get_connection(icd_surface); > chain->window = x11_surface_get_window(icd_surface); > chain->extent = pCreateInfo->imageExtent; > -- > 2.5.5 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev