mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-23 23:16:31 +00:00
Handle more inputs than just 16, just in case
This commit is contained in:
@@ -3109,9 +3109,6 @@ void SPVModule::MakeReflection(const string &entryPoint, ShaderReflection *refle
|
||||
reflection->DebugInfo.entryFile = 0;
|
||||
reflection->DebugInfo.entryFunc = entryPoint;
|
||||
|
||||
create_array_uninit(mapping->InputAttributes, 16);
|
||||
for(size_t i=0; i < 16; i++) mapping->InputAttributes[i] = -1;
|
||||
|
||||
// TODO need to fetch these
|
||||
reflection->DispatchThreadsDimension[0] = 0;
|
||||
reflection->DispatchThreadsDimension[1] = 0;
|
||||
@@ -3487,6 +3484,15 @@ void SPVModule::MakeReflection(const string &entryPoint, ShaderReflection *refle
|
||||
std::sort(inputs.begin(), inputs.end(), sig_param_sort());
|
||||
std::sort(outputs.begin(), outputs.end(), sig_param_sort());
|
||||
|
||||
size_t numInputs = 16;
|
||||
|
||||
for(size_t i=0; i < inputs.size(); i++)
|
||||
if(inputs[i].systemValue == eAttr_None)
|
||||
numInputs = RDCMAX(numInputs, (size_t)inputs[i].regIndex+1);
|
||||
|
||||
create_array_uninit(mapping->InputAttributes, numInputs);
|
||||
for(size_t i=0; i < numInputs; i++) mapping->InputAttributes[i] = -1;
|
||||
|
||||
for(size_t i=0; i < inputs.size(); i++)
|
||||
if(inputs[i].systemValue == eAttr_None)
|
||||
mapping->InputAttributes[ inputs[i].regIndex ] = (int32_t)i;
|
||||
|
||||
Reference in New Issue
Block a user