early-access version 1322
This commit is contained in:
parent
adf2a4a752
commit
d0abd4ba50
8 changed files with 166 additions and 170 deletions
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 1318.
|
This is the source code for early-access 1322.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,7 @@ else()
|
||||||
-Werror=reorder
|
-Werror=reorder
|
||||||
-Werror=switch
|
-Werror=switch
|
||||||
-Werror=uninitialized
|
-Werror=uninitialized
|
||||||
|
-Werror=unused-function
|
||||||
-Werror=unused-result
|
-Werror=unused-result
|
||||||
-Werror=unused-variable
|
-Werror=unused-variable
|
||||||
-Wextra
|
-Wextra
|
||||||
|
|
|
@ -642,9 +642,7 @@ else()
|
||||||
-Werror=conversion
|
-Werror=conversion
|
||||||
-Werror=ignored-qualifiers
|
-Werror=ignored-qualifiers
|
||||||
-Werror=implicit-fallthrough
|
-Werror=implicit-fallthrough
|
||||||
-Werror=reorder
|
|
||||||
-Werror=sign-compare
|
-Werror=sign-compare
|
||||||
-Werror=unused-variable
|
|
||||||
|
|
||||||
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
|
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
|
||||||
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable>
|
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable>
|
||||||
|
|
|
@ -313,9 +313,7 @@ else()
|
||||||
-Werror=pessimizing-move
|
-Werror=pessimizing-move
|
||||||
-Werror=redundant-move
|
-Werror=redundant-move
|
||||||
-Werror=shadow
|
-Werror=shadow
|
||||||
-Werror=switch
|
|
||||||
-Werror=type-limits
|
-Werror=type-limits
|
||||||
-Werror=unused-variable
|
|
||||||
|
|
||||||
$<$<CXX_COMPILER_ID:GNU>:-Werror=class-memaccess>
|
$<$<CXX_COMPILER_ID:GNU>:-Werror=class-memaccess>
|
||||||
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
|
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
|
||||||
|
|
|
@ -34,10 +34,6 @@ constexpr VkAccessFlags UPLOAD_ACCESS_BARRIERS =
|
||||||
constexpr VkAccessFlags TRANSFORM_FEEDBACK_WRITE_ACCESS =
|
constexpr VkAccessFlags TRANSFORM_FEEDBACK_WRITE_ACCESS =
|
||||||
VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT | VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
|
VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT | VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
|
||||||
|
|
||||||
std::unique_ptr<VKStreamBuffer> CreateStreamBuffer(const Device& device, VKScheduler& scheduler) {
|
|
||||||
return std::make_unique<VKStreamBuffer>(device, scheduler);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // Anonymous namespace
|
} // Anonymous namespace
|
||||||
|
|
||||||
Buffer::Buffer(const Device& device_, MemoryAllocator& memory_allocator, VKScheduler& scheduler_,
|
Buffer::Buffer(const Device& device_, MemoryAllocator& memory_allocator, VKScheduler& scheduler_,
|
||||||
|
|
|
@ -99,8 +99,7 @@ VkFormatFeatureFlags GetFormatFeatures(VkFormatProperties properties, FormatType
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(
|
std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::PhysicalDevice physical) {
|
||||||
vk::PhysicalDevice physical, const vk::InstanceDispatch& dld) {
|
|
||||||
static constexpr std::array formats{
|
static constexpr std::array formats{
|
||||||
VK_FORMAT_A8B8G8R8_UNORM_PACK32,
|
VK_FORMAT_A8B8G8R8_UNORM_PACK32,
|
||||||
VK_FORMAT_A8B8G8R8_UINT_PACK32,
|
VK_FORMAT_A8B8G8R8_UINT_PACK32,
|
||||||
|
@ -210,7 +209,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(
|
||||||
Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR surface,
|
Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR surface,
|
||||||
const vk::InstanceDispatch& dld_)
|
const vk::InstanceDispatch& dld_)
|
||||||
: instance{instance_}, dld{dld_}, physical{physical_}, properties{physical.GetProperties()},
|
: instance{instance_}, dld{dld_}, physical{physical_}, properties{physical.GetProperties()},
|
||||||
format_properties{GetFormatProperties(physical, dld)} {
|
format_properties{GetFormatProperties(physical)} {
|
||||||
CheckSuitability();
|
CheckSuitability();
|
||||||
SetupFamilies(surface);
|
SetupFamilies(surface);
|
||||||
SetupFeatures();
|
SetupFeatures();
|
||||||
|
@ -221,6 +220,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||||
VkPhysicalDeviceFeatures2 features2{
|
VkPhysicalDeviceFeatures2 features2{
|
||||||
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
|
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
|
||||||
.pNext = nullptr,
|
.pNext = nullptr,
|
||||||
|
.features{},
|
||||||
};
|
};
|
||||||
const void* first_next = &features2;
|
const void* first_next = &features2;
|
||||||
void** next = &features2.pNext;
|
void** next = &features2.pNext;
|
||||||
|
@ -256,7 +256,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||||
.shaderTessellationAndGeometryPointSize = false,
|
.shaderTessellationAndGeometryPointSize = false,
|
||||||
.shaderImageGatherExtended = true,
|
.shaderImageGatherExtended = true,
|
||||||
.shaderStorageImageExtendedFormats = false,
|
.shaderStorageImageExtendedFormats = false,
|
||||||
.shaderStorageImageMultisample = true,
|
.shaderStorageImageMultisample = is_shader_storage_image_multisample,
|
||||||
.shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported,
|
.shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported,
|
||||||
.shaderStorageImageWriteWithoutFormat = true,
|
.shaderStorageImageWriteWithoutFormat = true,
|
||||||
.shaderUniformBufferArrayDynamicIndexing = false,
|
.shaderUniformBufferArrayDynamicIndexing = false,
|
||||||
|
@ -310,6 +310,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||||
|
|
||||||
VkPhysicalDeviceHostQueryResetFeaturesEXT host_query_reset{
|
VkPhysicalDeviceHostQueryResetFeaturesEXT host_query_reset{
|
||||||
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
|
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
|
||||||
|
.pNext = nullptr,
|
||||||
.hostQueryReset = true,
|
.hostQueryReset = true,
|
||||||
};
|
};
|
||||||
SetNext(next, host_query_reset);
|
SetNext(next, host_query_reset);
|
||||||
|
@ -803,6 +804,7 @@ void Device::SetupFamilies(VkSurfaceKHR surface) {
|
||||||
void Device::SetupFeatures() {
|
void Device::SetupFeatures() {
|
||||||
const auto supported_features{physical.GetFeatures()};
|
const auto supported_features{physical.GetFeatures()};
|
||||||
is_formatless_image_load_supported = supported_features.shaderStorageImageReadWithoutFormat;
|
is_formatless_image_load_supported = supported_features.shaderStorageImageReadWithoutFormat;
|
||||||
|
is_shader_storage_image_multisample = supported_features.shaderStorageImageMultisample;
|
||||||
is_blit_depth_stencil_supported = TestDepthStencilBlits();
|
is_blit_depth_stencil_supported = TestDepthStencilBlits();
|
||||||
is_optimal_astc_supported = IsOptimalAstcSupported(supported_features);
|
is_optimal_astc_supported = IsOptimalAstcSupported(supported_features);
|
||||||
}
|
}
|
||||||
|
|
|
@ -273,6 +273,7 @@ private:
|
||||||
bool is_float16_supported{}; ///< Support for float16 arithmetics.
|
bool is_float16_supported{}; ///< Support for float16 arithmetics.
|
||||||
bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest.
|
bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest.
|
||||||
bool is_formatless_image_load_supported{}; ///< Support for shader image read without format.
|
bool is_formatless_image_load_supported{}; ///< Support for shader image read without format.
|
||||||
|
bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images.
|
||||||
bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil.
|
bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil.
|
||||||
bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle.
|
bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle.
|
||||||
bool khr_uniform_buffer_standard_layout{}; ///< Support for std430 on UBOs.
|
bool khr_uniform_buffer_standard_layout{}; ///< Support for std430 on UBOs.
|
||||||
|
|
|
@ -144,152 +144,152 @@ inline VkResult Filter(VkResult result) {
|
||||||
|
|
||||||
/// Table holding Vulkan instance function pointers.
|
/// Table holding Vulkan instance function pointers.
|
||||||
struct InstanceDispatch {
|
struct InstanceDispatch {
|
||||||
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
|
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr{};
|
||||||
|
|
||||||
PFN_vkCreateInstance vkCreateInstance;
|
PFN_vkCreateInstance vkCreateInstance{};
|
||||||
PFN_vkDestroyInstance vkDestroyInstance;
|
PFN_vkDestroyInstance vkDestroyInstance{};
|
||||||
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
|
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties{};
|
||||||
PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
|
PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties{};
|
||||||
|
|
||||||
PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
|
PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT{};
|
||||||
PFN_vkCreateDevice vkCreateDevice;
|
PFN_vkCreateDevice vkCreateDevice{};
|
||||||
PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
|
PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT{};
|
||||||
PFN_vkDestroyDevice vkDestroyDevice;
|
PFN_vkDestroyDevice vkDestroyDevice{};
|
||||||
PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
|
PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR{};
|
||||||
PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
|
PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties{};
|
||||||
PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
|
PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices{};
|
||||||
PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
|
PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr{};
|
||||||
PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
|
PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR{};
|
||||||
PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
|
PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties{};
|
||||||
PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
|
PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties{};
|
||||||
PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
|
PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties{};
|
||||||
PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
|
PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR{};
|
||||||
PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties{};
|
||||||
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
|
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR{};
|
||||||
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
|
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR{};
|
||||||
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
|
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR{};
|
||||||
PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
|
PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR{};
|
||||||
PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
|
PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR{};
|
||||||
PFN_vkQueuePresentKHR vkQueuePresentKHR;
|
PFN_vkQueuePresentKHR vkQueuePresentKHR{};
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Table holding Vulkan device function pointers.
|
/// Table holding Vulkan device function pointers.
|
||||||
struct DeviceDispatch : public InstanceDispatch {
|
struct DeviceDispatch : public InstanceDispatch {
|
||||||
PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
|
PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR{};
|
||||||
PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
|
PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers{};
|
||||||
PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
|
PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets{};
|
||||||
PFN_vkAllocateMemory vkAllocateMemory;
|
PFN_vkAllocateMemory vkAllocateMemory{};
|
||||||
PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
|
PFN_vkBeginCommandBuffer vkBeginCommandBuffer{};
|
||||||
PFN_vkBindBufferMemory vkBindBufferMemory;
|
PFN_vkBindBufferMemory vkBindBufferMemory{};
|
||||||
PFN_vkBindImageMemory vkBindImageMemory;
|
PFN_vkBindImageMemory vkBindImageMemory{};
|
||||||
PFN_vkCmdBeginQuery vkCmdBeginQuery;
|
PFN_vkCmdBeginQuery vkCmdBeginQuery{};
|
||||||
PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
|
PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass{};
|
||||||
PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
|
PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT{};
|
||||||
PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
|
PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT{};
|
||||||
PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
|
PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets{};
|
||||||
PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
|
PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer{};
|
||||||
PFN_vkCmdBindPipeline vkCmdBindPipeline;
|
PFN_vkCmdBindPipeline vkCmdBindPipeline{};
|
||||||
PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
|
PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT{};
|
||||||
PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
|
PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers{};
|
||||||
PFN_vkCmdBlitImage vkCmdBlitImage;
|
PFN_vkCmdBlitImage vkCmdBlitImage{};
|
||||||
PFN_vkCmdClearAttachments vkCmdClearAttachments;
|
PFN_vkCmdClearAttachments vkCmdClearAttachments{};
|
||||||
PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
|
PFN_vkCmdCopyBuffer vkCmdCopyBuffer{};
|
||||||
PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
|
PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage{};
|
||||||
PFN_vkCmdCopyImage vkCmdCopyImage;
|
PFN_vkCmdCopyImage vkCmdCopyImage{};
|
||||||
PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
|
PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer{};
|
||||||
PFN_vkCmdDispatch vkCmdDispatch;
|
PFN_vkCmdDispatch vkCmdDispatch{};
|
||||||
PFN_vkCmdDraw vkCmdDraw;
|
PFN_vkCmdDraw vkCmdDraw{};
|
||||||
PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
|
PFN_vkCmdDrawIndexed vkCmdDrawIndexed{};
|
||||||
PFN_vkCmdEndQuery vkCmdEndQuery;
|
PFN_vkCmdEndQuery vkCmdEndQuery{};
|
||||||
PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
|
PFN_vkCmdEndRenderPass vkCmdEndRenderPass{};
|
||||||
PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
|
PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT{};
|
||||||
PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
|
PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT{};
|
||||||
PFN_vkCmdFillBuffer vkCmdFillBuffer;
|
PFN_vkCmdFillBuffer vkCmdFillBuffer{};
|
||||||
PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
|
PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier{};
|
||||||
PFN_vkCmdPushConstants vkCmdPushConstants;
|
PFN_vkCmdPushConstants vkCmdPushConstants{};
|
||||||
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
|
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants{};
|
||||||
PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
|
PFN_vkCmdSetDepthBias vkCmdSetDepthBias{};
|
||||||
PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
|
PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds{};
|
||||||
PFN_vkCmdSetEvent vkCmdSetEvent;
|
PFN_vkCmdSetEvent vkCmdSetEvent{};
|
||||||
PFN_vkCmdSetScissor vkCmdSetScissor;
|
PFN_vkCmdSetScissor vkCmdSetScissor{};
|
||||||
PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
|
PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask{};
|
||||||
PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
|
PFN_vkCmdSetStencilReference vkCmdSetStencilReference{};
|
||||||
PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
|
PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask{};
|
||||||
PFN_vkCmdSetViewport vkCmdSetViewport;
|
PFN_vkCmdSetViewport vkCmdSetViewport{};
|
||||||
PFN_vkCmdWaitEvents vkCmdWaitEvents;
|
PFN_vkCmdWaitEvents vkCmdWaitEvents{};
|
||||||
PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
|
PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT{};
|
||||||
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
|
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT{};
|
||||||
PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
|
PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT{};
|
||||||
PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
|
PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT{};
|
||||||
PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
|
PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT{};
|
||||||
PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
|
PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT{};
|
||||||
PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
|
PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT{};
|
||||||
PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
|
PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT{};
|
||||||
PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
|
PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT{};
|
||||||
PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
|
PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT{};
|
||||||
PFN_vkCmdResolveImage vkCmdResolveImage;
|
PFN_vkCmdResolveImage vkCmdResolveImage{};
|
||||||
PFN_vkCreateBuffer vkCreateBuffer;
|
PFN_vkCreateBuffer vkCreateBuffer{};
|
||||||
PFN_vkCreateBufferView vkCreateBufferView;
|
PFN_vkCreateBufferView vkCreateBufferView{};
|
||||||
PFN_vkCreateCommandPool vkCreateCommandPool;
|
PFN_vkCreateCommandPool vkCreateCommandPool{};
|
||||||
PFN_vkCreateComputePipelines vkCreateComputePipelines;
|
PFN_vkCreateComputePipelines vkCreateComputePipelines{};
|
||||||
PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
|
PFN_vkCreateDescriptorPool vkCreateDescriptorPool{};
|
||||||
PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
|
PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout{};
|
||||||
PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
|
PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR{};
|
||||||
PFN_vkCreateEvent vkCreateEvent;
|
PFN_vkCreateEvent vkCreateEvent{};
|
||||||
PFN_vkCreateFence vkCreateFence;
|
PFN_vkCreateFence vkCreateFence{};
|
||||||
PFN_vkCreateFramebuffer vkCreateFramebuffer;
|
PFN_vkCreateFramebuffer vkCreateFramebuffer{};
|
||||||
PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
|
PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines{};
|
||||||
PFN_vkCreateImage vkCreateImage;
|
PFN_vkCreateImage vkCreateImage{};
|
||||||
PFN_vkCreateImageView vkCreateImageView;
|
PFN_vkCreateImageView vkCreateImageView{};
|
||||||
PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
|
PFN_vkCreatePipelineLayout vkCreatePipelineLayout{};
|
||||||
PFN_vkCreateQueryPool vkCreateQueryPool;
|
PFN_vkCreateQueryPool vkCreateQueryPool{};
|
||||||
PFN_vkCreateRenderPass vkCreateRenderPass;
|
PFN_vkCreateRenderPass vkCreateRenderPass{};
|
||||||
PFN_vkCreateSampler vkCreateSampler;
|
PFN_vkCreateSampler vkCreateSampler{};
|
||||||
PFN_vkCreateSemaphore vkCreateSemaphore;
|
PFN_vkCreateSemaphore vkCreateSemaphore{};
|
||||||
PFN_vkCreateShaderModule vkCreateShaderModule;
|
PFN_vkCreateShaderModule vkCreateShaderModule{};
|
||||||
PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
|
PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR{};
|
||||||
PFN_vkDestroyBuffer vkDestroyBuffer;
|
PFN_vkDestroyBuffer vkDestroyBuffer{};
|
||||||
PFN_vkDestroyBufferView vkDestroyBufferView;
|
PFN_vkDestroyBufferView vkDestroyBufferView{};
|
||||||
PFN_vkDestroyCommandPool vkDestroyCommandPool;
|
PFN_vkDestroyCommandPool vkDestroyCommandPool{};
|
||||||
PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
|
PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool{};
|
||||||
PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
|
PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout{};
|
||||||
PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
|
PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR{};
|
||||||
PFN_vkDestroyEvent vkDestroyEvent;
|
PFN_vkDestroyEvent vkDestroyEvent{};
|
||||||
PFN_vkDestroyFence vkDestroyFence;
|
PFN_vkDestroyFence vkDestroyFence{};
|
||||||
PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
|
PFN_vkDestroyFramebuffer vkDestroyFramebuffer{};
|
||||||
PFN_vkDestroyImage vkDestroyImage;
|
PFN_vkDestroyImage vkDestroyImage{};
|
||||||
PFN_vkDestroyImageView vkDestroyImageView;
|
PFN_vkDestroyImageView vkDestroyImageView{};
|
||||||
PFN_vkDestroyPipeline vkDestroyPipeline;
|
PFN_vkDestroyPipeline vkDestroyPipeline{};
|
||||||
PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
|
PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout{};
|
||||||
PFN_vkDestroyQueryPool vkDestroyQueryPool;
|
PFN_vkDestroyQueryPool vkDestroyQueryPool{};
|
||||||
PFN_vkDestroyRenderPass vkDestroyRenderPass;
|
PFN_vkDestroyRenderPass vkDestroyRenderPass{};
|
||||||
PFN_vkDestroySampler vkDestroySampler;
|
PFN_vkDestroySampler vkDestroySampler{};
|
||||||
PFN_vkDestroySemaphore vkDestroySemaphore;
|
PFN_vkDestroySemaphore vkDestroySemaphore{};
|
||||||
PFN_vkDestroyShaderModule vkDestroyShaderModule;
|
PFN_vkDestroyShaderModule vkDestroyShaderModule{};
|
||||||
PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
|
PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR{};
|
||||||
PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
|
PFN_vkDeviceWaitIdle vkDeviceWaitIdle{};
|
||||||
PFN_vkEndCommandBuffer vkEndCommandBuffer;
|
PFN_vkEndCommandBuffer vkEndCommandBuffer{};
|
||||||
PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
|
PFN_vkFreeCommandBuffers vkFreeCommandBuffers{};
|
||||||
PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
|
PFN_vkFreeDescriptorSets vkFreeDescriptorSets{};
|
||||||
PFN_vkFreeMemory vkFreeMemory;
|
PFN_vkFreeMemory vkFreeMemory{};
|
||||||
PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
|
PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements{};
|
||||||
PFN_vkGetDeviceQueue vkGetDeviceQueue;
|
PFN_vkGetDeviceQueue vkGetDeviceQueue{};
|
||||||
PFN_vkGetEventStatus vkGetEventStatus;
|
PFN_vkGetEventStatus vkGetEventStatus{};
|
||||||
PFN_vkGetFenceStatus vkGetFenceStatus;
|
PFN_vkGetFenceStatus vkGetFenceStatus{};
|
||||||
PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
|
PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements{};
|
||||||
PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
|
PFN_vkGetQueryPoolResults vkGetQueryPoolResults{};
|
||||||
PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
|
PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR{};
|
||||||
PFN_vkMapMemory vkMapMemory;
|
PFN_vkMapMemory vkMapMemory{};
|
||||||
PFN_vkQueueSubmit vkQueueSubmit;
|
PFN_vkQueueSubmit vkQueueSubmit{};
|
||||||
PFN_vkResetFences vkResetFences;
|
PFN_vkResetFences vkResetFences{};
|
||||||
PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
|
PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT{};
|
||||||
PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
|
PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT{};
|
||||||
PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
|
PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT{};
|
||||||
PFN_vkUnmapMemory vkUnmapMemory;
|
PFN_vkUnmapMemory vkUnmapMemory{};
|
||||||
PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
|
PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR{};
|
||||||
PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
|
PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets{};
|
||||||
PFN_vkWaitForFences vkWaitForFences;
|
PFN_vkWaitForFences vkWaitForFences{};
|
||||||
PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
|
PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR{};
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Loads instance agnostic function pointers.
|
/// Loads instance agnostic function pointers.
|
||||||
|
|
Loading…
Reference in a new issue