Skip to content

Commit

Permalink
Update to latest ZVulkan
Browse files Browse the repository at this point in the history
  • Loading branch information
dpjudas committed Dec 29, 2024
1 parent d2985e2 commit 4cdf9eb
Show file tree
Hide file tree
Showing 145 changed files with 50,861 additions and 31,176 deletions.
30 changes: 19 additions & 11 deletions SurrealEngine/RenderDevice/Vulkan/RenderPassManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -171,27 +171,30 @@ void RenderPassManager::CreatePipelines()

if (i < 32)
{
ColorBlendAttachmentBuilder colorBlend;
switch (i & 3)
{
case 0: // PF_Translucent
builder.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR);
colorBlend.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR);
break;
case 1: // PF_Modulated
builder.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_DST_COLOR, VK_BLEND_FACTOR_SRC_COLOR);
colorBlend.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_DST_COLOR, VK_BLEND_FACTOR_SRC_COLOR);
break;
case 2: // PF_Highlighted
builder.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
colorBlend.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
break;
case 3:
builder.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ZERO); // Hmm, is it faster to keep the blend mode enabled or to toggle it?
colorBlend.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ZERO); // Hmm, is it faster to keep the blend mode enabled or to toggle it?
break;
}

if (i & 4) // PF_Invisible
{
builder.ColorWriteMask(0);
colorBlend.ColorWriteMask(0);
}

builder.AddColorBlendAttachment(colorBlend.Create());

if (i & 8) // PF_Occlude
{
builder.DepthStencilEnable(true, true, false);
Expand All @@ -208,11 +211,12 @@ void RenderPassManager::CreatePipelines()
}
else // PF_SubpixelFont
{
builder.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR);
builder.AddColorBlendAttachment(ColorBlendAttachmentBuilder()
.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR)
.Create());
builder.AddFragmentShader(fragShaderAlphaTest[type]);
}

builder.SubpassColorAttachmentCount(1);
builder.RasterizationSamples(renderer->Textures->Scene->SceneSamples);
builder.DebugName(debugName[type]);

Expand Down Expand Up @@ -241,11 +245,13 @@ void RenderPassManager::CreatePipelines()
builder.Layout(layout[type]);
builder.RenderPass(SceneRenderPass.get());

builder.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
builder.AddColorBlendAttachment(ColorBlendAttachmentBuilder()
.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA)
.Create());

builder.DepthStencilEnable(false, false, false);
builder.AddFragmentShader(fragShader[type]);

builder.SubpassColorAttachmentCount(1);
builder.RasterizationSamples(renderer->Textures->Scene->SceneSamples);
builder.DebugName(debugName[type]);

Expand Down Expand Up @@ -274,11 +280,13 @@ void RenderPassManager::CreatePipelines()
builder.Layout(layout[type]);
builder.RenderPass(SceneRenderPass.get());

builder.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
builder.AddColorBlendAttachment(ColorBlendAttachmentBuilder()
.BlendMode(VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA)
.Create());

builder.DepthStencilEnable(false, false, false);
builder.AddFragmentShader(fragShader[type]);

builder.SubpassColorAttachmentCount(1);
builder.RasterizationSamples(renderer->Textures->Scene->SceneSamples);
builder.DebugName(debugName[type]);

Expand Down
2 changes: 1 addition & 1 deletion SurrealEngine/RenderDevice/Vulkan/SceneTextures.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ SceneTextures::~SceneTextures()

