gl_shader_decompiler: Add layer component to texelFetch
TexelFetch was not emitting the array component generating invalid GLSL.
This commit is contained in:
parent
fce33adcf1
commit
38fe070d78
|
@ -1822,16 +1822,19 @@ private:
|
||||||
expr += GetSampler(meta->sampler);
|
expr += GetSampler(meta->sampler);
|
||||||
expr += ", ";
|
expr += ", ";
|
||||||
|
|
||||||
expr += constructors.at(operation.GetOperandsCount() - 1);
|
expr += constructors.at(operation.GetOperandsCount() + (meta->array ? 1 : 0) - 1);
|
||||||
expr += '(';
|
expr += '(';
|
||||||
for (std::size_t i = 0; i < count; ++i) {
|
for (std::size_t i = 0; i < count; ++i) {
|
||||||
expr += VisitOperand(operation, i).AsInt();
|
if (i > 0) {
|
||||||
const std::size_t next = i + 1;
|
|
||||||
if (next == count)
|
|
||||||
expr += ')';
|
|
||||||
else if (next < count)
|
|
||||||
expr += ", ";
|
expr += ", ";
|
||||||
}
|
}
|
||||||
|
expr += VisitOperand(operation, i).AsInt();
|
||||||
|
}
|
||||||
|
if (meta->array) {
|
||||||
|
expr += ", ";
|
||||||
|
expr += Visit(meta->array).AsInt();
|
||||||
|
}
|
||||||
|
expr += ')';
|
||||||
|
|
||||||
if (meta->lod && !meta->sampler.IsBuffer()) {
|
if (meta->lod && !meta->sampler.IsBuffer()) {
|
||||||
expr += ", ";
|
expr += ", ";
|
||||||
|
|
Reference in New Issue