[gpu] Move SkiaVulkanMemoryAllocator to gpu/vulkan
Move SkiaVulkanMemoryAllocator from gpu/vulkan/init:skia to gpu/vulkan in order to later use it over VulkanDeviceQueue. Bug: 407730048 Change-Id: Ibc766a84863c0b3052afa0f85e573e86c0432acd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6579803 Reviewed-by: Kyle Charbonneau <kylechar@chromium.org> Reviewed-by: Bo Liu <boliu@chromium.org> Commit-Queue: Saifuddin Hitawala <hitawala@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Cr-Commit-Position: refs/heads/main@{#1464323}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
93abefec3e
commit
f6c1cdee6c
android_webview
components/viz/common
gpu/vulkan
@ -80,7 +80,6 @@ source_set("gfx") {
|
||||
"//gpu/skia_bindings",
|
||||
"//gpu/vulkan:vulkan",
|
||||
"//gpu/vulkan/init",
|
||||
"//gpu/vulkan/init:skia",
|
||||
"//services/viz/privileged/mojom",
|
||||
"//services/viz/public/mojom",
|
||||
"//skia",
|
||||
|
@ -20,8 +20,8 @@
|
||||
#include "base/logging.h"
|
||||
#include "base/native_library.h"
|
||||
#include "gpu/config/skia_limits.h"
|
||||
#include "gpu/vulkan/init/skia_vk_memory_allocator_impl.h"
|
||||
#include "gpu/vulkan/init/vulkan_factory.h"
|
||||
#include "gpu/vulkan/skia_vk_memory_allocator_impl.h"
|
||||
#include "gpu/vulkan/vulkan_device_queue.h"
|
||||
#include "gpu/vulkan/vulkan_fence_helper.h"
|
||||
#include "gpu/vulkan/vulkan_function_pointers.h"
|
||||
|
@ -293,7 +293,6 @@ shared_library_with_jni("libstandalonelibwebviewchromium") {
|
||||
"//content/public/test/android:content_native_test_support",
|
||||
"//gpu/vulkan",
|
||||
"//gpu/vulkan/init",
|
||||
"//gpu/vulkan/init:skia",
|
||||
"//ui/gl",
|
||||
]
|
||||
libs = [ "android" ]
|
||||
|
@ -19,8 +19,8 @@
|
||||
#include "base/memory/raw_ptr.h"
|
||||
#include "base/native_library.h"
|
||||
#include "base/threading/thread_restrictions.h"
|
||||
#include "gpu/vulkan/init/skia_vk_memory_allocator_impl.h"
|
||||
#include "gpu/vulkan/init/vulkan_factory.h"
|
||||
#include "gpu/vulkan/skia_vk_memory_allocator_impl.h"
|
||||
#include "gpu/vulkan/vulkan_device_queue.h"
|
||||
#include "gpu/vulkan/vulkan_function_pointers.h"
|
||||
#include "gpu/vulkan/vulkan_implementation.h"
|
||||
|
@ -109,7 +109,6 @@ if (enable_vulkan) {
|
||||
"//base",
|
||||
"//gpu/vulkan",
|
||||
"//gpu/vulkan:buildflags",
|
||||
"//gpu/vulkan/init:skia",
|
||||
"//ui/gfx",
|
||||
]
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <utility>
|
||||
|
||||
#include "gpu/vulkan/buildflags.h"
|
||||
#include "gpu/vulkan/init/skia_vk_memory_allocator_impl.h"
|
||||
#include "gpu/vulkan/skia_vk_memory_allocator_impl.h"
|
||||
#include "gpu/vulkan/vulkan_device_queue.h"
|
||||
#include "gpu/vulkan/vulkan_fence_helper.h"
|
||||
#include "gpu/vulkan/vulkan_function_pointers.h"
|
||||
|
@ -86,6 +86,8 @@ if (enable_vulkan) {
|
||||
sources = [
|
||||
"semaphore_handle.cc",
|
||||
"semaphore_handle.h",
|
||||
"skia_vk_memory_allocator_impl.cc",
|
||||
"skia_vk_memory_allocator_impl.h",
|
||||
"vulkan_command_buffer.cc",
|
||||
"vulkan_command_buffer.h",
|
||||
"vulkan_command_pool.cc",
|
||||
@ -127,6 +129,7 @@ if (enable_vulkan) {
|
||||
"//build:android_buildflags",
|
||||
"//components/crash/core/common:crash_key",
|
||||
"//gpu/ipc/common:vulkan_ycbcr_info",
|
||||
"//third_party/vulkan_memory_allocator",
|
||||
"//ui/base:ozone_buildflags",
|
||||
"//ui/gfx",
|
||||
"//ui/gl",
|
||||
|
@ -1,3 +1,10 @@
|
||||
include_rules = [
|
||||
"+components/crash/core/common/crash_key.h",
|
||||
]
|
||||
|
||||
specific_include_rules = {
|
||||
"skia_vk_memory_allocator_impl.*": [
|
||||
"+third_party/skia/include/gpu/vk/VulkanMemoryAllocator.h",
|
||||
"+third_party/skia/include/gpu/vk/VulkanTypes.h",
|
||||
],
|
||||
}
|
||||
|
@ -41,24 +41,3 @@ component("init") {
|
||||
deps += [ "//gpu/vulkan/mac" ]
|
||||
}
|
||||
}
|
||||
|
||||
component("skia") {
|
||||
output_name = "vulkan_init_skia"
|
||||
|
||||
sources = [
|
||||
"skia_vk_memory_allocator_impl.cc",
|
||||
"skia_vk_memory_allocator_impl.h",
|
||||
]
|
||||
|
||||
defines = [ "IS_VULKAN_INIT_IMPL" ]
|
||||
|
||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
||||
|
||||
public_deps = [
|
||||
"//base",
|
||||
"//gpu/vulkan",
|
||||
"//skia",
|
||||
]
|
||||
|
||||
deps = [ "//third_party/vulkan_memory_allocator" ]
|
||||
}
|
||||
|
@ -1,6 +0,0 @@
|
||||
specific_include_rules = {
|
||||
"skia_vk_memory_allocator_impl.*": [
|
||||
"+third_party/skia/include/gpu/vk/VulkanMemoryAllocator.h",
|
||||
"+third_party/skia/include/gpu/vk/VulkanTypes.h",
|
||||
],
|
||||
}
|
@ -2,8 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
#include "gpu/vulkan/init/skia_vk_memory_allocator_impl.h"
|
||||
#include "gpu/vulkan/skia_vk_memory_allocator_impl.h"
|
||||
|
||||
#include <vk_mem_alloc.h>
|
||||
#include <vulkan/vulkan_core.h>
|
||||
@ -15,7 +14,6 @@
|
||||
#include "gpu/vulkan/vma_wrapper.h"
|
||||
#include "gpu/vulkan/vulkan_device_queue.h"
|
||||
#include "gpu/vulkan/vulkan_function_pointers.h"
|
||||
#include "gpu/vulkan/vulkan_util.h"
|
||||
#include "third_party/skia/include/gpu/vk/VulkanMemoryAllocator.h"
|
||||
#include "third_party/skia/include/gpu/vk/VulkanTypes.h"
|
||||
|
||||
@ -30,12 +28,14 @@ class SkiaVulkanMemoryAllocator : public skgpu::VulkanMemoryAllocator {
|
||||
~SkiaVulkanMemoryAllocator() override = default;
|
||||
|
||||
SkiaVulkanMemoryAllocator(const SkiaVulkanMemoryAllocator&) = delete;
|
||||
SkiaVulkanMemoryAllocator& operator=(const SkiaVulkanMemoryAllocator&) = delete;
|
||||
SkiaVulkanMemoryAllocator& operator=(const SkiaVulkanMemoryAllocator&) =
|
||||
delete;
|
||||
|
||||
private:
|
||||
VkResult allocateImageMemory(VkImage image,
|
||||
uint32_t flags,
|
||||
skgpu::VulkanBackendMemory* backend_memory) override {
|
||||
VkResult allocateImageMemory(
|
||||
VkImage image,
|
||||
uint32_t flags,
|
||||
skgpu::VulkanBackendMemory* backend_memory) override {
|
||||
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("gpu.vulkan.vma"),
|
||||
"SkiaVulkanMemoryAllocator::allocateMemoryForImage");
|
||||
VmaAllocationCreateInfo info = {
|
||||
@ -68,15 +68,19 @@ class SkiaVulkanMemoryAllocator : public skgpu::VulkanMemoryAllocator {
|
||||
VmaAllocation allocation;
|
||||
VkResult result = vma::AllocateMemoryForImage(allocator_, image, &info,
|
||||
&allocation, nullptr);
|
||||
if (VK_SUCCESS == result)
|
||||
*backend_memory = reinterpret_cast<skgpu::VulkanBackendMemory>(allocation);
|
||||
if (VK_SUCCESS == result) {
|
||||
*backend_memory =
|
||||
reinterpret_cast<skgpu::VulkanBackendMemory>(allocation);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
VkResult allocateBufferMemory(VkBuffer buffer,
|
||||
BufferUsage usage,
|
||||
uint32_t flags,
|
||||
skgpu::VulkanBackendMemory* backend_memory) override {
|
||||
VkResult allocateBufferMemory(
|
||||
VkBuffer buffer,
|
||||
BufferUsage usage,
|
||||
uint32_t flags,
|
||||
skgpu::VulkanBackendMemory* backend_memory) override {
|
||||
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("gpu.vulkan.vma"),
|
||||
"SkiaVulkanMemoryAllocator::allocateMemoryForBuffer");
|
||||
VmaAllocationCreateInfo info = {
|
||||
@ -128,8 +132,10 @@ class SkiaVulkanMemoryAllocator : public skgpu::VulkanMemoryAllocator {
|
||||
VmaAllocation allocation;
|
||||
VkResult result = vma::AllocateMemoryForBuffer(allocator_, buffer, &info,
|
||||
&allocation, nullptr);
|
||||
if (VK_SUCCESS == result)
|
||||
*backend_memory = reinterpret_cast<skgpu::VulkanBackendMemory>(allocation);
|
||||
if (VK_SUCCESS == result) {
|
||||
*backend_memory =
|
||||
reinterpret_cast<skgpu::VulkanBackendMemory>(allocation);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -170,7 +176,8 @@ class SkiaVulkanMemoryAllocator : public skgpu::VulkanMemoryAllocator {
|
||||
alloc->fBackendMemory = memory;
|
||||
}
|
||||
|
||||
VkResult mapMemory(const skgpu::VulkanBackendMemory& memory, void** data) override {
|
||||
VkResult mapMemory(const skgpu::VulkanBackendMemory& memory,
|
||||
void** data) override {
|
||||
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("gpu.vulkan.vma"),
|
||||
"SkiaVulkanMemoryAllocator::mapMemory");
|
||||
const VmaAllocation allocation =
|
@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef GPU_VULKAN_INIT_SKIA_VK_MEMORY_ALLOCATOR_IMPL_H_
|
||||
#define GPU_VULKAN_INIT_SKIA_VK_MEMORY_ALLOCATOR_IMPL_H_
|
||||
#ifndef GPU_VULKAN_SKIA_VK_MEMORY_ALLOCATOR_IMPL_H_
|
||||
#define GPU_VULKAN_SKIA_VK_MEMORY_ALLOCATOR_IMPL_H_
|
||||
|
||||
#include "base/component_export.h"
|
||||
#include "third_party/skia/include/gpu/vk/VulkanMemoryAllocator.h"
|
||||
@ -12,10 +12,10 @@ namespace gpu {
|
||||
|
||||
class VulkanDeviceQueue;
|
||||
|
||||
COMPONENT_EXPORT(VULKAN_INIT)
|
||||
COMPONENT_EXPORT(VULKAN)
|
||||
sk_sp<skgpu::VulkanMemoryAllocator> CreateSkiaVulkanMemoryAllocator(
|
||||
VulkanDeviceQueue* device_queue);
|
||||
|
||||
} // namespace gpu
|
||||
|
||||
#endif // GPU_VULKAN_INIT_SKIA_VK_MEMORY_ALLOCATOR_IMPL_H_
|
||||
#endif // GPU_VULKAN_SKIA_VK_MEMORY_ALLOCATOR_IMPL_H_
|
Reference in New Issue
Block a user