VkSampleCountFlagBits SceneTextures::GetBestSampleCount(VulkanDevice* device, int multisample)
{
const auto& limits = device->PhysicalDevice.Properties.limits;
const auto& limits = device->PhysicalDevice.Properties.Properties.limits;
int requestedSamples = clamp(multisample, 0, 64);
VkSampleCountFlags deviceSampleCounts = limits.sampledImageColorSampleCounts & limits.sampledImageDepthSampleCounts & limits.sampledImageStencilSampleCounts;

Expand Down
24 changes: 16 additions & 8 deletions SurrealEngine/RenderDevice/Vulkan/ShaderManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,53 @@ ShaderManager::ShaderManager(VulkanRenderDevice* renderer) : renderer(renderer)
ShaderBuilder::Init();

Scene.VertexShader = ShaderBuilder()
.VertexShader(LoadShaderCode("shaders/Scene.vert"))
.Type(ShaderType::Vertex)
.AddSource("shaders/Scene.vert", LoadShaderCode("shaders/Scene.vert"))
.DebugName("vertexShader")
.Create("vertexShader", renderer->Device.get());

Scene.FragmentShader = ShaderBuilder()
.FragmentShader(LoadShaderCode("shaders/Scene.frag"))
.Type(ShaderType::Fragment)
.AddSource("shaders/Scene.frag", LoadShaderCode("shaders/Scene.frag"))
.DebugName("fragmentShader")
.Create("fragmentShader", renderer->Device.get());

Scene.FragmentShaderAlphaTest = ShaderBuilder()
.FragmentShader(LoadShaderCode("shaders/Scene.frag", "#define ALPHATEST"))
.Type(ShaderType::Fragment)
.AddSource("shaders/Scene.frag", LoadShaderCode("shaders/Scene.frag", "#define ALPHATEST"))
.DebugName("fragmentShader")
.Create("fragmentShader", renderer->Device.get());

if (renderer->SupportsBindless)
{
SceneBindless.VertexShader = ShaderBuilder()
.VertexShader(LoadShaderCode("shaders/Scene.vert", "#extension GL_EXT_nonuniform_qualifier : enable\r\n#define BINDLESS_TEXTURES"))
.Type(ShaderType::Vertex)
.AddSource("shaders/Scene.vert", LoadShaderCode("shaders/Scene.vert", "#extension GL_EXT_nonuniform_qualifier : enable\r\n#define BINDLESS_TEXTURES"))
.DebugName("vertexShader")
.Create("vertexShader", renderer->Device.get());

SceneBindless.FragmentShader = ShaderBuilder()
.FragmentShader(LoadShaderCode("shaders/Scene.frag", "#extension GL_EXT_nonuniform_qualifier : enable\r\n#define BINDLESS_TEXTURES"))
.Type(ShaderType::Fragment)
.AddSource("shaders/Scene.frag", LoadShaderCode("shaders/Scene.frag", "#extension GL_EXT_nonuniform_qualifier : enable\r\n#define BINDLESS_TEXTURES"))
.DebugName("fragmentShader")
.Create("fragmentShader", renderer->Device.get());

SceneBindless.FragmentShaderAlphaTest = ShaderBuilder()
.FragmentShader(LoadShaderCode("shaders/Scene.frag", "#extension GL_EXT_nonuniform_qualifier : enable\r\n#define BINDLESS_TEXTURES\r\n#define ALPHATEST"))
.Type(ShaderType::Fragment)
.AddSource("shaders/Scene.frag", LoadShaderCode("shaders/Scene.frag", "#extension GL_EXT_nonuniform_qualifier : enable\r\n#define BINDLESS_TEXTURES\r\n#define ALPHATEST"))
.DebugName("fragmentShader")
.Create("fragmentShader", renderer->Device.get());
}

ppVertexShader = ShaderBuilder()
.VertexShader(LoadShaderCode("shaders/PPStep.vert"))
.Type(ShaderType::Vertex)
.AddSource("shaders/PPStep.vert", LoadShaderCode("shaders/PPStep.vert"))
.DebugName("ppVertexShader")
.Create("ppVertexShader", renderer->Device.get());

ppFragmentPresentShader = ShaderBuilder()
.FragmentShader(LoadShaderCode("shaders/Present.frag"))
.Type(ShaderType::Fragment)
.AddSource("shaders/Present.frag", LoadShaderCode("shaders/Present.frag"))
.DebugName("ppFragmentPresentShader")
.Create("ppFragmentPresentShader", renderer->Device.get());
}
Expand Down
4 changes: 2 additions & 2 deletions SurrealEngine/RenderDevice/Vulkan/UploadManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ void UploadManager::UploadTexture(CachedTexture* tex, const FTextureInfo& Info,

TextureUploader* uploader = TextureUploader::GetUploader(Info.Format);

if ((uint32_t)Info.USize > renderer->Device.get()->PhysicalDevice.Properties.limits.maxImageDimension2D ||
(uint32_t)Info.VSize > renderer->Device.get()->PhysicalDevice.Properties.limits.maxImageDimension2D ||
if ((uint32_t)Info.USize > renderer->Device.get()->PhysicalDevice.Properties.Properties.limits.maxImageDimension2D ||
(uint32_t)Info.VSize > renderer->Device.get()->PhysicalDevice.Properties.Properties.limits.maxImageDimension2D ||
!uploader)
{
width = 1;
Expand Down
10 changes: 1 addition & 9 deletions SurrealEngine/RenderDevice/Vulkan/VulkanRenderDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -263,18 +263,10 @@ bool VulkanRenderDevice::Exec(std::string Cmd, OutputDevice& Ar)
.FindDevices(Device->Instance);
for (size_t i = 0; i < supportedDevices.size(); i++)
{
Ar.Log("#" + std::to_string(i) + " - " + supportedDevices[i].Device->Properties.deviceName + "\r\n");
Ar.Log("#" + std::to_string(i) + " - " + supportedDevices[i].Device->Properties.Properties.deviceName + "\r\n");
}
return true;
}
else if (ParseCommand(&Cmd, "VkMemStats"))
{
VmaStats stats = {};
vmaCalculateStats(Device->allocator, &stats);
Ar.Log("Allocated objects: " + std::to_string(stats.total.allocationCount) + ", used bytes: " + std::to_string(stats.total.usedBytes / (1024 * 1024)) + " MB\r\n");
Ar.Log("Unused range count: " + std::to_string(stats.total.unusedRangeCount) + ", unused bytes: " + std::to_string(stats.total.unusedBytes / (1024 * 1024)) + " MB\r\n");
return true;
}
else
{
return false;
Expand Down
161 changes: 87 additions & 74 deletions Thirdparty/ZVulkan/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,101 +10,112 @@ set(ZVULKAN_SOURCES
src/vk_mem_alloc/vk_mem_alloc.cpp
src/vk_mem_alloc/vk_mem_alloc.natvis
src/volk/volk.c
src/glslang/glslang/MachineIndependent/SymbolTable.h
src/glslang/glslang/MachineIndependent/propagateNoContraction.cpp
src/glslang/glslang/MachineIndependent/PoolAlloc.cpp
src/glslang/glslang/MachineIndependent/Intermediate.cpp
src/glslang/glslang/MachineIndependent/gl_types.h
src/glslang/glslang/MachineIndependent/parseVersions.h
src/glslang/glslang/CInterface/glslang_c_interface.cpp
src/glslang/glslang/GenericCodeGen/CodeGen.cpp
src/glslang/glslang/GenericCodeGen/Link.cpp
src/glslang/glslang/Include/arrays.h
src/glslang/glslang/Include/BaseTypes.h
src/glslang/glslang/Include/Common.h
src/glslang/glslang/Include/ConstantUnion.h
src/glslang/glslang/Include/glslang_c_interface.h
src/glslang/glslang/Include/glslang_c_shader_types.h
src/glslang/glslang/Include/InfoSink.h
src/glslang/glslang/Include/InitializeGlobals.h
src/glslang/glslang/Include/intermediate.h
src/glslang/glslang/Include/PoolAlloc.h
src/glslang/glslang/Include/ResourceLimits.h
src/glslang/glslang/Include/ShHandle.h
src/glslang/glslang/Include/SpirvIntrinsics.h
src/glslang/glslang/Include/Types.h
src/glslang/glslang/MachineIndependent/attribute.cpp
src/glslang/glslang/MachineIndependent/Scan.cpp
src/glslang/glslang/MachineIndependent/iomapper.h
src/glslang/glslang/MachineIndependent/ParseHelper.h
src/glslang/glslang/MachineIndependent/attribute.h
src/glslang/glslang/MachineIndependent/Constant.cpp
src/glslang/glslang/MachineIndependent/glslang.y
src/glslang/glslang/MachineIndependent/glslang_tab.cpp
src/glslang/glslang/MachineIndependent/glslang_tab.cpp.h
src/glslang/glslang/MachineIndependent/SymbolTable.cpp
src/glslang/glslang/MachineIndependent/RemoveTree.cpp
src/glslang/glslang/MachineIndependent/Versions.h
src/glslang/glslang/MachineIndependent/reflection.cpp
src/glslang/glslang/MachineIndependent/LiveTraverser.h
src/glslang/glslang/MachineIndependent/iomapper.cpp
src/glslang/glslang/MachineIndependent/intermOut.cpp
src/glslang/glslang/MachineIndependent/Versions.cpp
src/glslang/glslang/MachineIndependent/Initialize.h
src/glslang/glslang/MachineIndependent/linkValidate.cpp
src/glslang/glslang/MachineIndependent/gl_types.h
src/glslang/glslang/MachineIndependent/InfoSink.cpp
src/glslang/glslang/MachineIndependent/Constant.cpp
src/glslang/glslang/MachineIndependent/Initialize.cpp
src/glslang/glslang/MachineIndependent/Initialize.h
src/glslang/glslang/MachineIndependent/Intermediate.cpp
src/glslang/glslang/MachineIndependent/intermOut.cpp
src/glslang/glslang/MachineIndependent/IntermTraverse.cpp
src/glslang/glslang/MachineIndependent/propagateNoContraction.h
src/glslang/glslang/MachineIndependent/glslang_tab.cpp
src/glslang/glslang/MachineIndependent/ShaderLang.cpp
src/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h
src/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpContext.h
src/glslang/glslang/MachineIndependent/attribute.h
src/glslang/glslang/MachineIndependent/iomapper.cpp
src/glslang/glslang/MachineIndependent/iomapper.h
src/glslang/glslang/MachineIndependent/limits.cpp
src/glslang/glslang/MachineIndependent/linkValidate.cpp
src/glslang/glslang/MachineIndependent/LiveTraverser.h
src/glslang/glslang/MachineIndependent/localintermediate.h
src/glslang/glslang/MachineIndependent/parseConst.cpp
src/glslang/glslang/MachineIndependent/Initialize.cpp
src/glslang/glslang/MachineIndependent/limits.cpp
src/glslang/glslang/MachineIndependent/ParseContextBase.cpp
src/glslang/glslang/MachineIndependent/RemoveTree.h
src/glslang/glslang/MachineIndependent/ParseHelper.cpp
src/glslang/glslang/MachineIndependent/Scan.h
src/glslang/glslang/MachineIndependent/ParseHelper.h
src/glslang/glslang/MachineIndependent/parseVersions.h
src/glslang/glslang/MachineIndependent/pch.h
src/glslang/glslang/MachineIndependent/PoolAlloc.cpp
src/glslang/glslang/MachineIndependent/preprocessor
src/glslang/glslang/MachineIndependent/propagateNoContraction.cpp
src/glslang/glslang/MachineIndependent/propagateNoContraction.h
src/glslang/glslang/MachineIndependent/reflection.cpp
src/glslang/glslang/MachineIndependent/reflection.h
src/glslang/glslang/MachineIndependent/RemoveTree.cpp
src/glslang/glslang/MachineIndependent/RemoveTree.h
src/glslang/glslang/MachineIndependent/Scan.cpp
src/glslang/glslang/MachineIndependent/Scan.h
src/glslang/glslang/MachineIndependent/ScanContext.h
src/glslang/glslang/MachineIndependent/ShaderLang.cpp
src/glslang/glslang/MachineIndependent/span.h
src/glslang/glslang/MachineIndependent/SpirvIntrinsics.cpp
src/glslang/glslang/MachineIndependent/SymbolTable.cpp
src/glslang/glslang/MachineIndependent/SymbolTable.h
src/glslang/glslang/MachineIndependent/Versions.cpp
src/glslang/glslang/MachineIndependent/Versions.h
src/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpContext.h
src/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp
src/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h
src/glslang/glslang/OSDependent/osinclude.h
src/glslang/glslang/GenericCodeGen/Link.cpp
src/glslang/glslang/GenericCodeGen/CodeGen.cpp
src/glslang/glslang/Public/ResourceLimits.h
src/glslang/glslang/Public/resource_limits_c.h
src/glslang/glslang/Public/ShaderLang.h
src/glslang/glslang/Include/ConstantUnion.h
src/glslang/glslang/Include/InitializeGlobals.h
src/glslang/glslang/Include/Common.h
src/glslang/glslang/Include/PoolAlloc.h
src/glslang/glslang/Include/arrays.h
src/glslang/glslang/Include/ShHandle.h
src/glslang/glslang/Include/InfoSink.h
src/glslang/glslang/Include/ResourceLimits.h
src/glslang/glslang/Include/Types.h
src/glslang/glslang/Include/BaseTypes.h
src/glslang/glslang/Include/intermediate.h
src/glslang/glslang/Include/SpirvIntrinsics.h
src/glslang/glslang/Include/build_info.h
src/glslang/glslang/OSDependent/osinclude.h
src/glslang/spirv/Logger.h
src/glslang/spirv/GlslangToSpv.cpp
src/glslang/spirv/SPVRemapper.h
src/glslang/spirv/GLSL.ext.EXT.h
src/glslang/spirv/hex_float.h
src/glslang/spirv/doc.cpp
src/glslang/spirv/disassemble.cpp
src/glslang/spirv/SpvPostProcess.cpp
src/glslang/glslang/ResourceLimits/ResourceLimits.cpp
src/glslang/glslang/ResourceLimits/resource_limits_c.cpp
src/glslang/spirv/bitutils.h
src/glslang/spirv/InReadableOrder.cpp
src/glslang/spirv/disassemble.cpp
src/glslang/spirv/disassemble.h
src/glslang/spirv/doc.cpp
src/glslang/spirv/doc.h
src/glslang/spirv/GLSL.ext.AMD.h
src/glslang/spirv/GLSL.ext.NV.h
src/glslang/spirv/SPVRemapper.cpp
src/glslang/spirv/SpvBuilder.h
src/glslang/spirv/GLSL.ext.ARM.h
src/glslang/spirv/GLSL.ext.EXT.h
src/glslang/spirv/GLSL.ext.KHR.h
src/glslang/spirv/disassemble.h
src/glslang/spirv/SpvBuilder.cpp
src/glslang/spirv/GLSL.ext.NV.h
src/glslang/spirv/GLSL.ext.QCOM.h
src/glslang/spirv/GLSL.std.450.h
src/glslang/spirv/GlslangToSpv.cpp
src/glslang/spirv/GlslangToSpv.h
src/glslang/spirv/doc.h
src/glslang/spirv/SpvTools.cpp
src/glslang/spirv/spvIR.h
src/glslang/spirv/hex_float.h
src/glslang/spirv/InReadableOrder.cpp
src/glslang/spirv/Logger.cpp
src/glslang/spirv/SpvTools.h
src/glslang/spirv/GLSL.std.450.h
src/glslang/spirv/Logger.h
src/glslang/spirv/NonSemanticDebugPrintf.h
src/glslang/OGLCompilersDLL/InitializeDll.cpp
src/glslang/OGLCompilersDLL/InitializeDll.h
src/glslang/spirv/NonSemanticShaderDebugInfo100.h
src/glslang/spirv/spirv.hpp
src/glslang/spirv/SpvBuilder.cpp
src/glslang/spirv/SpvBuilder.h
src/glslang/spirv/spvIR.h
src/glslang/spirv/SpvPostProcess.cpp
src/glslang/spirv/SPVRemapper.cpp
src/glslang/spirv/SPVRemapper.h
src/glslang/spirv/SpvTools.cpp
src/glslang/spirv/SpvTools.h
src/glslang/spirv/CInterface/spirv_c_interface.cpp
)

set(ZVULKAN_INCLUDES
include/zvulkan/vulkan.h
include/zvulkan/vulkanbuilders.h
include/zvulkan/vulkancompatibledevice.h
include/zvulkan/vulkandevice.h
Expand Down Expand Up @@ -154,6 +165,7 @@ set(VULKAN_INCLUDES
source_group("src" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/.+")
source_group("src\\glslang" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/.+")
source_group("src\\glslang\\glslang" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/.+")
source_group("src\\glslang\\glslang\\CInterface" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/CInterface/.+")
source_group("src\\glslang\\glslang\\GenericCodeGen" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/GenericCodeGen/.+")
source_group("src\\glslang\\glslang\\Include" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/Include/.+")
source_group("src\\glslang\\glslang\\MachineIndependent" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/MachineIndependent/.+")
Expand All @@ -163,8 +175,9 @@ source_group("src\\glslang\\glslang\\OSDependent\\Unix" REGULAR_EXPRESSION "${CM
source_group("src\\glslang\\glslang\\OSDependent\\Web" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/OSDependent/Web/.+")
source_group("src\\glslang\\glslang\\OSDependent\\Windows" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/OSDependent/Windows/.+")
source_group("src\\glslang\\glslang\\Public" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/Public/.+")
source_group("src\\glslang\\OGLCompilersDLL" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/OGLCompilersDLL/.+")
source_group("src\\glslang\\glslang\\ResourceLimits" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/glslang/ResourceLimits/.+")
source_group("src\\glslang\\spirv" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/spirv/.+")
source_group("src\\glslang\\spirv\\CInterface" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/glslang/spirv/CInterface/.+")
source_group("src\\vk_mem_alloc" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/vk_mem_alloc/.+")
source_group("src\\volk" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/src/volk/.+")
source_group("include" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/include/zvulkan/.+")
Expand Down
Loading

0 comments on commit 4cdf9eb

Please sign in to comment.