aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2017-11-10 00:29:45 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-10 00:34:17 +0000
commitc8dd283c9a784d1e115019f5b4a1b0e082513203 (patch)
tree0c5e3d3cb0b36a177834b9afa4dda2e2a8f52fbe /tools
parent22499b0969ac8650fa1349f2dbb4e4964a2286b9 (diff)
Revert "Dynamically load the vulkan library in our test tools"
This reverts commit 77d6feaa69d95c42f4e77195e92de33917995544. Reason for revert: breaking google 3 Original change's description: > Dynamically load the vulkan library in our test tools > > Bug: skia: > Change-Id: I7c1f6cbb2b50ca284f40cf4b9ef49a76083b38c6 > Reviewed-on: https://skia-review.googlesource.com/68643 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,csmartdalton@google.com Change-Id: I6b2588e71f1876868fcf8f2b3c91a96e7c689045 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69780 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/gpu/vk/VkTestContext.cpp10
-rw-r--r--tools/gpu/vk/VkTestUtils.cpp40
-rw-r--r--tools/gpu/vk/VkTestUtils.h21
-rw-r--r--tools/viewer/sk_app/VulkanWindowContext.cpp15
-rw-r--r--tools/viewer/sk_app/VulkanWindowContext.h9
-rw-r--r--tools/viewer/sk_app/android/VulkanWindowContext_android.cpp16
-rw-r--r--tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp21
-rw-r--r--tools/viewer/sk_app/win/VulkanWindowContext_win.cpp22
8 files changed, 28 insertions, 126 deletions
diff --git a/tools/gpu/vk/VkTestContext.cpp b/tools/gpu/vk/VkTestContext.cpp
index daaa55bfa0..e329583a03 100644
--- a/tools/gpu/vk/VkTestContext.cpp
+++ b/tools/gpu/vk/VkTestContext.cpp
@@ -10,9 +10,9 @@
#ifdef SK_VULKAN
#include "GrContext.h"
-#include "VkTestUtils.h"
#include "vk/GrVkInterface.h"
#include "vk/GrVkUtil.h"
+#include <vulkan/vulkan.h>
namespace {
/**
@@ -114,12 +114,8 @@ public:
if (sharedContext) {
backendContext = sharedContext->getVkBackendContext();
} else {
- PFN_vkGetInstanceProcAddr instProc;
- PFN_vkGetDeviceProcAddr devProc;
- if (!sk_gpu_test::LoadVkLibraryAndGetProcAddrFuncs(&instProc, &devProc)) {
- return nullptr;
- }
- backendContext.reset(GrVkBackendContext::Create(instProc, devProc));
+ backendContext.reset(GrVkBackendContext::Create(vkGetInstanceProcAddr,
+ vkGetDeviceProcAddr));
}
if (!backendContext) {
return nullptr;
diff --git a/tools/gpu/vk/VkTestUtils.cpp b/tools/gpu/vk/VkTestUtils.cpp
deleted file mode 100644
index 62fd312ecf..0000000000
--- a/tools/gpu/vk/VkTestUtils.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "VkTestUtils.h"
-
-#include "../ports/SkOSLibrary.h"
-
-namespace sk_gpu_test {
-
-bool LoadVkLibraryAndGetProcAddrFuncs(PFN_vkGetInstanceProcAddr* instProc,
- PFN_vkGetDeviceProcAddr* devProc) {
- static void* vkLib = nullptr;
- static PFN_vkGetInstanceProcAddr localInstProc = nullptr;
- static PFN_vkGetDeviceProcAddr localDevProc = nullptr;
- if (!vkLib) {
-#if defined _WIN32
- vkLib = DynamicLoadLibrary("vulkan-1.dll");
-#else
- vkLib = DynamicLoadLibrary("libvulkan.so");
-#endif
- if (!vkLib) {
- return false;
- }
- localInstProc = (PFN_vkGetInstanceProcAddr) GetProcedureAddress(vkLib,
- "vkGetInstanceProcAddr");
- localDevProc = (PFN_vkGetDeviceProcAddr) GetProcedureAddress(vkLib,
- "vkGetDeviceProcAddr");
- }
- if (!localInstProc || !localDevProc) {
- return false;
- }
- *instProc = localInstProc;
- *devProc = localDevProc;
- return true;
-}
-}
diff --git a/tools/gpu/vk/VkTestUtils.h b/tools/gpu/vk/VkTestUtils.h
deleted file mode 100644
index 43e9dfdbdc..0000000000
--- a/tools/gpu/vk/VkTestUtils.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef VkTestUtils_DEFINED
-#define VkTestUtils_DEFINED
-
-#ifdef SK_VULKAN
-
-#include "vk/GrVkDefines.h"
-
-namespace sk_gpu_test {
- bool LoadVkLibraryAndGetProcAddrFuncs(PFN_vkGetInstanceProcAddr*, PFN_vkGetDeviceProcAddr*);
-}
-
-#endif
-#endif
-
diff --git a/tools/viewer/sk_app/VulkanWindowContext.cpp b/tools/viewer/sk_app/VulkanWindowContext.cpp
index 5e0f12412e..a9124d5e41 100644
--- a/tools/viewer/sk_app/VulkanWindowContext.cpp
+++ b/tools/viewer/sk_app/VulkanWindowContext.cpp
@@ -22,16 +22,14 @@
#undef CreateSemaphore
#endif
-#define GET_PROC(F) f ## F = (PFN_vk ## F) fGetInstanceProcAddr(instance, "vk" #F)
-#define GET_DEV_PROC(F) f ## F = (PFN_vk ## F) fGetDeviceProcAddr(device, "vk" #F)
+#define GET_PROC(F) f ## F = (PFN_vk ## F) vkGetInstanceProcAddr(instance, "vk" #F)
+#define GET_DEV_PROC(F) f ## F = (PFN_vk ## F) vkGetDeviceProcAddr(device, "vk" #F)
namespace sk_app {
VulkanWindowContext::VulkanWindowContext(const DisplayParams& params,
CreateVkSurfaceFn createVkSurface,
- CanPresentFn canPresent,
- PFN_vkGetInstanceProcAddr instProc,
- PFN_vkGetDeviceProcAddr devProc)
+ CanPresentFn canPresent)
: WindowContext(params)
, fCreateVkSurfaceFn(createVkSurface)
, fCanPresentFn(canPresent)
@@ -42,14 +40,12 @@ VulkanWindowContext::VulkanWindowContext(const DisplayParams& params,
, fSurfaces(nullptr)
, fCommandPool(VK_NULL_HANDLE)
, fBackbuffers(nullptr) {
- fGetInstanceProcAddr = instProc;
- fGetDeviceProcAddr = devProc;
this->initializeContext();
}
void VulkanWindowContext::initializeContext() {
// any config code here (particularly for msaa)?
- fBackendContext.reset(GrVkBackendContext::Create(fGetInstanceProcAddr, fGetDeviceProcAddr,
+ fBackendContext.reset(GrVkBackendContext::Create(vkGetInstanceProcAddr, vkGetDeviceProcAddr,
&fPresentQueueIndex, fCanPresentFn));
if (!(fBackendContext->fExtensions & kKHR_surface_GrVkExtensionFlag) ||
@@ -70,7 +66,6 @@ void VulkanWindowContext::initializeContext() {
GET_DEV_PROC(GetSwapchainImagesKHR);
GET_DEV_PROC(AcquireNextImageKHR);
GET_DEV_PROC(QueuePresentKHR);
- GET_DEV_PROC(GetDeviceQueue);
fContext = GrContext::MakeVulkan(fBackendContext.get(), fDisplayParams.fGrContextOptions);
@@ -95,7 +90,7 @@ void VulkanWindowContext::initializeContext() {
}
// create presentQueue
- fGetDeviceQueue(fBackendContext->fDevice, fPresentQueueIndex, 0, &fPresentQueue);
+ vkGetDeviceQueue(fBackendContext->fDevice, fPresentQueueIndex, 0, &fPresentQueue);
}
bool VulkanWindowContext::createSwapchain(int width, int height,
diff --git a/tools/viewer/sk_app/VulkanWindowContext.h b/tools/viewer/sk_app/VulkanWindowContext.h
index d02b11428e..81e5f3d2d5 100644
--- a/tools/viewer/sk_app/VulkanWindowContext.h
+++ b/tools/viewer/sk_app/VulkanWindowContext.h
@@ -47,8 +47,7 @@ public:
/** Platform specific function that determines whether presentation will succeed. */
using CanPresentFn = GrVkBackendContext::CanPresentFn;
- VulkanWindowContext(const DisplayParams&, CreateVkSurfaceFn, CanPresentFn,
- PFN_vkGetInstanceProcAddr, PFN_vkGetDeviceProcAddr);
+ VulkanWindowContext(const DisplayParams&, CreateVkSurfaceFn, CanPresentFn);
private:
void initializeContext();
@@ -83,10 +82,6 @@ private:
CreateVkSurfaceFn fCreateVkSurfaceFn;
CanPresentFn fCanPresentFn;
- // Vulkan GetProcAddr functions
- VkPtr<PFN_vkGetInstanceProcAddr> fGetInstanceProcAddr;
- VkPtr<PFN_vkGetDeviceProcAddr> fGetDeviceProcAddr;
-
// WSI interface functions
VkPtr<PFN_vkDestroySurfaceKHR> fDestroySurfaceKHR;
VkPtr<PFN_vkGetPhysicalDeviceSurfaceSupportKHR> fGetPhysicalDeviceSurfaceSupportKHR;
@@ -99,7 +94,7 @@ private:
VkPtr<PFN_vkGetSwapchainImagesKHR> fGetSwapchainImagesKHR;
VkPtr<PFN_vkAcquireNextImageKHR> fAcquireNextImageKHR;
VkPtr<PFN_vkQueuePresentKHR> fQueuePresentKHR;
- VkPtr<PFN_vkGetDeviceQueue> fGetDeviceQueue;
+ VkPtr<PFN_vkCreateSharedSwapchainsKHR> fCreateSharedSwapchainsKHR;
VkSurfaceKHR fSurface;
VkSwapchainKHR fSwapchain;
diff --git a/tools/viewer/sk_app/android/VulkanWindowContext_android.cpp b/tools/viewer/sk_app/android/VulkanWindowContext_android.cpp
index a7d8aa7ea1..b50e152291 100644
--- a/tools/viewer/sk_app/android/VulkanWindowContext_android.cpp
+++ b/tools/viewer/sk_app/android/VulkanWindowContext_android.cpp
@@ -9,22 +9,15 @@
#include "WindowContextFactory_android.h"
#include "../VulkanWindowContext.h"
-#include "vk/VkTestUtils.h"
-
namespace sk_app {
namespace window_context_factory {
WindowContext* NewVulkanForAndroid(ANativeWindow* window, const DisplayParams& params) {
- PFN_vkGetInstanceProcAddr instProc;
- PFN_vkGetDeviceProcAddr devProc;
- if (!sk_gpu_test::LoadVkLibraryAndGetProcAddrFuncs(&instProc, &devProc)) {
- return nullptr;
- }
-
- auto createVkSurface = [window, instProc] (VkInstance instance) -> VkSurfaceKHR {
+ auto createVkSurface = [window] (VkInstance instance) -> VkSurfaceKHR {
PFN_vkCreateAndroidSurfaceKHR createAndroidSurfaceKHR =
- (PFN_vkCreateAndroidSurfaceKHR) instProc(instance, "vkCreateAndroidSurfaceKHR");
+ (PFN_vkCreateAndroidSurfaceKHR)vkGetInstanceProcAddr(instance,
+ "vkCreateAndroidSurfaceKHR");
if (!window) {
return VK_NULL_HANDLE;
@@ -45,8 +38,7 @@ WindowContext* NewVulkanForAndroid(ANativeWindow* window, const DisplayParams& p
auto canPresent = [](VkInstance, VkPhysicalDevice, uint32_t) { return true; };
- WindowContext* ctx = new VulkanWindowContext(params, createVkSurface, canPresent,
- instProc, devProc);
+ WindowContext* ctx = new VulkanWindowContext(params, createVkSurface, canPresent);
if (!ctx->isValid()) {
delete ctx;
return nullptr;
diff --git a/tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp b/tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp
index b2f1ffc763..b94e8edc20 100644
--- a/tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp
+++ b/tools/viewer/sk_app/unix/VulkanWindowContext_unix.cpp
@@ -10,8 +10,6 @@
#include "vk/GrVkInterface.h"
#include "vk/GrVkUtil.h"
-#include "vk/VkTestUtils.h"
-
#include <X11/Xlib-xcb.h>
#include "WindowContextFactory_unix.h"
@@ -22,17 +20,12 @@ namespace sk_app {
namespace window_context_factory {
WindowContext* NewVulkanForXlib(const XlibWindowInfo& info, const DisplayParams& displayParams) {
- PFN_vkGetInstanceProcAddr instProc;
- PFN_vkGetDeviceProcAddr devProc;
- if (!sk_gpu_test::LoadVkLibraryAndGetProcAddrFuncs(&instProc, &devProc)) {
- return nullptr;
- }
-
- auto createVkSurface = [&info, instProc](VkInstance instance) -> VkSurfaceKHR {
+ auto createVkSurface = [&info](VkInstance instance) -> VkSurfaceKHR {
static PFN_vkCreateXcbSurfaceKHR createXcbSurfaceKHR = nullptr;
if (!createXcbSurfaceKHR) {
createXcbSurfaceKHR =
- (PFN_vkCreateXcbSurfaceKHR) instProc(instance, "vkCreateXcbSurfaceKHR");
+ (PFN_vkCreateXcbSurfaceKHR) vkGetInstanceProcAddr(instance,
+ "vkCreateXcbSurfaceKHR");
}
VkSurfaceKHR surface;
@@ -53,14 +46,15 @@ WindowContext* NewVulkanForXlib(const XlibWindowInfo& info, const DisplayParams&
return surface;
};
- auto canPresent = [&info, instProc](VkInstance instance, VkPhysicalDevice physDev,
+ auto canPresent = [&info](VkInstance instance, VkPhysicalDevice physDev,
uint32_t queueFamilyIndex) {
static PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR
getPhysicalDeviceXcbPresentationSupportKHR = nullptr;
if (!getPhysicalDeviceXcbPresentationSupportKHR) {
getPhysicalDeviceXcbPresentationSupportKHR =
(PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)
- instProc(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
+ vkGetInstanceProcAddr(instance,
+ "vkGetPhysicalDeviceXcbPresentationSupportKHR");
}
@@ -72,8 +66,7 @@ WindowContext* NewVulkanForXlib(const XlibWindowInfo& info, const DisplayParams&
visualID);
return (VK_FALSE != check);
};
- WindowContext* context = new VulkanWindowContext(displayParams, createVkSurface, canPresent,
- instProc, devProc);
+ WindowContext* context = new VulkanWindowContext(displayParams, createVkSurface, canPresent);
if (!context->isValid()) {
delete context;
return nullptr;
diff --git a/tools/viewer/sk_app/win/VulkanWindowContext_win.cpp b/tools/viewer/sk_app/win/VulkanWindowContext_win.cpp
index 16c527cba0..dbb59c10f2 100644
--- a/tools/viewer/sk_app/win/VulkanWindowContext_win.cpp
+++ b/tools/viewer/sk_app/win/VulkanWindowContext_win.cpp
@@ -15,23 +15,15 @@
#include "vk/GrVkInterface.h"
#include "vk/GrVkUtil.h"
-#include "vk/VkTestUtils.h"
-
namespace sk_app {
namespace window_context_factory {
WindowContext* NewVulkanForWin(HWND hwnd, const DisplayParams& params) {
- PFN_vkGetInstanceProcAddr instProc;
- PFN_vkGetDeviceProcAddr devProc;
- if (!sk_gpu_test::LoadVkLibraryAndGetProcAddrFuncs(&instProc, &devProc)) {
- return nullptr;
- }
-
- auto createVkSurface = [hwnd, instProc] (VkInstance instance) -> VkSurfaceKHR {
+ auto createVkSurface = [hwnd] (VkInstance instance) -> VkSurfaceKHR {
static PFN_vkCreateWin32SurfaceKHR createWin32SurfaceKHR = nullptr;
if (!createWin32SurfaceKHR) {
createWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)
- instProc(instance, "vkCreateWin32SurfaceKHR");
+ vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR");
}
HINSTANCE hinstance = GetModuleHandle(0);
VkSurfaceKHR surface;
@@ -52,22 +44,22 @@ WindowContext* NewVulkanForWin(HWND hwnd, const DisplayParams& params) {
return surface;
};
- auto canPresent = [instProc] (VkInstance instance, VkPhysicalDevice physDev,
- uint32_t queueFamilyIndex) {
+ auto canPresent = [] (VkInstance instance, VkPhysicalDevice physDev,
+ uint32_t queueFamilyIndex) {
static PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR
getPhysicalDeviceWin32PresentationSupportKHR = nullptr;
if (!getPhysicalDeviceWin32PresentationSupportKHR) {
getPhysicalDeviceWin32PresentationSupportKHR =
(PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)
- instProc(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
+ vkGetInstanceProcAddr(instance,
+ "vkGetPhysicalDeviceWin32PresentationSupportKHR");
}
VkBool32 check = getPhysicalDeviceWin32PresentationSupportKHR(physDev, queueFamilyIndex);
return (VK_FALSE != check);
};
- WindowContext* ctx = new VulkanWindowContext(params, createVkSurface, canPresent,
- instProc, devProc);
+ WindowContext* ctx = new VulkanWindowContext(params, createVkSurface, canPresent);
if (!ctx->isValid()) {
delete ctx;
return nullptr;