Further optimize SlangProcess

This commit is contained in:
twinaphex 2020-06-11 05:51:03 +02:00
parent 703cc7198d
commit 7ee5ffcd1c

View File

@ -175,6 +175,8 @@ SlangProcess::SlangProcess()
if (string_starts_with(token, "Max"))
{
if (string_starts_with(token, "MaxCompute"))
{
if (string_starts_with(token, "MaxComputeWork"))
{
if (string_is_equal(token, "MaxComputeWorkGroupCountX"))
Resources.maxComputeWorkGroupCountX = value;
@ -188,6 +190,7 @@ SlangProcess::SlangProcess()
Resources.maxComputeWorkGroupSizeY = value;
else if (string_is_equal(token, "MaxComputeWorkGroupSizeZ"))
Resources.maxComputeWorkGroupSizeZ = value;
}
else if (string_is_equal(token, "MaxComputeUniformComponents"))
Resources.maxComputeUniformComponents = value;
else if (string_is_equal(token, "MaxComputeTextureImageUnits"))
@ -221,6 +224,25 @@ SlangProcess::SlangProcess()
Resources.maxVertexAtomicCounterBuffers = value;
}
else if (string_starts_with(token, "MaxTess"))
{
if (string_starts_with(token, "MaxTessEvaluation"))
{
if (string_is_equal(token, "MaxTessEvaluationInputComponents"))
Resources.maxTessEvaluationInputComponents = value;
else if (string_is_equal(token, "MaxTessEvaluationOutputComponents"))
Resources.maxTessEvaluationOutputComponents = value;
else if (string_is_equal(token, "MaxTessEvaluationTextureImageUnits"))
Resources.maxTessEvaluationTextureImageUnits = value;
else if (string_is_equal(token, "MaxTessEvaluationUniformComponents"))
Resources.maxTessEvaluationUniformComponents = value;
else if (string_is_equal(token, "MaxTessEvaluationAtomicCounters"))
Resources.maxTessEvaluationAtomicCounters = value;
else if (string_is_equal(token, "MaxTessEvaluationAtomicCounterBuffers"))
Resources.maxTessEvaluationAtomicCounterBuffers = value;
else if (string_is_equal(token, "MaxTessEvaluationImageUniforms"))
Resources.maxTessEvaluationImageUniforms = value;
}
else if (string_starts_with(token, "MaxTessControl"))
{
if (string_is_equal(token, "MaxTessControlInputComponents"))
Resources.maxTessControlInputComponents = value;
@ -232,30 +254,17 @@ SlangProcess::SlangProcess()
Resources.maxTessControlUniformComponents = value;
else if (string_is_equal(token, "MaxTessControlTotalOutputComponents"))
Resources.maxTessControlTotalOutputComponents = value;
else if (string_is_equal(token, "MaxTessEvaluationInputComponents"))
Resources.maxTessEvaluationInputComponents = value;
else if (string_is_equal(token, "MaxTessEvaluationOutputComponents"))
Resources.maxTessEvaluationOutputComponents = value;
else if (string_is_equal(token, "MaxTessEvaluationTextureImageUnits"))
Resources.maxTessEvaluationTextureImageUnits = value;
else if (string_is_equal(token, "MaxTessEvaluationUniformComponents"))
Resources.maxTessEvaluationUniformComponents = value;
else if (string_is_equal(token, "MaxTessControlAtomicCounters"))
Resources.maxTessControlAtomicCounters = value;
else if (string_is_equal(token, "MaxTessControlAtomicCounterBuffers"))
Resources.maxTessControlAtomicCounterBuffers = value;
else if (string_is_equal(token, "MaxTessControlImageUniforms"))
Resources.maxTessControlImageUniforms = value;
}
else if (string_is_equal(token, "MaxTessPatchComponents"))
Resources.maxTessPatchComponents = value;
else if (string_is_equal(token, "MaxTessGenLevel"))
Resources.maxTessGenLevel = value;
else if (string_is_equal(token, "MaxTessControlAtomicCounters"))
Resources.maxTessControlAtomicCounters = value;
else if (string_is_equal(token, "MaxTessEvaluationAtomicCounters"))
Resources.maxTessEvaluationAtomicCounters = value;
else if (string_is_equal(token, "MaxTessControlAtomicCounterBuffers"))
Resources.maxTessControlAtomicCounterBuffers = value;
else if (string_is_equal(token, "MaxTessEvaluationAtomicCounterBuffers"))
Resources.maxTessEvaluationAtomicCounterBuffers = value;
else if (string_is_equal(token, "MaxTessControlImageUniforms"))
Resources.maxTessControlImageUniforms = value;
else if (string_is_equal(token, "MaxTessEvaluationImageUniforms"))
Resources.maxTessEvaluationImageUniforms = value;
}
else if (string_is_equal(token, "MaxLights"))
Resources.maxLights = value;