Updated glslang.
This commit is contained in:
parent
c40c83d337
commit
b6ccccd4c5
11
3rdparty/glslang/SPIRV/GLSL.ext.AMD.h
vendored
11
3rdparty/glslang/SPIRV/GLSL.ext.AMD.h
vendored
@ -28,11 +28,12 @@
|
||||
#define GLSLextAMD_H
|
||||
|
||||
enum BuiltIn;
|
||||
enum Capability;
|
||||
enum Decoration;
|
||||
enum Op;
|
||||
|
||||
static const int GLSLextAMDVersion = 100;
|
||||
static const int GLSLextAMDRevision = 2;
|
||||
static const int GLSLextAMDRevision = 4;
|
||||
|
||||
// SPV_AMD_shader_ballot
|
||||
static const char* const E_SPV_AMD_shader_ballot = "SPV_AMD_shader_ballot";
|
||||
@ -113,4 +114,12 @@ enum GcnShaderAMD {
|
||||
// SPV_AMD_gpu_shader_half_float
|
||||
static const char* const E_SPV_AMD_gpu_shader_half_float = "SPV_AMD_gpu_shader_half_float";
|
||||
|
||||
// SPV_AMD_texture_gather_bias_lod
|
||||
static const char* const E_SPV_AMD_texture_gather_bias_lod = "SPV_AMD_texture_gather_bias_lod";
|
||||
|
||||
static const Capability OpCapabilityImageGatherBiasLodAMD = static_cast<Capability>(5009);
|
||||
|
||||
// SPV_AMD_gpu_shader_int16
|
||||
static const char* const E_SPV_AMD_gpu_shader_int16 = "SPV_AMD_gpu_shader_int16";
|
||||
|
||||
#endif // #ifndef GLSLextAMD_H
|
||||
|
271
3rdparty/glslang/SPIRV/GlslangToSpv.cpp
vendored
271
3rdparty/glslang/SPIRV/GlslangToSpv.cpp
vendored
@ -1369,6 +1369,10 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
||||
#endif
|
||||
else if (node->getBasicType() == glslang::EbtInt64 || node->getBasicType() == glslang::EbtUint64)
|
||||
one = builder.makeInt64Constant(1);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (node->getBasicType() == glslang::EbtInt16 || node->getBasicType() == glslang::EbtUint16)
|
||||
one = builder.makeInt16Constant(1);
|
||||
#endif
|
||||
else
|
||||
one = builder.makeIntConstant(1);
|
||||
glslang::TOperator op;
|
||||
@ -1616,6 +1620,16 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
||||
case glslang::EOpConstructU64Vec2:
|
||||
case glslang::EOpConstructU64Vec3:
|
||||
case glslang::EOpConstructU64Vec4:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConstructInt16:
|
||||
case glslang::EOpConstructI16Vec2:
|
||||
case glslang::EOpConstructI16Vec3:
|
||||
case glslang::EOpConstructI16Vec4:
|
||||
case glslang::EOpConstructUint16:
|
||||
case glslang::EOpConstructU16Vec2:
|
||||
case glslang::EOpConstructU16Vec3:
|
||||
case glslang::EOpConstructU16Vec4:
|
||||
#endif
|
||||
case glslang::EOpConstructStruct:
|
||||
case glslang::EOpConstructTextureSampler:
|
||||
{
|
||||
@ -2149,7 +2163,9 @@ spv::Id TGlslangToSpvTraverser::createSpvVariable(const glslang::TIntermSymbol*
|
||||
spv::Id spvType = convertGlslangToSpvType(node->getType());
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
const bool contains16BitType = node->getType().containsBasicType(glslang::EbtFloat16);
|
||||
const bool contains16BitType = node->getType().containsBasicType(glslang::EbtFloat16) ||
|
||||
node->getType().containsBasicType(glslang::EbtInt16) ||
|
||||
node->getType().containsBasicType(glslang::EbtUint16);
|
||||
if (contains16BitType) {
|
||||
if (storageClass == spv::StorageClassInput || storageClass == spv::StorageClassOutput) {
|
||||
builder.addExtension(spv::E_SPV_KHR_16bit_storage);
|
||||
@ -2262,13 +2278,21 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty
|
||||
spvType = builder.makeUintType(32);
|
||||
break;
|
||||
case glslang::EbtInt64:
|
||||
builder.addCapability(spv::CapabilityInt64);
|
||||
spvType = builder.makeIntType(64);
|
||||
break;
|
||||
case glslang::EbtUint64:
|
||||
builder.addCapability(spv::CapabilityInt64);
|
||||
spvType = builder.makeUintType(64);
|
||||
break;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EbtInt16:
|
||||
builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
|
||||
spvType = builder.makeIntType(16);
|
||||
break;
|
||||
case glslang::EbtUint16:
|
||||
builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
|
||||
spvType = builder.makeUintType(16);
|
||||
break;
|
||||
#endif
|
||||
case glslang::EbtAtomicUint:
|
||||
builder.addCapability(spv::CapabilityAtomicStorage);
|
||||
spvType = builder.makeUintType(32);
|
||||
@ -3044,7 +3068,7 @@ void TGlslangToSpvTraverser::translateArguments(const glslang::TIntermAggregate&
|
||||
if (i == 6)
|
||||
lvalue = true;
|
||||
break;
|
||||
case glslang::EOpSparseTextureGather:
|
||||
case glslang::EOpSparseTextureGather:
|
||||
if ((sampler.shadow && i == 3) || (! sampler.shadow && i == 2))
|
||||
lvalue = true;
|
||||
break;
|
||||
@ -3053,6 +3077,17 @@ void TGlslangToSpvTraverser::translateArguments(const glslang::TIntermAggregate&
|
||||
if ((sampler.shadow && i == 4) || (! sampler.shadow && i == 3))
|
||||
lvalue = true;
|
||||
break;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpSparseTextureGatherLod:
|
||||
if (i == 3)
|
||||
lvalue = true;
|
||||
break;
|
||||
case glslang::EOpSparseTextureGatherLodOffset:
|
||||
case glslang::EOpSparseTextureGatherLodOffsets:
|
||||
if (i == 4)
|
||||
lvalue = true;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -3219,10 +3254,22 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
|
||||
|
||||
// check for bias argument
|
||||
bool bias = false;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
if (! cracked.lod && ! cracked.grad && ! cracked.fetch && ! cubeCompare) {
|
||||
#else
|
||||
if (! cracked.lod && ! cracked.gather && ! cracked.grad && ! cracked.fetch && ! cubeCompare) {
|
||||
#endif
|
||||
int nonBiasArgCount = 2;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
if (cracked.gather)
|
||||
++nonBiasArgCount; // comp argument should be present when bias argument is present
|
||||
#endif
|
||||
if (cracked.offset)
|
||||
++nonBiasArgCount;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (cracked.offsets)
|
||||
++nonBiasArgCount;
|
||||
#endif
|
||||
if (cracked.grad)
|
||||
nonBiasArgCount += 2;
|
||||
if (cracked.lodClamp)
|
||||
@ -3241,6 +3288,17 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
|
||||
params.sampler = builder.createUnaryOp(spv::OpImage, builder.getImageType(params.sampler), params.sampler);
|
||||
}
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
if (cracked.gather) {
|
||||
const auto& sourceExtensions = glslangIntermediate->getRequestedExtensions();
|
||||
if (bias || cracked.lod ||
|
||||
sourceExtensions.find(glslang::E_GL_AMD_texture_gather_bias_lod) != sourceExtensions.end()) {
|
||||
builder.addExtension(spv::E_SPV_AMD_texture_gather_bias_lod);
|
||||
builder.addCapability(spv::OpCapabilityImageGatherBiasLodAMD);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// set the rest of the arguments
|
||||
|
||||
params.coords = arguments[1];
|
||||
@ -3308,21 +3366,20 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
|
||||
++extraArgs;
|
||||
}
|
||||
|
||||
// bias
|
||||
if (bias) {
|
||||
params.bias = arguments[2 + extraArgs];
|
||||
++extraArgs;
|
||||
}
|
||||
|
||||
// gather component
|
||||
if (cracked.gather && ! sampler.shadow) {
|
||||
// default component is 0, if missing, otherwise an argument
|
||||
if (2 + extraArgs < (int)arguments.size()) {
|
||||
params.component = arguments[2 + extraArgs];
|
||||
++extraArgs;
|
||||
} else {
|
||||
} else
|
||||
params.component = builder.makeIntConstant(0);
|
||||
}
|
||||
}
|
||||
|
||||
// bias
|
||||
if (bias) {
|
||||
params.bias = arguments[2 + extraArgs];
|
||||
++extraArgs;
|
||||
}
|
||||
|
||||
// projective component (might not to move)
|
||||
@ -3452,10 +3509,11 @@ spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, spv
|
||||
spv::Id typeId, spv::Id left, spv::Id right,
|
||||
glslang::TBasicType typeProxy, bool reduceComparison)
|
||||
{
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64 || typeProxy == glslang::EbtUint16;
|
||||
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
|
||||
#else
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
|
||||
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
|
||||
#endif
|
||||
bool isBool = typeProxy == glslang::EbtBool;
|
||||
@ -3782,10 +3840,11 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
|
||||
spv::Op unaryOp = spv::OpNop;
|
||||
int extBuiltins = -1;
|
||||
int libCall = -1;
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64 || typeProxy == glslang::EbtUint16;
|
||||
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
|
||||
#else
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
|
||||
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
|
||||
#endif
|
||||
|
||||
@ -3924,6 +3983,12 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
|
||||
case glslang::EOpDoubleBitsToUint64:
|
||||
case glslang::EOpInt64BitsToDouble:
|
||||
case glslang::EOpUint64BitsToDouble:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpFloat16BitsToInt16:
|
||||
case glslang::EOpFloat16BitsToUint16:
|
||||
case glslang::EOpInt16BitsToFloat16:
|
||||
case glslang::EOpUint16BitsToFloat16:
|
||||
#endif
|
||||
unaryOp = spv::OpBitcast;
|
||||
break;
|
||||
|
||||
@ -3972,6 +4037,14 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
|
||||
break;
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpPackInt2x16:
|
||||
case glslang::EOpUnpackInt2x16:
|
||||
case glslang::EOpPackUint2x16:
|
||||
case glslang::EOpUnpackUint2x16:
|
||||
case glslang::EOpPackInt4x16:
|
||||
case glslang::EOpUnpackInt4x16:
|
||||
case glslang::EOpPackUint4x16:
|
||||
case glslang::EOpUnpackUint4x16:
|
||||
case glslang::EOpPackFloat2x16:
|
||||
case glslang::EOpUnpackFloat2x16:
|
||||
unaryOp = spv::OpBitcast;
|
||||
@ -4171,8 +4244,18 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
case glslang::EOpConvUintToBool:
|
||||
case glslang::EOpConvInt64ToBool:
|
||||
case glslang::EOpConvUint64ToBool:
|
||||
zero = (op == glslang::EOpConvInt64ToBool ||
|
||||
op == glslang::EOpConvUint64ToBool) ? builder.makeUint64Constant(0) : builder.makeUintConstant(0);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvInt16ToBool:
|
||||
case glslang::EOpConvUint16ToBool:
|
||||
#endif
|
||||
if (op == glslang::EOpConvInt64ToBool || op == glslang::EOpConvUint64ToBool)
|
||||
zero = builder.makeUint64Constant(0);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (op == glslang::EOpConvInt16ToBool || op == glslang::EOpConvUint16ToBool)
|
||||
zero = builder.makeUint16Constant(0);
|
||||
#endif
|
||||
else
|
||||
zero = builder.makeUintConstant(0);
|
||||
zero = makeSmearedConstant(zero, vectorSize);
|
||||
return builder.createBinOp(spv::OpINotEqual, destType, operand, zero);
|
||||
|
||||
@ -4215,15 +4298,53 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
|
||||
case glslang::EOpConvBoolToInt:
|
||||
case glslang::EOpConvBoolToInt64:
|
||||
zero = (op == glslang::EOpConvBoolToInt64) ? builder.makeInt64Constant(0) : builder.makeIntConstant(0);
|
||||
one = (op == glslang::EOpConvBoolToInt64) ? builder.makeInt64Constant(1) : builder.makeIntConstant(1);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvBoolToInt16:
|
||||
#endif
|
||||
if (op == glslang::EOpConvBoolToInt64)
|
||||
zero = builder.makeInt64Constant(0);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (op == glslang::EOpConvBoolToInt16)
|
||||
zero = builder.makeInt16Constant(0);
|
||||
#endif
|
||||
else
|
||||
zero = builder.makeIntConstant(0);
|
||||
|
||||
if (op == glslang::EOpConvBoolToInt64)
|
||||
one = builder.makeInt64Constant(1);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (op == glslang::EOpConvBoolToInt16)
|
||||
one = builder.makeInt16Constant(1);
|
||||
#endif
|
||||
else
|
||||
one = builder.makeIntConstant(1);
|
||||
|
||||
convOp = spv::OpSelect;
|
||||
break;
|
||||
|
||||
case glslang::EOpConvBoolToUint:
|
||||
case glslang::EOpConvBoolToUint64:
|
||||
zero = (op == glslang::EOpConvBoolToUint64) ? builder.makeUint64Constant(0) : builder.makeUintConstant(0);
|
||||
one = (op == glslang::EOpConvBoolToUint64) ? builder.makeUint64Constant(1) : builder.makeUintConstant(1);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvBoolToUint16:
|
||||
#endif
|
||||
if (op == glslang::EOpConvBoolToUint64)
|
||||
zero = builder.makeUint64Constant(0);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (op == glslang::EOpConvBoolToUint16)
|
||||
zero = builder.makeUint16Constant(0);
|
||||
#endif
|
||||
else
|
||||
zero = builder.makeUintConstant(0);
|
||||
|
||||
if (op == glslang::EOpConvBoolToUint64)
|
||||
one = builder.makeUint64Constant(1);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (op == glslang::EOpConvBoolToUint16)
|
||||
one = builder.makeUint16Constant(1);
|
||||
#endif
|
||||
else
|
||||
one = builder.makeUintConstant(1);
|
||||
|
||||
convOp = spv::OpSelect;
|
||||
break;
|
||||
|
||||
@ -4232,6 +4353,9 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
case glslang::EOpConvInt64ToFloat:
|
||||
case glslang::EOpConvInt64ToDouble:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvInt16ToFloat:
|
||||
case glslang::EOpConvInt16ToDouble:
|
||||
case glslang::EOpConvInt16ToFloat16:
|
||||
case glslang::EOpConvIntToFloat16:
|
||||
case glslang::EOpConvInt64ToFloat16:
|
||||
#endif
|
||||
@ -4243,6 +4367,9 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
case glslang::EOpConvUint64ToFloat:
|
||||
case glslang::EOpConvUint64ToDouble:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvUint16ToFloat:
|
||||
case glslang::EOpConvUint16ToDouble:
|
||||
case glslang::EOpConvUint16ToFloat16:
|
||||
case glslang::EOpConvUintToFloat16:
|
||||
case glslang::EOpConvUint64ToFloat16:
|
||||
#endif
|
||||
@ -4267,6 +4394,9 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
case glslang::EOpConvFloatToInt64:
|
||||
case glslang::EOpConvDoubleToInt64:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvFloatToInt16:
|
||||
case glslang::EOpConvDoubleToInt16:
|
||||
case glslang::EOpConvFloat16ToInt16:
|
||||
case glslang::EOpConvFloat16ToInt:
|
||||
case glslang::EOpConvFloat16ToInt64:
|
||||
#endif
|
||||
@ -4277,10 +4407,21 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
case glslang::EOpConvIntToUint:
|
||||
case glslang::EOpConvUint64ToInt64:
|
||||
case glslang::EOpConvInt64ToUint64:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvUint16ToInt16:
|
||||
case glslang::EOpConvInt16ToUint16:
|
||||
#endif
|
||||
if (builder.isInSpecConstCodeGenMode()) {
|
||||
// Build zero scalar or vector for OpIAdd.
|
||||
zero = (op == glslang::EOpConvUint64ToInt64 ||
|
||||
op == glslang::EOpConvInt64ToUint64) ? builder.makeUint64Constant(0) : builder.makeUintConstant(0);
|
||||
if (op == glslang::EOpConvUint64ToInt64 || op == glslang::EOpConvInt64ToUint64)
|
||||
zero = builder.makeUint64Constant(0);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
else if (op == glslang::EOpConvUint16ToInt16 || op == glslang::EOpConvInt16ToUint16)
|
||||
zero = builder.makeUint16Constant(0);
|
||||
#endif
|
||||
else
|
||||
zero = builder.makeUintConstant(0);
|
||||
|
||||
zero = makeSmearedConstant(zero, vectorSize);
|
||||
// Use OpIAdd, instead of OpBitcast to do the conversion when
|
||||
// generating for OpSpecConstantOp instruction.
|
||||
@ -4295,6 +4436,9 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
case glslang::EOpConvFloatToUint64:
|
||||
case glslang::EOpConvDoubleToUint64:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvFloatToUint16:
|
||||
case glslang::EOpConvDoubleToUint16:
|
||||
case glslang::EOpConvFloat16ToUint16:
|
||||
case glslang::EOpConvFloat16ToUint:
|
||||
case glslang::EOpConvFloat16ToUint64:
|
||||
#endif
|
||||
@ -4303,11 +4447,23 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
|
||||
case glslang::EOpConvIntToInt64:
|
||||
case glslang::EOpConvInt64ToInt:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvIntToInt16:
|
||||
case glslang::EOpConvInt16ToInt:
|
||||
case glslang::EOpConvInt64ToInt16:
|
||||
case glslang::EOpConvInt16ToInt64:
|
||||
#endif
|
||||
convOp = spv::OpSConvert;
|
||||
break;
|
||||
|
||||
case glslang::EOpConvUintToUint64:
|
||||
case glslang::EOpConvUint64ToUint:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvUintToUint16:
|
||||
case glslang::EOpConvUint16ToUint:
|
||||
case glslang::EOpConvUint64ToUint16:
|
||||
case glslang::EOpConvUint16ToUint64:
|
||||
#endif
|
||||
convOp = spv::OpUConvert;
|
||||
break;
|
||||
|
||||
@ -4315,24 +4471,58 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
case glslang::EOpConvInt64ToUint:
|
||||
case glslang::EOpConvUint64ToInt:
|
||||
case glslang::EOpConvUintToInt64:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvInt16ToUint:
|
||||
case glslang::EOpConvUintToInt16:
|
||||
case glslang::EOpConvInt16ToUint64:
|
||||
case glslang::EOpConvUint64ToInt16:
|
||||
case glslang::EOpConvUint16ToInt:
|
||||
case glslang::EOpConvIntToUint16:
|
||||
case glslang::EOpConvUint16ToInt64:
|
||||
case glslang::EOpConvInt64ToUint16:
|
||||
#endif
|
||||
// OpSConvert/OpUConvert + OpBitCast
|
||||
switch (op) {
|
||||
case glslang::EOpConvIntToUint64:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvInt16ToUint64:
|
||||
#endif
|
||||
convOp = spv::OpSConvert;
|
||||
type = builder.makeIntType(64);
|
||||
break;
|
||||
case glslang::EOpConvInt64ToUint:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvInt16ToUint:
|
||||
#endif
|
||||
convOp = spv::OpSConvert;
|
||||
type = builder.makeIntType(32);
|
||||
break;
|
||||
case glslang::EOpConvUint64ToInt:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvUint16ToInt:
|
||||
#endif
|
||||
convOp = spv::OpUConvert;
|
||||
type = builder.makeUintType(32);
|
||||
break;
|
||||
case glslang::EOpConvUintToInt64:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvUint16ToInt64:
|
||||
#endif
|
||||
convOp = spv::OpUConvert;
|
||||
type = builder.makeUintType(64);
|
||||
break;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EOpConvUintToInt16:
|
||||
case glslang::EOpConvUint64ToInt16:
|
||||
convOp = spv::OpUConvert;
|
||||
type = builder.makeUintType(16);
|
||||
break;
|
||||
case glslang::EOpConvIntToUint16:
|
||||
case glslang::EOpConvInt64ToUint16:
|
||||
convOp = spv::OpSConvert;
|
||||
type = builder.makeIntType(16);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
assert(0);
|
||||
break;
|
||||
@ -4345,8 +4535,22 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
||||
|
||||
if (builder.isInSpecConstCodeGenMode()) {
|
||||
// Build zero scalar or vector for OpIAdd.
|
||||
zero = (op == glslang::EOpConvIntToUint64 ||
|
||||
op == glslang::EOpConvUintToInt64) ? builder.makeUint64Constant(0) : builder.makeUintConstant(0);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
if (op == glslang::EOpConvIntToUint64 || op == glslang::EOpConvUintToInt64 ||
|
||||
op == glslang::EOpConvInt16ToUint64 || op == glslang::EOpConvUint16ToInt64)
|
||||
zero = builder.makeUint64Constant(0);
|
||||
else if (op == glslang::EOpConvIntToUint16 || op == glslang::EOpConvUintToInt16 ||
|
||||
op == glslang::EOpConvInt64ToUint16 || op == glslang::EOpConvUint64ToInt16)
|
||||
zero = builder.makeUint16Constant(0);
|
||||
else
|
||||
zero = builder.makeUintConstant(0);
|
||||
#else
|
||||
if (op == glslang::EOpConvIntToUint64 || op == glslang::EOpConvUintToInt64)
|
||||
zero = builder.makeUint64Constant(0);
|
||||
else
|
||||
zero = builder.makeUintConstant(0);
|
||||
#endif
|
||||
|
||||
zero = makeSmearedConstant(zero, vectorSize);
|
||||
// Use OpIAdd, instead of OpBitcast to do the conversion when
|
||||
// generating for OpSpecConstantOp instruction.
|
||||
@ -4732,10 +4936,11 @@ spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv
|
||||
|
||||
spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
|
||||
{
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64 || typeProxy == glslang::EbtUint16;
|
||||
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
|
||||
#else
|
||||
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
|
||||
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
|
||||
#endif
|
||||
|
||||
@ -5320,6 +5525,14 @@ spv::Id TGlslangToSpvTraverser::createSpvConstantFromConstUnionArray(const glsla
|
||||
case glslang::EbtUint64:
|
||||
spvConsts.push_back(builder.makeUint64Constant(zero ? 0 : consts[nextConst].getU64Const()));
|
||||
break;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EbtInt16:
|
||||
spvConsts.push_back(builder.makeInt16Constant(zero ? 0 : (short)consts[nextConst].getIConst()));
|
||||
break;
|
||||
case glslang::EbtUint16:
|
||||
spvConsts.push_back(builder.makeUint16Constant(zero ? 0 : (unsigned short)consts[nextConst].getUConst()));
|
||||
break;
|
||||
#endif
|
||||
case glslang::EbtFloat:
|
||||
spvConsts.push_back(builder.makeFloatConstant(zero ? 0.0F : (float)consts[nextConst].getDConst()));
|
||||
break;
|
||||
@ -5357,6 +5570,14 @@ spv::Id TGlslangToSpvTraverser::createSpvConstantFromConstUnionArray(const glsla
|
||||
case glslang::EbtUint64:
|
||||
scalar = builder.makeUint64Constant(zero ? 0 : consts[nextConst].getU64Const(), specConstant);
|
||||
break;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case glslang::EbtInt16:
|
||||
scalar = builder.makeInt16Constant(zero ? 0 : (short)consts[nextConst].getIConst(), specConstant);
|
||||
break;
|
||||
case glslang::EbtUint16:
|
||||
scalar = builder.makeUint16Constant(zero ? 0 : (unsigned short)consts[nextConst].getUConst(), specConstant);
|
||||
break;
|
||||
#endif
|
||||
case glslang::EbtFloat:
|
||||
scalar = builder.makeFloatConstant(zero ? 0.0F : (float)consts[nextConst].getDConst(), specConstant);
|
||||
break;
|
||||
|
4
3rdparty/glslang/SPIRV/SpvBuilder.h
vendored
4
3rdparty/glslang/SPIRV/SpvBuilder.h
vendored
@ -214,6 +214,10 @@ public:
|
||||
Id makeUintConstant(unsigned u, bool specConstant = false) { return makeIntConstant(makeUintType(32), u, specConstant); }
|
||||
Id makeInt64Constant(long long i, bool specConstant = false) { return makeInt64Constant(makeIntType(64), (unsigned long long)i, specConstant); }
|
||||
Id makeUint64Constant(unsigned long long u, bool specConstant = false) { return makeInt64Constant(makeUintType(64), u, specConstant); }
|
||||
#ifdef AMD_EXTENSIONS
|
||||
Id makeInt16Constant(short i, bool specConstant = false) { return makeIntConstant(makeIntType(16), (unsigned)((unsigned short)i), specConstant); }
|
||||
Id makeUint16Constant(unsigned short u, bool specConstant = false) { return makeIntConstant(makeUintType(16), (unsigned)u, specConstant); }
|
||||
#endif
|
||||
Id makeFloatConstant(float f, bool specConstant = false);
|
||||
Id makeDoubleConstant(double d, bool specConstant = false);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
|
4
3rdparty/glslang/SPIRV/doc.cpp
vendored
4
3rdparty/glslang/SPIRV/doc.cpp
vendored
@ -839,6 +839,10 @@ const char* CapabilityString(int info)
|
||||
case 4437: return "DeviceGroup";
|
||||
case 4439: return "MultiView";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case 5009: return "ImageGatherBiasLodAMD";
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case 5251: return "GeometryShaderPassthroughNV";
|
||||
case 5254: return "ShaderViewportIndexLayerNV";
|
||||
|
@ -48,6 +48,8 @@
|
||||
// Can be overridden to customize.
|
||||
class DirStackFileIncluder : public glslang::TShader::Includer {
|
||||
public:
|
||||
DirStackFileIncluder() : externalLocalDirectoryCount(0) { }
|
||||
|
||||
virtual IncludeResult* includeLocal(const char* headerName,
|
||||
const char* includerName,
|
||||
size_t inclusionDepth) override
|
||||
@ -62,6 +64,18 @@ public:
|
||||
return readSystemPath(headerName);
|
||||
}
|
||||
|
||||
// Externally set directories. E.g., from a command-line -I<dir>.
|
||||
// - Most-recently pushed are checked first.
|
||||
// - All these are checked after the parse-time stack of local directories
|
||||
// is checked.
|
||||
// - This only applies to the "local" form of #include.
|
||||
// - Makes its own copy of the path.
|
||||
virtual void pushExternalLocalDirectory(const std::string& dir)
|
||||
{
|
||||
directoryStack.push_back(dir);
|
||||
externalLocalDirectoryCount = directoryStack.size();
|
||||
}
|
||||
|
||||
virtual void releaseInclude(IncludeResult* result) override
|
||||
{
|
||||
if (result != nullptr) {
|
||||
@ -75,17 +89,19 @@ public:
|
||||
protected:
|
||||
typedef char tUserDataElement;
|
||||
std::vector<std::string> directoryStack;
|
||||
int externalLocalDirectoryCount;
|
||||
|
||||
// Search for a valid "local" path based on combining the stack of include
|
||||
// directories and the nominal name of the header.
|
||||
virtual IncludeResult* readLocalPath(const char* headerName, const char* includerName, int depth)
|
||||
{
|
||||
// Discard popped include directories, and if first level, initialize.
|
||||
directoryStack.resize(depth);
|
||||
// Discard popped include directories, and
|
||||
// initialize when at parse-time first level.
|
||||
directoryStack.resize(depth + externalLocalDirectoryCount);
|
||||
if (depth == 1)
|
||||
directoryStack.front() = getDirectory(includerName);
|
||||
directoryStack.back() = getDirectory(includerName);
|
||||
|
||||
// find a directory that works, reverse search of include stack
|
||||
// Find a directory that works, using a reverse search of the include stack.
|
||||
for (auto it = directoryStack.rbegin(); it != directoryStack.rend(); ++it) {
|
||||
std::string path = *it + '/' + headerName;
|
||||
std::replace(path.begin(), path.end(), '\\', '/');
|
||||
|
12
3rdparty/glslang/StandAlone/StandAlone.cpp
vendored
12
3rdparty/glslang/StandAlone/StandAlone.cpp
vendored
@ -167,6 +167,7 @@ const char* entryPointName = nullptr;
|
||||
const char* sourceEntryPointName = nullptr;
|
||||
const char* shaderStageName = nullptr;
|
||||
const char* variableName = nullptr;
|
||||
std::vector<std::string> IncludeDirectoryList;
|
||||
|
||||
std::array<unsigned int, EShLangCount> baseSamplerBinding;
|
||||
std::array<unsigned int, EShLangCount> baseTextureBinding;
|
||||
@ -407,6 +408,13 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
|
||||
Options |= EOptionLinkProgram;
|
||||
}
|
||||
break;
|
||||
case 'I':
|
||||
if (argv[0][2] == 0) {
|
||||
printf("include path must immediately follow (no spaces) -I\n");
|
||||
exit(EFailUsage);
|
||||
}
|
||||
IncludeDirectoryList.push_back(argv[0]+2);
|
||||
break;
|
||||
case 'V':
|
||||
Options |= EOptionSpv;
|
||||
Options |= EOptionVulkanRules;
|
||||
@ -668,6 +676,8 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
const int defaultVersion = Options & EOptionDefaultDesktop? 110: 100;
|
||||
|
||||
DirStackFileIncluder includer;
|
||||
std::for_each(IncludeDirectoryList.rbegin(), IncludeDirectoryList.rend(), [&includer](const std::string& dir) {
|
||||
includer.pushExternalLocalDirectory(dir); });
|
||||
if (Options & EOptionOutputPreprocessed) {
|
||||
std::string str;
|
||||
if (shader->preprocess(&Resources, defaultVersion, ENoProfile, false, false,
|
||||
@ -1031,6 +1041,8 @@ void usage()
|
||||
" -G create SPIR-V binary, under OpenGL semantics; turns on -l;\n"
|
||||
" default file name is <stage>.spv (-o overrides this)\n"
|
||||
" -H print human readable form of SPIR-V; turns on -V\n"
|
||||
" -I<dir> add dir to the include search path; includer's directory\n"
|
||||
" is searched first, followed by left-to-right order of -I\n"
|
||||
" -E print pre-processed GLSL; cannot be used with -l;\n"
|
||||
" errors will appear on stderr.\n"
|
||||
" -S <stage> uses specified stage rather than parsing the file extension\n"
|
||||
|
2
3rdparty/glslang/Test/310.comp
vendored
2
3rdparty/glslang/Test/310.comp
vendored
@ -4,7 +4,7 @@ layout(local_size_x = 2) in;
|
||||
layout(local_size_x = 16) in; // ERROR, changing
|
||||
layout(local_size_z = 4096) in; // ERROR, too large
|
||||
layout(local_size_x = 2) in;
|
||||
|
||||
layout(local_size_y = 0) in; // ERROR, 0 not allowed
|
||||
const int total = gl_MaxComputeWorkGroupCount.y
|
||||
+ gl_MaxComputeUniformComponents
|
||||
+ gl_MaxComputeTextureImageUnits
|
||||
|
4
3rdparty/glslang/Test/400.frag
vendored
4
3rdparty/glslang/Test/400.frag
vendored
@ -194,4 +194,8 @@ void bitwiseConv()
|
||||
iout += i | uu;
|
||||
}
|
||||
|
||||
subroutine(subT1, subT2);
|
||||
subroutine float subT1() { return 1.0; }
|
||||
subroutine float subT2() { return 1.0; }
|
||||
|
||||
struct SKeyMem { int precise; } KeyMem; // ERROR, keyword can't be a member
|
||||
|
5
3rdparty/glslang/Test/450.comp
vendored
5
3rdparty/glslang/Test/450.comp
vendored
@ -1 +1,6 @@
|
||||
#version 450 core
|
||||
layout(local_size_x = 0) in; // ERROR, 0 not allowed
|
||||
void main()
|
||||
{
|
||||
shared float f; // ERROR shared must be global
|
||||
}
|
||||
|
10
3rdparty/glslang/Test/450.frag
vendored
10
3rdparty/glslang/Test/450.frag
vendored
@ -54,3 +54,13 @@ float cull(int i)
|
||||
{
|
||||
return (i >= 6) ? gl_CullDistance[5] : gl_CullDistance[i];
|
||||
}
|
||||
|
||||
layout(location = 6) in bName1 {
|
||||
float f;
|
||||
layout(location = 7) float g;
|
||||
mat4 m;
|
||||
} bInst1;
|
||||
layout(location = 12) in bName2 {
|
||||
float f;
|
||||
layout(location = 13) float g; // ERROR, location on array
|
||||
} bInst2[3];
|
||||
|
9
3rdparty/glslang/Test/450.tesc
vendored
9
3rdparty/glslang/Test/450.tesc
vendored
@ -12,3 +12,12 @@ void main()
|
||||
{
|
||||
gl_out[gl_InvocationID].gl_CullDistance[2] = gl_in[1].gl_CullDistance[2];
|
||||
}
|
||||
|
||||
layout(location = 4) out bName1 {
|
||||
float f;
|
||||
layout(location = 5) float g;
|
||||
} bInst1[2];
|
||||
layout(location = 6) out bName2 {
|
||||
float f;
|
||||
layout(location = 7) float g; // ERROR, location on array
|
||||
} bInst2[2][3];
|
||||
|
@ -210,7 +210,6 @@ ERROR: node is still EOpNull!
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
400.tesc
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
@ -442,7 +441,6 @@ ERROR: node is still EOpNull!
|
||||
0:? 'badOrder' ( invariant noContraction out 4-element array of 4-component vector of float)
|
||||
|
||||
400.tese
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
|
||||
ERROR: 0:5: 'triangles' : cannot change previously set input primitive
|
||||
ERROR: 0:6: 'isolines' : cannot change previously set input primitive
|
||||
@ -612,7 +610,6 @@ ERROR: node is still EOpNull!
|
||||
0:? 'pinbi' ( patch in block{ in int a})
|
||||
|
||||
410.tesc
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
@ -628,7 +625,6 @@ ERROR: node is still EOpNull!
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
|
||||
420.tesc
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
|
||||
ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
|
||||
ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
|
||||
@ -747,7 +743,6 @@ ERROR: node is still EOpNull!
|
||||
0:? 'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double)
|
||||
|
||||
420.tese
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:7: '=' : cannot convert from ' const 3-element array of float' to ' global 2-element array of float'
|
||||
ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float
|
||||
ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float
|
||||
|
12
3rdparty/glslang/Test/baseResults/310.comp.out
vendored
12
3rdparty/glslang/Test/baseResults/310.comp.out
vendored
@ -1,7 +1,7 @@
|
||||
310.comp
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:4: 'local_size' : cannot change previously set size
|
||||
ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
|
||||
ERROR: 0:7: 'local_size_y' : must be at least 1
|
||||
ERROR: 0:23: '' : array size required
|
||||
ERROR: 0:39: 'in' : global storage input qualifier cannot be used in a compute shader
|
||||
ERROR: 0:39: 'location qualifier on input' : not supported in this stage: compute
|
||||
@ -16,7 +16,7 @@ ERROR: 0:47: 'local_size' : can only apply to 'in'
|
||||
ERROR: 0:61: 'assign' : l-value required "ro" (can't modify a readonly buffer)
|
||||
ERROR: 0:66: 'buffer' : buffers can be declared only as blocks
|
||||
ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:76: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:76: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:81: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:82: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:87: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
|
||||
@ -54,12 +54,12 @@ ERROR: 0:171: 'samplerCubeArray' : Reserved word.
|
||||
ERROR: 0:171: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:172: 'iimage2DRect' : Reserved word.
|
||||
ERROR: 0:172: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:172: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:172: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:173: 'image2DMS' : Reserved word.
|
||||
ERROR: 0:173: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:173: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:174: 'uimage2DMSArray' : Reserved word.
|
||||
ERROR: 0:174: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:174: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:174: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:181: 'rgba32f' : format requires readonly or writeonly memory qualifier
|
||||
ERROR: 0:182: 'rgba8i' : format requires readonly or writeonly memory qualifier
|
||||
ERROR: 0:183: 'rgba16ui' : format requires readonly or writeonly memory qualifier
|
||||
@ -84,7 +84,7 @@ WARNING: 0:238: '#define' : names containing consecutive underscores are reserve
|
||||
ERROR: 0:244: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||
ERROR: 0:245: 'gl_ViewIndex' : undeclared identifier
|
||||
ERROR: 0:255: 'gl_ViewIndex' : undeclared identifier
|
||||
ERROR: 82 compilation errors. No code generated.
|
||||
ERROR: 83 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 310
|
||||
|
11
3rdparty/glslang/Test/baseResults/310.frag.out
vendored
11
3rdparty/glslang/Test/baseResults/310.frag.out
vendored
@ -1,5 +1,4 @@
|
||||
310.frag
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:2: 'float' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:8: 'origin_upper_left' : not supported with this profile: es
|
||||
ERROR: 0:8: 'pixel_center_integer' : not supported with this profile: es
|
||||
@ -19,13 +18,13 @@ ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset,
|
||||
ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
|
||||
ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
|
||||
ERROR: 0:66: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:66: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:66: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:67: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:67: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:67: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:68: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:68: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:69: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:69: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:69: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:73: 'binding' : requires block, or sampler/image, or atomic-counter type
|
||||
ERROR: 0:77: 'location' : location is too large
|
||||
ERROR: 0:81: 'location' : too large for fragment output
|
||||
@ -36,7 +35,7 @@ ERROR: 0:83: 'layout-id value' : cannot be negative
|
||||
ERROR: 0:96: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:110: 'out' : cannot be bool
|
||||
ERROR: 0:111: 'image2D' : sampler/image types can only be used in uniform variables or function parameters: imageOut
|
||||
ERROR: 0:111: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:111: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
|
||||
ERROR: 0:112: 'out' : cannot be a matrix
|
||||
ERROR: 0:114: 'in' : cannot be bool
|
||||
ERROR: 0:115: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: ino
|
||||
|
@ -1,5 +1,4 @@
|
||||
310.geom
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:29: 'fromVertex' : block instance name redefinition
|
||||
ERROR: 0:33: 'fromVertex' : redefinition
|
||||
ERROR: 0:35: 'fooC' : block instance name redefinition
|
||||
|
@ -1,5 +1,4 @@
|
||||
310.tesc
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:8: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:9: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:10: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
|
@ -1,5 +1,4 @@
|
||||
310.tese
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:7: 'vertices' : there is no such layout identifier for this stage taking an assigned value
|
||||
ERROR: 0:9: 'triangles' : cannot change previously set input primitive
|
||||
ERROR: 0:10: 'isolines' : cannot change previously set input primitive
|
||||
|
@ -1,5 +1,4 @@
|
||||
310.vert
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'shared' : not supported in this stage: vertex
|
||||
ERROR: 0:4: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
|
||||
ERROR: 0:5: 'buffer' : buffers can be declared only as blocks
|
||||
|
@ -1,5 +1,4 @@
|
||||
310AofA.vert
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:17: '' : array size required
|
||||
ERROR: 0:23: '' : array size required
|
||||
ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized
|
||||
|
@ -1,5 +1,4 @@
|
||||
310implicitSizeArrayError.vert
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: '' : array size required
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
12
3rdparty/glslang/Test/baseResults/330.frag.out
vendored
12
3rdparty/glslang/Test/baseResults/330.frag.out
vendored
@ -100,7 +100,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'v20' ( smooth in 4-component vector of float)
|
||||
0:? 'v21' (layout( location=60) smooth in float)
|
||||
0:? 'v22' (layout( location=2) smooth in float)
|
||||
0:? 'anon@1' ( in block{layout( location=1 component=0) in float f1, layout( location=3) in float f2})
|
||||
0:? 'anon@1' ( in block{layout( location=1) in float f1, layout( location=3) in float f2})
|
||||
0:? 'uinst' (layout( location=1 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2})
|
||||
0:? 'v3' (layout( location=6) smooth in 4-component vector of float)
|
||||
0:? 'v4' ( smooth in 4-component vector of float)
|
||||
@ -108,12 +108,12 @@ ERROR: node is still EOpNull!
|
||||
0:? 'v6' (layout( location=30) smooth in 4-component vector of float)
|
||||
0:? 'v23' (layout( location=61) smooth in float)
|
||||
0:? 'v24' (layout( location=62) smooth in float)
|
||||
0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2, layout( location=26 component=0) in 4-component vector of float f3, layout( location=21) in structure{ global float f1, temp float f2} s2, layout( location=23 component=0) in 4-component vector of float f4, layout( location=24 component=0) in 4-component vector of float f5})
|
||||
0:? 'ininst2' ( in block{layout( location=28) in bool b1, layout( location=29) in float f1, layout( location=25) in float f2, layout( location=26) in 4-component vector of float f3, layout( location=21) in structure{ global float f1, temp float f2} s2, layout( location=23) in 4-component vector of float f4, layout( location=24) in 4-component vector of float f5})
|
||||
0:? 'uinst2' (layout( location=13 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2})
|
||||
0:? 'in3' ( in block{ in float f1, layout( location=40) in float f2})
|
||||
0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2})
|
||||
0:? 's' (layout( location=33) smooth in structure{ global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
|
||||
0:? 'anon@2' ( in block{layout( location=44 component=0) in 4-component vector of float d, layout( location=45 component=0) in 4-component vector of float e, layout( location=47) in 4-component vector of float f, layout( location=48 component=0) in 4-component vector of float g, layout( location=41) in 4-component vector of float h, layout( location=42 component=0) in 4-component vector of float i, layout( location=43 component=0) in 4-component vector of float j, layout( location=44 component=0) in 4-component vector of float k})
|
||||
0:? 'anon@2' ( in block{layout( location=44) in 4-component vector of float d, layout( location=45) in 4-component vector of float e, layout( location=47) in 4-component vector of float f, layout( location=48) in 4-component vector of float g, layout( location=41) in 4-component vector of float h, layout( location=42) in 4-component vector of float i, layout( location=43) in 4-component vector of float j, layout( location=44) in 4-component vector of float k})
|
||||
0:? 'outVar2' (layout( location=4095 index=0) out 4-component vector of float)
|
||||
0:? 'outVar3' (layout( location=0 index=1) out 4-component vector of float)
|
||||
0:? 'outVar4' (layout( location=0 index=1) out 4-component vector of float)
|
||||
@ -165,7 +165,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'v20' ( smooth in 4-component vector of float)
|
||||
0:? 'v21' (layout( location=60) smooth in float)
|
||||
0:? 'v22' (layout( location=2) smooth in float)
|
||||
0:? 'anon@1' ( in block{layout( location=1 component=0) in float f1, layout( location=3) in float f2})
|
||||
0:? 'anon@1' ( in block{layout( location=1) in float f1, layout( location=3) in float f2})
|
||||
0:? 'uinst' (layout( location=1 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2})
|
||||
0:? 'v3' (layout( location=6) smooth in 4-component vector of float)
|
||||
0:? 'v4' ( smooth in 4-component vector of float)
|
||||
@ -173,12 +173,12 @@ ERROR: node is still EOpNull!
|
||||
0:? 'v6' (layout( location=30) smooth in 4-component vector of float)
|
||||
0:? 'v23' (layout( location=61) smooth in float)
|
||||
0:? 'v24' (layout( location=62) smooth in float)
|
||||
0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2, layout( location=26 component=0) in 4-component vector of float f3, layout( location=21) in structure{ global float f1, temp float f2} s2, layout( location=23 component=0) in 4-component vector of float f4, layout( location=24 component=0) in 4-component vector of float f5})
|
||||
0:? 'ininst2' ( in block{layout( location=28) in bool b1, layout( location=29) in float f1, layout( location=25) in float f2, layout( location=26) in 4-component vector of float f3, layout( location=21) in structure{ global float f1, temp float f2} s2, layout( location=23) in 4-component vector of float f4, layout( location=24) in 4-component vector of float f5})
|
||||
0:? 'uinst2' (layout( location=13 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2})
|
||||
0:? 'in3' ( in block{ in float f1, layout( location=40) in float f2})
|
||||
0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2})
|
||||
0:? 's' (layout( location=33) smooth in structure{ global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
|
||||
0:? 'anon@2' ( in block{layout( location=44 component=0) in 4-component vector of float d, layout( location=45 component=0) in 4-component vector of float e, layout( location=47) in 4-component vector of float f, layout( location=48 component=0) in 4-component vector of float g, layout( location=41) in 4-component vector of float h, layout( location=42 component=0) in 4-component vector of float i, layout( location=43 component=0) in 4-component vector of float j, layout( location=44 component=0) in 4-component vector of float k})
|
||||
0:? 'anon@2' ( in block{layout( location=44) in 4-component vector of float d, layout( location=45) in 4-component vector of float e, layout( location=47) in 4-component vector of float f, layout( location=48) in 4-component vector of float g, layout( location=41) in 4-component vector of float h, layout( location=42) in 4-component vector of float i, layout( location=43) in 4-component vector of float j, layout( location=44) in 4-component vector of float k})
|
||||
0:? 'outVar2' (layout( location=4095 index=0) out 4-component vector of float)
|
||||
0:? 'outVar3' (layout( location=0 index=1) out 4-component vector of float)
|
||||
0:? 'outVar4' (layout( location=0 index=1) out 4-component vector of float)
|
||||
|
21
3rdparty/glslang/Test/baseResults/400.frag.out
vendored
21
3rdparty/glslang/Test/baseResults/400.frag.out
vendored
@ -1,5 +1,4 @@
|
||||
400.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:18: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
|
||||
ERROR: 0:22: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
|
||||
ERROR: 0:23: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
|
||||
@ -34,8 +33,12 @@ ERROR: 0:183: 'textureQueryLod' : no matching overloaded function found
|
||||
ERROR: 0:183: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float'
|
||||
ERROR: 0:184: 'textureQueryLod' : no matching overloaded function found
|
||||
ERROR: 0:184: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float'
|
||||
ERROR: 0:197: '' : syntax error, unexpected PRECISE, expecting IDENTIFIER
|
||||
ERROR: 35 compilation errors. No code generated.
|
||||
ERROR: 0:197: 'subroutine' : feature not yet implemented
|
||||
ERROR: 0:197: '' : default qualifier requires 'uniform', 'buffer', 'in', or 'out' storage qualification
|
||||
ERROR: 0:198: 'subroutine' : feature not yet implemented
|
||||
ERROR: 0:199: 'subroutine' : feature not yet implemented
|
||||
ERROR: 0:201: '' : syntax error, unexpected PRECISE, expecting IDENTIFIER
|
||||
ERROR: 39 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 400
|
||||
@ -490,6 +493,18 @@ ERROR: node is still EOpNull!
|
||||
0:194 Convert int to uint ( temp uint)
|
||||
0:194 'i' ( flat in int)
|
||||
0:194 'uu' ( uniform uint)
|
||||
0:198 Function Definition: subT1( ( temp float)
|
||||
0:198 Function Parameters:
|
||||
0:198 Sequence
|
||||
0:198 Branch: Return with expression
|
||||
0:198 Constant:
|
||||
0:198 1.000000
|
||||
0:199 Function Definition: subT2( ( temp float)
|
||||
0:199 Function Parameters:
|
||||
0:199 Sequence
|
||||
0:199 Branch: Return with expression
|
||||
0:199 Constant:
|
||||
0:199 1.000000
|
||||
0:? Linker Objects
|
||||
0:? 'c2D' ( smooth in 2-component vector of float)
|
||||
0:? 'i' ( flat in int)
|
||||
|
@ -1,5 +1,4 @@
|
||||
400.geom
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:12: 'invocations' : can only apply to a standalone qualifier
|
||||
ERROR: 0:20: 'patch' : not supported in this stage: geometry
|
||||
ERROR: 0:20: 'gl_PointSize' : cannot add layout to redeclared block member
|
||||
|
@ -1,5 +1,4 @@
|
||||
400.tesc
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
|
@ -1,5 +1,4 @@
|
||||
400.tese
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
|
||||
ERROR: 0:5: 'triangles' : cannot change previously set input primitive
|
||||
ERROR: 0:6: 'isolines' : cannot change previously set input primitive
|
||||
|
@ -1,5 +1,4 @@
|
||||
400.vert
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:4: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:5: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
|
||||
|
@ -1,5 +1,4 @@
|
||||
410.geom
|
||||
Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name
|
||||
ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration
|
||||
ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
|
@ -1,5 +1,4 @@
|
||||
410.tesc
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
@ -1,6 +1,4 @@
|
||||
410.vert
|
||||
Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 410
|
||||
0:? Sequence
|
||||
0:7 Function Definition: main( ( global void)
|
||||
|
@ -1,5 +1,4 @@
|
||||
420.comp
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'gl_WorkGroupSize' : not supported for this version or the enabled extensions
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
420.frag
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:4: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
|
||||
ERROR: 0:11: 'layout qualifier' : can only apply depth layout to gl_FragDepth
|
||||
ERROR: 0:12: 'gl_FragDepth' : cannot redeclare after use
|
||||
WARNING: 0:14: 'atomic_uint' : implicitly sized atomic_uint array treated as having one element for tracking the default offset
|
||||
ERROR: 3 compilation errors. No code generated.
|
||||
ERROR: 0:14: 'atomic_uint' : array must be explicitly sized
|
||||
ERROR: 4 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 420
|
||||
|
@ -1,5 +1,4 @@
|
||||
420.geom
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:9: 'length' : array must first be sized by a redeclaration or layout qualifier
|
||||
ERROR: 0:11: '[' : array must be sized by a redeclaration or layout qualifier before being indexed with a variable
|
||||
ERROR: 0:42: 'assign' : l-value required (can't modify a const)
|
||||
|
@ -1,5 +1,4 @@
|
||||
420.tesc
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
|
||||
ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
|
||||
ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
|
||||
|
@ -1,5 +1,4 @@
|
||||
420.tese
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:7: '=' : cannot convert from ' const 3-element array of float' to ' global 2-element array of float'
|
||||
ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float
|
||||
ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float
|
||||
|
@ -1,5 +1,4 @@
|
||||
420.vert
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:2: '#version' : must occur first in shader
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
|
||||
@ -33,7 +32,7 @@ ERROR: 0:85: '' : vertex input cannot be further qualified
|
||||
ERROR: 0:86: 'patch' : not supported in this stage: vertex
|
||||
ERROR: 0:100: '=' : global const initializers must be constant ' const int'
|
||||
ERROR: 0:101: '' : array size must be a constant integer expression
|
||||
ERROR: 0:107: 'image variables declared 'writeonly' without a format layout qualifier' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:107: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:114: 'imageAtomicMin' : only supported on image with format r32i or r32ui
|
||||
ERROR: 0:115: 'imageAtomicMax' : no matching overloaded function found
|
||||
ERROR: 0:119: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter
|
||||
|
@ -1,5 +1,4 @@
|
||||
420_size_gl_in.geom
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
430.comp
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:4: 'local_size' : cannot change previously set size
|
||||
ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
|
||||
ERROR: 0:43: 'in' : global storage input qualifier cannot be used in a compute shader
|
||||
|
@ -1,5 +1,4 @@
|
||||
430.vert
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers
|
||||
ERROR: 0:7: 'input block' : not supported in this stage: vertex
|
||||
ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
|
||||
@ -233,7 +232,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'start2' ( const int)
|
||||
0:? 5 (const int)
|
||||
0:? 'v6' (layout( location=19) in 4-component vector of float)
|
||||
0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2})
|
||||
0:? 'ininst2' ( in block{layout( location=28) in bool b1, layout( location=29) in float f1, layout( location=25) in float f2})
|
||||
0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2})
|
||||
0:? 'bbinst2g' ( out block{layout( xfb_buffer=3 xfb_offset=64) out 4-component vector of float bbv})
|
||||
0:? 'bg' (layout( xfb_buffer=1 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float)
|
||||
@ -308,7 +307,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'start2' ( const int)
|
||||
0:? 5 (const int)
|
||||
0:? 'v6' (layout( location=19) in 4-component vector of float)
|
||||
0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2})
|
||||
0:? 'ininst2' ( in block{layout( location=28) in bool b1, layout( location=29) in float f1, layout( location=25) in float f2})
|
||||
0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2})
|
||||
0:? 'bbinst2g' ( out block{layout( xfb_buffer=3 xfb_offset=64) out 4-component vector of float bbv})
|
||||
0:? 'bg' (layout( xfb_buffer=1 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float)
|
||||
|
@ -1,5 +1,4 @@
|
||||
430AofA.frag
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized
|
||||
ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument
|
||||
ERROR: 0:15: 'constructor' : array constructor argument not correct type to construct array element
|
||||
|
@ -1,5 +1,4 @@
|
||||
430scope.vert
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:5: 'a' : redefinition
|
||||
ERROR: 0:17: 'b' : function name is redeclaration of existing name
|
||||
ERROR: 0:20: 'c' : redefinition
|
||||
|
@ -1,5 +1,4 @@
|
||||
440.frag
|
||||
Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:11: 'location' : overlapping use of location 4
|
||||
ERROR: 0:13: 'component' : type overflows the available 4 components
|
||||
ERROR: 0:22: 'location' : fragment outputs sharing the same location must be the same basic type 30
|
||||
|
@ -1,5 +1,4 @@
|
||||
440.vert
|
||||
Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:8: 'component' : type overflows the available 4 components
|
||||
ERROR: 0:15: 'component' : component is too large
|
||||
ERROR: 0:23: 'location' : overlapping use of location 4
|
||||
|
14
3rdparty/glslang/Test/baseResults/450.comp.out
vendored
14
3rdparty/glslang/Test/baseResults/450.comp.out
vendored
@ -1,18 +1,24 @@
|
||||
450.comp
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:2: 'local_size_x' : must be at least 1
|
||||
ERROR: 0:5: 'shared' : not allowed in nested scope
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:3 Function Definition: main( ( global void)
|
||||
0:3 Function Parameters:
|
||||
0:? Linker Objects
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
ERROR: Linking compute stage: Missing entry point: Each stage requires one entry point
|
||||
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:3 Function Definition: main( ( global void)
|
||||
0:3 Function Parameters:
|
||||
0:? Linker Objects
|
||||
|
||||
|
12
3rdparty/glslang/Test/baseResults/450.frag.out
vendored
12
3rdparty/glslang/Test/baseResults/450.frag.out
vendored
@ -1,8 +1,10 @@
|
||||
450.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:63: 'location' : cannot use in a block array where new locations are needed for each block element
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
@ -160,13 +162,15 @@ Shader version: 450
|
||||
0:? 'us2dmsa' ( uniform usampler2DMSArray)
|
||||
0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS)
|
||||
0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray)
|
||||
0:? 'bInst1' ( in block{layout( location=6) in float f, layout( location=7) in float g, layout( location=8) in 4X4 matrix of float m})
|
||||
0:? 'bInst2' ( in 3-element array of block{layout( location=12) in float f, layout( location=13) in float g})
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
@ -273,4 +277,6 @@ Shader version: 450
|
||||
0:? 'us2dmsa' ( uniform usampler2DMSArray)
|
||||
0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS)
|
||||
0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray)
|
||||
0:? 'bInst1' ( in block{layout( location=6) in float f, layout( location=7) in float g, layout( location=8) in 4X4 matrix of float m})
|
||||
0:? 'bInst2' ( in 3-element array of block{layout( location=12) in float f, layout( location=13) in float g})
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
450.geom
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:15: '[' : array index out of range '3'
|
||||
ERROR: 0:15: 'gl_Position' : no such field in structure
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
12
3rdparty/glslang/Test/baseResults/450.tesc.out
vendored
12
3rdparty/glslang/Test/baseResults/450.tesc.out
vendored
@ -1,9 +1,11 @@
|
||||
450.tesc
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:20: 'location' : cannot use in a block array where new locations are needed for each block element
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
vertices = -1
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
@ -30,6 +32,8 @@ vertices = -1
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'bInst1' ( out 2-element array of block{layout( location=4) out float f, layout( location=5) out float g})
|
||||
0:? 'bInst2' ( out 2-element array of 3-element array of block{layout( location=6) out float f, layout( location=7) out float g})
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
@ -38,7 +42,7 @@ ERROR: Linking tessellation control stage: At least one shader must specify an o
|
||||
|
||||
Shader version: 450
|
||||
vertices = -1
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
@ -65,4 +69,6 @@ vertices = -1
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'bInst1' ( out 2-element array of block{layout( location=4) out float f, layout( location=5) out float g})
|
||||
0:? 'bInst2' ( out 2-element array of 3-element array of block{layout( location=6) out float f, layout( location=7) out float g})
|
||||
|
||||
|
@ -1,6 +1,4 @@
|
||||
450.tese
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 450
|
||||
input primitive = none
|
||||
vertex spacing = none
|
||||
|
@ -1,5 +1,4 @@
|
||||
450.vert
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:12: 'out' : cannot be bool
|
||||
ERROR: 0:13: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
|
||||
ERROR: 0:27: '::' : not supported
|
||||
|
@ -1,5 +1,4 @@
|
||||
atomic_uint.frag
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:10: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
|
||||
ERROR: 0:12: 'return' : type does not match, or is not convertible to, the function's return type
|
||||
ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
|
||||
|
@ -1,5 +1,4 @@
|
||||
badMacroArgs.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:4: 'macro expansion' : Too few args in Macro m
|
||||
ERROR: 0:4: '' : compilation terminated
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
@ -1,5 +1,4 @@
|
||||
comment.frag
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment
|
||||
WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
constFold.frag
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:109: '[' : index out of range '-1'
|
||||
ERROR: 0:110: '[' : vector index out of range '4'
|
||||
ERROR: 0:111: '[' : index out of range '-2'
|
||||
|
@ -1,5 +1,4 @@
|
||||
cppSimple.vert
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:77: '#error' : good1
|
||||
ERROR: 0:81: '#error' : good2
|
||||
ERROR: 0:85: '#error' : good3
|
||||
@ -91,8 +90,10 @@ ERROR: 12:9504: '#if' : unexpected tokens following directive
|
||||
ERROR: 12:9506: '#error' : \ 377
|
||||
ERROR: 12:9507: '#error' : \ 376
|
||||
ERROR: 12:9508: '#error' : \ 377
|
||||
ERROR: 12:9602: 'defined' : cannot use in preprocessor expression when expanded from macros
|
||||
ERROR: 12:9603: '#error' : DEF_DEFINED then
|
||||
ERROR: 12:10002: '' : missing #endif
|
||||
ERROR: 88 compilation errors. No code generated.
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 400
|
||||
|
@ -1,6 +1,4 @@
|
||||
dce.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 400
|
||||
0:? Sequence
|
||||
0:5 Sequence
|
||||
|
@ -1,5 +1,4 @@
|
||||
functionSemantics.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:74: 'return' : cannot convert return value to function return type
|
||||
WARNING: 0:74: 'return' : type conversion on return values was not explicitly allowed until version 420
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
@ -1,6 +1,5 @@
|
||||
glspv.esversion.vert
|
||||
ERROR: #version: ES shaders for OpenGL SPIR-V are not supported
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
glspv.vert
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'push_constant' : only allowed when using GLSL for Vulkan
|
||||
ERROR: 0:6: 'descriptor set' : only allowed when using GLSL for Vulkan
|
||||
ERROR: 0:8: 'shared' : not allowed when generating SPIR-V
|
||||
|
69
3rdparty/glslang/Test/baseResults/hlsl.dashI.vert.out
vendored
Normal file
69
3rdparty/glslang/Test/baseResults/hlsl.dashI.vert.out
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
hlsl.dashI.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 40
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 38
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 9 "@main("
|
||||
Name 11 "$Global"
|
||||
MemberName 11($Global) 0 "i1"
|
||||
MemberName 11($Global) 1 "p1"
|
||||
MemberName 11($Global) 2 "p2"
|
||||
MemberName 11($Global) 3 "p3"
|
||||
MemberName 11($Global) 4 "i4"
|
||||
Name 13 ""
|
||||
Name 38 "@entryPointOutput"
|
||||
MemberDecorate 11($Global) 0 Offset 0
|
||||
MemberDecorate 11($Global) 1 Offset 16
|
||||
MemberDecorate 11($Global) 2 Offset 32
|
||||
MemberDecorate 11($Global) 3 Offset 48
|
||||
MemberDecorate 11($Global) 4 Offset 64
|
||||
Decorate 11($Global) Block
|
||||
Decorate 13 DescriptorSet 0
|
||||
Decorate 38(@entryPointOutput) BuiltIn Position
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeFunction 7(fvec4)
|
||||
11($Global): TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4)
|
||||
12: TypePointer Uniform 11($Global)
|
||||
13: 12(ptr) Variable Uniform
|
||||
14: TypeInt 32 1
|
||||
15: 14(int) Constant 0
|
||||
16: TypePointer Uniform 7(fvec4)
|
||||
19: 14(int) Constant 4
|
||||
23: 14(int) Constant 1
|
||||
27: 14(int) Constant 2
|
||||
31: 14(int) Constant 3
|
||||
37: TypePointer Output 7(fvec4)
|
||||
38(@entryPointOutput): 37(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
39: 7(fvec4) FunctionCall 9(@main()
|
||||
Store 38(@entryPointOutput) 39
|
||||
Return
|
||||
FunctionEnd
|
||||
9(@main(): 7(fvec4) Function None 8
|
||||
10: Label
|
||||
17: 16(ptr) AccessChain 13 15
|
||||
18: 7(fvec4) Load 17
|
||||
20: 16(ptr) AccessChain 13 19
|
||||
21: 7(fvec4) Load 20
|
||||
22: 7(fvec4) FAdd 18 21
|
||||
24: 16(ptr) AccessChain 13 23
|
||||
25: 7(fvec4) Load 24
|
||||
26: 7(fvec4) FAdd 22 25
|
||||
28: 16(ptr) AccessChain 13 27
|
||||
29: 7(fvec4) Load 28
|
||||
30: 7(fvec4) FAdd 26 29
|
||||
32: 16(ptr) AccessChain 13 31
|
||||
33: 7(fvec4) Load 32
|
||||
34: 7(fvec4) FAdd 30 33
|
||||
ReturnValue 34
|
||||
FunctionEnd
|
@ -110,6 +110,80 @@ gl_FragCoord origin is upper left
|
||||
0:11 'ii' ( temp int)
|
||||
0:12 Pre-Decrement ( temp float)
|
||||
0:12 'ii' ( temp float)
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp int)
|
||||
0:13 'first' ( temp int)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 move second child to first child ( temp int)
|
||||
0:13 'second' ( temp int)
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Loop with condition tested first
|
||||
0:13 No loop condition
|
||||
0:13 Loop Body
|
||||
0:13 add ( temp int)
|
||||
0:13 'first' ( temp int)
|
||||
0:13 'second' ( temp int)
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 move second child to first child ( temp int)
|
||||
0:14 'count' ( temp int)
|
||||
0:14 Convert float to int ( temp int)
|
||||
0:14 'ii' ( temp float)
|
||||
0:14 Loop with condition tested first
|
||||
0:14 Loop Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 'count' ( temp int)
|
||||
0:14 No loop body
|
||||
0:14 Loop Terminal Expression
|
||||
0:14 Post-Increment ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 'first' ( temp float)
|
||||
0:15 Constant:
|
||||
0:15 0.000000
|
||||
0:15 Loop with condition tested first
|
||||
0:15 Loop Condition
|
||||
0:15 Compare Less Than ( temp bool)
|
||||
0:15 'first' ( temp float)
|
||||
0:15 direct index ( temp float)
|
||||
0:15 'second' ( temp 2-element array of float)
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:15 Loop Body
|
||||
0:15 add ( temp float)
|
||||
0:15 add ( temp float)
|
||||
0:15 'first' ( temp float)
|
||||
0:15 direct index ( temp float)
|
||||
0:15 'second' ( temp 2-element array of float)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 'third' ( temp float)
|
||||
0:15 Loop Terminal Expression
|
||||
0:15 Pre-Increment ( temp float)
|
||||
0:15 direct index ( temp float)
|
||||
0:15 'second' ( temp 2-element array of float)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:? Sequence
|
||||
0:16 Comma ( temp float)
|
||||
0:16 Comma ( temp float)
|
||||
0:16 Pre-Decrement ( temp float)
|
||||
0:16 'ii' ( temp float)
|
||||
0:16 Pre-Decrement ( temp float)
|
||||
0:16 'ii' ( temp float)
|
||||
0:16 Pre-Decrement ( temp float)
|
||||
0:16 'ii' ( temp float)
|
||||
0:16 Loop with condition tested first
|
||||
0:16 No loop condition
|
||||
0:16 Loop Body
|
||||
0:16 'ii' ( temp float)
|
||||
0:2 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:? Sequence
|
||||
@ -239,6 +313,80 @@ gl_FragCoord origin is upper left
|
||||
0:11 'ii' ( temp int)
|
||||
0:12 Pre-Decrement ( temp float)
|
||||
0:12 'ii' ( temp float)
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp int)
|
||||
0:13 'first' ( temp int)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 move second child to first child ( temp int)
|
||||
0:13 'second' ( temp int)
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Loop with condition tested first
|
||||
0:13 No loop condition
|
||||
0:13 Loop Body
|
||||
0:13 add ( temp int)
|
||||
0:13 'first' ( temp int)
|
||||
0:13 'second' ( temp int)
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 move second child to first child ( temp int)
|
||||
0:14 'count' ( temp int)
|
||||
0:14 Convert float to int ( temp int)
|
||||
0:14 'ii' ( temp float)
|
||||
0:14 Loop with condition tested first
|
||||
0:14 Loop Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 'i' ( temp int)
|
||||
0:14 'count' ( temp int)
|
||||
0:14 No loop body
|
||||
0:14 Loop Terminal Expression
|
||||
0:14 Post-Increment ( temp int)
|
||||
0:14 'i' ( temp int)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp float)
|
||||
0:15 'first' ( temp float)
|
||||
0:15 Constant:
|
||||
0:15 0.000000
|
||||
0:15 Loop with condition tested first
|
||||
0:15 Loop Condition
|
||||
0:15 Compare Less Than ( temp bool)
|
||||
0:15 'first' ( temp float)
|
||||
0:15 direct index ( temp float)
|
||||
0:15 'second' ( temp 2-element array of float)
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:15 Loop Body
|
||||
0:15 add ( temp float)
|
||||
0:15 add ( temp float)
|
||||
0:15 'first' ( temp float)
|
||||
0:15 direct index ( temp float)
|
||||
0:15 'second' ( temp 2-element array of float)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 'third' ( temp float)
|
||||
0:15 Loop Terminal Expression
|
||||
0:15 Pre-Increment ( temp float)
|
||||
0:15 direct index ( temp float)
|
||||
0:15 'second' ( temp 2-element array of float)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:? Sequence
|
||||
0:16 Comma ( temp float)
|
||||
0:16 Comma ( temp float)
|
||||
0:16 Pre-Decrement ( temp float)
|
||||
0:16 'ii' ( temp float)
|
||||
0:16 Pre-Decrement ( temp float)
|
||||
0:16 'ii' ( temp float)
|
||||
0:16 Pre-Decrement ( temp float)
|
||||
0:16 'ii' ( temp float)
|
||||
0:16 Loop with condition tested first
|
||||
0:16 No loop condition
|
||||
0:16 Loop Body
|
||||
0:16 'ii' ( temp float)
|
||||
0:2 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:? Sequence
|
||||
@ -255,12 +403,12 @@ gl_FragCoord origin is upper left
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 124
|
||||
// Id's are bound by 183
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 117 120
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 176 179
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "PixelShaderFunction"
|
||||
@ -268,12 +416,19 @@ gl_FragCoord origin is upper left
|
||||
Name 10 "input"
|
||||
Name 92 "ii"
|
||||
Name 111 "ii"
|
||||
Name 115 "input"
|
||||
Name 117 "input"
|
||||
Name 120 "@entryPointOutput"
|
||||
Name 121 "param"
|
||||
Decorate 117(input) Location 0
|
||||
Decorate 120(@entryPointOutput) Location 0
|
||||
Name 114 "first"
|
||||
Name 116 "second"
|
||||
Name 124 "i"
|
||||
Name 125 "count"
|
||||
Name 138 "first"
|
||||
Name 149 "second"
|
||||
Name 157 "third"
|
||||
Name 174 "input"
|
||||
Name 176 "input"
|
||||
Name 179 "@entryPointOutput"
|
||||
Name 180 "param"
|
||||
Decorate 176(input) Location 0
|
||||
Decorate 179(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -293,20 +448,25 @@ gl_FragCoord origin is upper left
|
||||
100: 90(int) Constant 3
|
||||
103: 90(int) Constant 2
|
||||
109: 90(int) Constant 1
|
||||
116: TypePointer Input 7(fvec4)
|
||||
117(input): 116(ptr) Variable Input
|
||||
119: TypePointer Output 7(fvec4)
|
||||
120(@entryPointOutput): 119(ptr) Variable Output
|
||||
115: 90(int) Constant 0
|
||||
139: 6(float) Constant 0
|
||||
146: 71(int) Constant 2
|
||||
147: TypeArray 6(float) 146
|
||||
148: TypePointer Function 147
|
||||
175: TypePointer Input 7(fvec4)
|
||||
176(input): 175(ptr) Variable Input
|
||||
178: TypePointer Output 7(fvec4)
|
||||
179(@entryPointOutput): 178(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
115(input): 8(ptr) Variable Function
|
||||
121(param): 8(ptr) Variable Function
|
||||
118: 7(fvec4) Load 117(input)
|
||||
Store 115(input) 118
|
||||
122: 7(fvec4) Load 115(input)
|
||||
Store 121(param) 122
|
||||
123: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 121(param)
|
||||
Store 120(@entryPointOutput) 123
|
||||
174(input): 8(ptr) Variable Function
|
||||
180(param): 8(ptr) Variable Function
|
||||
177: 7(fvec4) Load 176(input)
|
||||
Store 174(input) 177
|
||||
181: 7(fvec4) Load 174(input)
|
||||
Store 180(param) 181
|
||||
182: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 180(param)
|
||||
Store 179(@entryPointOutput) 182
|
||||
Return
|
||||
FunctionEnd
|
||||
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
|
||||
@ -314,6 +474,13 @@ gl_FragCoord origin is upper left
|
||||
12: Label
|
||||
92(ii): 91(ptr) Variable Function
|
||||
111(ii): 73(ptr) Variable Function
|
||||
114(first): 91(ptr) Variable Function
|
||||
116(second): 91(ptr) Variable Function
|
||||
124(i): 91(ptr) Variable Function
|
||||
125(count): 91(ptr) Variable Function
|
||||
138(first): 73(ptr) Variable Function
|
||||
149(second): 148(ptr) Variable Function
|
||||
157(third): 73(ptr) Variable Function
|
||||
Branch 13
|
||||
13: Label
|
||||
LoopMerge 15 16 None
|
||||
@ -454,6 +621,85 @@ gl_FragCoord origin is upper left
|
||||
112: 6(float) Load 111(ii)
|
||||
113: 6(float) FSub 112 18
|
||||
Store 111(ii) 113
|
||||
114: 7(fvec4) Undef
|
||||
ReturnValue 114
|
||||
Store 114(first) 115
|
||||
Store 116(second) 109
|
||||
Branch 117
|
||||
117: Label
|
||||
LoopMerge 119 120 None
|
||||
Branch 118
|
||||
118: Label
|
||||
121: 90(int) Load 114(first)
|
||||
122: 90(int) Load 116(second)
|
||||
123: 90(int) IAdd 121 122
|
||||
Branch 120
|
||||
120: Label
|
||||
Branch 117
|
||||
119: Label
|
||||
Store 124(i) 115
|
||||
126: 6(float) Load 111(ii)
|
||||
127: 90(int) ConvertFToS 126
|
||||
Store 125(count) 127
|
||||
Branch 128
|
||||
128: Label
|
||||
LoopMerge 130 131 None
|
||||
Branch 132
|
||||
132: Label
|
||||
133: 90(int) Load 124(i)
|
||||
134: 90(int) Load 125(count)
|
||||
135: 32(bool) SLessThan 133 134
|
||||
BranchConditional 135 129 130
|
||||
129: Label
|
||||
Branch 131
|
||||
131: Label
|
||||
136: 90(int) Load 124(i)
|
||||
137: 90(int) IAdd 136 109
|
||||
Store 124(i) 137
|
||||
Branch 128
|
||||
130: Label
|
||||
Store 138(first) 139
|
||||
Branch 140
|
||||
140: Label
|
||||
LoopMerge 142 143 None
|
||||
Branch 144
|
||||
144: Label
|
||||
145: 6(float) Load 138(first)
|
||||
150: 73(ptr) AccessChain 149(second) 115
|
||||
151: 6(float) Load 150
|
||||
152: 32(bool) FOrdLessThan 145 151
|
||||
BranchConditional 152 141 142
|
||||
141: Label
|
||||
153: 6(float) Load 138(first)
|
||||
154: 73(ptr) AccessChain 149(second) 109
|
||||
155: 6(float) Load 154
|
||||
156: 6(float) FAdd 153 155
|
||||
158: 6(float) Load 157(third)
|
||||
159: 6(float) FAdd 156 158
|
||||
Branch 143
|
||||
143: Label
|
||||
160: 73(ptr) AccessChain 149(second) 109
|
||||
161: 6(float) Load 160
|
||||
162: 6(float) FAdd 161 18
|
||||
Store 160 162
|
||||
Branch 140
|
||||
142: Label
|
||||
163: 6(float) Load 111(ii)
|
||||
164: 6(float) FSub 163 18
|
||||
Store 111(ii) 164
|
||||
165: 6(float) Load 111(ii)
|
||||
166: 6(float) FSub 165 18
|
||||
Store 111(ii) 166
|
||||
167: 6(float) Load 111(ii)
|
||||
168: 6(float) FSub 167 18
|
||||
Store 111(ii) 168
|
||||
Branch 169
|
||||
169: Label
|
||||
LoopMerge 171 172 None
|
||||
Branch 170
|
||||
170: Label
|
||||
Branch 172
|
||||
172: Label
|
||||
Branch 169
|
||||
171: Label
|
||||
173: 7(fvec4) Undef
|
||||
ReturnValue 173
|
||||
FunctionEnd
|
||||
|
61
3rdparty/glslang/Test/baseResults/hlsl.pp.vert.out
vendored
Executable file
61
3rdparty/glslang/Test/baseResults/hlsl.pp.vert.out
vendored
Executable file
@ -0,0 +1,61 @@
|
||||
hlsl.pp.vert
|
||||
Shader version: 500
|
||||
0:? Sequence
|
||||
0:17 Function Definition: @main( ( temp void)
|
||||
0:17 Function Parameters:
|
||||
0:17 Function Definition: main( ( temp void)
|
||||
0:17 Function Parameters:
|
||||
0:? Sequence
|
||||
0:17 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int goodGlobal1, uniform int goodGlobal2})
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
0:? Sequence
|
||||
0:17 Function Definition: @main( ( temp void)
|
||||
0:17 Function Parameters:
|
||||
0:17 Function Definition: main( ( temp void)
|
||||
0:17 Function Parameters:
|
||||
0:? Sequence
|
||||
0:17 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int goodGlobal1, uniform int goodGlobal2})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 13
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main"
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 6 "@main("
|
||||
Name 10 "$Global"
|
||||
MemberName 10($Global) 0 "goodGlobal1"
|
||||
MemberName 10($Global) 1 "goodGlobal2"
|
||||
Name 12 ""
|
||||
MemberDecorate 10($Global) 0 Offset 0
|
||||
MemberDecorate 10($Global) 1 Offset 4
|
||||
Decorate 10($Global) Block
|
||||
Decorate 12 DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
9: TypeInt 32 1
|
||||
10($Global): TypeStruct 9(int) 9(int)
|
||||
11: TypePointer Uniform 10($Global)
|
||||
12: 11(ptr) Variable Uniform
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8: 2 FunctionCall 6(@main()
|
||||
Return
|
||||
FunctionEnd
|
||||
6(@main(): 2 Function None 3
|
||||
7: Label
|
||||
Return
|
||||
FunctionEnd
|
544
3rdparty/glslang/Test/baseResults/hlsl.texture.subvec4.frag.out
vendored
Normal file
544
3rdparty/glslang/Test/baseResults/hlsl.texture.subvec4.frag.out
vendored
Normal file
@ -0,0 +1,544 @@
|
||||
hlsl.texture.subvec4.frag
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:15 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:15 Function Parameters:
|
||||
0:? Sequence
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp 2-component vector of uint)
|
||||
0:24 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:24 textureSize ( temp 2-component vector of uint)
|
||||
0:24 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:24 move second child to first child ( temp uint)
|
||||
0:24 'WidthU' ( temp uint)
|
||||
0:24 direct index ( temp uint)
|
||||
0:24 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child ( temp uint)
|
||||
0:24 'HeightU' ( temp uint)
|
||||
0:24 direct index ( temp uint)
|
||||
0:24 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 move second child to first child ( temp uint)
|
||||
0:24 'NumberOfSamplesU' ( temp uint)
|
||||
0:24 imageQuerySamples ( temp uint)
|
||||
0:24 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp 2-component vector of uint)
|
||||
0:25 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:25 textureSize ( temp 2-component vector of uint)
|
||||
0:25 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:25 move second child to first child ( temp uint)
|
||||
0:25 'WidthU' ( temp uint)
|
||||
0:25 direct index ( temp uint)
|
||||
0:25 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 move second child to first child ( temp uint)
|
||||
0:25 'HeightU' ( temp uint)
|
||||
0:25 direct index ( temp uint)
|
||||
0:25 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 move second child to first child ( temp uint)
|
||||
0:25 'NumberOfSamplesU' ( temp uint)
|
||||
0:25 imageQuerySamples ( temp uint)
|
||||
0:25 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child ( temp 2-component vector of uint)
|
||||
0:26 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:26 textureSize ( temp 2-component vector of uint)
|
||||
0:26 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:26 move second child to first child ( temp uint)
|
||||
0:26 'WidthU' ( temp uint)
|
||||
0:26 direct index ( temp uint)
|
||||
0:26 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 move second child to first child ( temp uint)
|
||||
0:26 'HeightU' ( temp uint)
|
||||
0:26 direct index ( temp uint)
|
||||
0:26 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 move second child to first child ( temp uint)
|
||||
0:26 'NumberOfSamplesU' ( temp uint)
|
||||
0:26 imageQuerySamples ( temp uint)
|
||||
0:26 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child ( temp 2-component vector of uint)
|
||||
0:27 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:27 textureSize ( temp 2-component vector of uint)
|
||||
0:27 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:27 move second child to first child ( temp uint)
|
||||
0:27 'WidthU' ( temp uint)
|
||||
0:27 direct index ( temp uint)
|
||||
0:27 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 move second child to first child ( temp uint)
|
||||
0:27 'HeightU' ( temp uint)
|
||||
0:27 direct index ( temp uint)
|
||||
0:27 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:27 Constant:
|
||||
0:27 1 (const int)
|
||||
0:27 move second child to first child ( temp uint)
|
||||
0:27 'NumberOfSamplesU' ( temp uint)
|
||||
0:27 imageQuerySamples ( temp uint)
|
||||
0:27 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:29 Construct float ( temp float)
|
||||
0:? textureFetch ( temp 4-component vector of float)
|
||||
0:29 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:29 Constant:
|
||||
0:29 3 (const int)
|
||||
0:30 Construct vec2 ( temp 2-component vector of float)
|
||||
0:? textureFetch ( temp 4-component vector of float)
|
||||
0:30 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:30 Constant:
|
||||
0:30 3 (const int)
|
||||
0:31 Construct vec3 ( temp 3-component vector of float)
|
||||
0:? textureFetch ( temp 4-component vector of float)
|
||||
0:31 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:31 Constant:
|
||||
0:31 3 (const int)
|
||||
0:32 textureFetch ( temp 4-component vector of float)
|
||||
0:32 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:32 Constant:
|
||||
0:32 3 (const int)
|
||||
0:34 Construct float ( temp float)
|
||||
0:? texture ( temp 4-component vector of float)
|
||||
0:34 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:34 'g_tTex2df1' ( uniform texture2D)
|
||||
0:34 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:35 Construct vec2 ( temp 2-component vector of float)
|
||||
0:? texture ( temp 4-component vector of float)
|
||||
0:35 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:35 'g_tTex2df2' ( uniform texture2D)
|
||||
0:35 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:36 Construct vec3 ( temp 3-component vector of float)
|
||||
0:? texture ( temp 4-component vector of float)
|
||||
0:36 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:36 'g_tTex2df3' ( uniform texture2D)
|
||||
0:36 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:37 texture ( temp 4-component vector of float)
|
||||
0:37 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:37 'g_tTex2df4' ( uniform texture2D)
|
||||
0:37 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:39 Branch: Return with expression
|
||||
0:39 Constant:
|
||||
0:39 0.000000
|
||||
0:39 0.000000
|
||||
0:39 0.000000
|
||||
0:39 0.000000
|
||||
0:15 Function Definition: main( ( temp void)
|
||||
0:15 Function Parameters:
|
||||
0:? Sequence
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:15 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2df1' ( uniform texture2D)
|
||||
0:? 'g_tTex2df2' ( uniform texture2D)
|
||||
0:? 'g_tTex2df3' ( uniform texture2D)
|
||||
0:? 'g_tTex2df4' ( uniform texture2D)
|
||||
0:? 'g_sSamp' ( uniform sampler)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:15 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:15 Function Parameters:
|
||||
0:? Sequence
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child ( temp 2-component vector of uint)
|
||||
0:24 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:24 textureSize ( temp 2-component vector of uint)
|
||||
0:24 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:24 move second child to first child ( temp uint)
|
||||
0:24 'WidthU' ( temp uint)
|
||||
0:24 direct index ( temp uint)
|
||||
0:24 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child ( temp uint)
|
||||
0:24 'HeightU' ( temp uint)
|
||||
0:24 direct index ( temp uint)
|
||||
0:24 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 move second child to first child ( temp uint)
|
||||
0:24 'NumberOfSamplesU' ( temp uint)
|
||||
0:24 imageQuerySamples ( temp uint)
|
||||
0:24 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child ( temp 2-component vector of uint)
|
||||
0:25 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:25 textureSize ( temp 2-component vector of uint)
|
||||
0:25 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:25 move second child to first child ( temp uint)
|
||||
0:25 'WidthU' ( temp uint)
|
||||
0:25 direct index ( temp uint)
|
||||
0:25 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 move second child to first child ( temp uint)
|
||||
0:25 'HeightU' ( temp uint)
|
||||
0:25 direct index ( temp uint)
|
||||
0:25 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 move second child to first child ( temp uint)
|
||||
0:25 'NumberOfSamplesU' ( temp uint)
|
||||
0:25 imageQuerySamples ( temp uint)
|
||||
0:25 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child ( temp 2-component vector of uint)
|
||||
0:26 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:26 textureSize ( temp 2-component vector of uint)
|
||||
0:26 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:26 move second child to first child ( temp uint)
|
||||
0:26 'WidthU' ( temp uint)
|
||||
0:26 direct index ( temp uint)
|
||||
0:26 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 move second child to first child ( temp uint)
|
||||
0:26 'HeightU' ( temp uint)
|
||||
0:26 direct index ( temp uint)
|
||||
0:26 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 move second child to first child ( temp uint)
|
||||
0:26 'NumberOfSamplesU' ( temp uint)
|
||||
0:26 imageQuerySamples ( temp uint)
|
||||
0:26 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child ( temp 2-component vector of uint)
|
||||
0:27 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:27 textureSize ( temp 2-component vector of uint)
|
||||
0:27 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:27 move second child to first child ( temp uint)
|
||||
0:27 'WidthU' ( temp uint)
|
||||
0:27 direct index ( temp uint)
|
||||
0:27 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 move second child to first child ( temp uint)
|
||||
0:27 'HeightU' ( temp uint)
|
||||
0:27 direct index ( temp uint)
|
||||
0:27 'sizeQueryTemp' ( temp 2-component vector of uint)
|
||||
0:27 Constant:
|
||||
0:27 1 (const int)
|
||||
0:27 move second child to first child ( temp uint)
|
||||
0:27 'NumberOfSamplesU' ( temp uint)
|
||||
0:27 imageQuerySamples ( temp uint)
|
||||
0:27 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:29 Construct float ( temp float)
|
||||
0:? textureFetch ( temp 4-component vector of float)
|
||||
0:29 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:29 Constant:
|
||||
0:29 3 (const int)
|
||||
0:30 Construct vec2 ( temp 2-component vector of float)
|
||||
0:? textureFetch ( temp 4-component vector of float)
|
||||
0:30 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:30 Constant:
|
||||
0:30 3 (const int)
|
||||
0:31 Construct vec3 ( temp 3-component vector of float)
|
||||
0:? textureFetch ( temp 4-component vector of float)
|
||||
0:31 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:31 Constant:
|
||||
0:31 3 (const int)
|
||||
0:32 textureFetch ( temp 4-component vector of float)
|
||||
0:32 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 2 (const int)
|
||||
0:32 Constant:
|
||||
0:32 3 (const int)
|
||||
0:34 Construct float ( temp float)
|
||||
0:? texture ( temp 4-component vector of float)
|
||||
0:34 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:34 'g_tTex2df1' ( uniform texture2D)
|
||||
0:34 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:35 Construct vec2 ( temp 2-component vector of float)
|
||||
0:? texture ( temp 4-component vector of float)
|
||||
0:35 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:35 'g_tTex2df2' ( uniform texture2D)
|
||||
0:35 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:36 Construct vec3 ( temp 3-component vector of float)
|
||||
0:? texture ( temp 4-component vector of float)
|
||||
0:36 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:36 'g_tTex2df3' ( uniform texture2D)
|
||||
0:36 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:37 texture ( temp 4-component vector of float)
|
||||
0:37 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:37 'g_tTex2df4' ( uniform texture2D)
|
||||
0:37 'g_sSamp' ( uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:39 Branch: Return with expression
|
||||
0:39 Constant:
|
||||
0:39 0.000000
|
||||
0:39 0.000000
|
||||
0:39 0.000000
|
||||
0:39 0.000000
|
||||
0:15 Function Definition: main( ( temp void)
|
||||
0:15 Function Parameters:
|
||||
0:? Sequence
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:15 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'g_tTex2dmsf1' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf2' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf3' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf4' ( uniform texture2DMS)
|
||||
0:? 'g_tTex2df1' ( uniform texture2D)
|
||||
0:? 'g_tTex2df2' ( uniform texture2D)
|
||||
0:? 'g_tTex2df3' ( uniform texture2D)
|
||||
0:? 'g_tTex2df4' ( uniform texture2D)
|
||||
0:? 'g_sSamp' ( uniform sampler)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 130
|
||||
|
||||
Capability Shader
|
||||
Capability ImageQuery
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 128
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 9 "@main("
|
||||
Name 14 "sizeQueryTemp"
|
||||
Name 17 "g_tTex2dmsf1"
|
||||
Name 21 "WidthU"
|
||||
Name 25 "HeightU"
|
||||
Name 29 "NumberOfSamplesU"
|
||||
Name 32 "sizeQueryTemp"
|
||||
Name 33 "g_tTex2dmsf2"
|
||||
Name 42 "sizeQueryTemp"
|
||||
Name 43 "g_tTex2dmsf3"
|
||||
Name 52 "sizeQueryTemp"
|
||||
Name 53 "g_tTex2dmsf4"
|
||||
Name 88 "g_tTex2df1"
|
||||
Name 92 "g_sSamp"
|
||||
Name 101 "g_tTex2df2"
|
||||
Name 109 "g_tTex2df3"
|
||||
Name 118 "g_tTex2df4"
|
||||
Name 128 "@entryPointOutput"
|
||||
Decorate 17(g_tTex2dmsf1) DescriptorSet 0
|
||||
Decorate 33(g_tTex2dmsf2) DescriptorSet 0
|
||||
Decorate 43(g_tTex2dmsf3) DescriptorSet 0
|
||||
Decorate 53(g_tTex2dmsf4) DescriptorSet 0
|
||||
Decorate 88(g_tTex2df1) DescriptorSet 0
|
||||
Decorate 92(g_sSamp) DescriptorSet 0
|
||||
Decorate 101(g_tTex2df2) DescriptorSet 0
|
||||
Decorate 109(g_tTex2df3) DescriptorSet 0
|
||||
Decorate 118(g_tTex2df4) DescriptorSet 0
|
||||
Decorate 128(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeFunction 7(fvec4)
|
||||
11: TypeInt 32 0
|
||||
12: TypeVector 11(int) 2
|
||||
13: TypePointer Function 12(ivec2)
|
||||
15: TypeImage 6(float) 2D multi-sampled sampled format:Unknown
|
||||
16: TypePointer UniformConstant 15
|
||||
17(g_tTex2dmsf1): 16(ptr) Variable UniformConstant
|
||||
20: TypePointer Function 11(int)
|
||||
22: 11(int) Constant 0
|
||||
26: 11(int) Constant 1
|
||||
33(g_tTex2dmsf2): 16(ptr) Variable UniformConstant
|
||||
43(g_tTex2dmsf3): 16(ptr) Variable UniformConstant
|
||||
53(g_tTex2dmsf4): 16(ptr) Variable UniformConstant
|
||||
63: TypeInt 32 1
|
||||
64: TypeVector 63(int) 2
|
||||
65: 63(int) Constant 1
|
||||
66: 63(int) Constant 2
|
||||
67: 64(ivec2) ConstantComposite 65 66
|
||||
68: 63(int) Constant 3
|
||||
73: TypeVector 6(float) 2
|
||||
79: TypeVector 6(float) 3
|
||||
86: TypeImage 6(float) 2D sampled format:Unknown
|
||||
87: TypePointer UniformConstant 86
|
||||
88(g_tTex2df1): 87(ptr) Variable UniformConstant
|
||||
90: TypeSampler
|
||||
91: TypePointer UniformConstant 90
|
||||
92(g_sSamp): 91(ptr) Variable UniformConstant
|
||||
94: TypeSampledImage 86
|
||||
96: 6(float) Constant 1036831949
|
||||
97: 6(float) Constant 1045220557
|
||||
98: 73(fvec2) ConstantComposite 96 97
|
||||
101(g_tTex2df2): 87(ptr) Variable UniformConstant
|
||||
109(g_tTex2df3): 87(ptr) Variable UniformConstant
|
||||
118(g_tTex2df4): 87(ptr) Variable UniformConstant
|
||||
123: 6(float) Constant 0
|
||||
124: 7(fvec4) ConstantComposite 123 123 123 123
|
||||
127: TypePointer Output 7(fvec4)
|
||||
128(@entryPointOutput): 127(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
129: 7(fvec4) FunctionCall 9(@main()
|
||||
Store 128(@entryPointOutput) 129
|
||||
Return
|
||||
FunctionEnd
|
||||
9(@main(): 7(fvec4) Function None 8
|
||||
10: Label
|
||||
14(sizeQueryTemp): 13(ptr) Variable Function
|
||||
21(WidthU): 20(ptr) Variable Function
|
||||
25(HeightU): 20(ptr) Variable Function
|
||||
29(NumberOfSamplesU): 20(ptr) Variable Function
|
||||
32(sizeQueryTemp): 13(ptr) Variable Function
|
||||
42(sizeQueryTemp): 13(ptr) Variable Function
|
||||
52(sizeQueryTemp): 13(ptr) Variable Function
|
||||
18: 15 Load 17(g_tTex2dmsf1)
|
||||
19: 12(ivec2) ImageQuerySize 18
|
||||
Store 14(sizeQueryTemp) 19
|
||||
23: 20(ptr) AccessChain 14(sizeQueryTemp) 22
|
||||
24: 11(int) Load 23
|
||||
Store 21(WidthU) 24
|
||||
27: 20(ptr) AccessChain 14(sizeQueryTemp) 26
|
||||
28: 11(int) Load 27
|
||||
Store 25(HeightU) 28
|
||||
30: 15 Load 17(g_tTex2dmsf1)
|
||||
31: 11(int) ImageQuerySamples 30
|
||||
Store 29(NumberOfSamplesU) 31
|
||||
34: 15 Load 33(g_tTex2dmsf2)
|
||||
35: 12(ivec2) ImageQuerySize 34
|
||||
Store 32(sizeQueryTemp) 35
|
||||
36: 20(ptr) AccessChain 32(sizeQueryTemp) 22
|
||||
37: 11(int) Load 36
|
||||
Store 21(WidthU) 37
|
||||
38: 20(ptr) AccessChain 32(sizeQueryTemp) 26
|
||||
39: 11(int) Load 38
|
||||
Store 25(HeightU) 39
|
||||
40: 15 Load 33(g_tTex2dmsf2)
|
||||
41: 11(int) ImageQuerySamples 40
|
||||
Store 29(NumberOfSamplesU) 41
|
||||
44: 15 Load 43(g_tTex2dmsf3)
|
||||
45: 12(ivec2) ImageQuerySize 44
|
||||
Store 42(sizeQueryTemp) 45
|
||||
46: 20(ptr) AccessChain 42(sizeQueryTemp) 22
|
||||
47: 11(int) Load 46
|
||||
Store 21(WidthU) 47
|
||||
48: 20(ptr) AccessChain 42(sizeQueryTemp) 26
|
||||
49: 11(int) Load 48
|
||||
Store 25(HeightU) 49
|
||||
50: 15 Load 43(g_tTex2dmsf3)
|
||||
51: 11(int) ImageQuerySamples 50
|
||||
Store 29(NumberOfSamplesU) 51
|
||||
54: 15 Load 53(g_tTex2dmsf4)
|
||||
55: 12(ivec2) ImageQuerySize 54
|
||||
Store 52(sizeQueryTemp) 55
|
||||
56: 20(ptr) AccessChain 52(sizeQueryTemp) 22
|
||||
57: 11(int) Load 56
|
||||
Store 21(WidthU) 57
|
||||
58: 20(ptr) AccessChain 52(sizeQueryTemp) 26
|
||||
59: 11(int) Load 58
|
||||
Store 25(HeightU) 59
|
||||
60: 15 Load 53(g_tTex2dmsf4)
|
||||
61: 11(int) ImageQuerySamples 60
|
||||
Store 29(NumberOfSamplesU) 61
|
||||
62: 15 Load 17(g_tTex2dmsf1)
|
||||
69: 7(fvec4) ImageFetch 62 67 Sample 68
|
||||
70: 6(float) CompositeExtract 69 0
|
||||
71: 15 Load 33(g_tTex2dmsf2)
|
||||
72: 7(fvec4) ImageFetch 71 67 Sample 68
|
||||
74: 6(float) CompositeExtract 72 0
|
||||
75: 6(float) CompositeExtract 72 1
|
||||
76: 73(fvec2) CompositeConstruct 74 75
|
||||
77: 15 Load 43(g_tTex2dmsf3)
|
||||
78: 7(fvec4) ImageFetch 77 67 Sample 68
|
||||
80: 6(float) CompositeExtract 78 0
|
||||
81: 6(float) CompositeExtract 78 1
|
||||
82: 6(float) CompositeExtract 78 2
|
||||
83: 79(fvec3) CompositeConstruct 80 81 82
|
||||
84: 15 Load 53(g_tTex2dmsf4)
|
||||
85: 7(fvec4) ImageFetch 84 67 Sample 68
|
||||
89: 86 Load 88(g_tTex2df1)
|
||||
93: 90 Load 92(g_sSamp)
|
||||
95: 94 SampledImage 89 93
|
||||
99: 7(fvec4) ImageSampleImplicitLod 95 98
|
||||
100: 6(float) CompositeExtract 99 0
|
||||
102: 86 Load 101(g_tTex2df2)
|
||||
103: 90 Load 92(g_sSamp)
|
||||
104: 94 SampledImage 102 103
|
||||
105: 7(fvec4) ImageSampleImplicitLod 104 98
|
||||
106: 6(float) CompositeExtract 105 0
|
||||
107: 6(float) CompositeExtract 105 1
|
||||
108: 73(fvec2) CompositeConstruct 106 107
|
||||
110: 86 Load 109(g_tTex2df3)
|
||||
111: 90 Load 92(g_sSamp)
|
||||
112: 94 SampledImage 110 111
|
||||
113: 7(fvec4) ImageSampleImplicitLod 112 98
|
||||
114: 6(float) CompositeExtract 113 0
|
||||
115: 6(float) CompositeExtract 113 1
|
||||
116: 6(float) CompositeExtract 113 2
|
||||
117: 79(fvec3) CompositeConstruct 114 115 116
|
||||
119: 86 Load 118(g_tTex2df4)
|
||||
120: 90 Load 92(g_sSamp)
|
||||
121: 94 SampledImage 119 120
|
||||
122: 7(fvec4) ImageSampleImplicitLod 121 98
|
||||
ReturnValue 124
|
||||
FunctionEnd
|
@ -6,42 +6,70 @@ gl_FragCoord origin is upper left
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child ( temp mediump float)
|
||||
0:4 'h0' ( temp mediump float)
|
||||
0:4 move second child to first child ( temp float)
|
||||
0:4 'h0' ( temp float)
|
||||
0:4 Constant:
|
||||
0:4 0.000000
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child ( temp mediump 1-component vector of float)
|
||||
0:5 'h1' ( temp mediump 1-component vector of float)
|
||||
0:5 move second child to first child ( temp 1-component vector of float)
|
||||
0:5 'h1' ( temp 1-component vector of float)
|
||||
0:5 Constant:
|
||||
0:5 1.000000
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:6 'h2' ( temp mediump 2-component vector of float)
|
||||
0:6 move second child to first child ( temp 2-component vector of float)
|
||||
0:6 'h2' ( temp 2-component vector of float)
|
||||
0:6 Constant:
|
||||
0:6 2.000000
|
||||
0:6 2.000000
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp mediump 3-component vector of float)
|
||||
0:7 'h3' ( temp mediump 3-component vector of float)
|
||||
0:7 move second child to first child ( temp 3-component vector of float)
|
||||
0:7 'h3' ( temp 3-component vector of float)
|
||||
0:7 Constant:
|
||||
0:7 3.000000
|
||||
0:7 3.000000
|
||||
0:7 3.000000
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:8 'h4' ( temp mediump 4-component vector of float)
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 'h4' ( temp 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 4.000000
|
||||
0:8 4.000000
|
||||
0:8 4.000000
|
||||
0:8 4.000000
|
||||
0:10 Branch: Return with expression
|
||||
0:10 Constant:
|
||||
0:10 0.000000
|
||||
0:10 0.000000
|
||||
0:10 0.000000
|
||||
0:10 0.000000
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp 2X2 matrix of float)
|
||||
0:15 'h22' ( temp 2X2 matrix of float)
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 2X3 matrix of float)
|
||||
0:16 'h23' ( temp 2X3 matrix of float)
|
||||
0:16 Constant:
|
||||
0:16 4.900000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 4.900000
|
||||
0:16 0.000000
|
||||
0:27 Branch: Return with expression
|
||||
0:27 Construct vec4 ( temp 4-component vector of float)
|
||||
0:27 add ( temp float)
|
||||
0:27 add ( temp float)
|
||||
0:27 direct index ( temp float)
|
||||
0:27 direct index ( temp 3-component vector of float)
|
||||
0:27 'h23' ( temp 2X3 matrix of float)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 direct index ( temp float)
|
||||
0:27 'h4' ( temp 4-component vector of float)
|
||||
0:27 Constant:
|
||||
0:27 1 (const int)
|
||||
0:27 'h0' ( temp float)
|
||||
0:3 Function Definition: main( ( temp void)
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
@ -62,42 +90,70 @@ gl_FragCoord origin is upper left
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child ( temp mediump float)
|
||||
0:4 'h0' ( temp mediump float)
|
||||
0:4 move second child to first child ( temp float)
|
||||
0:4 'h0' ( temp float)
|
||||
0:4 Constant:
|
||||
0:4 0.000000
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child ( temp mediump 1-component vector of float)
|
||||
0:5 'h1' ( temp mediump 1-component vector of float)
|
||||
0:5 move second child to first child ( temp 1-component vector of float)
|
||||
0:5 'h1' ( temp 1-component vector of float)
|
||||
0:5 Constant:
|
||||
0:5 1.000000
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp mediump 2-component vector of float)
|
||||
0:6 'h2' ( temp mediump 2-component vector of float)
|
||||
0:6 move second child to first child ( temp 2-component vector of float)
|
||||
0:6 'h2' ( temp 2-component vector of float)
|
||||
0:6 Constant:
|
||||
0:6 2.000000
|
||||
0:6 2.000000
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child ( temp mediump 3-component vector of float)
|
||||
0:7 'h3' ( temp mediump 3-component vector of float)
|
||||
0:7 move second child to first child ( temp 3-component vector of float)
|
||||
0:7 'h3' ( temp 3-component vector of float)
|
||||
0:7 Constant:
|
||||
0:7 3.000000
|
||||
0:7 3.000000
|
||||
0:7 3.000000
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp mediump 4-component vector of float)
|
||||
0:8 'h4' ( temp mediump 4-component vector of float)
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 'h4' ( temp 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 4.000000
|
||||
0:8 4.000000
|
||||
0:8 4.000000
|
||||
0:8 4.000000
|
||||
0:10 Branch: Return with expression
|
||||
0:10 Constant:
|
||||
0:10 0.000000
|
||||
0:10 0.000000
|
||||
0:10 0.000000
|
||||
0:10 0.000000
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp 2X2 matrix of float)
|
||||
0:15 'h22' ( temp 2X2 matrix of float)
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 2X3 matrix of float)
|
||||
0:16 'h23' ( temp 2X3 matrix of float)
|
||||
0:16 Constant:
|
||||
0:16 4.900000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 0.000000
|
||||
0:16 4.900000
|
||||
0:16 0.000000
|
||||
0:27 Branch: Return with expression
|
||||
0:27 Construct vec4 ( temp 4-component vector of float)
|
||||
0:27 add ( temp float)
|
||||
0:27 add ( temp float)
|
||||
0:27 direct index ( temp float)
|
||||
0:27 direct index ( temp 3-component vector of float)
|
||||
0:27 'h23' ( temp 2X3 matrix of float)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 Constant:
|
||||
0:27 0 (const int)
|
||||
0:27 direct index ( temp float)
|
||||
0:27 'h4' ( temp 4-component vector of float)
|
||||
0:27 Constant:
|
||||
0:27 1 (const int)
|
||||
0:27 'h0' ( temp float)
|
||||
0:3 Function Definition: main( ( temp void)
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
@ -109,12 +165,12 @@ gl_FragCoord origin is upper left
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 36
|
||||
// Id's are bound by 61
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 34
|
||||
EntryPoint Fragment 4 "main" 59
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -124,13 +180,10 @@ gl_FragCoord origin is upper left
|
||||
Name 18 "h2"
|
||||
Name 23 "h3"
|
||||
Name 27 "h4"
|
||||
Name 34 "@entryPointOutput"
|
||||
Decorate 12(h0) RelaxedPrecision
|
||||
Decorate 14(h1) RelaxedPrecision
|
||||
Decorate 18(h2) RelaxedPrecision
|
||||
Decorate 23(h3) RelaxedPrecision
|
||||
Decorate 27(h4) RelaxedPrecision
|
||||
Decorate 34(@entryPointOutput) Location 0
|
||||
Name 32 "h22"
|
||||
Name 38 "h23"
|
||||
Name 59 "@entryPointOutput"
|
||||
Decorate 59(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -150,13 +203,28 @@ gl_FragCoord origin is upper left
|
||||
26: TypePointer Function 7(fvec4)
|
||||
28: 6(float) Constant 1082130432
|
||||
29: 7(fvec4) ConstantComposite 28 28 28 28
|
||||
30: 7(fvec4) ConstantComposite 13 13 13 13
|
||||
33: TypePointer Output 7(fvec4)
|
||||
34(@entryPointOutput): 33(ptr) Variable Output
|
||||
30: TypeMatrix 16(fvec2) 2
|
||||
31: TypePointer Function 30
|
||||
33: 16(fvec2) ConstantComposite 15 19
|
||||
34: 16(fvec2) ConstantComposite 24 28
|
||||
35: 30 ConstantComposite 33 34
|
||||
36: TypeMatrix 21(fvec3) 2
|
||||
37: TypePointer Function 36
|
||||
39: 6(float) Constant 1084017869
|
||||
40: 21(fvec3) ConstantComposite 39 13 13
|
||||
41: 21(fvec3) ConstantComposite 13 39 13
|
||||
42: 36 ConstantComposite 40 41
|
||||
43: TypeInt 32 1
|
||||
44: 43(int) Constant 0
|
||||
45: TypeInt 32 0
|
||||
46: 45(int) Constant 0
|
||||
49: 45(int) Constant 1
|
||||
58: TypePointer Output 7(fvec4)
|
||||
59(@entryPointOutput): 58(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
35: 7(fvec4) FunctionCall 9(@main()
|
||||
Store 34(@entryPointOutput) 35
|
||||
60: 7(fvec4) FunctionCall 9(@main()
|
||||
Store 59(@entryPointOutput) 60
|
||||
Return
|
||||
FunctionEnd
|
||||
9(@main(): 7(fvec4) Function None 8
|
||||
@ -166,10 +234,22 @@ gl_FragCoord origin is upper left
|
||||
18(h2): 17(ptr) Variable Function
|
||||
23(h3): 22(ptr) Variable Function
|
||||
27(h4): 26(ptr) Variable Function
|
||||
32(h22): 31(ptr) Variable Function
|
||||
38(h23): 37(ptr) Variable Function
|
||||
Store 12(h0) 13
|
||||
Store 14(h1) 15
|
||||
Store 18(h2) 20
|
||||
Store 23(h3) 25
|
||||
Store 27(h4) 29
|
||||
ReturnValue 30
|
||||
Store 32(h22) 35
|
||||
Store 38(h23) 42
|
||||
47: 11(ptr) AccessChain 38(h23) 44 46
|
||||
48: 6(float) Load 47
|
||||
50: 11(ptr) AccessChain 27(h4) 49
|
||||
51: 6(float) Load 50
|
||||
52: 6(float) FAdd 48 51
|
||||
53: 6(float) Load 12(h0)
|
||||
54: 6(float) FAdd 52 53
|
||||
55: 7(fvec4) CompositeConstruct 54 54 54 54
|
||||
ReturnValue 55
|
||||
FunctionEnd
|
||||
|
@ -50,8 +50,8 @@ gl_FragCoord origin is upper left
|
||||
0:15 'min10float' ( temp mediump float)
|
||||
0:15 'min16float' ( temp mediump float)
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp mediump float)
|
||||
0:16 'half' ( temp mediump float)
|
||||
0:16 move second child to first child ( temp float)
|
||||
0:16 'half' ( temp float)
|
||||
0:16 Constant:
|
||||
0:16 0.500000
|
||||
0:? Sequence
|
||||
@ -99,9 +99,17 @@ gl_FragCoord origin is upper left
|
||||
0:25 'float' ( temp mediump float)
|
||||
0:25 Function Call: fn(f1; ( temp mediump float)
|
||||
0:25 'float' ( temp mediump float)
|
||||
0:27 Branch: Return with expression
|
||||
0:27 Construct vec4 ( temp 4-component vector of float)
|
||||
0:27 'float' ( temp float)
|
||||
0:29 Branch: Return with expression
|
||||
0:29 Construct vec4 ( temp 4-component vector of float)
|
||||
0:29 add ( temp float)
|
||||
0:29 'float' ( temp float)
|
||||
0:29 direct index ( temp float)
|
||||
0:29 direct index ( temp 3-component vector of float)
|
||||
0:29 'half2x3' ( temp 2X3 matrix of float)
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:9 Function Definition: main( ( temp void)
|
||||
0:9 Function Parameters:
|
||||
0:? Sequence
|
||||
@ -166,8 +174,8 @@ gl_FragCoord origin is upper left
|
||||
0:15 'min10float' ( temp mediump float)
|
||||
0:15 'min16float' ( temp mediump float)
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp mediump float)
|
||||
0:16 'half' ( temp mediump float)
|
||||
0:16 move second child to first child ( temp float)
|
||||
0:16 'half' ( temp float)
|
||||
0:16 Constant:
|
||||
0:16 0.500000
|
||||
0:? Sequence
|
||||
@ -215,9 +223,17 @@ gl_FragCoord origin is upper left
|
||||
0:25 'float' ( temp mediump float)
|
||||
0:25 Function Call: fn(f1; ( temp mediump float)
|
||||
0:25 'float' ( temp mediump float)
|
||||
0:27 Branch: Return with expression
|
||||
0:27 Construct vec4 ( temp 4-component vector of float)
|
||||
0:27 'float' ( temp float)
|
||||
0:29 Branch: Return with expression
|
||||
0:29 Construct vec4 ( temp 4-component vector of float)
|
||||
0:29 add ( temp float)
|
||||
0:29 'float' ( temp float)
|
||||
0:29 direct index ( temp float)
|
||||
0:29 direct index ( temp 3-component vector of float)
|
||||
0:29 'half2x3' ( temp 2X3 matrix of float)
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:9 Function Definition: main( ( temp void)
|
||||
0:9 Function Parameters:
|
||||
0:? Sequence
|
||||
@ -229,12 +245,12 @@ gl_FragCoord origin is upper left
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 97
|
||||
// Id's are bound by 105
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 95
|
||||
EntryPoint Fragment 4 "main" 103
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
@ -252,13 +268,13 @@ gl_FragCoord origin is upper left
|
||||
MemberName 56(foo_t) 0 "float"
|
||||
Name 58 "float"
|
||||
Name 86 "param"
|
||||
Name 95 "@entryPointOutput"
|
||||
Name 94 "half2x3"
|
||||
Name 103 "@entryPointOutput"
|
||||
Decorate 49(min16float) RelaxedPrecision
|
||||
Decorate 50 RelaxedPrecision
|
||||
Decorate 51 RelaxedPrecision
|
||||
Decorate 52(min10float) RelaxedPrecision
|
||||
Decorate 53 RelaxedPrecision
|
||||
Decorate 54(half) RelaxedPrecision
|
||||
Decorate 64 RelaxedPrecision
|
||||
Decorate 65 RelaxedPrecision
|
||||
Decorate 66 RelaxedPrecision
|
||||
@ -278,7 +294,7 @@ gl_FragCoord origin is upper left
|
||||
Decorate 87 RelaxedPrecision
|
||||
Decorate 88 RelaxedPrecision
|
||||
Decorate 89 RelaxedPrecision
|
||||
Decorate 95(@entryPointOutput) Location 0
|
||||
Decorate 103(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -303,12 +319,16 @@ gl_FragCoord origin is upper left
|
||||
56(foo_t): TypeStruct 6(float)
|
||||
57: TypePointer Function 56(foo_t)
|
||||
59: 6(float) Constant 1109917696
|
||||
94: TypePointer Output 12(fvec4)
|
||||
95(@entryPointOutput): 94(ptr) Variable Output
|
||||
91: TypeVector 6(float) 3
|
||||
92: TypeMatrix 91(fvec3) 2
|
||||
93: TypePointer Function 92
|
||||
95: 22(int) Constant 0
|
||||
102: TypePointer Output 12(fvec4)
|
||||
103(@entryPointOutput): 102(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
96: 12(fvec4) FunctionCall 14(@main()
|
||||
Store 95(@entryPointOutput) 96
|
||||
104: 12(fvec4) FunctionCall 14(@main()
|
||||
Store 103(@entryPointOutput) 104
|
||||
Return
|
||||
FunctionEnd
|
||||
10(fn(f1;): 6(float) Function None 8
|
||||
@ -329,6 +349,7 @@ gl_FragCoord origin is upper left
|
||||
58(float): 57(ptr) Variable Function
|
||||
75: 7(ptr) Variable Function
|
||||
86(param): 7(ptr) Variable Function
|
||||
94(half2x3): 93(ptr) Variable Function
|
||||
Store 19(float) 20
|
||||
27: 6(float) Load 19(float)
|
||||
29: 21(bool) FOrdNotEqual 27 28
|
||||
@ -391,6 +412,9 @@ gl_FragCoord origin is upper left
|
||||
89: 6(float) FAdd 85 88
|
||||
Store 19(float) 89
|
||||
90: 6(float) Load 19(float)
|
||||
91: 12(fvec4) CompositeConstruct 90 90 90 90
|
||||
ReturnValue 91
|
||||
96: 7(ptr) AccessChain 94(half2x3) 40 95
|
||||
97: 6(float) Load 96
|
||||
98: 6(float) FAdd 90 97
|
||||
99: 12(fvec4) CompositeConstruct 98 98 98 98
|
||||
ReturnValue 99
|
||||
FunctionEnd
|
||||
|
@ -1,6 +1,4 @@
|
||||
include.vert
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 450
|
||||
Requested GL_GOOGLE_cpp_style_line_directive
|
||||
Requested GL_GOOGLE_include_directive
|
||||
|
@ -1,6 +1,4 @@
|
||||
link1.vk.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
@ -14,8 +12,6 @@ gl_FragCoord origin is upper left
|
||||
0:? 'color' ( out highp 4-component vector of float)
|
||||
|
||||
link2.vk.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
|
@ -1,6 +1,4 @@
|
||||
missingBodies.vert
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
0:4 Function Definition: foo( ( global void)
|
||||
|
@ -1,5 +1,4 @@
|
||||
negativeArraySize.comp
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:9: '' : array size must be a positive integer
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
@ -1,6 +1,4 @@
|
||||
newTexture.frag
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 430
|
||||
0:? Sequence
|
||||
0:36 Function Definition: main( ( global void)
|
||||
|
@ -1,5 +1,4 @@
|
||||
nonVulkan.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:3: 'constant_id' : only allowed when generating SPIR-V
|
||||
ERROR: 0:4: 'input_attachment_index' : only allowed when using GLSL for Vulkan
|
||||
ERROR: 0:4: 'input_attachment_index' : can only be used with a subpass
|
||||
|
@ -1,5 +1,4 @@
|
||||
numeral.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:14: '' : octal literal digit too large
|
||||
ERROR: 0:15: '' : octal literal digit too large
|
||||
ERROR: 0:16: '' : octal literal digit too large
|
||||
|
@ -1,6 +1,4 @@
|
||||
precise.tesc
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 450
|
||||
Requested GL_EXT_gpu_shader5
|
||||
Requested GL_EXT_shader_io_blocks
|
||||
|
@ -1,6 +1,4 @@
|
||||
precise_struct_block.vert
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
0:11 Function Definition: struct_member( ( global float)
|
||||
|
@ -1,2 +0,0 @@
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
@ -1,4 +1,3 @@
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:9: '#error' : This should show up in pp output .
|
||||
ERROR: 0:14: '#' : invalid directive: def
|
||||
ERROR: 0:15: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile Y
|
||||
|
@ -1,3 +1,2 @@
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
WARNING: 0:6: '#extension' : extension not supported: GL_EXT_shader_texture_image_samples
|
||||
|
||||
|
@ -1,2 +0,0 @@
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
@ -1,2 +0,0 @@
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
@ -1,2 +0,0 @@
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
@ -1,2 +0,0 @@
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
@ -1,6 +1,4 @@
|
||||
reflection.vert
|
||||
Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
Uniform reflection:
|
||||
image_ui2D: offset -1, type 9063, size 1, index -1, binding -1
|
||||
sampler_2D: offset -1, type 8b5e, size 1, index -1, binding -1
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.basic.dcefunc.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 22
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.basic.everything.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 24969
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.basic.none.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 22
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.basic.strip.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 22
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.if.everything.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 22855
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.if.none.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 25
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.similar_1a.everything.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 24916
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.similar_1a.none.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 86
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.similar_1b.everything.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 24916
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.similar_1b.none.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 91
|
||||
|
@ -1,6 +1,4 @@
|
||||
remap.specconst.comp
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 16104
|
||||
|
@ -1,5 +1,4 @@
|
||||
remap.switch.everything.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
WARNING: 0:5: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
|
||||
"precision mediump int; precision highp float;"
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
remap.switch.none.frag
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
WARNING: 0:5: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
|
||||
"precision mediump int; precision highp float;"
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
specExamples.frag
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:6: '=' : cannot convert from ' const uint' to ' global int'
|
||||
ERROR: 0:20: '' : numeric literal too big
|
||||
ERROR: 0:21: '' : hexadecimal literal too big
|
||||
|
@ -1,5 +1,4 @@
|
||||
specExamples.vert
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:29: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers
|
||||
ERROR: 0:31: 'triangles' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
ERROR: 0:31: 'invocations' : there is no such layout identifier for this stage taking an assigned value
|
||||
|
@ -1,6 +1,4 @@
|
||||
spv.100ops.frag
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 49
|
||||
|
@ -1,6 +1,4 @@
|
||||
spv.300BuiltIns.vert
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 42
|
||||
|
@ -1,6 +1,4 @@
|
||||
spv.300layout.frag
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 37
|
||||
|
@ -1,6 +1,4 @@
|
||||
spv.300layout.vert
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 163
|
||||
|
@ -1,6 +1,4 @@
|
||||
spv.300layoutp.vert
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 115
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user