Commit 5e4b1242 by John Kessenich

Move to revision 31 of SPIR-V.

parent e24a74c3
...@@ -10,7 +10,8 @@ set(SOURCES ...@@ -10,7 +10,8 @@ set(SOURCES
disassemble.cpp) disassemble.cpp)
set(HEADERS set(HEADERS
spirv.h spirv.hpp
GLSL.std.450.h
GlslangToSpv.h GlslangToSpv.h
SpvBuilder.h SpvBuilder.h
SPVRemapper.h SPVRemapper.h
......
This diff is collapsed. Click to expand it.
...@@ -82,6 +82,8 @@ namespace spv { ...@@ -82,6 +82,8 @@ namespace spv {
case spv::OpTypeFloat: // fall through... case spv::OpTypeFloat: // fall through...
case spv::OpTypePointer: return range_t(2, 3); case spv::OpTypePointer: return range_t(2, 3);
case spv::OpTypeInt: return range_t(2, 4); 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::OpTypeSampler: return range_t(3, 8);
case spv::OpTypeVector: // fall through case spv::OpTypeVector: // fall through
case spv::OpTypeMatrix: // ... case spv::OpTypeMatrix: // ...
...@@ -164,8 +166,8 @@ namespace spv { ...@@ -164,8 +166,8 @@ namespace spv {
case spv::OpTypeFloat: case spv::OpTypeFloat:
case spv::OpTypeVector: case spv::OpTypeVector:
case spv::OpTypeMatrix: case spv::OpTypeMatrix:
case spv::OpTypeImage:
case spv::OpTypeSampler: case spv::OpTypeSampler:
case spv::OpTypeFilter:
case spv::OpTypeArray: case spv::OpTypeArray:
case spv::OpTypeRuntimeArray: case spv::OpTypeRuntimeArray:
case spv::OpTypeStruct: case spv::OpTypeStruct:
...@@ -184,12 +186,11 @@ namespace spv { ...@@ -184,12 +186,11 @@ namespace spv {
bool spirvbin_t::isConstOp(spv::Op opCode) const bool spirvbin_t::isConstOp(spv::Op opCode) const
{ {
switch (opCode) { 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::OpConstantSampler: error("unimplemented constant type");
case spv::OpConstantTrue: case spv::OpConstantTrue:
case spv::OpConstantFalse: case spv::OpConstantFalse:
case spv::OpConstantNullPointer:
case spv::OpConstantComposite: case spv::OpConstantComposite:
case spv::OpConstant: return true; case spv::OpConstant: return true;
default: return false; default: return false;
...@@ -486,7 +487,7 @@ namespace spv { ...@@ -486,7 +487,7 @@ namespace spv {
case spv::OperandFunction: case spv::OperandFunction:
case spv::OperandMemorySemantics: case spv::OperandMemorySemantics:
case spv::OperandMemoryAccess: case spv::OperandMemoryAccess:
case spv::OperandExecutionScope: case spv::OperandScope:
case spv::OperandGroupOperation: case spv::OperandGroupOperation:
case spv::OperandKernelEnqueueFlags: case spv::OperandKernelEnqueueFlags:
case spv::OperandKernelProfilingInfo: case spv::OperandKernelProfilingInfo:
...@@ -610,19 +611,14 @@ namespace spv { ...@@ -610,19 +611,14 @@ namespace spv {
fnId = asId(start + 2); fnId = asId(start + 2);
break; break;
case spv::OpTextureSample: case spv::OpImageSampleImplicitLod:
case spv::OpTextureSampleDref: case spv::OpImageSampleExplicitLod:
case spv::OpTextureSampleLod: case spv::OpImageSampleDrefImplicitLod:
case spv::OpTextureSampleProj: case spv::OpImageSampleDrefExplicitLod:
case spv::OpTextureSampleGrad: case spv::OpImageSampleProjImplicitLod:
case spv::OpTextureSampleOffset: case spv::OpImageSampleProjExplicitLod:
case spv::OpTextureSampleProjLod: case spv::OpImageSampleProjDrefImplicitLod:
case spv::OpTextureSampleProjGrad: case spv::OpImageSampleProjDrefExplicitLod:
case spv::OpTextureSampleLodOffset:
case spv::OpTextureSampleProjOffset:
case spv::OpTextureSampleGradOffset:
case spv::OpTextureSampleProjLodOffset:
case spv::OpTextureSampleProjGradOffset:
case spv::OpDot: case spv::OpDot:
case spv::OpCompositeExtract: case spv::OpCompositeExtract:
case spv::OpCompositeInsert: case spv::OpCompositeInsert:
...@@ -668,7 +664,7 @@ namespace spv { ...@@ -668,7 +664,7 @@ namespace spv {
process( process(
[&](spv::Op opCode, unsigned start) { [&](spv::Op opCode, unsigned start) {
// Add inputs and uniforms to the map // 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::StorageClassUniform ||
spv[start+3] == spv::StorageClassUniformConstant || spv[start+3] == spv::StorageClassUniformConstant ||
spv[start+3] == spv::StorageClassInput)) spv[start+3] == spv::StorageClassInput))
...@@ -695,7 +691,7 @@ namespace spv { ...@@ -695,7 +691,7 @@ namespace spv {
process( process(
[&](spv::Op opCode, unsigned start) { [&](spv::Op opCode, unsigned start) {
// Add inputs and uniforms to the map // 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)) (spv[start+3] == spv::StorageClassOutput))
fnLocalVars.insert(asId(start+2)); fnLocalVars.insert(asId(start+2));
...@@ -729,8 +725,7 @@ namespace spv { ...@@ -729,8 +725,7 @@ namespace spv {
const int wordCount = asWordCount(start); const int wordCount = asWordCount(start);
// Add local variables to the map // Add local variables to the map
if ((opCode == spv::OpVariable && spv[start+3] == spv::StorageClassFunction && asWordCount(start) == 4) || if ((opCode == spv::OpVariable && spv[start+3] == spv::StorageClassFunction && asWordCount(start) == 4))
(opCode == spv::OpVariableArray && spv[start+3] == spv::StorageClassFunction))
fnLocalVars.insert(asId(start+2)); fnLocalVars.insert(asId(start+2));
// Ignore process vars referenced via access chain // Ignore process vars referenced via access chain
...@@ -1008,14 +1003,14 @@ namespace spv { ...@@ -1008,14 +1003,14 @@ namespace spv {
return 6 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1); return 6 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
case spv::OpTypeMatrix: case spv::OpTypeMatrix:
return 30 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1); return 30 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
case spv::OpTypeSampler: case spv::OpTypeImage:
return 120 + hashType(typePos(spv[typeStart+2])) + return 120 + hashType(typePos(spv[typeStart+2])) +
spv[typeStart+3] + // dimensionality spv[typeStart+3] + // dimensionality
spv[typeStart+4] * 8 * 16 + // content spv[typeStart+4] * 8 * 16 + // depth
spv[typeStart+5] * 4 * 16 + // arrayed spv[typeStart+5] * 4 * 16 + // arrayed
spv[typeStart+6] * 2 * 16 + // compare spv[typeStart+6] * 2 * 16 + // multisampled
spv[typeStart+7] * 1 * 16; // multisampled spv[typeStart+7] * 1 * 16; // format
case spv::OpTypeFilter: case spv::OpTypeSampler:
return 500; return 500;
case spv::OpTypeArray: case spv::OpTypeArray:
return 501 + hashType(typePos(spv[typeStart+2])) * spv[typeStart+3]; return 501 + hashType(typePos(spv[typeStart+2])) * spv[typeStart+3];
...@@ -1045,12 +1040,11 @@ namespace spv { ...@@ -1045,12 +1040,11 @@ namespace spv {
case spv::OpTypeQueue: return 300003; case spv::OpTypeQueue: return 300003;
case spv::OpTypePipe: return 300004; case spv::OpTypePipe: return 300004;
case spv::OpConstantNullObject: return 300005; case spv::OpConstantNull: return 300005;
case spv::OpConstantSampler: return 300006; case spv::OpConstantSampler: return 300006;
case spv::OpConstantTrue: return 300007; case spv::OpConstantTrue: return 300007;
case spv::OpConstantFalse: return 300008; case spv::OpConstantFalse: return 300008;
case spv::OpConstantNullPointer: return 300009;
case spv::OpConstantComposite: case spv::OpConstantComposite:
{ {
std::uint32_t hash = 300011 + hashType(typePos(spv[typeStart+1])); std::uint32_t hash = 300011 + hashType(typePos(spv[typeStart+1]));
......
...@@ -101,7 +101,7 @@ public: ...@@ -101,7 +101,7 @@ public:
#include <set> #include <set>
#include <cassert> #include <cassert>
#include "spirv.h" #include "spirv.hpp"
#include "spvIR.h" #include "spvIR.h"
namespace spv { namespace spv {
......
This diff is collapsed. Click to expand it.
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
#ifndef SpvBuilder_H #ifndef SpvBuilder_H
#define SpvBuilder_H #define SpvBuilder_H
#include "spirv.h" #include "spirv.hpp"
#include "spvIR.h" #include "spvIR.h"
#include <algorithm> #include <algorithm>
...@@ -77,6 +77,8 @@ public: ...@@ -77,6 +77,8 @@ public:
memoryModel = mem; memoryModel = mem;
} }
void addCapability(spv::Capability cap) { capabilities.push_back(cap); }
// To get a new <id> for anything needing a new one. // To get a new <id> for anything needing a new one.
Id getUniqueId() { return ++uniqueId; } Id getUniqueId() { return ++uniqueId; }
...@@ -101,12 +103,8 @@ public: ...@@ -101,12 +103,8 @@ public:
Id makeMatrixType(Id component, int cols, int rows); Id makeMatrixType(Id component, int cols, int rows);
Id makeArrayType(Id element, unsigned size); Id makeArrayType(Id element, unsigned size);
Id makeFunctionType(Id returnType, std::vector<Id>& paramTypes); Id makeFunctionType(Id returnType, std::vector<Id>& paramTypes);
enum samplerContent { Id makeImageType(Id sampledType, Dim, bool depth, bool arrayed, bool ms, unsigned sampled, ImageFormat format);
samplerContentTexture, Id makeSampledImageType(Id imageType);
samplerContentImage,
samplerContentTextureFilter
};
Id makeSampler(Id sampledType, Dim, samplerContent, bool arrayed, bool shadow, bool ms);
// For querying about types. // For querying about types.
Id getTypeId(Id resultId) const { return module.getTypeId(resultId); } Id getTypeId(Id resultId) const { return module.getTypeId(resultId); }
...@@ -133,7 +131,9 @@ public: ...@@ -133,7 +131,9 @@ public:
bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; } bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; }
bool isArrayType(Id typeId) const { return getTypeClass(typeId) == OpTypeArray; } bool isArrayType(Id typeId) const { return getTypeClass(typeId) == OpTypeArray; }
bool isAggregateType(Id typeId) const { return isArrayType(typeId) || isStructType(typeId); } 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 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; } bool isConstantScalar(Id resultId) const { return getOpCode(resultId) == OpConstant; }
unsigned int getConstantScalar(Id resultId) const { return module.getInstruction(resultId)->getImmediateOperand(0); } unsigned int getConstantScalar(Id resultId) const { return module.getInstruction(resultId)->getImmediateOperand(0); }
...@@ -151,15 +151,20 @@ public: ...@@ -151,15 +151,20 @@ public:
} }
int getNumRows(Id resultId) const { return getTypeNumRows(getTypeId(resultId)); } 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))); assert(isSampledImageType(getTypeId(resultId)));
return (Dim)module.getInstruction(getTypeId(resultId))->getImmediateOperand(1); return module.getInstruction(getTypeId(resultId))->getIdOperand(0);
} }
bool isArrayedSampler(Id resultId) const bool isArrayedImageType(Id typeId) const
{ {
assert(isSamplerType(getTypeId(resultId))); assert(isImageType(typeId));
return module.getInstruction(getTypeId(resultId))->getImmediateOperand(3) != 0; return module.getInstruction(typeId)->getImmediateOperand(3) != 0;
} }
// For making new constants (will return old constant if the requested one was already made). // For making new constants (will return old constant if the requested one was already made).
...@@ -174,7 +179,7 @@ public: ...@@ -174,7 +179,7 @@ public:
Id makeCompositeConstant(Id type, std::vector<Id>& comps); Id makeCompositeConstant(Id type, std::vector<Id>& comps);
// Methods for adding information outside the CFG. // 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 addExecutionMode(Function*, ExecutionMode mode, int value = -1);
void addName(Id, const char* name); void addName(Id, const char* name);
void addMemberName(Id, int member, const char* name); void addMemberName(Id, int member, const char* name);
...@@ -233,12 +238,12 @@ public: ...@@ -233,12 +238,12 @@ public:
void createNoResultOp(Op); void createNoResultOp(Op);
void createNoResultOp(Op, Id operand); void createNoResultOp(Op, Id operand);
void createControlBarrier(unsigned executionScope); void createControlBarrier(Scope execution, Scope memory, MemorySemanticsMask);
void createMemoryBarrier(unsigned executionScope, unsigned memorySemantics); void createMemoryBarrier(unsigned executionScope, unsigned memorySemantics);
Id createUnaryOp(Op, Id typeId, Id operand); Id createUnaryOp(Op, Id typeId, Id operand);
Id createBinOp(Op, Id typeId, Id operand1, Id operand2); Id createBinOp(Op, Id typeId, Id operand1, Id operand2);
Id createTriOp(Op, Id typeId, Id operand1, Id operand2, Id operand3); 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>&); Id createFunctionCall(spv::Function*, std::vector<spv::Id>&);
// Take an rvalue (source) and a set of channels to extract from it to // Take an rvalue (source) and a set of channels to extract from it to
...@@ -283,8 +288,10 @@ public: ...@@ -283,8 +288,10 @@ public:
Id lod; Id lod;
Id Dref; Id Dref;
Id offset; Id offset;
Id offsets;
Id gradX; Id gradX;
Id gradY; Id gradY;
Id sample;
}; };
// Select the correct texture operation based on all inputs, and emit the correct instruction // Select the correct texture operation based on all inputs, and emit the correct instruction
...@@ -497,6 +504,7 @@ protected: ...@@ -497,6 +504,7 @@ protected:
std::vector<const char*> extensions; std::vector<const char*> extensions;
AddressingModel addressModel; AddressingModel addressModel;
MemoryModel memoryModel; MemoryModel memoryModel;
std::vector<spv::Capability> capabilities;
int builderNumber; int builderNumber;
Module module; Module module;
Block* buildPoint; Block* buildPoint;
......
This diff is collapsed. Click to expand it.
// //
//Copyright (C) 2014 LunarG, Inc. //Copyright (C) 2014-2015 LunarG, Inc.
// //
//All rights reserved. //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. //All rights reserved.
// //
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
// Parameterize the SPIR-V enumerants. // Parameterize the SPIR-V enumerants.
// //
#include "spirv.h" #include "spirv.hpp"
#include <vector> #include <vector>
...@@ -64,6 +64,10 @@ const char* LoopControlString(int); ...@@ -64,6 +64,10 @@ const char* LoopControlString(int);
const char* FunctionControlString(int); const char* FunctionControlString(int);
const char* SamplerAddressingModeString(int); const char* SamplerAddressingModeString(int);
const char* SamplerFilterModeString(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* FPFastMathString(int);
const char* FPRoundingModeString(int); const char* FPRoundingModeString(int);
const char* LinkageTypeString(int); const char* LinkageTypeString(int);
...@@ -75,11 +79,12 @@ const char* ExecutionScopeString(int); ...@@ -75,11 +79,12 @@ const char* ExecutionScopeString(int);
const char* GroupOperationString(int); const char* GroupOperationString(int);
const char* KernelEnqueueFlagsString(int); const char* KernelEnqueueFlagsString(int);
const char* KernelProfilingInfoString(int); const char* KernelProfilingInfoString(int);
const char* CapabilityString(int);
const char* OpcodeString(int); const char* OpcodeString(int);
// For grouping opcodes into subsections // For grouping opcodes into subsections
enum OpcodeClass { enum OpcodeClass {
OpClassMisc, // default, until opcode is classified OpClassMisc,
OpClassDebug, OpClassDebug,
OpClassAnnotate, OpClassAnnotate,
OpClassExtension, OpClassExtension,
...@@ -88,10 +93,11 @@ enum OpcodeClass { ...@@ -88,10 +93,11 @@ enum OpcodeClass {
OpClassConstant, OpClassConstant,
OpClassMemory, OpClassMemory,
OpClassFunction, OpClassFunction,
OpClassTexture, OpClassImage,
OpClassConvert, OpClassConvert,
OpClassComposite, OpClassComposite,
OpClassArithmetic, OpClassArithmetic,
OpClassBit,
OpClassRelationalLogical, OpClassRelationalLogical,
OpClassDerivative, OpClassDerivative,
OpClassFlowControl, OpClassFlowControl,
...@@ -102,7 +108,8 @@ enum OpcodeClass { ...@@ -102,7 +108,8 @@ enum OpcodeClass {
OpClassDeviceSideEnqueue, OpClassDeviceSideEnqueue,
OpClassPipe, OpClassPipe,
OpClassCount OpClassCount,
OpClassMissing // all instructions start out as missing
}; };
// For parameterizing operands. // For parameterizing operands.
...@@ -110,8 +117,11 @@ enum OperandClass { ...@@ -110,8 +117,11 @@ enum OperandClass {
OperandNone, OperandNone,
OperandId, OperandId,
OperandOptionalId, OperandOptionalId,
OperandOptionalImage,
OperandVariableIds, OperandVariableIds,
OperandOptionalLiteral,
OperandVariableLiterals, OperandVariableLiterals,
OperandVariableIdLiteral,
OperandVariableLiteralId, OperandVariableLiteralId,
OperandLiteralNumber, OperandLiteralNumber,
OperandLiteralString, OperandLiteralString,
...@@ -124,6 +134,10 @@ enum OperandClass { ...@@ -124,6 +134,10 @@ enum OperandClass {
OperandDimensionality, OperandDimensionality,
OperandSamplerAddressingMode, OperandSamplerAddressingMode,
OperandSamplerFilterMode, OperandSamplerFilterMode,
OperandSamplerImageFormat,
OperandImageChannelOrder,
OperandImageChannelDataType,
OperandImageOperands,
OperandFPFastMath, OperandFPFastMath,
OperandFPRoundingMode, OperandFPRoundingMode,
OperandLinkageType, OperandLinkageType,
...@@ -136,29 +150,17 @@ enum OperandClass { ...@@ -136,29 +150,17 @@ enum OperandClass {
OperandFunction, OperandFunction,
OperandMemorySemantics, OperandMemorySemantics,
OperandMemoryAccess, OperandMemoryAccess,
OperandExecutionScope, OperandScope,
OperandGroupOperation, OperandGroupOperation,
OperandKernelEnqueueFlags, OperandKernelEnqueueFlags,
OperandKernelProfilingInfo, OperandKernelProfilingInfo,
OperandCapability,
OperandOpcode, OperandOpcode,
OperandCount 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: // Any specific enum can have a set of capabilities that allow it:
typedef std::vector<Capability> EnumCaps; typedef std::vector<Capability> EnumCaps;
...@@ -213,8 +215,8 @@ public: ...@@ -213,8 +215,8 @@ public:
class InstructionParameters { class InstructionParameters {
public: public:
InstructionParameters() : InstructionParameters() :
opDesc(0), opDesc("TBD"),
opClass(OpClassMisc), opClass(OpClassMissing),
typePresent(true), // most normal, only exceptions have to be spelled out typePresent(true), // most normal, only exceptions have to be spelled out
resultPresent(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: ...@@ -238,7 +240,7 @@ protected:
int resultPresent : 1; int resultPresent : 1;
}; };
const int OpcodeCeiling = 267; const int OpcodeCeiling = 305;
// The set of objects that hold all the instruction/operand // The set of objects that hold all the instruction/operand
// parameterization information. // parameterization information.
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
#ifndef spvIR_H #ifndef spvIR_H
#define spvIR_H #define spvIR_H
#include "spirv.h" #include "spirv.hpp"
#include <vector> #include <vector>
#include <iostream> #include <iostream>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#include "./../glslang/Include/revision.h" #include "./../glslang/Include/revision.h"
#include "./../glslang/Public/ShaderLang.h" #include "./../glslang/Public/ShaderLang.h"
#include "../SPIRV/GlslangToSpv.h" #include "../SPIRV/GlslangToSpv.h"
#include "../SPIRV/GLSL450Lib.h" #include "../SPIRV/GLSL.std.450.h"
#include "../SPIRV/doc.h" #include "../SPIRV/doc.h"
#include "../SPIRV/disassemble.h" #include "../SPIRV/disassemble.h"
#include <string.h> #include <string.h>
...@@ -644,8 +644,6 @@ CompileShaders(void*) ...@@ -644,8 +644,6 @@ CompileShaders(void*)
return 0; return 0;
} }
const char* GlslStd450DebugNames[GLSL_STD_450::Count];
// Outputs the given string, but only if it is non-null and non-empty. // Outputs the given string, but only if it is non-null and non-empty.
// This prevents erroneous newlines from appearing. // This prevents erroneous newlines from appearing.
void PutsIfNonEmpty(const char* str) void PutsIfNonEmpty(const char* str)
...@@ -754,7 +752,6 @@ void CompileAndLinkShaders() ...@@ -754,7 +752,6 @@ void CompileAndLinkShaders()
glslang::OutputSpv(spirv, GetBinaryName((EShLanguage)stage)); glslang::OutputSpv(spirv, GetBinaryName((EShLanguage)stage));
if (Options & EOptionHumanReadableSpv) { if (Options & EOptionHumanReadableSpv) {
spv::Parameterize(); spv::Parameterize();
GLSL_STD_450::GetDebugNames(GlslStd450DebugNames);
spv::Disassemble(std::cout, spirv); spv::Disassemble(std::cout, spirv);
} }
} }
...@@ -790,7 +787,7 @@ int C_DECL main(int argc, char* argv[]) ...@@ -790,7 +787,7 @@ int C_DECL main(int argc, char* argv[])
std::string spirvVersion; std::string spirvVersion;
glslang::GetSpirvVersion(spirvVersion); glslang::GetSpirvVersion(spirvVersion);
printf("SPIR-V Version %s\n", spirvVersion.c_str()); 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()) if (Worklist.empty())
return ESuccess; return ESuccess;
} }
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 48 // Id's are bound by 48
Source ESSL 100 Source ESSL 100
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 9 "foo(" Name 9 "foo("
Name 12 "face1" Name 12 "face1"
...@@ -19,68 +21,68 @@ Linked fragment stage: ...@@ -19,68 +21,68 @@ Linked fragment stage:
Name 22 "low" Name 22 "low"
Name 27 "high" Name 27 "high"
Name 37 "gl_FragColor" Name 37 "gl_FragColor"
Decorate 12(face1) PrecisionLow Decorate 12(face1) RelaxedPrecision
Decorate 14(face2) PrecisionLow Decorate 14(face2) RelaxedPrecision
Decorate 18(z) PrecisionMedium Decorate 18(z) RelaxedPrecision
Decorate 22(low) PrecisionMedium Decorate 22(low) RelaxedPrecision
Decorate 27(high) PrecisionMedium Decorate 27(high) RelaxedPrecision
Decorate 37(gl_FragColor) PrecisionMedium Decorate 37(gl_FragColor) RelaxedPrecision
Decorate 37(gl_FragColor) BuiltIn FragColor Decorate 37(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeFunction 7(float) 8: TypeFunction 7(float)
11: TypePointer PrivateGlobal 7(float) 11: TypePointer PrivateGlobal 7(float)
12(face1): 11(ptr) Variable PrivateGlobal 12(face1): 11(ptr) Variable PrivateGlobal
13: 7(float) Constant 1093664768 13: 7(float) Constant 1093664768
14(face2): 11(ptr) Variable PrivateGlobal 14(face2): 11(ptr) Variable PrivateGlobal
15: 7(float) Constant 3221225472 15: 7(float) Constant 3221225472
16: TypeInt 32 1 16: TypeInt 32 1
17: TypePointer Function 16(int) 17: TypePointer Function 16(int)
19: 16(int) Constant 3 19: 16(int) Constant 3
20: 16(int) Constant 2 20: 16(int) Constant 2
21: TypePointer UniformConstant 16(int) 21: TypePointer UniformConstant 16(int)
22(low): 21(ptr) Variable UniformConstant 22(low): 21(ptr) Variable UniformConstant
25: 16(int) Constant 1 25: 16(int) Constant 1
27(high): 21(ptr) Variable UniformConstant 27(high): 21(ptr) Variable UniformConstant
29: TypeBool 29: TypeBool
35: TypeVector 7(float) 4 35: TypeVector 7(float) 4
36: TypePointer Output 35(fvec4) 36: TypePointer Output 35(fvec4)
37(gl_FragColor): 36(ptr) Variable Output 37(gl_FragColor): 36(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
18(z): 17(ptr) Variable Function 18(z): 17(ptr) Variable Function
Store 12(face1) 13 Store 12(face1) 13
Store 14(face2) 15 Store 14(face2) 15
Store 18(z) 19 Store 18(z) 19
23: 16(int) Load 22(low) 23: 16(int) Load 22(low)
24: 16(int) IMul 20 23 24: 16(int) IMul 20 23
26: 16(int) IAdd 24 25 26: 16(int) IAdd 24 25
28: 16(int) Load 27(high) 28: 16(int) Load 27(high)
30: 29(bool) SLessThan 26 28 30: 29(bool) SLessThan 26 28
SelectionMerge 32 None SelectionMerge 32 None
BranchConditional 30 31 32 BranchConditional 30 31 32
31: Label 31: Label
33: 16(int) Load 18(z) 33: 16(int) Load 18(z)
34: 16(int) IAdd 33 25 34: 16(int) IAdd 33 25
Store 18(z) 34 Store 18(z) 34
Branch 32 Branch 32
32: Label 32: Label
38: 7(float) Load 12(face1) 38: 7(float) Load 12(face1)
39: 16(int) Load 18(z) 39: 16(int) Load 18(z)
40: 7(float) ConvertSToF 39 40: 7(float) ConvertSToF 39
41: 35(fvec4) CompositeConstruct 40 40 40 40 41: 35(fvec4) CompositeConstruct 40 40 40 40
42: 35(fvec4) VectorTimesScalar 41 38 42: 35(fvec4) VectorTimesScalar 41 38
43: 7(float) FunctionCall 9(foo() 43: 7(float) FunctionCall 9(foo()
44: 35(fvec4) CompositeConstruct 43 43 43 43 44: 35(fvec4) CompositeConstruct 43 43 43 43
45: 35(fvec4) FAdd 42 44 45: 35(fvec4) FAdd 42 44
Store 37(gl_FragColor) 45 Store 37(gl_FragColor) 45
Branch 6 Branch 6
6: Label 6: Label
Return Return
FunctionEnd FunctionEnd
9(foo(): 7(float) Function None 8 9(foo(): 7(float) Function None 8
10: Label 10: Label
46: 7(float) Load 14(face2) 46: 7(float) Load 14(face2)
ReturnValue 46 ReturnValue 46
FunctionEnd FunctionEnd
...@@ -8,12 +8,13 @@ Linked geometry stage: ...@@ -8,12 +8,13 @@ Linked geometry stage:
// Id's are bound by 72 // Id's are bound by 72
Source GLSL 150 Source GLSL 150
Capability Geometry
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Geometry 4 EntryPoint Geometry 4 "main"
ExecutionMode 4 InputTrianglesAdjacency ExecutionMode 4 InputTrianglesAdjacency
ExecutionMode 4 Invocations 0 ExecutionMode 4 Invocations 0
ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 30 ExecutionMode 4 OutputVertices 30
Name 4 "main" Name 4 "main"
Name 9 "fromVertex" Name 9 "fromVertex"
...@@ -38,36 +39,36 @@ Linked geometry stage: ...@@ -38,36 +39,36 @@ Linked geometry stage:
Name 69 "toFragment" Name 69 "toFragment"
MemberName 69(toFragment) 0 "color" MemberName 69(toFragment) 0 "color"
Name 71 "toF" Name 71 "toF"
Decorate 9(fromVertex) Block Decorate 9(fromVertex) Block
Decorate 9(fromVertex) Stream 3 Decorate 9(fromVertex) Stream 3
Decorate 11 Stream 3 Decorate 11 Stream 3
Decorate 14(fromVertex) Block Decorate 14(fromVertex) Block
MemberDecorate 28(gl_PerVertex) 0 BuiltIn Position MemberDecorate 28(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 28(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 28(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 28(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 28(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 28(gl_PerVertex) Block Decorate 28(gl_PerVertex) Block
Decorate 28(gl_PerVertex) Stream 0 Decorate 28(gl_PerVertex) Stream 0
Decorate 30 Stream 0 Decorate 30 Stream 0
MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 31(gl_PerVertex) Block Decorate 31(gl_PerVertex) Block
Decorate 48(gl_PrimitiveID) Stream 0 Decorate 48(gl_PrimitiveID) Stream 0
Decorate 48(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 48(gl_PrimitiveID) BuiltIn PrimitiveId
Decorate 50(gl_PrimitiveIDIn) BuiltIn PrimitiveId Decorate 50(gl_PrimitiveIDIn) BuiltIn PrimitiveId
Decorate 52(gl_Layer) Stream 0 Decorate 52(gl_Layer) Stream 0
Decorate 52(gl_Layer) BuiltIn Layer Decorate 52(gl_Layer) BuiltIn Layer
Decorate 69(toFragment) Block Decorate 69(toFragment) Block
Decorate 69(toFragment) Stream 3 Decorate 69(toFragment) Stream 3
Decorate 71(toF) Stream 3 Decorate 71(toF) Stream 3
Decorate 71(toF) NoStaticUse Decorate 71(toF) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 3 8: TypeVector 7(float) 3
9(fromVertex): TypeStruct 8(fvec3) 9(fromVertex): TypeStruct 8(fvec3)
10: TypePointer Output 9(fromVertex) 10: TypePointer Output 9(fromVertex)
11: 10(ptr) Variable Output 11: 10(ptr) Variable Output
12: TypeInt 32 1 12: TypeInt 32 1
13: 12(int) Constant 0 13: 12(int) Constant 0
14(fromVertex): TypeStruct 8(fvec3) 14(fromVertex): TypeStruct 8(fvec3)
...@@ -75,7 +76,7 @@ Linked geometry stage: ...@@ -75,7 +76,7 @@ Linked geometry stage:
16: 15(int) Constant 6 16: 15(int) Constant 6
17: TypeArray 14(fromVertex) 16 17: TypeArray 14(fromVertex) 16
18: TypePointer Input 17 18: TypePointer Input 17
19(fromV): 18(ptr) Variable Input 19(fromV): 18(ptr) Variable Input
20: TypePointer Input 8(fvec3) 20: TypePointer Input 8(fvec3)
23: TypePointer Output 8(fvec3) 23: TypePointer Output 8(fvec3)
25: TypeVector 7(float) 4 25: TypeVector 7(float) 4
...@@ -83,11 +84,11 @@ Linked geometry stage: ...@@ -83,11 +84,11 @@ Linked geometry stage:
27: TypeArray 7(float) 26 27: TypeArray 7(float) 26
28(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27 28(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27
29: TypePointer Output 28(gl_PerVertex) 29: TypePointer Output 28(gl_PerVertex)
30: 29(ptr) Variable Output 30: 29(ptr) Variable Output
31(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27 31(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27
32: TypeArray 31(gl_PerVertex) 16 32: TypeArray 31(gl_PerVertex) 16
33: TypePointer Input 32 33: TypePointer Input 32
34(gl_in): 33(ptr) Variable Input 34(gl_in): 33(ptr) Variable Input
35: TypePointer Input 25(fvec4) 35: TypePointer Input 25(fvec4)
38: TypePointer Output 25(fvec4) 38: TypePointer Output 25(fvec4)
40: 12(int) Constant 1 40: 12(int) Constant 1
...@@ -95,52 +96,52 @@ Linked geometry stage: ...@@ -95,52 +96,52 @@ Linked geometry stage:
42: TypePointer Input 7(float) 42: TypePointer Input 7(float)
45: TypePointer Output 7(float) 45: TypePointer Output 7(float)
47: TypePointer Output 12(int) 47: TypePointer Output 12(int)
48(gl_PrimitiveID): 47(ptr) Variable Output 48(gl_PrimitiveID): 47(ptr) Variable Output
49: TypePointer Input 12(int) 49: TypePointer Input 12(int)
50(gl_PrimitiveIDIn): 49(ptr) Variable Input 50(gl_PrimitiveIDIn): 49(ptr) Variable Input
52(gl_Layer): 47(ptr) Variable Output 52(gl_Layer): 47(ptr) Variable Output
53: 12(int) Constant 2 53: 12(int) Constant 2
54: 7(float) Constant 1073741824 54: 7(float) Constant 1073741824
69(toFragment): TypeStruct 8(fvec3) 69(toFragment): TypeStruct 8(fvec3)
70: TypePointer Output 69(toFragment) 70: TypePointer Output 69(toFragment)
71(toF): 70(ptr) Variable Output 71(toF): 70(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
21: 20(ptr) AccessChain 19(fromV) 13 13 21: 20(ptr) AccessChain 19(fromV) 13 13
22: 8(fvec3) Load 21 22: 8(fvec3) Load 21
24: 23(ptr) AccessChain 11 13 24: 23(ptr) AccessChain 11 13
Store 24 22 Store 24 22
36: 35(ptr) AccessChain 34(gl_in) 13 13 36: 35(ptr) AccessChain 34(gl_in) 13 13
37: 25(fvec4) Load 36 37: 25(fvec4) Load 36
39: 38(ptr) AccessChain 30 13 39: 38(ptr) AccessChain 30 13
Store 39 37 Store 39 37
43: 42(ptr) AccessChain 34(gl_in) 41 40 43: 42(ptr) AccessChain 34(gl_in) 41 40
44: 7(float) Load 43 44: 7(float) Load 43
46: 45(ptr) AccessChain 30 40 46: 45(ptr) AccessChain 30 40
Store 46 44 Store 46 44
51: 12(int) Load 50(gl_PrimitiveIDIn) 51: 12(int) Load 50(gl_PrimitiveIDIn)
Store 48(gl_PrimitiveID) 51 Store 48(gl_PrimitiveID) 51
Store 52(gl_Layer) 53 Store 52(gl_Layer) 53
EmitVertex EmitVertex
55: 20(ptr) AccessChain 19(fromV) 13 13 55: 20(ptr) AccessChain 19(fromV) 13 13
56: 8(fvec3) Load 55 56: 8(fvec3) Load 55
57: 8(fvec3) VectorTimesScalar 56 54 57: 8(fvec3) VectorTimesScalar 56 54
58: 23(ptr) AccessChain 11 13 58: 23(ptr) AccessChain 11 13
Store 58 57 Store 58 57
59: 35(ptr) AccessChain 34(gl_in) 13 13 59: 35(ptr) AccessChain 34(gl_in) 13 13
60: 25(fvec4) Load 59 60: 25(fvec4) Load 59
61: 25(fvec4) VectorTimesScalar 60 54 61: 25(fvec4) VectorTimesScalar 60 54
62: 38(ptr) AccessChain 30 13 62: 38(ptr) AccessChain 30 13
Store 62 61 Store 62 61
63: 42(ptr) AccessChain 34(gl_in) 41 40 63: 42(ptr) AccessChain 34(gl_in) 41 40
64: 7(float) Load 63 64: 7(float) Load 63
65: 7(float) FMul 54 64 65: 7(float) FMul 54 64
66: 45(ptr) AccessChain 30 40 66: 45(ptr) AccessChain 30 40
Store 66 65 Store 66 65
67: 12(int) Load 50(gl_PrimitiveIDIn) 67: 12(int) Load 50(gl_PrimitiveIDIn)
68: 12(int) IAdd 67 40 68: 12(int) IAdd 67 40
Store 48(gl_PrimitiveID) 68 Store 48(gl_PrimitiveID) 68
Store 52(gl_Layer) 41 Store 52(gl_Layer) 41
EmitVertex EmitVertex
EndPrimitive EndPrimitive
Branch 6 Branch 6
......
...@@ -8,9 +8,10 @@ Linked vertex stage: ...@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 53 // Id's are bound by 53
Source GLSL 150 Source GLSL 150
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 14 "gl_PerVertex" Name 14 "gl_PerVertex"
MemberName 14(gl_PerVertex) 0 "gl_Position" MemberName 14(gl_PerVertex) 0 "gl_Position"
...@@ -38,19 +39,18 @@ Linked vertex stage: ...@@ -38,19 +39,18 @@ Linked vertex stage:
Name 49 "ui" Name 49 "ui"
Name 51 "gl_VertexID" Name 51 "gl_VertexID"
Name 52 "gl_InstanceID" Name 52 "gl_InstanceID"
MemberDecorate 14(gl_PerVertex) 0 Invariant MemberDecorate 14(gl_PerVertex) 0 Invariant
MemberDecorate 14(gl_PerVertex) 0 BuiltIn Position MemberDecorate 14(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 14(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 14(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 14(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 14(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 14(gl_PerVertex) 3 BuiltIn ClipVertex Decorate 14(gl_PerVertex) Block
Decorate 14(gl_PerVertex) Block Decorate 49(ui) NoStaticUse
Decorate 49(ui) NoStaticUse
Decorate 51(gl_VertexID) BuiltIn VertexId Decorate 51(gl_VertexID) BuiltIn VertexId
Decorate 51(gl_VertexID) NoStaticUse Decorate 51(gl_VertexID) NoStaticUse
Decorate 52(gl_InstanceID) BuiltIn InstanceId Decorate 52(gl_InstanceID) BuiltIn InstanceId
Decorate 52(gl_InstanceID) NoStaticUse Decorate 52(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypeInt 32 0 9: TypeInt 32 0
...@@ -60,15 +60,15 @@ Linked vertex stage: ...@@ -60,15 +60,15 @@ Linked vertex stage:
13: TypeArray 8(fvec4) 12 13: TypeArray 8(fvec4) 12
14(gl_PerVertex): TypeStruct 8(fvec4) 7(float) 11 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 13 7(float) 14(gl_PerVertex): TypeStruct 8(fvec4) 7(float) 11 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 13 7(float)
15: TypePointer Output 14(gl_PerVertex) 15: TypePointer Output 14(gl_PerVertex)
16: 15(ptr) Variable Output 16: 15(ptr) Variable Output
17: TypeInt 32 1 17: TypeInt 32 1
18: 17(int) Constant 0 18: 17(int) Constant 0
19: TypePointer Input 8(fvec4) 19: TypePointer Input 8(fvec4)
20(iv4): 19(ptr) Variable Input 20(iv4): 19(ptr) Variable Input
22: TypePointer Output 8(fvec4) 22: TypePointer Output 8(fvec4)
24: 17(int) Constant 1 24: 17(int) Constant 1
25: TypePointer UniformConstant 7(float) 25: TypePointer UniformConstant 7(float)
26(ps): 25(ptr) Variable UniformConstant 26(ps): 25(ptr) Variable UniformConstant
28: TypePointer Output 7(float) 28: TypePointer Output 7(float)
30: 17(int) Constant 2 30: 17(int) Constant 2
34: 9(int) Constant 3 34: 9(int) Constant 3
...@@ -77,32 +77,32 @@ Linked vertex stage: ...@@ -77,32 +77,32 @@ Linked vertex stage:
37: TypeArray 36(s1) 10 37: TypeArray 36(s1) 10
38(s2): TypeStruct 17(int) 37 38(s2): TypeStruct 17(int) 37
39: TypePointer Output 38(s2) 39: TypePointer Output 38(s2)
40(s2out): 39(ptr) Variable Output 40(s2out): 39(ptr) Variable Output
41: TypePointer Function 17(int) 41: TypePointer Function 17(int)
48: TypePointer UniformConstant 17(int) 48: TypePointer UniformConstant 17(int)
49(ui): 48(ptr) Variable UniformConstant 49(ui): 48(ptr) Variable UniformConstant
50: TypePointer Input 17(int) 50: TypePointer Input 17(int)
51(gl_VertexID): 50(ptr) Variable Input 51(gl_VertexID): 50(ptr) Variable Input
52(gl_InstanceID): 50(ptr) Variable Input 52(gl_InstanceID): 50(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
42(i): 41(ptr) Variable Function 42(i): 41(ptr) Variable Function
21: 8(fvec4) Load 20(iv4) 21: 8(fvec4) Load 20(iv4)
23: 22(ptr) AccessChain 16 18 23: 22(ptr) AccessChain 16 18
Store 23 21 Store 23 21
27: 7(float) Load 26(ps) 27: 7(float) Load 26(ps)
29: 28(ptr) AccessChain 16 24 29: 28(ptr) AccessChain 16 24
Store 29 27 Store 29 27
31: 8(fvec4) Load 20(iv4) 31: 8(fvec4) Load 20(iv4)
32: 7(float) CompositeExtract 31 0 32: 7(float) CompositeExtract 31 0
33: 28(ptr) AccessChain 16 30 30 33: 28(ptr) AccessChain 16 30 30
Store 33 32 Store 33 32
43: 17(int) Load 42(i) 43: 17(int) Load 42(i)
44: 7(float) Load 26(ps) 44: 7(float) Load 26(ps)
45: 22(ptr) AccessChain 40(s2out) 24 43 30 30 45: 22(ptr) AccessChain 40(s2out) 24 43 30 30
46: 8(fvec4) Load 45 46: 8(fvec4) Load 45
47: 8(fvec4) CompositeInsert 44 46 3 47: 8(fvec4) CompositeInsert 44 46 3
Store 45 47 Store 45 47
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,10 @@ Linked vertex stage: ...@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 41 // Id's are bound by 41
Source ESSL 300 Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 9 "i" Name 9 "i"
Name 12 "gl_VertexID" Name 12 "gl_VertexID"
...@@ -19,63 +20,59 @@ Linked vertex stage: ...@@ -19,63 +20,59 @@ Linked vertex stage:
Name 26 "ps" Name 26 "ps"
Name 34 "gl_PointSize" Name 34 "gl_PointSize"
Name 40 "gl_InstanceID" Name 40 "gl_InstanceID"
Decorate 9(i) PrecisionMedium Decorate 9(i) RelaxedPrecision
Decorate 12(gl_VertexID) PrecisionHigh
Decorate 12(gl_VertexID) BuiltIn VertexId Decorate 12(gl_VertexID) BuiltIn VertexId
Decorate 17(j) PrecisionMedium Decorate 17(j) RelaxedPrecision
Decorate 24(gl_Position) PrecisionHigh Decorate 24(gl_Position) Invariant
Decorate 24(gl_Position) Invariant
Decorate 24(gl_Position) BuiltIn Position Decorate 24(gl_Position) BuiltIn Position
Decorate 26(ps) PrecisionMedium Decorate 26(ps) RelaxedPrecision
Decorate 34(gl_PointSize) PrecisionHigh
Decorate 34(gl_PointSize) BuiltIn PointSize Decorate 34(gl_PointSize) BuiltIn PointSize
Decorate 40(gl_InstanceID) PrecisionHigh
Decorate 40(gl_InstanceID) BuiltIn InstanceId Decorate 40(gl_InstanceID) BuiltIn InstanceId
Decorate 40(gl_InstanceID) NoStaticUse Decorate 40(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: 7(int) Constant 4 10: 7(int) Constant 4
11: TypePointer Input 7(int) 11: TypePointer Input 7(int)
12(gl_VertexID): 11(ptr) Variable Input 12(gl_VertexID): 11(ptr) Variable Input
15: 7(int) Constant 10 15: 7(int) Constant 10
21: TypeFloat 32 21: TypeFloat 32
22: TypeVector 21(float) 4 22: TypeVector 21(float) 4
23: TypePointer Output 22(fvec4) 23: TypePointer Output 22(fvec4)
24(gl_Position): 23(ptr) Variable Output 24(gl_Position): 23(ptr) Variable Output
25: TypePointer Input 21(float) 25: TypePointer Input 21(float)
26(ps): 25(ptr) Variable Input 26(ps): 25(ptr) Variable Input
33: TypePointer Output 21(float) 33: TypePointer Output 21(float)
34(gl_PointSize): 33(ptr) Variable Output 34(gl_PointSize): 33(ptr) Variable Output
40(gl_InstanceID): 11(ptr) Variable Input 40(gl_InstanceID): 11(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(i): 8(ptr) Variable Function 9(i): 8(ptr) Variable Function
17(j): 8(ptr) Variable Function 17(j): 8(ptr) Variable Function
13: 7(int) Load 12(gl_VertexID) 13: 7(int) Load 12(gl_VertexID)
14: 7(int) IMul 10 13 14: 7(int) IMul 10 13
16: 7(int) ISub 14 15 16: 7(int) ISub 14 15
Store 9(i) 16 Store 9(i) 16
18: 7(int) Load 12(gl_VertexID) 18: 7(int) Load 12(gl_VertexID)
19: 7(int) IMul 10 18 19: 7(int) IMul 10 18
20: 7(int) ISub 19 15 20: 7(int) ISub 19 15
Store 17(j) 20 Store 17(j) 20
27: 21(float) Load 26(ps) 27: 21(float) Load 26(ps)
28: 22(fvec4) CompositeConstruct 27 27 27 27 28: 22(fvec4) CompositeConstruct 27 27 27 27
Store 24(gl_Position) 28 Store 24(gl_Position) 28
29: 7(int) Load 9(i) 29: 7(int) Load 9(i)
30: 21(float) ConvertSToF 29 30: 21(float) ConvertSToF 29
31: 22(fvec4) Load 24(gl_Position) 31: 22(fvec4) Load 24(gl_Position)
32: 22(fvec4) VectorTimesScalar 31 30 32: 22(fvec4) VectorTimesScalar 31 30
Store 24(gl_Position) 32 Store 24(gl_Position) 32
35: 21(float) Load 26(ps) 35: 21(float) Load 26(ps)
Store 34(gl_PointSize) 35 Store 34(gl_PointSize) 35
36: 7(int) Load 17(j) 36: 7(int) Load 17(j)
37: 21(float) ConvertSToF 36 37: 21(float) ConvertSToF 36
38: 21(float) Load 34(gl_PointSize) 38: 21(float) Load 34(gl_PointSize)
39: 21(float) FMul 38 37 39: 21(float) FMul 38 37
Store 34(gl_PointSize) 39 Store 34(gl_PointSize) 39
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 38 // Id's are bound by 38
Source ESSL 300 Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "c" Name 10 "c"
Name 12 "color" Name 12 "color"
...@@ -20,27 +22,27 @@ Linked fragment stage: ...@@ -20,27 +22,27 @@ Linked fragment stage:
Name 16 "s" Name 16 "s"
Name 27 "p" Name 27 "p"
Name 30 "pos" Name 30 "pos"
Decorate 10(c) PrecisionMedium Decorate 10(c) RelaxedPrecision
Decorate 10(c) Location 7 Decorate 10(c) Location 7
Decorate 12(color) PrecisionMedium Decorate 12(color) RelaxedPrecision
Decorate 12(color) Smooth Decorate 12(color) Smooth
MemberDecorate 14(S) 0 PrecisionMedium MemberDecorate 14(S) 0 RelaxedPrecision
MemberDecorate 14(S) 1 PrecisionMedium MemberDecorate 14(S) 1 RelaxedPrecision
Decorate 27(p) PrecisionMedium Decorate 27(p) RelaxedPrecision
Decorate 27(p) Location 3 Decorate 27(p) Location 3
Decorate 30(pos) PrecisionMedium Decorate 30(pos) RelaxedPrecision
Decorate 30(pos) Smooth Decorate 30(pos) Smooth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 3 8: TypeVector 7(float) 3
9: TypePointer Output 8(fvec3) 9: TypePointer Output 8(fvec3)
10(c): 9(ptr) Variable Output 10(c): 9(ptr) Variable Output
11: TypePointer Input 8(fvec3) 11: TypePointer Input 8(fvec3)
12(color): 11(ptr) Variable Input 12(color): 11(ptr) Variable Input
14(S): TypeStruct 8(fvec3) 7(float) 14(S): TypeStruct 8(fvec3) 7(float)
15: TypePointer Input 14(S) 15: TypePointer Input 14(S)
16(s): 15(ptr) Variable Input 16(s): 15(ptr) Variable Input
17: TypeInt 32 1 17: TypeInt 32 1
18: 17(int) Constant 0 18: 17(int) Constant 0
22: TypeVector 7(float) 4 22: TypeVector 7(float) 4
...@@ -48,25 +50,25 @@ Linked fragment stage: ...@@ -48,25 +50,25 @@ Linked fragment stage:
24: 23(int) Constant 2 24: 23(int) Constant 2
25: TypeArray 22(fvec4) 24 25: TypeArray 22(fvec4) 24
26: TypePointer Output 25 26: TypePointer Output 25
27(p): 26(ptr) Variable Output 27(p): 26(ptr) Variable Output
28: 17(int) Constant 1 28: 17(int) Constant 1
29: TypePointer Input 22(fvec4) 29: TypePointer Input 22(fvec4)
30(pos): 29(ptr) Variable Input 30(pos): 29(ptr) Variable Input
32: TypePointer Input 7(float) 32: TypePointer Input 7(float)
36: TypePointer Output 22(fvec4) 36: TypePointer Output 22(fvec4)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
13: 8(fvec3) Load 12(color) 13: 8(fvec3) Load 12(color)
19: 11(ptr) AccessChain 16(s) 18 19: 11(ptr) AccessChain 16(s) 18
20: 8(fvec3) Load 19 20: 8(fvec3) Load 19
21: 8(fvec3) FAdd 13 20 21: 8(fvec3) FAdd 13 20
Store 10(c) 21 Store 10(c) 21
31: 22(fvec4) Load 30(pos) 31: 22(fvec4) Load 30(pos)
33: 32(ptr) AccessChain 16(s) 28 33: 32(ptr) AccessChain 16(s) 28
34: 7(float) Load 33 34: 7(float) Load 33
35: 22(fvec4) VectorTimesScalar 31 34 35: 22(fvec4) VectorTimesScalar 31 34
37: 36(ptr) AccessChain 27(p) 28 37: 36(ptr) AccessChain 27(p) 28
Store 37 35 Store 37 35
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -9,12 +9,13 @@ Linked geometry stage: ...@@ -9,12 +9,13 @@ Linked geometry stage:
Source GLSL 330 Source GLSL 330
SourceExtension "GL_ARB_separate_shader_objects" SourceExtension "GL_ARB_separate_shader_objects"
Capability Geometry
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Geometry 4 EntryPoint Geometry 4 "main"
ExecutionMode 4 InputTriangles ExecutionMode 4 InputTriangles
ExecutionMode 4 Invocations 0 ExecutionMode 4 Invocations 0
ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 3 ExecutionMode 4 OutputVertices 3
Name 4 "main" Name 4 "main"
Name 12 "gl_PerVertex" Name 12 "gl_PerVertex"
...@@ -27,14 +28,14 @@ Linked geometry stage: ...@@ -27,14 +28,14 @@ Linked geometry stage:
Name 21 "gl_in" Name 21 "gl_in"
MemberDecorate 12(gl_PerVertex) 0 BuiltIn Position MemberDecorate 12(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 12(gl_PerVertex) 1 BuiltIn ClipDistance MemberDecorate 12(gl_PerVertex) 1 BuiltIn ClipDistance
Decorate 12(gl_PerVertex) Block Decorate 12(gl_PerVertex) Block
Decorate 12(gl_PerVertex) Stream 0 Decorate 12(gl_PerVertex) Stream 0
Decorate 14 Stream 0 Decorate 14 Stream 0
MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 17(gl_PerVertex) 1 BuiltIn ClipDistance MemberDecorate 17(gl_PerVertex) 1 BuiltIn ClipDistance
Decorate 17(gl_PerVertex) Block Decorate 17(gl_PerVertex) Block
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypeInt 32 0 9: TypeInt 32 0
...@@ -42,14 +43,14 @@ Linked geometry stage: ...@@ -42,14 +43,14 @@ Linked geometry stage:
11: TypeArray 7(float) 10 11: TypeArray 7(float) 10
12(gl_PerVertex): TypeStruct 8(fvec4) 11 12(gl_PerVertex): TypeStruct 8(fvec4) 11
13: TypePointer Output 12(gl_PerVertex) 13: TypePointer Output 12(gl_PerVertex)
14: 13(ptr) Variable Output 14: 13(ptr) Variable Output
15: TypeInt 32 1 15: TypeInt 32 1
16: 15(int) Constant 0 16: 15(int) Constant 0
17(gl_PerVertex): TypeStruct 8(fvec4) 11 17(gl_PerVertex): TypeStruct 8(fvec4) 11
18: 9(int) Constant 3 18: 9(int) Constant 3
19: TypeArray 17(gl_PerVertex) 18 19: TypeArray 17(gl_PerVertex) 18
20: TypePointer Input 19 20: TypePointer Input 19
21(gl_in): 20(ptr) Variable Input 21(gl_in): 20(ptr) Variable Input
22: 15(int) Constant 1 22: 15(int) Constant 1
23: TypePointer Input 8(fvec4) 23: TypePointer Input 8(fvec4)
26: TypePointer Output 8(fvec4) 26: TypePointer Output 8(fvec4)
...@@ -58,13 +59,13 @@ Linked geometry stage: ...@@ -58,13 +59,13 @@ Linked geometry stage:
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
24: 23(ptr) AccessChain 21(gl_in) 22 16 24: 23(ptr) AccessChain 21(gl_in) 22 16
25: 8(fvec4) Load 24 25: 8(fvec4) Load 24
27: 26(ptr) AccessChain 14 16 27: 26(ptr) AccessChain 14 16
Store 27 25 Store 27 25
29: 28(ptr) AccessChain 21(gl_in) 22 22 16 29: 28(ptr) AccessChain 21(gl_in) 22 22 16
30: 7(float) Load 29 30: 7(float) Load 29
32: 31(ptr) AccessChain 14 22 16 32: 31(ptr) AccessChain 14 22 16
Store 32 30 Store 32 30
EmitVertex EmitVertex
EndPrimitive EndPrimitive
Branch 6 Branch 6
......
...@@ -7,12 +7,13 @@ Linked vertex stage: ...@@ -7,12 +7,13 @@ Linked vertex stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 62 // Id's are bound by 63
Source GLSL 430 Source GLSL 430
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 11 "gl_PerVertex" Name 11 "gl_PerVertex"
MemberName 11(gl_PerVertex) 0 "gl_ClipDistance" MemberName 11(gl_PerVertex) 0 "gl_ClipDistance"
...@@ -29,49 +30,49 @@ Linked vertex stage: ...@@ -29,49 +30,49 @@ Linked vertex stage:
Name 49 "anonblock" Name 49 "anonblock"
MemberName 49(anonblock) 0 "aoeu" MemberName 49(anonblock) 0 "aoeu"
Name 51 "" Name 51 ""
Name 54 "sampb1" Name 55 "sampb1"
Name 57 "sampb2" Name 58 "sampb2"
Name 58 "sampb4" Name 59 "sampb4"
Name 60 "gl_VertexID" Name 61 "gl_VertexID"
Name 61 "gl_InstanceID" Name 62 "gl_InstanceID"
MemberDecorate 11(gl_PerVertex) 0 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 0 BuiltIn ClipDistance
Decorate 11(gl_PerVertex) Block Decorate 11(gl_PerVertex) Block
Decorate 35(badorder3) Flat Decorate 35(badorder3) Flat
Decorate 43(uv4) Location 4 Decorate 43(uv4) Location 4
Decorate 43(uv4) NoStaticUse Decorate 43(uv4) NoStaticUse
Decorate 29 NoStaticUse Decorate 29 NoStaticUse
Decorate 29 NoStaticUse Decorate 29 NoStaticUse
Decorate 44(badorder) NoStaticUse Decorate 44(badorder) NoStaticUse
Decorate 45(badorder2) Smooth Decorate 45(badorder2) Smooth
Decorate 45(badorder2) Invariant Decorate 45(badorder2) Invariant
Decorate 45(badorder2) NoStaticUse Decorate 45(badorder2) NoStaticUse
Decorate 46(boundblock) GLSLShared Decorate 46(boundblock) GLSLShared
Decorate 46(boundblock) Block Decorate 46(boundblock) Block
Decorate 48(boundInst) Binding 3 Decorate 48(boundInst) Binding 3
Decorate 48(boundInst) NoStaticUse Decorate 48(boundInst) NoStaticUse
Decorate 49(anonblock) GLSLShared Decorate 49(anonblock) GLSLShared
Decorate 49(anonblock) Block Decorate 49(anonblock) Block
Decorate 51 Binding 7 Decorate 51 Binding 7
Decorate 51 NoStaticUse Decorate 51 NoStaticUse
Decorate 54(sampb1) Binding 4 Decorate 55(sampb1) Binding 4
Decorate 54(sampb1) NoStaticUse Decorate 55(sampb1) NoStaticUse
Decorate 57(sampb2) Binding 5 Decorate 58(sampb2) Binding 5
Decorate 57(sampb2) NoStaticUse Decorate 58(sampb2) NoStaticUse
Decorate 58(sampb4) Binding 31 Decorate 59(sampb4) Binding 31
Decorate 58(sampb4) NoStaticUse Decorate 59(sampb4) NoStaticUse
Decorate 60(gl_VertexID) BuiltIn VertexId Decorate 61(gl_VertexID) BuiltIn VertexId
Decorate 60(gl_VertexID) NoStaticUse Decorate 61(gl_VertexID) NoStaticUse
Decorate 61(gl_InstanceID) BuiltIn InstanceId Decorate 62(gl_InstanceID) BuiltIn InstanceId
Decorate 61(gl_InstanceID) NoStaticUse Decorate 62(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeInt 32 0 8: TypeInt 32 0
9: 8(int) Constant 3 9: 8(int) Constant 3
10: TypeArray 7(float) 9 10: TypeArray 7(float) 9
11(gl_PerVertex): TypeStruct 10 11(gl_PerVertex): TypeStruct 10
12: TypePointer Output 11(gl_PerVertex) 12: TypePointer Output 11(gl_PerVertex)
13: 12(ptr) Variable Output 13: 12(ptr) Variable Output
14: TypeInt 32 1 14: TypeInt 32 1
15: 14(int) Constant 0 15: 14(int) Constant 0
16: 14(int) Constant 2 16: 14(int) Constant 2
...@@ -81,53 +82,54 @@ Linked vertex stage: ...@@ -81,53 +82,54 @@ Linked vertex stage:
21: 8(int) Constant 10 21: 8(int) Constant 10
22: TypeArray 20(fvec4) 21 22: TypeArray 20(fvec4) 21
23: TypePointer Input 22 23: TypePointer Input 22
24(bad): 23(ptr) Variable Input 24(bad): 23(ptr) Variable Input
25: TypePointer Input 20(fvec4) 25: TypePointer Input 20(fvec4)
29: 7(float) Constant 1082549862 29: 7(float) Constant 1082549862
30: TypeBool 30: TypeBool
34: TypePointer Output 20(fvec4) 34: TypePointer Output 20(fvec4)
35(badorder3): 34(ptr) Variable Output 35(badorder3): 34(ptr) Variable Output
38: TypePointer UniformConstant 7(float) 38: TypePointer UniformConstant 7(float)
39(f): 38(ptr) Variable UniformConstant 39(f): 38(ptr) Variable UniformConstant
42: TypePointer UniformConstant 20(fvec4) 42: TypePointer UniformConstant 20(fvec4)
43(uv4): 42(ptr) Variable UniformConstant 43(uv4): 42(ptr) Variable UniformConstant
44(badorder): 25(ptr) Variable Input 44(badorder): 25(ptr) Variable Input
45(badorder2): 34(ptr) Variable Output 45(badorder2): 34(ptr) Variable Output
46(boundblock): TypeStruct 14(int) 46(boundblock): TypeStruct 14(int)
47: TypePointer Uniform 46(boundblock) 47: TypePointer Uniform 46(boundblock)
48(boundInst): 47(ptr) Variable Uniform 48(boundInst): 47(ptr) Variable Uniform
49(anonblock): TypeStruct 14(int) 49(anonblock): TypeStruct 14(int)
50: TypePointer Uniform 49(anonblock) 50: TypePointer Uniform 49(anonblock)
51: 50(ptr) Variable Uniform 51: 50(ptr) Variable Uniform
52: TypeSampler7(float) 2D filter+texture 52: TypeImage 7(float) 2D sampled format:Unknown
53: TypePointer UniformConstant 52 53: TypeSampledImage 52
54(sampb1): 53(ptr) Variable UniformConstant 54: TypePointer UniformConstant 53
55: TypeArray 52 21 55(sampb1): 54(ptr) Variable UniformConstant
56: TypePointer UniformConstant 55 56: TypeArray 53 21
57(sampb2): 56(ptr) Variable UniformConstant 57: TypePointer UniformConstant 56
58(sampb4): 53(ptr) Variable UniformConstant 58(sampb2): 57(ptr) Variable UniformConstant
59: TypePointer Input 14(int) 59(sampb4): 54(ptr) Variable UniformConstant
60(gl_VertexID): 59(ptr) Variable Input 60: TypePointer Input 14(int)
61(gl_InstanceID): 59(ptr) Variable Input 61(gl_VertexID): 60(ptr) Variable Input
62(gl_InstanceID): 60(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
19: 18(ptr) AccessChain 13 15 16 19: 18(ptr) AccessChain 13 15 16
Store 19 17 Store 19 17
26: 25(ptr) AccessChain 24(bad) 15 26: 25(ptr) AccessChain 24(bad) 15
27: 20(fvec4) Load 26 27: 20(fvec4) Load 26
28: 7(float) CompositeExtract 27 0 28: 7(float) CompositeExtract 27 0
31: 30(bool) FOrdEqual 28 29 31: 30(bool) FOrdEqual 28 29
SelectionMerge 33 None SelectionMerge 33 None
BranchConditional 31 32 33 BranchConditional 31 32 33
32: Label 32: Label
36: 25(ptr) AccessChain 24(bad) 15 36: 25(ptr) AccessChain 24(bad) 15
37: 20(fvec4) Load 36 37: 20(fvec4) Load 36
Store 35(badorder3) 37 Store 35(badorder3) 37
Branch 33 Branch 33
33: Label 33: Label
40: 7(float) Load 39(f) 40: 7(float) Load 39(f)
41: 18(ptr) AccessChain 13 15 15 41: 18(ptr) AccessChain 13 15 15
Store 41 40 Store 41 40
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 81 // Id's are bound by 81
Source GLSL 110 Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "white" Name 10 "white"
Name 13 "black" Name 13 "black"
...@@ -20,10 +22,10 @@ Linked fragment stage: ...@@ -20,10 +22,10 @@ Linked fragment stage:
Name 28 "y" Name 28 "y"
Name 33 "radius" Name 33 "radius"
Name 56 "gl_FragColor" Name 56 "gl_FragColor"
Decorate 22(tex_coord) Smooth Decorate 22(tex_coord) Smooth
Decorate 56(gl_FragColor) BuiltIn FragColor Decorate 56(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
...@@ -34,96 +36,96 @@ Linked fragment stage: ...@@ -34,96 +36,96 @@ Linked fragment stage:
18: TypePointer Function 7(float) 18: TypePointer Function 7(float)
20: TypeVector 7(float) 2 20: TypeVector 7(float) 2
21: TypePointer Input 20(fvec2) 21: TypePointer Input 20(fvec2)
22(tex_coord): 21(ptr) Variable Input 22(tex_coord): 21(ptr) Variable Input
25: 7(float) Constant 1073741824 25: 7(float) Constant 1073741824
43: TypeBool 43: TypeBool
48: 7(float) Constant 1066192077 48: 7(float) Constant 1066192077
55: TypePointer Output 8(fvec4) 55: TypePointer Output 8(fvec4)
56(gl_FragColor): 55(ptr) Variable Output 56(gl_FragColor): 55(ptr) Variable Output
59: 7(float) Constant 1067030938 59: 7(float) Constant 1067030938
68: 7(float) Constant 1061158912 68: 7(float) Constant 1061158912
73: 7(float) Constant 1098907648 73: 7(float) Constant 1098907648
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(white): 9(ptr) Variable Function 10(white): 9(ptr) Variable Function
13(black): 9(ptr) Variable Function 13(black): 9(ptr) Variable Function
16(color): 9(ptr) Variable Function 16(color): 9(ptr) Variable Function
19(x): 18(ptr) Variable Function 19(x): 18(ptr) Variable Function
28(y): 18(ptr) Variable Function 28(y): 18(ptr) Variable Function
33(radius): 18(ptr) Variable Function 33(radius): 18(ptr) Variable Function
Store 10(white) 12 Store 10(white) 12
Store 13(black) 15 Store 13(black) 15
17: 8(fvec4) Load 10(white) 17: 8(fvec4) Load 10(white)
Store 16(color) 17 Store 16(color) 17
23: 20(fvec2) Load 22(tex_coord) 23: 20(fvec2) Load 22(tex_coord)
24: 7(float) CompositeExtract 23 0 24: 7(float) CompositeExtract 23 0
26: 7(float) FMul 24 25 26: 7(float) FMul 24 25
27: 7(float) FSub 26 11 27: 7(float) FSub 26 11
Store 19(x) 27 Store 19(x) 27
29: 20(fvec2) Load 22(tex_coord) 29: 20(fvec2) Load 22(tex_coord)
30: 7(float) CompositeExtract 29 1 30: 7(float) CompositeExtract 29 1
31: 7(float) FMul 30 25 31: 7(float) FMul 30 25
32: 7(float) FSub 31 11 32: 7(float) FSub 31 11
Store 28(y) 32 Store 28(y) 32
34: 7(float) Load 19(x) 34: 7(float) Load 19(x)
35: 7(float) Load 19(x) 35: 7(float) Load 19(x)
36: 7(float) FMul 34 35 36: 7(float) FMul 34 35
37: 7(float) Load 28(y) 37: 7(float) Load 28(y)
38: 7(float) Load 28(y) 38: 7(float) Load 28(y)
39: 7(float) FMul 37 38 39: 7(float) FMul 37 38
40: 7(float) FAdd 36 39 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 Store 33(radius) 41
42: 7(float) Load 33(radius) 42: 7(float) Load 33(radius)
44: 43(bool) FOrdGreaterThan 42 11 44: 43(bool) FOrdGreaterThan 42 11
SelectionMerge 46 None SelectionMerge 46 None
BranchConditional 44 45 46 BranchConditional 44 45 46
45: Label 45: Label
47: 7(float) Load 33(radius) 47: 7(float) Load 33(radius)
49: 43(bool) FOrdGreaterThan 47 48 49: 43(bool) FOrdGreaterThan 47 48
SelectionMerge 51 None SelectionMerge 51 None
BranchConditional 49 50 51 BranchConditional 49 50 51
50: Label 50: Label
52: 8(fvec4) Load 16(color) 52: 8(fvec4) Load 16(color)
53: 8(fvec4) CompositeConstruct 11 11 11 11 53: 8(fvec4) CompositeConstruct 11 11 11 11
54: 8(fvec4) FAdd 52 53 54: 8(fvec4) FAdd 52 53
Store 16(color) 54 Store 16(color) 54
Branch 51 Branch 51
51: Label 51: Label
57: 8(fvec4) Load 16(color) 57: 8(fvec4) Load 16(color)
Store 56(gl_FragColor) 57 Store 56(gl_FragColor) 57
58: 7(float) Load 33(radius) 58: 7(float) Load 33(radius)
60: 43(bool) FOrdGreaterThan 58 59 60: 43(bool) FOrdGreaterThan 58 59
SelectionMerge 62 None SelectionMerge 62 None
BranchConditional 60 61 62 BranchConditional 60 61 62
61: Label 61: Label
63: 8(fvec4) Load 16(color) 63: 8(fvec4) Load 16(color)
64: 8(fvec4) CompositeConstruct 11 11 11 11 64: 8(fvec4) CompositeConstruct 11 11 11 11
65: 8(fvec4) FAdd 63 64 65: 8(fvec4) FAdd 63 64
Store 16(color) 65 Store 16(color) 65
Branch 62 Branch 62
62: Label 62: Label
Branch 46 Branch 46
46: Label 46: Label
Kill Kill
66: Label 66: Label
67: 7(float) Load 33(radius) 67: 7(float) Load 33(radius)
69: 43(bool) FOrdGreaterThanEqual 67 68 69: 43(bool) FOrdGreaterThanEqual 67 68
SelectionMerge 71 None SelectionMerge 71 None
BranchConditional 69 70 71 BranchConditional 69 70 71
70: Label 70: Label
72: 7(float) Load 33(radius) 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 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) 77: 8(fvec4) Load 16(color)
78: 8(fvec4) CompositeConstruct 76 76 76 76 78: 8(fvec4) CompositeConstruct 76 76 76 76
79: 8(fvec4) FSub 77 78 79: 8(fvec4) FSub 77 78
Store 16(color) 79 Store 16(color) 79
Branch 71 Branch 71
71: Label 71: Label
80: 8(fvec4) Load 16(color) 80: 8(fvec4) Load 16(color)
Store 56(gl_FragColor) 80 Store 56(gl_FragColor) 80
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 37 // Id's are bound by 37
Source GLSL 110 Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "white" Name 10 "white"
Name 13 "black" Name 13 "black"
...@@ -19,10 +21,10 @@ Linked fragment stage: ...@@ -19,10 +21,10 @@ Linked fragment stage:
Name 22 "tex_coord" Name 22 "tex_coord"
Name 28 "y" Name 28 "y"
Name 35 "gl_FragColor" Name 35 "gl_FragColor"
Decorate 22(tex_coord) Smooth Decorate 22(tex_coord) Smooth
Decorate 35(gl_FragColor) BuiltIn FragColor Decorate 35(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
...@@ -33,31 +35,31 @@ Linked fragment stage: ...@@ -33,31 +35,31 @@ Linked fragment stage:
18: TypePointer Function 7(float) 18: TypePointer Function 7(float)
20: TypeVector 7(float) 2 20: TypeVector 7(float) 2
21: TypePointer Input 20(fvec2) 21: TypePointer Input 20(fvec2)
22(tex_coord): 21(ptr) Variable Input 22(tex_coord): 21(ptr) Variable Input
25: 7(float) Constant 1073741824 25: 7(float) Constant 1073741824
34: TypePointer Output 8(fvec4) 34: TypePointer Output 8(fvec4)
35(gl_FragColor): 34(ptr) Variable Output 35(gl_FragColor): 34(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(white): 9(ptr) Variable Function 10(white): 9(ptr) Variable Function
13(black): 9(ptr) Variable Function 13(black): 9(ptr) Variable Function
16(color): 9(ptr) Variable Function 16(color): 9(ptr) Variable Function
19(x): 18(ptr) Variable Function 19(x): 18(ptr) Variable Function
28(y): 18(ptr) Variable Function 28(y): 18(ptr) Variable Function
Store 10(white) 12 Store 10(white) 12
Store 13(black) 15 Store 13(black) 15
17: 8(fvec4) Load 10(white) 17: 8(fvec4) Load 10(white)
Store 16(color) 17 Store 16(color) 17
23: 20(fvec2) Load 22(tex_coord) 23: 20(fvec2) Load 22(tex_coord)
24: 7(float) CompositeExtract 23 0 24: 7(float) CompositeExtract 23 0
26: 7(float) FMul 24 25 26: 7(float) FMul 24 25
27: 7(float) FSub 26 11 27: 7(float) FSub 26 11
Store 19(x) 27 Store 19(x) 27
29: 20(fvec2) Load 22(tex_coord) 29: 20(fvec2) Load 22(tex_coord)
30: 7(float) CompositeExtract 29 1 30: 7(float) CompositeExtract 29 1
31: 7(float) FMul 30 25 31: 7(float) FMul 30 25
32: 7(float) FSub 31 11 32: 7(float) FSub 31 11
Store 28(y) 32 Store 28(y) 32
Kill Kill
6: Label 6: Label
Return Return
......
...@@ -5,56 +5,59 @@ Linked fragment stage: ...@@ -5,56 +5,59 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 36 // Id's are bound by 37
Source GLSL 110 Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "v" Name 10 "v"
Name 13 "tex" Name 14 "tex"
Name 17 "coord" Name 18 "coord"
Name 34 "gl_FragColor" Name 35 "gl_FragColor"
Decorate 17(coord) Smooth Decorate 18(coord) Smooth
Decorate 34(gl_FragColor) BuiltIn FragColor Decorate 35(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
11: TypeSampler7(float) 2D filter+texture 11: TypeImage 7(float) 2D sampled format:Unknown
12: TypePointer UniformConstant 11 12: TypeSampledImage 11
13(tex): 12(ptr) Variable UniformConstant 13: TypePointer UniformConstant 12
15: TypeVector 7(float) 2 14(tex): 13(ptr) Variable UniformConstant
16: TypePointer Input 15(fvec2) 16: TypeVector 7(float) 2
17(coord): 16(ptr) Variable Input 17: TypePointer Input 16(fvec2)
21: 7(float) Constant 1036831949 18(coord): 17(ptr) Variable Input
22: 7(float) Constant 1045220557 22: 7(float) Constant 1036831949
23: 7(float) Constant 1050253722 23: 7(float) Constant 1045220557
24: 7(float) Constant 1053609165 24: 7(float) Constant 1050253722
25: 8(fvec4) ConstantComposite 21 22 23 24 25: 7(float) Constant 1053609165
26: TypeBool 26: 8(fvec4) ConstantComposite 22 23 24 25
27: TypeVector 26(bool) 4 27: TypeBool
33: TypePointer Output 8(fvec4) 28: TypeVector 27(bool) 4
34(gl_FragColor): 33(ptr) Variable Output 34: TypePointer Output 8(fvec4)
35(gl_FragColor): 34(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(v): 9(ptr) Variable Function 10(v): 9(ptr) Variable Function
14: 11 Load 13(tex) 15: 12 Load 14(tex)
18: 15(fvec2) Load 17(coord) 19: 16(fvec2) Load 18(coord)
19: 8(fvec4) TextureSample 14 18 20: 8(fvec4) ImageSampleImplicitLod 15 19
Store 10(v) 19 Store 10(v) 20
20: 8(fvec4) Load 10(v) 21: 8(fvec4) Load 10(v)
28: 27(bvec4) FOrdEqual 20 25 29: 28(bvec4) FOrdEqual 21 26
29: 26(bool) All 28 30: 27(bool) All 29
SelectionMerge 31 None SelectionMerge 32 None
BranchConditional 29 30 31 BranchConditional 30 31 32
30: Label 31: Label
Kill Kill
31: Label 32: Label
35: 8(fvec4) Load 10(v) 36: 8(fvec4) Load 10(v)
Store 34(gl_FragColor) 35 Store 35(gl_FragColor) 36
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -10,33 +10,35 @@ Linked fragment stage: ...@@ -10,33 +10,35 @@ Linked fragment stage:
// Id's are bound by 21 // Id's are bound by 21
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 13 "gl_FragData" Name 13 "gl_FragData"
Name 17 "Color" Name 17 "Color"
Decorate 13(gl_FragData) BuiltIn FragColor Decorate 13(gl_FragData) BuiltIn FragColor
Decorate 17(Color) Smooth Decorate 17(Color) Smooth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypeInt 32 0 9: TypeInt 32 0
10: 9(int) Constant 32 10: 9(int) Constant 32
11: TypeArray 8(fvec4) 10 11: TypeArray 8(fvec4) 10
12: TypePointer Output 11 12: TypePointer Output 11
13(gl_FragData): 12(ptr) Variable Output 13(gl_FragData): 12(ptr) Variable Output
14: TypeInt 32 1 14: TypeInt 32 1
15: 14(int) Constant 1 15: 14(int) Constant 1
16: TypePointer Input 8(fvec4) 16: TypePointer Input 8(fvec4)
17(Color): 16(ptr) Variable Input 17(Color): 16(ptr) Variable Input
19: TypePointer Output 8(fvec4) 19: TypePointer Output 8(fvec4)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
18: 8(fvec4) Load 17(Color) 18: 8(fvec4) Load 17(Color)
20: 19(ptr) AccessChain 13(gl_FragData) 15 20: 19(ptr) AccessChain 13(gl_FragData) 15
Store 20 18 Store 20 18
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -10,36 +10,38 @@ Linked fragment stage: ...@@ -10,36 +10,38 @@ Linked fragment stage:
// Id's are bound by 23 // Id's are bound by 23
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 13 "gl_FragData" Name 13 "gl_FragData"
Name 16 "i" Name 16 "i"
Name 19 "Color" Name 19 "Color"
Decorate 13(gl_FragData) BuiltIn FragColor Decorate 13(gl_FragData) BuiltIn FragColor
Decorate 19(Color) Smooth Decorate 19(Color) Smooth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypeInt 32 0 9: TypeInt 32 0
10: 9(int) Constant 32 10: 9(int) Constant 32
11: TypeArray 8(fvec4) 10 11: TypeArray 8(fvec4) 10
12: TypePointer Output 11 12: TypePointer Output 11
13(gl_FragData): 12(ptr) Variable Output 13(gl_FragData): 12(ptr) Variable Output
14: TypeInt 32 1 14: TypeInt 32 1
15: TypePointer UniformConstant 14(int) 15: TypePointer UniformConstant 14(int)
16(i): 15(ptr) Variable UniformConstant 16(i): 15(ptr) Variable UniformConstant
18: TypePointer Input 8(fvec4) 18: TypePointer Input 8(fvec4)
19(Color): 18(ptr) Variable Input 19(Color): 18(ptr) Variable Input
21: TypePointer Output 8(fvec4) 21: TypePointer Output 8(fvec4)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
17: 14(int) Load 16(i) 17: 14(int) Load 16(i)
20: 8(fvec4) Load 19(Color) 20: 8(fvec4) Load 19(Color)
22: 21(ptr) AccessChain 13(gl_FragData) 17 22: 21(ptr) AccessChain 13(gl_FragData) 17
Store 22 20 Store 22 20
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -11,21 +11,22 @@ Linked vertex stage: ...@@ -11,21 +11,22 @@ Linked vertex stage:
// Id's are bound by 39 // Id's are bound by 39
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 9 "i" Name 9 "i"
Name 24 "colorOut" Name 24 "colorOut"
Name 27 "color" Name 27 "color"
Name 33 "gl_Position" Name 33 "gl_Position"
Name 38 "gl_VertexID" Name 38 "gl_VertexID"
Decorate 24(colorOut) Smooth Decorate 24(colorOut) Smooth
Decorate 33(gl_Position) BuiltIn Position Decorate 33(gl_Position) BuiltIn Position
Decorate 38(gl_VertexID) BuiltIn VertexId Decorate 38(gl_VertexID) BuiltIn VertexId
Decorate 38(gl_VertexID) NoStaticUse Decorate 38(gl_VertexID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: 7(int) Constant 1 10: 7(int) Constant 1
...@@ -37,37 +38,37 @@ Linked vertex stage: ...@@ -37,37 +38,37 @@ Linked vertex stage:
21: 20(int) Constant 6 21: 20(int) Constant 6
22: TypeArray 19(fvec4) 21 22: TypeArray 19(fvec4) 21
23: TypePointer Output 22 23: TypePointer Output 22
24(colorOut): 23(ptr) Variable Output 24(colorOut): 23(ptr) Variable Output
26: TypePointer Input 19(fvec4) 26: TypePointer Input 19(fvec4)
27(color): 26(ptr) Variable Input 27(color): 26(ptr) Variable Input
29: TypePointer Output 19(fvec4) 29: TypePointer Output 19(fvec4)
33(gl_Position): 29(ptr) Variable Output 33(gl_Position): 29(ptr) Variable Output
34: 7(int) Constant 2 34: 7(int) Constant 2
37: TypePointer Input 7(int) 37: TypePointer Input 7(int)
38(gl_VertexID): 37(ptr) Variable Input 38(gl_VertexID): 37(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(i): 8(ptr) Variable Function 9(i): 8(ptr) Variable Function
Store 9(i) 10 Store 9(i) 10
Branch 11 Branch 11
11: Label 11: Label
14: 7(int) Load 9(i) 14: 7(int) Load 9(i)
17: 16(bool) SLessThan 14 15 17: 16(bool) SLessThan 14 15
LoopMerge 12 None LoopMerge 12 None
BranchConditional 17 13 12 BranchConditional 17 13 12
13: Label 13: Label
25: 7(int) Load 9(i) 25: 7(int) Load 9(i)
28: 19(fvec4) Load 27(color) 28: 19(fvec4) Load 27(color)
30: 29(ptr) AccessChain 24(colorOut) 25 30: 29(ptr) AccessChain 24(colorOut) 25
Store 30 28 Store 30 28
31: 7(int) Load 9(i) 31: 7(int) Load 9(i)
32: 7(int) IAdd 31 10 32: 7(int) IAdd 31 10
Store 9(i) 32 Store 9(i) 32
Branch 11 Branch 11
12: Label 12: Label
35: 29(ptr) AccessChain 24(colorOut) 34 35: 29(ptr) AccessChain 24(colorOut) 34
36: 19(fvec4) Load 35 36: 19(fvec4) Load 35
Store 33(gl_Position) 36 Store 33(gl_Position) 36
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -11,36 +11,38 @@ Linked fragment stage: ...@@ -11,36 +11,38 @@ Linked fragment stage:
// Id's are bound by 19 // Id's are bound by 19
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 9 "gl_FragDepth" Name 9 "gl_FragDepth"
Name 11 "Depth" Name 11 "Depth"
Name 15 "gl_FragColor" Name 15 "gl_FragColor"
Name 17 "Color" Name 17 "Color"
Decorate 9(gl_FragDepth) BuiltIn FragDepth Decorate 9(gl_FragDepth) BuiltIn FragDepth
Decorate 11(Depth) Smooth Decorate 11(Depth) Smooth
Decorate 15(gl_FragColor) BuiltIn FragColor Decorate 15(gl_FragColor) BuiltIn FragColor
Decorate 17(Color) Smooth Decorate 17(Color) Smooth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypePointer Output 7(float) 8: TypePointer Output 7(float)
9(gl_FragDepth): 8(ptr) Variable Output 9(gl_FragDepth): 8(ptr) Variable Output
10: TypePointer Input 7(float) 10: TypePointer Input 7(float)
11(Depth): 10(ptr) Variable Input 11(Depth): 10(ptr) Variable Input
13: TypeVector 7(float) 4 13: TypeVector 7(float) 4
14: TypePointer Output 13(fvec4) 14: TypePointer Output 13(fvec4)
15(gl_FragColor): 14(ptr) Variable Output 15(gl_FragColor): 14(ptr) Variable Output
16: TypePointer Input 13(fvec4) 16: TypePointer Input 13(fvec4)
17(Color): 16(ptr) Variable Input 17(Color): 16(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
12: 7(float) Load 11(Depth) 12: 7(float) Load 11(Depth)
Store 9(gl_FragDepth) 12 Store 9(gl_FragDepth) 12
18: 13(fvec4) Load 17(Color) 18: 13(fvec4) Load 17(Color)
Store 15(gl_FragColor) 18 Store 15(gl_FragColor) 18
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 81 // Id's are bound by 81
Source GLSL 110 Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "white" Name 10 "white"
Name 13 "black" Name 13 "black"
...@@ -20,10 +22,10 @@ Linked fragment stage: ...@@ -20,10 +22,10 @@ Linked fragment stage:
Name 28 "y" Name 28 "y"
Name 33 "radius" Name 33 "radius"
Name 56 "gl_FragColor" Name 56 "gl_FragColor"
Decorate 22(tex_coord) Smooth Decorate 22(tex_coord) Smooth
Decorate 56(gl_FragColor) BuiltIn FragColor Decorate 56(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
...@@ -34,94 +36,94 @@ Linked fragment stage: ...@@ -34,94 +36,94 @@ Linked fragment stage:
18: TypePointer Function 7(float) 18: TypePointer Function 7(float)
20: TypeVector 7(float) 2 20: TypeVector 7(float) 2
21: TypePointer Input 20(fvec2) 21: TypePointer Input 20(fvec2)
22(tex_coord): 21(ptr) Variable Input 22(tex_coord): 21(ptr) Variable Input
25: 7(float) Constant 1073741824 25: 7(float) Constant 1073741824
43: TypeBool 43: TypeBool
48: 7(float) Constant 1066192077 48: 7(float) Constant 1066192077
55: TypePointer Output 8(fvec4) 55: TypePointer Output 8(fvec4)
56(gl_FragColor): 55(ptr) Variable Output 56(gl_FragColor): 55(ptr) Variable Output
59: 7(float) Constant 1067030938 59: 7(float) Constant 1067030938
68: 7(float) Constant 1061158912 68: 7(float) Constant 1061158912
73: 7(float) Constant 1098907648 73: 7(float) Constant 1098907648
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(white): 9(ptr) Variable Function 10(white): 9(ptr) Variable Function
13(black): 9(ptr) Variable Function 13(black): 9(ptr) Variable Function
16(color): 9(ptr) Variable Function 16(color): 9(ptr) Variable Function
19(x): 18(ptr) Variable Function 19(x): 18(ptr) Variable Function
28(y): 18(ptr) Variable Function 28(y): 18(ptr) Variable Function
33(radius): 18(ptr) Variable Function 33(radius): 18(ptr) Variable Function
Store 10(white) 12 Store 10(white) 12
Store 13(black) 15 Store 13(black) 15
17: 8(fvec4) Load 10(white) 17: 8(fvec4) Load 10(white)
Store 16(color) 17 Store 16(color) 17
23: 20(fvec2) Load 22(tex_coord) 23: 20(fvec2) Load 22(tex_coord)
24: 7(float) CompositeExtract 23 0 24: 7(float) CompositeExtract 23 0
26: 7(float) FMul 24 25 26: 7(float) FMul 24 25
27: 7(float) FSub 26 11 27: 7(float) FSub 26 11
Store 19(x) 27 Store 19(x) 27
29: 20(fvec2) Load 22(tex_coord) 29: 20(fvec2) Load 22(tex_coord)
30: 7(float) CompositeExtract 29 1 30: 7(float) CompositeExtract 29 1
31: 7(float) FMul 30 25 31: 7(float) FMul 30 25
32: 7(float) FSub 31 11 32: 7(float) FSub 31 11
Store 28(y) 32 Store 28(y) 32
34: 7(float) Load 19(x) 34: 7(float) Load 19(x)
35: 7(float) Load 19(x) 35: 7(float) Load 19(x)
36: 7(float) FMul 34 35 36: 7(float) FMul 34 35
37: 7(float) Load 28(y) 37: 7(float) Load 28(y)
38: 7(float) Load 28(y) 38: 7(float) Load 28(y)
39: 7(float) FMul 37 38 39: 7(float) FMul 37 38
40: 7(float) FAdd 36 39 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 Store 33(radius) 41
42: 7(float) Load 33(radius) 42: 7(float) Load 33(radius)
44: 43(bool) FOrdGreaterThan 42 11 44: 43(bool) FOrdGreaterThan 42 11
SelectionMerge 46 None SelectionMerge 46 None
BranchConditional 44 45 46 BranchConditional 44 45 46
45: Label 45: Label
47: 7(float) Load 33(radius) 47: 7(float) Load 33(radius)
49: 43(bool) FOrdGreaterThan 47 48 49: 43(bool) FOrdGreaterThan 47 48
SelectionMerge 51 None SelectionMerge 51 None
BranchConditional 49 50 51 BranchConditional 49 50 51
50: Label 50: Label
52: 8(fvec4) Load 16(color) 52: 8(fvec4) Load 16(color)
53: 8(fvec4) CompositeConstruct 11 11 11 11 53: 8(fvec4) CompositeConstruct 11 11 11 11
54: 8(fvec4) FAdd 52 53 54: 8(fvec4) FAdd 52 53
Store 16(color) 54 Store 16(color) 54
Branch 51 Branch 51
51: Label 51: Label
57: 8(fvec4) Load 16(color) 57: 8(fvec4) Load 16(color)
Store 56(gl_FragColor) 57 Store 56(gl_FragColor) 57
58: 7(float) Load 33(radius) 58: 7(float) Load 33(radius)
60: 43(bool) FOrdGreaterThan 58 59 60: 43(bool) FOrdGreaterThan 58 59
SelectionMerge 62 None SelectionMerge 62 None
BranchConditional 60 61 62 BranchConditional 60 61 62
61: Label 61: Label
63: 8(fvec4) Load 16(color) 63: 8(fvec4) Load 16(color)
64: 8(fvec4) CompositeConstruct 11 11 11 11 64: 8(fvec4) CompositeConstruct 11 11 11 11
65: 8(fvec4) FAdd 63 64 65: 8(fvec4) FAdd 63 64
Store 16(color) 65 Store 16(color) 65
Branch 62 Branch 62
62: Label 62: Label
Kill Kill
46: Label 46: Label
67: 7(float) Load 33(radius) 67: 7(float) Load 33(radius)
69: 43(bool) FOrdGreaterThanEqual 67 68 69: 43(bool) FOrdGreaterThanEqual 67 68
SelectionMerge 71 None SelectionMerge 71 None
BranchConditional 69 70 71 BranchConditional 69 70 71
70: Label 70: Label
72: 7(float) Load 33(radius) 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 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) 77: 8(fvec4) Load 16(color)
78: 8(fvec4) CompositeConstruct 76 76 76 76 78: 8(fvec4) CompositeConstruct 76 76 76 76
79: 8(fvec4) FSub 77 78 79: 8(fvec4) FSub 77 78
Store 16(color) 79 Store 16(color) 79
Branch 71 Branch 71
71: Label 71: Label
80: 8(fvec4) Load 16(color) 80: 8(fvec4) Load 16(color)
Store 56(gl_FragColor) 80 Store 56(gl_FragColor) 80
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,22 +8,20 @@ Linked vertex stage: ...@@ -8,22 +8,20 @@ Linked vertex stage:
// Id's are bound by 30 // Id's are bound by 30
Source ESSL 300 Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 9 "i" Name 9 "i"
Name 28 "gl_VertexID" Name 28 "gl_VertexID"
Name 29 "gl_InstanceID" Name 29 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 28(gl_VertexID) PrecisionHigh
Decorate 28(gl_VertexID) BuiltIn VertexId Decorate 28(gl_VertexID) BuiltIn VertexId
Decorate 28(gl_VertexID) NoStaticUse Decorate 28(gl_VertexID) NoStaticUse
Decorate 29(gl_InstanceID) PrecisionHigh
Decorate 29(gl_InstanceID) BuiltIn InstanceId Decorate 29(gl_InstanceID) BuiltIn InstanceId
Decorate 29(gl_InstanceID) NoStaticUse Decorate 29(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: 7(int) Constant 0 10: 7(int) Constant 0
...@@ -33,12 +31,12 @@ Linked vertex stage: ...@@ -33,12 +31,12 @@ Linked vertex stage:
24: 7(int) Constant 1 24: 7(int) Constant 1
26: 15(bool) ConstantFalse 26: 15(bool) ConstantFalse
27: TypePointer Input 7(int) 27: TypePointer Input 7(int)
28(gl_VertexID): 27(ptr) Variable Input 28(gl_VertexID): 27(ptr) Variable Input
29(gl_InstanceID): 27(ptr) Variable Input 29(gl_InstanceID): 27(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(i): 8(ptr) Variable Function 9(i): 8(ptr) Variable Function
Store 9(i) 10 Store 9(i) 10
Branch 11 Branch 11
11: Label 11: Label
14: 15(bool) Phi 16 5 26 13 14: 15(bool) Phi 16 5 26 13
...@@ -46,18 +44,18 @@ Linked vertex stage: ...@@ -46,18 +44,18 @@ Linked vertex stage:
Branch 17 Branch 17
17: Label 17: Label
SelectionMerge 13 None SelectionMerge 13 None
BranchConditional 14 13 18 BranchConditional 14 13 18
18: Label 18: Label
19: 7(int) Load 9(i) 19: 7(int) Load 9(i)
21: 15(bool) SLessThan 19 20 21: 15(bool) SLessThan 19 20
SelectionMerge 22 None SelectionMerge 22 None
BranchConditional 21 22 12 BranchConditional 21 22 12
22: Label 22: Label
Branch 13 Branch 13
13: Label 13: Label
23: 7(int) Load 9(i) 23: 7(int) Load 9(i)
25: 7(int) IAdd 23 24 25: 7(int) IAdd 23 24
Store 9(i) 25 Store 9(i) 25
Branch 11 Branch 11
12: Label 12: Label
Branch 6 Branch 6
......
...@@ -8,9 +8,10 @@ Linked vertex stage: ...@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 52 // Id's are bound by 52
Source ESSL 300 Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 9 "i" Name 9 "i"
Name 25 "A" Name 25 "A"
...@@ -22,22 +23,12 @@ Linked vertex stage: ...@@ -22,22 +23,12 @@ Linked vertex stage:
Name 47 "G" Name 47 "G"
Name 50 "gl_VertexID" Name 50 "gl_VertexID"
Name 51 "gl_InstanceID" 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) BuiltIn VertexId
Decorate 50(gl_VertexID) NoStaticUse Decorate 50(gl_VertexID) NoStaticUse
Decorate 51(gl_InstanceID) PrecisionHigh
Decorate 51(gl_InstanceID) BuiltIn InstanceId Decorate 51(gl_InstanceID) BuiltIn InstanceId
Decorate 51(gl_InstanceID) NoStaticUse Decorate 51(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: 7(int) Constant 0 10: 7(int) Constant 0
...@@ -53,19 +44,19 @@ Linked vertex stage: ...@@ -53,19 +44,19 @@ Linked vertex stage:
46: 7(int) Constant 99 46: 7(int) Constant 99
48: 7(int) Constant 12 48: 7(int) Constant 12
49: TypePointer Input 7(int) 49: TypePointer Input 7(int)
50(gl_VertexID): 49(ptr) Variable Input 50(gl_VertexID): 49(ptr) Variable Input
51(gl_InstanceID): 49(ptr) Variable Input 51(gl_InstanceID): 49(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(i): 8(ptr) Variable Function 9(i): 8(ptr) Variable Function
25(A): 8(ptr) Variable Function 25(A): 8(ptr) Variable Function
31(B): 8(ptr) Variable Function 31(B): 8(ptr) Variable Function
34(C): 8(ptr) Variable Function 34(C): 8(ptr) Variable Function
40(D): 8(ptr) Variable Function 40(D): 8(ptr) Variable Function
43(E): 8(ptr) Variable Function 43(E): 8(ptr) Variable Function
45(F): 8(ptr) Variable Function 45(F): 8(ptr) Variable Function
47(G): 8(ptr) Variable Function 47(G): 8(ptr) Variable Function
Store 9(i) 10 Store 9(i) 10
Branch 11 Branch 11
11: Label 11: Label
14: 15(bool) Phi 16 5 32 29 32 39 14: 15(bool) Phi 16 5 32 29 32 39
...@@ -73,44 +64,44 @@ Linked vertex stage: ...@@ -73,44 +64,44 @@ Linked vertex stage:
Branch 17 Branch 17
17: Label 17: Label
SelectionMerge 13 None SelectionMerge 13 None
BranchConditional 14 13 18 BranchConditional 14 13 18
18: Label 18: Label
19: 7(int) Load 9(i) 19: 7(int) Load 9(i)
21: 7(int) IAdd 19 20 21: 7(int) IAdd 19 20
Store 9(i) 21 Store 9(i) 21
23: 15(bool) SLessThan 21 22 23: 15(bool) SLessThan 21 22
SelectionMerge 24 None SelectionMerge 24 None
BranchConditional 23 24 12 BranchConditional 23 24 12
24: Label 24: Label
Branch 13 Branch 13
13: Label 13: Label
Store 25(A) 10 Store 25(A) 10
26: 7(int) Load 9(i) 26: 7(int) Load 9(i)
28: 15(bool) IEqual 26 27 28: 15(bool) IEqual 26 27
SelectionMerge 30 None SelectionMerge 30 None
BranchConditional 28 29 30 BranchConditional 28 29 30
29: Label 29: Label
Store 31(B) 20 Store 31(B) 20
Branch 11 Branch 11
33: Label 33: Label
Store 34(C) 27 Store 34(C) 27
Branch 30 Branch 30
30: Label 30: Label
35: 7(int) Load 9(i) 35: 7(int) Load 9(i)
37: 15(bool) IEqual 35 36 37: 15(bool) IEqual 35 36
SelectionMerge 39 None SelectionMerge 39 None
BranchConditional 37 38 39 BranchConditional 37 38 39
38: Label 38: Label
Store 40(D) 41 Store 40(D) 41
Branch 12 Branch 12
42: Label 42: Label
Store 43(E) 44 Store 43(E) 44
Branch 39 Branch 39
39: Label 39: Label
Store 45(F) 46 Store 45(F) 46
Branch 11 Branch 11
12: Label 12: Label
Store 47(G) 48 Store 47(G) 48
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,38 +8,40 @@ Linked fragment stage: ...@@ -8,38 +8,40 @@ Linked fragment stage:
// Id's are bound by 38 // Id's are bound by 38
Source GLSL 110 Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "color" Name 10 "color"
Name 12 "BaseColor" Name 12 "BaseColor"
Name 25 "d" Name 25 "d"
Name 30 "bigColor" Name 30 "bigColor"
Name 36 "gl_FragColor" Name 36 "gl_FragColor"
Decorate 12(BaseColor) Smooth Decorate 12(BaseColor) Smooth
Decorate 36(gl_FragColor) BuiltIn FragColor Decorate 36(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
11: TypePointer Input 8(fvec4) 11: TypePointer Input 8(fvec4)
12(BaseColor): 11(ptr) Variable Input 12(BaseColor): 11(ptr) Variable Input
18: TypeBool 18: TypeBool
19: 18(bool) ConstantTrue 19: 18(bool) ConstantTrue
24: TypePointer UniformConstant 7(float) 24: TypePointer UniformConstant 7(float)
25(d): 24(ptr) Variable UniformConstant 25(d): 24(ptr) Variable UniformConstant
29: TypePointer UniformConstant 8(fvec4) 29: TypePointer UniformConstant 8(fvec4)
30(bigColor): 29(ptr) Variable UniformConstant 30(bigColor): 29(ptr) Variable UniformConstant
34: 18(bool) ConstantFalse 34: 18(bool) ConstantFalse
35: TypePointer Output 8(fvec4) 35: TypePointer Output 8(fvec4)
36(gl_FragColor): 35(ptr) Variable Output 36(gl_FragColor): 35(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(color): 9(ptr) Variable Function 10(color): 9(ptr) Variable Function
13: 8(fvec4) Load 12(BaseColor) 13: 8(fvec4) Load 12(BaseColor)
Store 10(color) 13 Store 10(color) 13
Branch 14 Branch 14
14: Label 14: Label
17: 18(bool) Phi 19 5 34 16 17: 18(bool) Phi 19 5 34 16
...@@ -47,25 +49,25 @@ Linked fragment stage: ...@@ -47,25 +49,25 @@ Linked fragment stage:
Branch 20 Branch 20
20: Label 20: Label
SelectionMerge 16 None SelectionMerge 16 None
BranchConditional 17 16 21 BranchConditional 17 16 21
21: Label 21: Label
22: 8(fvec4) Load 10(color) 22: 8(fvec4) Load 10(color)
23: 7(float) CompositeExtract 22 0 23: 7(float) CompositeExtract 22 0
26: 7(float) Load 25(d) 26: 7(float) Load 25(d)
27: 18(bool) FOrdLessThan 23 26 27: 18(bool) FOrdLessThan 23 26
SelectionMerge 28 None SelectionMerge 28 None
BranchConditional 27 28 15 BranchConditional 27 28 15
28: Label 28: Label
Branch 16 Branch 16
16: Label 16: Label
31: 8(fvec4) Load 30(bigColor) 31: 8(fvec4) Load 30(bigColor)
32: 8(fvec4) Load 10(color) 32: 8(fvec4) Load 10(color)
33: 8(fvec4) FAdd 32 31 33: 8(fvec4) FAdd 32 31
Store 10(color) 33 Store 10(color) 33
Branch 14 Branch 14
15: Label 15: Label
37: 8(fvec4) Load 10(color) 37: 8(fvec4) Load 10(color)
Store 36(gl_FragColor) 37 Store 36(gl_FragColor) 37
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -10,9 +10,10 @@ Linked compute stage: ...@@ -10,9 +10,10 @@ Linked compute stage:
// Id's are bound by 63 // Id's are bound by 63
Source GLSL 430 Source GLSL 430
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint GLCompute 4 EntryPoint GLCompute 4 "main"
Name 4 "main" Name 4 "main"
Name 9 "bufName" Name 9 "bufName"
MemberName 9(bufName) 0 "f" MemberName 9(bufName) 0 "f"
...@@ -26,23 +27,23 @@ Linked compute stage: ...@@ -26,23 +27,23 @@ Linked compute stage:
Name 55 "globalCoef" Name 55 "globalCoef"
Name 59 "roll" Name 59 "roll"
Name 62 "destTex" Name 62 "destTex"
Decorate 9(bufName) GLSLShared Decorate 9(bufName) GLSLShared
Decorate 9(bufName) BufferBlock Decorate 9(bufName) BufferBlock
Decorate 27(gl_GlobalInvocationID) BuiltIn GlobalInvocationId Decorate 27(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
Decorate 34(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 34(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 14 NoStaticUse Decorate 14 NoStaticUse
Decorate 57 NoStaticUse Decorate 57 NoStaticUse
Decorate 14 NoStaticUse Decorate 14 NoStaticUse
Decorate 14 NoStaticUse Decorate 14 NoStaticUse
Decorate 59(roll) NoStaticUse Decorate 59(roll) NoStaticUse
Decorate 62(destTex) NoStaticUse Decorate 62(destTex) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeFloat 64 8: TypeFloat 64
9(bufName): TypeStruct 7(float) 8(float) 9(bufName): TypeStruct 7(float) 8(float)
10: TypePointer Uniform 9(bufName) 10: TypePointer Uniform 9(bufName)
11(bufInst): 10(ptr) Variable Uniform 11(bufInst): 10(ptr) Variable Uniform
12: TypeInt 32 1 12: TypeInt 32 1
13: 12(int) Constant 1 13: 12(int) Constant 1
14: 8(float) Constant 1413754136 1074340347 14: 8(float) Constant 1413754136 1074340347
...@@ -55,10 +56,10 @@ Linked compute stage: ...@@ -55,10 +56,10 @@ Linked compute stage:
24: TypeInt 32 0 24: TypeInt 32 0
25: TypeVector 24(int) 3 25: TypeVector 24(int) 3
26: TypePointer Input 25(ivec3) 26: TypePointer Input 25(ivec3)
27(gl_GlobalInvocationID): 26(ptr) Variable Input 27(gl_GlobalInvocationID): 26(ptr) Variable Input
29: TypeVector 24(int) 2 29: TypeVector 24(int) 2
32: TypePointer Function 8(float) 32: TypePointer Function 8(float)
34(gl_LocalInvocationID): 26(ptr) Variable Input 34(gl_LocalInvocationID): 26(ptr) Variable Input
38: 12(int) Constant 8 38: 12(int) Constant 8
41: TypeVector 7(float) 2 41: TypeVector 7(float) 2
43: 7(float) Constant 1090519040 43: 7(float) Constant 1090519040
...@@ -71,25 +72,25 @@ Linked compute stage: ...@@ -71,25 +72,25 @@ Linked compute stage:
56: 8(float) Constant 0 1072693248 56: 8(float) Constant 0 1072693248
57: 8(float) Constant 3229815407 1074340298 57: 8(float) Constant 3229815407 1074340298
58: TypePointer UniformConstant 8(float) 58: TypePointer UniformConstant 8(float)
59(roll): 58(ptr) Variable UniformConstant 59(roll): 58(ptr) Variable UniformConstant
60: TypeSampler7(float) 2D image 60: TypeImage 7(float) 2D nonsampled format:Unknown
61: TypePointer UniformConstant 60 61: TypePointer UniformConstant 60
62(destTex): 61(ptr) Variable UniformConstant 62(destTex): 61(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
23(storePos): 22(ptr) Variable Function 23(storePos): 22(ptr) Variable Function
33(localCoef): 32(ptr) Variable Function 33(localCoef): 32(ptr) Variable Function
50(aa): 49(ptr) Variable Function 50(aa): 49(ptr) Variable Function
55(globalCoef): 32(ptr) Variable Function 55(globalCoef): 32(ptr) Variable Function
16: 15(ptr) AccessChain 11(bufInst) 13 16: 15(ptr) AccessChain 11(bufInst) 13
Store 16 14 Store 16 14
20: 19(ptr) AccessChain 11(bufInst) 17 20: 19(ptr) AccessChain 11(bufInst) 17
Store 20 18 Store 20 18
28: 25(ivec3) Load 27(gl_GlobalInvocationID) 28: 25(ivec3) Load 27(gl_GlobalInvocationID)
30: 29(ivec2) VectorShuffle 28 28 0 1 30: 29(ivec2) VectorShuffle 28 28 0 1
31: 21(ivec2) Bitcast 30 31: 21(ivec2) Bitcast 30
Store 23(storePos) 31 Store 23(storePos) 31
35: 25(ivec3) Load 34(gl_LocalInvocationID) 35: 25(ivec3) Load 34(gl_LocalInvocationID)
36: 29(ivec2) VectorShuffle 35 35 0 1 36: 29(ivec2) VectorShuffle 35 35 0 1
37: 21(ivec2) Bitcast 36 37: 21(ivec2) Bitcast 36
39: 21(ivec2) CompositeConstruct 38 38 39: 21(ivec2) CompositeConstruct 38 38
...@@ -97,11 +98,11 @@ Linked compute stage: ...@@ -97,11 +98,11 @@ Linked compute stage:
42: 41(fvec2) ConvertSToF 40 42: 41(fvec2) ConvertSToF 40
44: 41(fvec2) CompositeConstruct 43 43 44: 41(fvec2) CompositeConstruct 43 43
45: 41(fvec2) FDiv 42 44 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 47: 8(float) FConvert 46
Store 33(localCoef) 47 Store 33(localCoef) 47
Store 50(aa) 54 Store 50(aa) 54
Store 55(globalCoef) 56 Store 55(globalCoef) 56
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 42 // Id's are bound by 42
Source GLSL 120 Source GLSL 120
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "color" Name 10 "color"
Name 12 "BaseColor" Name 12 "BaseColor"
...@@ -21,57 +23,57 @@ Linked fragment stage: ...@@ -21,57 +23,57 @@ Linked fragment stage:
Name 28 "bigColor" Name 28 "bigColor"
Name 33 "smallColor" Name 33 "smallColor"
Name 38 "gl_FragColor" Name 38 "gl_FragColor"
Decorate 12(BaseColor) Smooth Decorate 12(BaseColor) Smooth
Decorate 19(c) Smooth Decorate 19(c) Smooth
Decorate 38(gl_FragColor) BuiltIn FragColor Decorate 38(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
11: TypePointer Input 8(fvec4) 11: TypePointer Input 8(fvec4)
12(BaseColor): 11(ptr) Variable Input 12(BaseColor): 11(ptr) Variable Input
15: TypePointer UniformConstant 8(fvec4) 15: TypePointer UniformConstant 8(fvec4)
16(otherColor): 15(ptr) Variable UniformConstant 16(otherColor): 15(ptr) Variable UniformConstant
18: TypePointer Input 7(float) 18: TypePointer Input 7(float)
19(c): 18(ptr) Variable Input 19(c): 18(ptr) Variable Input
21: TypePointer UniformConstant 7(float) 21: TypePointer UniformConstant 7(float)
22(d): 21(ptr) Variable UniformConstant 22(d): 21(ptr) Variable UniformConstant
24: TypeBool 24: TypeBool
28(bigColor): 15(ptr) Variable UniformConstant 28(bigColor): 15(ptr) Variable UniformConstant
33(smallColor): 15(ptr) Variable UniformConstant 33(smallColor): 15(ptr) Variable UniformConstant
37: TypePointer Output 8(fvec4) 37: TypePointer Output 8(fvec4)
38(gl_FragColor): 37(ptr) Variable Output 38(gl_FragColor): 37(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(color): 9(ptr) Variable Function 10(color): 9(ptr) Variable Function
14(color2): 9(ptr) Variable Function 14(color2): 9(ptr) Variable Function
13: 8(fvec4) Load 12(BaseColor) 13: 8(fvec4) Load 12(BaseColor)
Store 10(color) 13 Store 10(color) 13
17: 8(fvec4) Load 16(otherColor) 17: 8(fvec4) Load 16(otherColor)
Store 14(color2) 17 Store 14(color2) 17
20: 7(float) Load 19(c) 20: 7(float) Load 19(c)
23: 7(float) Load 22(d) 23: 7(float) Load 22(d)
25: 24(bool) FOrdGreaterThan 20 23 25: 24(bool) FOrdGreaterThan 20 23
SelectionMerge 27 None SelectionMerge 27 None
BranchConditional 25 26 32 BranchConditional 25 26 32
26: Label 26: Label
29: 8(fvec4) Load 28(bigColor) 29: 8(fvec4) Load 28(bigColor)
30: 8(fvec4) Load 10(color) 30: 8(fvec4) Load 10(color)
31: 8(fvec4) FAdd 30 29 31: 8(fvec4) FAdd 30 29
Store 10(color) 31 Store 10(color) 31
Branch 27 Branch 27
32: Label 32: Label
34: 8(fvec4) Load 33(smallColor) 34: 8(fvec4) Load 33(smallColor)
35: 8(fvec4) Load 10(color) 35: 8(fvec4) Load 10(color)
36: 8(fvec4) FAdd 35 34 36: 8(fvec4) FAdd 35 34
Store 10(color) 36 Store 10(color) 36
Branch 27 Branch 27
27: Label 27: Label
39: 8(fvec4) Load 10(color) 39: 8(fvec4) Load 10(color)
40: 8(fvec4) Load 14(color2) 40: 8(fvec4) Load 14(color2)
41: 8(fvec4) FMul 39 40 41: 8(fvec4) FMul 39 40
Store 38(gl_FragColor) 41 Store 38(gl_FragColor) 41
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,10 @@ Linked vertex stage: ...@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 49 // Id's are bound by 49
Source ESSL 300 Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 9 "i" Name 9 "i"
Name 18 "A" Name 18 "A"
...@@ -22,22 +23,12 @@ Linked vertex stage: ...@@ -22,22 +23,12 @@ Linked vertex stage:
Name 44 "G" Name 44 "G"
Name 47 "gl_VertexID" Name 47 "gl_VertexID"
Name 48 "gl_InstanceID" 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) BuiltIn VertexId
Decorate 47(gl_VertexID) NoStaticUse Decorate 47(gl_VertexID) NoStaticUse
Decorate 48(gl_InstanceID) PrecisionHigh
Decorate 48(gl_InstanceID) BuiltIn InstanceId Decorate 48(gl_InstanceID) BuiltIn InstanceId
Decorate 48(gl_InstanceID) NoStaticUse Decorate 48(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: 7(int) Constant 0 10: 7(int) Constant 0
...@@ -49,61 +40,61 @@ Linked vertex stage: ...@@ -49,61 +40,61 @@ Linked vertex stage:
41: 7(int) Constant 12 41: 7(int) Constant 12
45: 7(int) Constant 99 45: 7(int) Constant 99
46: TypePointer Input 7(int) 46: TypePointer Input 7(int)
47(gl_VertexID): 46(ptr) Variable Input 47(gl_VertexID): 46(ptr) Variable Input
48(gl_InstanceID): 46(ptr) Variable Input 48(gl_InstanceID): 46(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(i): 8(ptr) Variable Function 9(i): 8(ptr) Variable Function
18(A): 8(ptr) Variable Function 18(A): 8(ptr) Variable Function
26(B): 8(ptr) Variable Function 26(B): 8(ptr) Variable Function
30(C): 8(ptr) Variable Function 30(C): 8(ptr) Variable Function
37(D): 8(ptr) Variable Function 37(D): 8(ptr) Variable Function
39(E): 8(ptr) Variable Function 39(E): 8(ptr) Variable Function
40(F): 8(ptr) Variable Function 40(F): 8(ptr) Variable Function
44(G): 8(ptr) Variable Function 44(G): 8(ptr) Variable Function
Store 9(i) 10 Store 9(i) 10
Branch 11 Branch 11
11: Label 11: Label
14: 7(int) Load 9(i) 14: 7(int) Load 9(i)
17: 16(bool) SLessThan 14 15 17: 16(bool) SLessThan 14 15
LoopMerge 12 None LoopMerge 12 None
BranchConditional 17 13 12 BranchConditional 17 13 12
13: Label 13: Label
Store 18(A) 19 Store 18(A) 19
20: 7(int) Load 9(i) 20: 7(int) Load 9(i)
22: 7(int) SMod 20 21 22: 7(int) SMod 20 21
23: 16(bool) IEqual 22 10 23: 16(bool) IEqual 22 10
SelectionMerge 25 None SelectionMerge 25 None
BranchConditional 23 24 25 BranchConditional 23 24 25
24: Label 24: Label
Store 26(B) 19 Store 26(B) 19
27: 7(int) Load 9(i) 27: 7(int) Load 9(i)
28: 7(int) IAdd 27 19 28: 7(int) IAdd 27 19
Store 9(i) 28 Store 9(i) 28
Branch 11 Branch 11
29: Label 29: Label
Store 30(C) 19 Store 30(C) 19
Branch 25 Branch 25
25: Label 25: Label
31: 7(int) Load 9(i) 31: 7(int) Load 9(i)
33: 7(int) SMod 31 32 33: 7(int) SMod 31 32
34: 16(bool) IEqual 33 10 34: 16(bool) IEqual 33 10
SelectionMerge 36 None SelectionMerge 36 None
BranchConditional 34 35 36 BranchConditional 34 35 36
35: Label 35: Label
Store 37(D) 19 Store 37(D) 19
Branch 12 Branch 12
38: Label 38: Label
Store 39(E) 19 Store 39(E) 19
Branch 36 Branch 36
36: Label 36: Label
Store 40(F) 41 Store 40(F) 41
42: 7(int) Load 9(i) 42: 7(int) Load 9(i)
43: 7(int) IAdd 42 19 43: 7(int) IAdd 42 19
Store 9(i) 43 Store 9(i) 43
Branch 11 Branch 11
12: Label 12: Label
Store 44(G) 45 Store 44(G) 45
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,24 +8,21 @@ Linked vertex stage: ...@@ -8,24 +8,21 @@ Linked vertex stage:
// Id's are bound by 26 // Id's are bound by 26
Source ESSL 300 Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 9 "i" Name 9 "i"
Name 18 "j" Name 18 "j"
Name 24 "gl_VertexID" Name 24 "gl_VertexID"
Name 25 "gl_InstanceID" 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) BuiltIn VertexId
Decorate 24(gl_VertexID) NoStaticUse Decorate 24(gl_VertexID) NoStaticUse
Decorate 25(gl_InstanceID) PrecisionHigh
Decorate 25(gl_InstanceID) BuiltIn InstanceId Decorate 25(gl_InstanceID) BuiltIn InstanceId
Decorate 25(gl_InstanceID) NoStaticUse Decorate 25(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: 7(int) Constant 0 10: 7(int) Constant 0
...@@ -34,24 +31,24 @@ Linked vertex stage: ...@@ -34,24 +31,24 @@ Linked vertex stage:
19: 7(int) Constant 12 19: 7(int) Constant 12
21: 7(int) Constant 1 21: 7(int) Constant 1
23: TypePointer Input 7(int) 23: TypePointer Input 7(int)
24(gl_VertexID): 23(ptr) Variable Input 24(gl_VertexID): 23(ptr) Variable Input
25(gl_InstanceID): 23(ptr) Variable Input 25(gl_InstanceID): 23(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(i): 8(ptr) Variable Function 9(i): 8(ptr) Variable Function
18(j): 8(ptr) Variable Function 18(j): 8(ptr) Variable Function
Store 9(i) 10 Store 9(i) 10
Branch 11 Branch 11
11: Label 11: Label
14: 7(int) Load 9(i) 14: 7(int) Load 9(i)
17: 16(bool) SLessThan 14 15 17: 16(bool) SLessThan 14 15
LoopMerge 12 None LoopMerge 12 None
BranchConditional 17 13 12 BranchConditional 17 13 12
13: Label 13: Label
Store 18(j) 19 Store 18(j) 19
20: 7(int) Load 9(i) 20: 7(int) Load 9(i)
22: 7(int) IAdd 20 21 22: 7(int) IAdd 20 21
Store 9(i) 22 Store 9(i) 22
Branch 11 Branch 11
12: Label 12: Label
Branch 6 Branch 6
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 59 // Id's are bound by 59
Source ESSL 100 Source ESSL 100
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 7 "bar(" Name 7 "bar("
Name 11 "unreachableReturn(" Name 11 "unreachableReturn("
...@@ -24,52 +26,52 @@ Linked fragment stage: ...@@ -24,52 +26,52 @@ Linked fragment stage:
Name 37 "d" Name 37 "d"
Name 49 "dummyReturn" Name 49 "dummyReturn"
Name 58 "bigColor" Name 58 "bigColor"
Decorate 19(color) PrecisionMedium Decorate 19(color) RelaxedPrecision
Decorate 21(BaseColor) PrecisionMedium Decorate 21(BaseColor) RelaxedPrecision
Decorate 21(BaseColor) Smooth Decorate 21(BaseColor) Smooth
Decorate 28(f) PrecisionMedium Decorate 28(f) RelaxedPrecision
Decorate 31(gl_FragColor) PrecisionMedium Decorate 31(gl_FragColor) RelaxedPrecision
Decorate 31(gl_FragColor) BuiltIn FragColor Decorate 31(gl_FragColor) BuiltIn FragColor
Decorate 37(d) PrecisionMedium Decorate 37(d) RelaxedPrecision
Decorate 58(bigColor) PrecisionMedium Decorate 58(bigColor) RelaxedPrecision
Decorate 58(bigColor) NoStaticUse Decorate 58(bigColor) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
9: TypeFloat 32 9: TypeFloat 32
10: TypeFunction 9(float) 10: TypeFunction 9(float)
13: TypeVector 9(float) 4 13: TypeVector 9(float) 4
14: TypePointer Function 13(fvec4) 14: TypePointer Function 13(fvec4)
15: TypeFunction 9(float) 14(ptr) 15: TypeFunction 9(float) 14(ptr)
20: TypePointer Input 13(fvec4) 20: TypePointer Input 13(fvec4)
21(BaseColor): 20(ptr) Variable Input 21(BaseColor): 20(ptr) Variable Input
27: TypePointer Function 9(float) 27: TypePointer Function 9(float)
30: TypePointer Output 13(fvec4) 30: TypePointer Output 13(fvec4)
31(gl_FragColor): 30(ptr) Variable Output 31(gl_FragColor): 30(ptr) Variable Output
36: TypePointer UniformConstant 9(float) 36: TypePointer UniformConstant 9(float)
37(d): 36(ptr) Variable UniformConstant 37(d): 36(ptr) Variable UniformConstant
39: 9(float) Constant 1082549862 39: 9(float) Constant 1082549862
40: TypeBool 40: TypeBool
44: 9(float) Constant 1067030938 44: 9(float) Constant 1067030938
47: 9(float) Constant 1083179008 47: 9(float) Constant 1083179008
57: TypePointer UniformConstant 13(fvec4) 57: TypePointer UniformConstant 13(fvec4)
58(bigColor): 57(ptr) Variable UniformConstant 58(bigColor): 57(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
19(color): 14(ptr) Variable Function 19(color): 14(ptr) Variable Function
22(param): 14(ptr) Variable Function 22(param): 14(ptr) Variable Function
28(f): 27(ptr) Variable Function 28(f): 27(ptr) Variable Function
23: 13(fvec4) Load 21(BaseColor) 23: 13(fvec4) Load 21(BaseColor)
Store 22(param) 23 Store 22(param) 23
24: 9(float) FunctionCall 17(foo(vf4;) 22(param) 24: 9(float) FunctionCall 17(foo(vf4;) 22(param)
25: 13(fvec4) CompositeConstruct 24 24 24 24 25: 13(fvec4) CompositeConstruct 24 24 24 24
Store 19(color) 25 Store 19(color) 25
26: 2 FunctionCall 7(bar() 26: 2 FunctionCall 7(bar()
29: 9(float) FunctionCall 11(unreachableReturn() 29: 9(float) FunctionCall 11(unreachableReturn()
Store 28(f) 29 Store 28(f) 29
32: 13(fvec4) Load 19(color) 32: 13(fvec4) Load 19(color)
33: 9(float) Load 28(f) 33: 9(float) Load 28(f)
34: 13(fvec4) VectorTimesScalar 32 33 34: 13(fvec4) VectorTimesScalar 32 33
Store 31(gl_FragColor) 34 Store 31(gl_FragColor) 34
Branch 6 Branch 6
6: Label 6: Label
Return Return
...@@ -80,26 +82,26 @@ Linked fragment stage: ...@@ -80,26 +82,26 @@ Linked fragment stage:
FunctionEnd FunctionEnd
11(unreachableReturn(): 9(float) Function None 10 11(unreachableReturn(): 9(float) Function None 10
12: Label 12: Label
49(dummyReturn): 27(ptr) Variable Function 49(dummyReturn): 27(ptr) Variable Function
35: 2 FunctionCall 7(bar() 35: 2 FunctionCall 7(bar()
38: 9(float) Load 37(d) 38: 9(float) Load 37(d)
41: 40(bool) FOrdLessThan 38 39 41: 40(bool) FOrdLessThan 38 39
SelectionMerge 43 None SelectionMerge 43 None
BranchConditional 41 42 46 BranchConditional 41 42 46
42: Label 42: Label
ReturnValue 44 ReturnValue 44
46: Label 46: Label
ReturnValue 47 ReturnValue 47
43: Label 43: Label
50: 9(float) Load 49(dummyReturn) 50: 9(float) Load 49(dummyReturn)
ReturnValue 50 ReturnValue 50
FunctionEnd FunctionEnd
17(foo(vf4;): 9(float) Function None 15 17(foo(vf4;): 9(float) Function None 15
16(bar): 14(ptr) FunctionParameter 16(bar): 14(ptr) FunctionParameter
18: Label 18: Label
51: 13(fvec4) Load 16(bar) 51: 13(fvec4) Load 16(bar)
52: 9(float) CompositeExtract 51 0 52: 9(float) CompositeExtract 51 0
53: 13(fvec4) Load 16(bar) 53: 13(fvec4) Load 16(bar)
54: 9(float) CompositeExtract 53 1 54: 9(float) CompositeExtract 53 1
55: 9(float) FAdd 52 54 55: 9(float) FAdd 52 54
ReturnValue 55 ReturnValue 55
......
...@@ -10,9 +10,11 @@ Linked fragment stage: ...@@ -10,9 +10,11 @@ Linked fragment stage:
// Id's are bound by 76 // Id's are bound by 76
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 12 "foo(vf4;" Name 12 "foo(vf4;"
Name 11 "bar" Name 11 "bar"
...@@ -30,21 +32,21 @@ Linked fragment stage: ...@@ -30,21 +32,21 @@ Linked fragment stage:
Name 65 "g" Name 65 "g"
Name 68 "gl_FragColor" Name 68 "gl_FragColor"
Name 75 "bigColor" Name 75 "bigColor"
Decorate 57(BaseColor) Smooth Decorate 57(BaseColor) Smooth
Decorate 68(gl_FragColor) BuiltIn FragColor Decorate 68(gl_FragColor) BuiltIn FragColor
Decorate 75(bigColor) NoStaticUse Decorate 75(bigColor) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
10: TypeFunction 7(float) 9(ptr) 10: TypeFunction 7(float) 9(ptr)
16: TypeFunction 7(float) 16: TypeFunction 7(float)
21: TypePointer PrivateGlobal 7(float) 21: TypePointer PrivateGlobal 7(float)
22(h): 21(ptr) Variable PrivateGlobal 22(h): 21(ptr) Variable PrivateGlobal
23: 7(float) Constant 0 23: 7(float) Constant 0
30: TypePointer UniformConstant 7(float) 30: TypePointer UniformConstant 7(float)
31(d): 30(ptr) Variable UniformConstant 31(d): 30(ptr) Variable UniformConstant
33: 7(float) Constant 1082549862 33: 7(float) Constant 1082549862
34: TypeBool 34: TypeBool
38: 7(float) Constant 1067030938 38: 7(float) Constant 1067030938
...@@ -52,34 +54,34 @@ Linked fragment stage: ...@@ -52,34 +54,34 @@ Linked fragment stage:
43: TypePointer Function 7(float) 43: TypePointer Function 7(float)
51: 7(float) Constant 1081711002 51: 7(float) Constant 1081711002
56: TypePointer Input 8(fvec4) 56: TypePointer Input 8(fvec4)
57(BaseColor): 56(ptr) Variable Input 57(BaseColor): 56(ptr) Variable Input
67: TypePointer Output 8(fvec4) 67: TypePointer Output 8(fvec4)
68(gl_FragColor): 67(ptr) Variable Output 68(gl_FragColor): 67(ptr) Variable Output
74: TypePointer UniformConstant 8(fvec4) 74: TypePointer UniformConstant 8(fvec4)
75(bigColor): 74(ptr) Variable UniformConstant 75(bigColor): 74(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
55(color): 9(ptr) Variable Function 55(color): 9(ptr) Variable Function
58(param): 9(ptr) Variable Function 58(param): 9(ptr) Variable Function
63(f): 43(ptr) Variable Function 63(f): 43(ptr) Variable Function
65(g): 43(ptr) Variable Function 65(g): 43(ptr) Variable Function
Store 22(h) 23 Store 22(h) 23
59: 8(fvec4) Load 57(BaseColor) 59: 8(fvec4) Load 57(BaseColor)
Store 58(param) 59 Store 58(param) 59
60: 7(float) FunctionCall 12(foo(vf4;) 58(param) 60: 7(float) FunctionCall 12(foo(vf4;) 58(param)
61: 8(fvec4) CompositeConstruct 60 60 60 60 61: 8(fvec4) CompositeConstruct 60 60 60 60
Store 55(color) 61 Store 55(color) 61
62: 2 FunctionCall 14(bar() 62: 2 FunctionCall 14(bar()
64: 7(float) FunctionCall 17(unreachableReturn() 64: 7(float) FunctionCall 17(unreachableReturn()
Store 63(f) 64 Store 63(f) 64
66: 7(float) FunctionCall 19(missingReturn() 66: 7(float) FunctionCall 19(missingReturn()
Store 65(g) 66 Store 65(g) 66
69: 8(fvec4) Load 55(color) 69: 8(fvec4) Load 55(color)
70: 7(float) Load 63(f) 70: 7(float) Load 63(f)
71: 8(fvec4) VectorTimesScalar 69 70 71: 8(fvec4) VectorTimesScalar 69 70
72: 7(float) Load 22(h) 72: 7(float) Load 22(h)
73: 8(fvec4) VectorTimesScalar 71 72 73: 8(fvec4) VectorTimesScalar 71 72
Store 68(gl_FragColor) 73 Store 68(gl_FragColor) 73
Branch 6 Branch 6
6: Label 6: Label
Return Return
...@@ -87,9 +89,9 @@ Linked fragment stage: ...@@ -87,9 +89,9 @@ Linked fragment stage:
12(foo(vf4;): 7(float) Function None 10 12(foo(vf4;): 7(float) Function None 10
11(bar): 9(ptr) FunctionParameter 11(bar): 9(ptr) FunctionParameter
13: Label 13: Label
24: 8(fvec4) Load 11(bar) 24: 8(fvec4) Load 11(bar)
25: 7(float) CompositeExtract 24 0 25: 7(float) CompositeExtract 24 0
26: 8(fvec4) Load 11(bar) 26: 8(fvec4) Load 11(bar)
27: 7(float) CompositeExtract 26 1 27: 7(float) CompositeExtract 26 1
28: 7(float) FAdd 25 27 28: 7(float) FAdd 25 27
ReturnValue 28 ReturnValue 28
...@@ -100,31 +102,31 @@ Linked fragment stage: ...@@ -100,31 +102,31 @@ Linked fragment stage:
FunctionEnd FunctionEnd
17(unreachableReturn(): 7(float) Function None 16 17(unreachableReturn(): 7(float) Function None 16
18: Label 18: Label
44(dummyReturn): 43(ptr) Variable Function 44(dummyReturn): 43(ptr) Variable Function
32: 7(float) Load 31(d) 32: 7(float) Load 31(d)
35: 34(bool) FOrdLessThan 32 33 35: 34(bool) FOrdLessThan 32 33
SelectionMerge 37 None SelectionMerge 37 None
BranchConditional 35 36 40 BranchConditional 35 36 40
36: Label 36: Label
ReturnValue 38 ReturnValue 38
40: Label 40: Label
ReturnValue 41 ReturnValue 41
37: Label 37: Label
45: 7(float) Load 44(dummyReturn) 45: 7(float) Load 44(dummyReturn)
ReturnValue 45 ReturnValue 45
FunctionEnd FunctionEnd
19(missingReturn(): 7(float) Function None 16 19(missingReturn(): 7(float) Function None 16
20: Label 20: Label
53(dummyReturn): 43(ptr) Variable Function 53(dummyReturn): 43(ptr) Variable Function
46: 7(float) Load 31(d) 46: 7(float) Load 31(d)
47: 34(bool) FOrdLessThan 46 41 47: 34(bool) FOrdLessThan 46 41
SelectionMerge 49 None SelectionMerge 49 None
BranchConditional 47 48 49 BranchConditional 47 48 49
48: Label 48: Label
50: 7(float) Load 31(d) 50: 7(float) Load 31(d)
Store 22(h) 50 Store 22(h) 50
ReturnValue 51 ReturnValue 51
49: Label 49: Label
54: 7(float) Load 53(dummyReturn) 54: 7(float) Load 53(dummyReturn)
ReturnValue 54 ReturnValue 54
FunctionEnd FunctionEnd
...@@ -8,19 +8,21 @@ Linked fragment stage: ...@@ -8,19 +8,21 @@ Linked fragment stage:
// Id's are bound by 34 // Id's are bound by 34
Source GLSL 120 Source GLSL 120
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "t" Name 10 "t"
Name 15 "v" Name 15 "v"
Name 27 "gl_FragColor" Name 27 "gl_FragColor"
Name 33 "u" Name 33 "u"
Decorate 15(v) Smooth Decorate 15(v) Smooth
Decorate 27(gl_FragColor) BuiltIn FragColor Decorate 27(gl_FragColor) BuiltIn FragColor
Decorate 33(u) NoStaticUse Decorate 33(u) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 2 8: TypeVector 7(float) 2
9: TypePointer Function 8(fvec2) 9: TypePointer Function 8(fvec2)
...@@ -28,30 +30,30 @@ Linked fragment stage: ...@@ -28,30 +30,30 @@ Linked fragment stage:
12: 11(int) Constant 2 12: 11(int) Constant 2
13: TypeArray 8(fvec2) 12 13: TypeArray 8(fvec2) 12
14: TypePointer Input 13 14: TypePointer Input 13
15(v): 14(ptr) Variable Input 15(v): 14(ptr) Variable Input
16: TypeInt 32 1 16: TypeInt 32 1
17: 16(int) Constant 0 17: 16(int) Constant 0
18: TypePointer Input 8(fvec2) 18: TypePointer Input 8(fvec2)
21: 16(int) Constant 1 21: 16(int) Constant 1
25: TypeVector 7(float) 4 25: TypeVector 7(float) 4
26: TypePointer Output 25(fvec4) 26: TypePointer Output 25(fvec4)
27(gl_FragColor): 26(ptr) Variable Output 27(gl_FragColor): 26(ptr) Variable Output
28: 7(float) Constant 1106247680 28: 7(float) Constant 1106247680
29: 25(fvec4) ConstantComposite 28 28 28 28 29: 25(fvec4) ConstantComposite 28 28 28 28
30: 11(int) Constant 3 30: 11(int) Constant 3
31: TypeArray 25(fvec4) 30 31: TypeArray 25(fvec4) 30
32: TypePointer UniformConstant 31 32: TypePointer UniformConstant 31
33(u): 32(ptr) Variable UniformConstant 33(u): 32(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(t): 9(ptr) Variable Function 10(t): 9(ptr) Variable Function
19: 18(ptr) AccessChain 15(v) 17 19: 18(ptr) AccessChain 15(v) 17
20: 8(fvec2) Load 19 20: 8(fvec2) Load 19
22: 18(ptr) AccessChain 15(v) 21 22: 18(ptr) AccessChain 15(v) 21
23: 8(fvec2) Load 22 23: 8(fvec2) Load 22
24: 8(fvec2) FAdd 20 23 24: 8(fvec2) FAdd 20 23
Store 10(t) 24 Store 10(t) 24
Store 27(gl_FragColor) 29 Store 27(gl_FragColor) 29
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,10 @@ Linked vertex stage: ...@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 94 // Id's are bound by 94
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 15 "xf(mf33;vf3;" Name 15 "xf(mf33;vf3;"
Name 13 "m" Name 13 "m"
...@@ -32,9 +33,9 @@ Linked vertex stage: ...@@ -32,9 +33,9 @@ Linked vertex stage:
Name 93 "gl_VertexID" Name 93 "gl_VertexID"
Decorate 70(gl_Position) BuiltIn Position Decorate 70(gl_Position) BuiltIn Position
Decorate 93(gl_VertexID) BuiltIn VertexId Decorate 93(gl_VertexID) BuiltIn VertexId
Decorate 93(gl_VertexID) NoStaticUse Decorate 93(gl_VertexID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 3 8: TypeVector 7(float) 3
9: TypeMatrix 8(fvec3) 3 9: TypeMatrix 8(fvec3) 3
...@@ -54,37 +55,37 @@ Linked vertex stage: ...@@ -54,37 +55,37 @@ Linked vertex stage:
47: 7(float) Constant 1065353216 47: 7(float) Constant 1065353216
48: 7(float) Constant 0 48: 7(float) Constant 0
69: TypePointer Output 17(fvec4) 69: TypePointer Output 17(fvec4)
70(gl_Position): 69(ptr) Variable Output 70(gl_Position): 69(ptr) Variable Output
71: TypePointer UniformConstant 18 71: TypePointer UniformConstant 18
72(m4): 71(ptr) Variable UniformConstant 72(m4): 71(ptr) Variable UniformConstant
73: TypePointer Input 8(fvec3) 73: TypePointer Input 8(fvec3)
74(v3): 73(ptr) Variable Input 74(v3): 73(ptr) Variable Input
80: TypePointer UniformConstant 9 80: TypePointer UniformConstant 9
81(m3): 80(ptr) Variable UniformConstant 81(m3): 80(ptr) Variable UniformConstant
92: TypePointer Input 33(int) 92: TypePointer Input 33(int)
93(gl_VertexID): 92(ptr) Variable Input 93(gl_VertexID): 92(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
75(param): 19(ptr) Variable Function 75(param): 19(ptr) Variable Function
77(param): 11(ptr) Variable Function 77(param): 11(ptr) Variable Function
82(param): 10(ptr) Variable Function 82(param): 10(ptr) Variable Function
84(param): 11(ptr) Variable Function 84(param): 11(ptr) Variable Function
76: 18 Load 72(m4) 76: 18 Load 72(m4)
Store 75(param) 76 Store 75(param) 76
78: 8(fvec3) Load 74(v3) 78: 8(fvec3) Load 74(v3)
Store 77(param) 78 Store 77(param) 78
79: 8(fvec3) FunctionCall 27(mxv(mf44;vf3;) 75(param) 77(param) 79: 8(fvec3) FunctionCall 27(mxv(mf44;vf3;) 75(param) 77(param)
83: 9 Load 81(m3) 83: 9 Load 81(m3)
Store 82(param) 83 Store 82(param) 83
85: 8(fvec3) Load 74(v3) 85: 8(fvec3) Load 74(v3)
Store 84(param) 85 Store 84(param) 85
86: 8(fvec3) FunctionCall 15(xf(mf33;vf3;) 82(param) 84(param) 86: 8(fvec3) FunctionCall 15(xf(mf33;vf3;) 82(param) 84(param)
87: 8(fvec3) FAdd 79 86 87: 8(fvec3) FAdd 79 86
88: 7(float) CompositeExtract 87 0 88: 7(float) CompositeExtract 87 0
89: 7(float) CompositeExtract 87 1 89: 7(float) CompositeExtract 87 1
90: 7(float) CompositeExtract 87 2 90: 7(float) CompositeExtract 87 2
91: 17(fvec4) CompositeConstruct 88 89 90 47 91: 17(fvec4) CompositeConstruct 88 89 90 47
Store 70(gl_Position) 91 Store 70(gl_Position) 91
Branch 6 Branch 6
6: Label 6: Label
Return Return
...@@ -93,8 +94,8 @@ Linked vertex stage: ...@@ -93,8 +94,8 @@ Linked vertex stage:
13(m): 10(ptr) FunctionParameter 13(m): 10(ptr) FunctionParameter
14(v): 11(ptr) FunctionParameter 14(v): 11(ptr) FunctionParameter
16: Label 16: Label
29: 8(fvec3) Load 14(v) 29: 8(fvec3) Load 14(v)
30: 9 Load 13(m) 30: 9 Load 13(m)
31: 8(fvec3) VectorTimesMatrix 29 30 31: 8(fvec3) VectorTimesMatrix 29 30
ReturnValue 31 ReturnValue 31
FunctionEnd FunctionEnd
...@@ -102,13 +103,13 @@ Linked vertex stage: ...@@ -102,13 +103,13 @@ Linked vertex stage:
21(m): 19(ptr) FunctionParameter 21(m): 19(ptr) FunctionParameter
23: Label 23: Label
36: 35(ptr) AccessChain 21(m) 34 36: 35(ptr) AccessChain 21(m) 34
37: 17(fvec4) Load 36 37: 17(fvec4) Load 36
38: 8(fvec3) VectorShuffle 37 37 0 1 2 38: 8(fvec3) VectorShuffle 37 37 0 1 2
40: 35(ptr) AccessChain 21(m) 39 40: 35(ptr) AccessChain 21(m) 39
41: 17(fvec4) Load 40 41: 17(fvec4) Load 40
42: 8(fvec3) VectorShuffle 41 41 0 1 2 42: 8(fvec3) VectorShuffle 41 41 0 1 2
44: 35(ptr) AccessChain 21(m) 43 44: 35(ptr) AccessChain 21(m) 43
45: 17(fvec4) Load 44 45: 17(fvec4) Load 44
46: 8(fvec3) VectorShuffle 45 45 0 1 2 46: 8(fvec3) VectorShuffle 45 45 0 1 2
49: 7(float) CompositeExtract 38 0 49: 7(float) CompositeExtract 38 0
50: 7(float) CompositeExtract 38 1 50: 7(float) CompositeExtract 38 1
...@@ -129,10 +130,10 @@ Linked vertex stage: ...@@ -129,10 +130,10 @@ Linked vertex stage:
25(m4): 19(ptr) FunctionParameter 25(m4): 19(ptr) FunctionParameter
26(v): 11(ptr) FunctionParameter 26(v): 11(ptr) FunctionParameter
28: Label 28: Label
64(param): 19(ptr) Variable Function 64(param): 19(ptr) Variable Function
63: 8(fvec3) Load 26(v) 63: 8(fvec3) Load 26(v)
65: 18 Load 25(m4) 65: 18 Load 25(m4)
Store 64(param) 65 Store 64(param) 65
66: 9 FunctionCall 22(Mat3(mf44;) 64(param) 66: 9 FunctionCall 22(Mat3(mf44;) 64(param)
67: 8(fvec3) VectorTimesMatrix 63 66 67: 8(fvec3) VectorTimesMatrix 63 66
ReturnValue 67 ReturnValue 67
......
...@@ -8,9 +8,10 @@ Linked vertex stage: ...@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 91 // Id's are bound by 91
Source GLSL 120 Source GLSL 120
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 10 "a" Name 10 "a"
Name 13 "v3" Name 13 "v3"
...@@ -20,25 +21,25 @@ Linked vertex stage: ...@@ -20,25 +21,25 @@ Linked vertex stage:
Name 29 "gl_Position" Name 29 "gl_Position"
Name 56 "v4" Name 56 "v4"
Decorate 29(gl_Position) BuiltIn Position Decorate 29(gl_Position) BuiltIn Position
Decorate 75 NoStaticUse Decorate 75 NoStaticUse
Decorate 79 NoStaticUse Decorate 79 NoStaticUse
Decorate 90 NoStaticUse Decorate 90 NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 2 8: TypeVector 7(float) 2
9: TypePointer Function 8(fvec2) 9: TypePointer Function 8(fvec2)
11: TypeVector 7(float) 3 11: TypeVector 7(float) 3
12: TypePointer Input 11(fvec3) 12: TypePointer Input 11(fvec3)
13(v3): 12(ptr) Variable Input 13(v3): 12(ptr) Variable Input
15: TypeMatrix 11(fvec3) 2 15: TypeMatrix 11(fvec3) 2
16: TypePointer Function 15 16: TypePointer Function 15
21: TypeMatrix 8(fvec2) 3 21: TypeMatrix 8(fvec2) 3
22: TypePointer UniformConstant 21 22: TypePointer UniformConstant 21
23(m32): 22(ptr) Variable UniformConstant 23(m32): 22(ptr) Variable UniformConstant
27: TypeVector 7(float) 4 27: TypeVector 7(float) 4
28: TypePointer Output 27(fvec4) 28: TypePointer Output 27(fvec4)
29(gl_Position): 28(ptr) Variable Output 29(gl_Position): 28(ptr) Variable Output
32: TypeMatrix 11(fvec3) 3 32: TypeMatrix 11(fvec3) 3
36: 7(float) Constant 0 36: 7(float) Constant 0
41: TypeMatrix 27(fvec4) 4 41: TypeMatrix 27(fvec4) 4
...@@ -56,7 +57,7 @@ Linked vertex stage: ...@@ -56,7 +57,7 @@ Linked vertex stage:
53: 27(fvec4) ConstantComposite 51 52 36 36 53: 27(fvec4) ConstantComposite 51 52 36 36
54: 41 ConstantComposite 44 47 50 53 54: 41 ConstantComposite 44 47 50 53
55: TypePointer Input 27(fvec4) 55: TypePointer Input 27(fvec4)
56(v4): 55(ptr) Variable Input 56(v4): 55(ptr) Variable Input
60: 7(float) Constant 1112014848 60: 7(float) Constant 1112014848
61: 7(float) Constant 1121714176 61: 7(float) Constant 1121714176
62: 7(float) Constant 1126825984 62: 7(float) Constant 1126825984
...@@ -87,33 +88,33 @@ Linked vertex stage: ...@@ -87,33 +88,33 @@ Linked vertex stage:
90: 80 ConstantComposite 83 85 86 89 90: 80 ConstantComposite 83 85 86 89
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(a): 9(ptr) Variable Function 10(a): 9(ptr) Variable Function
17(m23): 16(ptr) Variable Function 17(m23): 16(ptr) Variable Function
20(b): 9(ptr) Variable Function 20(b): 9(ptr) Variable Function
14: 11(fvec3) Load 13(v3) 14: 11(fvec3) Load 13(v3)
18: 15 Load 17(m23) 18: 15 Load 17(m23)
19: 8(fvec2) VectorTimesMatrix 14 18 19: 8(fvec2) VectorTimesMatrix 14 18
Store 10(a) 19 Store 10(a) 19
24: 21 Load 23(m32) 24: 21 Load 23(m32)
25: 11(fvec3) Load 13(v3) 25: 11(fvec3) Load 13(v3)
26: 8(fvec2) MatrixTimesVector 24 25 26: 8(fvec2) MatrixTimesVector 24 25
Store 20(b) 26 Store 20(b) 26
30: 15 Load 17(m23) 30: 15 Load 17(m23)
31: 21 Load 23(m32) 31: 21 Load 23(m32)
33: 32 MatrixTimesMatrix 30 31 33: 32 MatrixTimesMatrix 30 31
34: 11(fvec3) Load 13(v3) 34: 11(fvec3) Load 13(v3)
35: 11(fvec3) MatrixTimesVector 33 34 35: 11(fvec3) MatrixTimesVector 33 34
37: 7(float) CompositeExtract 35 0 37: 7(float) CompositeExtract 35 0
38: 7(float) CompositeExtract 35 1 38: 7(float) CompositeExtract 35 1
39: 7(float) CompositeExtract 35 2 39: 7(float) CompositeExtract 35 2
40: 27(fvec4) CompositeConstruct 37 38 39 36 40: 27(fvec4) CompositeConstruct 37 38 39 36
57: 27(fvec4) Load 56(v4) 57: 27(fvec4) Load 56(v4)
58: 27(fvec4) MatrixTimesVector 54 57 58: 27(fvec4) MatrixTimesVector 54 57
59: 27(fvec4) FAdd 40 58 59: 27(fvec4) FAdd 40 58
65: 27(fvec4) FAdd 59 64 65: 27(fvec4) FAdd 59 64
69: 27(fvec4) FAdd 65 68 69: 27(fvec4) FAdd 65 68
74: 27(fvec4) FAdd 69 73 74: 27(fvec4) FAdd 69 73
Store 29(gl_Position) 74 Store 29(gl_Position) 74
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -8,9 +8,11 @@ Linked fragment stage: ...@@ -8,9 +8,11 @@ Linked fragment stage:
// Id's are bound by 97 // Id's are bound by 97
Source GLSL 140 Source GLSL 140
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 9 "index" Name 9 "index"
Name 15 "s" Name 15 "s"
...@@ -24,7 +26,7 @@ Linked fragment stage: ...@@ -24,7 +26,7 @@ Linked fragment stage:
Name 93 "gl_FragColor" Name 93 "gl_FragColor"
Decorate 93(gl_FragColor) BuiltIn FragColor Decorate 93(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: 7(int) Constant 5 10: 7(int) Constant 5
...@@ -46,104 +48,104 @@ Linked fragment stage: ...@@ -46,104 +48,104 @@ Linked fragment stage:
76: 11(float) Constant 1082130432 76: 11(float) Constant 1082130432
77: 72(fvec4) ConstantComposite 29 20 75 76 77: 72(fvec4) ConstantComposite 29 20 75 76
92: TypePointer Output 72(fvec4) 92: TypePointer Output 72(fvec4)
93(gl_FragColor): 92(ptr) Variable Output 93(gl_FragColor): 92(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(index): 8(ptr) Variable Function 9(index): 8(ptr) Variable Function
17(str): 16(ptr) Variable Function 17(str): 16(ptr) Variable Function
23(t): 21(ptr) Variable Function 23(t): 21(ptr) Variable Function
51(x): 21(ptr) Variable Function 51(x): 21(ptr) Variable Function
62(y): 21(ptr) Variable Function 62(y): 21(ptr) Variable Function
67(z): 21(ptr) Variable Function 67(z): 21(ptr) Variable Function
74(v): 73(ptr) Variable Function 74(v): 73(ptr) Variable Function
Store 9(index) 10 Store 9(index) 10
22: 21(ptr) AccessChain 17(str) 18 19 22: 21(ptr) AccessChain 17(str) 18 19
Store 22 20 Store 22 20
24: 7(int) Load 9(index) 24: 7(int) Load 9(index)
26: 7(int) ISub 24 25 26: 7(int) ISub 24 25
Store 9(index) 26 Store 9(index) 26
27: 21(ptr) AccessChain 17(str) 18 26 27: 21(ptr) AccessChain 17(str) 18 26
28: 11(float) Load 27 28: 11(float) Load 27
30: 11(float) FAdd 28 29 30: 11(float) FAdd 28 29
Store 27 30 Store 27 30
Store 23(t) 30 Store 23(t) 30
31: 11(float) Load 23(t) 31: 11(float) Load 23(t)
32: 21(ptr) AccessChain 17(str) 18 19 32: 21(ptr) AccessChain 17(str) 18 19
33: 11(float) Load 32 33: 11(float) Load 32
34: 11(float) FAdd 33 31 34: 11(float) FAdd 33 31
35: 21(ptr) AccessChain 17(str) 18 19 35: 21(ptr) AccessChain 17(str) 18 19
Store 35 34 Store 35 34
36: 21(ptr) AccessChain 17(str) 18 19 36: 21(ptr) AccessChain 17(str) 18 19
37: 11(float) Load 36 37: 11(float) Load 36
38: 11(float) FSub 37 29 38: 11(float) FSub 37 29
Store 36 38 Store 36 38
Store 23(t) 37 Store 23(t) 37
39: 7(int) Load 9(index) 39: 7(int) Load 9(index)
40: 7(int) IAdd 39 25 40: 7(int) IAdd 39 25
Store 9(index) 40 Store 9(index) 40
41: 11(float) Load 23(t) 41: 11(float) Load 23(t)
42: 21(ptr) AccessChain 17(str) 18 39 42: 21(ptr) AccessChain 17(str) 18 39
43: 11(float) Load 42 43: 11(float) Load 42
44: 11(float) FAdd 43 41 44: 11(float) FAdd 43 41
45: 21(ptr) AccessChain 17(str) 18 39 45: 21(ptr) AccessChain 17(str) 18 39
Store 45 44 Store 45 44
46: 7(int) Load 9(index) 46: 7(int) Load 9(index)
47: 7(int) ISub 46 25 47: 7(int) ISub 46 25
Store 9(index) 47 Store 9(index) 47
48: 21(ptr) AccessChain 17(str) 18 47 48: 21(ptr) AccessChain 17(str) 18 47
49: 11(float) Load 48 49: 11(float) Load 48
50: 11(float) FSub 49 29 50: 11(float) FSub 49 29
Store 48 50 Store 48 50
52: 21(ptr) AccessChain 17(str) 18 19 52: 21(ptr) AccessChain 17(str) 18 19
53: 11(float) Load 52 53: 11(float) Load 52
Store 51(x) 53 Store 51(x) 53
54: 11(float) Load 51(x) 54: 11(float) Load 51(x)
55: 11(float) FAdd 54 29 55: 11(float) FAdd 54 29
Store 51(x) 55 Store 51(x) 55
56: 11(float) Load 51(x) 56: 11(float) Load 51(x)
57: 11(float) FSub 56 29 57: 11(float) FSub 56 29
Store 51(x) 57 Store 51(x) 57
58: 11(float) Load 51(x) 58: 11(float) Load 51(x)
59: 11(float) FAdd 58 29 59: 11(float) FAdd 58 29
Store 51(x) 59 Store 51(x) 59
60: 11(float) Load 51(x) 60: 11(float) Load 51(x)
61: 11(float) FSub 60 29 61: 11(float) FSub 60 29
Store 51(x) 61 Store 51(x) 61
63: 11(float) Load 51(x) 63: 11(float) Load 51(x)
64: 11(float) Load 51(x) 64: 11(float) Load 51(x)
65: 11(float) FAdd 64 29 65: 11(float) FAdd 64 29
Store 51(x) 65 Store 51(x) 65
66: 11(float) FMul 63 65 66: 11(float) FMul 63 65
Store 62(y) 66 Store 62(y) 66
68: 11(float) Load 62(y) 68: 11(float) Load 62(y)
69: 11(float) Load 51(x) 69: 11(float) Load 51(x)
70: 11(float) FSub 69 29 70: 11(float) FSub 69 29
Store 51(x) 70 Store 51(x) 70
71: 11(float) FMul 68 69 71: 11(float) FMul 68 69
Store 67(z) 71 Store 67(z) 71
Store 74(v) 77 Store 74(v) 77
78: 72(fvec4) Load 74(v) 78: 72(fvec4) Load 74(v)
79: 11(float) CompositeExtract 78 2 79: 11(float) CompositeExtract 78 2
80: 11(float) FSub 79 29 80: 11(float) FSub 79 29
81: 72(fvec4) Load 74(v) 81: 72(fvec4) Load 74(v)
82: 72(fvec4) CompositeInsert 80 81 2 82: 72(fvec4) CompositeInsert 80 81 2
Store 74(v) 82 Store 74(v) 82
83: 72(fvec4) Load 74(v) 83: 72(fvec4) Load 74(v)
84: 72(fvec4) CompositeInsert 79 83 1 84: 72(fvec4) CompositeInsert 79 83 1
Store 74(v) 84 Store 74(v) 84
85: 72(fvec4) Load 74(v) 85: 72(fvec4) Load 74(v)
86: 11(float) CompositeExtract 85 3 86: 11(float) CompositeExtract 85 3
87: 11(float) FSub 86 29 87: 11(float) FSub 86 29
88: 72(fvec4) Load 74(v) 88: 72(fvec4) Load 74(v)
89: 72(fvec4) CompositeInsert 87 88 3 89: 72(fvec4) CompositeInsert 87 88 3
Store 74(v) 89 Store 74(v) 89
90: 72(fvec4) Load 74(v) 90: 72(fvec4) Load 74(v)
91: 72(fvec4) CompositeInsert 87 90 0 91: 72(fvec4) CompositeInsert 87 90 0
Store 74(v) 91 Store 74(v) 91
94: 11(float) Load 67(z) 94: 11(float) Load 67(z)
95: 72(fvec4) Load 74(v) 95: 72(fvec4) Load 74(v)
96: 72(fvec4) VectorTimesScalar 95 94 96: 72(fvec4) VectorTimesScalar 95 94
Store 93(gl_FragColor) 96 Store 93(gl_FragColor) 96
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -10,9 +10,10 @@ Linked vertex stage: ...@@ -10,9 +10,10 @@ Linked vertex stage:
// Id's are bound by 26 // Id's are bound by 26
Source GLSL 430 Source GLSL 430
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 10 "outVc" Name 10 "outVc"
Name 12 "inV" Name 12 "inV"
...@@ -22,43 +23,43 @@ Linked vertex stage: ...@@ -22,43 +23,43 @@ Linked vertex stage:
Name 20 "outVcn" Name 20 "outVcn"
Name 24 "gl_VertexID" Name 24 "gl_VertexID"
Name 25 "gl_InstanceID" Name 25 "gl_InstanceID"
Decorate 10(outVc) Smooth Decorate 10(outVc) Smooth
Decorate 14(outVs) Smooth Decorate 14(outVs) Smooth
Decorate 16(outVf) Flat Decorate 16(outVf) Flat
Decorate 18(outVn) Noperspective Decorate 18(outVn) Noperspective
Decorate 20(outVcn) Noperspective Decorate 20(outVcn) Noperspective
Decorate 24(gl_VertexID) BuiltIn VertexId Decorate 24(gl_VertexID) BuiltIn VertexId
Decorate 24(gl_VertexID) NoStaticUse Decorate 24(gl_VertexID) NoStaticUse
Decorate 25(gl_InstanceID) BuiltIn InstanceId Decorate 25(gl_InstanceID) BuiltIn InstanceId
Decorate 25(gl_InstanceID) NoStaticUse Decorate 25(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Output 8(fvec4) 9: TypePointer Output 8(fvec4)
10(outVc): 9(ptr) Variable Output 10(outVc): 9(ptr) Variable Output
11: TypePointer Input 8(fvec4) 11: TypePointer Input 8(fvec4)
12(inV): 11(ptr) Variable Input 12(inV): 11(ptr) Variable Input
14(outVs): 9(ptr) Variable Output 14(outVs): 9(ptr) Variable Output
16(outVf): 9(ptr) Variable Output 16(outVf): 9(ptr) Variable Output
18(outVn): 9(ptr) Variable Output 18(outVn): 9(ptr) Variable Output
20(outVcn): 9(ptr) Variable Output 20(outVcn): 9(ptr) Variable Output
22: TypeInt 32 1 22: TypeInt 32 1
23: TypePointer Input 22(int) 23: TypePointer Input 22(int)
24(gl_VertexID): 23(ptr) Variable Input 24(gl_VertexID): 23(ptr) Variable Input
25(gl_InstanceID): 23(ptr) Variable Input 25(gl_InstanceID): 23(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
13: 8(fvec4) Load 12(inV) 13: 8(fvec4) Load 12(inV)
Store 10(outVc) 13 Store 10(outVc) 13
15: 8(fvec4) Load 12(inV) 15: 8(fvec4) Load 12(inV)
Store 14(outVs) 15 Store 14(outVs) 15
17: 8(fvec4) Load 12(inV) 17: 8(fvec4) Load 12(inV)
Store 16(outVf) 17 Store 16(outVf) 17
19: 8(fvec4) Load 12(inV) 19: 8(fvec4) Load 12(inV)
Store 18(outVn) 19 Store 18(outVn) 19
21: 8(fvec4) Load 12(inV) 21: 8(fvec4) Load 12(inV)
Store 20(outVcn) 21 Store 20(outVcn) 21
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -7,55 +7,57 @@ Linked vertex stage: ...@@ -7,55 +7,57 @@ Linked vertex stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 25 // Id's are bound by 26
Source GLSL 450 Source GLSL 450
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 10 "color" Name 10 "color"
Name 11 "setBuf" Name 11 "setBuf"
MemberName 11(setBuf) 0 "color" MemberName 11(setBuf) 0 "color"
Name 13 "setBufInst" Name 13 "setBufInst"
Name 21 "sampler" Name 22 "sampler"
Name 23 "gl_VertexID" Name 24 "gl_VertexID"
Name 24 "gl_InstanceID" Name 25 "gl_InstanceID"
Decorate 10(color) Smooth Decorate 10(color) Smooth
Decorate 11(setBuf) GLSLShared Decorate 11(setBuf) GLSLShared
Decorate 11(setBuf) BufferBlock Decorate 11(setBuf) BufferBlock
Decorate 13(setBufInst) DescriptorSet 0 Decorate 13(setBufInst) DescriptorSet 0
Decorate 13(setBufInst) Binding 8 Decorate 13(setBufInst) Binding 8
Decorate 21(sampler) DescriptorSet 4 Decorate 22(sampler) DescriptorSet 4
Decorate 21(sampler) Binding 7 Decorate 22(sampler) Binding 7
Decorate 21(sampler) NoStaticUse Decorate 22(sampler) NoStaticUse
Decorate 23(gl_VertexID) BuiltIn VertexId Decorate 24(gl_VertexID) BuiltIn VertexId
Decorate 23(gl_VertexID) NoStaticUse Decorate 24(gl_VertexID) NoStaticUse
Decorate 24(gl_InstanceID) BuiltIn InstanceId Decorate 25(gl_InstanceID) BuiltIn InstanceId
Decorate 24(gl_InstanceID) NoStaticUse Decorate 25(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Output 8(fvec4) 9: TypePointer Output 8(fvec4)
10(color): 9(ptr) Variable Output 10(color): 9(ptr) Variable Output
11(setBuf): TypeStruct 8(fvec4) 11(setBuf): TypeStruct 8(fvec4)
12: TypePointer Uniform 11(setBuf) 12: TypePointer Uniform 11(setBuf)
13(setBufInst): 12(ptr) Variable Uniform 13(setBufInst): 12(ptr) Variable Uniform
14: TypeInt 32 1 14: TypeInt 32 1
15: 14(int) Constant 0 15: 14(int) Constant 0
16: TypePointer Uniform 8(fvec4) 16: TypePointer Uniform 8(fvec4)
19: TypeSampler7(float) 2D filter+texture 19: TypeImage 7(float) 2D sampled format:Unknown
20: TypePointer UniformConstant 19 20: TypeSampledImage 19
21(sampler): 20(ptr) Variable UniformConstant 21: TypePointer UniformConstant 20
22: TypePointer Input 14(int) 22(sampler): 21(ptr) Variable UniformConstant
23(gl_VertexID): 22(ptr) Variable Input 23: TypePointer Input 14(int)
24(gl_InstanceID): 22(ptr) Variable Input 24(gl_VertexID): 23(ptr) Variable Input
25(gl_InstanceID): 23(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
17: 16(ptr) AccessChain 13(setBufInst) 15 17: 16(ptr) AccessChain 13(setBufInst) 15
18: 8(fvec4) Load 17 18: 8(fvec4) Load 17
Store 10(color) 18 Store 10(color) 18
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -10,42 +10,44 @@ Linked fragment stage: ...@@ -10,42 +10,44 @@ Linked fragment stage:
// Id's are bound by 23 // Id's are bound by 23
Source GLSL 150 Source GLSL 150
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "foo(" Name 10 "foo("
Name 13 "BaseColor" Name 13 "BaseColor"
Name 17 "gl_FragColor" Name 17 "gl_FragColor"
Name 20 "bigColor" Name 20 "bigColor"
Name 22 "d" Name 22 "d"
Decorate 13(BaseColor) Smooth Decorate 13(BaseColor) Smooth
Decorate 17(gl_FragColor) BuiltIn FragColor Decorate 17(gl_FragColor) BuiltIn FragColor
Decorate 20(bigColor) NoStaticUse Decorate 20(bigColor) NoStaticUse
Decorate 22(d) NoStaticUse Decorate 22(d) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypeFunction 8(fvec4) 9: TypeFunction 8(fvec4)
12: TypePointer Input 8(fvec4) 12: TypePointer Input 8(fvec4)
13(BaseColor): 12(ptr) Variable Input 13(BaseColor): 12(ptr) Variable Input
16: TypePointer Output 8(fvec4) 16: TypePointer Output 8(fvec4)
17(gl_FragColor): 16(ptr) Variable Output 17(gl_FragColor): 16(ptr) Variable Output
19: TypePointer UniformConstant 8(fvec4) 19: TypePointer UniformConstant 8(fvec4)
20(bigColor): 19(ptr) Variable UniformConstant 20(bigColor): 19(ptr) Variable UniformConstant
21: TypePointer UniformConstant 7(float) 21: TypePointer UniformConstant 7(float)
22(d): 21(ptr) Variable UniformConstant 22(d): 21(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
18: 8(fvec4) FunctionCall 10(foo() 18: 8(fvec4) FunctionCall 10(foo()
Store 17(gl_FragColor) 18 Store 17(gl_FragColor) 18
Branch 6 Branch 6
6: Label 6: Label
Return Return
FunctionEnd FunctionEnd
10(foo(): 8(fvec4) Function None 9 10(foo(): 8(fvec4) Function None 9
11: Label 11: Label
14: 8(fvec4) Load 13(BaseColor) 14: 8(fvec4) Load 13(BaseColor)
ReturnValue 14 ReturnValue 14
FunctionEnd FunctionEnd
...@@ -8,9 +8,10 @@ Linked vertex stage: ...@@ -8,9 +8,10 @@ Linked vertex stage:
// Id's are bound by 44 // Id's are bound by 44
Source GLSL 330 Source GLSL 330
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 EntryPoint Vertex 4 "main"
Name 4 "main" Name 4 "main"
Name 10 "glPos" Name 10 "glPos"
Name 13 "mvp" Name 13 "mvp"
...@@ -20,29 +21,29 @@ Linked vertex stage: ...@@ -20,29 +21,29 @@ Linked vertex stage:
Name 35 "arraym" Name 35 "arraym"
Name 42 "gl_VertexID" Name 42 "gl_VertexID"
Name 43 "gl_InstanceID" Name 43 "gl_InstanceID"
Decorate 10(glPos) Smooth Decorate 10(glPos) Smooth
Decorate 20(f) Smooth Decorate 20(f) Smooth
Decorate 42(gl_VertexID) BuiltIn VertexId Decorate 42(gl_VertexID) BuiltIn VertexId
Decorate 42(gl_VertexID) NoStaticUse Decorate 42(gl_VertexID) NoStaticUse
Decorate 43(gl_InstanceID) BuiltIn InstanceId Decorate 43(gl_InstanceID) BuiltIn InstanceId
Decorate 43(gl_InstanceID) NoStaticUse Decorate 43(gl_InstanceID) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Output 8(fvec4) 9: TypePointer Output 8(fvec4)
10(glPos): 9(ptr) Variable Output 10(glPos): 9(ptr) Variable Output
11: TypeMatrix 8(fvec4) 4 11: TypeMatrix 8(fvec4) 4
12: TypePointer UniformConstant 11 12: TypePointer UniformConstant 11
13(mvp): 12(ptr) Variable UniformConstant 13(mvp): 12(ptr) Variable UniformConstant
15: TypePointer Input 8(fvec4) 15: TypePointer Input 8(fvec4)
16(v): 15(ptr) Variable Input 16(v): 15(ptr) Variable Input
19: TypePointer Output 7(float) 19: TypePointer Output 7(float)
20(f): 19(ptr) Variable Output 20(f): 19(ptr) Variable Output
21: TypeVector 7(float) 3 21: TypeVector 7(float) 3
22: TypeMatrix 21(fvec3) 3 22: TypeMatrix 21(fvec3) 3
23: TypePointer Input 22 23: TypePointer Input 22
24(am3): 23(ptr) Variable Input 24(am3): 23(ptr) Variable Input
25: TypeInt 32 1 25: TypeInt 32 1
26: 25(int) Constant 2 26: 25(int) Constant 2
27: TypePointer Input 21(fvec3) 27: TypePointer Input 21(fvec3)
...@@ -50,25 +51,25 @@ Linked vertex stage: ...@@ -50,25 +51,25 @@ Linked vertex stage:
32: 31(int) Constant 3 32: 31(int) Constant 3
33: TypeArray 11 32 33: TypeArray 11 32
34: TypePointer Input 33 34: TypePointer Input 33
35(arraym): 34(ptr) Variable Input 35(arraym): 34(ptr) Variable Input
36: 25(int) Constant 1 36: 25(int) Constant 1
41: TypePointer Input 25(int) 41: TypePointer Input 25(int)
42(gl_VertexID): 41(ptr) Variable Input 42(gl_VertexID): 41(ptr) Variable Input
43(gl_InstanceID): 41(ptr) Variable Input 43(gl_InstanceID): 41(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
14: 11 Load 13(mvp) 14: 11 Load 13(mvp)
17: 8(fvec4) Load 16(v) 17: 8(fvec4) Load 16(v)
18: 8(fvec4) MatrixTimesVector 14 17 18: 8(fvec4) MatrixTimesVector 14 17
Store 10(glPos) 18 Store 10(glPos) 18
28: 27(ptr) AccessChain 24(am3) 26 28: 27(ptr) AccessChain 24(am3) 26
29: 21(fvec3) Load 28 29: 21(fvec3) Load 28
30: 7(float) CompositeExtract 29 1 30: 7(float) CompositeExtract 29 1
37: 15(ptr) AccessChain 35(arraym) 36 26 37: 15(ptr) AccessChain 35(arraym) 36 26
38: 8(fvec4) Load 37 38: 8(fvec4) Load 37
39: 7(float) CompositeExtract 38 3 39: 7(float) CompositeExtract 38 3
40: 7(float) FAdd 30 39 40: 7(float) FAdd 30 39
Store 20(f) 40 Store 20(f) 40
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -7,12 +7,14 @@ Linked fragment stage: ...@@ -7,12 +7,14 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 50 // Id's are bound by 51
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 9 "lunarStruct1" Name 9 "lunarStruct1"
MemberName 9(lunarStruct1) 0 "i" MemberName 9(lunarStruct1) 0 "i"
...@@ -30,66 +32,67 @@ Linked fragment stage: ...@@ -30,66 +32,67 @@ Linked fragment stage:
Name 23 "locals2" Name 23 "locals2"
Name 28 "foo2" Name 28 "foo2"
Name 32 "gl_FragColor" Name 32 "gl_FragColor"
Name 40 "sampler" Name 41 "sampler"
Name 44 "coord" Name 45 "coord"
Name 49 "foo" Name 50 "foo"
Decorate 32(gl_FragColor) BuiltIn FragColor Decorate 32(gl_FragColor) BuiltIn FragColor
Decorate 44(coord) Smooth Decorate 45(coord) Smooth
Decorate 49(foo) NoStaticUse Decorate 50(foo) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypeFloat 32 8: TypeFloat 32
9(lunarStruct1): TypeStruct 7(int) 8(float) 9(lunarStruct1): TypeStruct 7(int) 8(float)
10(lunarStruct2): TypeStruct 7(int) 8(float) 9(lunarStruct1) 10(lunarStruct2): TypeStruct 7(int) 8(float) 9(lunarStruct1)
11(lunarStruct3): TypeStruct 10(lunarStruct2) 7(int) 8(float) 9(lunarStruct1) 11(lunarStruct3): TypeStruct 10(lunarStruct2) 7(int) 8(float) 9(lunarStruct1)
12: TypePointer UniformConstant 11(lunarStruct3) 12: TypePointer UniformConstant 11(lunarStruct3)
13(foo3): 12(ptr) Variable UniformConstant 13(foo3): 12(ptr) Variable UniformConstant
14: 7(int) Constant 0 14: 7(int) Constant 0
15: TypePointer UniformConstant 7(int) 15: TypePointer UniformConstant 7(int)
18: TypeBool 18: TypeBool
22: TypePointer Function 10(lunarStruct2) 22: TypePointer Function 10(lunarStruct2)
24: TypePointer UniformConstant 10(lunarStruct2) 24: TypePointer UniformConstant 10(lunarStruct2)
28(foo2): 24(ptr) Variable UniformConstant 28(foo2): 24(ptr) Variable UniformConstant
30: TypeVector 8(float) 4 30: TypeVector 8(float) 4
31: TypePointer Output 30(fvec4) 31: TypePointer Output 30(fvec4)
32(gl_FragColor): 31(ptr) Variable Output 32(gl_FragColor): 31(ptr) Variable Output
33: 7(int) Constant 2 33: 7(int) Constant 2
34: 7(int) Constant 1 34: 7(int) Constant 1
35: TypePointer Function 8(float) 35: TypePointer Function 8(float)
38: TypeSampler8(float) 2D filter+texture 38: TypeImage 8(float) 2D sampled format:Unknown
39: TypePointer UniformConstant 38 39: TypeSampledImage 38
40(sampler): 39(ptr) Variable UniformConstant 40: TypePointer UniformConstant 39
42: TypeVector 8(float) 2 41(sampler): 40(ptr) Variable UniformConstant
43: TypePointer Input 42(fvec2) 43: TypeVector 8(float) 2
44(coord): 43(ptr) Variable Input 44: TypePointer Input 43(fvec2)
48: TypePointer UniformConstant 9(lunarStruct1) 45(coord): 44(ptr) Variable Input
49(foo): 48(ptr) Variable UniformConstant 49: TypePointer UniformConstant 9(lunarStruct1)
50(foo): 49(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
23(locals2): 22(ptr) Variable Function 23(locals2): 22(ptr) Variable Function
16: 15(ptr) AccessChain 13(foo3) 14 14 16: 15(ptr) AccessChain 13(foo3) 14 14
17: 7(int) Load 16 17: 7(int) Load 16
19: 18(bool) SGreaterThan 17 14 19: 18(bool) SGreaterThan 17 14
SelectionMerge 21 None SelectionMerge 21 None
BranchConditional 19 20 27 BranchConditional 19 20 27
20: Label 20: Label
25: 24(ptr) AccessChain 13(foo3) 14 25: 24(ptr) AccessChain 13(foo3) 14
26:10(lunarStruct2) Load 25 26:10(lunarStruct2) Load 25
Store 23(locals2) 26 Store 23(locals2) 26
Branch 21 Branch 21
27: Label 27: Label
29:10(lunarStruct2) Load 28(foo2) 29:10(lunarStruct2) Load 28(foo2)
Store 23(locals2) 29 Store 23(locals2) 29
Branch 21 Branch 21
21: Label 21: Label
36: 35(ptr) AccessChain 23(locals2) 33 34 36: 35(ptr) AccessChain 23(locals2) 33 34
37: 8(float) Load 36 37: 8(float) Load 36
41: 38 Load 40(sampler) 42: 39 Load 41(sampler)
45: 42(fvec2) Load 44(coord) 46: 43(fvec2) Load 45(coord)
46: 30(fvec4) TextureSample 41 45 47: 30(fvec4) ImageSampleImplicitLod 42 46
47: 30(fvec4) VectorTimesScalar 46 37 48: 30(fvec4) VectorTimesScalar 47 37
Store 32(gl_FragColor) 47 Store 32(gl_FragColor) 48
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -7,12 +7,14 @@ Linked fragment stage: ...@@ -7,12 +7,14 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 61 // Id's are bound by 62
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 9 "scale" Name 9 "scale"
Name 19 "lunarStruct1" Name 19 "lunarStruct1"
...@@ -25,14 +27,14 @@ Linked fragment stage: ...@@ -25,14 +27,14 @@ Linked fragment stage:
MemberName 22(lunarStruct2) 2 "s1_1" MemberName 22(lunarStruct2) 2 "s1_1"
Name 25 "foo2" Name 25 "foo2"
Name 47 "gl_FragColor" Name 47 "gl_FragColor"
Name 51 "sampler" Name 52 "sampler"
Name 55 "coord" Name 56 "coord"
Name 60 "foo" Name 61 "foo"
Decorate 47(gl_FragColor) BuiltIn FragColor Decorate 47(gl_FragColor) BuiltIn FragColor
Decorate 55(coord) Smooth Decorate 56(coord) Smooth
Decorate 60(foo) NoStaticUse Decorate 61(foo) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypePointer Function 7(float) 8: TypePointer Function 7(float)
10: 7(float) Constant 0 10: 7(float) Constant 0
...@@ -50,7 +52,7 @@ Linked fragment stage: ...@@ -50,7 +52,7 @@ Linked fragment stage:
22(lunarStruct2): TypeStruct 14 7(float) 21 22(lunarStruct2): TypeStruct 14 7(float) 21
23: TypeArray 22(lunarStruct2) 13 23: TypeArray 22(lunarStruct2) 13
24: TypePointer UniformConstant 23 24: TypePointer UniformConstant 23
25(foo2): 24(ptr) Variable UniformConstant 25(foo2): 24(ptr) Variable UniformConstant
26: 11(int) Constant 3 26: 11(int) Constant 3
27: 11(int) Constant 0 27: 11(int) Constant 0
28: 11(int) Constant 4 28: 11(int) Constant 4
...@@ -61,42 +63,43 @@ Linked fragment stage: ...@@ -61,42 +63,43 @@ Linked fragment stage:
42: 11(int) Constant 1 42: 11(int) Constant 1
43: TypePointer UniformConstant 7(float) 43: TypePointer UniformConstant 7(float)
46: TypePointer Output 17(fvec4) 46: TypePointer Output 17(fvec4)
47(gl_FragColor): 46(ptr) Variable Output 47(gl_FragColor): 46(ptr) Variable Output
49: TypeSampler7(float) 2D filter+texture 49: TypeImage 7(float) 2D sampled format:Unknown
50: TypePointer UniformConstant 49 50: TypeSampledImage 49
51(sampler): 50(ptr) Variable UniformConstant 51: TypePointer UniformConstant 50
53: TypeVector 7(float) 2 52(sampler): 51(ptr) Variable UniformConstant
54: TypePointer Input 53(fvec2) 54: TypeVector 7(float) 2
55(coord): 54(ptr) Variable Input 55: TypePointer Input 54(fvec2)
59: TypePointer UniformConstant 19(lunarStruct1) 56(coord): 55(ptr) Variable Input
60(foo): 59(ptr) Variable UniformConstant 60: TypePointer UniformConstant 19(lunarStruct1)
61(foo): 60(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(scale): 8(ptr) Variable Function 9(scale): 8(ptr) Variable Function
Store 9(scale) 10 Store 9(scale) 10
30: 29(ptr) AccessChain 25(foo2) 26 27 28 30: 29(ptr) AccessChain 25(foo2) 26 27 28
31: 11(int) Load 30 31: 11(int) Load 30
33: 32(bool) SGreaterThan 31 27 33: 32(bool) SGreaterThan 31 27
SelectionMerge 35 None SelectionMerge 35 None
BranchConditional 33 34 41 BranchConditional 33 34 41
34: Label 34: Label
38: 37(ptr) AccessChain 25(foo2) 26 36 36 36 26 38: 37(ptr) AccessChain 25(foo2) 26 36 36 36 26
39: 17(fvec4) Load 38 39: 17(fvec4) Load 38
40: 7(float) CompositeExtract 39 0 40: 7(float) CompositeExtract 39 0
Store 9(scale) 40 Store 9(scale) 40
Branch 35 Branch 35
41: Label 41: Label
44: 43(ptr) AccessChain 25(foo2) 26 36 36 42 26 44: 43(ptr) AccessChain 25(foo2) 26 36 36 42 26
45: 7(float) Load 44 45: 7(float) Load 44
Store 9(scale) 45 Store 9(scale) 45
Branch 35 Branch 35
35: Label 35: Label
48: 7(float) Load 9(scale) 48: 7(float) Load 9(scale)
52: 49 Load 51(sampler) 53: 50 Load 52(sampler)
56: 53(fvec2) Load 55(coord) 57: 54(fvec2) Load 56(coord)
57: 17(fvec4) TextureSample 52 56 58: 17(fvec4) ImageSampleImplicitLod 53 57
58: 17(fvec4) VectorTimesScalar 57 48 59: 17(fvec4) VectorTimesScalar 58 48
Store 47(gl_FragColor) 58 Store 47(gl_FragColor) 59
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -5,82 +5,86 @@ Linked fragment stage: ...@@ -5,82 +5,86 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 54 // Id's are bound by 56
Source GLSL 110 Source GLSL 110
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 9 "blendscale" Name 9 "blendscale"
Name 13 "v" Name 13 "v"
Name 16 "texSampler2D" Name 17 "texSampler2D"
Name 20 "t" Name 21 "t"
Name 23 "scale" Name 24 "scale"
Name 30 "w" Name 31 "w"
Name 33 "texSampler3D" Name 35 "texSampler3D"
Name 37 "coords" Name 39 "coords"
Name 43 "gl_FragColor" Name 45 "gl_FragColor"
Name 46 "u" Name 48 "u"
Name 49 "blend" Name 51 "blend"
Decorate 20(t) Smooth Decorate 21(t) Smooth
Decorate 37(coords) Smooth Decorate 39(coords) Smooth
Decorate 43(gl_FragColor) BuiltIn FragColor Decorate 45(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypePointer Function 7(float) 8: TypePointer Function 7(float)
10: 7(float) Constant 1071971828 10: 7(float) Constant 1071971828
11: TypeVector 7(float) 4 11: TypeVector 7(float) 4
12: TypePointer Function 11(fvec4) 12: TypePointer Function 11(fvec4)
14: TypeSampler7(float) 2D filter+texture 14: TypeImage 7(float) 2D sampled format:Unknown
15: TypePointer UniformConstant 14 15: TypeSampledImage 14
16(texSampler2D): 15(ptr) Variable UniformConstant 16: TypePointer UniformConstant 15
18: TypeVector 7(float) 2 17(texSampler2D): 16(ptr) Variable UniformConstant
19: TypePointer Input 18(fvec2) 19: TypeVector 7(float) 2
20(t): 19(ptr) Variable Input 20: TypePointer Input 19(fvec2)
22: TypePointer UniformConstant 18(fvec2) 21(t): 20(ptr) Variable Input
23(scale): 22(ptr) Variable UniformConstant 23: TypePointer UniformConstant 19(fvec2)
31: TypeSampler7(float) 3D filter+texture 24(scale): 23(ptr) Variable UniformConstant
32: TypePointer UniformConstant 31 32: TypeImage 7(float) 3D sampled format:Unknown
33(texSampler3D): 32(ptr) Variable UniformConstant 33: TypeSampledImage 32
35: TypeVector 7(float) 3 34: TypePointer UniformConstant 33
36: TypePointer Input 35(fvec3) 35(texSampler3D): 34(ptr) Variable UniformConstant
37(coords): 36(ptr) Variable Input 37: TypeVector 7(float) 3
42: TypePointer Output 11(fvec4) 38: TypePointer Input 37(fvec3)
43(gl_FragColor): 42(ptr) Variable Output 39(coords): 38(ptr) Variable Input
45: TypePointer UniformConstant 11(fvec4) 44: TypePointer Output 11(fvec4)
46(u): 45(ptr) Variable UniformConstant 45(gl_FragColor): 44(ptr) Variable Output
48: TypePointer UniformConstant 7(float) 47: TypePointer UniformConstant 11(fvec4)
49(blend): 48(ptr) Variable UniformConstant 48(u): 47(ptr) Variable UniformConstant
50: TypePointer UniformConstant 7(float)
51(blend): 50(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(blendscale): 8(ptr) Variable Function 9(blendscale): 8(ptr) Variable Function
13(v): 12(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 Store 9(blendscale) 10
17: 14 Load 16(texSampler2D) 18: 15 Load 17(texSampler2D)
21: 18(fvec2) Load 20(t) 22: 19(fvec2) Load 21(t)
24: 18(fvec2) Load 23(scale) 25: 19(fvec2) Load 24(scale)
25: 18(fvec2) FAdd 21 24 26: 19(fvec2) FAdd 22 25
26: 18(fvec2) Load 23(scale) 27: 19(fvec2) Load 24(scale)
27: 18(fvec2) FDiv 25 26 28: 19(fvec2) FDiv 26 27
28: 11(fvec4) TextureSample 17 27 29: 11(fvec4) ImageSampleImplicitLod 18 28
29: 11(fvec4) VectorShuffle 28 28 3 2 1 0 30: 11(fvec4) VectorShuffle 29 29 3 2 1 0
Store 13(v) 29 Store 13(v) 30
34: 31 Load 33(texSampler3D) 36: 33 Load 35(texSampler3D)
38: 35(fvec3) Load 37(coords) 40: 37(fvec3) Load 39(coords)
39: 11(fvec4) TextureSample 34 38 41: 11(fvec4) ImageSampleImplicitLod 36 40
40: 11(fvec4) Load 13(v) 42: 11(fvec4) Load 13(v)
41: 11(fvec4) FAdd 39 40 43: 11(fvec4) FAdd 41 42
Store 30(w) 41 Store 31(w) 43
44: 11(fvec4) Load 30(w) 46: 11(fvec4) Load 31(w)
47: 11(fvec4) Load 46(u) 49: 11(fvec4) Load 48(u)
50: 7(float) Load 49(blend) 52: 7(float) Load 51(blend)
51: 7(float) Load 9(blendscale) 53: 7(float) Load 9(blendscale)
52: 7(float) FMul 50 51 54: 7(float) FMul 52 53
53: 11(fvec4) ExtInst 1(GLSL.std.450) 36(mix) 44 47 52 55: 11(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 46 49 54
Store 43(gl_FragColor) 53 Store 45(gl_FragColor) 55
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -5,23 +5,25 @@ Linked fragment stage: ...@@ -5,23 +5,25 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 52 // Id's are bound by 53
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "texColor" Name 10 "texColor"
Name 15 "color" Name 15 "color"
Name 26 "inColor" Name 26 "inColor"
Name 36 "alpha" Name 36 "alpha"
Name 47 "gl_FragColor" Name 47 "gl_FragColor"
Name 51 "texSampler2D" Name 52 "texSampler2D"
Decorate 47(gl_FragColor) BuiltIn FragColor Decorate 47(gl_FragColor) BuiltIn FragColor
Decorate 51(texSampler2D) NoStaticUse Decorate 52(texSampler2D) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
...@@ -29,50 +31,51 @@ Linked fragment stage: ...@@ -29,50 +31,51 @@ Linked fragment stage:
12: 11(int) Constant 6 12: 11(int) Constant 6
13: TypeArray 8(fvec4) 12 13: TypeArray 8(fvec4) 12
14: TypePointer UniformConstant 13 14: TypePointer UniformConstant 13
15(color): 14(ptr) Variable UniformConstant 15(color): 14(ptr) Variable UniformConstant
16: TypeInt 32 1 16: TypeInt 32 1
17: 16(int) Constant 1 17: 16(int) Constant 1
18: TypePointer UniformConstant 8(fvec4) 18: TypePointer UniformConstant 8(fvec4)
24: TypeVector 7(float) 3 24: TypeVector 7(float) 3
25: TypePointer UniformConstant 24(fvec3) 25: TypePointer UniformConstant 24(fvec3)
26(inColor): 25(ptr) Variable UniformConstant 26(inColor): 25(ptr) Variable UniformConstant
33: 11(int) Constant 16 33: 11(int) Constant 16
34: TypeArray 7(float) 33 34: TypeArray 7(float) 33
35: TypePointer UniformConstant 34 35: TypePointer UniformConstant 34
36(alpha): 35(ptr) Variable UniformConstant 36(alpha): 35(ptr) Variable UniformConstant
37: 16(int) Constant 12 37: 16(int) Constant 12
38: TypePointer UniformConstant 7(float) 38: TypePointer UniformConstant 7(float)
46: TypePointer Output 8(fvec4) 46: TypePointer Output 8(fvec4)
47(gl_FragColor): 46(ptr) Variable Output 47(gl_FragColor): 46(ptr) Variable Output
49: TypeSampler7(float) 2D filter+texture 49: TypeImage 7(float) 2D sampled format:Unknown
50: TypePointer UniformConstant 49 50: TypeSampledImage 49
51(texSampler2D): 50(ptr) Variable UniformConstant 51: TypePointer UniformConstant 50
52(texSampler2D): 51(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(texColor): 9(ptr) Variable Function 10(texColor): 9(ptr) Variable Function
19: 18(ptr) AccessChain 15(color) 17 19: 18(ptr) AccessChain 15(color) 17
20: 8(fvec4) Load 19 20: 8(fvec4) Load 19
21: 18(ptr) AccessChain 15(color) 17 21: 18(ptr) AccessChain 15(color) 17
22: 8(fvec4) Load 21 22: 8(fvec4) Load 21
23: 8(fvec4) FAdd 20 22 23: 8(fvec4) FAdd 20 22
Store 10(texColor) 23 Store 10(texColor) 23
27: 24(fvec3) Load 26(inColor) 27: 24(fvec3) Load 26(inColor)
28: 8(fvec4) Load 10(texColor) 28: 8(fvec4) Load 10(texColor)
29: 24(fvec3) VectorShuffle 28 28 0 1 2 29: 24(fvec3) VectorShuffle 28 28 0 1 2
30: 24(fvec3) FAdd 29 27 30: 24(fvec3) FAdd 29 27
31: 8(fvec4) Load 10(texColor) 31: 8(fvec4) Load 10(texColor)
32: 8(fvec4) VectorShuffle 31 30 4 5 6 3 32: 8(fvec4) VectorShuffle 31 30 4 5 6 3
Store 10(texColor) 32 Store 10(texColor) 32
39: 38(ptr) AccessChain 36(alpha) 37 39: 38(ptr) AccessChain 36(alpha) 37
40: 7(float) Load 39 40: 7(float) Load 39
41: 8(fvec4) Load 10(texColor) 41: 8(fvec4) Load 10(texColor)
42: 7(float) CompositeExtract 41 3 42: 7(float) CompositeExtract 41 3
43: 7(float) FAdd 42 40 43: 7(float) FAdd 42 40
44: 8(fvec4) Load 10(texColor) 44: 8(fvec4) Load 10(texColor)
45: 8(fvec4) CompositeInsert 43 44 3 45: 8(fvec4) CompositeInsert 43 44 3
Store 10(texColor) 45 Store 10(texColor) 45
48: 8(fvec4) Load 10(texColor) 48: 8(fvec4) Load 10(texColor)
Store 47(gl_FragColor) 48 Store 47(gl_FragColor) 48
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -7,12 +7,14 @@ Linked fragment stage: ...@@ -7,12 +7,14 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 93 // Id's are bound by 94
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 9 "iLocal" Name 9 "iLocal"
Name 11 "Count" Name 11 "Count"
...@@ -33,17 +35,17 @@ Linked fragment stage: ...@@ -33,17 +35,17 @@ Linked fragment stage:
Name 35 "foo2" Name 35 "foo2"
Name 37 "foo" Name 37 "foo"
Name 55 "gl_FragColor" Name 55 "gl_FragColor"
Name 59 "sampler" Name 60 "sampler"
Name 63 "coord" Name 64 "coord"
Name 69 "constructed" Name 70 "constructed"
Decorate 55(gl_FragColor) BuiltIn FragColor Decorate 55(gl_FragColor) BuiltIn FragColor
Decorate 63(coord) Smooth Decorate 64(coord) Smooth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeInt 32 1 7: TypeInt 32 1
8: TypePointer Function 7(int) 8: TypePointer Function 7(int)
10: TypePointer UniformConstant 7(int) 10: TypePointer UniformConstant 7(int)
11(Count): 10(ptr) Variable UniformConstant 11(Count): 10(ptr) Variable UniformConstant
13: TypeFloat 32 13: TypeFloat 32
14(lunarStruct1): TypeStruct 7(int) 13(float) 14(lunarStruct1): TypeStruct 7(int) 13(float)
15(lunarStruct2): TypeStruct 7(int) 13(float) 14(lunarStruct1) 15(lunarStruct2): TypeStruct 7(int) 13(float) 14(lunarStruct1)
...@@ -52,7 +54,7 @@ Linked fragment stage: ...@@ -52,7 +54,7 @@ Linked fragment stage:
18: TypeArray 15(lunarStruct2) 17 18: TypeArray 15(lunarStruct2) 17
19(lunarStruct3): TypeStruct 18 7(int) 13(float) 14(lunarStruct1) 19(lunarStruct3): TypeStruct 18 7(int) 13(float) 14(lunarStruct1)
20: TypePointer UniformConstant 19(lunarStruct3) 20: TypePointer UniformConstant 19(lunarStruct3)
21(foo3): 20(ptr) Variable UniformConstant 21(foo3): 20(ptr) Variable UniformConstant
22: 7(int) Constant 0 22: 7(int) Constant 0
23: 7(int) Constant 1 23: 7(int) Constant 1
26: TypeBool 26: TypeBool
...@@ -60,85 +62,86 @@ Linked fragment stage: ...@@ -60,85 +62,86 @@ Linked fragment stage:
32: 16(int) Constant 5 32: 16(int) Constant 5
33: TypeArray 15(lunarStruct2) 32 33: TypeArray 15(lunarStruct2) 32
34: TypePointer UniformConstant 33 34: TypePointer UniformConstant 33
35(foo2): 34(ptr) Variable UniformConstant 35(foo2): 34(ptr) Variable UniformConstant
36: TypePointer UniformConstant 14(lunarStruct1) 36: TypePointer UniformConstant 14(lunarStruct1)
37(foo): 36(ptr) Variable UniformConstant 37(foo): 36(ptr) Variable UniformConstant
42: 7(int) Constant 2 42: 7(int) Constant 2
47: TypePointer UniformConstant 13(float) 47: TypePointer UniformConstant 13(float)
53: TypeVector 13(float) 4 53: TypeVector 13(float) 4
54: TypePointer Output 53(fvec4) 54: TypePointer Output 53(fvec4)
55(gl_FragColor): 54(ptr) Variable Output 55(gl_FragColor): 54(ptr) Variable Output
57: TypeSampler13(float) 2D filter+texture 57: TypeImage 13(float) 2D sampled format:Unknown
58: TypePointer UniformConstant 57 58: TypeSampledImage 57
59(sampler): 58(ptr) Variable UniformConstant 59: TypePointer UniformConstant 58
61: TypeVector 13(float) 2 60(sampler): 59(ptr) Variable UniformConstant
62: TypePointer Input 61(fvec2) 62: TypeVector 13(float) 2
63(coord): 62(ptr) Variable Input 63: TypePointer Input 62(fvec2)
67: TypeArray 61(fvec2) 17 64(coord): 63(ptr) Variable Input
68: TypePointer Function 67 68: TypeArray 62(fvec2) 17
73: 13(float) Constant 1065353216 69: TypePointer Function 68
74: 13(float) Constant 1073741824 74: 13(float) Constant 1065353216
75: 61(fvec2) ConstantComposite 73 74 75: 13(float) Constant 1073741824
79: TypePointer Function 61(fvec2) 76: 62(fvec2) ConstantComposite 74 75
80: TypePointer Function 62(fvec2)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(iLocal): 8(ptr) Variable Function 9(iLocal): 8(ptr) Variable Function
31(scale): 30(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) 12: 7(int) Load 11(Count)
Store 9(iLocal) 12 Store 9(iLocal) 12
24: 10(ptr) AccessChain 21(foo3) 22 23 22 24: 10(ptr) AccessChain 21(foo3) 22 23 22
25: 7(int) Load 24 25: 7(int) Load 24
27: 26(bool) SGreaterThan 25 22 27: 26(bool) SGreaterThan 25 22
SelectionMerge 29 None SelectionMerge 29 None
BranchConditional 27 28 50 BranchConditional 27 28 50
28: Label 28: Label
38: 10(ptr) AccessChain 37(foo) 22 38: 10(ptr) AccessChain 37(foo) 22
39: 7(int) Load 38 39: 7(int) Load 38
40: 10(ptr) AccessChain 21(foo3) 22 39 22 40: 10(ptr) AccessChain 21(foo3) 22 39 22
41: 7(int) Load 40 41: 7(int) Load 40
43: 7(int) IAdd 41 42 43: 7(int) IAdd 41 42
44: 7(int) Load 9(iLocal) 44: 7(int) Load 9(iLocal)
45: 7(int) IAdd 44 23 45: 7(int) IAdd 44 23
Store 9(iLocal) 45 Store 9(iLocal) 45
46: 7(int) IAdd 43 45 46: 7(int) IAdd 43 45
48: 47(ptr) AccessChain 35(foo2) 46 42 23 48: 47(ptr) AccessChain 35(foo2) 46 42 23
49: 13(float) Load 48 49: 13(float) Load 48
Store 31(scale) 49 Store 31(scale) 49
Branch 29 Branch 29
50: Label 50: Label
51: 47(ptr) AccessChain 21(foo3) 22 22 42 23 51: 47(ptr) AccessChain 21(foo3) 22 22 42 23
52: 13(float) Load 51 52: 13(float) Load 51
Store 31(scale) 52 Store 31(scale) 52
Branch 29 Branch 29
29: Label 29: Label
56: 13(float) Load 31(scale) 56: 13(float) Load 31(scale)
60: 57 Load 59(sampler) 61: 58 Load 60(sampler)
64: 61(fvec2) Load 63(coord) 65: 62(fvec2) Load 64(coord)
65: 53(fvec4) TextureSample 60 64 66: 53(fvec4) ImageSampleImplicitLod 61 65
66: 53(fvec4) VectorTimesScalar 65 56 67: 53(fvec4) VectorTimesScalar 66 56
Store 55(gl_FragColor) 66 Store 55(gl_FragColor) 67
70: 61(fvec2) Load 63(coord) 71: 62(fvec2) Load 64(coord)
71: 13(float) Load 31(scale) 72: 13(float) Load 31(scale)
72: 61(fvec2) CompositeConstruct 71 71 73: 62(fvec2) CompositeConstruct 72 72
76: 67 CompositeConstruct 70 72 75 77: 68 CompositeConstruct 71 73 76
Store 69(constructed) 76 Store 70(constructed) 77
77: 10(ptr) AccessChain 37(foo) 22 78: 10(ptr) AccessChain 37(foo) 22
78: 7(int) Load 77 79: 7(int) Load 78
80: 79(ptr) AccessChain 69(constructed) 78 81: 80(ptr) AccessChain 70(constructed) 79
81: 61(fvec2) Load 80 82: 62(fvec2) Load 81
82: 10(ptr) AccessChain 37(foo) 22 83: 10(ptr) AccessChain 37(foo) 22
83: 7(int) Load 82 84: 7(int) Load 83
84: 79(ptr) AccessChain 69(constructed) 83 85: 80(ptr) AccessChain 70(constructed) 84
85: 61(fvec2) Load 84 86: 62(fvec2) Load 85
86: 13(float) CompositeExtract 81 0 87: 13(float) CompositeExtract 82 0
87: 13(float) CompositeExtract 81 1 88: 13(float) CompositeExtract 82 1
88: 13(float) CompositeExtract 85 0 89: 13(float) CompositeExtract 86 0
89: 13(float) CompositeExtract 85 1 90: 13(float) CompositeExtract 86 1
90: 53(fvec4) CompositeConstruct 86 87 88 89 91: 53(fvec4) CompositeConstruct 87 88 89 90
91: 53(fvec4) Load 55(gl_FragColor) 92: 53(fvec4) Load 55(gl_FragColor)
92: 53(fvec4) FAdd 91 90 93: 53(fvec4) FAdd 92 91
Store 55(gl_FragColor) 92 Store 55(gl_FragColor) 93
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -10,87 +10,90 @@ Linked fragment stage: ...@@ -10,87 +10,90 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 61 // Id's are bound by 62
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "texColor" Name 10 "texColor"
Name 13 "texSampler2D" Name 14 "texSampler2D"
Name 19 "gl_TexCoord" Name 20 "gl_TexCoord"
Name 34 "color" Name 35 "color"
Name 39 "alpha" Name 40 "alpha"
Name 44 "gl_FragColor" Name 45 "gl_FragColor"
Name 48 "foo" Name 49 "foo"
Decorate 19(gl_TexCoord) Smooth Decorate 20(gl_TexCoord) Smooth
Decorate 34(color) Smooth Decorate 35(color) Smooth
Decorate 39(alpha) Smooth Decorate 40(alpha) Smooth
Decorate 44(gl_FragColor) BuiltIn FragColor Decorate 45(gl_FragColor) BuiltIn FragColor
Decorate 48(foo) Smooth Decorate 49(foo) Smooth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
11: TypeSampler7(float) 2D filter+texture 11: TypeImage 7(float) 2D sampled format:Unknown
12: TypePointer UniformConstant 11 12: TypeSampledImage 11
13(texSampler2D): 12(ptr) Variable UniformConstant 13: TypePointer UniformConstant 12
15: TypeInt 32 0 14(texSampler2D): 13(ptr) Variable UniformConstant
16: 15(int) Constant 6 16: TypeInt 32 0
17: TypeArray 8(fvec4) 16 17: 16(int) Constant 6
18: TypePointer Input 17 18: TypeArray 8(fvec4) 17
19(gl_TexCoord): 18(ptr) Variable Input 19: TypePointer Input 18
20: TypeInt 32 1 20(gl_TexCoord): 19(ptr) Variable Input
21: 20(int) Constant 4 21: TypeInt 32 1
22: TypePointer Input 8(fvec4) 22: 21(int) Constant 4
25: 20(int) Constant 5 23: TypePointer Input 8(fvec4)
29: TypeVector 7(float) 2 26: 21(int) Constant 5
34(color): 22(ptr) Variable Input 30: TypeVector 7(float) 2
38: TypePointer Input 7(float) 35(color): 23(ptr) Variable Input
39(alpha): 38(ptr) Variable Input 39: TypePointer Input 7(float)
43: TypePointer Output 8(fvec4) 40(alpha): 39(ptr) Variable Input
44(gl_FragColor): 43(ptr) Variable Output 44: TypePointer Output 8(fvec4)
45: 15(int) Constant 3 45(gl_FragColor): 44(ptr) Variable Output
46: TypeArray 8(fvec4) 45 46: 16(int) Constant 3
47: TypePointer Input 46 47: TypeArray 8(fvec4) 46
48(foo): 47(ptr) Variable Input 48: TypePointer Input 47
49: 20(int) Constant 1 49(foo): 48(ptr) Variable Input
52: 20(int) Constant 0 50: 21(int) Constant 1
53: 21(int) Constant 0
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(texColor): 9(ptr) Variable Function 10(texColor): 9(ptr) Variable Function
14: 11 Load 13(texSampler2D) 15: 12 Load 14(texSampler2D)
23: 22(ptr) AccessChain 19(gl_TexCoord) 21 24: 23(ptr) AccessChain 20(gl_TexCoord) 22
24: 8(fvec4) Load 23 25: 8(fvec4) Load 24
26: 22(ptr) AccessChain 19(gl_TexCoord) 25 27: 23(ptr) AccessChain 20(gl_TexCoord) 26
27: 8(fvec4) Load 26 28: 8(fvec4) Load 27
28: 8(fvec4) FAdd 24 27 29: 8(fvec4) FAdd 25 28
30: 7(float) CompositeExtract 28 0 31: 7(float) CompositeExtract 29 0
31: 7(float) CompositeExtract 28 1 32: 7(float) CompositeExtract 29 1
32: 29(fvec2) CompositeConstruct 30 31 33: 30(fvec2) CompositeConstruct 31 32
33: 8(fvec4) TextureSample 14 32 34: 8(fvec4) ImageSampleImplicitLod 15 33
Store 10(texColor) 33 Store 10(texColor) 34
35: 8(fvec4) Load 34(color) 36: 8(fvec4) Load 35(color)
36: 8(fvec4) Load 10(texColor) 37: 8(fvec4) Load 10(texColor)
37: 8(fvec4) FAdd 36 35 38: 8(fvec4) FAdd 37 36
Store 10(texColor) 37 Store 10(texColor) 38
40: 7(float) Load 39(alpha) 41: 7(float) Load 40(alpha)
41: 8(fvec4) Load 10(texColor) 42: 8(fvec4) Load 10(texColor)
42: 8(fvec4) CompositeInsert 40 41 3 43: 8(fvec4) CompositeInsert 41 42 3
Store 10(texColor) 42 Store 10(texColor) 43
50: 22(ptr) AccessChain 48(foo) 49 51: 23(ptr) AccessChain 49(foo) 50
51: 8(fvec4) Load 50 52: 8(fvec4) Load 51
53: 22(ptr) AccessChain 19(gl_TexCoord) 52 54: 23(ptr) AccessChain 20(gl_TexCoord) 53
54: 8(fvec4) Load 53 55: 8(fvec4) Load 54
55: 8(fvec4) FAdd 51 54 56: 8(fvec4) FAdd 52 55
56: 22(ptr) AccessChain 19(gl_TexCoord) 21 57: 23(ptr) AccessChain 20(gl_TexCoord) 22
57: 8(fvec4) Load 56 58: 8(fvec4) Load 57
58: 8(fvec4) FAdd 55 57 59: 8(fvec4) FAdd 56 58
59: 8(fvec4) Load 10(texColor) 60: 8(fvec4) Load 10(texColor)
60: 8(fvec4) FAdd 58 59 61: 8(fvec4) FAdd 59 60
Store 44(gl_FragColor) 60 Store 45(gl_FragColor) 61
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
...@@ -10,97 +10,100 @@ Linked fragment stage: ...@@ -10,97 +10,100 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 69 // Id's are bound by 70
Source GLSL 130 Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main" Name 4 "main"
Name 10 "texColor" Name 10 "texColor"
Name 13 "texSampler2D" Name 14 "texSampler2D"
Name 19 "userIn" Name 20 "userIn"
Name 22 "b" Name 23 "b"
Name 30 "gl_TexCoord" Name 31 "gl_TexCoord"
Name 31 "a" Name 32 "a"
Name 45 "color" Name 46 "color"
Name 50 "alpha" Name 51 "alpha"
Name 55 "gl_FragColor" Name 56 "gl_FragColor"
Decorate 19(userIn) Smooth Decorate 20(userIn) Smooth
Decorate 30(gl_TexCoord) Smooth Decorate 31(gl_TexCoord) Smooth
Decorate 45(color) Smooth Decorate 46(color) Smooth
Decorate 50(alpha) Smooth Decorate 51(alpha) Smooth
Decorate 55(gl_FragColor) BuiltIn FragColor Decorate 56(gl_FragColor) BuiltIn FragColor
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
7: TypeFloat 32 7: TypeFloat 32
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4) 9: TypePointer Function 8(fvec4)
11: TypeSampler7(float) 2D filter+texture 11: TypeImage 7(float) 2D sampled format:Unknown
12: TypePointer UniformConstant 11 12: TypeSampledImage 11
13(texSampler2D): 12(ptr) Variable UniformConstant 13: TypePointer UniformConstant 12
15: TypeInt 32 0 14(texSampler2D): 13(ptr) Variable UniformConstant
16: 15(int) Constant 2 16: TypeInt 32 0
17: TypeArray 8(fvec4) 16 17: 16(int) Constant 2
18: TypePointer Input 17 18: TypeArray 8(fvec4) 17
19(userIn): 18(ptr) Variable Input 19: TypePointer Input 18
20: TypeInt 32 1 20(userIn): 19(ptr) Variable Input
21: TypePointer UniformConstant 20(int) 21: TypeInt 32 1
22(b): 21(ptr) Variable UniformConstant 22: TypePointer UniformConstant 21(int)
24: TypePointer Input 8(fvec4) 23(b): 22(ptr) Variable UniformConstant
27: 15(int) Constant 6 25: TypePointer Input 8(fvec4)
28: TypeArray 8(fvec4) 27 28: 16(int) Constant 6
29: TypePointer Input 28 29: TypeArray 8(fvec4) 28
30(gl_TexCoord): 29(ptr) Variable Input 30: TypePointer Input 29
31(a): 21(ptr) Variable UniformConstant 31(gl_TexCoord): 30(ptr) Variable Input
36: 20(int) Constant 5 32(a): 22(ptr) Variable UniformConstant
40: TypeVector 7(float) 2 37: 21(int) Constant 5
45(color): 24(ptr) Variable Input 41: TypeVector 7(float) 2
49: TypePointer Input 7(float) 46(color): 25(ptr) Variable Input
50(alpha): 49(ptr) Variable Input 50: TypePointer Input 7(float)
54: TypePointer Output 8(fvec4) 51(alpha): 50(ptr) Variable Input
55(gl_FragColor): 54(ptr) Variable Output 55: TypePointer Output 8(fvec4)
56: 20(int) Constant 0 56(gl_FragColor): 55(ptr) Variable Output
57: 21(int) Constant 0
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
10(texColor): 9(ptr) Variable Function 10(texColor): 9(ptr) Variable Function
14: 11 Load 13(texSampler2D) 15: 12 Load 14(texSampler2D)
23: 20(int) Load 22(b) 24: 21(int) Load 23(b)
25: 24(ptr) AccessChain 19(userIn) 23 26: 25(ptr) AccessChain 20(userIn) 24
26: 8(fvec4) Load 25 27: 8(fvec4) Load 26
32: 20(int) Load 31(a) 33: 21(int) Load 32(a)
33: 24(ptr) AccessChain 30(gl_TexCoord) 32 34: 25(ptr) AccessChain 31(gl_TexCoord) 33
34: 8(fvec4) Load 33 35: 8(fvec4) Load 34
35: 8(fvec4) FAdd 26 34 36: 8(fvec4) FAdd 27 35
37: 24(ptr) AccessChain 30(gl_TexCoord) 36 38: 25(ptr) AccessChain 31(gl_TexCoord) 37
38: 8(fvec4) Load 37 39: 8(fvec4) Load 38
39: 8(fvec4) FAdd 35 38 40: 8(fvec4) FAdd 36 39
41: 7(float) CompositeExtract 39 0 42: 7(float) CompositeExtract 40 0
42: 7(float) CompositeExtract 39 1 43: 7(float) CompositeExtract 40 1
43: 40(fvec2) CompositeConstruct 41 42 44: 41(fvec2) CompositeConstruct 42 43
44: 8(fvec4) TextureSample 14 43 45: 8(fvec4) ImageSampleImplicitLod 15 44
Store 10(texColor) 44 Store 10(texColor) 45
46: 8(fvec4) Load 45(color) 47: 8(fvec4) Load 46(color)
47: 8(fvec4) Load 10(texColor) 48: 8(fvec4) Load 10(texColor)
48: 8(fvec4) FAdd 47 46 49: 8(fvec4) FAdd 48 47
Store 10(texColor) 48 Store 10(texColor) 49
51: 7(float) Load 50(alpha) 52: 7(float) Load 51(alpha)
52: 8(fvec4) Load 10(texColor) 53: 8(fvec4) Load 10(texColor)
53: 8(fvec4) CompositeInsert 51 52 3 54: 8(fvec4) CompositeInsert 52 53 3
Store 10(texColor) 53 Store 10(texColor) 54
57: 24(ptr) AccessChain 30(gl_TexCoord) 56 58: 25(ptr) AccessChain 31(gl_TexCoord) 57
58: 8(fvec4) Load 57 59: 8(fvec4) Load 58
59: 20(int) Load 22(b) 60: 21(int) Load 23(b)
60: 24(ptr) AccessChain 30(gl_TexCoord) 59 61: 25(ptr) AccessChain 31(gl_TexCoord) 60
61: 8(fvec4) Load 60 62: 8(fvec4) Load 61
62: 8(fvec4) FAdd 58 61 63: 8(fvec4) FAdd 59 62
63: 8(fvec4) Load 10(texColor) 64: 8(fvec4) Load 10(texColor)
64: 8(fvec4) FAdd 62 63 65: 8(fvec4) FAdd 63 64
65: 20(int) Load 31(a) 66: 21(int) Load 32(a)
66: 24(ptr) AccessChain 19(userIn) 65 67: 25(ptr) AccessChain 20(userIn) 66
67: 8(fvec4) Load 66 68: 8(fvec4) Load 67
68: 8(fvec4) FAdd 64 67 69: 8(fvec4) FAdd 65 68
Store 55(gl_FragColor) 68 Store 56(gl_FragColor) 69
Branch 6 Branch 6
6: Label 6: Label
Return Return
......
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