arg0 = unaryArg;
}
+ TString featureString;
+ const char* feature = nullptr;
switch (callNode.getOp()) {
case EOpTextureGather:
case EOpTextureGatherOffset:
// Figure out which variants are allowed by what extensions,
// and what arguments must be constant for which situations.
- TString featureString = fnCandidate.getName() + "(...)";
- const char* feature = featureString.c_str();
+ featureString = fnCandidate.getName() + "(...)";
+ feature = featureString.c_str();
profileRequires(loc, EEsProfile, 310, nullptr, feature);
int compArg = -1; // track which argument, if any, is the constant component argument
switch (callNode.getOp()) {
bias = fnCandidate.getParamCount() > 4;
if (bias) {
- TString biasFeatureString = fnCandidate.getName() + "with bias argument";
- const char* feature = biasFeatureString.c_str();
+ featureString = fnCandidate.getName() + "with bias argument";
+ feature = featureString.c_str();
profileRequires(loc, ~EEsProfile, 450, nullptr, feature);
requireExtensions(loc, 1, &E_GL_AMD_texture_gather_bias_lod, feature);
}
bias = fnCandidate.getParamCount() > 5;
if (bias) {
- TString featureString = fnCandidate.getName() + "with bias argument";
- const char* feature = featureString.c_str();
+ featureString = fnCandidate.getName() + "with bias argument";
+ feature = featureString.c_str();
profileRequires(loc, ~EEsProfile, 450, nullptr, feature);
requireExtensions(loc, 1, &E_GL_AMD_texture_gather_bias_lod, feature);
}