diff --git a/.gitmodules b/.gitmodules index 140a109..9455091 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,4 +5,4 @@ path = external/vcpkg url = https://github.com/Microsoft/vcpkg.git [submodule "external/slang"] - url = https://github.com/shader-slang/slang.git + url = git@github.com:Dynamitos/slang.git diff --git a/res/shaders/lib/Common.slang b/res/shaders/lib/Common.slang index de10e1d..7bfaad9 100644 --- a/res/shaders/lib/Common.slang +++ b/res/shaders/lib/Common.slang @@ -10,8 +10,7 @@ struct ViewParameter float4 cameraPos_WS; float2 screenDimensions; } -layout(set = 0) -ParameterBlock pViewParams; +uniform ParameterBlock pViewParams; float4 clipToView(float4 clip) { diff --git a/res/shaders/lib/Scene.slang b/res/shaders/lib/Scene.slang index a1157ae..8556b68 100644 --- a/res/shaders/lib/Scene.slang +++ b/res/shaders/lib/Scene.slang @@ -42,5 +42,5 @@ struct Scene StructuredBuffer primitiveIndices; StructuredBuffer vertexIndices; }; -ParameterBlock pScene; +uniform ParameterBlock pScene; diff --git a/res/shaders/lib/VertexData.slang b/res/shaders/lib/VertexData.slang index 4fcf677..16abfc1 100644 --- a/res/shaders/lib/VertexData.slang +++ b/res/shaders/lib/VertexData.slang @@ -10,5 +10,5 @@ interface IVertexData { VertexAttributes getAttributes(uint index); }; -layout(set = 1) -ParameterBlock pVertexData; \ No newline at end of file + +uniform ParameterBlock pVertexData; \ No newline at end of file diff --git a/src/Engine/Graphics/slang-compile.cpp b/src/Engine/Graphics/slang-compile.cpp index 0e06ed6..726724e 100644 --- a/src/Engine/Graphics/slang-compile.cpp +++ b/src/Engine/Graphics/slang-compile.cpp @@ -17,6 +17,13 @@ Slang::ComPtr Seele::generateShader(const ShaderCreateInfo& create } slang::SessionDesc sessionDesc; sessionDesc.flags = 0; + slang::CompilerOptionEntry option; + option.name = slang::CompilerOptionName::IgnoreCapabilities; + option.value = slang::CompilerOptionValue(); + option.value.kind = slang::CompilerOptionValueKind::Int; + option.value.intValue0 = 1; + sessionDesc.compilerOptionEntries = &option; + sessionDesc.compilerOptionEntryCount = 1; sessionDesc.defaultMatrixLayoutMode = SLANG_MATRIX_LAYOUT_COLUMN_MAJOR; Array macros; for(const auto& [key, val] : createInfo.defines) @@ -28,14 +35,7 @@ Slang::ComPtr Seele::generateShader(const ShaderCreateInfo& create } sessionDesc.preprocessorMacroCount = macros.size(); sessionDesc.preprocessorMacros = macros.data(); - slang::CompilerOptionEntry option; - option.name = slang::CompilerOptionName::IgnoreCapabilities; - option.value = slang::CompilerOptionValue(); - option.value.kind = slang::CompilerOptionValueKind::Int; - option.value.intValue0 = 1; slang::TargetDesc targetDesc; - targetDesc.compilerOptionEntries = &option; - targetDesc.compilerOptionEntryCount = 1; targetDesc.profile = globalSession->findProfile("sm_6_6"); targetDesc.format = target; targetDesc.compilerOptionEntryCount = 1;