38int main(
int argc,
char** argv) {
40 VkDebugReportCallbackEXT debugCallback;
54 if (!sk_gpu_test::LoadVkLibraryAndGetProcAddrFuncs(&instProc)) {
60 features->pNext =
nullptr;
66 if (!sk_gpu_test::CreateVkBackendContext(instProc, &backendContext, extensions.get(),
67 features.get(), &debugCallback)) {
72 auto getProc = backendContext.
fGetProc;
85 fVkDestroyDevice(backendContext.
fDevice,
nullptr);
87 fVkDestroyDebugReportCallbackEXT(backendContext.
fInstance, debugCallback,
nullptr);
89 fVkDestroyInstance(backendContext.
fInstance,
nullptr);
103 fVkDestroyDevice(backendContext.
fDevice,
nullptr);
105 fVkDestroyDebugReportCallbackEXT(backendContext.
fInstance, debugCallback,
nullptr);
106 } fVkDestroyInstance(backendContext.
fInstance,
nullptr);
124 fVkDestroyDevice(backendContext.
fDevice,
nullptr);
126 fVkDestroyDebugReportCallbackEXT(backendContext.
fInstance, debugCallback,
nullptr);
127 } fVkDestroyInstance(backendContext.
fInstance,
nullptr);
SK_API sk_sp< GrDirectContext > MakeVulkan(const GrVkBackendContext &, const GrContextOptions &)
SK_API sk_sp< SkSurface > RenderTarget(GrRecordingContext *context, skgpu::Budgeted budgeted, const SkImageInfo &imageInfo, int sampleCount, GrSurfaceOrigin surfaceOrigin, const SkSurfaceProps *surfaceProps, bool shouldCreateWithMips=false, bool isProtected=false)
skgpu::VulkanGetProc fGetProc