diff options
Diffstat (limited to 'tools/gfx/vulkan/vk-helper-functions.cpp')
| -rw-r--r-- | tools/gfx/vulkan/vk-helper-functions.cpp | 264 |
1 files changed, 102 insertions, 162 deletions
diff --git a/tools/gfx/vulkan/vk-helper-functions.cpp b/tools/gfx/vulkan/vk-helper-functions.cpp index 1f7c6b6ff..b7bbeec2b 100644 --- a/tools/gfx/vulkan/vk-helper-functions.cpp +++ b/tools/gfx/vulkan/vk-helper-functions.cpp @@ -31,12 +31,9 @@ VkAttachmentLoadOp translateLoadOp(IRenderPassLayout::TargetLoadOp loadOp) { switch (loadOp) { - case IRenderPassLayout::TargetLoadOp::Clear: - return VK_ATTACHMENT_LOAD_OP_CLEAR; - case IRenderPassLayout::TargetLoadOp::Load: - return VK_ATTACHMENT_LOAD_OP_LOAD; - default: - return VK_ATTACHMENT_LOAD_OP_DONT_CARE; + case IRenderPassLayout::TargetLoadOp::Clear: return VK_ATTACHMENT_LOAD_OP_CLEAR; + case IRenderPassLayout::TargetLoadOp::Load: return VK_ATTACHMENT_LOAD_OP_LOAD; + default: return VK_ATTACHMENT_LOAD_OP_DONT_CARE; } } @@ -44,10 +41,8 @@ VkAttachmentStoreOp translateStoreOp(IRenderPassLayout::TargetStoreOp storeOp) { switch (storeOp) { - case IRenderPassLayout::TargetStoreOp::Store: - return VK_ATTACHMENT_STORE_OP_STORE; - default: - return VK_ATTACHMENT_STORE_OP_DONT_CARE; + case IRenderPassLayout::TargetStoreOp::Store: return VK_ATTACHMENT_STORE_OP_STORE; + default: return VK_ATTACHMENT_STORE_OP_DONT_CARE; } } @@ -71,33 +66,21 @@ VkImageLayout translateImageLayout(ResourceState state) { switch (state) { - case ResourceState::Undefined: - return VK_IMAGE_LAYOUT_UNDEFINED; - case ResourceState::PreInitialized: - return VK_IMAGE_LAYOUT_PREINITIALIZED; - case ResourceState::UnorderedAccess: - return VK_IMAGE_LAYOUT_GENERAL; - case ResourceState::RenderTarget: - return VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; - case ResourceState::DepthRead: - return VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL; - case ResourceState::DepthWrite: - return VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; + case ResourceState::Undefined: return VK_IMAGE_LAYOUT_UNDEFINED; + case ResourceState::PreInitialized: return VK_IMAGE_LAYOUT_PREINITIALIZED; + case ResourceState::UnorderedAccess: return VK_IMAGE_LAYOUT_GENERAL; + case ResourceState::RenderTarget: return VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; + case ResourceState::DepthRead: return VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL; + case ResourceState::DepthWrite: return VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; case ResourceState::ShaderResource: case ResourceState::NonPixelShaderResource: - case ResourceState::PixelShaderResource: - return VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + case ResourceState::PixelShaderResource: return VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; case ResourceState::ResolveDestination: - case ResourceState::CopyDestination: - return VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + case ResourceState::CopyDestination: return VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; case ResourceState::ResolveSource: - case ResourceState::CopySource: - return VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; - case ResourceState::Present: - return VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; - default: - assert(!"Unsupported"); - return VK_IMAGE_LAYOUT_UNDEFINED; + case ResourceState::CopySource: return VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + case ResourceState::Present: return VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; + default: assert(!"Unsupported"); return VK_IMAGE_LAYOUT_UNDEFINED; } } @@ -107,37 +90,28 @@ VkAccessFlagBits calcAccessFlags(ResourceState state) { case ResourceState::Undefined: case ResourceState::Present: - case ResourceState::PreInitialized: - return VkAccessFlagBits(0); - case ResourceState::VertexBuffer: - return VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT; - case ResourceState::ConstantBuffer: - return VK_ACCESS_UNIFORM_READ_BIT; - case ResourceState::IndexBuffer: - return VK_ACCESS_INDEX_READ_BIT; + case ResourceState::PreInitialized: return VkAccessFlagBits(0); + case ResourceState::VertexBuffer: return VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT; + case ResourceState::ConstantBuffer: return VK_ACCESS_UNIFORM_READ_BIT; + case ResourceState::IndexBuffer: return VK_ACCESS_INDEX_READ_BIT; case ResourceState::RenderTarget: return VkAccessFlagBits( VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_COLOR_ATTACHMENT_READ_BIT); case ResourceState::ShaderResource: case ResourceState::NonPixelShaderResource: - case ResourceState::PixelShaderResource: - return VK_ACCESS_INPUT_ATTACHMENT_READ_BIT; + case ResourceState::PixelShaderResource: return VK_ACCESS_INPUT_ATTACHMENT_READ_BIT; case ResourceState::UnorderedAccess: return VkAccessFlagBits(VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT); - case ResourceState::DepthRead: - return VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT; + case ResourceState::DepthRead: return VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT; case ResourceState::DepthWrite: return VkAccessFlagBits( VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT); - case ResourceState::IndirectArgument: - return VK_ACCESS_INDIRECT_COMMAND_READ_BIT; + case ResourceState::IndirectArgument: return VK_ACCESS_INDIRECT_COMMAND_READ_BIT; case ResourceState::ResolveDestination: - case ResourceState::CopyDestination: - return VK_ACCESS_TRANSFER_WRITE_BIT; + case ResourceState::CopyDestination: return VK_ACCESS_TRANSFER_WRITE_BIT; case ResourceState::ResolveSource: - case ResourceState::CopySource: - return VK_ACCESS_TRANSFER_READ_BIT; + case ResourceState::CopySource: return VK_ACCESS_TRANSFER_READ_BIT; case ResourceState::AccelerationStructure: return VkAccessFlagBits( VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR | @@ -146,9 +120,7 @@ VkAccessFlagBits calcAccessFlags(ResourceState state) return VkAccessFlagBits(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR); case ResourceState::General: return VkAccessFlagBits(VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT); - default: - assert(!"Unsupported"); - return VkAccessFlagBits(0); + default: assert(!"Unsupported"); return VkAccessFlagBits(0); } } @@ -157,12 +129,9 @@ VkPipelineStageFlagBits calcPipelineStageFlags(ResourceState state, bool src) switch (state) { case ResourceState::Undefined: - case ResourceState::PreInitialized: - assert(src); - return VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + case ResourceState::PreInitialized: assert(src); return VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; case ResourceState::VertexBuffer: - case ResourceState::IndexBuffer: - return VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; + case ResourceState::IndexBuffer: return VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; case ResourceState::ConstantBuffer: case ResourceState::UnorderedAccess: return VkPipelineStageFlagBits( @@ -173,27 +142,22 @@ VkPipelineStageFlagBits calcPipelineStageFlags(ResourceState state, bool src) VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR); case ResourceState::ShaderResource: case ResourceState::NonPixelShaderResource: - case ResourceState::PixelShaderResource: - return VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; - case ResourceState::RenderTarget: - return VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + case ResourceState::PixelShaderResource: return VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + case ResourceState::RenderTarget: return VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; case ResourceState::DepthRead: case ResourceState::DepthWrite: return VkPipelineStageFlagBits( VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT); - case ResourceState::IndirectArgument: - return VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT; + case ResourceState::IndirectArgument: return VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT; case ResourceState::CopySource: case ResourceState::CopyDestination: case ResourceState::ResolveSource: - case ResourceState::ResolveDestination: - return VK_PIPELINE_STAGE_TRANSFER_BIT; + case ResourceState::ResolveDestination: return VK_PIPELINE_STAGE_TRANSFER_BIT; case ResourceState::Present: return src ? VkPipelineStageFlagBits( - VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT | VK_PIPELINE_STAGE_ALL_COMMANDS_BIT) - : VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; - case ResourceState::General: - return VkPipelineStageFlagBits(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT); + VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT | VK_PIPELINE_STAGE_ALL_COMMANDS_BIT) + : VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + case ResourceState::General: return VkPipelineStageFlagBits(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT); case ResourceState::AccelerationStructure: return VkPipelineStageFlagBits( VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | @@ -204,9 +168,7 @@ VkPipelineStageFlagBits calcPipelineStageFlags(ResourceState state, bool src) VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR); case ResourceState::AccelerationStructureBuildInput: return VkPipelineStageFlagBits(VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR); - default: - assert(!"Unsupported"); - return VkPipelineStageFlagBits(0); + default: assert(!"Unsupported"); return VkPipelineStageFlagBits(0); } } @@ -215,7 +177,7 @@ VkAccessFlags translateAccelerationStructureAccessFlag(AccessFlag access) VkAccessFlags result = 0; if ((uint32_t)access & (uint32_t)AccessFlag::Read) result |= VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR | VK_ACCESS_SHADER_READ_BIT | - VK_ACCESS_TRANSFER_READ_BIT; + VK_ACCESS_TRANSFER_READ_BIT; if ((uint32_t)access & (uint32_t)AccessFlag::Write) result |= VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR; return result; @@ -225,41 +187,33 @@ VkBufferUsageFlagBits _calcBufferUsageFlags(ResourceState state) { switch (state) { - case ResourceState::VertexBuffer: - return VK_BUFFER_USAGE_VERTEX_BUFFER_BIT; - case ResourceState::IndexBuffer: - return VK_BUFFER_USAGE_INDEX_BUFFER_BIT; - case ResourceState::ConstantBuffer: - return VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; - case ResourceState::StreamOutput: - return VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT; + case ResourceState::VertexBuffer: return VK_BUFFER_USAGE_VERTEX_BUFFER_BIT; + case ResourceState::IndexBuffer: return VK_BUFFER_USAGE_INDEX_BUFFER_BIT; + case ResourceState::ConstantBuffer: return VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; + case ResourceState::StreamOutput: return VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT; case ResourceState::RenderTarget: case ResourceState::DepthRead: case ResourceState::DepthWrite: - { - assert(!"Invalid resource state for buffer resource."); - return VkBufferUsageFlagBits(0); - } + { + assert(!"Invalid resource state for buffer resource."); + return VkBufferUsageFlagBits(0); + } case ResourceState::UnorderedAccess: - return ( - VkBufferUsageFlagBits)(VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT); + return (VkBufferUsageFlagBits)(VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT | + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT); case ResourceState::ShaderResource: case ResourceState::NonPixelShaderResource: case ResourceState::PixelShaderResource: - return ( - VkBufferUsageFlagBits)(VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT); - case ResourceState::CopySource: - return VK_BUFFER_USAGE_TRANSFER_SRC_BIT; - case ResourceState::CopyDestination: - return VK_BUFFER_USAGE_TRANSFER_DST_BIT; + return (VkBufferUsageFlagBits)(VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT | + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT); + case ResourceState::CopySource: return VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + case ResourceState::CopyDestination: return VK_BUFFER_USAGE_TRANSFER_DST_BIT; case ResourceState::AccelerationStructure: return VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR; - case ResourceState::IndirectArgument: - return VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT; + case ResourceState::IndirectArgument: return VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT; case ResourceState::AccelerationStructureBuildInput: return VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR; - default: - return VkBufferUsageFlagBits(0); + default: return VkBufferUsageFlagBits(0); } } @@ -279,36 +233,25 @@ VkImageUsageFlagBits _calcImageUsageFlags(ResourceState state) { switch (state) { - case ResourceState::RenderTarget: - return VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; - case ResourceState::DepthWrite: - return VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT; - case ResourceState::DepthRead: - return VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT; + case ResourceState::RenderTarget: return VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + case ResourceState::DepthWrite: return VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT; + case ResourceState::DepthRead: return VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT; case ResourceState::ShaderResource: case ResourceState::NonPixelShaderResource: - case ResourceState::PixelShaderResource: - return VK_IMAGE_USAGE_SAMPLED_BIT; - case ResourceState::UnorderedAccess: - return VK_IMAGE_USAGE_STORAGE_BIT; - case ResourceState::CopySource: - return VK_IMAGE_USAGE_TRANSFER_SRC_BIT; - case ResourceState::CopyDestination: - return VK_IMAGE_USAGE_TRANSFER_DST_BIT; - case ResourceState::ResolveSource: - return VK_IMAGE_USAGE_TRANSFER_SRC_BIT; - case ResourceState::ResolveDestination: - return VK_IMAGE_USAGE_TRANSFER_DST_BIT; - case ResourceState::Present: - return VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + case ResourceState::PixelShaderResource: return VK_IMAGE_USAGE_SAMPLED_BIT; + case ResourceState::UnorderedAccess: return VK_IMAGE_USAGE_STORAGE_BIT; + case ResourceState::CopySource: return VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + case ResourceState::CopyDestination: return VK_IMAGE_USAGE_TRANSFER_DST_BIT; + case ResourceState::ResolveSource: return VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + case ResourceState::ResolveDestination: return VK_IMAGE_USAGE_TRANSFER_DST_BIT; + case ResourceState::Present: return VK_IMAGE_USAGE_TRANSFER_SRC_BIT; case ResourceState::Undefined: - case ResourceState::General: - return (VkImageUsageFlagBits)0; + case ResourceState::General: return (VkImageUsageFlagBits)0; default: - { - assert(!"Unsupported"); - return VkImageUsageFlagBits(0); - } + { + assert(!"Unsupported"); + return VkImageUsageFlagBits(0); + } } } @@ -323,17 +266,16 @@ VkImageViewType _calcImageViewType(ITextureResource::Type type, const ITextureRe case IResource::Type::TextureCube: return desc.arraySize > 1 ? VK_IMAGE_VIEW_TYPE_CUBE_ARRAY : VK_IMAGE_VIEW_TYPE_CUBE; case IResource::Type::Texture3D: - { - // Can't have an array and 3d texture - assert(desc.arraySize <= 1); - if (desc.arraySize <= 1) { - return VK_IMAGE_VIEW_TYPE_3D; + // Can't have an array and 3d texture + assert(desc.arraySize <= 1); + if (desc.arraySize <= 1) + { + return VK_IMAGE_VIEW_TYPE_3D; + } + break; } - break; - } - default: - break; + default: break; } return VK_IMAGE_VIEW_TYPE_MAX_ENUM; @@ -352,7 +294,9 @@ VkImageUsageFlagBits _calcImageUsageFlags(ResourceStateSet states) } VkImageUsageFlags _calcImageUsageFlags( - ResourceStateSet states, MemoryType memoryType, const void* initData) + ResourceStateSet states, + MemoryType memoryType, + const void* initData) { VkImageUsageFlags usage = _calcImageUsageFlags(states); @@ -387,12 +331,9 @@ VkAccessFlags calcAccessFlagsFromImageLayout(VkImageLayout layout) case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: return VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT; - case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: - return VK_ACCESS_SHADER_READ_BIT; - case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: - return VK_ACCESS_TRANSFER_READ_BIT; - case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: - return VK_ACCESS_TRANSFER_WRITE_BIT; + case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: return VK_ACCESS_SHADER_READ_BIT; + case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: return VK_ACCESS_TRANSFER_READ_BIT; + case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: return VK_ACCESS_TRANSFER_WRITE_BIT; default: assert(!"Unsupported VkImageLayout"); return (VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT); @@ -406,16 +347,13 @@ VkPipelineStageFlags calcPipelineStageFlagsFromImageLayout(VkImageLayout layout) case VK_IMAGE_LAYOUT_UNDEFINED: case VK_IMAGE_LAYOUT_PREINITIALIZED: case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: - case VK_IMAGE_LAYOUT_GENERAL: - return VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; + case VK_IMAGE_LAYOUT_GENERAL: return VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: return VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: return (VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT); - case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: - return VK_PIPELINE_STAGE_TRANSFER_BIT; - case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: - return VK_PIPELINE_STAGE_TRANSFER_BIT; + case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: return VK_PIPELINE_STAGE_TRANSFER_BIT; + case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: return VK_PIPELINE_STAGE_TRANSFER_BIT; case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: @@ -426,9 +364,7 @@ VkPipelineStageFlags calcPipelineStageFlagsFromImageLayout(VkImageLayout layout) case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: return ( VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT); - default: - assert(!"Unsupported VkImageLayout"); - return VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; + default: assert(!"Unsupported VkImageLayout"); return VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; } } @@ -442,12 +378,9 @@ VkImageAspectFlags getAspectMaskFromFormat(VkFormat format) return VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT; case VK_FORMAT_D16_UNORM: case VK_FORMAT_D32_SFLOAT: - case VK_FORMAT_X8_D24_UNORM_PACK32: - return VK_IMAGE_ASPECT_DEPTH_BIT; - case VK_FORMAT_S8_UINT: - return VK_IMAGE_ASPECT_STENCIL_BIT; - default: - return VK_IMAGE_ASPECT_COLOR_BIT; + case VK_FORMAT_X8_D24_UNORM_PACK32: return VK_IMAGE_ASPECT_DEPTH_BIT; + case VK_FORMAT_S8_UINT: return VK_IMAGE_ASPECT_STENCIL_BIT; + default: return VK_IMAGE_ASPECT_COLOR_BIT; } } @@ -455,8 +388,8 @@ AdapterLUID getAdapterLUID(VulkanApi api, VkPhysicalDevice physicalDevice) { AdapterLUID luid = {}; - VkPhysicalDeviceIDPropertiesKHR idProps = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR }; - VkPhysicalDeviceProperties2 props = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 }; + VkPhysicalDeviceIDPropertiesKHR idProps = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR}; + VkPhysicalDeviceProperties2 props = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2}; props.pNext = &idProps; SLANG_ASSERT(api.vkGetPhysicalDeviceFeatures2); api.vkGetPhysicalDeviceProperties2(physicalDevice, &props); @@ -487,7 +420,7 @@ Result SLANG_MCALL getVKAdapters(List<AdapterInfo>& outAdapters) if (api.initGlobalProcs(module) != SLANG_OK) continue; - VkInstanceCreateInfo instanceCreateInfo = { VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO }; + VkInstanceCreateInfo instanceCreateInfo = {VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO}; const char* instanceExtensions[] = { VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, #if SLANG_APPLE_FAMILY @@ -509,18 +442,25 @@ Result SLANG_MCALL getVKAdapters(List<AdapterInfo>& outAdapters) if (api.vkEnumeratePhysicalDevices || api.vkGetPhysicalDeviceProperties) { uint32_t numPhysicalDevices = 0; - SLANG_VK_RETURN_ON_FAIL(api.vkEnumeratePhysicalDevices(instance, &numPhysicalDevices, nullptr)); + SLANG_VK_RETURN_ON_FAIL( + api.vkEnumeratePhysicalDevices(instance, &numPhysicalDevices, nullptr)); List<VkPhysicalDevice> physicalDevices; physicalDevices.setCount(numPhysicalDevices); - SLANG_VK_RETURN_ON_FAIL(api.vkEnumeratePhysicalDevices(instance, &numPhysicalDevices, physicalDevices.getBuffer())); + SLANG_VK_RETURN_ON_FAIL(api.vkEnumeratePhysicalDevices( + instance, + &numPhysicalDevices, + physicalDevices.getBuffer())); for (const auto& physicalDevice : physicalDevices) { VkPhysicalDeviceProperties props; api.vkGetPhysicalDeviceProperties(physicalDevice, &props); AdapterInfo info = {}; - memcpy(info.name, props.deviceName, Math::Min(strlen(props.deviceName), sizeof(AdapterInfo::name) - 1)); + memcpy( + info.name, + props.deviceName, + Math::Min(strlen(props.deviceName), sizeof(AdapterInfo::name) - 1)); info.vendorID = props.vendorID; info.deviceID = props.deviceID; info.luid = vk::getAdapterLUID(api, physicalDevice); |
