mirror of
https://github.com/mitch030504/Wiicompiled_VR_Frame.git
synced 2026-10-06 07:00:30 +02:00
Added Vulkan PC OpenXR Support
This commit is contained in:
1 parent
fbc9ce7217
commit
e7b670b2cc
23 files changed
+2174
-22
No files matched your search
@@ -0,0 +1,33 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
// Versioned C ABI: no STL objects or compiler-specific C++ symbols cross the
|
||||
// MSVC Dawn DLL / LLVM-MinGW runtime boundary. Vulkan handles are borrowed.
|
||||
#define AURORA_DAWN_VULKAN_ABI 1
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
typedef struct {
|
||||
void* userdata;
|
||||
int32_t (*createInstance)(void*, void* getProc, const void* info, const void* allocator, void** instance);
|
||||
int32_t (*createDevice)(void*, void* getProc, void* physical, const void* info, const void* allocator, void** device);
|
||||
int32_t (*getPhysicalDevice)(void*, void* instance, void** physical);
|
||||
} AuroraDawnVulkanHooks;
|
||||
typedef struct {
|
||||
void* instance;
|
||||
void* physicalDevice;
|
||||
void* device;
|
||||
uint32_t queueFamily;
|
||||
uint32_t queueIndex;
|
||||
} AuroraDawnVulkanHandles;
|
||||
typedef uint32_t (*AuroraDawnVulkanVersionFn)(void);
|
||||
typedef int (*AuroraDawnVulkanConfigureFn)(const AuroraDawnVulkanHooks*);
|
||||
typedef int (*AuroraDawnVulkanHandlesFn)(void* device, AuroraDawnVulkanHandles*);
|
||||
typedef void* (*AuroraDawnVulkanWrapFn)(void* device, const void* textureDescriptor, uint64_t image);
|
||||
typedef int (*AuroraDawnVulkanReleaseFn)(void* device, void* const* textures, uint32_t count);
|
||||
typedef void* (*AuroraDawnVulkanLockFn)(void* device);
|
||||
typedef void (*AuroraDawnVulkanUnlockFn)(void* guard);
|
||||
typedef int (*AuroraDawnVulkanDrainFn)(void* device);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,20 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#pragma once
|
||||
#include <aurora/dawn_vulkan_abi.h>
|
||||
#include <aurora/d3d12_interop.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
// Same pending-target/callback contract as D3D12. resource carries a VkImage
|
||||
// encoded as a pointer-sized value; colorDxgiFormat carries a VkFormat.
|
||||
bool aurora_vulkan_win32_configure(const AuroraDawnVulkanHooks* hooks);
|
||||
bool aurora_vulkan_win32_get_handles(AuroraDawnVulkanHandles* handles, int64_t* colorFormat);
|
||||
bool aurora_vulkan_win32_enable(AuroraD3D12StereoSubmittedCallback submitted, void* userdata);
|
||||
bool aurora_vulkan_win32_set_targets(uint64_t token, const AuroraD3D12StereoTarget* targets, uint32_t count);
|
||||
bool aurora_vulkan_win32_cancel(uint64_t token);
|
||||
bool aurora_vulkan_win32_disable();
|
||||
void* aurora_vulkan_win32_lock_queue();
|
||||
void aurora_vulkan_win32_unlock_queue(void* guard);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in new issue
Block a user