KHR_vulkan_glsl: name mangle distinguish pure textures.
Fixes issue #252.
This commit is contained in:
parent
22e0d41448
commit
2921e0c54a
@ -31,7 +31,9 @@ ERROR: 0:66: 'non-opaque uniforms outside a block' : not allowed when using GLSL
|
|||||||
ERROR: 0:67: 'subroutine' : not allowed when generating SPIR-V
|
ERROR: 0:67: 'subroutine' : not allowed when generating SPIR-V
|
||||||
ERROR: 0:67: 'uniform' : no qualifiers allowed for function return
|
ERROR: 0:67: 'uniform' : no qualifiers allowed for function return
|
||||||
ERROR: 0:69: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
|
ERROR: 0:69: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
|
||||||
ERROR: 31 compilation errors. No code generated.
|
ERROR: 0:73: 'texture' : no matching overloaded function found
|
||||||
|
ERROR: 0:74: 'imageStore' : no matching overloaded function found
|
||||||
|
ERROR: 33 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -67,3 +67,9 @@ subroutine int fooS; // ERROR, not in SPV
|
|||||||
subroutine int fooSub(); // ERROR, not in SPV
|
subroutine int fooSub(); // ERROR, not in SPV
|
||||||
|
|
||||||
uniform vec4 dv4; // ERROR, no default uniforms
|
uniform vec4 dv4; // ERROR, no default uniforms
|
||||||
|
|
||||||
|
void fooTex()
|
||||||
|
{
|
||||||
|
texture(t2d, vec2(1.0)); // ERROR, need a sampler, not a pure texture
|
||||||
|
imageStore(t2d, ivec2(4, 5), vec4(1.2)); // ERROR, need an image, not a pure texture
|
||||||
|
}
|
||||||
@ -73,9 +73,13 @@ void TType::buildMangledName(TString& mangledName)
|
|||||||
default: break; // some compilers want this
|
default: break; // some compilers want this
|
||||||
}
|
}
|
||||||
if (sampler.image)
|
if (sampler.image)
|
||||||
mangledName += "I";
|
mangledName += "I"; // a normal image
|
||||||
|
else if (sampler.sampler)
|
||||||
|
mangledName += "p"; // a "pure" sampler
|
||||||
|
else if (!sampler.combined)
|
||||||
|
mangledName += "t"; // a "pure" texture
|
||||||
else
|
else
|
||||||
mangledName += "s";
|
mangledName += "s"; // traditional combined sampler
|
||||||
if (sampler.arrayed)
|
if (sampler.arrayed)
|
||||||
mangledName += "A";
|
mangledName += "A";
|
||||||
if (sampler.shadow)
|
if (sampler.shadow)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user