New uniform mapping handling

- add optional callback to handle mapping of uniform variables in linking phase
- if no resolver is provided, it uses the internal default resolver with all shifts and auto bind settings

Change-Id: Icfe38a9eabe8bfc8f8bb6d8150c06f7ed38bb762
This commit is contained in:
t.jung 2016-10-27 15:45:02 +02:00
parent 9507885537
commit c2016a52d2
5 changed files with 304 additions and 163 deletions

View file

@ -1716,7 +1716,7 @@ void TProgram::dumpReflection() { reflection->dump(); }
//
// I/O mapping implementation.
//
bool TProgram::mapIO()
bool TProgram::mapIO(TIoMapResolver* resolver)
{
if (! linked || ioMapper)
return false;
@ -1725,7 +1725,7 @@ bool TProgram::mapIO()
for (int s = 0; s < EShLangCount; ++s) {
if (intermediate[s]) {
if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink))
if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink, resolver))
return false;
}
}