mirror of
https://github.com/seekrs/MacroLibX.git
synced 2026-06-13 11:24:28 +02:00
Indev (#154)
adding unit test CI fixing windows build fixing issue with descriptor pools when over 1024 images rendered
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
name: Unit tests
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '.gitignore'
|
||||
- 'LICENSE'
|
||||
- 'README.md'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-24.04]
|
||||
arch: [x86_64]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
if: "!contains(github.event.head_commit.message, 'ci skip')"
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: NcStudios/VulkanCI@v1.0
|
||||
|
||||
- name: Install system dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install mesa-common-dev clang libsdl2-2.0-0 libsdl2-dev build-essential libvulkan-dev
|
||||
|
||||
# Build the lib
|
||||
- name: Build MacroLibX
|
||||
run: make -j DEBUG=true
|
||||
|
||||
# Force xmake to a specific folder (for cache)
|
||||
- name: Set xmake env
|
||||
run: echo "XMAKE_GLOBALDIR=${{ runner.workspace }}/xmake-global" >> $GITHUB_ENV
|
||||
|
||||
# Install xmake
|
||||
- name: Setup xmake
|
||||
if: ${{ matrix.confs.plat != 'mingw' }}
|
||||
uses: xmake-io/github-action-setup-xmake@v1
|
||||
with:
|
||||
xmake-version: latest
|
||||
actions-cache-folder: .xmake-cache-W${{ steps.cache_key.outputs.key }}
|
||||
|
||||
# Update xmake repository (in order to have the file that will be cached)
|
||||
- name: Update xmake repository
|
||||
run: xmake repo --update
|
||||
|
||||
# Fetch xmake dephash
|
||||
- name: Retrieve dependencies hash
|
||||
id: dep_hash
|
||||
run: echo "hash=$(xmake l utils.ci.packageskey)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Install unit tester
|
||||
run: git clone https://github.com/seekrs/MacroUnitTest.git ../MacroUnitTest
|
||||
|
||||
# Setup compilation mode and install project dependencies
|
||||
- name: Configure xmake and install dependencies
|
||||
run: |
|
||||
cd ../MacroUnitTest
|
||||
xmake config --toolchain=clang --ccache=n --yes
|
||||
|
||||
# Save dependencies
|
||||
- name: Save cached xmake dependencies
|
||||
if: ${{ !steps.restore-depcache.outputs.cache-hit }}
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: ${{ env.XMAKE_GLOBALDIR }}/.xmake/packages
|
||||
key: ${{ steps.restore-depcache.outputs.cache-primary-key }}
|
||||
|
||||
- name: Build and run unit tester
|
||||
run: |
|
||||
cd ../MacroUnitTest
|
||||
xmake run MacroUnitTest --headless --path="${{ runner.workspace }}/MacroLibX/libmlx.so"
|
||||
@@ -38,6 +38,9 @@ GCH = runtime/Includes/PreCompiled.h.gch
|
||||
CCH = runtime/Includes/PreCompiled.h.pch
|
||||
PCH =
|
||||
|
||||
# Personal path, should be overriden with env var
|
||||
UNIT_TESTS_PATH = ../UnitTester/build/Bin/linux_x86_64/MacroUnitTest
|
||||
|
||||
NZSLC ?= nzslc
|
||||
|
||||
ifeq ($(TOOLCHAIN), gcc)
|
||||
@@ -161,6 +164,9 @@ clean-shaders:
|
||||
|
||||
shaders: clean-shaders $(SPVS)
|
||||
|
||||
tests: debug
|
||||
@$(UNIT_TESTS_PATH) --headless --path="./$(NAME)"
|
||||
|
||||
clean:
|
||||
@$(RM) $(OBJ_DIR)
|
||||
@printf "Cleaned $(_BOLD)$(OBJ_DIR)$(_RESET)\n"
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
<div align="center">
|
||||
<a href="https://github.com/seekrs/MacroLibX/actions/workflows/windows.yml"><img src="https://github.com/seekrs/MacroLibX/actions/workflows/windows.yml/badge.svg"></a>
|
||||
</div>
|
||||
<div align="center">
|
||||
<a href="https://github.com/seekrs/MacroLibX/actions/workflows/tests.yml"><img src="https://github.com/seekrs/MacroLibX/actions/workflows/tests.yml/badge.svg"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
###### MacroLibX, a rewrite of 42 School's MiniLibX using SDL2 and Vulkan.
|
||||
|
||||
@@ -7,9 +7,7 @@ namespace mlx
|
||||
{
|
||||
public:
|
||||
UUID();
|
||||
UUID(std::uint64_t uuid);
|
||||
|
||||
inline operator std::uint64_t() const { return m_uuid; }
|
||||
inline operator std::uint64_t() const noexcept { return m_uuid; }
|
||||
|
||||
private:
|
||||
std::uint64_t m_uuid;
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace mlx
|
||||
~DescriptorPoolManager() = default;
|
||||
|
||||
private:
|
||||
std::vector<DescriptorPool> m_pools;
|
||||
std::vector<std::unique_ptr<DescriptorPool>> m_pools;
|
||||
};
|
||||
|
||||
class DescriptorSet : public std::enable_shared_from_this<DescriptorSet>
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace mlx
|
||||
MLX_PROFILE_FUNCTION();
|
||||
s_instance = this;
|
||||
|
||||
m_drop_sdl_responsability = SDL_WasInit(SDL_INIT_VIDEO);
|
||||
m_drop_sdl_responsability = SDL_WasInit(SDL_INIT_VIDEO) || std::getenv("MLX_HEADLESS_MODE") != nullptr;
|
||||
if(m_drop_sdl_responsability) // is case the mlx is running in a sandbox like MacroUnitTester where SDL is already init
|
||||
return;
|
||||
SDL_SetMemoryFunctions(MemManager::Get().Malloc, MemManager::Get().Calloc, MemManager::Get().Realloc, MemManager::Get().Free);
|
||||
|
||||
@@ -7,7 +7,14 @@ namespace mlx
|
||||
static std::random_device random_device;
|
||||
static std::mt19937_64 engine(random_device());
|
||||
static std::uniform_int_distribution<std::uint64_t> uniform_distribution;
|
||||
static std::unordered_set<std::uint64_t> registry;
|
||||
|
||||
UUID::UUID() : m_uuid(uniform_distribution(engine)) {}
|
||||
UUID::UUID(std::uint64_t uuid) : m_uuid(uuid) {}
|
||||
UUID::UUID()
|
||||
{
|
||||
do
|
||||
{
|
||||
m_uuid = uniform_distribution(engine);
|
||||
} while(registry.contains(m_uuid));
|
||||
registry.emplace(m_uuid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ namespace mlx
|
||||
|
||||
VkCommandBuffer cmd = kvfCreateCommandBuffer(RenderCore::Get().GetDevice());
|
||||
kvfBeginCommandBuffer(cmd, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT);
|
||||
kvfCopyBufferToBuffer(cmd, m_buffer, buffer.Get(), m_size);
|
||||
kvfCopyBufferToBuffer(cmd, m_buffer, buffer.Get(), m_size, 0, 0);
|
||||
kvfEndCommandBuffer(cmd);
|
||||
VkFence fence = kvfCreateFence(RenderCore::Get().GetDevice());
|
||||
kvfSubmitSingleTimeCommandBuffer(RenderCore::Get().GetDevice(), cmd, KVF_GRAPHICS_QUEUE, fence);
|
||||
|
||||
@@ -114,11 +114,8 @@ namespace mlx
|
||||
|
||||
void DescriptorPool::ReturnDescriptorSet(std::shared_ptr<DescriptorSet> set)
|
||||
{
|
||||
//std::size_t i = 0;
|
||||
auto it = std::find_if(m_used_sets.begin(), m_used_sets.end(), [&](const std::shared_ptr<DescriptorSet>& rhs_set)
|
||||
{
|
||||
//i++;
|
||||
//std::cout << m_used_sets.size() << " " << i << std::endl;
|
||||
return set == rhs_set;
|
||||
});
|
||||
if(it == m_used_sets.end())
|
||||
@@ -132,18 +129,18 @@ namespace mlx
|
||||
MLX_PROFILE_FUNCTION();
|
||||
for(auto& pool : m_pools)
|
||||
{
|
||||
if(pool.GetNumberOfSetsAllocated() < MAX_SETS_PER_POOL)
|
||||
return pool;
|
||||
if(pool->GetNumberOfSetsAllocated() < MAX_SETS_PER_POOL)
|
||||
return *pool;
|
||||
}
|
||||
m_pools.emplace_back().Init();
|
||||
return m_pools.back();
|
||||
m_pools.emplace_back(std::make_unique<DescriptorPool>())->Init();
|
||||
return *m_pools.back();
|
||||
}
|
||||
|
||||
void DescriptorPoolManager::Destroy()
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
for(auto& pool : m_pools)
|
||||
pool.Destroy();
|
||||
pool->Destroy();
|
||||
m_pools.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -87,15 +87,24 @@ namespace mlx
|
||||
kvfSetValidationErrorCallback(&ValidationErrorCallback);
|
||||
kvfSetValidationWarningCallback(&WarningCallback);
|
||||
|
||||
std::vector<const char*> instance_extensions;
|
||||
VkSurfaceKHR surface = VK_NULL_HANDLE;
|
||||
std::unique_ptr<Window> window;
|
||||
|
||||
bool is_headless = std::getenv("MLX_HEADLESS_MODE") != nullptr;
|
||||
|
||||
if(!is_headless)
|
||||
{
|
||||
mlx_window_create_info info{};
|
||||
info.title = "";
|
||||
info.width = 1;
|
||||
info.height = 1;
|
||||
Window window(&info, true);
|
||||
std::vector<const char*> instance_extensions = window.GetRequiredVulkanInstanceExtentions();
|
||||
window = std::make_unique<Window>(&info, true);
|
||||
instance_extensions = window->GetRequiredVulkanInstanceExtentions();
|
||||
#ifdef MLX_PLAT_MACOS
|
||||
instance_extensions.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);
|
||||
#endif
|
||||
}
|
||||
|
||||
m_instance = kvfCreateInstance(instance_extensions.data(), instance_extensions.size());
|
||||
DebugLog("Vulkan: instance created");
|
||||
@@ -103,24 +112,33 @@ namespace mlx
|
||||
loader->LoadInstance(m_instance);
|
||||
LoadKVFInstanceVulkanFunctionPointers();
|
||||
|
||||
VkSurfaceKHR surface = window.CreateVulkanSurface(m_instance);
|
||||
|
||||
if(!is_headless)
|
||||
{
|
||||
surface = window->CreateVulkanSurface(m_instance);
|
||||
m_physical_device = kvfPickGoodDefaultPhysicalDevice(m_instance, surface);
|
||||
}
|
||||
else
|
||||
m_physical_device = kvfPickGoodPhysicalDevice(m_instance, VK_NULL_HANDLE, nullptr, 0);
|
||||
|
||||
Verify(m_physical_device != VK_NULL_HANDLE, "Could not find a suitable physical device");
|
||||
|
||||
// just for style
|
||||
VkPhysicalDeviceProperties props;
|
||||
vkGetPhysicalDeviceProperties(m_physical_device, &props);
|
||||
DebugLog("Vulkan: physical device picked '%'", props.deviceName);
|
||||
|
||||
const char* device_extensions[] = { VK_KHR_SWAPCHAIN_EXTENSION_NAME };
|
||||
std::vector<const char*> device_extensions;
|
||||
if(!is_headless)
|
||||
device_extensions.push_back(VK_KHR_SWAPCHAIN_EXTENSION_NAME);
|
||||
VkPhysicalDeviceFeatures features{};
|
||||
vkGetPhysicalDeviceFeatures(m_physical_device, &features);
|
||||
m_device = kvfCreateDevice(m_physical_device, device_extensions, sizeof(device_extensions) / sizeof(device_extensions[0]), &features);
|
||||
m_device = kvfCreateDevice(m_physical_device, device_extensions.data(), device_extensions.size(), &features);
|
||||
DebugLog("Vulkan: logical device created");
|
||||
|
||||
loader->LoadDevice(m_device);
|
||||
LoadKVFDeviceVulkanFunctionPointers();
|
||||
|
||||
if(surface != VK_NULL_HANDLE)
|
||||
vkDestroySurfaceKHR(m_instance, surface, nullptr);
|
||||
|
||||
VkAllocationCallbacks callbacks;
|
||||
|
||||
@@ -28,6 +28,10 @@ namespace mlx
|
||||
{
|
||||
static inline PFN_vkVoidFunction vkGetInstanceProcAddrStub(Handle context, const char* name)
|
||||
{
|
||||
bool is_headless = std::getenv("MLX_HEADLESS_MODE") != nullptr;
|
||||
if(is_headless && std::string_view(name).find("KHR") != std::string_view::npos)
|
||||
return nullptr;
|
||||
|
||||
PFN_vkVoidFunction function = RenderCore::Get().vkGetInstanceProcAddr(static_cast<VkInstance>(context), name);
|
||||
if(!function)
|
||||
FatalError("Vulkan Loader: could not load '%'", name);
|
||||
@@ -37,6 +41,10 @@ namespace mlx
|
||||
|
||||
static inline PFN_vkVoidFunction vkGetDeviceProcAddrStub(Handle context, const char* name)
|
||||
{
|
||||
bool is_headless = std::getenv("MLX_HEADLESS_MODE") != nullptr;
|
||||
if(is_headless && std::string_view(name).find("KHR") != std::string_view::npos)
|
||||
return nullptr;
|
||||
|
||||
PFN_vkVoidFunction function = RenderCore::Get().vkGetDeviceProcAddr(static_cast<VkDevice>(context), name);
|
||||
if(!function)
|
||||
FatalError("Vulkan Loader: could not load '%'", name);
|
||||
|
||||
Vendored
+9
-9
@@ -51,7 +51,7 @@
|
||||
#ifndef KBZ_8_VULKAN_FRAMEWORK_H
|
||||
#define KBZ_8_VULKAN_FRAMEWORK_H
|
||||
|
||||
#ifdef KVF_IMPL_VK_NO_PROTOTYPES
|
||||
#if defined(KVF_IMPL_VK_NO_PROTOTYPES) && !defined(VK_NO_PROTOTYPES)
|
||||
#define VK_NO_PROTOTYPES
|
||||
#endif
|
||||
|
||||
@@ -159,7 +159,7 @@ VkSampler kvfCreateSampler(VkDevice device, VkFilter filters, VkSamplerAddressMo
|
||||
void kvfDestroySampler(VkDevice device, VkSampler sampler);
|
||||
|
||||
VkBuffer kvfCreateBuffer(VkDevice device, VkBufferUsageFlags usage, VkDeviceSize size);
|
||||
void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size);
|
||||
void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size, size_t src_offset, size_t dst_offset);
|
||||
void kvfCopyBufferToImage(VkCommandBuffer cmd, VkImage dst, VkBuffer src, size_t buffer_offset, VkImageAspectFlagBits aspect, VkExtent3D extent);
|
||||
void kvfDestroyBuffer(VkDevice device, VkBuffer buffer);
|
||||
|
||||
@@ -374,12 +374,12 @@ void kvfCheckVk(VkResult result);
|
||||
#ifdef KVF_DESCRIPTOR_POOL_CAPACITY
|
||||
#undef KVF_DESCRIPTOR_POOL_CAPACITY
|
||||
#endif
|
||||
#define KVF_DESCRIPTOR_POOL_CAPACITY 512
|
||||
#define KVF_DESCRIPTOR_POOL_CAPACITY 1024
|
||||
|
||||
#ifdef KVF_COMMAND_POOL_CAPACITY
|
||||
#undef KVF_COMMAND_POOL_CAPACITY
|
||||
#endif
|
||||
#define KVF_COMMAND_POOL_CAPACITY 512
|
||||
#define KVF_COMMAND_POOL_CAPACITY 1024
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -560,6 +560,7 @@ void __kvfCompleteDevice(VkPhysicalDevice physical, VkDevice device)
|
||||
|
||||
kvf_device->device = device;
|
||||
kvf_device->cmd_pool = pool;
|
||||
kvf_device->callbacks = NULL;
|
||||
kvf_device->sets_pools = NULL;
|
||||
kvf_device->sets_pools_size = 0;
|
||||
kvf_device->cmd_buffers_size = 0;
|
||||
@@ -1474,9 +1475,6 @@ int32_t __kvfScorePhysicalDevice(VkPhysicalDevice device, VkSurfaceKHR surface,
|
||||
if(device_props.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU)
|
||||
score += 1000;
|
||||
|
||||
if(!device_features.geometryShader)
|
||||
return -1;
|
||||
|
||||
score += device_props.limits.maxImageDimension2D;
|
||||
score += device_props.limits.maxBoundDescriptorSets;
|
||||
|
||||
@@ -2277,7 +2275,7 @@ VkBuffer kvfCreateBuffer(VkDevice device, VkBufferUsageFlags usage, VkDeviceSize
|
||||
return buffer;
|
||||
}
|
||||
|
||||
void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size)
|
||||
void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size, size_t src_offset, size_t dst_offset)
|
||||
{
|
||||
KVF_ASSERT(cmd != VK_NULL_HANDLE);
|
||||
KVF_ASSERT(dst != VK_NULL_HANDLE);
|
||||
@@ -2288,6 +2286,8 @@ void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size
|
||||
#endif
|
||||
VkBufferCopy copy_region = {};
|
||||
copy_region.size = size;
|
||||
copy_region.srcOffset = src_offset;
|
||||
copy_region.dstOffset = dst_offset;
|
||||
KVF_GET_DEVICE_FUNCTION(vkCmdCopyBuffer)(cmd, src, dst, 1, ©_region);
|
||||
}
|
||||
|
||||
@@ -2543,7 +2543,7 @@ VkAttachmentDescription kvfBuildAttachmentDescription(KvfImageType type, VkForma
|
||||
__KvfSwapchain* kvf_swapchain = __kvfGetKvfSwapchainFromVkSwapchainKHR(swapchain);
|
||||
KVF_ASSERT(kvf_swapchain != NULL);
|
||||
KVF_ASSERT(kvf_swapchain->images_count != 0);
|
||||
return kvfBuildAttachmentDescription(KVF_IMAGE_COLOR, kvf_swapchain->images_format, VK_IMAGE_LAYOUT_UNDEFINED,VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, clear, VK_SAMPLE_COUNT_1_BIT);
|
||||
return kvfBuildAttachmentDescription(KVF_IMAGE_COLOR, kvf_swapchain->images_format, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, clear, VK_SAMPLE_COUNT_1_BIT);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Vendored
+2643
-3956
File diff suppressed because it is too large
Load Diff
Vendored
+3037
-12212
File diff suppressed because it is too large
Load Diff
Vendored
+7
-11
@@ -62,33 +62,29 @@ extern "C" {
|
||||
#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
|
||||
((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
|
||||
|
||||
// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
|
||||
|
||||
//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
|
||||
|
||||
// Vulkan 1.0 version number
|
||||
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
||||
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 319
|
||||
#define VK_HEADER_VERSION 320
|
||||
|
||||
// Complete version of this file
|
||||
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
|
||||
|
||||
// VK_MAKE_VERSION is deprecated, but no reason was given in the API XML
|
||||
// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
|
||||
|
||||
#define VK_MAKE_VERSION(major, minor, patch) \
|
||||
((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
|
||||
|
||||
// VK_VERSION_MAJOR is deprecated, but no reason was given in the API XML
|
||||
// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
|
||||
|
||||
#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U)
|
||||
|
||||
// VK_VERSION_MINOR is deprecated, but no reason was given in the API XML
|
||||
// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
|
||||
|
||||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
|
||||
|
||||
// VK_VERSION_PATCH is deprecated, but no reason was given in the API XML
|
||||
// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
|
||||
|
||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
|
||||
|
||||
#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U)
|
||||
@@ -21784,9 +21780,9 @@ VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV(
|
||||
// VK_ARM_data_graph is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_ARM_data_graph 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDataGraphPipelineSessionARM)
|
||||
#define VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM 128U
|
||||
#define VK_ARM_DATA_GRAPH_SPEC_VERSION 1
|
||||
#define VK_ARM_DATA_GRAPH_EXTENSION_NAME "VK_ARM_data_graph"
|
||||
#define VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM 128U
|
||||
|
||||
typedef enum VkDataGraphPipelineSessionBindPointARM {
|
||||
VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM = 0,
|
||||
|
||||
Vendored
+2828
-2056
File diff suppressed because it is too large
Load Diff
+947
-2748
File diff suppressed because it is too large
Load Diff
+3182
-3695
File diff suppressed because one or more lines are too long
Vendored
+7510
-13893
File diff suppressed because it is too large
Load Diff
+4612
-9008
File diff suppressed because it is too large
Load Diff
Vendored
+1755
-3531
File diff suppressed because it is too large
Load Diff
+3
-2
@@ -5,6 +5,7 @@
|
||||
|
||||
// This header is generated from the Khronos Vulkan XML API Registry.
|
||||
|
||||
|
||||
#ifndef VULKAN_HPP_MACROS_HPP
|
||||
#define VULKAN_HPP_MACROS_HPP
|
||||
|
||||
@@ -92,8 +93,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef VK_USE_64_BIT_PTR_DEFINES
|
||||
# if defined( __LP64__ ) || defined( _WIN64 ) || ( defined( __x86_64__ ) && !defined( __ILP32__ ) ) || defined( _M_X64 ) || defined( __ia64 ) || \
|
||||
defined( _M_IA64 ) || defined( __aarch64__ ) || defined( __powerpc64__ ) || ( defined( __riscv ) && __riscv_xlen == 64 )
|
||||
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64)
|
||||
#define VK_USE_64_BIT_PTR_DEFINES 1
|
||||
#else
|
||||
#define VK_USE_64_BIT_PTR_DEFINES 0
|
||||
@@ -323,4 +323,5 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
# define VULKAN_HPP_RAII_CREATE_NOEXCEPT
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
Vendored
+6466
-10306
File diff suppressed because it is too large
Load Diff
Vendored
+11
-102
@@ -327,8 +327,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = typename SharedHandleTraits<HandleType>::DestructorType;
|
||||
|
||||
template <class Dispatcher>
|
||||
using DestroyFunctionPointerType =
|
||||
typename std::conditional<HasDestructor<HandleType>::value,
|
||||
using DestroyFunctionPointerType = typename std::conditional<HasDestructor<HandleType>::value,
|
||||
void ( DestructorType::* )( HandleType, const AllocationCallbacks *, const Dispatcher & ) const,
|
||||
void ( HandleType::* )( const AllocationCallbacks *, const Dispatcher & ) const>::type;
|
||||
|
||||
@@ -466,12 +465,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
# pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
}
|
||||
|
||||
//======================
|
||||
//=== SHARED HANDLEs ===
|
||||
//======================
|
||||
|
||||
|
||||
//=== VK_VERSION_1_0 ===
|
||||
template <>
|
||||
class SharedHandleTraits<Instance>
|
||||
@@ -480,9 +480,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = NoDestructor;
|
||||
using deleter = detail::ObjectDestroyShared<Instance>;
|
||||
};
|
||||
|
||||
using SharedInstance = SharedHandle<Instance>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Device>
|
||||
{
|
||||
@@ -490,9 +488,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = NoDestructor;
|
||||
using deleter = detail::ObjectDestroyShared<Device>;
|
||||
};
|
||||
|
||||
using SharedDevice = SharedHandle<Device>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<DeviceMemory>
|
||||
{
|
||||
@@ -500,9 +496,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectFreeShared<DeviceMemory>;
|
||||
};
|
||||
|
||||
using SharedDeviceMemory = SharedHandle<DeviceMemory>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Fence>
|
||||
{
|
||||
@@ -510,9 +504,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Fence>;
|
||||
};
|
||||
|
||||
using SharedFence = SharedHandle<Fence>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Semaphore>
|
||||
{
|
||||
@@ -520,9 +512,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Semaphore>;
|
||||
};
|
||||
|
||||
using SharedSemaphore = SharedHandle<Semaphore>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Event>
|
||||
{
|
||||
@@ -530,9 +520,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Event>;
|
||||
};
|
||||
|
||||
using SharedEvent = SharedHandle<Event>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<QueryPool>
|
||||
{
|
||||
@@ -540,9 +528,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<QueryPool>;
|
||||
};
|
||||
|
||||
using SharedQueryPool = SharedHandle<QueryPool>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Buffer>
|
||||
{
|
||||
@@ -550,9 +536,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Buffer>;
|
||||
};
|
||||
|
||||
using SharedBuffer = SharedHandle<Buffer>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<BufferView>
|
||||
{
|
||||
@@ -560,9 +544,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<BufferView>;
|
||||
};
|
||||
|
||||
using SharedBufferView = SharedHandle<BufferView>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Image>
|
||||
{
|
||||
@@ -570,9 +552,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Image>;
|
||||
};
|
||||
|
||||
using SharedImage = SharedHandle<Image>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<ImageView>
|
||||
{
|
||||
@@ -580,9 +560,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<ImageView>;
|
||||
};
|
||||
|
||||
using SharedImageView = SharedHandle<ImageView>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<ShaderModule>
|
||||
{
|
||||
@@ -590,9 +568,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<ShaderModule>;
|
||||
};
|
||||
|
||||
using SharedShaderModule = SharedHandle<ShaderModule>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<PipelineCache>
|
||||
{
|
||||
@@ -600,9 +576,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<PipelineCache>;
|
||||
};
|
||||
|
||||
using SharedPipelineCache = SharedHandle<PipelineCache>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Pipeline>
|
||||
{
|
||||
@@ -610,9 +584,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Pipeline>;
|
||||
};
|
||||
|
||||
using SharedPipeline = SharedHandle<Pipeline>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<PipelineLayout>
|
||||
{
|
||||
@@ -620,9 +592,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<PipelineLayout>;
|
||||
};
|
||||
|
||||
using SharedPipelineLayout = SharedHandle<PipelineLayout>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Sampler>
|
||||
{
|
||||
@@ -630,9 +600,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Sampler>;
|
||||
};
|
||||
|
||||
using SharedSampler = SharedHandle<Sampler>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<DescriptorPool>
|
||||
{
|
||||
@@ -640,9 +608,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<DescriptorPool>;
|
||||
};
|
||||
|
||||
using SharedDescriptorPool = SharedHandle<DescriptorPool>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<DescriptorSet>
|
||||
{
|
||||
@@ -650,9 +616,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::PoolFreeShared<DescriptorSet, DescriptorPool>;
|
||||
};
|
||||
|
||||
using SharedDescriptorSet = SharedHandle<DescriptorSet>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<DescriptorSetLayout>
|
||||
{
|
||||
@@ -660,9 +624,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<DescriptorSetLayout>;
|
||||
};
|
||||
|
||||
using SharedDescriptorSetLayout = SharedHandle<DescriptorSetLayout>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<Framebuffer>
|
||||
{
|
||||
@@ -670,9 +632,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<Framebuffer>;
|
||||
};
|
||||
|
||||
using SharedFramebuffer = SharedHandle<Framebuffer>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<RenderPass>
|
||||
{
|
||||
@@ -680,9 +640,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<RenderPass>;
|
||||
};
|
||||
|
||||
using SharedRenderPass = SharedHandle<RenderPass>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<CommandPool>
|
||||
{
|
||||
@@ -690,9 +648,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<CommandPool>;
|
||||
};
|
||||
|
||||
using SharedCommandPool = SharedHandle<CommandPool>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<CommandBuffer>
|
||||
{
|
||||
@@ -700,7 +656,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::PoolFreeShared<CommandBuffer, CommandPool>;
|
||||
};
|
||||
|
||||
using SharedCommandBuffer = SharedHandle<CommandBuffer>;
|
||||
|
||||
//=== VK_VERSION_1_1 ===
|
||||
@@ -711,21 +666,16 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<SamplerYcbcrConversion>;
|
||||
};
|
||||
|
||||
using SharedSamplerYcbcrConversion = SharedHandle<SamplerYcbcrConversion>;
|
||||
using SharedSamplerYcbcrConversionKHR = SharedHandle<SamplerYcbcrConversion>;
|
||||
|
||||
template <>
|
||||
using SharedSamplerYcbcrConversionKHR = SharedHandle<SamplerYcbcrConversion>; template <>
|
||||
class SharedHandleTraits<DescriptorUpdateTemplate>
|
||||
{
|
||||
public:
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<DescriptorUpdateTemplate>;
|
||||
};
|
||||
|
||||
using SharedDescriptorUpdateTemplate = SharedHandle<DescriptorUpdateTemplate>;
|
||||
using SharedDescriptorUpdateTemplateKHR = SharedHandle<DescriptorUpdateTemplate>;
|
||||
|
||||
//=== VK_VERSION_1_3 ===
|
||||
template <>
|
||||
class SharedHandleTraits<PrivateDataSlot>
|
||||
@@ -734,10 +684,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<PrivateDataSlot>;
|
||||
};
|
||||
|
||||
using SharedPrivateDataSlot = SharedHandle<PrivateDataSlot>;
|
||||
using SharedPrivateDataSlotEXT = SharedHandle<PrivateDataSlot>;
|
||||
|
||||
//=== VK_KHR_surface ===
|
||||
template <>
|
||||
class SharedHandleTraits<SurfaceKHR>
|
||||
@@ -746,7 +694,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Instance;
|
||||
using deleter = detail::ObjectDestroyShared<SurfaceKHR>;
|
||||
};
|
||||
|
||||
using SharedSurfaceKHR = SharedHandle<SurfaceKHR>;
|
||||
|
||||
//=== VK_KHR_swapchain ===
|
||||
@@ -757,7 +704,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<SwapchainKHR>;
|
||||
};
|
||||
|
||||
using SharedSwapchainKHR = SharedHandle<SwapchainKHR>;
|
||||
|
||||
//=== VK_KHR_display ===
|
||||
@@ -768,7 +714,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = PhysicalDevice;
|
||||
using deleter = detail::ObjectDestroyShared<DisplayKHR>;
|
||||
};
|
||||
|
||||
using SharedDisplayKHR = SharedHandle<DisplayKHR>;
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
@@ -779,7 +724,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Instance;
|
||||
using deleter = detail::ObjectDestroyShared<DebugReportCallbackEXT>;
|
||||
};
|
||||
|
||||
using SharedDebugReportCallbackEXT = SharedHandle<DebugReportCallbackEXT>;
|
||||
|
||||
//=== VK_KHR_video_queue ===
|
||||
@@ -790,9 +734,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<VideoSessionKHR>;
|
||||
};
|
||||
|
||||
using SharedVideoSessionKHR = SharedHandle<VideoSessionKHR>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<VideoSessionParametersKHR>
|
||||
{
|
||||
@@ -800,7 +742,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<VideoSessionParametersKHR>;
|
||||
};
|
||||
|
||||
using SharedVideoSessionParametersKHR = SharedHandle<VideoSessionParametersKHR>;
|
||||
|
||||
//=== VK_NVX_binary_import ===
|
||||
@@ -811,9 +752,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<CuModuleNVX>;
|
||||
};
|
||||
|
||||
using SharedCuModuleNVX = SharedHandle<CuModuleNVX>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<CuFunctionNVX>
|
||||
{
|
||||
@@ -821,7 +760,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<CuFunctionNVX>;
|
||||
};
|
||||
|
||||
using SharedCuFunctionNVX = SharedHandle<CuFunctionNVX>;
|
||||
|
||||
//=== VK_EXT_debug_utils ===
|
||||
@@ -832,7 +770,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Instance;
|
||||
using deleter = detail::ObjectDestroyShared<DebugUtilsMessengerEXT>;
|
||||
};
|
||||
|
||||
using SharedDebugUtilsMessengerEXT = SharedHandle<DebugUtilsMessengerEXT>;
|
||||
|
||||
//=== VK_KHR_acceleration_structure ===
|
||||
@@ -843,7 +780,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<AccelerationStructureKHR>;
|
||||
};
|
||||
|
||||
using SharedAccelerationStructureKHR = SharedHandle<AccelerationStructureKHR>;
|
||||
|
||||
//=== VK_EXT_validation_cache ===
|
||||
@@ -854,7 +790,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<ValidationCacheEXT>;
|
||||
};
|
||||
|
||||
using SharedValidationCacheEXT = SharedHandle<ValidationCacheEXT>;
|
||||
|
||||
//=== VK_NV_ray_tracing ===
|
||||
@@ -865,7 +800,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<AccelerationStructureNV>;
|
||||
};
|
||||
|
||||
using SharedAccelerationStructureNV = SharedHandle<AccelerationStructureNV>;
|
||||
|
||||
//=== VK_INTEL_performance_query ===
|
||||
@@ -876,7 +810,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<PerformanceConfigurationINTEL>;
|
||||
};
|
||||
|
||||
using SharedPerformanceConfigurationINTEL = SharedHandle<PerformanceConfigurationINTEL>;
|
||||
|
||||
//=== VK_KHR_deferred_host_operations ===
|
||||
@@ -887,7 +820,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<DeferredOperationKHR>;
|
||||
};
|
||||
|
||||
using SharedDeferredOperationKHR = SharedHandle<DeferredOperationKHR>;
|
||||
|
||||
//=== VK_NV_device_generated_commands ===
|
||||
@@ -898,7 +830,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<IndirectCommandsLayoutNV>;
|
||||
};
|
||||
|
||||
using SharedIndirectCommandsLayoutNV = SharedHandle<IndirectCommandsLayoutNV>;
|
||||
|
||||
#if defined( VK_ENABLE_BETA_EXTENSIONS )
|
||||
@@ -910,9 +841,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<CudaModuleNV>;
|
||||
};
|
||||
|
||||
using SharedCudaModuleNV = SharedHandle<CudaModuleNV>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<CudaFunctionNV>
|
||||
{
|
||||
@@ -920,7 +849,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<CudaFunctionNV>;
|
||||
};
|
||||
|
||||
using SharedCudaFunctionNV = SharedHandle<CudaFunctionNV>;
|
||||
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
@@ -933,7 +861,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<BufferCollectionFUCHSIA>;
|
||||
};
|
||||
|
||||
using SharedBufferCollectionFUCHSIA = SharedHandle<BufferCollectionFUCHSIA>;
|
||||
#endif /*VK_USE_PLATFORM_FUCHSIA*/
|
||||
|
||||
@@ -945,7 +872,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<MicromapEXT>;
|
||||
};
|
||||
|
||||
using SharedMicromapEXT = SharedHandle<MicromapEXT>;
|
||||
|
||||
//=== VK_ARM_tensors ===
|
||||
@@ -956,9 +882,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<TensorARM>;
|
||||
};
|
||||
|
||||
using SharedTensorARM = SharedHandle<TensorARM>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<TensorViewARM>
|
||||
{
|
||||
@@ -966,7 +890,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<TensorViewARM>;
|
||||
};
|
||||
|
||||
using SharedTensorViewARM = SharedHandle<TensorViewARM>;
|
||||
|
||||
//=== VK_NV_optical_flow ===
|
||||
@@ -977,7 +900,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<OpticalFlowSessionNV>;
|
||||
};
|
||||
|
||||
using SharedOpticalFlowSessionNV = SharedHandle<OpticalFlowSessionNV>;
|
||||
|
||||
//=== VK_EXT_shader_object ===
|
||||
@@ -988,7 +910,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<ShaderEXT>;
|
||||
};
|
||||
|
||||
using SharedShaderEXT = SharedHandle<ShaderEXT>;
|
||||
|
||||
//=== VK_KHR_pipeline_binary ===
|
||||
@@ -999,7 +920,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<PipelineBinaryKHR>;
|
||||
};
|
||||
|
||||
using SharedPipelineBinaryKHR = SharedHandle<PipelineBinaryKHR>;
|
||||
|
||||
//=== VK_ARM_data_graph ===
|
||||
@@ -1010,7 +930,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<DataGraphPipelineSessionARM>;
|
||||
};
|
||||
|
||||
using SharedDataGraphPipelineSessionARM = SharedHandle<DataGraphPipelineSessionARM>;
|
||||
|
||||
//=== VK_NV_external_compute_queue ===
|
||||
@@ -1021,7 +940,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<ExternalComputeQueueNV>;
|
||||
};
|
||||
|
||||
using SharedExternalComputeQueueNV = SharedHandle<ExternalComputeQueueNV>;
|
||||
|
||||
//=== VK_EXT_device_generated_commands ===
|
||||
@@ -1032,9 +950,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<IndirectCommandsLayoutEXT>;
|
||||
};
|
||||
|
||||
using SharedIndirectCommandsLayoutEXT = SharedHandle<IndirectCommandsLayoutEXT>;
|
||||
|
||||
template <>
|
||||
class SharedHandleTraits<IndirectExecutionSetEXT>
|
||||
{
|
||||
@@ -1042,9 +958,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
using DestructorType = Device;
|
||||
using deleter = detail::ObjectDestroyShared<IndirectExecutionSetEXT>;
|
||||
};
|
||||
|
||||
using SharedIndirectExecutionSetEXT = SharedHandle<IndirectExecutionSetEXT>;
|
||||
|
||||
|
||||
enum class SwapchainOwns
|
||||
{
|
||||
no,
|
||||
@@ -1053,8 +969,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
struct ImageHeader : SharedHeader<DestructorTypeOf<VULKAN_HPP_NAMESPACE::Image>, typename SharedHandleTraits<VULKAN_HPP_NAMESPACE::Image>::deleter>
|
||||
{
|
||||
ImageHeader(
|
||||
SharedHandle<DestructorTypeOf<VULKAN_HPP_NAMESPACE::Image>> parent,
|
||||
ImageHeader( SharedHandle<DestructorTypeOf<VULKAN_HPP_NAMESPACE::Image>> parent,
|
||||
typename SharedHandleTraits<VULKAN_HPP_NAMESPACE::Image>::deleter deleter = typename SharedHandleTraits<VULKAN_HPP_NAMESPACE::Image>::deleter(),
|
||||
SwapchainOwns swapchainOwned = SwapchainOwns::no ) VULKAN_HPP_NOEXCEPT
|
||||
: SharedHeader<DestructorTypeOf<VULKAN_HPP_NAMESPACE::Image>, typename SharedHandleTraits<VULKAN_HPP_NAMESPACE::Image>::deleter>( std::move( parent ),
|
||||
@@ -1163,13 +1078,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
public:
|
||||
SharedHandle() = default;
|
||||
|
||||
explicit SharedHandle(PhysicalDevice handle, SharedInstance parent) noexcept
|
||||
: SharedHandleBaseNoDestroy<PhysicalDevice, SharedInstance>(handle, std::move(parent))
|
||||
{
|
||||
}
|
||||
{}
|
||||
};
|
||||
|
||||
using SharedPhysicalDevice = SharedHandle<PhysicalDevice>;
|
||||
|
||||
template <>
|
||||
@@ -1179,10 +1091,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
public:
|
||||
SharedHandle() = default;
|
||||
|
||||
explicit SharedHandle( Queue handle, SharedDevice parent ) noexcept : SharedHandleBaseNoDestroy<Queue, SharedDevice>( handle, std::move( parent ) ) {}
|
||||
explicit SharedHandle(Queue handle, SharedDevice parent) noexcept
|
||||
: SharedHandleBaseNoDestroy<Queue, SharedDevice>(handle, std::move(parent))
|
||||
{}
|
||||
};
|
||||
|
||||
using SharedQueue = SharedHandle<Queue>;
|
||||
|
||||
//=== VK_KHR_display ===
|
||||
@@ -1194,13 +1106,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
public:
|
||||
SharedHandle() = default;
|
||||
|
||||
explicit SharedHandle(DisplayModeKHR handle, SharedDisplayKHR parent) noexcept
|
||||
: SharedHandleBaseNoDestroy<DisplayModeKHR, SharedDisplayKHR>(handle, std::move(parent))
|
||||
{
|
||||
}
|
||||
{}
|
||||
};
|
||||
|
||||
using SharedDisplayModeKHR = SharedHandle<DisplayModeKHR>;
|
||||
#endif // !VULKAN_HPP_NO_SMART_HANDLE
|
||||
} // namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
+2979
-6217
File diff suppressed because it is too large
Load Diff
+23468
-32000
File diff suppressed because one or more lines are too long
+1631
-1948
File diff suppressed because it is too large
Load Diff
Vendored
+32
@@ -37,6 +37,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
//=== ENUMs ===
|
||||
//=============
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H264STD_H_ )
|
||||
//=== vulkan_video_codec_h264std ===
|
||||
|
||||
enum class H264ChromaFormatIdc
|
||||
@@ -185,7 +186,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
ePrecoded = STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED,
|
||||
eInvalid = STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ )
|
||||
//=== vulkan_video_codec_h264std_decode ===
|
||||
|
||||
enum class DecodeH264FieldOrderCount
|
||||
@@ -194,7 +197,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eBottom = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM,
|
||||
eInvalid = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H265STD_H_ )
|
||||
//=== vulkan_video_codec_h265std ===
|
||||
|
||||
enum class H265ChromaFormatIdc
|
||||
@@ -273,7 +278,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eExtendedSar = STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR,
|
||||
eInvalid = STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_VP9STD_H_ )
|
||||
//=== vulkan_video_codec_vp9std ===
|
||||
|
||||
enum class VP9Profile
|
||||
@@ -342,7 +349,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eRgb = STD_VIDEO_VP9_COLOR_SPACE_RGB,
|
||||
eInvalid = STD_VIDEO_VP9_COLOR_SPACE_INVALID
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_AV1STD_H_ )
|
||||
//=== vulkan_video_codec_av1std ===
|
||||
|
||||
enum class AV1Profile
|
||||
@@ -502,11 +511,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eReserved = STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED,
|
||||
eInvalid = STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID
|
||||
};
|
||||
#endif
|
||||
|
||||
//===============
|
||||
//=== STRUCTS ===
|
||||
//===============
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H264STD_H_ )
|
||||
//=== vulkan_video_codec_h264std ===
|
||||
|
||||
struct H264SpsVuiFlags
|
||||
@@ -960,7 +971,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
int8_t second_chroma_qp_index_offset = {};
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ScalingLists * pScalingLists = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ )
|
||||
//=== vulkan_video_codec_h264std_decode ===
|
||||
|
||||
struct DecodeH264PictureInfoFlags
|
||||
@@ -1137,7 +1150,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
uint16_t reserved = {};
|
||||
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int32_t, STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE> PicOrderCnt = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ )
|
||||
//=== vulkan_video_codec_h264std_encode ===
|
||||
|
||||
struct EncodeH264WeightTableFlags
|
||||
@@ -1688,7 +1703,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264DisableDeblockingFilterIdc::eDisabled;
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264WeightTable * pWeightTable = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H265STD_H_ )
|
||||
//=== vulkan_video_codec_h265std ===
|
||||
|
||||
struct H265DecPicBufMgr
|
||||
@@ -2805,7 +2822,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ScalingLists * pScalingLists = {};
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PredictorPaletteEntries * pPredictorPaletteEntries = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ )
|
||||
//=== vulkan_video_codec_h265std_decode ===
|
||||
|
||||
struct DecodeH265PictureInfoFlags
|
||||
@@ -2980,7 +2999,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::DecodeH265ReferenceInfoFlags flags = {};
|
||||
int32_t PicOrderCntVal = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ )
|
||||
//=== vulkan_video_codec_h265std_encode ===
|
||||
|
||||
struct EncodeH265WeightTableFlags
|
||||
@@ -3513,7 +3534,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
int32_t PicOrderCntVal = {};
|
||||
uint8_t TemporalId = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_VP9STD_H_ )
|
||||
//=== vulkan_video_codec_vp9std ===
|
||||
|
||||
struct VP9ColorConfigFlags
|
||||
@@ -3772,7 +3795,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_VP9_MAX_SEGMENTS> FeatureEnabled = {};
|
||||
VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int16_t, STD_VIDEO_VP9_MAX_SEGMENTS, STD_VIDEO_VP9_SEG_LVL_MAX> FeatureData = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_VP9STD_DECODE_H_ )
|
||||
//=== vulkan_video_codec_vp9std_decode ===
|
||||
|
||||
struct DecodeVP9PictureInfoFlags
|
||||
@@ -3885,7 +3910,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::VP9LoopFilter * pLoopFilter = {};
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::VP9Segmentation * pSegmentation = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_AV1STD_H_ )
|
||||
//=== vulkan_video_codec_av1std ===
|
||||
|
||||
struct AV1ColorConfigFlags
|
||||
@@ -4725,7 +4752,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1ColorConfig * pColorConfig = {};
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1TimingInfo * pTimingInfo = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ )
|
||||
//=== vulkan_video_codec_av1std_decode ===
|
||||
|
||||
struct DecodeAV1PictureInfoFlags
|
||||
@@ -4959,7 +4988,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
uint8_t OrderHint = {};
|
||||
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_AV1_NUM_REF_FRAMES> SavedOrderHints = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_VIDEO_CODEC_AV1STD_ENCODE_H_ )
|
||||
//=== vulkan_video_codec_av1std_encode ===
|
||||
|
||||
struct EncodeAV1DecoderModelInfo
|
||||
@@ -5372,6 +5403,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, 3> reserved1 = {};
|
||||
const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ExtensionHeader * pExtensionHeader = {};
|
||||
};
|
||||
#endif
|
||||
|
||||
} // namespace VULKAN_HPP_VIDEO_NAMESPACE
|
||||
} // namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- Global settings
|
||||
|
||||
add_requires("libsdl", { configs = { sdlmain = false } })
|
||||
add_requires("libsdl2", { configs = { sdlmain = false } })
|
||||
|
||||
add_rules("mode.debug", "mode.release", "mode.releasedbg")
|
||||
set_languages("cxx20", "c11")
|
||||
@@ -63,7 +63,7 @@ target("mlx")
|
||||
|
||||
add_files("runtime/Sources/**.cpp")
|
||||
|
||||
add_packages("libsdl")
|
||||
add_packages("libsdl2")
|
||||
|
||||
if is_mode("debug") then
|
||||
add_defines("DEBUG")
|
||||
@@ -98,5 +98,5 @@ target("Test")
|
||||
|
||||
add_defines("SDL_MAIN_HANDLED")
|
||||
|
||||
add_packages("libsdl")
|
||||
add_packages("libsdl2")
|
||||
target_end()
|
||||
|
||||
Reference in New Issue
Block a user