Commit 1d287ca4 authored by Michael Spang's avatar Michael Spang Committed by Commit Bot

ozone: demo: Fix build after vulkan bindings change

The method of calling functions now uses a macro to hide the
gpu::VulkanFunctionPointers. Fix the ozone_demo build after
this change.

Bug: none
Test: compile
Change-Id: Ia5aa9666eb3925135f89ece810862492b305c403
Reviewed-on: https://chromium-review.googlesource.com/1124991Reviewed-by: default avatarChris Blume <cblume@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572368}
parent d0904afe
...@@ -43,7 +43,6 @@ VulkanOverlayRenderer::VulkanOverlayRenderer( ...@@ -43,7 +43,6 @@ VulkanOverlayRenderer::VulkanOverlayRenderer(
: RendererBase(widget, size), : RendererBase(widget, size),
surface_factory_ozone_(surface_factory_ozone), surface_factory_ozone_(surface_factory_ozone),
vulkan_implementation_(vulkan_implementation), vulkan_implementation_(vulkan_implementation),
vulkan_function_pointers_(gpu::GetVulkanFunctionPointers()),
overlay_surface_(std::move(overlay_surface)), overlay_surface_(std::move(overlay_surface)),
weak_ptr_factory_(this) {} weak_ptr_factory_(this) {}
...@@ -98,9 +97,8 @@ bool VulkanOverlayRenderer::Initialize() { ...@@ -98,9 +97,8 @@ bool VulkanOverlayRenderer::Initialize() {
.dependencyCount = 0, .dependencyCount = 0,
}; };
CHECK_EQ(vulkan_function_pointers_->vkCreateRenderPass( CHECK_EQ(vkCreateRenderPass(device_queue_->GetVulkanDevice(),
device_queue_->GetVulkanDevice(), &render_pass_create_info, &render_pass_create_info, nullptr, &render_pass_),
nullptr, &render_pass_),
VK_SUCCESS); VK_SUCCESS);
command_pool_ = std::make_unique<gpu::VulkanCommandPool>(device_queue_.get()); command_pool_ = std::make_unique<gpu::VulkanCommandPool>(device_queue_.get());
...@@ -122,14 +120,10 @@ void VulkanOverlayRenderer::DestroyBuffers() { ...@@ -122,14 +120,10 @@ void VulkanOverlayRenderer::DestroyBuffers() {
for (std::unique_ptr<Buffer>& buffer : buffers_) { for (std::unique_ptr<Buffer>& buffer : buffers_) {
if (!buffer) if (!buffer)
continue; continue;
vulkan_function_pointers_->vkDestroyFramebuffer( vkDestroyFramebuffer(vk_device, buffer->vk_framebuffer(), nullptr);
vk_device, buffer->vk_framebuffer(), nullptr); vkDestroyImageView(vk_device, buffer->vk_image_view(), nullptr);
vulkan_function_pointers_->vkDestroyImageView( vkDestroyImage(vk_device, buffer->vk_image(), nullptr);
vk_device, buffer->vk_image_view(), nullptr); vkFreeMemory(vk_device, buffer->vk_device_memory(), nullptr);
vulkan_function_pointers_->vkDestroyImage(vk_device, buffer->vk_image(),
nullptr);
vulkan_function_pointers_->vkFreeMemory(
vk_device, buffer->vk_device_memory(), nullptr);
buffer.reset(); buffer.reset();
} }
} }
...@@ -140,9 +134,9 @@ void VulkanOverlayRenderer::RecreateBuffers() { ...@@ -140,9 +134,9 @@ void VulkanOverlayRenderer::RecreateBuffers() {
DestroyBuffers(); DestroyBuffers();
for (auto& buffer : buffers_) { for (auto& buffer : buffers_) {
buffer = Buffer::Create(surface_factory_ozone_, vulkan_function_pointers_, buffer =
device_queue_->GetVulkanDevice(), render_pass_, Buffer::Create(surface_factory_ozone_, device_queue_->GetVulkanDevice(),
widget_, size_); render_pass_, widget_, size_);
CHECK(buffer); CHECK(buffer);
} }
} }
...@@ -171,18 +165,18 @@ void VulkanOverlayRenderer::RenderFrame() { ...@@ -171,18 +165,18 @@ void VulkanOverlayRenderer::RenderFrame() {
begin_info.clearValueCount = 1; begin_info.clearValueCount = 1;
begin_info.pClearValues = &clear_value; begin_info.pClearValues = &clear_value;
vulkan_function_pointers_->vkCmdBeginRenderPass( vkCmdBeginRenderPass(recorder.handle(), &begin_info,
recorder.handle(), &begin_info, VK_SUBPASS_CONTENTS_INLINE); VK_SUBPASS_CONTENTS_INLINE);
vulkan_function_pointers_->vkCmdEndRenderPass(recorder.handle()); vkCmdEndRenderPass(recorder.handle());
} }
VkSemaphoreCreateInfo sem_create_info = { VkSemaphoreCreateInfo sem_create_info = {
.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
}; };
VkSemaphore semaphore; VkSemaphore semaphore;
vulkan_function_pointers_->vkCreateSemaphore( vkCreateSemaphore(device_queue_->GetVulkanDevice(), &sem_create_info, NULL,
device_queue_->GetVulkanDevice(), &sem_create_info, NULL, &semaphore); &semaphore);
command_buffer_->Submit(1, &semaphore, 0, nullptr); command_buffer_->Submit(1, &semaphore, 0, nullptr);
...@@ -264,7 +258,6 @@ VulkanOverlayRenderer::Buffer::~Buffer() {} ...@@ -264,7 +258,6 @@ VulkanOverlayRenderer::Buffer::~Buffer() {}
std::unique_ptr<VulkanOverlayRenderer::Buffer> std::unique_ptr<VulkanOverlayRenderer::Buffer>
VulkanOverlayRenderer::Buffer::Create( VulkanOverlayRenderer::Buffer::Create(
SurfaceFactoryOzone* surface_factory_ozone, SurfaceFactoryOzone* surface_factory_ozone,
const gpu::VulkanFunctionPointers* vulkan_function_pointers,
VkDevice vk_device, VkDevice vk_device,
VkRenderPass vk_render_pass, VkRenderPass vk_render_pass,
gfx::AcceleratedWidget widget, gfx::AcceleratedWidget widget,
...@@ -275,8 +268,8 @@ VulkanOverlayRenderer::Buffer::Create( ...@@ -275,8 +268,8 @@ VulkanOverlayRenderer::Buffer::Create(
VkDeviceMemory vk_device_memory = VK_NULL_HANDLE; VkDeviceMemory vk_device_memory = VK_NULL_HANDLE;
scoped_refptr<gfx::NativePixmap> native_pixmap = scoped_refptr<gfx::NativePixmap> native_pixmap =
surface_factory_ozone->CreateNativePixmapForVulkan( surface_factory_ozone->CreateNativePixmapForVulkan(
widget, size, format, gfx::BufferUsage::SCANOUT, widget, size, format, gfx::BufferUsage::SCANOUT, vk_device,
vulkan_function_pointers, vk_device, &vk_device_memory, &vk_image); &vk_device_memory, &vk_image);
if (!native_pixmap) { if (!native_pixmap) {
LOG(FATAL) LOG(FATAL)
<< "Failed to create a presentable buffer for rendering with vulkan"; << "Failed to create a presentable buffer for rendering with vulkan";
...@@ -306,8 +299,8 @@ VulkanOverlayRenderer::Buffer::Create( ...@@ -306,8 +299,8 @@ VulkanOverlayRenderer::Buffer::Create(
VkResult result; VkResult result;
VkImageView vk_image_view = VK_NULL_HANDLE; VkImageView vk_image_view = VK_NULL_HANDLE;
result = vulkan_function_pointers->vkCreateImageView( result = vkCreateImageView(vk_device, &vk_image_view_create_info, nullptr,
vk_device, &vk_image_view_create_info, nullptr, &vk_image_view); &vk_image_view);
if (result != VK_SUCCESS) { if (result != VK_SUCCESS) {
LOG(FATAL) << "Failed to create a Vulkan image view."; LOG(FATAL) << "Failed to create a Vulkan image view.";
} }
...@@ -322,8 +315,8 @@ VulkanOverlayRenderer::Buffer::Create( ...@@ -322,8 +315,8 @@ VulkanOverlayRenderer::Buffer::Create(
}; };
VkFramebuffer vk_framebuffer = VK_NULL_HANDLE; VkFramebuffer vk_framebuffer = VK_NULL_HANDLE;
result = vulkan_function_pointers->vkCreateFramebuffer( result = vkCreateFramebuffer(vk_device, &vk_framebuffer_create_info, nullptr,
vk_device, &vk_framebuffer_create_info, nullptr, &vk_framebuffer); &vk_framebuffer);
if (result != VK_SUCCESS) { if (result != VK_SUCCESS) {
LOG(FATAL) << "Failed to create a Vulkan framebuffer."; LOG(FATAL) << "Failed to create a Vulkan framebuffer.";
} }
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "gpu/vulkan/vulkan_function_pointers.h"
#include "ui/gfx/buffer_types.h" #include "ui/gfx/buffer_types.h"
#include "ui/gfx/presentation_feedback.h" #include "ui/gfx/presentation_feedback.h"
#include "ui/gfx/swap_result.h" #include "ui/gfx/swap_result.h"
...@@ -65,7 +64,6 @@ class VulkanOverlayRenderer : public RendererBase { ...@@ -65,7 +64,6 @@ class VulkanOverlayRenderer : public RendererBase {
static std::unique_ptr<Buffer> Create( static std::unique_ptr<Buffer> Create(
SurfaceFactoryOzone* surface_factory_ozone, SurfaceFactoryOzone* surface_factory_ozone,
const gpu::VulkanFunctionPointers* vulkan_function_pointers,
VkDevice vk_device, VkDevice vk_device,
VkRenderPass vk_render_pass, VkRenderPass vk_render_pass,
gfx::AcceleratedWidget widget, gfx::AcceleratedWidget widget,
...@@ -96,7 +94,6 @@ class VulkanOverlayRenderer : public RendererBase { ...@@ -96,7 +94,6 @@ class VulkanOverlayRenderer : public RendererBase {
SurfaceFactoryOzone* const surface_factory_ozone_; SurfaceFactoryOzone* const surface_factory_ozone_;
gpu::VulkanImplementation* const vulkan_implementation_; gpu::VulkanImplementation* const vulkan_implementation_;
const gpu::VulkanFunctionPointers* const vulkan_function_pointers_;
std::unique_ptr<gpu::VulkanDeviceQueue> device_queue_; std::unique_ptr<gpu::VulkanDeviceQueue> device_queue_;
std::unique_ptr<gpu::VulkanCommandPool> command_pool_; std::unique_ptr<gpu::VulkanCommandPool> command_pool_;
std::unique_ptr<gpu::VulkanCommandBuffer> command_buffer_; std::unique_ptr<gpu::VulkanCommandBuffer> command_buffer_;
......
...@@ -145,7 +145,6 @@ scoped_refptr<gfx::NativePixmap> GbmSurfaceFactory::CreateNativePixmapForVulkan( ...@@ -145,7 +145,6 @@ scoped_refptr<gfx::NativePixmap> GbmSurfaceFactory::CreateNativePixmapForVulkan(
gfx::Size size, gfx::Size size,
gfx::BufferFormat format, gfx::BufferFormat format,
gfx::BufferUsage usage, gfx::BufferUsage usage,
const gpu::VulkanFunctionPointers* vulkan_function_pointers,
VkDevice vk_device, VkDevice vk_device,
VkDeviceMemory* vk_device_memory, VkDeviceMemory* vk_device_memory,
VkImage* vk_image) { VkImage* vk_image) {
...@@ -157,8 +156,7 @@ scoped_refptr<gfx::NativePixmap> GbmSurfaceFactory::CreateNativePixmapForVulkan( ...@@ -157,8 +156,7 @@ scoped_refptr<gfx::NativePixmap> GbmSurfaceFactory::CreateNativePixmapForVulkan(
PFN_vkCreateDmaBufImageINTEL create_dma_buf_image_intel = PFN_vkCreateDmaBufImageINTEL create_dma_buf_image_intel =
reinterpret_cast<PFN_vkCreateDmaBufImageINTEL>( reinterpret_cast<PFN_vkCreateDmaBufImageINTEL>(
vulkan_function_pointers->vkGetDeviceProcAddr( vkGetDeviceProcAddr(vk_device, "vkCreateDmaBufImageINTEL"));
vk_device, "vkCreateDmaBufImageINTEL"));
if (!create_dma_buf_image_intel) { if (!create_dma_buf_image_intel) {
LOG(ERROR) << "Scanout buffers can only be imported into vulkan when " LOG(ERROR) << "Scanout buffers can only be imported into vulkan when "
"vkCreateDmaBufImageINTEL is available."; "vkCreateDmaBufImageINTEL is available.";
......
...@@ -46,7 +46,6 @@ class GbmSurfaceFactory : public SurfaceFactoryOzone { ...@@ -46,7 +46,6 @@ class GbmSurfaceFactory : public SurfaceFactoryOzone {
gfx::Size size, gfx::Size size,
gfx::BufferFormat format, gfx::BufferFormat format,
gfx::BufferUsage usage, gfx::BufferUsage usage,
const gpu::VulkanFunctionPointers* vulkan_function_pointers,
VkDevice vk_device, VkDevice vk_device,
VkDeviceMemory* vk_device_memory, VkDeviceMemory* vk_device_memory,
VkImage* vk_image) override; VkImage* vk_image) override;
......
...@@ -38,7 +38,7 @@ bool VulkanImplementationGbm::InitializeVulkanInstance() { ...@@ -38,7 +38,7 @@ bool VulkanImplementationGbm::InitializeVulkanInstance() {
vkGetPhysicalDeviceExternalFencePropertiesKHR_ = vkGetPhysicalDeviceExternalFencePropertiesKHR_ =
reinterpret_cast<PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR>( reinterpret_cast<PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR>(
vulkan_function_pointers->vkGetInstanceProcAddr( vkGetInstanceProcAddr(
vulkan_instance_.vk_instance(), vulkan_instance_.vk_instance(),
"vkGetPhysicalDeviceExternalFencePropertiesKHR")); "vkGetPhysicalDeviceExternalFencePropertiesKHR"));
if (!vkGetPhysicalDeviceExternalFencePropertiesKHR_) { if (!vkGetPhysicalDeviceExternalFencePropertiesKHR_) {
...@@ -47,8 +47,7 @@ bool VulkanImplementationGbm::InitializeVulkanInstance() { ...@@ -47,8 +47,7 @@ bool VulkanImplementationGbm::InitializeVulkanInstance() {
} }
vkGetFenceFdKHR_ = reinterpret_cast<PFN_vkGetFenceFdKHR>( vkGetFenceFdKHR_ = reinterpret_cast<PFN_vkGetFenceFdKHR>(
vulkan_function_pointers->vkGetInstanceProcAddr( vkGetInstanceProcAddr(vulkan_instance_.vk_instance(), "vkGetFenceFdKHR"));
vulkan_instance_.vk_instance(), "vkGetFenceFdKHR"));
if (!vkGetFenceFdKHR_) { if (!vkGetFenceFdKHR_) {
vulkan_instance_.Destroy(); vulkan_instance_.Destroy();
return false; return false;
...@@ -101,8 +100,8 @@ VkFence VulkanImplementationGbm::CreateVkFenceForGpuFence(VkDevice vk_device) { ...@@ -101,8 +100,8 @@ VkFence VulkanImplementationGbm::CreateVkFenceForGpuFence(VkDevice vk_device) {
VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT; VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
VkFence fence; VkFence fence;
VkResult result = gpu::GetVulkanFunctionPointers()->vkCreateFence( VkResult result =
vk_device, &fence_create_info, nullptr, &fence); vkCreateFence(vk_device, &fence_create_info, nullptr, &fence);
if (result != VK_SUCCESS) { if (result != VK_SUCCESS) {
DLOG(ERROR) << "vkCreateFence failed: " << result; DLOG(ERROR) << "vkCreateFence failed: " << result;
return VK_NULL_HANDLE; return VK_NULL_HANDLE;
......
...@@ -28,7 +28,7 @@ class VulkanImplementationGbm : public gpu::VulkanImplementation { ...@@ -28,7 +28,7 @@ class VulkanImplementationGbm : public gpu::VulkanImplementation {
uint32_t queue_family_index) override; uint32_t queue_family_index) override;
std::vector<const char*> GetRequiredDeviceExtensions() override; std::vector<const char*> GetRequiredDeviceExtensions() override;
VkFence CreateVkFenceForGpuFence(VkDevice vk_device) override; VkFence CreateVkFenceForGpuFence(VkDevice vk_device) override;
virtual std::unique_ptr<gfx::GpuFence> ExportVkFenceToGpuFence( std::unique_ptr<gfx::GpuFence> ExportVkFenceToGpuFence(
VkDevice vk_device, VkDevice vk_device,
VkFence vk_fence) override; VkFence vk_fence) override;
......
...@@ -43,7 +43,6 @@ SurfaceFactoryOzone::CreateNativePixmapForVulkan( ...@@ -43,7 +43,6 @@ SurfaceFactoryOzone::CreateNativePixmapForVulkan(
gfx::Size size, gfx::Size size,
gfx::BufferFormat format, gfx::BufferFormat format,
gfx::BufferUsage usage, gfx::BufferUsage usage,
const gpu::VulkanFunctionPointers* vulkan_function_pointers,
VkDevice vk_device, VkDevice vk_device,
VkDeviceMemory* vk_device_memory, VkDeviceMemory* vk_device_memory,
VkImage* vk_image) { VkImage* vk_image) {
......
...@@ -32,10 +32,6 @@ namespace gfx { ...@@ -32,10 +32,6 @@ namespace gfx {
class NativePixmap; class NativePixmap;
} }
namespace gpu {
struct VulkanFunctionPointers;
}
namespace ui { namespace ui {
class SurfaceOzoneCanvas; class SurfaceOzoneCanvas;
...@@ -93,7 +89,6 @@ class OZONE_BASE_EXPORT SurfaceFactoryOzone { ...@@ -93,7 +89,6 @@ class OZONE_BASE_EXPORT SurfaceFactoryOzone {
gfx::Size size, gfx::Size size,
gfx::BufferFormat format, gfx::BufferFormat format,
gfx::BufferUsage usage, gfx::BufferUsage usage,
const gpu::VulkanFunctionPointers* vulkan_function_pointers,
VkDevice vk_device, VkDevice vk_device,
VkDeviceMemory* vk_device_memory, VkDeviceMemory* vk_device_memory,
VkImage* vk_image); VkImage* vk_image);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment