networking i guess

This commit is contained in:
2026-02-28 21:07:44 +02:00
parent e83f7cd448
commit 03c560c2b7
68 changed files with 1348 additions and 121 deletions

View File

@@ -63,6 +63,12 @@ void CSlangVulkanSpirvShaderCompiler::CompileShaderStage( EShaderStage eStage, c
case SHADER_STAGE_PIXEL:
eSlangStage = SLANG_STAGE_PIXEL;
break;
case SHADER_STAGE_RAYGEN:
eSlangStage = SLANG_STAGE_RAY_GENERATION;
break;
case SHADER_STAGE_RAYGEN_SOFTWARE:
eSlangStage = SLANG_STAGE_COMPUTE;
break;
case SHADER_STAGE_CALLABLE:
eSlangStage = SLANG_STAGE_CALLABLE;
break;
@@ -104,6 +110,20 @@ trygetkind:
break;
}
break;
case slang::TypeReflection::Kind::Resource:
V_printf("%s: %i\n", pType->getName(), pType->getResourceShape());
switch(pType->getResourceShape())
{
case SLANG_TEXTURE_2D:
input.eDescriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
break;
case SLANG_STRUCTURED_BUFFER:
input.eDescriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
break;
default:
break;
}
break;
case slang::TypeReflection::Kind::Array:
{
size_t uCount = pType->getTotalArrayElementCount();
@@ -123,7 +143,7 @@ trygetkind:
V_strncpy(input.szName, pVar->getName(), 32);
input.uBinding = pVar->getBindingIndex();
input.uSet = pVar->getBindingSpace();
V_printf("%i\n", input.uCount);
//V_printf("%i\n", input.uCount);
inputs.AppendTail(input);
}
@@ -182,7 +202,7 @@ void CSlangVulkanSpirvShaderCompiler::CompileShader( const char *szInput, CCompi
{
SessionDesc stSessionDesc = {};
TargetDesc stTargetDesc = {};
PreprocessorMacroDesc stStageMacroDesc = {};
PreprocessorMacroDesc stStageMacroDesc[2] = {};
const char *szMainName;
IModule *pModule = NULL;
ISession *pSession = NULL;
@@ -215,25 +235,35 @@ void CSlangVulkanSpirvShaderCompiler::CompileShader( const char *szInput, CCompi
for ( i = 0; i<SHADER_STAGE_COUNT; i++ )
{
szMainName = NULL;
stSessionDesc.preprocessorMacroCount = 1;
switch (i)
{
case SHADER_STAGE_VERTEX:
szMainName = "vsMain";
stStageMacroDesc = { "VS_SHADER", "Enabled" };
stStageMacroDesc[0] = { "VS_SHADER", "Enabled" };
break;
case SHADER_STAGE_PIXEL:
szMainName = "psMain";
stStageMacroDesc = { "PS_SHADER", "Enabled" };
stStageMacroDesc[0] = { "PS_SHADER", "Enabled" };
break;
case SHADER_STAGE_CALLABLE:
szMainName = "brdfMain";
stStageMacroDesc = { "BRDF_SHADER", "Enabled" };
stStageMacroDesc[0] = { "BRDF_SHADER", "Enabled" };
break;
case SHADER_STAGE_RAYGEN:
szMainName = "rayMain";
stStageMacroDesc[0] = { "RAY_SHADER", "Enabled" };
break;
case SHADER_STAGE_RAYGEN_SOFTWARE:
szMainName = "rayMain";
stStageMacroDesc[0] = { "RAY_SHADER", "Enabled" };
stStageMacroDesc[1] = { "SOFTWARE_RAY_TRACING", "Enabled" };
stSessionDesc.preprocessorMacroCount = 2;
break;
default:
break;
}
stSessionDesc.preprocessorMacroCount = 1;
stSessionDesc.preprocessorMacros = &stStageMacroDesc;
stSessionDesc.preprocessorMacros = stStageMacroDesc;
if ( szMainName == NULL )
continue;
pSession = NULL;