renderer_vulkan: Include Vulkan memory allocator
This commit is contained in:
@@ -199,6 +199,11 @@ if (ENABLE_QT)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (ENABLE_VULKAN)
|
||||||
|
# Vulkan Memory Allocator
|
||||||
|
set(VMA_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/externals/vma/include)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Ensure libusb is properly configured (based on dolphin libusb include)
|
# Ensure libusb is properly configured (based on dolphin libusb include)
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
include(FindPkgConfig)
|
include(FindPkgConfig)
|
||||||
|
@@ -79,6 +79,8 @@ add_library(video_core STATIC
|
|||||||
renderer_vulkan/vk_format_reinterpreter.h
|
renderer_vulkan/vk_format_reinterpreter.h
|
||||||
renderer_vulkan/vk_instance.cpp
|
renderer_vulkan/vk_instance.cpp
|
||||||
renderer_vulkan/vk_instance.h
|
renderer_vulkan/vk_instance.h
|
||||||
|
renderer_vulkan/vk_memory.cpp
|
||||||
|
renderer_vulkan/vk_memory.h
|
||||||
renderer_vulkan/vk_pipeline_builder.cpp
|
renderer_vulkan/vk_pipeline_builder.cpp
|
||||||
renderer_vulkan/vk_pipeline_builder.h
|
renderer_vulkan/vk_pipeline_builder.h
|
||||||
renderer_vulkan/vk_rasterizer_cache.cpp
|
renderer_vulkan/vk_rasterizer_cache.cpp
|
||||||
@@ -180,6 +182,6 @@ if (ARCHITECTURE_x86_64)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ENABLE_VULKAN)
|
if (ENABLE_VULKAN)
|
||||||
target_include_directories(video_core PRIVATE ${Vulkan_INCLUDE_DIRS})
|
target_include_directories(video_core PRIVATE ${Vulkan_INCLUDE_DIRS} ${VMA_INCLUDE_DIR})
|
||||||
target_link_libraries(video_core PRIVATE ${Vulkan_LIBRARIES} ${SHADERC_DEP})
|
target_link_libraries(video_core PRIVATE ${Vulkan_LIBRARIES} ${SHADERC_DEP})
|
||||||
endif()
|
endif()
|
||||||
|
6
src/video_core/renderer_vulkan/vk_memory.cpp
Normal file
6
src/video_core/renderer_vulkan/vk_memory.cpp
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2022 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#define VMA_IMPLEMENTATION
|
||||||
|
#include "vk_memory.h"
|
19
src/video_core/renderer_vulkan/vk_memory.h
Normal file
19
src/video_core/renderer_vulkan/vk_memory.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright 2022 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <vulkan/vulkan.h>
|
||||||
|
|
||||||
|
#ifndef VMA_STATIC_VULKAN_FUNCTIONS
|
||||||
|
#define VMA_STATIC_VULKAN_FUNCTIONS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef VMA_DYNAMIC_VULKAN_FUNCTIONS
|
||||||
|
#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Include Vulkan memory allocator
|
||||||
|
#define VMA_VULKAN_VERSION 1001000 // Vulkan 1.1
|
||||||
|
#include "vk_mem_alloc.h"
|
Reference in New Issue
Block a user