Commit 5e4b1242 by John Kessenich

Move to revision 31 of SPIR-V.

parent e24a74c3
......@@ -10,7 +10,8 @@ set(SOURCES
disassemble.cpp)
set(HEADERS
spirv.h
spirv.hpp
GLSL.std.450.h
GlslangToSpv.h
SpvBuilder.h
SPVRemapper.h
......
This diff is collapsed. Click to expand it.
......@@ -82,6 +82,8 @@ namespace spv {
case spv::OpTypeFloat: // fall through...
case spv::OpTypePointer: return range_t(2, 3);
case spv::OpTypeInt: return range_t(2, 4);
// TODO: case spv::OpTypeImage:
// TODO: case spv::OpTypeSampledImage:
case spv::OpTypeSampler: return range_t(3, 8);
case spv::OpTypeVector: // fall through
case spv::OpTypeMatrix: // ...
......@@ -164,8 +166,8 @@ namespace spv {
case spv::OpTypeFloat:
case spv::OpTypeVector:
case spv::OpTypeMatrix:
case spv::OpTypeImage:
case spv::OpTypeSampler:
case spv::OpTypeFilter:
case spv::OpTypeArray:
case spv::OpTypeRuntimeArray:
case spv::OpTypeStruct:
......@@ -184,12 +186,11 @@ namespace spv {
bool spirvbin_t::isConstOp(spv::Op opCode) const
{
switch (opCode) {
case spv::OpConstantNullObject: error("unimplemented constant type");
case spv::OpConstantNull: error("unimplemented constant type");
case spv::OpConstantSampler: error("unimplemented constant type");
case spv::OpConstantTrue:
case spv::OpConstantFalse:
case spv::OpConstantNullPointer:
case spv::OpConstantComposite:
case spv::OpConstant: return true;
default: return false;
......@@ -486,7 +487,7 @@ namespace spv {
case spv::OperandFunction:
case spv::OperandMemorySemantics:
case spv::OperandMemoryAccess:
case spv::OperandExecutionScope:
case spv::OperandScope:
case spv::OperandGroupOperation:
case spv::OperandKernelEnqueueFlags:
case spv::OperandKernelProfilingInfo:
......@@ -610,19 +611,14 @@ namespace spv {
fnId = asId(start + 2);
break;
case spv::OpTextureSample:
case spv::OpTextureSampleDref:
case spv::OpTextureSampleLod:
case spv::OpTextureSampleProj:
case spv::OpTextureSampleGrad:
case spv::OpTextureSampleOffset:
case spv::OpTextureSampleProjLod:
case spv::OpTextureSampleProjGrad:
case spv::OpTextureSampleLodOffset:
case spv::OpTextureSampleProjOffset:
case spv::OpTextureSampleGradOffset:
case spv::OpTextureSampleProjLodOffset:
case spv::OpTextureSampleProjGradOffset:
case spv::OpImageSampleImplicitLod:
case spv::OpImageSampleExplicitLod:
case spv::OpImageSampleDrefImplicitLod:
case spv::OpImageSampleDrefExplicitLod:
case spv::OpImageSampleProjImplicitLod:
case spv::OpImageSampleProjExplicitLod:
case spv::OpImageSampleProjDrefImplicitLod:
case spv::OpImageSampleProjDrefExplicitLod:
case spv::OpDot:
case spv::OpCompositeExtract:
case spv::OpCompositeInsert:
......@@ -668,7 +664,7 @@ namespace spv {
process(
[&](spv::Op opCode, unsigned start) {
// Add inputs and uniforms to the map
if (((opCode == spv::OpVariable && asWordCount(start) == 4) || (opCode == spv::OpVariableArray)) &&
if ((opCode == spv::OpVariable && asWordCount(start) == 4) &&
(spv[start+3] == spv::StorageClassUniform ||
spv[start+3] == spv::StorageClassUniformConstant ||
spv[start+3] == spv::StorageClassInput))
......@@ -695,7 +691,7 @@ namespace spv {
process(
[&](spv::Op opCode, unsigned start) {
// Add inputs and uniforms to the map
if (((opCode == spv::OpVariable && asWordCount(start) == 4) || (opCode == spv::OpVariableArray)) &&
if ((opCode == spv::OpVariable && asWordCount(start) == 4) &&
(spv[start+3] == spv::StorageClassOutput))
fnLocalVars.insert(asId(start+2));
......@@ -729,8 +725,7 @@ namespace spv {
const int wordCount = asWordCount(start);
// Add local variables to the map
if ((opCode == spv::OpVariable && spv[start+3] == spv::StorageClassFunction && asWordCount(start) == 4) ||
(opCode == spv::OpVariableArray && spv[start+3] == spv::StorageClassFunction))
if ((opCode == spv::OpVariable && spv[start+3] == spv::StorageClassFunction && asWordCount(start) == 4))
fnLocalVars.insert(asId(start+2));
// Ignore process vars referenced via access chain
......@@ -1008,14 +1003,14 @@ namespace spv {
return 6 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
case spv::OpTypeMatrix:
return 30 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
case spv::OpTypeSampler:
case spv::OpTypeImage:
return 120 + hashType(typePos(spv[typeStart+2])) +
spv[typeStart+3] + // dimensionality
spv[typeStart+4] * 8 * 16 + // content
spv[typeStart+4] * 8 * 16 + // depth
spv[typeStart+5] * 4 * 16 + // arrayed
spv[typeStart+6] * 2 * 16 + // compare
spv[typeStart+7] * 1 * 16; // multisampled
case spv::OpTypeFilter:
spv[typeStart+6] * 2 * 16 + // multisampled
spv[typeStart+7] * 1 * 16; // format
case spv::OpTypeSampler:
return 500;
case spv::OpTypeArray:
return 501 + hashType(typePos(spv[typeStart+2])) * spv[typeStart+3];
......@@ -1045,12 +1040,11 @@ namespace spv {
case spv::OpTypeQueue: return 300003;
case spv::OpTypePipe: return 300004;
case spv::OpConstantNullObject: return 300005;
case spv::OpConstantNull: return 300005;
case spv::OpConstantSampler: return 300006;
case spv::OpConstantTrue: return 300007;
case spv::OpConstantFalse: return 300008;
case spv::OpConstantNullPointer: return 300009;
case spv::OpConstantComposite:
{
std::uint32_t hash = 300011 + hashType(typePos(spv[typeStart+1]));
......
......@@ -101,7 +101,7 @@ public:
#include <set>
#include <cassert>
#include "spirv.h"
#include "spirv.hpp"
#include "spvIR.h"
namespace spv {
......
This diff is collapsed. Click to expand it.
......@@ -48,7 +48,7 @@
#ifndef SpvBuilder_H
#define SpvBuilder_H
#include "spirv.h"
#include "spirv.hpp"
#include "spvIR.h"
#include <algorithm>
......@@ -77,6 +77,8 @@ public:
memoryModel = mem;
}
void addCapability(spv::Capability cap) { capabilities.push_back(cap); }
// To get a new <id> for anything needing a new one.
Id getUniqueId() { return ++uniqueId; }
......@@ -101,12 +103,8 @@ public:
Id makeMatrixType(Id component, int cols, int rows);
Id makeArrayType(Id element, unsigned size);
Id makeFunctionType(Id returnType, std::vector<Id>& paramTypes);
enum samplerContent {
samplerContentTexture,
samplerContentImage,
samplerContentTextureFilter
};
Id makeSampler(Id sampledType, Dim, samplerContent, bool arrayed, bool shadow, bool ms);
Id makeImageType(Id sampledType, Dim, bool depth, bool arrayed, bool ms, unsigned sampled, ImageFormat format);
Id makeSampledImageType(Id imageType);
// For querying about types.
Id getTypeId(Id resultId) const { return module.getTypeId(resultId); }
......@@ -133,7 +131,9 @@ public:
bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; }
bool isArrayType(Id typeId) const { return getTypeClass(typeId) == OpTypeArray; }
bool isAggregateType(Id typeId) const { return isArrayType(typeId) || isStructType(typeId); }
bool isImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeImage; }
bool isSamplerType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampler; }
bool isSampledImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampledImage; }
bool isConstantScalar(Id resultId) const { return getOpCode(resultId) == OpConstant; }
unsigned int getConstantScalar(Id resultId) const { return module.getInstruction(resultId)->getImmediateOperand(0); }
......@@ -151,15 +151,20 @@ public:
}
int getNumRows(Id resultId) const { return getTypeNumRows(getTypeId(resultId)); }
Dim getDimensionality(Id resultId) const
Dim getTypeDimensionality(Id typeId) const
{
assert(isImageType(typeId));
return (Dim)module.getInstruction(typeId)->getImmediateOperand(1);
}
Id getImageType(Id resultId) const
{
assert(isSamplerType(getTypeId(resultId)));
return (Dim)module.getInstruction(getTypeId(resultId))->getImmediateOperand(1);
assert(isSampledImageType(getTypeId(resultId)));
return module.getInstruction(getTypeId(resultId))->getIdOperand(0);
}
bool isArrayedSampler(Id resultId) const
bool isArrayedImageType(Id typeId) const
{
assert(isSamplerType(getTypeId(resultId)));
return module.getInstruction(getTypeId(resultId))->getImmediateOperand(3) != 0;
assert(isImageType(typeId));
return module.getInstruction(typeId)->getImmediateOperand(3) != 0;
}
// For making new constants (will return old constant if the requested one was already made).
......@@ -174,7 +179,7 @@ public:
Id makeCompositeConstant(Id type, std::vector<Id>& comps);
// Methods for adding information outside the CFG.
void addEntryPoint(ExecutionModel, Function*);
void addEntryPoint(ExecutionModel, Function*, const char* name);
void addExecutionMode(Function*, ExecutionMode mode, int value = -1);
void addName(Id, const char* name);
void addMemberName(Id, int member, const char* name);
......@@ -233,12 +238,12 @@ public:
void createNoResultOp(Op);
void createNoResultOp(Op, Id operand);
void createControlBarrier(unsigned executionScope);
void createControlBarrier(Scope execution, Scope memory, MemorySemanticsMask);
void createMemoryBarrier(unsigned executionScope, unsigned memorySemantics);
Id createUnaryOp(Op, Id typeId, Id operand);
Id createBinOp(Op, Id typeId, Id operand1, Id operand2);
Id createTriOp(Op, Id typeId, Id operand1, Id operand2, Id operand3);
Id createOp(Op, Id typeId, std::vector<Id>& operands);
Id createOp(Op, Id typeId, const std::vector<Id>& operands);
Id createFunctionCall(spv::Function*, std::vector<spv::Id>&);
// Take an rvalue (source) and a set of channels to extract from it to
......@@ -283,8 +288,10 @@ public:
Id lod;
Id Dref;
Id offset;
Id offsets;
Id gradX;
Id gradY;
Id sample;
};
// Select the correct texture operation based on all inputs, and emit the correct instruction
......@@ -497,6 +504,7 @@ protected:
std::vector<const char*> extensions;
AddressingModel addressModel;
MemoryModel memoryModel;
std::vector<spv::Capability> capabilities;
int builderNumber;
Module module;
Block* buildPoint;
......
This diff is collapsed. Click to expand it.
//
//Copyright (C) 2014 LunarG, Inc.
//Copyright (C) 2014-2015 LunarG, Inc.
//
//All rights reserved.
//
......
This source diff could not be displayed because it is too large. You can view the blob instead.
//
//Copyright (C) 2014 LunarG, Inc.
//Copyright (C) 2014-2015 LunarG, Inc.
//
//All rights reserved.
//
......@@ -40,7 +40,7 @@
// Parameterize the SPIR-V enumerants.
//
#include "spirv.h"
#include "spirv.hpp"
#include <vector>
......@@ -64,6 +64,10 @@ const char* LoopControlString(int);
const char* FunctionControlString(int);
const char* SamplerAddressingModeString(int);
const char* SamplerFilterModeString(int);
const char* ImageFormatString(int);
const char* ImageChannelOrderString(int);
const char* ImageChannelTypeString(int);
const char* ImageOperands(int);
const char* FPFastMathString(int);
const char* FPRoundingModeString(int);
const char* LinkageTypeString(int);
......@@ -75,11 +79,12 @@ const char* ExecutionScopeString(int);
const char* GroupOperationString(int);
const char* KernelEnqueueFlagsString(int);
const char* KernelProfilingInfoString(int);
const char* CapabilityString(int);
const char* OpcodeString(int);
// For grouping opcodes into subsections
enum OpcodeClass {
OpClassMisc, // default, until opcode is classified
OpClassMisc,
OpClassDebug,
OpClassAnnotate,
OpClassExtension,
......@@ -88,10 +93,11 @@ enum OpcodeClass {
OpClassConstant,
OpClassMemory,
OpClassFunction,
OpClassTexture,
OpClassImage,
OpClassConvert,
OpClassComposite,
OpClassArithmetic,
OpClassBit,
OpClassRelationalLogical,
OpClassDerivative,
OpClassFlowControl,
......@@ -102,7 +108,8 @@ enum OpcodeClass {
OpClassDeviceSideEnqueue,
OpClassPipe,
OpClassCount
OpClassCount,
OpClassMissing // all instructions start out as missing
};
// For parameterizing operands.
......@@ -110,8 +117,11 @@ enum OperandClass {
OperandNone,
OperandId,
OperandOptionalId,
OperandOptionalImage,
OperandVariableIds,
OperandOptionalLiteral,
OperandVariableLiterals,
OperandVariableIdLiteral,
OperandVariableLiteralId,
OperandLiteralNumber,
OperandLiteralString,
......@@ -124,6 +134,10 @@ enum OperandClass {
OperandDimensionality,
OperandSamplerAddressingMode,
OperandSamplerFilterMode,
OperandSamplerImageFormat,
OperandImageChannelOrder,
OperandImageChannelDataType,
OperandImageOperands,
OperandFPFastMath,
OperandFPRoundingMode,
OperandLinkageType,
......@@ -136,29 +150,17 @@ enum OperandClass {
OperandFunction,
OperandMemorySemantics,
OperandMemoryAccess,
OperandExecutionScope,
OperandScope,
OperandGroupOperation,
OperandKernelEnqueueFlags,
OperandKernelProfilingInfo,
OperandCapability,
OperandOpcode,
OperandCount
};
// Set of capabilities. Generally, something is assumed to be in core,
// if nothing else is said. So, these are used to identify when something
// requires a specific capability to be declared.
enum Capability {
CapMatrix,
CapShader,
CapGeom,
CapTess,
CapAddr,
CapLink,
CapKernel
};
// Any specific enum can have a set of capabilities that allow it:
typedef std::vector<Capability> EnumCaps;
......@@ -213,8 +215,8 @@ public:
class InstructionParameters {
public:
InstructionParameters() :
opDesc(0),
opClass(OpClassMisc),
opDesc("TBD"),
opClass(OpClassMissing),
typePresent(true), // most normal, only exceptions have to be spelled out
resultPresent(true) // most normal, only exceptions have to be spelled out
{ }
......@@ -238,7 +240,7 @@ protected:
int resultPresent : 1;
};
const int OpcodeCeiling = 267;
const int OpcodeCeiling = 305;
// The set of objects that hold all the instruction/operand
// parameterization information.
......
......@@ -50,7 +50,7 @@
#ifndef spvIR_H
#define spvIR_H
#include "spirv.h"
#include "spirv.hpp"
#include <vector>
#include <iostream>
......
......@@ -42,7 +42,7 @@
#include "./../glslang/Include/revision.h"
#include "./../glslang/Public/ShaderLang.h"
#include "../SPIRV/GlslangToSpv.h"
#include "../SPIRV/GLSL450Lib.h"
#include "../SPIRV/GLSL.std.450.h"
#include "../SPIRV/doc.h"
#include "../SPIRV/disassemble.h"
#include <string.h>
......@@ -644,8 +644,6 @@ CompileShaders(void*)
return 0;
}
const char* GlslStd450DebugNames[GLSL_STD_450::Count];
// Outputs the given string, but only if it is non-null and non-empty.
// This prevents erroneous newlines from appearing.
void PutsIfNonEmpty(const char* str)
......@@ -754,7 +752,6 @@ void CompileAndLinkShaders()
glslang::OutputSpv(spirv, GetBinaryName((EShLanguage)stage));
if (Options & EOptionHumanReadableSpv) {
spv::Parameterize();
GLSL_STD_450::GetDebugNames(GlslStd450DebugNames);
spv::Disassemble(std::cout, spirv);
}
}
......@@ -790,7 +787,7 @@ int C_DECL main(int argc, char* argv[])
std::string spirvVersion;
glslang::GetSpirvVersion(spirvVersion);
printf("SPIR-V Version %s\n", spirvVersion.c_str());
printf("GLSL.std.450 Version %d, Revision %d\n", GLSL_STD_450::Version, GLSL_STD_450::Revision);
printf("GLSL.std.450 Version %d, Revision %d\n", GLSLstd450Version, GLSLstd450Revision);
if (Worklist.empty())
return ESuccess;
}
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 48
Source ESSL 100
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "foo("
Name 12 "face1"
......@@ -19,12 +21,12 @@ Linked fragment stage:
Name 22 "low"
Name 27 "high"
Name 37 "gl_FragColor"
Decorate 12(face1) PrecisionLow
Decorate 14(face2) PrecisionLow
Decorate 18(z) PrecisionMedium
Decorate 22(low) PrecisionMedium
Decorate 27(high) PrecisionMedium
Decorate 37(gl_FragColor) PrecisionMedium
Decorate 12(face1) RelaxedPrecision
Decorate 14(face2) RelaxedPrecision
Decorate 18(z) RelaxedPrecision
Decorate 22(low) RelaxedPrecision
Decorate 27(high) RelaxedPrecision
Decorate 37(gl_FragColor) RelaxedPrecision
Decorate 37(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
......
......@@ -5,12 +5,14 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 90
// Id's are bound by 93
Source GLSL 140
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "foo("
Name 12 "i1"
......@@ -19,29 +21,33 @@ Linked fragment stage:
Name 29 "o"
Name 34 "gl_ClipDistance"
Name 43 "k"
Name 54 "sampR"
Name 60 "sampB"
Name 83 "samp2Da"
Name 87 "bn"
MemberName 87(bn) 0 "matra"
MemberName 87(bn) 1 "matca"
MemberName 87(bn) 2 "matr"
MemberName 87(bn) 3 "matc"
MemberName 87(bn) 4 "matrdef"
Name 89 ""
Name 55 "sampR"
Name 62 "sampB"
Name 86 "samp2Da"
Name 90 "bn"
MemberName 90(bn) 0 "matra"
MemberName 90(bn) 1 "matca"
MemberName 90(bn) 2 "matr"
MemberName 90(bn) 3 "matc"
MemberName 90(bn) 4 "matrdef"
Name 92 ""
Decorate 17(gl_FrontFacing) BuiltIn FrontFacing
Decorate 34(gl_ClipDistance) Smooth
Decorate 34(gl_ClipDistance) BuiltIn ClipDistance
Decorate 43(k) Smooth
Decorate 83(samp2Da) NoStaticUse
MemberDecorate 87(bn) 0 RowMajor
MemberDecorate 87(bn) 1 ColMajor
MemberDecorate 87(bn) 2 RowMajor
MemberDecorate 87(bn) 3 ColMajor
MemberDecorate 87(bn) 4 RowMajor
Decorate 87(bn) GLSLStd140
Decorate 87(bn) Block
Decorate 89 NoStaticUse
Decorate 86(samp2Da) NoStaticUse
MemberDecorate 90(bn) 0 RowMajor
MemberDecorate 90(bn) 0 Offset 0
MemberDecorate 90(bn) 1 ColMajor
MemberDecorate 90(bn) 1 Offset 256
MemberDecorate 90(bn) 2 RowMajor
MemberDecorate 90(bn) 2 Offset 512
MemberDecorate 90(bn) 3 ColMajor
MemberDecorate 90(bn) 3 Offset 576
MemberDecorate 90(bn) 4 RowMajor
MemberDecorate 90(bn) 4 Offset 640
Decorate 90(bn) Block
Decorate 92 NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -70,26 +76,29 @@ Linked fragment stage:
42: TypePointer Input 27(fvec4)
43(k): 42(ptr) Variable Input
45: TypeVector 35(int) 4
52: TypeSampler7(float) Rect filter+texture
53: TypePointer UniformConstant 52
54(sampR): 53(ptr) Variable UniformConstant
56: TypeVector 35(int) 2
58: TypeSampler35(int) Buffer filter+texture
59: TypePointer UniformConstant 58
60(sampB): 59(ptr) Variable UniformConstant
65: TypeVector 7(float) 2
68: 7(float) Constant 1120403456
79: TypeSampler7(float) 2D filter+texture
80: 30(int) Constant 3
81: TypeArray 79 80
82: TypePointer UniformConstant 81
83(samp2Da): 82(ptr) Variable UniformConstant
84: TypeMatrix 27(fvec4) 4
85: 30(int) Constant 4
86: TypeArray 84 85
87(bn): TypeStruct 86 86 84 84 84
88: TypePointer Uniform 87(bn)
89: 88(ptr) Variable Uniform
52: TypeImage 7(float) Rect sampled format:Unknown
53: TypeSampledImage 52
54: TypePointer UniformConstant 53
55(sampR): 54(ptr) Variable UniformConstant
57: TypeVector 35(int) 2
59: TypeImage 35(int) Buffer sampled format:Unknown
60: TypeSampledImage 59
61: TypePointer UniformConstant 60
62(sampB): 61(ptr) Variable UniformConstant
67: TypeVector 7(float) 2
70: 7(float) Constant 1120403456
81: TypeImage 7(float) 2D sampled format:Unknown
82: TypeSampledImage 81
83: 30(int) Constant 3
84: TypeArray 82 83
85: TypePointer UniformConstant 84
86(samp2Da): 85(ptr) Variable UniformConstant
87: TypeMatrix 27(fvec4) 4
88: 30(int) Constant 4
89: TypeArray 87 88
90(bn): TypeStruct 89 89 87 87 87
91: TypePointer Uniform 90(bn)
92: 91(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
14: 13(ptr) Variable Function
......@@ -119,30 +128,30 @@ Linked fragment stage:
50: 27(fvec4) Load 29(o)
51: 27(fvec4) CompositeInsert 49 50 2
Store 29(o) 51
55: 52 Load 54(sampR)
57: 56(ivec2) TextureQuerySize 55
61: 58 Load 60(sampB)
62: 35(int) TextureQuerySize 61
63: 56(ivec2) CompositeConstruct 62 62
64: 56(ivec2) IAdd 57 63
66: 65(fvec2) ConvertSToF 64
67: 7(float) CompositeExtract 66 0
69: 7(float) FDiv 67 68
70: 27(fvec4) Load 29(o)
71: 27(fvec4) CompositeInsert 69 70 3
Store 29(o) 71
72: 7(float) FunctionCall 9(foo()
73: 27(fvec4) Load 29(o)
74: 27(fvec4) CompositeInsert 72 73 2
Store 29(o) 74
56: 53 Load 55(sampR)
58: 57(ivec2) ImageQuerySize 56
63: 60 Load 62(sampB)
64: 35(int) ImageQuerySize 63
65: 57(ivec2) CompositeConstruct 64 64
66: 57(ivec2) IAdd 58 65
68: 67(fvec2) ConvertSToF 66
69: 7(float) CompositeExtract 68 0
71: 7(float) FDiv 69 70
72: 27(fvec4) Load 29(o)
73: 27(fvec4) CompositeInsert 71 72 3
Store 29(o) 73
74: 7(float) FunctionCall 9(foo()
75: 27(fvec4) Load 29(o)
76: 27(fvec4) CompositeInsert 74 75 2
Store 29(o) 76
Branch 6
6: Label
Return
FunctionEnd
9(foo(): 7(float) Function None 8
10: Label
75: 7(float) Load 12(i1)
76: 7(float) Load 25(i2)
77: 7(float) FAdd 75 76
ReturnValue 77
77: 7(float) Load 12(i1)
78: 7(float) Load 25(i2)
79: 7(float) FAdd 77 78
ReturnValue 79
FunctionEnd
......@@ -8,9 +8,10 @@ Linked geometry stage:
// Id's are bound by 72
Source GLSL 150
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4
EntryPoint Geometry 4 "main"
ExecutionMode 4 InputTrianglesAdjacency
ExecutionMode 4 Invocations 0
ExecutionMode 4 OutputTriangleStrip
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 53
Source GLSL 150
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 14 "gl_PerVertex"
MemberName 14(gl_PerVertex) 0 "gl_Position"
......@@ -42,7 +43,6 @@ Linked vertex stage:
MemberDecorate 14(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 14(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 14(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 14(gl_PerVertex) 3 BuiltIn ClipVertex
Decorate 14(gl_PerVertex) Block
Decorate 49(ui) NoStaticUse
Decorate 51(gl_VertexID) BuiltIn VertexId
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 41
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 12 "gl_VertexID"
......@@ -19,17 +20,13 @@ Linked vertex stage:
Name 26 "ps"
Name 34 "gl_PointSize"
Name 40 "gl_InstanceID"
Decorate 9(i) PrecisionMedium
Decorate 12(gl_VertexID) PrecisionHigh
Decorate 9(i) RelaxedPrecision
Decorate 12(gl_VertexID) BuiltIn VertexId
Decorate 17(j) PrecisionMedium
Decorate 24(gl_Position) PrecisionHigh
Decorate 17(j) RelaxedPrecision
Decorate 24(gl_Position) Invariant
Decorate 24(gl_Position) BuiltIn Position
Decorate 26(ps) PrecisionMedium
Decorate 34(gl_PointSize) PrecisionHigh
Decorate 26(ps) RelaxedPrecision
Decorate 34(gl_PointSize) BuiltIn PointSize
Decorate 40(gl_InstanceID) PrecisionHigh
Decorate 40(gl_InstanceID) BuiltIn InstanceId
Decorate 40(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 38
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "c"
Name 12 "color"
......@@ -20,15 +22,15 @@ Linked fragment stage:
Name 16 "s"
Name 27 "p"
Name 30 "pos"
Decorate 10(c) PrecisionMedium
Decorate 10(c) RelaxedPrecision
Decorate 10(c) Location 7
Decorate 12(color) PrecisionMedium
Decorate 12(color) RelaxedPrecision
Decorate 12(color) Smooth
MemberDecorate 14(S) 0 PrecisionMedium
MemberDecorate 14(S) 1 PrecisionMedium
Decorate 27(p) PrecisionMedium
MemberDecorate 14(S) 0 RelaxedPrecision
MemberDecorate 14(S) 1 RelaxedPrecision
Decorate 27(p) RelaxedPrecision
Decorate 27(p) Location 3
Decorate 30(pos) PrecisionMedium
Decorate 30(pos) RelaxedPrecision
Decorate 30(pos) Smooth
2: TypeVoid
3: TypeFunction 2
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 112
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 10 "pos"
Name 12 "p"
......@@ -41,47 +42,30 @@ Linked vertex stage:
Name 80 "s"
Name 110 "gl_VertexID"
Name 111 "gl_InstanceID"
Decorate 10(pos) PrecisionHigh
Decorate 10(pos) Smooth
Decorate 12(p) PrecisionHigh
Decorate 12(p) Location 3
MemberDecorate 18(Transform) 0 RowMajor
MemberDecorate 18(Transform) 0 PrecisionHigh
MemberDecorate 18(Transform) 0 Offset 0
MemberDecorate 18(Transform) 1 ColMajor
MemberDecorate 18(Transform) 1 PrecisionHigh
MemberDecorate 18(Transform) 1 Offset 64
MemberDecorate 18(Transform) 2 RowMajor
MemberDecorate 18(Transform) 2 PrecisionHigh
MemberDecorate 18(Transform) 3 PrecisionHigh
Decorate 18(Transform) GLSLStd140
MemberDecorate 18(Transform) 2 Offset 128
MemberDecorate 18(Transform) 3 Offset 176
Decorate 18(Transform) Block
MemberDecorate 34(T3) 0 ColMajor
MemberDecorate 34(T3) 0 PrecisionHigh
MemberDecorate 34(T3) 1 RowMajor
MemberDecorate 34(T3) 1 PrecisionHigh
MemberDecorate 34(T3) 2 ColMajor
MemberDecorate 34(T3) 2 PrecisionHigh
MemberDecorate 34(T3) 3 PrecisionHigh
Decorate 34(T3) GLSLShared
Decorate 34(T3) Block
MemberDecorate 44(T2) 1 RowMajor
MemberDecorate 44(T2) 1 PrecisionHigh
Decorate 44(T2) GLSLShared
Decorate 44(T2) Block
Decorate 52(color) PrecisionHigh
Decorate 52(color) Smooth
Decorate 54(c) PrecisionHigh
Decorate 54(c) Location 7
Decorate 62(iout) PrecisionHigh
Decorate 62(iout) Flat
Decorate 68(uiuin) PrecisionHigh
Decorate 74(aiv2) PrecisionHigh
Decorate 74(aiv2) Location 9
MemberDecorate 78(S) 0 PrecisionHigh
MemberDecorate 78(S) 1 PrecisionHigh
Decorate 110(gl_VertexID) PrecisionHigh
Decorate 110(gl_VertexID) BuiltIn VertexId
Decorate 110(gl_VertexID) NoStaticUse
Decorate 111(gl_InstanceID) PrecisionHigh
Decorate 111(gl_InstanceID) BuiltIn InstanceId
Decorate 111(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -9,9 +9,10 @@ Linked geometry stage:
Source GLSL 330
SourceExtension "GL_ARB_separate_shader_objects"
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4
EntryPoint Geometry 4 "main"
ExecutionMode 4 InputTriangles
ExecutionMode 4 Invocations 0
ExecutionMode 4 OutputTriangleStrip
......
......@@ -11,9 +11,10 @@ Linked tessellation evaluation stage:
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationEvaluation 4
EntryPoint TessellationEvaluation 4 "main"
ExecutionMode 4 InputTriangles
Name 4 "main"
Name 9 "a"
......
......@@ -7,12 +7,13 @@ Linked vertex stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 62
// Id's are bound by 63
Source GLSL 430
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 11 "gl_PerVertex"
MemberName 11(gl_PerVertex) 0 "gl_ClipDistance"
......@@ -29,11 +30,11 @@ Linked vertex stage:
Name 49 "anonblock"
MemberName 49(anonblock) 0 "aoeu"
Name 51 ""
Name 54 "sampb1"
Name 57 "sampb2"
Name 58 "sampb4"
Name 60 "gl_VertexID"
Name 61 "gl_InstanceID"
Name 55 "sampb1"
Name 58 "sampb2"
Name 59 "sampb4"
Name 61 "gl_VertexID"
Name 62 "gl_InstanceID"
MemberDecorate 11(gl_PerVertex) 0 BuiltIn ClipDistance
Decorate 11(gl_PerVertex) Block
Decorate 35(badorder3) Flat
......@@ -53,16 +54,16 @@ Linked vertex stage:
Decorate 49(anonblock) Block
Decorate 51 Binding 7
Decorate 51 NoStaticUse
Decorate 54(sampb1) Binding 4
Decorate 54(sampb1) NoStaticUse
Decorate 57(sampb2) Binding 5
Decorate 57(sampb2) NoStaticUse
Decorate 58(sampb4) Binding 31
Decorate 58(sampb4) NoStaticUse
Decorate 60(gl_VertexID) BuiltIn VertexId
Decorate 60(gl_VertexID) NoStaticUse
Decorate 61(gl_InstanceID) BuiltIn InstanceId
Decorate 61(gl_InstanceID) NoStaticUse
Decorate 55(sampb1) Binding 4
Decorate 55(sampb1) NoStaticUse
Decorate 58(sampb2) Binding 5
Decorate 58(sampb2) NoStaticUse
Decorate 59(sampb4) Binding 31
Decorate 59(sampb4) NoStaticUse
Decorate 61(gl_VertexID) BuiltIn VertexId
Decorate 61(gl_VertexID) NoStaticUse
Decorate 62(gl_InstanceID) BuiltIn InstanceId
Decorate 62(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -99,16 +100,17 @@ Linked vertex stage:
49(anonblock): TypeStruct 14(int)
50: TypePointer Uniform 49(anonblock)
51: 50(ptr) Variable Uniform
52: TypeSampler7(float) 2D filter+texture
53: TypePointer UniformConstant 52
54(sampb1): 53(ptr) Variable UniformConstant
55: TypeArray 52 21
56: TypePointer UniformConstant 55
57(sampb2): 56(ptr) Variable UniformConstant
58(sampb4): 53(ptr) Variable UniformConstant
59: TypePointer Input 14(int)
60(gl_VertexID): 59(ptr) Variable Input
61(gl_InstanceID): 59(ptr) Variable Input
52: TypeImage 7(float) 2D sampled format:Unknown
53: TypeSampledImage 52
54: TypePointer UniformConstant 53
55(sampb1): 54(ptr) Variable UniformConstant
56: TypeArray 53 21
57: TypePointer UniformConstant 56
58(sampb2): 57(ptr) Variable UniformConstant
59(sampb4): 54(ptr) Variable UniformConstant
60: TypePointer Input 14(int)
61(gl_VertexID): 60(ptr) Variable Input
62(gl_InstanceID): 60(ptr) Variable Input
4(main): 2 Function None 3
5: Label
19: 18(ptr) AccessChain 13 15 16
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 198
Source GLSL 420
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "S"
MemberName 9(S) 0 "color"
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 81
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "white"
Name 13 "black"
......@@ -72,7 +74,7 @@ Linked fragment stage:
38: 7(float) Load 28(y)
39: 7(float) FMul 37 38
40: 7(float) FAdd 36 39
41: 7(float) ExtInst 1(GLSL.std.450) 28(sqrt) 40
41: 7(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 40
Store 33(radius) 41
42: 7(float) Load 33(radius)
44: 43(bool) FOrdGreaterThan 42 11
......@@ -113,9 +115,9 @@ Linked fragment stage:
BranchConditional 69 70 71
70: Label
72: 7(float) Load 33(radius)
74: 7(float) ExtInst 1(GLSL.std.450) 23(pow) 72 73
74: 7(float) ExtInst 1(GLSL.std.450) 26(Pow) 72 73
75: 7(float) FDiv 74 25
76: 7(float) ExtInst 1(GLSL.std.450) 3(abs) 75
76: 7(float) ExtInst 1(GLSL.std.450) 4(FAbs) 75
77: 8(fvec4) Load 16(color)
78: 8(fvec4) CompositeConstruct 76 76 76 76
79: 8(fvec4) FSub 77 78
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 37
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "white"
Name 13 "black"
......
......@@ -5,56 +5,59 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 36
// Id's are bound by 37
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "v"
Name 13 "tex"
Name 17 "coord"
Name 34 "gl_FragColor"
Decorate 17(coord) Smooth
Decorate 34(gl_FragColor) BuiltIn FragColor
Name 14 "tex"
Name 18 "coord"
Name 35 "gl_FragColor"
Decorate 18(coord) Smooth
Decorate 35(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4)
11: TypeSampler7(float) 2D filter+texture
12: TypePointer UniformConstant 11
13(tex): 12(ptr) Variable UniformConstant
15: TypeVector 7(float) 2
16: TypePointer Input 15(fvec2)
17(coord): 16(ptr) Variable Input
21: 7(float) Constant 1036831949
22: 7(float) Constant 1045220557
23: 7(float) Constant 1050253722
24: 7(float) Constant 1053609165
25: 8(fvec4) ConstantComposite 21 22 23 24
26: TypeBool
27: TypeVector 26(bool) 4
33: TypePointer Output 8(fvec4)
34(gl_FragColor): 33(ptr) Variable Output
11: TypeImage 7(float) 2D sampled format:Unknown
12: TypeSampledImage 11
13: TypePointer UniformConstant 12
14(tex): 13(ptr) Variable UniformConstant
16: TypeVector 7(float) 2
17: TypePointer Input 16(fvec2)
18(coord): 17(ptr) Variable Input
22: 7(float) Constant 1036831949
23: 7(float) Constant 1045220557
24: 7(float) Constant 1050253722
25: 7(float) Constant 1053609165
26: 8(fvec4) ConstantComposite 22 23 24 25
27: TypeBool
28: TypeVector 27(bool) 4
34: TypePointer Output 8(fvec4)
35(gl_FragColor): 34(ptr) Variable Output
4(main): 2 Function None 3
5: Label
10(v): 9(ptr) Variable Function
14: 11 Load 13(tex)
18: 15(fvec2) Load 17(coord)
19: 8(fvec4) TextureSample 14 18
Store 10(v) 19
20: 8(fvec4) Load 10(v)
28: 27(bvec4) FOrdEqual 20 25
29: 26(bool) All 28
SelectionMerge 31 None
BranchConditional 29 30 31
30: Label
Kill
15: 12 Load 14(tex)
19: 16(fvec2) Load 18(coord)
20: 8(fvec4) ImageSampleImplicitLod 15 19
Store 10(v) 20
21: 8(fvec4) Load 10(v)
29: 28(bvec4) FOrdEqual 21 26
30: 27(bool) All 29
SelectionMerge 32 None
BranchConditional 30 31 32
31: Label
35: 8(fvec4) Load 10(v)
Store 34(gl_FragColor) 35
Kill
32: Label
36: 8(fvec4) Load 10(v)
Store 35(gl_FragColor) 36
Branch 6
6: Label
Return
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 444
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "b"
Name 12 "u_i"
......@@ -191,7 +193,7 @@ Linked fragment stage:
16: 7(bool) INotEqual 13 15
20: 17(float) Load 19(u_f)
22: 7(bool) FOrdNotEqual 20 21
23: 7(bool) LogicalXor 16 22
23: 7(bool) LogicalNotEqual 16 22
Store 9(b) 23
27: 10(int) Load 12(u_i)
28: 7(bool) INotEqual 27 15
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 21
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 13 "gl_FragData"
Name 17 "Color"
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 23
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 13 "gl_FragData"
Name 16 "i"
......
......@@ -11,9 +11,10 @@ Linked vertex stage:
// Id's are bound by 39
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 24 "colorOut"
......
......@@ -11,9 +11,11 @@ Linked fragment stage:
// Id's are bound by 19
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "gl_FragDepth"
Name 11 "Depth"
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 81
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "white"
Name 13 "black"
......@@ -72,7 +74,7 @@ Linked fragment stage:
38: 7(float) Load 28(y)
39: 7(float) FMul 37 38
40: 7(float) FAdd 36 39
41: 7(float) ExtInst 1(GLSL.std.450) 28(sqrt) 40
41: 7(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 40
Store 33(radius) 41
42: 7(float) Load 33(radius)
44: 43(bool) FOrdGreaterThan 42 11
......@@ -111,9 +113,9 @@ Linked fragment stage:
BranchConditional 69 70 71
70: Label
72: 7(float) Load 33(radius)
74: 7(float) ExtInst 1(GLSL.std.450) 23(pow) 72 73
74: 7(float) ExtInst 1(GLSL.std.450) 26(Pow) 72 73
75: 7(float) FDiv 74 25
76: 7(float) ExtInst 1(GLSL.std.450) 3(abs) 75
76: 7(float) ExtInst 1(GLSL.std.450) 4(FAbs) 75
77: 8(fvec4) Load 16(color)
78: 8(fvec4) CompositeConstruct 76 76 76 76
79: 8(fvec4) FSub 77 78
......
......@@ -8,18 +8,16 @@ Linked vertex stage:
// Id's are bound by 30
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 28 "gl_VertexID"
Name 29 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 28(gl_VertexID) PrecisionHigh
Decorate 28(gl_VertexID) BuiltIn VertexId
Decorate 28(gl_VertexID) NoStaticUse
Decorate 29(gl_InstanceID) PrecisionHigh
Decorate 29(gl_InstanceID) BuiltIn InstanceId
Decorate 29(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 52
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 25 "A"
......@@ -22,18 +23,8 @@ Linked vertex stage:
Name 47 "G"
Name 50 "gl_VertexID"
Name 51 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 25(A) PrecisionHigh
Decorate 31(B) PrecisionHigh
Decorate 34(C) PrecisionHigh
Decorate 40(D) PrecisionHigh
Decorate 43(E) PrecisionHigh
Decorate 45(F) PrecisionHigh
Decorate 47(G) PrecisionHigh
Decorate 50(gl_VertexID) PrecisionHigh
Decorate 50(gl_VertexID) BuiltIn VertexId
Decorate 50(gl_VertexID) NoStaticUse
Decorate 51(gl_InstanceID) PrecisionHigh
Decorate 51(gl_InstanceID) BuiltIn InstanceId
Decorate 51(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 38
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
......
......@@ -10,9 +10,10 @@ Linked compute stage:
// Id's are bound by 63
Source GLSL 430
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4
EntryPoint GLCompute 4 "main"
Name 4 "main"
Name 9 "bufName"
MemberName 9(bufName) 0 "f"
......@@ -72,7 +73,7 @@ Linked compute stage:
57: 8(float) Constant 3229815407 1074340298
58: TypePointer UniformConstant 8(float)
59(roll): 58(ptr) Variable UniformConstant
60: TypeSampler7(float) 2D image
60: TypeImage 7(float) 2D nonsampled format:Unknown
61: TypePointer UniformConstant 60
62(destTex): 61(ptr) Variable UniformConstant
4(main): 2 Function None 3
......@@ -97,7 +98,7 @@ Linked compute stage:
42: 41(fvec2) ConvertSToF 40
44: 41(fvec2) CompositeConstruct 43 43
45: 41(fvec2) FDiv 42 44
46: 7(float) ExtInst 1(GLSL.std.450) 58(length) 45
46: 7(float) ExtInst 1(GLSL.std.450) 65(Length) 45
47: 8(float) FConvert 46
Store 33(localCoef) 47
Store 50(aa) 54
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 112
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 42
Source GLSL 120
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 49
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 18 "A"
......@@ -22,18 +23,8 @@ Linked vertex stage:
Name 44 "G"
Name 47 "gl_VertexID"
Name 48 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 18(A) PrecisionHigh
Decorate 26(B) PrecisionHigh
Decorate 30(C) PrecisionHigh
Decorate 37(D) PrecisionHigh
Decorate 39(E) PrecisionHigh
Decorate 40(F) PrecisionHigh
Decorate 44(G) PrecisionHigh
Decorate 47(gl_VertexID) PrecisionHigh
Decorate 47(gl_VertexID) BuiltIn VertexId
Decorate 47(gl_VertexID) NoStaticUse
Decorate 48(gl_InstanceID) PrecisionHigh
Decorate 48(gl_InstanceID) BuiltIn InstanceId
Decorate 48(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -8,20 +8,17 @@ Linked vertex stage:
// Id's are bound by 26
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 18 "j"
Name 24 "gl_VertexID"
Name 25 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 18(j) PrecisionHigh
Decorate 24(gl_VertexID) PrecisionHigh
Decorate 24(gl_VertexID) BuiltIn VertexId
Decorate 24(gl_VertexID) NoStaticUse
Decorate 25(gl_InstanceID) PrecisionHigh
Decorate 25(gl_InstanceID) BuiltIn InstanceId
Decorate 25(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 123
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 59
Source ESSL 100
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 7 "bar("
Name 11 "unreachableReturn("
......@@ -24,14 +26,14 @@ Linked fragment stage:
Name 37 "d"
Name 49 "dummyReturn"
Name 58 "bigColor"
Decorate 19(color) PrecisionMedium
Decorate 21(BaseColor) PrecisionMedium
Decorate 19(color) RelaxedPrecision
Decorate 21(BaseColor) RelaxedPrecision
Decorate 21(BaseColor) Smooth
Decorate 28(f) PrecisionMedium
Decorate 31(gl_FragColor) PrecisionMedium
Decorate 28(f) RelaxedPrecision
Decorate 31(gl_FragColor) RelaxedPrecision
Decorate 31(gl_FragColor) BuiltIn FragColor
Decorate 37(d) PrecisionMedium
Decorate 58(bigColor) PrecisionMedium
Decorate 37(d) RelaxedPrecision
Decorate 58(bigColor) RelaxedPrecision
Decorate 58(bigColor) NoStaticUse
2: TypeVoid
3: TypeFunction 2
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 76
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 12 "foo(vf4;"
Name 11 "bar"
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 159
Source GLSL 400
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 16 "foo(i1;i1;i1;i1;i1;i1;"
Name 10 "a"
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 34
Source GLSL 120
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "t"
Name 15 "v"
......
......@@ -8,12 +8,14 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 134
// Id's are bound by 135
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "s1"
MemberName 9(s1) 0 "i"
......@@ -40,16 +42,16 @@ Linked fragment stage:
Name 87 "condition"
Name 95 "color"
Name 105 "gl_FragColor"
Name 124 "sampler"
Name 130 "foo"
Name 131 "foo2"
Name 133 "uFloatArray"
Name 125 "sampler"
Name 131 "foo"
Name 132 "foo2"
Name 134 "uFloatArray"
Decorate 41(coord) Smooth
Decorate 95(color) Smooth
Decorate 105(gl_FragColor) BuiltIn FragColor
Decorate 130(foo) NoStaticUse
Decorate 131(foo2) NoStaticUse
Decorate 133(uFloatArray) NoStaticUse
Decorate 131(foo) NoStaticUse
Decorate 132(foo2) NoStaticUse
Decorate 134(uFloatArray) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeInt 32 1
......@@ -91,14 +93,15 @@ Linked fragment stage:
97: TypePointer Function 10(fvec4)
104: TypePointer Output 10(fvec4)
105(gl_FragColor): 104(ptr) Variable Output
122: TypeSampler8(float) 2D filter+texture
123: TypePointer UniformConstant 122
124(sampler): 123(ptr) Variable UniformConstant
129: TypePointer UniformConstant 9(s1)
130(foo): 129(ptr) Variable UniformConstant
131(foo2): 18(ptr) Variable UniformConstant
132: TypePointer UniformConstant 35
133(uFloatArray): 132(ptr) Variable UniformConstant
122: TypeImage 8(float) 2D sampled format:Unknown
123: TypeSampledImage 122
124: TypePointer UniformConstant 123
125(sampler): 124(ptr) Variable UniformConstant
130: TypePointer UniformConstant 9(s1)
131(foo): 130(ptr) Variable UniformConstant
132(foo2): 18(ptr) Variable UniformConstant
133: TypePointer UniformConstant 35
134(uFloatArray): 133(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
13(locals2): 12(ptr) Variable Function
......@@ -207,11 +210,11 @@ Linked fragment stage:
119: 8(float) Load 118
120: 8(float) FAdd 116 119
121: 10(fvec4) VectorTimesScalar 107 120
125: 122 Load 124(sampler)
126: 39(fvec2) Load 41(coord)
127: 10(fvec4) TextureSample 125 126
128: 10(fvec4) FMul 121 127
Store 105(gl_FragColor) 128
126: 123 Load 125(sampler)
127: 39(fvec2) Load 41(coord)
128: 10(fvec4) ImageSampleImplicitLod 126 127
129: 10(fvec4) FMul 121 128
Store 105(gl_FragColor) 129
Branch 6
6: Label
Return
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 750
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 196
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 94
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 15 "xf(mf33;vf3;"
Name 13 "m"
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 91
Source GLSL 120
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 10 "a"
Name 13 "v3"
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 111
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 13 "foo(vf3;"
Name 12 "mv3"
......@@ -31,22 +33,18 @@ Linked fragment stage:
Name 72 "mediumfout"
Name 101 "ub2"
Name 102 "param"
Decorate 24(highfin) PrecisionHigh
Decorate 24(highfin) Smooth
Decorate 37(sum) PrecisionLow
Decorate 39(uniform_medium) PrecisionMedium
Decorate 41(uniform_high) PrecisionHigh
Decorate 47(uniform_low) PrecisionLow
Decorate 52(arg1) PrecisionLow
Decorate 54(arg2) PrecisionMedium
Decorate 56(d) PrecisionLow
Decorate 58(lowfin) PrecisionLow
Decorate 37(sum) RelaxedPrecision
Decorate 39(uniform_medium) RelaxedPrecision
Decorate 47(uniform_low) RelaxedPrecision
Decorate 52(arg1) RelaxedPrecision
Decorate 54(arg2) RelaxedPrecision
Decorate 56(d) RelaxedPrecision
Decorate 58(lowfin) RelaxedPrecision
Decorate 58(lowfin) Smooth
Decorate 60(mediumfin) PrecisionMedium
Decorate 60(mediumfin) RelaxedPrecision
Decorate 60(mediumfin) Smooth
Decorate 64(global_highp) PrecisionHigh
Decorate 68(local_highp) PrecisionHigh
Decorate 72(mediumfout) PrecisionMedium
Decorate 72(mediumfout) RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -110,16 +108,16 @@ Linked fragment stage:
Store 54(arg2) 55
59: 7(float) Load 58(lowfin)
61: 7(float) Load 60(mediumfin)
62: 7(float) ExtInst 1(GLSL.std.450) 59(distance) 59 61
62: 7(float) ExtInst 1(GLSL.std.450) 66(Distance) 59 61
Store 56(d) 62
65: 22(fvec4) Load 24(highfin)
66: 7(float) ExtInst 1(GLSL.std.450) 58(length) 65
66: 7(float) ExtInst 1(GLSL.std.450) 65(Length) 65
Store 64(global_highp) 66
69: 7(float) Load 64(global_highp)
70: 22(fvec4) CompositeConstruct 69 69 69 69
Store 68(local_highp) 70
73: 7(float) Load 56(d)
74: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 73
74: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 73
75: 22(fvec4) CompositeConstruct 74 74 74 74
76: 7(float) Load 54(arg2)
77: 22(fvec4) CompositeConstruct 76 76 76 76
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 97
Source GLSL 140
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "index"
Name 15 "s"
......
......@@ -10,9 +10,10 @@ Linked vertex stage:
// Id's are bound by 26
Source GLSL 430
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 10 "outVc"
Name 12 "inV"
......
......@@ -7,32 +7,33 @@ Linked vertex stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 25
// Id's are bound by 26
Source GLSL 450
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 10 "color"
Name 11 "setBuf"
MemberName 11(setBuf) 0 "color"
Name 13 "setBufInst"
Name 21 "sampler"
Name 23 "gl_VertexID"
Name 24 "gl_InstanceID"
Name 22 "sampler"
Name 24 "gl_VertexID"
Name 25 "gl_InstanceID"
Decorate 10(color) Smooth
Decorate 11(setBuf) GLSLShared
Decorate 11(setBuf) BufferBlock
Decorate 13(setBufInst) DescriptorSet 0
Decorate 13(setBufInst) Binding 8
Decorate 21(sampler) DescriptorSet 4
Decorate 21(sampler) Binding 7
Decorate 21(sampler) NoStaticUse
Decorate 23(gl_VertexID) BuiltIn VertexId
Decorate 23(gl_VertexID) NoStaticUse
Decorate 24(gl_InstanceID) BuiltIn InstanceId
Decorate 24(gl_InstanceID) NoStaticUse
Decorate 22(sampler) DescriptorSet 4
Decorate 22(sampler) Binding 7
Decorate 22(sampler) NoStaticUse
Decorate 24(gl_VertexID) BuiltIn VertexId
Decorate 24(gl_VertexID) NoStaticUse
Decorate 25(gl_InstanceID) BuiltIn InstanceId
Decorate 25(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -45,12 +46,13 @@ Linked vertex stage:
14: TypeInt 32 1
15: 14(int) Constant 0
16: TypePointer Uniform 8(fvec4)
19: TypeSampler7(float) 2D filter+texture
20: TypePointer UniformConstant 19
21(sampler): 20(ptr) Variable UniformConstant
22: TypePointer Input 14(int)
23(gl_VertexID): 22(ptr) Variable Input
24(gl_InstanceID): 22(ptr) Variable Input
19: TypeImage 7(float) 2D sampled format:Unknown
20: TypeSampledImage 19
21: TypePointer UniformConstant 20
22(sampler): 21(ptr) Variable UniformConstant
23: TypePointer Input 14(int)
24(gl_VertexID): 23(ptr) Variable Input
25(gl_InstanceID): 23(ptr) Variable Input
4(main): 2 Function None 3
5: Label
17: 16(ptr) AccessChain 13(setBufInst) 15
......
......@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 23
Source GLSL 150
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "foo("
Name 13 "BaseColor"
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 44
Source GLSL 330
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 10 "glPos"
Name 13 "mvp"
......
......@@ -7,12 +7,14 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 50
// Id's are bound by 51
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "lunarStruct1"
MemberName 9(lunarStruct1) 0 "i"
......@@ -30,12 +32,12 @@ Linked fragment stage:
Name 23 "locals2"
Name 28 "foo2"
Name 32 "gl_FragColor"
Name 40 "sampler"
Name 44 "coord"
Name 49 "foo"
Name 41 "sampler"
Name 45 "coord"
Name 50 "foo"
Decorate 32(gl_FragColor) BuiltIn FragColor
Decorate 44(coord) Smooth
Decorate 49(foo) NoStaticUse
Decorate 45(coord) Smooth
Decorate 50(foo) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeInt 32 1
......@@ -57,14 +59,15 @@ Linked fragment stage:
33: 7(int) Constant 2
34: 7(int) Constant 1
35: TypePointer Function 8(float)
38: TypeSampler8(float) 2D filter+texture
39: TypePointer UniformConstant 38
40(sampler): 39(ptr) Variable UniformConstant
42: TypeVector 8(float) 2
43: TypePointer Input 42(fvec2)
44(coord): 43(ptr) Variable Input
48: TypePointer UniformConstant 9(lunarStruct1)
49(foo): 48(ptr) Variable UniformConstant
38: TypeImage 8(float) 2D sampled format:Unknown
39: TypeSampledImage 38
40: TypePointer UniformConstant 39
41(sampler): 40(ptr) Variable UniformConstant
43: TypeVector 8(float) 2
44: TypePointer Input 43(fvec2)
45(coord): 44(ptr) Variable Input
49: TypePointer UniformConstant 9(lunarStruct1)
50(foo): 49(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
23(locals2): 22(ptr) Variable Function
......@@ -85,11 +88,11 @@ Linked fragment stage:
21: Label
36: 35(ptr) AccessChain 23(locals2) 33 34
37: 8(float) Load 36
41: 38 Load 40(sampler)
45: 42(fvec2) Load 44(coord)
46: 30(fvec4) TextureSample 41 45
47: 30(fvec4) VectorTimesScalar 46 37
Store 32(gl_FragColor) 47
42: 39 Load 41(sampler)
46: 43(fvec2) Load 45(coord)
47: 30(fvec4) ImageSampleImplicitLod 42 46
48: 30(fvec4) VectorTimesScalar 47 37
Store 32(gl_FragColor) 48
Branch 6
6: Label
Return
......
......@@ -7,12 +7,14 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 120
// Id's are bound by 121
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "s0"
MemberName 9(s0) 0 "i"
......@@ -42,11 +44,11 @@ Linked fragment stage:
Name 69 "foo0"
Name 84 "foo00"
Name 97 "gl_FragColor"
Name 113 "sampler"
Name 119 "foo2"
Name 114 "sampler"
Name 120 "foo2"
Decorate 62(coord) Smooth
Decorate 97(gl_FragColor) BuiltIn FragColor
Decorate 119(foo2) NoStaticUse
Decorate 120(foo2) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeInt 32 1
......@@ -105,11 +107,12 @@ Linked fragment stage:
96: TypePointer Output 95(fvec4)
97(gl_FragColor): 96(ptr) Variable Output
104: 7(int) Constant 3
111: TypeSampler8(float) 2D filter+texture
112: TypePointer UniformConstant 111
113(sampler): 112(ptr) Variable UniformConstant
118: TypePointer UniformConstant 11(s2)
119(foo2): 118(ptr) Variable UniformConstant
111: TypeImage 8(float) 2D sampled format:Unknown
112: TypeSampledImage 111
113: TypePointer UniformConstant 112
114(sampler): 113(ptr) Variable UniformConstant
119: TypePointer UniformConstant 11(s2)
120(foo2): 119(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
28(locals2): 27(ptr) Variable Function
......@@ -180,11 +183,11 @@ Linked fragment stage:
108: 31(ptr) AccessChain 28(locals2) 33 29
109: 8(float) Load 108
110: 8(float) FAdd 107 109
114: 111 Load 113(sampler)
115: 60(fvec2) Load 62(coord)
116: 95(fvec4) TextureSample 114 115
117: 95(fvec4) VectorTimesScalar 116 110
Store 97(gl_FragColor) 117
115: 112 Load 114(sampler)
116: 60(fvec2) Load 62(coord)
117: 95(fvec4) ImageSampleImplicitLod 115 116
118: 95(fvec4) VectorTimesScalar 117 110
Store 97(gl_FragColor) 118
Branch 6
6: Label
Return
......
......@@ -7,12 +7,14 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 61
// Id's are bound by 62
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "scale"
Name 19 "lunarStruct1"
......@@ -25,12 +27,12 @@ Linked fragment stage:
MemberName 22(lunarStruct2) 2 "s1_1"
Name 25 "foo2"
Name 47 "gl_FragColor"
Name 51 "sampler"
Name 55 "coord"
Name 60 "foo"
Name 52 "sampler"
Name 56 "coord"
Name 61 "foo"
Decorate 47(gl_FragColor) BuiltIn FragColor
Decorate 55(coord) Smooth
Decorate 60(foo) NoStaticUse
Decorate 56(coord) Smooth
Decorate 61(foo) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -62,14 +64,15 @@ Linked fragment stage:
43: TypePointer UniformConstant 7(float)
46: TypePointer Output 17(fvec4)
47(gl_FragColor): 46(ptr) Variable Output
49: TypeSampler7(float) 2D filter+texture
50: TypePointer UniformConstant 49
51(sampler): 50(ptr) Variable UniformConstant
53: TypeVector 7(float) 2
54: TypePointer Input 53(fvec2)
55(coord): 54(ptr) Variable Input
59: TypePointer UniformConstant 19(lunarStruct1)
60(foo): 59(ptr) Variable UniformConstant
49: TypeImage 7(float) 2D sampled format:Unknown
50: TypeSampledImage 49
51: TypePointer UniformConstant 50
52(sampler): 51(ptr) Variable UniformConstant
54: TypeVector 7(float) 2
55: TypePointer Input 54(fvec2)
56(coord): 55(ptr) Variable Input
60: TypePointer UniformConstant 19(lunarStruct1)
61(foo): 60(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(scale): 8(ptr) Variable Function
......@@ -92,11 +95,11 @@ Linked fragment stage:
Branch 35
35: Label
48: 7(float) Load 9(scale)
52: 49 Load 51(sampler)
56: 53(fvec2) Load 55(coord)
57: 17(fvec4) TextureSample 52 56
58: 17(fvec4) VectorTimesScalar 57 48
Store 47(gl_FragColor) 58
53: 50 Load 52(sampler)
57: 54(fvec2) Load 56(coord)
58: 17(fvec4) ImageSampleImplicitLod 53 57
59: 17(fvec4) VectorTimesScalar 58 48
Store 47(gl_FragColor) 59
Branch 6
6: Label
Return
......
......@@ -13,9 +13,11 @@ Linked fragment stage:
// Id's are bound by 261
Source ESSL 310
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 16 "foo1(vf4;vf4;i1;"
Name 13 "v1"
......@@ -40,16 +42,16 @@ Linked fragment stage:
Name 239 "param"
Name 241 "param"
Name 243 "param"
Decorate 59(local) PrecisionMedium
Decorate 61(c) PrecisionMedium
Decorate 72(f) PrecisionMedium
Decorate 74(x) PrecisionMedium
Decorate 59(local) RelaxedPrecision
Decorate 61(c) RelaxedPrecision
Decorate 72(f) RelaxedPrecision
Decorate 74(x) RelaxedPrecision
Decorate 74(x) Smooth
Decorate 128(d) PrecisionMedium
Decorate 154(i) PrecisionMedium
Decorate 172(j) PrecisionMedium
Decorate 222(color) PrecisionMedium
Decorate 228(v) PrecisionMedium
Decorate 128(d) RelaxedPrecision
Decorate 154(i) RelaxedPrecision
Decorate 172(j) RelaxedPrecision
Decorate 222(color) RelaxedPrecision
Decorate 228(v) RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -104,17 +106,17 @@ Linked fragment stage:
case 2: 68
67: Label
75: 7(float) Load 74(x)
76: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 75
76: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 75
Store 72(f) 76
Branch 70
68: Label
78: 7(float) Load 74(x)
79: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 78
79: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 78
Store 72(f) 79
Branch 70
69: Label
81: 7(float) Load 74(x)
82: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 81
82: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 81
Store 72(f) 82
Branch 70
70: Label
......@@ -125,21 +127,21 @@ Linked fragment stage:
case 2: 86
85: Label
89: 7(float) Load 74(x)
90: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 89
90: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 89
91: 7(float) Load 72(f)
92: 7(float) FAdd 91 90
Store 72(f) 92
Branch 86
86: Label
93: 7(float) Load 74(x)
94: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 93
94: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 93
95: 7(float) Load 72(f)
96: 7(float) FAdd 95 94
Store 72(f) 96
Branch 88
87: Label
98: 7(float) Load 74(x)
99: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 98
99: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 98
100: 7(float) Load 72(f)
101: 7(float) FAdd 100 99
Store 72(f) 101
......@@ -152,14 +154,14 @@ Linked fragment stage:
case 2: 105
104: Label
107: 7(float) Load 74(x)
108: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 107
108: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 107
109: 7(float) Load 72(f)
110: 7(float) FAdd 109 108
Store 72(f) 110
Branch 106
105: Label
112: 7(float) Load 74(x)
113: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 112
113: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 112
114: 7(float) Load 72(f)
115: 7(float) FAdd 114 113
Store 72(f) 115
......@@ -172,7 +174,7 @@ Linked fragment stage:
case 2: 120
119: Label
123: 7(float) Load 74(x)
124: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 123
124: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 123
125: 7(float) Load 72(f)
126: 7(float) FAdd 125 124
Store 72(f) 126
......@@ -205,7 +207,7 @@ Linked fragment stage:
Branch 122
121: Label
149: 7(float) Load 74(x)
150: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 149
150: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 149
151: 7(float) Load 72(f)
152: 7(float) FAdd 151 150
Store 72(f) 152
......@@ -226,7 +228,7 @@ Linked fragment stage:
case 2: 165
164: Label
168: 7(float) Load 74(x)
169: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 168
169: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 168
170: 7(float) Load 72(f)
171: 7(float) FAdd 170 169
Store 72(f) 171
......@@ -256,14 +258,14 @@ Linked fragment stage:
Branch 167
165: Label
191: 7(float) Load 74(x)
192: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 191
192: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 191
193: 7(float) Load 72(f)
194: 7(float) FAdd 193 192
Store 72(f) 194
Branch 167
166: Label
197: 7(float) Load 74(x)
198: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 197
198: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 197
199: 7(float) Load 72(f)
200: 7(float) FAdd 199 198
Store 72(f) 200
......@@ -288,7 +290,7 @@ Linked fragment stage:
case 2: 212
211: Label
214: 7(float) Load 74(x)
215: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 214
215: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 214
216: 7(float) Load 72(f)
217: 7(float) FAdd 216 215
Store 72(f) 217
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 112
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "blendscale"
Name 13 "w"
......@@ -136,7 +138,7 @@ Linked fragment stage:
77: 11(fvec4) FMul 75 76
78: 11(fvec4) Load 23(w_flow)
79: 11(fvec4) FMul 77 78
80: 11(fvec4) ExtInst 1(GLSL.std.450) 36(mix) 71 72 79
80: 11(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 71 72 79
Store 70(gl_FragColor) 80
83: 28(fvec2) Load 30(t)
Store 82(c) 83
......
......@@ -5,27 +5,29 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 54
// Id's are bound by 56
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "blendscale"
Name 13 "v"
Name 16 "texSampler2D"
Name 20 "t"
Name 23 "scale"
Name 30 "w"
Name 33 "texSampler3D"
Name 37 "coords"
Name 43 "gl_FragColor"
Name 46 "u"
Name 49 "blend"
Decorate 20(t) Smooth
Decorate 37(coords) Smooth
Decorate 43(gl_FragColor) BuiltIn FragColor
Name 17 "texSampler2D"
Name 21 "t"
Name 24 "scale"
Name 31 "w"
Name 35 "texSampler3D"
Name 39 "coords"
Name 45 "gl_FragColor"
Name 48 "u"
Name 51 "blend"
Decorate 21(t) Smooth
Decorate 39(coords) Smooth
Decorate 45(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -33,54 +35,56 @@ Linked fragment stage:
10: 7(float) Constant 1071971828
11: TypeVector 7(float) 4
12: TypePointer Function 11(fvec4)
14: TypeSampler7(float) 2D filter+texture
15: TypePointer UniformConstant 14
16(texSampler2D): 15(ptr) Variable UniformConstant
18: TypeVector 7(float) 2
19: TypePointer Input 18(fvec2)
20(t): 19(ptr) Variable Input
22: TypePointer UniformConstant 18(fvec2)
23(scale): 22(ptr) Variable UniformConstant
31: TypeSampler7(float) 3D filter+texture
32: TypePointer UniformConstant 31
33(texSampler3D): 32(ptr) Variable UniformConstant
35: TypeVector 7(float) 3
36: TypePointer Input 35(fvec3)
37(coords): 36(ptr) Variable Input
42: TypePointer Output 11(fvec4)
43(gl_FragColor): 42(ptr) Variable Output
45: TypePointer UniformConstant 11(fvec4)
46(u): 45(ptr) Variable UniformConstant
48: TypePointer UniformConstant 7(float)
49(blend): 48(ptr) Variable UniformConstant
14: TypeImage 7(float) 2D sampled format:Unknown
15: TypeSampledImage 14
16: TypePointer UniformConstant 15
17(texSampler2D): 16(ptr) Variable UniformConstant
19: TypeVector 7(float) 2
20: TypePointer Input 19(fvec2)
21(t): 20(ptr) Variable Input
23: TypePointer UniformConstant 19(fvec2)
24(scale): 23(ptr) Variable UniformConstant
32: TypeImage 7(float) 3D sampled format:Unknown
33: TypeSampledImage 32
34: TypePointer UniformConstant 33
35(texSampler3D): 34(ptr) Variable UniformConstant
37: TypeVector 7(float) 3
38: TypePointer Input 37(fvec3)
39(coords): 38(ptr) Variable Input
44: TypePointer Output 11(fvec4)
45(gl_FragColor): 44(ptr) Variable Output
47: TypePointer UniformConstant 11(fvec4)
48(u): 47(ptr) Variable UniformConstant
50: TypePointer UniformConstant 7(float)
51(blend): 50(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(blendscale): 8(ptr) Variable Function
13(v): 12(ptr) Variable Function
30(w): 12(ptr) Variable Function
31(w): 12(ptr) Variable Function
Store 9(blendscale) 10
17: 14 Load 16(texSampler2D)
21: 18(fvec2) Load 20(t)
24: 18(fvec2) Load 23(scale)
25: 18(fvec2) FAdd 21 24
26: 18(fvec2) Load 23(scale)
27: 18(fvec2) FDiv 25 26
28: 11(fvec4) TextureSample 17 27
29: 11(fvec4) VectorShuffle 28 28 3 2 1 0
Store 13(v) 29
34: 31 Load 33(texSampler3D)
38: 35(fvec3) Load 37(coords)
39: 11(fvec4) TextureSample 34 38
40: 11(fvec4) Load 13(v)
41: 11(fvec4) FAdd 39 40
Store 30(w) 41
44: 11(fvec4) Load 30(w)
47: 11(fvec4) Load 46(u)
50: 7(float) Load 49(blend)
51: 7(float) Load 9(blendscale)
52: 7(float) FMul 50 51
53: 11(fvec4) ExtInst 1(GLSL.std.450) 36(mix) 44 47 52
Store 43(gl_FragColor) 53
18: 15 Load 17(texSampler2D)
22: 19(fvec2) Load 21(t)
25: 19(fvec2) Load 24(scale)
26: 19(fvec2) FAdd 22 25
27: 19(fvec2) Load 24(scale)
28: 19(fvec2) FDiv 26 27
29: 11(fvec4) ImageSampleImplicitLod 18 28
30: 11(fvec4) VectorShuffle 29 29 3 2 1 0
Store 13(v) 30
36: 33 Load 35(texSampler3D)
40: 37(fvec3) Load 39(coords)
41: 11(fvec4) ImageSampleImplicitLod 36 40
42: 11(fvec4) Load 13(v)
43: 11(fvec4) FAdd 41 42
Store 31(w) 43
46: 11(fvec4) Load 31(w)
49: 11(fvec4) Load 48(u)
52: 7(float) Load 51(blend)
53: 7(float) Load 9(blendscale)
54: 7(float) FMul 52 53
55: 11(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 46 49 54
Store 45(gl_FragColor) 55
Branch 6
6: Label
Return
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 264
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "b"
Name 11 "u_b"
......
......@@ -5,21 +5,23 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 52
// Id's are bound by 53
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "texColor"
Name 15 "color"
Name 26 "inColor"
Name 36 "alpha"
Name 47 "gl_FragColor"
Name 51 "texSampler2D"
Name 52 "texSampler2D"
Decorate 47(gl_FragColor) BuiltIn FragColor
Decorate 51(texSampler2D) NoStaticUse
Decorate 52(texSampler2D) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
......@@ -44,9 +46,10 @@ Linked fragment stage:
38: TypePointer UniformConstant 7(float)
46: TypePointer Output 8(fvec4)
47(gl_FragColor): 46(ptr) Variable Output
49: TypeSampler7(float) 2D filter+texture
50: TypePointer UniformConstant 49
51(texSampler2D): 50(ptr) Variable UniformConstant
49: TypeImage 7(float) 2D sampled format:Unknown
50: TypeSampledImage 49
51: TypePointer UniformConstant 50
52(texSampler2D): 51(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
10(texColor): 9(ptr) Variable Function
......
......@@ -7,12 +7,14 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 93
// Id's are bound by 94
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "iLocal"
Name 11 "Count"
......@@ -33,11 +35,11 @@ Linked fragment stage:
Name 35 "foo2"
Name 37 "foo"
Name 55 "gl_FragColor"
Name 59 "sampler"
Name 63 "coord"
Name 69 "constructed"
Name 60 "sampler"
Name 64 "coord"
Name 70 "constructed"
Decorate 55(gl_FragColor) BuiltIn FragColor
Decorate 63(coord) Smooth
Decorate 64(coord) Smooth
2: TypeVoid
3: TypeFunction 2
7: TypeInt 32 1
......@@ -68,23 +70,24 @@ Linked fragment stage:
53: TypeVector 13(float) 4
54: TypePointer Output 53(fvec4)
55(gl_FragColor): 54(ptr) Variable Output
57: TypeSampler13(float) 2D filter+texture
58: TypePointer UniformConstant 57
59(sampler): 58(ptr) Variable UniformConstant
61: TypeVector 13(float) 2
62: TypePointer Input 61(fvec2)
63(coord): 62(ptr) Variable Input
67: TypeArray 61(fvec2) 17
68: TypePointer Function 67
73: 13(float) Constant 1065353216
74: 13(float) Constant 1073741824
75: 61(fvec2) ConstantComposite 73 74
79: TypePointer Function 61(fvec2)
57: TypeImage 13(float) 2D sampled format:Unknown
58: TypeSampledImage 57
59: TypePointer UniformConstant 58
60(sampler): 59(ptr) Variable UniformConstant
62: TypeVector 13(float) 2
63: TypePointer Input 62(fvec2)
64(coord): 63(ptr) Variable Input
68: TypeArray 62(fvec2) 17
69: TypePointer Function 68
74: 13(float) Constant 1065353216
75: 13(float) Constant 1073741824
76: 62(fvec2) ConstantComposite 74 75
80: TypePointer Function 62(fvec2)
4(main): 2 Function None 3
5: Label
9(iLocal): 8(ptr) Variable Function
31(scale): 30(ptr) Variable Function
69(constructed): 68(ptr) Variable Function
70(constructed): 69(ptr) Variable Function
12: 7(int) Load 11(Count)
Store 9(iLocal) 12
24: 10(ptr) AccessChain 21(foo3) 22 23 22
......@@ -113,32 +116,32 @@ Linked fragment stage:
Branch 29
29: Label
56: 13(float) Load 31(scale)
60: 57 Load 59(sampler)
64: 61(fvec2) Load 63(coord)
65: 53(fvec4) TextureSample 60 64
66: 53(fvec4) VectorTimesScalar 65 56
Store 55(gl_FragColor) 66
70: 61(fvec2) Load 63(coord)
71: 13(float) Load 31(scale)
72: 61(fvec2) CompositeConstruct 71 71
76: 67 CompositeConstruct 70 72 75
Store 69(constructed) 76
77: 10(ptr) AccessChain 37(foo) 22
78: 7(int) Load 77
80: 79(ptr) AccessChain 69(constructed) 78
81: 61(fvec2) Load 80
82: 10(ptr) AccessChain 37(foo) 22
83: 7(int) Load 82
84: 79(ptr) AccessChain 69(constructed) 83
85: 61(fvec2) Load 84
86: 13(float) CompositeExtract 81 0
87: 13(float) CompositeExtract 81 1
88: 13(float) CompositeExtract 85 0
89: 13(float) CompositeExtract 85 1
90: 53(fvec4) CompositeConstruct 86 87 88 89
91: 53(fvec4) Load 55(gl_FragColor)
92: 53(fvec4) FAdd 91 90
Store 55(gl_FragColor) 92
61: 58 Load 60(sampler)
65: 62(fvec2) Load 64(coord)
66: 53(fvec4) ImageSampleImplicitLod 61 65
67: 53(fvec4) VectorTimesScalar 66 56
Store 55(gl_FragColor) 67
71: 62(fvec2) Load 64(coord)
72: 13(float) Load 31(scale)
73: 62(fvec2) CompositeConstruct 72 72
77: 68 CompositeConstruct 71 73 76
Store 70(constructed) 77
78: 10(ptr) AccessChain 37(foo) 22
79: 7(int) Load 78
81: 80(ptr) AccessChain 70(constructed) 79
82: 62(fvec2) Load 81
83: 10(ptr) AccessChain 37(foo) 22
84: 7(int) Load 83
85: 80(ptr) AccessChain 70(constructed) 84
86: 62(fvec2) Load 85
87: 13(float) CompositeExtract 82 0
88: 13(float) CompositeExtract 82 1
89: 13(float) CompositeExtract 86 0
90: 13(float) CompositeExtract 86 1
91: 53(fvec4) CompositeConstruct 87 88 89 90
92: 53(fvec4) Load 55(gl_FragColor)
93: 53(fvec4) FAdd 92 91
Store 55(gl_FragColor) 93
Branch 6
6: Label
Return
......
......@@ -10,87 +10,90 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 61
// Id's are bound by 62
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "texColor"
Name 13 "texSampler2D"
Name 19 "gl_TexCoord"
Name 34 "color"
Name 39 "alpha"
Name 44 "gl_FragColor"
Name 48 "foo"
Decorate 19(gl_TexCoord) Smooth
Decorate 34(color) Smooth
Decorate 39(alpha) Smooth
Decorate 44(gl_FragColor) BuiltIn FragColor
Decorate 48(foo) Smooth
Name 14 "texSampler2D"
Name 20 "gl_TexCoord"
Name 35 "color"
Name 40 "alpha"
Name 45 "gl_FragColor"
Name 49 "foo"
Decorate 20(gl_TexCoord) Smooth
Decorate 35(color) Smooth
Decorate 40(alpha) Smooth
Decorate 45(gl_FragColor) BuiltIn FragColor
Decorate 49(foo) Smooth
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4)
11: TypeSampler7(float) 2D filter+texture
12: TypePointer UniformConstant 11
13(texSampler2D): 12(ptr) Variable UniformConstant
15: TypeInt 32 0
16: 15(int) Constant 6
17: TypeArray 8(fvec4) 16
18: TypePointer Input 17
19(gl_TexCoord): 18(ptr) Variable Input
20: TypeInt 32 1
21: 20(int) Constant 4
22: TypePointer Input 8(fvec4)
25: 20(int) Constant 5
29: TypeVector 7(float) 2
34(color): 22(ptr) Variable Input
38: TypePointer Input 7(float)
39(alpha): 38(ptr) Variable Input
43: TypePointer Output 8(fvec4)
44(gl_FragColor): 43(ptr) Variable Output
45: 15(int) Constant 3
46: TypeArray 8(fvec4) 45
47: TypePointer Input 46
48(foo): 47(ptr) Variable Input
49: 20(int) Constant 1
52: 20(int) Constant 0
11: TypeImage 7(float) 2D sampled format:Unknown
12: TypeSampledImage 11
13: TypePointer UniformConstant 12
14(texSampler2D): 13(ptr) Variable UniformConstant
16: TypeInt 32 0
17: 16(int) Constant 6
18: TypeArray 8(fvec4) 17
19: TypePointer Input 18
20(gl_TexCoord): 19(ptr) Variable Input
21: TypeInt 32 1
22: 21(int) Constant 4
23: TypePointer Input 8(fvec4)
26: 21(int) Constant 5
30: TypeVector 7(float) 2
35(color): 23(ptr) Variable Input
39: TypePointer Input 7(float)
40(alpha): 39(ptr) Variable Input
44: TypePointer Output 8(fvec4)
45(gl_FragColor): 44(ptr) Variable Output
46: 16(int) Constant 3
47: TypeArray 8(fvec4) 46
48: TypePointer Input 47
49(foo): 48(ptr) Variable Input
50: 21(int) Constant 1
53: 21(int) Constant 0
4(main): 2 Function None 3
5: Label
10(texColor): 9(ptr) Variable Function
14: 11 Load 13(texSampler2D)
23: 22(ptr) AccessChain 19(gl_TexCoord) 21
24: 8(fvec4) Load 23
26: 22(ptr) AccessChain 19(gl_TexCoord) 25
27: 8(fvec4) Load 26
28: 8(fvec4) FAdd 24 27
30: 7(float) CompositeExtract 28 0
31: 7(float) CompositeExtract 28 1
32: 29(fvec2) CompositeConstruct 30 31
33: 8(fvec4) TextureSample 14 32
Store 10(texColor) 33
35: 8(fvec4) Load 34(color)
36: 8(fvec4) Load 10(texColor)
37: 8(fvec4) FAdd 36 35
Store 10(texColor) 37
40: 7(float) Load 39(alpha)
41: 8(fvec4) Load 10(texColor)
42: 8(fvec4) CompositeInsert 40 41 3
Store 10(texColor) 42
50: 22(ptr) AccessChain 48(foo) 49
51: 8(fvec4) Load 50
53: 22(ptr) AccessChain 19(gl_TexCoord) 52
54: 8(fvec4) Load 53
55: 8(fvec4) FAdd 51 54
56: 22(ptr) AccessChain 19(gl_TexCoord) 21
57: 8(fvec4) Load 56
58: 8(fvec4) FAdd 55 57
59: 8(fvec4) Load 10(texColor)
60: 8(fvec4) FAdd 58 59
Store 44(gl_FragColor) 60
15: 12 Load 14(texSampler2D)
24: 23(ptr) AccessChain 20(gl_TexCoord) 22
25: 8(fvec4) Load 24
27: 23(ptr) AccessChain 20(gl_TexCoord) 26
28: 8(fvec4) Load 27
29: 8(fvec4) FAdd 25 28
31: 7(float) CompositeExtract 29 0
32: 7(float) CompositeExtract 29 1
33: 30(fvec2) CompositeConstruct 31 32
34: 8(fvec4) ImageSampleImplicitLod 15 33
Store 10(texColor) 34
36: 8(fvec4) Load 35(color)
37: 8(fvec4) Load 10(texColor)
38: 8(fvec4) FAdd 37 36
Store 10(texColor) 38
41: 7(float) Load 40(alpha)
42: 8(fvec4) Load 10(texColor)
43: 8(fvec4) CompositeInsert 41 42 3
Store 10(texColor) 43
51: 23(ptr) AccessChain 49(foo) 50
52: 8(fvec4) Load 51
54: 23(ptr) AccessChain 20(gl_TexCoord) 53
55: 8(fvec4) Load 54
56: 8(fvec4) FAdd 52 55
57: 23(ptr) AccessChain 20(gl_TexCoord) 22
58: 8(fvec4) Load 57
59: 8(fvec4) FAdd 56 58
60: 8(fvec4) Load 10(texColor)
61: 8(fvec4) FAdd 59 60
Store 45(gl_FragColor) 61
Branch 6
6: Label
Return
......
......@@ -10,97 +10,100 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 69
// Id's are bound by 70
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "texColor"
Name 13 "texSampler2D"
Name 19 "userIn"
Name 22 "b"
Name 30 "gl_TexCoord"
Name 31 "a"
Name 45 "color"
Name 50 "alpha"
Name 55 "gl_FragColor"
Decorate 19(userIn) Smooth
Decorate 30(gl_TexCoord) Smooth
Decorate 45(color) Smooth
Decorate 50(alpha) Smooth
Decorate 55(gl_FragColor) BuiltIn FragColor
Name 14 "texSampler2D"
Name 20 "userIn"
Name 23 "b"
Name 31 "gl_TexCoord"
Name 32 "a"
Name 46 "color"
Name 51 "alpha"
Name 56 "gl_FragColor"
Decorate 20(userIn) Smooth
Decorate 31(gl_TexCoord) Smooth
Decorate 46(color) Smooth
Decorate 51(alpha) Smooth
Decorate 56(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4)
11: TypeSampler7(float) 2D filter+texture
12: TypePointer UniformConstant 11
13(texSampler2D): 12(ptr) Variable UniformConstant
15: TypeInt 32 0
16: 15(int) Constant 2
17: TypeArray 8(fvec4) 16
18: TypePointer Input 17
19(userIn): 18(ptr) Variable Input
20: TypeInt 32 1
21: TypePointer UniformConstant 20(int)
22(b): 21(ptr) Variable UniformConstant
24: TypePointer Input 8(fvec4)
27: 15(int) Constant 6
28: TypeArray 8(fvec4) 27
29: TypePointer Input 28
30(gl_TexCoord): 29(ptr) Variable Input
31(a): 21(ptr) Variable UniformConstant
36: 20(int) Constant 5
40: TypeVector 7(float) 2
45(color): 24(ptr) Variable Input
49: TypePointer Input 7(float)
50(alpha): 49(ptr) Variable Input
54: TypePointer Output 8(fvec4)
55(gl_FragColor): 54(ptr) Variable Output
56: 20(int) Constant 0
11: TypeImage 7(float) 2D sampled format:Unknown
12: TypeSampledImage 11
13: TypePointer UniformConstant 12
14(texSampler2D): 13(ptr) Variable UniformConstant
16: TypeInt 32 0
17: 16(int) Constant 2
18: TypeArray 8(fvec4) 17
19: TypePointer Input 18
20(userIn): 19(ptr) Variable Input
21: TypeInt 32 1
22: TypePointer UniformConstant 21(int)
23(b): 22(ptr) Variable UniformConstant
25: TypePointer Input 8(fvec4)
28: 16(int) Constant 6
29: TypeArray 8(fvec4) 28
30: TypePointer Input 29
31(gl_TexCoord): 30(ptr) Variable Input
32(a): 22(ptr) Variable UniformConstant
37: 21(int) Constant 5
41: TypeVector 7(float) 2
46(color): 25(ptr) Variable Input
50: TypePointer Input 7(float)
51(alpha): 50(ptr) Variable Input
55: TypePointer Output 8(fvec4)
56(gl_FragColor): 55(ptr) Variable Output
57: 21(int) Constant 0
4(main): 2 Function None 3
5: Label
10(texColor): 9(ptr) Variable Function
14: 11 Load 13(texSampler2D)
23: 20(int) Load 22(b)
25: 24(ptr) AccessChain 19(userIn) 23
26: 8(fvec4) Load 25
32: 20(int) Load 31(a)
33: 24(ptr) AccessChain 30(gl_TexCoord) 32
34: 8(fvec4) Load 33
35: 8(fvec4) FAdd 26 34
37: 24(ptr) AccessChain 30(gl_TexCoord) 36
38: 8(fvec4) Load 37
39: 8(fvec4) FAdd 35 38
41: 7(float) CompositeExtract 39 0
42: 7(float) CompositeExtract 39 1
43: 40(fvec2) CompositeConstruct 41 42
44: 8(fvec4) TextureSample 14 43
Store 10(texColor) 44
46: 8(fvec4) Load 45(color)
47: 8(fvec4) Load 10(texColor)
48: 8(fvec4) FAdd 47 46
Store 10(texColor) 48
51: 7(float) Load 50(alpha)
52: 8(fvec4) Load 10(texColor)
53: 8(fvec4) CompositeInsert 51 52 3
Store 10(texColor) 53
57: 24(ptr) AccessChain 30(gl_TexCoord) 56
58: 8(fvec4) Load 57
59: 20(int) Load 22(b)
60: 24(ptr) AccessChain 30(gl_TexCoord) 59
61: 8(fvec4) Load 60
62: 8(fvec4) FAdd 58 61
63: 8(fvec4) Load 10(texColor)
64: 8(fvec4) FAdd 62 63
65: 20(int) Load 31(a)
66: 24(ptr) AccessChain 19(userIn) 65
67: 8(fvec4) Load 66
68: 8(fvec4) FAdd 64 67
Store 55(gl_FragColor) 68
15: 12 Load 14(texSampler2D)
24: 21(int) Load 23(b)
26: 25(ptr) AccessChain 20(userIn) 24
27: 8(fvec4) Load 26
33: 21(int) Load 32(a)
34: 25(ptr) AccessChain 31(gl_TexCoord) 33
35: 8(fvec4) Load 34
36: 8(fvec4) FAdd 27 35
38: 25(ptr) AccessChain 31(gl_TexCoord) 37
39: 8(fvec4) Load 38
40: 8(fvec4) FAdd 36 39
42: 7(float) CompositeExtract 40 0
43: 7(float) CompositeExtract 40 1
44: 41(fvec2) CompositeConstruct 42 43
45: 8(fvec4) ImageSampleImplicitLod 15 44
Store 10(texColor) 45
47: 8(fvec4) Load 46(color)
48: 8(fvec4) Load 10(texColor)
49: 8(fvec4) FAdd 48 47
Store 10(texColor) 49
52: 7(float) Load 51(alpha)
53: 8(fvec4) Load 10(texColor)
54: 8(fvec4) CompositeInsert 52 53 3
Store 10(texColor) 54
58: 25(ptr) AccessChain 31(gl_TexCoord) 57
59: 8(fvec4) Load 58
60: 21(int) Load 23(b)
61: 25(ptr) AccessChain 31(gl_TexCoord) 60
62: 8(fvec4) Load 61
63: 8(fvec4) FAdd 59 62
64: 8(fvec4) Load 10(texColor)
65: 8(fvec4) FAdd 63 64
66: 21(int) Load 32(a)
67: 25(ptr) AccessChain 20(userIn) 66
68: 8(fvec4) Load 67
69: 8(fvec4) FAdd 65 68
Store 56(gl_FragColor) 69
Branch 6
6: Label
Return
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 43
Source GLSL 120
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 7 "foo("
Name 9 "foo2("
......
......@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 43
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 18 "A"
......@@ -19,15 +20,8 @@ Linked vertex stage:
Name 38 "D"
Name 41 "gl_VertexID"
Name 42 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 18(A) PrecisionHigh
Decorate 26(B) PrecisionHigh
Decorate 28(C) PrecisionHigh
Decorate 38(D) PrecisionHigh
Decorate 41(gl_VertexID) PrecisionHigh
Decorate 41(gl_VertexID) BuiltIn VertexId
Decorate 41(gl_VertexID) NoStaticUse
Decorate 42(gl_InstanceID) PrecisionHigh
Decorate 42(gl_InstanceID) BuiltIn InstanceId
Decorate 42(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -8,18 +8,16 @@ Linked vertex stage:
// Id's are bound by 24
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
EntryPoint Vertex 4 "main"
Name 4 "main"
Name 9 "i"
Name 22 "gl_VertexID"
Name 23 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 22(gl_VertexID) PrecisionHigh
Decorate 22(gl_VertexID) BuiltIn VertexId
Decorate 22(gl_VertexID) NoStaticUse
Decorate 23(gl_InstanceID) PrecisionHigh
Decorate 23(gl_InstanceID) BuiltIn InstanceId
Decorate 23(gl_InstanceID) NoStaticUse
2: TypeVoid
......
......@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 32
Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 10 "color"
Name 12 "BaseColor"
......
......@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "2.3.703"
#define GLSLANG_REVISION "2.3.704"
#define GLSLANG_DATE "06-Aug-2015"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment