2eddf1a560
Bug: b/231953246 Change-Id: Ib2b6ae50bfd13c7aff0e0c656bc61e5f8a6e4345 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539038 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
41 lines
1.5 KiB
C
41 lines
1.5 KiB
C
/*
|
|
* Copyright 2018 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
// We use this header to include vk_mem_alloc.h to make sure we always include GrVkDefines.h first.
|
|
// We need to do this so that the corect defines are setup before we include vulkan.h inside of
|
|
// vk_mem_alloc.h
|
|
|
|
#ifndef GrVulkanMemoryAllocator_DEFINED
|
|
#define GrVulkanMemoryAllocator_DEFINED
|
|
|
|
// We only ever include this from src files which have already included vulkan.
|
|
#ifndef VULKAN_CORE_H_
|
|
#error "vulkan_core.h has not been included before trying to include the GrVulkanMemoryAllocator"
|
|
#endif
|
|
|
|
// TODO: We currently lock down our API to Vulkan 1.1. When we update Skia to support 1.3 then we
|
|
// can remove this macro. We should also update the setting of the API level in the vma createInfo
|
|
// struct when we do this
|
|
#define VMA_VULKAN_VERSION 1001000
|
|
|
|
// vk_mem_alloc.h checks to see if VULKAN_H_ has been included before trying to include vulkan.h.
|
|
// However, some builds of Skia may not have access to vulkan.h and just have access to
|
|
// vulkan_core.h. So we pretend we've already included vulkan.h (if it already hasn't been) which
|
|
// will be fine for building internal skia files. If we do fake it out by defining VULKAN_H_ we
|
|
// need to make sure to undefine it incase outside client code does later try to include the
|
|
// real vulkan.h
|
|
#ifndef VULKAN_H_
|
|
#define VULKAN_H_
|
|
#define GR_NEEDED_TO_DEFINE_VULKAN_H
|
|
#endif
|
|
#include "vk_mem_alloc.h"
|
|
#ifdef GR_NEEDED_TO_DEFINE_VULKAN_H
|
|
#undef VULKAN_H_
|
|
#endif
|
|
|
|
#endif
|