summaryrefslogtreecommitdiff
path: root/tools/gfx/vulkan/vk-helper-functions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/vulkan/vk-helper-functions.cpp')
-rw-r--r--tools/gfx/vulkan/vk-helper-functions.cpp264
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);