Merge remote-tracking branch 'aosp/upstream-master' into update-shaderc
Includes the following:
5d45ead HLSL: Turn on tests for groupshared.
b50fd17 HLSL: Support SV_Coverage and SV_DispatchThreadId; catch SV_GroupIndex.
4a34679 Build: Fix unsigned/signed warning.
1fabc0f Merge pull request #548 from baldurk/vs2010-compile-fixes
bf8a6ef Merge pull request #551 from steve-lunarg/rwbuffers-fmt
c658497 Merge pull request #539 from schwa423/linux_global_lock
1b6daa0 Merge pull request #550 from amdrexu/bugfix
062b239 Merge pull request #549 from steve-lunarg/multidim-array
425af5f Use a recursive mutex.
cce8d48 HLSL: phase 3c: add option to use Unknown storage format
8b0227c HLSL: phase 3b: Texture methods remember and return vector size.
4f2da27 HLSL: phase 3a: Add sub-vec4 rwtexture formats (qualifier.layoutFormat)
17ff343 SPV: Add missing extension declarations for certain AMD extensions.
f042e40 Merge pull request #542 from steve-lunarg/rwbuffers
e4ad1bb Merge pull request #538 from steve-lunarg/iomap-binding-range-err
7b211a3 HLSL: allow multi-dimensional arrays
486d9e4 Update HexFloat tests to use non-enum class enum values
021dbb4 Change negatable_left_shift and negatable_right_shift to inline funcs
cabba60 Change {} constructor brackets to ()
7cac9e7 Change "using x = y;" to "typedef y x;" statements
a227d27 Explicitly implement default constructors
1a65fc2 Add std::isnan and std::isinf wrappers for VS2010 that doesn't have them
033d3ef Change enum class to plain enum
31d5d48 Change constructor to use ()s instead of {}s
ff160f1 Add #include <cstdint> for std::uint32_t usage
75c3bf6 Add strtoull wrapper for VS2010, pointing to MS implementation
54a28de Give all complex lambdas an explicit return type
b3da8a9 HLSL: phase 2e: introduce lower level addBinaryNode/UnaryNode fns
07830e8 HLSL: phase 2d: minor cleanup, & allow operator[] on non-rw textures
0de16da HLSL: phase 2c: use lValueErrorCheck in HLSL FE
9070796 HLSL: phase 2b: add l-value operator[] for RWTexture/RWBuffer
6b43d27 HLSL: phase 2a: add r-value operator[] for RWTexture/RWBuffer
e3aa654 Merge pull request #546 from yavn/OpImageQueryLod-with-SampledImage
7208a97 SPV: Use SampledImage with OpImageQueryLod
87a83d6 Use pthread_mutex for global lock on Linux.
9ae3474 Check for out-of-range bindings during IO mapping.
Test: checkbuild.py for Linux, Windows; ran unit tests on Windows
Change-Id: I226a48cb970e037e5906150618c1d08ea3a5701b
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 9c8b8b9..49bb0a1 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -114,6 +114,7 @@
void dumpSpv(std::vector<unsigned int>& out);
protected:
+ spv::Decoration TranslateInterpolationDecoration(const glslang::TQualifier& qualifier);
spv::Decoration TranslateAuxiliaryStorageDecoration(const glslang::TQualifier& qualifier);
spv::BuiltIn TranslateBuiltInDecoration(glslang::TBuiltInVariable, bool memberDeclaration);
spv::ImageFormat TranslateImageFormat(const glslang::TType& type);
@@ -381,7 +382,7 @@
// Translate glslang type to SPIR-V interpolation decorations.
// Returns spv::DecorationMax when no decoration
// should be applied.
-spv::Decoration TranslateInterpolationDecoration(const glslang::TQualifier& qualifier)
+spv::Decoration TGlslangToSpvTraverser::TranslateInterpolationDecoration(const glslang::TQualifier& qualifier)
{
if (qualifier.smooth)
// Smooth decoration doesn't exist in SPIR-V 1.0
@@ -391,8 +392,10 @@
else if (qualifier.flat)
return spv::DecorationFlat;
#ifdef AMD_EXTENSIONS
- else if (qualifier.explicitInterp)
+ else if (qualifier.explicitInterp) {
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::DecorationExplicitInterpAMD;
+ }
#endif
else
return spv::DecorationMax;
@@ -572,13 +575,33 @@
return spv::BuiltInSubgroupLtMaskKHR;
#ifdef AMD_EXTENSIONS
- case glslang::EbvBaryCoordNoPersp: return spv::BuiltInBaryCoordNoPerspAMD;
- case glslang::EbvBaryCoordNoPerspCentroid: return spv::BuiltInBaryCoordNoPerspCentroidAMD;
- case glslang::EbvBaryCoordNoPerspSample: return spv::BuiltInBaryCoordNoPerspSampleAMD;
- case glslang::EbvBaryCoordSmooth: return spv::BuiltInBaryCoordSmoothAMD;
- case glslang::EbvBaryCoordSmoothCentroid: return spv::BuiltInBaryCoordSmoothCentroidAMD;
- case glslang::EbvBaryCoordSmoothSample: return spv::BuiltInBaryCoordSmoothSampleAMD;
- case glslang::EbvBaryCoordPullModel: return spv::BuiltInBaryCoordPullModelAMD;
+ case glslang::EbvBaryCoordNoPersp:
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
+ return spv::BuiltInBaryCoordNoPerspAMD;
+
+ case glslang::EbvBaryCoordNoPerspCentroid:
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
+ return spv::BuiltInBaryCoordNoPerspCentroidAMD;
+
+ case glslang::EbvBaryCoordNoPerspSample:
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
+ return spv::BuiltInBaryCoordNoPerspSampleAMD;
+
+ case glslang::EbvBaryCoordSmooth:
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
+ return spv::BuiltInBaryCoordSmoothAMD;
+
+ case glslang::EbvBaryCoordSmoothCentroid:
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
+ return spv::BuiltInBaryCoordSmoothCentroidAMD;
+
+ case glslang::EbvBaryCoordSmoothSample:
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
+ return spv::BuiltInBaryCoordSmoothSampleAMD;
+
+ case glslang::EbvBaryCoordPullModel:
+ builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
+ return spv::BuiltInBaryCoordPullModelAMD;
#endif
default: return spv::BuiltInMax;
}
@@ -2745,9 +2768,10 @@
// Check for queries
if (cracked.query) {
- // a sampled image needs to have the image extracted first
- if (builder.isSampledImage(params.sampler))
+ // OpImageQueryLod works on a sampled image, for other queries the image has to be extracted first
+ if (node->getOp() != glslang::EOpTextureQueryLod && builder.isSampledImage(params.sampler))
params.sampler = builder.createUnaryOp(spv::OpImage, builder.getImageType(params.sampler), params.sampler);
+
switch (node->getOp()) {
case glslang::EOpImageQuerySize:
case glslang::EOpTextureQuerySize:
@@ -4109,6 +4133,10 @@
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
} else {
builder.addCapability(spv::CapabilityGroups);
+ if (op == glslang::EOpMinInvocationsNonUniform ||
+ op == glslang::EOpMaxInvocationsNonUniform ||
+ op == glslang::EOpAddInvocationsNonUniform)
+ builder.addExtension(spv::E_SPV_AMD_shader_ballot);
spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
#ifdef AMD_EXTENSIONS
diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h
index 43ec1ae..b3c686a 100755
--- a/SPIRV/SPVRemapper.h
+++ b/SPIRV/SPVRemapper.h
@@ -75,6 +75,7 @@
#if !defined (use_cpp11)
#include <cstdio>
+#include <cstdint>
namespace spv {
class spirvbin_t : public spirvbin_base_t
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index c19f368..4703edc 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -797,7 +797,7 @@
spvutils::HexFloat<spvutils::FloatProxy<float>> fVal(f16);
spvutils::HexFloat<spvutils::FloatProxy<spvutils::Float16>> f16Val(0);
- fVal.castTo(f16Val, spvutils::round_direction::kToZero);
+ fVal.castTo(f16Val, spvutils::kRoundToZero);
unsigned value = f16Val.value().getAsFloat().get_value();
diff --git a/SPIRV/hex_float.h b/SPIRV/hex_float.h
index ac7e002..31b9f9e 100644
--- a/SPIRV/hex_float.h
+++ b/SPIRV/hex_float.h
@@ -23,6 +23,19 @@
#include <limits>
#include <sstream>
+#if defined(_MSC_VER) && _MSC_VER < 1700
+namespace std {
+bool isnan(double f)
+{
+ return ::_isnan(f) != 0;
+}
+bool isinf(double f)
+{
+ return ::_finite(f) == 0;
+}
+}
+#endif
+
#include "bitutils.h"
namespace spvutils {
@@ -30,7 +43,7 @@
class Float16 {
public:
Float16(uint16_t v) : val(v) {}
- Float16() = default;
+ Float16() {}
static bool isNan(const Float16& val) {
return ((val.val & 0x7C00) == 0x7C00) && ((val.val & 0x3FF) != 0);
}
@@ -56,12 +69,12 @@
// a value is Nan.
template <typename T>
struct FloatProxyTraits {
- using uint_type = void;
+ typedef void uint_type;
};
template <>
struct FloatProxyTraits<float> {
- using uint_type = uint32_t;
+ typedef uint32_t uint_type;
static bool isNan(float f) { return std::isnan(f); }
// Returns true if the given value is any kind of infinity.
static bool isInfinity(float f) { return std::isinf(f); }
@@ -73,7 +86,7 @@
template <>
struct FloatProxyTraits<double> {
- using uint_type = uint64_t;
+ typedef uint64_t uint_type;
static bool isNan(double f) { return std::isnan(f); }
// Returns true if the given value is any kind of infinity.
static bool isInfinity(double f) { return std::isinf(f); }
@@ -85,7 +98,7 @@
template <>
struct FloatProxyTraits<Float16> {
- using uint_type = uint16_t;
+ typedef uint16_t uint_type;
static bool isNan(Float16 f) { return Float16::isNan(f); }
// Returns true if the given value is any kind of infinity.
static bool isInfinity(Float16 f) { return Float16::isInfinity(f); }
@@ -101,11 +114,11 @@
template <typename T>
class FloatProxy {
public:
- using uint_type = typename FloatProxyTraits<T>::uint_type;
+ typedef typename FloatProxyTraits<T>::uint_type uint_type;
// Since this is to act similar to the normal floats,
// do not initialize the data by default.
- FloatProxy() = default;
+ FloatProxy() {}
// Intentionally non-explicit. This is a proxy type so
// implicit conversions allow us to use it more transparently.
@@ -164,13 +177,13 @@
template <typename T>
struct HexFloatTraits {
// Integer type that can store this hex-float.
- using uint_type = void;
+ typedef void uint_type;
// Signed integer type that can store this hex-float.
- using int_type = void;
+ typedef void int_type;
// The numerical type that this HexFloat represents.
- using underlying_type = void;
+ typedef void underlying_type;
// The type needed to construct the underlying type.
- using native_type = void;
+ typedef void native_type;
// The number of bits that are actually relevant in the uint_type.
// This allows us to deal with, for example, 24-bit values in a 32-bit
// integer.
@@ -188,10 +201,10 @@
// 1 sign bit, 8 exponent bits, 23 fractional bits.
template <>
struct HexFloatTraits<FloatProxy<float>> {
- using uint_type = uint32_t;
- using int_type = int32_t;
- using underlying_type = FloatProxy<float>;
- using native_type = float;
+ typedef uint32_t uint_type;
+ typedef int32_t int_type;
+ typedef FloatProxy<float> underlying_type;
+ typedef float native_type;
static const uint_type num_used_bits = 32;
static const uint_type num_exponent_bits = 8;
static const uint_type num_fraction_bits = 23;
@@ -202,10 +215,10 @@
// 1 sign bit, 11 exponent bits, 52 fractional bits.
template <>
struct HexFloatTraits<FloatProxy<double>> {
- using uint_type = uint64_t;
- using int_type = int64_t;
- using underlying_type = FloatProxy<double>;
- using native_type = double;
+ typedef uint64_t uint_type;
+ typedef int64_t int_type;
+ typedef FloatProxy<double> underlying_type;
+ typedef double native_type;
static const uint_type num_used_bits = 64;
static const uint_type num_exponent_bits = 11;
static const uint_type num_fraction_bits = 52;
@@ -216,22 +229,21 @@
// 1 sign bit, 5 exponent bits, 10 fractional bits.
template <>
struct HexFloatTraits<FloatProxy<Float16>> {
- using uint_type = uint16_t;
- using int_type = int16_t;
- using underlying_type = uint16_t;
- using native_type = uint16_t;
+ typedef uint16_t uint_type;
+ typedef int16_t int_type;
+ typedef uint16_t underlying_type;
+ typedef uint16_t native_type;
static const uint_type num_used_bits = 16;
static const uint_type num_exponent_bits = 5;
static const uint_type num_fraction_bits = 10;
static const uint_type exponent_bias = 15;
};
-enum class round_direction {
- kToZero,
- kToNearestEven,
- kToPositiveInfinity,
- kToNegativeInfinity,
- max = kToNegativeInfinity
+enum round_direction {
+ kRoundToZero,
+ kRoundToNearestEven,
+ kRoundToPositiveInfinity,
+ kRoundToNegativeInfinity
};
// Template class that houses a floating pointer number.
@@ -240,10 +252,10 @@
template <typename T, typename Traits = HexFloatTraits<T>>
class HexFloat {
public:
- using uint_type = typename Traits::uint_type;
- using int_type = typename Traits::int_type;
- using underlying_type = typename Traits::underlying_type;
- using native_type = typename Traits::native_type;
+ typedef typename Traits::uint_type uint_type;
+ typedef typename Traits::int_type int_type;
+ typedef typename Traits::underlying_type underlying_type;
+ typedef typename Traits::native_type native_type;
explicit HexFloat(T f) : value_(f) {}
@@ -444,33 +456,23 @@
// constant_number < 0? 0: constant_number
// These convert the negative left-shifts into right shifts.
- template <int_type N, typename enable = void>
- struct negatable_left_shift {
- static uint_type val(uint_type val) {
- return static_cast<uint_type>(val >> -N);
- }
- };
+ template <typename int_type>
+ uint_type negatable_left_shift(int_type N, uint_type val)
+ {
+ if(N >= 0)
+ return val << N;
- template <int_type N>
- struct negatable_left_shift<N, typename std::enable_if<N >= 0>::type> {
- static uint_type val(uint_type val) {
- return static_cast<uint_type>(val << N);
- }
- };
+ return val >> -N;
+ }
- template <int_type N, typename enable = void>
- struct negatable_right_shift {
- static uint_type val(uint_type val) {
- return static_cast<uint_type>(val << -N);
- }
- };
+ template <typename int_type>
+ uint_type negatable_right_shift(int_type N, uint_type val)
+ {
+ if(N >= 0)
+ return val >> N;
- template <int_type N>
- struct negatable_right_shift<N, typename std::enable_if<N >= 0>::type> {
- static uint_type val(uint_type val) {
- return static_cast<uint_type>(val >> N);
- }
- };
+ return val << -N;
+ }
// Returns the significand, rounded to fit in a significand in
// other_T. This is shifted so that the most significant
@@ -479,7 +481,7 @@
template <typename other_T>
typename other_T::uint_type getRoundedNormalizedSignificand(
round_direction dir, bool* carry_bit) {
- using other_uint_type = typename other_T::uint_type;
+ typedef typename other_T::uint_type other_uint_type;
static const int_type num_throwaway_bits =
static_cast<int_type>(num_fraction_bits) -
static_cast<int_type>(other_T::num_fraction_bits);
@@ -487,11 +489,11 @@
static const uint_type last_significant_bit =
(num_throwaway_bits < 0)
? 0
- : negatable_left_shift<num_throwaway_bits>::val(1u);
+ : negatable_left_shift(num_throwaway_bits, 1u);
static const uint_type first_rounded_bit =
(num_throwaway_bits < 1)
? 0
- : negatable_left_shift<num_throwaway_bits - 1>::val(1u);
+ : negatable_left_shift(num_throwaway_bits - 1, 1u);
static const uint_type throwaway_mask_bits =
num_throwaway_bits > 0 ? num_throwaway_bits : 0;
@@ -513,22 +515,22 @@
// do.
if ((significand & throwaway_mask) == 0) {
return static_cast<other_uint_type>(
- negatable_right_shift<num_throwaway_bits>::val(significand));
+ negatable_right_shift(num_throwaway_bits, significand));
}
bool round_away_from_zero = false;
// We actually have to narrow the significand here, so we have to follow the
// rounding rules.
switch (dir) {
- case round_direction::kToZero:
+ case kRoundToZero:
break;
- case round_direction::kToPositiveInfinity:
+ case kRoundToPositiveInfinity:
round_away_from_zero = !isNegative();
break;
- case round_direction::kToNegativeInfinity:
+ case kRoundToNegativeInfinity:
round_away_from_zero = isNegative();
break;
- case round_direction::kToNearestEven:
+ case kRoundToNearestEven:
// Have to round down, round bit is 0
if ((first_rounded_bit & significand) == 0) {
break;
@@ -550,11 +552,11 @@
if (round_away_from_zero) {
return static_cast<other_uint_type>(
- negatable_right_shift<num_throwaway_bits>::val(incrementSignificand(
+ negatable_right_shift(num_throwaway_bits, incrementSignificand(
significand, last_significant_bit, carry_bit)));
} else {
return static_cast<other_uint_type>(
- negatable_right_shift<num_throwaway_bits>::val(significand));
+ negatable_right_shift(num_throwaway_bits, significand));
}
}
@@ -608,9 +610,9 @@
if (is_nan) {
typename other_T::uint_type shifted_significand;
shifted_significand = static_cast<typename other_T::uint_type>(
- negatable_left_shift<
+ negatable_left_shift(
static_cast<int_type>(other_T::num_fraction_bits) -
- static_cast<int_type>(num_fraction_bits)>::val(significand));
+ static_cast<int_type>(num_fraction_bits), significand));
// We are some sort of Nan. We try to keep the bit-pattern of the Nan
// as close as possible. If we had to shift off bits so we are 0, then we
@@ -623,9 +625,9 @@
}
bool round_underflow_up =
- isNegative() ? round_dir == round_direction::kToNegativeInfinity
- : round_dir == round_direction::kToPositiveInfinity;
- using other_int_type = typename other_T::int_type;
+ isNegative() ? round_dir == kRoundToNegativeInfinity
+ : round_dir == kRoundToPositiveInfinity;
+ typedef typename other_T::int_type other_int_type;
// setFromSignUnbiasedExponentAndNormalizedSignificand will
// zero out any underflowing value (but retain the sign).
other.setFromSignUnbiasedExponentAndNormalizedSignificand(
@@ -664,9 +666,9 @@
// Outputs the given HexFloat to the stream.
template <typename T, typename Traits>
std::ostream& operator<<(std::ostream& os, const HexFloat<T, Traits>& value) {
- using HF = HexFloat<T, Traits>;
- using uint_type = typename HF::uint_type;
- using int_type = typename HF::int_type;
+ typedef HexFloat<T, Traits> HF;
+ typedef typename HF::uint_type uint_type;
+ typedef typename HF::int_type int_type;
static_assert(HF::num_used_bits != 0,
"num_used_bits must be non-zero for a valid float");
@@ -745,7 +747,7 @@
if (next_char == '-' || next_char == '+') {
// Fail the parse. Emulate standard behaviour by setting the value to
// the zero value, and set the fail bit on the stream.
- value = HexFloat<T, Traits>(typename HexFloat<T, Traits>::uint_type{0});
+ value = HexFloat<T, Traits>(typename HexFloat<T, Traits>::uint_type(0));
is.setstate(std::ios_base::failbit);
return true;
}
@@ -777,7 +779,7 @@
value.set_value(val);
// In the failure case, map -0.0 to 0.0.
if (is.fail() && value.getUnsignedBits() == 0u) {
- value = HexFloat<T, Traits>(typename HexFloat<T, Traits>::uint_type{0});
+ value = HexFloat<T, Traits>(typename HexFloat<T, Traits>::uint_type(0));
}
if (val.isInfinity()) {
// Fail the parse. Emulate standard behaviour by setting the value to
@@ -812,7 +814,7 @@
// Then convert to 16-bit float, saturating at infinities, and
// rounding toward zero.
- float_val.castTo(value, round_direction::kToZero);
+ float_val.castTo(value, kRoundToZero);
// Overflow on 16-bit behaves the same as for 32- and 64-bit: set the
// fail bit and set the lowest or highest value.
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index 5d30ac2..0ac72d3 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -82,6 +82,7 @@
EOptionCascadingErrors = (1 << 18),
EOptionAutoMapBindings = (1 << 19),
EOptionFlattenUniformArrays = (1 << 20),
+ EOptionNoStorageFormat = (1 << 21),
};
//
@@ -290,6 +291,9 @@
lowerword == "flatten-uniform-array" ||
lowerword == "fua") {
Options |= EOptionFlattenUniformArrays;
+ } else if (lowerword == "no-storage-format" || // synonyms
+ lowerword == "nsf") {
+ Options |= EOptionNoStorageFormat;
} else {
usage();
}
@@ -542,6 +546,7 @@
shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]);
shader->setShiftUboBinding(baseUboBinding[compUnit.stage]);
shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
+ shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
if (Options & EOptionAutoMapBindings)
shader->setAutoMapBindings(true);
@@ -584,6 +589,12 @@
if (! (Options & EOptionOutputPreprocessed) && ! program.link(messages))
LinkFailed = true;
+ // Map IO
+ if (Options & EOptionSpv) {
+ if (!program.mapIO())
+ LinkFailed = true;
+ }
+
// Report
if (! (Options & EOptionSuppressInfolog) &&
! (Options & EOptionMemoryLeakMode)) {
@@ -591,10 +602,6 @@
PutsIfNonEmpty(program.getInfoDebugLog());
}
- // Map IO
- if (Options & EOptionSpv)
- program.mapIO();
-
// Reflect
if (Options & EOptionDumpReflection) {
program.buildReflection();
@@ -666,11 +673,11 @@
// they are all getting linked together.)
glslang::TWorkItem* workItem;
while (Worklist.remove(workItem)) {
- ShaderCompUnit compUnit = {
+ ShaderCompUnit compUnit(
FindLanguage(workItem->name),
workItem->name,
ReadFileData(workItem->name.c_str())
- };
+ );
if (! compUnit.text) {
usage();
@@ -943,6 +950,9 @@
"\n"
" --flatten-uniform-arrays flatten uniform texture & sampler arrays to scalars\n"
" --fua synonym for --flatten-uniform-arrays\n"
+ "\n"
+ " --no-storage-format use Unknown image format\n"
+ " --nsf synonym for --no-storage-format\n"
);
exit(EFailUsage);
diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out
index 185c2cc..cbfb0ef 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -6,7 +6,7 @@
0:17 Function Parameters:
0:? Sequence
0:18 Branch: Return with expression
-0:18 texture (global 4-component vector of float)
+0:18 texture (temp 4-component vector of float)
0:18 Construct combined texture-sampler (temp sampler1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_samp[1]' (uniform sampler)
@@ -18,7 +18,7 @@
0:22 'l_samp' (in 3-element array of sampler)
0:? Sequence
0:23 Branch: Return with expression
-0:23 texture (global 4-component vector of float)
+0:23 texture (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1D)
0:23 direct index (temp texture1D)
0:23 'l_tex' (in 3-element array of texture1D)
@@ -165,7 +165,7 @@
0:17 Function Parameters:
0:? Sequence
0:18 Branch: Return with expression
-0:18 texture (global 4-component vector of float)
+0:18 texture (temp 4-component vector of float)
0:18 Construct combined texture-sampler (temp sampler1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_samp[1]' (uniform sampler)
@@ -177,7 +177,7 @@
0:22 'l_samp' (in 3-element array of sampler)
0:? Sequence
0:23 Branch: Return with expression
-0:23 texture (global 4-component vector of float)
+0:23 texture (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1D)
0:23 direct index (temp texture1D)
0:23 'l_tex' (in 3-element array of texture1D)
diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out
new file mode 100644
index 0000000..a2df1a8
--- /dev/null
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -0,0 +1,210 @@
+hlsl.array.multidim.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:10 Function Parameters:
+0:? Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 direct index (temp 4-component vector of float)
+0:14 direct index (temp 3-element array of 4-component vector of float)
+0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
+0:14 Constant:
+0:14 1 (const int)
+0:14 Constant:
+0:14 2 (const int)
+0:14 Construct vec4 (temp 4-component vector of float)
+0:14 direct index (layout(offset=0 ) temp float)
+0:14 direct index (layout(offset=0 ) temp 3-element array of float)
+0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
+0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
+0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:14 Constant:
+0:14 0 (const uint)
+0:14 Constant:
+0:14 2 (const int)
+0:14 Constant:
+0:14 3 (const int)
+0:14 Constant:
+0:14 1 (const int)
+0:15 move second child to first child (temp 3-element array of 4-component vector of float)
+0:15 direct index (temp 3-element array of 4-component vector of float)
+0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
+0:15 Constant:
+0:15 1 (const int)
+0:15 direct index (temp 3-element array of 4-component vector of float)
+0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 Color: direct index for structure (temp 4-component vector of float)
+0:18 'psout' (temp structure{temp 4-component vector of float Color})
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (temp 4-component vector of float)
+0:18 direct index (temp 3-element array of 4-component vector of float)
+0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 2 (const int)
+0:19 Sequence
+0:19 Sequence
+0:19 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:19 Color: direct index for structure (temp 4-component vector of float)
+0:19 'psout' (temp structure{temp 4-component vector of float Color})
+0:19 Constant:
+0:19 0 (const int)
+0:19 Branch: Return
+0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:10 Function Parameters:
+0:? Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 direct index (temp 4-component vector of float)
+0:14 direct index (temp 3-element array of 4-component vector of float)
+0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
+0:14 Constant:
+0:14 1 (const int)
+0:14 Constant:
+0:14 2 (const int)
+0:14 Construct vec4 (temp 4-component vector of float)
+0:14 direct index (layout(offset=0 ) temp float)
+0:14 direct index (layout(offset=0 ) temp 3-element array of float)
+0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
+0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
+0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:14 Constant:
+0:14 0 (const uint)
+0:14 Constant:
+0:14 2 (const int)
+0:14 Constant:
+0:14 3 (const int)
+0:14 Constant:
+0:14 1 (const int)
+0:15 move second child to first child (temp 3-element array of 4-component vector of float)
+0:15 direct index (temp 3-element array of 4-component vector of float)
+0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
+0:15 Constant:
+0:15 1 (const int)
+0:15 direct index (temp 3-element array of 4-component vector of float)
+0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 Color: direct index for structure (temp 4-component vector of float)
+0:18 'psout' (temp structure{temp 4-component vector of float Color})
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (temp 4-component vector of float)
+0:18 direct index (temp 3-element array of 4-component vector of float)
+0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 2 (const int)
+0:19 Sequence
+0:19 Sequence
+0:19 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:19 Color: direct index for structure (temp 4-component vector of float)
+0:19 'psout' (temp structure{temp 4-component vector of float Color})
+0:19 Constant:
+0:19 0 (const int)
+0:19 Branch: Return
+0:? Linker Objects
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 52
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 48
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 14 "float4_array_1"
+ Name 23 "$Global"
+ MemberName 23($Global) 0 "float_array"
+ Name 25 ""
+ Name 36 "float4_array_2"
+ Name 41 "PS_OUTPUT"
+ MemberName 41(PS_OUTPUT) 0 "Color"
+ Name 43 "psout"
+ Name 48 "Color"
+ Decorate 18 ArrayStride 16
+ Decorate 20 ArrayStride 48
+ Decorate 22 ArrayStride 192
+ MemberDecorate 23($Global) 0 Offset 0
+ Decorate 23($Global) Block
+ Decorate 25 DescriptorSet 0
+ Decorate 48(Color) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 3
+ 10: TypeArray 7(fvec4) 9
+ 11: 8(int) Constant 2
+ 12: TypeArray 10 11
+ 13: TypePointer Function 12
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 1
+ 17: 15(int) Constant 2
+ 18: TypeArray 6(float) 9
+ 19: 8(int) Constant 4
+ 20: TypeArray 18 19
+ 21: 8(int) Constant 5
+ 22: TypeArray 20 21
+ 23($Global): TypeStruct 22
+ 24: TypePointer Uniform 23($Global)
+ 25: 24(ptr) Variable Uniform
+ 26: 15(int) Constant 0
+ 27: 15(int) Constant 3
+ 28: TypePointer Uniform 6(float)
+ 32: TypePointer Function 7(fvec4)
+ 34: TypeArray 10 21
+ 35: TypePointer Function 34
+ 37: TypePointer Function 10
+ 41(PS_OUTPUT): TypeStruct 7(fvec4)
+ 42: TypePointer Function 41(PS_OUTPUT)
+ 47: TypePointer Output 7(fvec4)
+ 48(Color): 47(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+14(float4_array_1): 13(ptr) Variable Function
+36(float4_array_2): 35(ptr) Variable Function
+ 43(psout): 42(ptr) Variable Function
+ 29: 28(ptr) AccessChain 25 26 17 27 16
+ 30: 6(float) Load 29
+ 31: 7(fvec4) CompositeConstruct 30 30 30 30
+ 33: 32(ptr) AccessChain 14(float4_array_1) 16 17
+ Store 33 31
+ 38: 37(ptr) AccessChain 14(float4_array_1) 26
+ 39: 10 Load 38
+ 40: 37(ptr) AccessChain 36(float4_array_2) 16
+ Store 40 39
+ 44: 32(ptr) AccessChain 14(float4_array_1) 16 17
+ 45: 7(fvec4) Load 44
+ 46: 32(ptr) AccessChain 43(psout) 26
+ Store 46 45
+ 49: 32(ptr) AccessChain 43(psout) 26
+ 50: 7(fvec4) Load 49
+ Store 48(Color) 50
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out
new file mode 100755
index 0000000..c6dc3e5
--- /dev/null
+++ b/Test/baseResults/hlsl.basic.comp.out
@@ -0,0 +1,58 @@
+hlsl.basic.comp
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:4 Function Definition: main(i1; (temp void)
+0:4 Function Parameters:
+0:4 'dti' (in int LocalInvocationID)
+0:? Sequence
+0:5 'dti' (in int LocalInvocationID)
+0:? Linker Objects
+0:? 'a' (shared 100-element array of 4-component vector of float)
+0:? 'dti' (in int LocalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:4 Function Definition: main(i1; (temp void)
+0:4 Function Parameters:
+0:4 'dti' (in int LocalInvocationID)
+0:? Sequence
+0:5 'dti' (in int LocalInvocationID)
+0:? Linker Objects
+0:? 'a' (shared 100-element array of 4-component vector of float)
+0:? 'dti' (in int LocalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 16
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main" 8
+ ExecutionMode 4 LocalSize 1 1 1
+ Name 4 "main"
+ Name 8 "dti"
+ Name 15 "a"
+ Decorate 8(dti) BuiltIn LocalInvocationId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Input 6(int)
+ 8(dti): 7(ptr) Variable Input
+ 9: TypeFloat 32
+ 10: TypeVector 9(float) 4
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 100
+ 13: TypeArray 10(fvec4) 12
+ 14: TypePointer Workgroup 13
+ 15(a): 14(ptr) Variable Workgroup
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
index 9d061d2..ff18441 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -345,7 +345,7 @@
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 150
+// Id's are bound by 141
Capability Shader
Capability Sampled1D
@@ -353,51 +353,51 @@
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 141 145
+ EntryPoint Fragment 4 "main" 132 136
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "txval10"
Name 11 "g_tTex1df4a"
Name 15 "g_sSamp"
- Name 26 "txval11"
- Name 29 "g_tTex1di4a"
- Name 38 "txval12"
- Name 42 "g_tTex1du4a"
- Name 51 "txval20"
- Name 54 "g_tTex2df4a"
- Name 63 "txval21"
- Name 66 "g_tTex2di4a"
- Name 76 "txval22"
- Name 79 "g_tTex2du4a"
- Name 90 "txval40"
- Name 93 "g_tTexcdf4a"
- Name 103 "txval41"
- Name 106 "g_tTexcdi4a"
- Name 115 "txval42"
- Name 118 "g_tTexcdu4a"
- Name 131 "PS_OUTPUT"
- MemberName 131(PS_OUTPUT) 0 "Color"
- MemberName 131(PS_OUTPUT) 1 "Depth"
- Name 133 "psout"
- Name 141 "Color"
- Name 145 "Depth"
- Name 149 "g_tTex1df4"
+ Name 25 "txval11"
+ Name 28 "g_tTex1di4a"
+ Name 36 "txval12"
+ Name 40 "g_tTex1du4a"
+ Name 48 "txval20"
+ Name 51 "g_tTex2df4a"
+ Name 59 "txval21"
+ Name 62 "g_tTex2di4a"
+ Name 71 "txval22"
+ Name 74 "g_tTex2du4a"
+ Name 84 "txval40"
+ Name 87 "g_tTexcdf4a"
+ Name 96 "txval41"
+ Name 99 "g_tTexcdi4a"
+ Name 107 "txval42"
+ Name 110 "g_tTexcdu4a"
+ Name 122 "PS_OUTPUT"
+ MemberName 122(PS_OUTPUT) 0 "Color"
+ MemberName 122(PS_OUTPUT) 1 "Depth"
+ Name 124 "psout"
+ Name 132 "Color"
+ Name 136 "Depth"
+ Name 140 "g_tTex1df4"
Decorate 11(g_tTex1df4a) DescriptorSet 0
Decorate 11(g_tTex1df4a) Binding 1
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
- Decorate 29(g_tTex1di4a) DescriptorSet 0
- Decorate 42(g_tTex1du4a) DescriptorSet 0
- Decorate 54(g_tTex2df4a) DescriptorSet 0
- Decorate 66(g_tTex2di4a) DescriptorSet 0
- Decorate 79(g_tTex2du4a) DescriptorSet 0
- Decorate 93(g_tTexcdf4a) DescriptorSet 0
- Decorate 106(g_tTexcdi4a) DescriptorSet 0
- Decorate 118(g_tTexcdu4a) DescriptorSet 0
- Decorate 141(Color) Location 0
- Decorate 145(Depth) BuiltIn FragDepth
- Decorate 149(g_tTex1df4) DescriptorSet 0
- Decorate 149(g_tTex1df4) Binding 0
+ Decorate 28(g_tTex1di4a) DescriptorSet 0
+ Decorate 40(g_tTex1du4a) DescriptorSet 0
+ Decorate 51(g_tTex2df4a) DescriptorSet 0
+ Decorate 62(g_tTex2di4a) DescriptorSet 0
+ Decorate 74(g_tTex2du4a) DescriptorSet 0
+ Decorate 87(g_tTexcdf4a) DescriptorSet 0
+ Decorate 99(g_tTexcdi4a) DescriptorSet 0
+ Decorate 110(g_tTexcdu4a) DescriptorSet 0
+ Decorate 132(Color) Location 0
+ Decorate 136(Depth) BuiltIn FragDepth
+ Decorate 140(g_tTex1df4) DescriptorSet 0
+ Decorate 140(g_tTex1df4) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -410,153 +410,144 @@
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeSampledImage 9
19: 6(float) Constant 1036831949
- 21: TypeVector 6(float) 2
- 23: TypeInt 32 1
- 24: 23(int) Constant 0
- 27: TypeImage 23(int) 1D array sampled format:Unknown
- 28: TypePointer UniformConstant 27
- 29(g_tTex1di4a): 28(ptr) Variable UniformConstant
- 32: TypeSampledImage 27
- 34: 6(float) Constant 1045220557
- 39: TypeInt 32 0
- 40: TypeImage 39(int) 1D array sampled format:Unknown
- 41: TypePointer UniformConstant 40
- 42(g_tTex1du4a): 41(ptr) Variable UniformConstant
- 45: TypeSampledImage 40
- 47: 6(float) Constant 1050253722
- 52: TypeImage 6(float) 2D array sampled format:Unknown
- 53: TypePointer UniformConstant 52
- 54(g_tTex2df4a): 53(ptr) Variable UniformConstant
- 57: TypeSampledImage 52
- 59: 21(fvec2) ConstantComposite 19 34
- 64: TypeImage 23(int) 2D array sampled format:Unknown
- 65: TypePointer UniformConstant 64
- 66(g_tTex2di4a): 65(ptr) Variable UniformConstant
- 69: TypeSampledImage 64
- 71: 6(float) Constant 1053609165
- 72: 21(fvec2) ConstantComposite 47 71
- 77: TypeImage 39(int) 2D array sampled format:Unknown
- 78: TypePointer UniformConstant 77
- 79(g_tTex2du4a): 78(ptr) Variable UniformConstant
- 82: TypeSampledImage 77
- 84: 6(float) Constant 1056964608
- 85: 6(float) Constant 1058642330
- 86: 21(fvec2) ConstantComposite 84 85
- 91: TypeImage 6(float) Cube array sampled format:Unknown
- 92: TypePointer UniformConstant 91
- 93(g_tTexcdf4a): 92(ptr) Variable UniformConstant
- 96: TypeSampledImage 91
- 98: TypeVector 6(float) 3
- 99: 98(fvec3) ConstantComposite 19 34 47
- 104: TypeImage 23(int) Cube array sampled format:Unknown
- 105: TypePointer UniformConstant 104
-106(g_tTexcdi4a): 105(ptr) Variable UniformConstant
- 109: TypeSampledImage 104
- 111: 98(fvec3) ConstantComposite 71 84 85
- 116: TypeImage 39(int) Cube array sampled format:Unknown
- 117: TypePointer UniformConstant 116
-118(g_tTexcdu4a): 117(ptr) Variable UniformConstant
- 121: TypeSampledImage 116
- 123: 6(float) Constant 1060320051
- 124: 6(float) Constant 1061997773
- 125: 6(float) Constant 1063675494
- 126: 98(fvec3) ConstantComposite 123 124 125
- 130: TypeVector 6(float) 4
- 131(PS_OUTPUT): TypeStruct 130(fvec4) 6(float)
- 132: TypePointer Function 131(PS_OUTPUT)
- 134: 6(float) Constant 1065353216
- 135: 130(fvec4) ConstantComposite 134 134 134 134
- 136: TypePointer Function 130(fvec4)
- 138: 23(int) Constant 1
- 140: TypePointer Output 130(fvec4)
- 141(Color): 140(ptr) Variable Output
- 144: TypePointer Output 6(float)
- 145(Depth): 144(ptr) Variable Output
- 149(g_tTex1df4): 10(ptr) Variable UniformConstant
+ 20: TypeVector 6(float) 2
+ 22: TypeInt 32 1
+ 23: 22(int) Constant 0
+ 26: TypeImage 22(int) 1D array sampled format:Unknown
+ 27: TypePointer UniformConstant 26
+ 28(g_tTex1di4a): 27(ptr) Variable UniformConstant
+ 31: TypeSampledImage 26
+ 33: 6(float) Constant 1045220557
+ 37: TypeInt 32 0
+ 38: TypeImage 37(int) 1D array sampled format:Unknown
+ 39: TypePointer UniformConstant 38
+ 40(g_tTex1du4a): 39(ptr) Variable UniformConstant
+ 43: TypeSampledImage 38
+ 45: 6(float) Constant 1050253722
+ 49: TypeImage 6(float) 2D array sampled format:Unknown
+ 50: TypePointer UniformConstant 49
+ 51(g_tTex2df4a): 50(ptr) Variable UniformConstant
+ 54: TypeSampledImage 49
+ 56: 20(fvec2) ConstantComposite 19 33
+ 60: TypeImage 22(int) 2D array sampled format:Unknown
+ 61: TypePointer UniformConstant 60
+ 62(g_tTex2di4a): 61(ptr) Variable UniformConstant
+ 65: TypeSampledImage 60
+ 67: 6(float) Constant 1053609165
+ 68: 20(fvec2) ConstantComposite 45 67
+ 72: TypeImage 37(int) 2D array sampled format:Unknown
+ 73: TypePointer UniformConstant 72
+ 74(g_tTex2du4a): 73(ptr) Variable UniformConstant
+ 77: TypeSampledImage 72
+ 79: 6(float) Constant 1056964608
+ 80: 6(float) Constant 1058642330
+ 81: 20(fvec2) ConstantComposite 79 80
+ 85: TypeImage 6(float) Cube array sampled format:Unknown
+ 86: TypePointer UniformConstant 85
+ 87(g_tTexcdf4a): 86(ptr) Variable UniformConstant
+ 90: TypeSampledImage 85
+ 92: TypeVector 6(float) 3
+ 93: 92(fvec3) ConstantComposite 19 33 45
+ 97: TypeImage 22(int) Cube array sampled format:Unknown
+ 98: TypePointer UniformConstant 97
+ 99(g_tTexcdi4a): 98(ptr) Variable UniformConstant
+ 102: TypeSampledImage 97
+ 104: 92(fvec3) ConstantComposite 67 79 80
+ 108: TypeImage 37(int) Cube array sampled format:Unknown
+ 109: TypePointer UniformConstant 108
+110(g_tTexcdu4a): 109(ptr) Variable UniformConstant
+ 113: TypeSampledImage 108
+ 115: 6(float) Constant 1060320051
+ 116: 6(float) Constant 1061997773
+ 117: 6(float) Constant 1063675494
+ 118: 92(fvec3) ConstantComposite 115 116 117
+ 121: TypeVector 6(float) 4
+ 122(PS_OUTPUT): TypeStruct 121(fvec4) 6(float)
+ 123: TypePointer Function 122(PS_OUTPUT)
+ 125: 6(float) Constant 1065353216
+ 126: 121(fvec4) ConstantComposite 125 125 125 125
+ 127: TypePointer Function 121(fvec4)
+ 129: 22(int) Constant 1
+ 131: TypePointer Output 121(fvec4)
+ 132(Color): 131(ptr) Variable Output
+ 135: TypePointer Output 6(float)
+ 136(Depth): 135(ptr) Variable Output
+ 140(g_tTex1df4): 10(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(txval10): 7(ptr) Variable Function
- 26(txval11): 7(ptr) Variable Function
- 38(txval12): 7(ptr) Variable Function
- 51(txval20): 7(ptr) Variable Function
- 63(txval21): 7(ptr) Variable Function
- 76(txval22): 7(ptr) Variable Function
- 90(txval40): 7(ptr) Variable Function
- 103(txval41): 7(ptr) Variable Function
- 115(txval42): 7(ptr) Variable Function
- 133(psout): 132(ptr) Variable Function
+ 25(txval11): 7(ptr) Variable Function
+ 36(txval12): 7(ptr) Variable Function
+ 48(txval20): 7(ptr) Variable Function
+ 59(txval21): 7(ptr) Variable Function
+ 71(txval22): 7(ptr) Variable Function
+ 84(txval40): 7(ptr) Variable Function
+ 96(txval41): 7(ptr) Variable Function
+ 107(txval42): 7(ptr) Variable Function
+ 124(psout): 123(ptr) Variable Function
12: 9 Load 11(g_tTex1df4a)
16: 13 Load 15(g_sSamp)
18: 17 SampledImage 12 16
- 20: 9 Image 18
- 22: 21(fvec2) ImageQueryLod 20 19
- 25: 6(float) CompositeExtract 22 0
- Store 8(txval10) 25
- 30: 27 Load 29(g_tTex1di4a)
- 31: 13 Load 15(g_sSamp)
- 33: 32 SampledImage 30 31
- 35: 27 Image 33
- 36: 21(fvec2) ImageQueryLod 35 34
- 37: 6(float) CompositeExtract 36 0
- Store 26(txval11) 37
- 43: 40 Load 42(g_tTex1du4a)
- 44: 13 Load 15(g_sSamp)
- 46: 45 SampledImage 43 44
- 48: 40 Image 46
- 49: 21(fvec2) ImageQueryLod 48 47
- 50: 6(float) CompositeExtract 49 0
- Store 38(txval12) 50
- 55: 52 Load 54(g_tTex2df4a)
- 56: 13 Load 15(g_sSamp)
- 58: 57 SampledImage 55 56
- 60: 52 Image 58
- 61: 21(fvec2) ImageQueryLod 60 59
- 62: 6(float) CompositeExtract 61 0
- Store 51(txval20) 62
- 67: 64 Load 66(g_tTex2di4a)
- 68: 13 Load 15(g_sSamp)
- 70: 69 SampledImage 67 68
- 73: 64 Image 70
- 74: 21(fvec2) ImageQueryLod 73 72
- 75: 6(float) CompositeExtract 74 0
- Store 63(txval21) 75
- 80: 77 Load 79(g_tTex2du4a)
- 81: 13 Load 15(g_sSamp)
- 83: 82 SampledImage 80 81
- 87: 77 Image 83
- 88: 21(fvec2) ImageQueryLod 87 86
- 89: 6(float) CompositeExtract 88 0
- Store 76(txval22) 89
- 94: 91 Load 93(g_tTexcdf4a)
- 95: 13 Load 15(g_sSamp)
- 97: 96 SampledImage 94 95
- 100: 91 Image 97
- 101: 21(fvec2) ImageQueryLod 100 99
- 102: 6(float) CompositeExtract 101 0
- Store 90(txval40) 102
- 107: 104 Load 106(g_tTexcdi4a)
- 108: 13 Load 15(g_sSamp)
- 110: 109 SampledImage 107 108
- 112: 104 Image 110
- 113: 21(fvec2) ImageQueryLod 112 111
- 114: 6(float) CompositeExtract 113 0
- Store 103(txval41) 114
- 119: 116 Load 118(g_tTexcdu4a)
- 120: 13 Load 15(g_sSamp)
- 122: 121 SampledImage 119 120
- 127: 116 Image 122
- 128: 21(fvec2) ImageQueryLod 127 126
- 129: 6(float) CompositeExtract 128 0
- Store 115(txval42) 129
- 137: 136(ptr) AccessChain 133(psout) 24
- Store 137 135
- 139: 7(ptr) AccessChain 133(psout) 138
- Store 139 134
- 142: 136(ptr) AccessChain 133(psout) 24
- 143: 130(fvec4) Load 142
- Store 141(Color) 143
- 146: 7(ptr) AccessChain 133(psout) 138
- 147: 6(float) Load 146
- Store 145(Depth) 147
+ 21: 20(fvec2) ImageQueryLod 18 19
+ 24: 6(float) CompositeExtract 21 0
+ Store 8(txval10) 24
+ 29: 26 Load 28(g_tTex1di4a)
+ 30: 13 Load 15(g_sSamp)
+ 32: 31 SampledImage 29 30
+ 34: 20(fvec2) ImageQueryLod 32 33
+ 35: 6(float) CompositeExtract 34 0
+ Store 25(txval11) 35
+ 41: 38 Load 40(g_tTex1du4a)
+ 42: 13 Load 15(g_sSamp)
+ 44: 43 SampledImage 41 42
+ 46: 20(fvec2) ImageQueryLod 44 45
+ 47: 6(float) CompositeExtract 46 0
+ Store 36(txval12) 47
+ 52: 49 Load 51(g_tTex2df4a)
+ 53: 13 Load 15(g_sSamp)
+ 55: 54 SampledImage 52 53
+ 57: 20(fvec2) ImageQueryLod 55 56
+ 58: 6(float) CompositeExtract 57 0
+ Store 48(txval20) 58
+ 63: 60 Load 62(g_tTex2di4a)
+ 64: 13 Load 15(g_sSamp)
+ 66: 65 SampledImage 63 64
+ 69: 20(fvec2) ImageQueryLod 66 68
+ 70: 6(float) CompositeExtract 69 0
+ Store 59(txval21) 70
+ 75: 72 Load 74(g_tTex2du4a)
+ 76: 13 Load 15(g_sSamp)
+ 78: 77 SampledImage 75 76
+ 82: 20(fvec2) ImageQueryLod 78 81
+ 83: 6(float) CompositeExtract 82 0
+ Store 71(txval22) 83
+ 88: 85 Load 87(g_tTexcdf4a)
+ 89: 13 Load 15(g_sSamp)
+ 91: 90 SampledImage 88 89
+ 94: 20(fvec2) ImageQueryLod 91 93
+ 95: 6(float) CompositeExtract 94 0
+ Store 84(txval40) 95
+ 100: 97 Load 99(g_tTexcdi4a)
+ 101: 13 Load 15(g_sSamp)
+ 103: 102 SampledImage 100 101
+ 105: 20(fvec2) ImageQueryLod 103 104
+ 106: 6(float) CompositeExtract 105 0
+ Store 96(txval41) 106
+ 111: 108 Load 110(g_tTexcdu4a)
+ 112: 13 Load 15(g_sSamp)
+ 114: 113 SampledImage 111 112
+ 119: 20(fvec2) ImageQueryLod 114 118
+ 120: 6(float) CompositeExtract 119 0
+ Store 107(txval42) 120
+ 128: 127(ptr) AccessChain 124(psout) 23
+ Store 128 126
+ 130: 7(ptr) AccessChain 124(psout) 129
+ Store 130 125
+ 133: 127(ptr) AccessChain 124(psout) 23
+ 134: 121(fvec4) Load 133
+ Store 132(Color) 134
+ 137: 7(ptr) AccessChain 124(psout) 129
+ 138: 6(float) Load 137
+ Store 136(Depth) 138
Return
FunctionEnd
diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out
index 83fe24b..b2716a4 100644
--- a/Test/baseResults/hlsl.inoutquals.frag.out
+++ b/Test/baseResults/hlsl.inoutquals.frag.out
@@ -18,9 +18,10 @@
0:11 'x' (in float)
0:11 Constant:
0:11 -1.000000
-0:15 Function Definition: main(vf4; (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:15 'sampleMask' (out int SampleMaskIn)
0:? Sequence
0:18 Sequence
0:18 move second child to first child (temp float)
@@ -74,6 +75,7 @@
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:? 'sampleMask' (out int SampleMaskIn)
Linked fragment stage:
@@ -98,9 +100,10 @@
0:11 'x' (in float)
0:11 Constant:
0:11 -1.000000
-0:15 Function Definition: main(vf4; (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:15 'sampleMask' (out int SampleMaskIn)
0:? Sequence
0:18 Sequence
0:18 move second child to first child (temp float)
@@ -154,15 +157,17 @@
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
+0:? 'sampleMask' (out int SampleMaskIn)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 61
+// Id's are bound by 63
Capability Shader
+ Capability SampleRateShading
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 45 53 57
+ EntryPoint Fragment 4 "main" 45 53 57 62
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 12 "MyFunc(f1;f1;f1;"
@@ -182,10 +187,12 @@
Name 45 "inpos"
Name 53 "Color"
Name 57 "Depth"
+ Name 62 "sampleMask"
Decorate 45(inpos) NoPerspective
Decorate 45(inpos) BuiltIn FragCoord
Decorate 53(Color) Location 0
Decorate 57(Depth) BuiltIn FragDepth
+ Decorate 62(sampleMask) BuiltIn SampleMask
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -211,6 +218,8 @@
53(Color): 52(ptr) Variable Output
56: TypePointer Output 6(float)
57(Depth): 56(ptr) Variable Output
+ 61: TypePointer Output 34(int)
+ 62(sampleMask): 61(ptr) Variable Output
4(main): 2 Function None 3
5: Label
17(x): 7(ptr) Variable Function
diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out
index f733975..cd366fc 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -13,64 +13,64 @@
0:21 all (global bool)
0:21 'inF0' (in float)
0:24 AtomicAdd (global void)
-0:24 'gs_ua' (global uint)
-0:24 'gs_ub' (global uint)
+0:24 'gs_ua' (shared uint)
+0:24 'gs_ub' (shared uint)
0:25 move second child to first child (temp uint)
0:25 'out_u1' (temp uint)
0:25 AtomicAdd (temp uint)
-0:25 'gs_ua' (global uint)
-0:25 'gs_ub' (global uint)
+0:25 'gs_ua' (shared uint)
+0:25 'gs_ub' (shared uint)
0:26 AtomicAnd (global void)
-0:26 'gs_ua' (global uint)
-0:26 'gs_ub' (global uint)
+0:26 'gs_ua' (shared uint)
+0:26 'gs_ub' (shared uint)
0:27 move second child to first child (temp uint)
0:27 'out_u1' (temp uint)
0:27 AtomicAnd (temp uint)
-0:27 'gs_ua' (global uint)
-0:27 'gs_ub' (global uint)
+0:27 'gs_ua' (shared uint)
+0:27 'gs_ub' (shared uint)
0:28 move second child to first child (temp uint)
0:28 'out_u1' (temp uint)
0:28 AtomicCompSwap (temp uint)
-0:28 'gs_ua' (global uint)
-0:28 'gs_ub' (global uint)
-0:28 'gs_uc' (global uint)
+0:28 'gs_ua' (shared uint)
+0:28 'gs_ub' (shared uint)
+0:28 'gs_uc' (shared uint)
0:29 move second child to first child (temp uint)
0:29 'out_u1' (temp uint)
0:29 AtomicExchange (temp uint)
-0:29 'gs_ua' (global uint)
-0:29 'gs_ub' (global uint)
+0:29 'gs_ua' (shared uint)
+0:29 'gs_ub' (shared uint)
0:30 AtomicMax (global void)
-0:30 'gs_ua' (global uint)
-0:30 'gs_ub' (global uint)
+0:30 'gs_ua' (shared uint)
+0:30 'gs_ub' (shared uint)
0:31 move second child to first child (temp uint)
0:31 'out_u1' (temp uint)
0:31 AtomicMax (temp uint)
-0:31 'gs_ua' (global uint)
-0:31 'gs_ub' (global uint)
+0:31 'gs_ua' (shared uint)
+0:31 'gs_ub' (shared uint)
0:32 AtomicMin (global void)
-0:32 'gs_ua' (global uint)
-0:32 'gs_ub' (global uint)
+0:32 'gs_ua' (shared uint)
+0:32 'gs_ub' (shared uint)
0:33 move second child to first child (temp uint)
0:33 'out_u1' (temp uint)
0:33 AtomicMin (temp uint)
-0:33 'gs_ua' (global uint)
-0:33 'gs_ub' (global uint)
+0:33 'gs_ua' (shared uint)
+0:33 'gs_ub' (shared uint)
0:34 AtomicOr (global void)
-0:34 'gs_ua' (global uint)
-0:34 'gs_ub' (global uint)
+0:34 'gs_ua' (shared uint)
+0:34 'gs_ub' (shared uint)
0:35 move second child to first child (temp uint)
0:35 'out_u1' (temp uint)
0:35 AtomicOr (temp uint)
-0:35 'gs_ua' (global uint)
-0:35 'gs_ub' (global uint)
+0:35 'gs_ua' (shared uint)
+0:35 'gs_ub' (shared uint)
0:36 AtomicXor (global void)
-0:36 'gs_ua' (global uint)
-0:36 'gs_ub' (global uint)
+0:36 'gs_ua' (shared uint)
+0:36 'gs_ub' (shared uint)
0:37 move second child to first child (temp uint)
0:37 'out_u1' (temp uint)
0:37 AtomicXor (temp uint)
-0:37 'gs_ua' (global uint)
-0:37 'gs_ub' (global uint)
+0:37 'gs_ua' (shared uint)
+0:37 'gs_ub' (shared uint)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
@@ -94,64 +94,64 @@
0:55 all (global bool)
0:55 'inF0' (in 2-component vector of float)
0:58 AtomicAdd (global void)
-0:58 'gs_ua2' (global 2-component vector of uint)
-0:58 'gs_ub2' (global 2-component vector of uint)
+0:58 'gs_ua2' (shared 2-component vector of uint)
+0:58 'gs_ub2' (shared 2-component vector of uint)
0:59 move second child to first child (temp 2-component vector of uint)
0:59 'out_u2' (temp 2-component vector of uint)
0:59 AtomicAdd (temp 2-component vector of uint)
-0:59 'gs_ua2' (global 2-component vector of uint)
-0:59 'gs_ub2' (global 2-component vector of uint)
+0:59 'gs_ua2' (shared 2-component vector of uint)
+0:59 'gs_ub2' (shared 2-component vector of uint)
0:60 AtomicAnd (global void)
-0:60 'gs_ua2' (global 2-component vector of uint)
-0:60 'gs_ub2' (global 2-component vector of uint)
+0:60 'gs_ua2' (shared 2-component vector of uint)
+0:60 'gs_ub2' (shared 2-component vector of uint)
0:61 move second child to first child (temp 2-component vector of uint)
0:61 'out_u2' (temp 2-component vector of uint)
0:61 AtomicAnd (temp 2-component vector of uint)
-0:61 'gs_ua2' (global 2-component vector of uint)
-0:61 'gs_ub2' (global 2-component vector of uint)
+0:61 'gs_ua2' (shared 2-component vector of uint)
+0:61 'gs_ub2' (shared 2-component vector of uint)
0:62 move second child to first child (temp 2-component vector of uint)
0:62 'out_u2' (temp 2-component vector of uint)
0:62 AtomicCompSwap (temp 2-component vector of uint)
-0:62 'gs_ua2' (global 2-component vector of uint)
-0:62 'gs_ub2' (global 2-component vector of uint)
-0:62 'gs_uc2' (global 2-component vector of uint)
+0:62 'gs_ua2' (shared 2-component vector of uint)
+0:62 'gs_ub2' (shared 2-component vector of uint)
+0:62 'gs_uc2' (shared 2-component vector of uint)
0:63 move second child to first child (temp 2-component vector of uint)
0:63 'out_u2' (temp 2-component vector of uint)
0:63 AtomicExchange (temp 2-component vector of uint)
-0:63 'gs_ua2' (global 2-component vector of uint)
-0:63 'gs_ub2' (global 2-component vector of uint)
+0:63 'gs_ua2' (shared 2-component vector of uint)
+0:63 'gs_ub2' (shared 2-component vector of uint)
0:64 AtomicMax (global void)
-0:64 'gs_ua2' (global 2-component vector of uint)
-0:64 'gs_ub2' (global 2-component vector of uint)
+0:64 'gs_ua2' (shared 2-component vector of uint)
+0:64 'gs_ub2' (shared 2-component vector of uint)
0:65 move second child to first child (temp 2-component vector of uint)
0:65 'out_u2' (temp 2-component vector of uint)
0:65 AtomicMax (temp 2-component vector of uint)
-0:65 'gs_ua2' (global 2-component vector of uint)
-0:65 'gs_ub2' (global 2-component vector of uint)
+0:65 'gs_ua2' (shared 2-component vector of uint)
+0:65 'gs_ub2' (shared 2-component vector of uint)
0:66 AtomicMin (global void)
-0:66 'gs_ua2' (global 2-component vector of uint)
-0:66 'gs_ub2' (global 2-component vector of uint)
+0:66 'gs_ua2' (shared 2-component vector of uint)
+0:66 'gs_ub2' (shared 2-component vector of uint)
0:67 move second child to first child (temp 2-component vector of uint)
0:67 'out_u2' (temp 2-component vector of uint)
0:67 AtomicMin (temp 2-component vector of uint)
-0:67 'gs_ua2' (global 2-component vector of uint)
-0:67 'gs_ub2' (global 2-component vector of uint)
+0:67 'gs_ua2' (shared 2-component vector of uint)
+0:67 'gs_ub2' (shared 2-component vector of uint)
0:68 AtomicOr (global void)
-0:68 'gs_ua2' (global 2-component vector of uint)
-0:68 'gs_ub2' (global 2-component vector of uint)
+0:68 'gs_ua2' (shared 2-component vector of uint)
+0:68 'gs_ub2' (shared 2-component vector of uint)
0:69 move second child to first child (temp 2-component vector of uint)
0:69 'out_u2' (temp 2-component vector of uint)
0:69 AtomicOr (temp 2-component vector of uint)
-0:69 'gs_ua2' (global 2-component vector of uint)
-0:69 'gs_ub2' (global 2-component vector of uint)
+0:69 'gs_ua2' (shared 2-component vector of uint)
+0:69 'gs_ub2' (shared 2-component vector of uint)
0:70 AtomicXor (global void)
-0:70 'gs_ua2' (global 2-component vector of uint)
-0:70 'gs_ub2' (global 2-component vector of uint)
+0:70 'gs_ua2' (shared 2-component vector of uint)
+0:70 'gs_ub2' (shared 2-component vector of uint)
0:71 move second child to first child (temp 2-component vector of uint)
0:71 'out_u2' (temp 2-component vector of uint)
0:71 AtomicXor (temp 2-component vector of uint)
-0:71 'gs_ua2' (global 2-component vector of uint)
-0:71 'gs_ub2' (global 2-component vector of uint)
+0:71 'gs_ua2' (shared 2-component vector of uint)
+0:71 'gs_ub2' (shared 2-component vector of uint)
0:74 Branch: Return with expression
0:? Constant:
0:? 1.000000
@@ -167,64 +167,64 @@
0:82 all (global bool)
0:82 'inF0' (in 3-component vector of float)
0:85 AtomicAdd (global void)
-0:85 'gs_ua3' (global 3-component vector of uint)
-0:85 'gs_ub3' (global 3-component vector of uint)
+0:85 'gs_ua3' (shared 3-component vector of uint)
+0:85 'gs_ub3' (shared 3-component vector of uint)
0:86 move second child to first child (temp 3-component vector of uint)
0:86 'out_u3' (temp 3-component vector of uint)
0:86 AtomicAdd (temp 3-component vector of uint)
-0:86 'gs_ua3' (global 3-component vector of uint)
-0:86 'gs_ub3' (global 3-component vector of uint)
+0:86 'gs_ua3' (shared 3-component vector of uint)
+0:86 'gs_ub3' (shared 3-component vector of uint)
0:87 AtomicAnd (global void)
-0:87 'gs_ua3' (global 3-component vector of uint)
-0:87 'gs_ub3' (global 3-component vector of uint)
+0:87 'gs_ua3' (shared 3-component vector of uint)
+0:87 'gs_ub3' (shared 3-component vector of uint)
0:88 move second child to first child (temp 3-component vector of uint)
0:88 'out_u3' (temp 3-component vector of uint)
0:88 AtomicAnd (temp 3-component vector of uint)
-0:88 'gs_ua3' (global 3-component vector of uint)
-0:88 'gs_ub3' (global 3-component vector of uint)
+0:88 'gs_ua3' (shared 3-component vector of uint)
+0:88 'gs_ub3' (shared 3-component vector of uint)
0:89 move second child to first child (temp 3-component vector of uint)
0:89 'out_u3' (temp 3-component vector of uint)
0:89 AtomicCompSwap (temp 3-component vector of uint)
-0:89 'gs_ua3' (global 3-component vector of uint)
-0:89 'gs_ub3' (global 3-component vector of uint)
-0:89 'gs_uc3' (global 3-component vector of uint)
+0:89 'gs_ua3' (shared 3-component vector of uint)
+0:89 'gs_ub3' (shared 3-component vector of uint)
+0:89 'gs_uc3' (shared 3-component vector of uint)
0:90 move second child to first child (temp 3-component vector of uint)
0:90 'out_u3' (temp 3-component vector of uint)
0:90 AtomicExchange (temp 3-component vector of uint)
-0:90 'gs_ua3' (global 3-component vector of uint)
-0:90 'gs_ub3' (global 3-component vector of uint)
+0:90 'gs_ua3' (shared 3-component vector of uint)
+0:90 'gs_ub3' (shared 3-component vector of uint)
0:91 AtomicMax (global void)
-0:91 'gs_ua3' (global 3-component vector of uint)
-0:91 'gs_ub3' (global 3-component vector of uint)
+0:91 'gs_ua3' (shared 3-component vector of uint)
+0:91 'gs_ub3' (shared 3-component vector of uint)
0:92 move second child to first child (temp 3-component vector of uint)
0:92 'out_u3' (temp 3-component vector of uint)
0:92 AtomicMax (temp 3-component vector of uint)
-0:92 'gs_ua3' (global 3-component vector of uint)
-0:92 'gs_ub3' (global 3-component vector of uint)
+0:92 'gs_ua3' (shared 3-component vector of uint)
+0:92 'gs_ub3' (shared 3-component vector of uint)
0:93 AtomicMin (global void)
-0:93 'gs_ua3' (global 3-component vector of uint)
-0:93 'gs_ub3' (global 3-component vector of uint)
+0:93 'gs_ua3' (shared 3-component vector of uint)
+0:93 'gs_ub3' (shared 3-component vector of uint)
0:94 move second child to first child (temp 3-component vector of uint)
0:94 'out_u3' (temp 3-component vector of uint)
0:94 AtomicMin (temp 3-component vector of uint)
-0:94 'gs_ua3' (global 3-component vector of uint)
-0:94 'gs_ub3' (global 3-component vector of uint)
+0:94 'gs_ua3' (shared 3-component vector of uint)
+0:94 'gs_ub3' (shared 3-component vector of uint)
0:95 AtomicOr (global void)
-0:95 'gs_ua3' (global 3-component vector of uint)
-0:95 'gs_ub3' (global 3-component vector of uint)
+0:95 'gs_ua3' (shared 3-component vector of uint)
+0:95 'gs_ub3' (shared 3-component vector of uint)
0:96 move second child to first child (temp 3-component vector of uint)
0:96 'out_u3' (temp 3-component vector of uint)
0:96 AtomicOr (temp 3-component vector of uint)
-0:96 'gs_ua3' (global 3-component vector of uint)
-0:96 'gs_ub3' (global 3-component vector of uint)
+0:96 'gs_ua3' (shared 3-component vector of uint)
+0:96 'gs_ub3' (shared 3-component vector of uint)
0:97 AtomicXor (global void)
-0:97 'gs_ua3' (global 3-component vector of uint)
-0:97 'gs_ub3' (global 3-component vector of uint)
+0:97 'gs_ua3' (shared 3-component vector of uint)
+0:97 'gs_ub3' (shared 3-component vector of uint)
0:98 move second child to first child (temp 3-component vector of uint)
0:98 'out_u3' (temp 3-component vector of uint)
0:98 AtomicXor (temp 3-component vector of uint)
-0:98 'gs_ua3' (global 3-component vector of uint)
-0:98 'gs_ub3' (global 3-component vector of uint)
+0:98 'gs_ua3' (shared 3-component vector of uint)
+0:98 'gs_ub3' (shared 3-component vector of uint)
0:101 Branch: Return with expression
0:? Constant:
0:? 1.000000
@@ -241,64 +241,64 @@
0:109 all (global bool)
0:109 'inF0' (layout(location=0 ) in 4-component vector of float)
0:112 AtomicAdd (global void)
-0:112 'gs_ua4' (global 4-component vector of uint)
-0:112 'gs_ub4' (global 4-component vector of uint)
+0:112 'gs_ua4' (shared 4-component vector of uint)
+0:112 'gs_ub4' (shared 4-component vector of uint)
0:113 move second child to first child (temp 4-component vector of uint)
0:113 'out_u4' (temp 4-component vector of uint)
0:113 AtomicAdd (temp 4-component vector of uint)
-0:113 'gs_ua4' (global 4-component vector of uint)
-0:113 'gs_ub4' (global 4-component vector of uint)
+0:113 'gs_ua4' (shared 4-component vector of uint)
+0:113 'gs_ub4' (shared 4-component vector of uint)
0:114 AtomicAnd (global void)
-0:114 'gs_ua4' (global 4-component vector of uint)
-0:114 'gs_ub4' (global 4-component vector of uint)
+0:114 'gs_ua4' (shared 4-component vector of uint)
+0:114 'gs_ub4' (shared 4-component vector of uint)
0:115 move second child to first child (temp 4-component vector of uint)
0:115 'out_u4' (temp 4-component vector of uint)
0:115 AtomicAnd (temp 4-component vector of uint)
-0:115 'gs_ua4' (global 4-component vector of uint)
-0:115 'gs_ub4' (global 4-component vector of uint)
+0:115 'gs_ua4' (shared 4-component vector of uint)
+0:115 'gs_ub4' (shared 4-component vector of uint)
0:116 move second child to first child (temp 4-component vector of uint)
0:116 'out_u4' (temp 4-component vector of uint)
0:116 AtomicCompSwap (temp 4-component vector of uint)
-0:116 'gs_ua4' (global 4-component vector of uint)
-0:116 'gs_ub4' (global 4-component vector of uint)
-0:116 'gs_uc4' (global 4-component vector of uint)
+0:116 'gs_ua4' (shared 4-component vector of uint)
+0:116 'gs_ub4' (shared 4-component vector of uint)
+0:116 'gs_uc4' (shared 4-component vector of uint)
0:117 move second child to first child (temp 4-component vector of uint)
0:117 'out_u4' (temp 4-component vector of uint)
0:117 AtomicExchange (temp 4-component vector of uint)
-0:117 'gs_ua4' (global 4-component vector of uint)
-0:117 'gs_ub4' (global 4-component vector of uint)
+0:117 'gs_ua4' (shared 4-component vector of uint)
+0:117 'gs_ub4' (shared 4-component vector of uint)
0:118 AtomicMax (global void)
-0:118 'gs_ua4' (global 4-component vector of uint)
-0:118 'gs_ub4' (global 4-component vector of uint)
+0:118 'gs_ua4' (shared 4-component vector of uint)
+0:118 'gs_ub4' (shared 4-component vector of uint)
0:119 move second child to first child (temp 4-component vector of uint)
0:119 'out_u4' (temp 4-component vector of uint)
0:119 AtomicMax (temp 4-component vector of uint)
-0:119 'gs_ua4' (global 4-component vector of uint)
-0:119 'gs_ub4' (global 4-component vector of uint)
+0:119 'gs_ua4' (shared 4-component vector of uint)
+0:119 'gs_ub4' (shared 4-component vector of uint)
0:120 AtomicMin (global void)
-0:120 'gs_ua4' (global 4-component vector of uint)
-0:120 'gs_ub4' (global 4-component vector of uint)
+0:120 'gs_ua4' (shared 4-component vector of uint)
+0:120 'gs_ub4' (shared 4-component vector of uint)
0:121 move second child to first child (temp 4-component vector of uint)
0:121 'out_u4' (temp 4-component vector of uint)
0:121 AtomicMin (temp 4-component vector of uint)
-0:121 'gs_ua4' (global 4-component vector of uint)
-0:121 'gs_ub4' (global 4-component vector of uint)
+0:121 'gs_ua4' (shared 4-component vector of uint)
+0:121 'gs_ub4' (shared 4-component vector of uint)
0:122 AtomicOr (global void)
-0:122 'gs_ua4' (global 4-component vector of uint)
-0:122 'gs_ub4' (global 4-component vector of uint)
+0:122 'gs_ua4' (shared 4-component vector of uint)
+0:122 'gs_ub4' (shared 4-component vector of uint)
0:123 move second child to first child (temp 4-component vector of uint)
0:123 'out_u4' (temp 4-component vector of uint)
0:123 AtomicOr (temp 4-component vector of uint)
-0:123 'gs_ua4' (global 4-component vector of uint)
-0:123 'gs_ub4' (global 4-component vector of uint)
+0:123 'gs_ua4' (shared 4-component vector of uint)
+0:123 'gs_ub4' (shared 4-component vector of uint)
0:124 AtomicXor (global void)
-0:124 'gs_ua4' (global 4-component vector of uint)
-0:124 'gs_ub4' (global 4-component vector of uint)
+0:124 'gs_ua4' (shared 4-component vector of uint)
+0:124 'gs_ub4' (shared 4-component vector of uint)
0:125 move second child to first child (temp 4-component vector of uint)
0:125 'out_u4' (temp 4-component vector of uint)
0:125 AtomicXor (temp 4-component vector of uint)
-0:125 'gs_ua4' (global 4-component vector of uint)
-0:125 'gs_ub4' (global 4-component vector of uint)
+0:125 'gs_ua4' (shared 4-component vector of uint)
+0:125 'gs_ub4' (shared 4-component vector of uint)
0:128 Sequence
0:128 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@@ -309,18 +309,18 @@
0:? 4.000000
0:128 Branch: Return
0:? Linker Objects
-0:? 'gs_ua' (global uint)
-0:? 'gs_ub' (global uint)
-0:? 'gs_uc' (global uint)
-0:? 'gs_ua2' (global 2-component vector of uint)
-0:? 'gs_ub2' (global 2-component vector of uint)
-0:? 'gs_uc2' (global 2-component vector of uint)
-0:? 'gs_ua3' (global 3-component vector of uint)
-0:? 'gs_ub3' (global 3-component vector of uint)
-0:? 'gs_uc3' (global 3-component vector of uint)
-0:? 'gs_ua4' (global 4-component vector of uint)
-0:? 'gs_ub4' (global 4-component vector of uint)
-0:? 'gs_uc4' (global 4-component vector of uint)
+0:? 'gs_ua' (shared uint)
+0:? 'gs_ub' (shared uint)
+0:? 'gs_uc' (shared uint)
+0:? 'gs_ua2' (shared 2-component vector of uint)
+0:? 'gs_ub2' (shared 2-component vector of uint)
+0:? 'gs_uc2' (shared 2-component vector of uint)
+0:? 'gs_ua3' (shared 3-component vector of uint)
+0:? 'gs_ub3' (shared 3-component vector of uint)
+0:? 'gs_uc3' (shared 3-component vector of uint)
+0:? 'gs_ua4' (shared 4-component vector of uint)
+0:? 'gs_ub4' (shared 4-component vector of uint)
+0:? 'gs_uc4' (shared 4-component vector of uint)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
@@ -346,64 +346,64 @@
0:21 all (global bool)
0:21 'inF0' (in float)
0:24 AtomicAdd (global void)
-0:24 'gs_ua' (global uint)
-0:24 'gs_ub' (global uint)
+0:24 'gs_ua' (shared uint)
+0:24 'gs_ub' (shared uint)
0:25 move second child to first child (temp uint)
0:25 'out_u1' (temp uint)
0:25 AtomicAdd (temp uint)
-0:25 'gs_ua' (global uint)
-0:25 'gs_ub' (global uint)
+0:25 'gs_ua' (shared uint)
+0:25 'gs_ub' (shared uint)
0:26 AtomicAnd (global void)
-0:26 'gs_ua' (global uint)
-0:26 'gs_ub' (global uint)
+0:26 'gs_ua' (shared uint)
+0:26 'gs_ub' (shared uint)
0:27 move second child to first child (temp uint)
0:27 'out_u1' (temp uint)
0:27 AtomicAnd (temp uint)
-0:27 'gs_ua' (global uint)
-0:27 'gs_ub' (global uint)
+0:27 'gs_ua' (shared uint)
+0:27 'gs_ub' (shared uint)
0:28 move second child to first child (temp uint)
0:28 'out_u1' (temp uint)
0:28 AtomicCompSwap (temp uint)
-0:28 'gs_ua' (global uint)
-0:28 'gs_ub' (global uint)
-0:28 'gs_uc' (global uint)
+0:28 'gs_ua' (shared uint)
+0:28 'gs_ub' (shared uint)
+0:28 'gs_uc' (shared uint)
0:29 move second child to first child (temp uint)
0:29 'out_u1' (temp uint)
0:29 AtomicExchange (temp uint)
-0:29 'gs_ua' (global uint)
-0:29 'gs_ub' (global uint)
+0:29 'gs_ua' (shared uint)
+0:29 'gs_ub' (shared uint)
0:30 AtomicMax (global void)
-0:30 'gs_ua' (global uint)
-0:30 'gs_ub' (global uint)
+0:30 'gs_ua' (shared uint)
+0:30 'gs_ub' (shared uint)
0:31 move second child to first child (temp uint)
0:31 'out_u1' (temp uint)
0:31 AtomicMax (temp uint)
-0:31 'gs_ua' (global uint)
-0:31 'gs_ub' (global uint)
+0:31 'gs_ua' (shared uint)
+0:31 'gs_ub' (shared uint)
0:32 AtomicMin (global void)
-0:32 'gs_ua' (global uint)
-0:32 'gs_ub' (global uint)
+0:32 'gs_ua' (shared uint)
+0:32 'gs_ub' (shared uint)
0:33 move second child to first child (temp uint)
0:33 'out_u1' (temp uint)
0:33 AtomicMin (temp uint)
-0:33 'gs_ua' (global uint)
-0:33 'gs_ub' (global uint)
+0:33 'gs_ua' (shared uint)
+0:33 'gs_ub' (shared uint)
0:34 AtomicOr (global void)
-0:34 'gs_ua' (global uint)
-0:34 'gs_ub' (global uint)
+0:34 'gs_ua' (shared uint)
+0:34 'gs_ub' (shared uint)
0:35 move second child to first child (temp uint)
0:35 'out_u1' (temp uint)
0:35 AtomicOr (temp uint)
-0:35 'gs_ua' (global uint)
-0:35 'gs_ub' (global uint)
+0:35 'gs_ua' (shared uint)
+0:35 'gs_ub' (shared uint)
0:36 AtomicXor (global void)
-0:36 'gs_ua' (global uint)
-0:36 'gs_ub' (global uint)
+0:36 'gs_ua' (shared uint)
+0:36 'gs_ub' (shared uint)
0:37 move second child to first child (temp uint)
0:37 'out_u1' (temp uint)
0:37 AtomicXor (temp uint)
-0:37 'gs_ua' (global uint)
-0:37 'gs_ub' (global uint)
+0:37 'gs_ua' (shared uint)
+0:37 'gs_ub' (shared uint)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
@@ -427,64 +427,64 @@
0:55 all (global bool)
0:55 'inF0' (in 2-component vector of float)
0:58 AtomicAdd (global void)
-0:58 'gs_ua2' (global 2-component vector of uint)
-0:58 'gs_ub2' (global 2-component vector of uint)
+0:58 'gs_ua2' (shared 2-component vector of uint)
+0:58 'gs_ub2' (shared 2-component vector of uint)
0:59 move second child to first child (temp 2-component vector of uint)
0:59 'out_u2' (temp 2-component vector of uint)
0:59 AtomicAdd (temp 2-component vector of uint)
-0:59 'gs_ua2' (global 2-component vector of uint)
-0:59 'gs_ub2' (global 2-component vector of uint)
+0:59 'gs_ua2' (shared 2-component vector of uint)
+0:59 'gs_ub2' (shared 2-component vector of uint)
0:60 AtomicAnd (global void)
-0:60 'gs_ua2' (global 2-component vector of uint)
-0:60 'gs_ub2' (global 2-component vector of uint)
+0:60 'gs_ua2' (shared 2-component vector of uint)
+0:60 'gs_ub2' (shared 2-component vector of uint)
0:61 move second child to first child (temp 2-component vector of uint)
0:61 'out_u2' (temp 2-component vector of uint)
0:61 AtomicAnd (temp 2-component vector of uint)
-0:61 'gs_ua2' (global 2-component vector of uint)
-0:61 'gs_ub2' (global 2-component vector of uint)
+0:61 'gs_ua2' (shared 2-component vector of uint)
+0:61 'gs_ub2' (shared 2-component vector of uint)
0:62 move second child to first child (temp 2-component vector of uint)
0:62 'out_u2' (temp 2-component vector of uint)
0:62 AtomicCompSwap (temp 2-component vector of uint)
-0:62 'gs_ua2' (global 2-component vector of uint)
-0:62 'gs_ub2' (global 2-component vector of uint)
-0:62 'gs_uc2' (global 2-component vector of uint)
+0:62 'gs_ua2' (shared 2-component vector of uint)
+0:62 'gs_ub2' (shared 2-component vector of uint)
+0:62 'gs_uc2' (shared 2-component vector of uint)
0:63 move second child to first child (temp 2-component vector of uint)
0:63 'out_u2' (temp 2-component vector of uint)
0:63 AtomicExchange (temp 2-component vector of uint)
-0:63 'gs_ua2' (global 2-component vector of uint)
-0:63 'gs_ub2' (global 2-component vector of uint)
+0:63 'gs_ua2' (shared 2-component vector of uint)
+0:63 'gs_ub2' (shared 2-component vector of uint)
0:64 AtomicMax (global void)
-0:64 'gs_ua2' (global 2-component vector of uint)
-0:64 'gs_ub2' (global 2-component vector of uint)
+0:64 'gs_ua2' (shared 2-component vector of uint)
+0:64 'gs_ub2' (shared 2-component vector of uint)
0:65 move second child to first child (temp 2-component vector of uint)
0:65 'out_u2' (temp 2-component vector of uint)
0:65 AtomicMax (temp 2-component vector of uint)
-0:65 'gs_ua2' (global 2-component vector of uint)
-0:65 'gs_ub2' (global 2-component vector of uint)
+0:65 'gs_ua2' (shared 2-component vector of uint)
+0:65 'gs_ub2' (shared 2-component vector of uint)
0:66 AtomicMin (global void)
-0:66 'gs_ua2' (global 2-component vector of uint)
-0:66 'gs_ub2' (global 2-component vector of uint)
+0:66 'gs_ua2' (shared 2-component vector of uint)
+0:66 'gs_ub2' (shared 2-component vector of uint)
0:67 move second child to first child (temp 2-component vector of uint)
0:67 'out_u2' (temp 2-component vector of uint)
0:67 AtomicMin (temp 2-component vector of uint)
-0:67 'gs_ua2' (global 2-component vector of uint)
-0:67 'gs_ub2' (global 2-component vector of uint)
+0:67 'gs_ua2' (shared 2-component vector of uint)
+0:67 'gs_ub2' (shared 2-component vector of uint)
0:68 AtomicOr (global void)
-0:68 'gs_ua2' (global 2-component vector of uint)
-0:68 'gs_ub2' (global 2-component vector of uint)
+0:68 'gs_ua2' (shared 2-component vector of uint)
+0:68 'gs_ub2' (shared 2-component vector of uint)
0:69 move second child to first child (temp 2-component vector of uint)
0:69 'out_u2' (temp 2-component vector of uint)
0:69 AtomicOr (temp 2-component vector of uint)
-0:69 'gs_ua2' (global 2-component vector of uint)
-0:69 'gs_ub2' (global 2-component vector of uint)
+0:69 'gs_ua2' (shared 2-component vector of uint)
+0:69 'gs_ub2' (shared 2-component vector of uint)
0:70 AtomicXor (global void)
-0:70 'gs_ua2' (global 2-component vector of uint)
-0:70 'gs_ub2' (global 2-component vector of uint)
+0:70 'gs_ua2' (shared 2-component vector of uint)
+0:70 'gs_ub2' (shared 2-component vector of uint)
0:71 move second child to first child (temp 2-component vector of uint)
0:71 'out_u2' (temp 2-component vector of uint)
0:71 AtomicXor (temp 2-component vector of uint)
-0:71 'gs_ua2' (global 2-component vector of uint)
-0:71 'gs_ub2' (global 2-component vector of uint)
+0:71 'gs_ua2' (shared 2-component vector of uint)
+0:71 'gs_ub2' (shared 2-component vector of uint)
0:74 Branch: Return with expression
0:? Constant:
0:? 1.000000
@@ -500,64 +500,64 @@
0:82 all (global bool)
0:82 'inF0' (in 3-component vector of float)
0:85 AtomicAdd (global void)
-0:85 'gs_ua3' (global 3-component vector of uint)
-0:85 'gs_ub3' (global 3-component vector of uint)
+0:85 'gs_ua3' (shared 3-component vector of uint)
+0:85 'gs_ub3' (shared 3-component vector of uint)
0:86 move second child to first child (temp 3-component vector of uint)
0:86 'out_u3' (temp 3-component vector of uint)
0:86 AtomicAdd (temp 3-component vector of uint)
-0:86 'gs_ua3' (global 3-component vector of uint)
-0:86 'gs_ub3' (global 3-component vector of uint)
+0:86 'gs_ua3' (shared 3-component vector of uint)
+0:86 'gs_ub3' (shared 3-component vector of uint)
0:87 AtomicAnd (global void)
-0:87 'gs_ua3' (global 3-component vector of uint)
-0:87 'gs_ub3' (global 3-component vector of uint)
+0:87 'gs_ua3' (shared 3-component vector of uint)
+0:87 'gs_ub3' (shared 3-component vector of uint)
0:88 move second child to first child (temp 3-component vector of uint)
0:88 'out_u3' (temp 3-component vector of uint)
0:88 AtomicAnd (temp 3-component vector of uint)
-0:88 'gs_ua3' (global 3-component vector of uint)
-0:88 'gs_ub3' (global 3-component vector of uint)
+0:88 'gs_ua3' (shared 3-component vector of uint)
+0:88 'gs_ub3' (shared 3-component vector of uint)
0:89 move second child to first child (temp 3-component vector of uint)
0:89 'out_u3' (temp 3-component vector of uint)
0:89 AtomicCompSwap (temp 3-component vector of uint)
-0:89 'gs_ua3' (global 3-component vector of uint)
-0:89 'gs_ub3' (global 3-component vector of uint)
-0:89 'gs_uc3' (global 3-component vector of uint)
+0:89 'gs_ua3' (shared 3-component vector of uint)
+0:89 'gs_ub3' (shared 3-component vector of uint)
+0:89 'gs_uc3' (shared 3-component vector of uint)
0:90 move second child to first child (temp 3-component vector of uint)
0:90 'out_u3' (temp 3-component vector of uint)
0:90 AtomicExchange (temp 3-component vector of uint)
-0:90 'gs_ua3' (global 3-component vector of uint)
-0:90 'gs_ub3' (global 3-component vector of uint)
+0:90 'gs_ua3' (shared 3-component vector of uint)
+0:90 'gs_ub3' (shared 3-component vector of uint)
0:91 AtomicMax (global void)
-0:91 'gs_ua3' (global 3-component vector of uint)
-0:91 'gs_ub3' (global 3-component vector of uint)
+0:91 'gs_ua3' (shared 3-component vector of uint)
+0:91 'gs_ub3' (shared 3-component vector of uint)
0:92 move second child to first child (temp 3-component vector of uint)
0:92 'out_u3' (temp 3-component vector of uint)
0:92 AtomicMax (temp 3-component vector of uint)
-0:92 'gs_ua3' (global 3-component vector of uint)
-0:92 'gs_ub3' (global 3-component vector of uint)
+0:92 'gs_ua3' (shared 3-component vector of uint)
+0:92 'gs_ub3' (shared 3-component vector of uint)
0:93 AtomicMin (global void)
-0:93 'gs_ua3' (global 3-component vector of uint)
-0:93 'gs_ub3' (global 3-component vector of uint)
+0:93 'gs_ua3' (shared 3-component vector of uint)
+0:93 'gs_ub3' (shared 3-component vector of uint)
0:94 move second child to first child (temp 3-component vector of uint)
0:94 'out_u3' (temp 3-component vector of uint)
0:94 AtomicMin (temp 3-component vector of uint)
-0:94 'gs_ua3' (global 3-component vector of uint)
-0:94 'gs_ub3' (global 3-component vector of uint)
+0:94 'gs_ua3' (shared 3-component vector of uint)
+0:94 'gs_ub3' (shared 3-component vector of uint)
0:95 AtomicOr (global void)
-0:95 'gs_ua3' (global 3-component vector of uint)
-0:95 'gs_ub3' (global 3-component vector of uint)
+0:95 'gs_ua3' (shared 3-component vector of uint)
+0:95 'gs_ub3' (shared 3-component vector of uint)
0:96 move second child to first child (temp 3-component vector of uint)
0:96 'out_u3' (temp 3-component vector of uint)
0:96 AtomicOr (temp 3-component vector of uint)
-0:96 'gs_ua3' (global 3-component vector of uint)
-0:96 'gs_ub3' (global 3-component vector of uint)
+0:96 'gs_ua3' (shared 3-component vector of uint)
+0:96 'gs_ub3' (shared 3-component vector of uint)
0:97 AtomicXor (global void)
-0:97 'gs_ua3' (global 3-component vector of uint)
-0:97 'gs_ub3' (global 3-component vector of uint)
+0:97 'gs_ua3' (shared 3-component vector of uint)
+0:97 'gs_ub3' (shared 3-component vector of uint)
0:98 move second child to first child (temp 3-component vector of uint)
0:98 'out_u3' (temp 3-component vector of uint)
0:98 AtomicXor (temp 3-component vector of uint)
-0:98 'gs_ua3' (global 3-component vector of uint)
-0:98 'gs_ub3' (global 3-component vector of uint)
+0:98 'gs_ua3' (shared 3-component vector of uint)
+0:98 'gs_ub3' (shared 3-component vector of uint)
0:101 Branch: Return with expression
0:? Constant:
0:? 1.000000
@@ -574,64 +574,64 @@
0:109 all (global bool)
0:109 'inF0' (layout(location=0 ) in 4-component vector of float)
0:112 AtomicAdd (global void)
-0:112 'gs_ua4' (global 4-component vector of uint)
-0:112 'gs_ub4' (global 4-component vector of uint)
+0:112 'gs_ua4' (shared 4-component vector of uint)
+0:112 'gs_ub4' (shared 4-component vector of uint)
0:113 move second child to first child (temp 4-component vector of uint)
0:113 'out_u4' (temp 4-component vector of uint)
0:113 AtomicAdd (temp 4-component vector of uint)
-0:113 'gs_ua4' (global 4-component vector of uint)
-0:113 'gs_ub4' (global 4-component vector of uint)
+0:113 'gs_ua4' (shared 4-component vector of uint)
+0:113 'gs_ub4' (shared 4-component vector of uint)
0:114 AtomicAnd (global void)
-0:114 'gs_ua4' (global 4-component vector of uint)
-0:114 'gs_ub4' (global 4-component vector of uint)
+0:114 'gs_ua4' (shared 4-component vector of uint)
+0:114 'gs_ub4' (shared 4-component vector of uint)
0:115 move second child to first child (temp 4-component vector of uint)
0:115 'out_u4' (temp 4-component vector of uint)
0:115 AtomicAnd (temp 4-component vector of uint)
-0:115 'gs_ua4' (global 4-component vector of uint)
-0:115 'gs_ub4' (global 4-component vector of uint)
+0:115 'gs_ua4' (shared 4-component vector of uint)
+0:115 'gs_ub4' (shared 4-component vector of uint)
0:116 move second child to first child (temp 4-component vector of uint)
0:116 'out_u4' (temp 4-component vector of uint)
0:116 AtomicCompSwap (temp 4-component vector of uint)
-0:116 'gs_ua4' (global 4-component vector of uint)
-0:116 'gs_ub4' (global 4-component vector of uint)
-0:116 'gs_uc4' (global 4-component vector of uint)
+0:116 'gs_ua4' (shared 4-component vector of uint)
+0:116 'gs_ub4' (shared 4-component vector of uint)
+0:116 'gs_uc4' (shared 4-component vector of uint)
0:117 move second child to first child (temp 4-component vector of uint)
0:117 'out_u4' (temp 4-component vector of uint)
0:117 AtomicExchange (temp 4-component vector of uint)
-0:117 'gs_ua4' (global 4-component vector of uint)
-0:117 'gs_ub4' (global 4-component vector of uint)
+0:117 'gs_ua4' (shared 4-component vector of uint)
+0:117 'gs_ub4' (shared 4-component vector of uint)
0:118 AtomicMax (global void)
-0:118 'gs_ua4' (global 4-component vector of uint)
-0:118 'gs_ub4' (global 4-component vector of uint)
+0:118 'gs_ua4' (shared 4-component vector of uint)
+0:118 'gs_ub4' (shared 4-component vector of uint)
0:119 move second child to first child (temp 4-component vector of uint)
0:119 'out_u4' (temp 4-component vector of uint)
0:119 AtomicMax (temp 4-component vector of uint)
-0:119 'gs_ua4' (global 4-component vector of uint)
-0:119 'gs_ub4' (global 4-component vector of uint)
+0:119 'gs_ua4' (shared 4-component vector of uint)
+0:119 'gs_ub4' (shared 4-component vector of uint)
0:120 AtomicMin (global void)
-0:120 'gs_ua4' (global 4-component vector of uint)
-0:120 'gs_ub4' (global 4-component vector of uint)
+0:120 'gs_ua4' (shared 4-component vector of uint)
+0:120 'gs_ub4' (shared 4-component vector of uint)
0:121 move second child to first child (temp 4-component vector of uint)
0:121 'out_u4' (temp 4-component vector of uint)
0:121 AtomicMin (temp 4-component vector of uint)
-0:121 'gs_ua4' (global 4-component vector of uint)
-0:121 'gs_ub4' (global 4-component vector of uint)
+0:121 'gs_ua4' (shared 4-component vector of uint)
+0:121 'gs_ub4' (shared 4-component vector of uint)
0:122 AtomicOr (global void)
-0:122 'gs_ua4' (global 4-component vector of uint)
-0:122 'gs_ub4' (global 4-component vector of uint)
+0:122 'gs_ua4' (shared 4-component vector of uint)
+0:122 'gs_ub4' (shared 4-component vector of uint)
0:123 move second child to first child (temp 4-component vector of uint)
0:123 'out_u4' (temp 4-component vector of uint)
0:123 AtomicOr (temp 4-component vector of uint)
-0:123 'gs_ua4' (global 4-component vector of uint)
-0:123 'gs_ub4' (global 4-component vector of uint)
+0:123 'gs_ua4' (shared 4-component vector of uint)
+0:123 'gs_ub4' (shared 4-component vector of uint)
0:124 AtomicXor (global void)
-0:124 'gs_ua4' (global 4-component vector of uint)
-0:124 'gs_ub4' (global 4-component vector of uint)
+0:124 'gs_ua4' (shared 4-component vector of uint)
+0:124 'gs_ub4' (shared 4-component vector of uint)
0:125 move second child to first child (temp 4-component vector of uint)
0:125 'out_u4' (temp 4-component vector of uint)
0:125 AtomicXor (temp 4-component vector of uint)
-0:125 'gs_ua4' (global 4-component vector of uint)
-0:125 'gs_ub4' (global 4-component vector of uint)
+0:125 'gs_ua4' (shared 4-component vector of uint)
+0:125 'gs_ub4' (shared 4-component vector of uint)
0:128 Sequence
0:128 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@@ -642,18 +642,18 @@
0:? 4.000000
0:128 Branch: Return
0:? Linker Objects
-0:? 'gs_ua' (global uint)
-0:? 'gs_ub' (global uint)
-0:? 'gs_uc' (global uint)
-0:? 'gs_ua2' (global 2-component vector of uint)
-0:? 'gs_ub2' (global 2-component vector of uint)
-0:? 'gs_uc2' (global 2-component vector of uint)
-0:? 'gs_ua3' (global 3-component vector of uint)
-0:? 'gs_ub3' (global 3-component vector of uint)
-0:? 'gs_uc3' (global 3-component vector of uint)
-0:? 'gs_ua4' (global 4-component vector of uint)
-0:? 'gs_ub4' (global 4-component vector of uint)
-0:? 'gs_uc4' (global 4-component vector of uint)
+0:? 'gs_ua' (shared uint)
+0:? 'gs_ub' (shared uint)
+0:? 'gs_uc' (shared uint)
+0:? 'gs_ua2' (shared 2-component vector of uint)
+0:? 'gs_ub2' (shared 2-component vector of uint)
+0:? 'gs_uc2' (shared 2-component vector of uint)
+0:? 'gs_ua3' (shared 3-component vector of uint)
+0:? 'gs_ub3' (shared 3-component vector of uint)
+0:? 'gs_uc3' (shared 3-component vector of uint)
+0:? 'gs_ua4' (shared 4-component vector of uint)
+0:? 'gs_ub4' (shared 4-component vector of uint)
+0:? 'gs_uc4' (shared 4-component vector of uint)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
@@ -740,35 +740,35 @@
39: TypePointer Function 38(ivec3)
40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
49: TypeBool
- 51: TypePointer Private 8(int)
- 52(gs_ua): 51(ptr) Variable Private
- 53(gs_ub): 51(ptr) Variable Private
+ 51: TypePointer Workgroup 8(int)
+ 52(gs_ua): 51(ptr) Variable Workgroup
+ 53(gs_ub): 51(ptr) Variable Workgroup
55: 8(int) Constant 1
56: 8(int) Constant 0
- 66(gs_uc): 51(ptr) Variable Private
+ 66(gs_uc): 51(ptr) Variable Workgroup
87: 6(float) Constant 0
- 94: TypePointer Private 26(ivec2)
- 95(gs_ua2): 94(ptr) Variable Private
- 96(gs_ub2): 94(ptr) Variable Private
- 107(gs_uc2): 94(ptr) Variable Private
+ 94: TypePointer Workgroup 26(ivec2)
+ 95(gs_ua2): 94(ptr) Variable Workgroup
+ 96(gs_ub2): 94(ptr) Variable Workgroup
+ 107(gs_uc2): 94(ptr) Variable Workgroup
128: 6(float) Constant 1065353216
129: 6(float) Constant 1073741824
130: 24(fvec2) ConstantComposite 128 129
- 135: TypePointer Private 38(ivec3)
- 136(gs_ua3): 135(ptr) Variable Private
- 137(gs_ub3): 135(ptr) Variable Private
- 148(gs_uc3): 135(ptr) Variable Private
+ 135: TypePointer Workgroup 38(ivec3)
+ 136(gs_ua3): 135(ptr) Variable Workgroup
+ 137(gs_ub3): 135(ptr) Variable Workgroup
+ 148(gs_uc3): 135(ptr) Variable Workgroup
169: 6(float) Constant 1077936128
170: 36(fvec3) ConstantComposite 128 129 169
173: TypeVector 6(float) 4
174: TypePointer Input 173(fvec4)
175(inF0): 174(ptr) Variable Input
178: TypeVector 8(int) 4
- 179: TypePointer Private 178(ivec4)
- 180(gs_ua4): 179(ptr) Variable Private
- 181(gs_ub4): 179(ptr) Variable Private
+ 179: TypePointer Workgroup 178(ivec4)
+ 180(gs_ua4): 179(ptr) Variable Workgroup
+ 181(gs_ub4): 179(ptr) Variable Workgroup
184: TypePointer Function 178(ivec4)
- 193(gs_uc4): 179(ptr) Variable Private
+ 193(gs_uc4): 179(ptr) Variable Workgroup
214: TypePointer Output 173(fvec4)
215(@entryPointOutput): 214(ptr) Variable Output
216: 6(float) Constant 1082130432
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index 4009d8d..d5a0f99 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -2782,18 +2782,18 @@
0:492 0 (const int)
0:492 Branch: Return
0:? Linker Objects
-0:? 'gs_ua' (global uint)
-0:? 'gs_ub' (global uint)
-0:? 'gs_uc' (global uint)
-0:? 'gs_ua2' (global 2-component vector of uint)
-0:? 'gs_ub2' (global 2-component vector of uint)
-0:? 'gs_uc2' (global 2-component vector of uint)
-0:? 'gs_ua3' (global 3-component vector of uint)
-0:? 'gs_ub3' (global 3-component vector of uint)
-0:? 'gs_uc3' (global 3-component vector of uint)
-0:? 'gs_ua4' (global 4-component vector of uint)
-0:? 'gs_ub4' (global 4-component vector of uint)
-0:? 'gs_uc4' (global 4-component vector of uint)
+0:? 'gs_ua' (shared uint)
+0:? 'gs_ub' (shared uint)
+0:? 'gs_uc' (shared uint)
+0:? 'gs_ua2' (shared 2-component vector of uint)
+0:? 'gs_ub2' (shared 2-component vector of uint)
+0:? 'gs_uc2' (shared 2-component vector of uint)
+0:? 'gs_ua3' (shared 3-component vector of uint)
+0:? 'gs_ub3' (shared 3-component vector of uint)
+0:? 'gs_uc3' (shared 3-component vector of uint)
+0:? 'gs_ua4' (shared 4-component vector of uint)
+0:? 'gs_ub4' (shared 4-component vector of uint)
+0:? 'gs_uc4' (shared 4-component vector of uint)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
@@ -5583,18 +5583,18 @@
0:492 0 (const int)
0:492 Branch: Return
0:? Linker Objects
-0:? 'gs_ua' (global uint)
-0:? 'gs_ub' (global uint)
-0:? 'gs_uc' (global uint)
-0:? 'gs_ua2' (global 2-component vector of uint)
-0:? 'gs_ub2' (global 2-component vector of uint)
-0:? 'gs_uc2' (global 2-component vector of uint)
-0:? 'gs_ua3' (global 3-component vector of uint)
-0:? 'gs_ub3' (global 3-component vector of uint)
-0:? 'gs_uc3' (global 3-component vector of uint)
-0:? 'gs_ua4' (global 4-component vector of uint)
-0:? 'gs_ub4' (global 4-component vector of uint)
-0:? 'gs_uc4' (global 4-component vector of uint)
+0:? 'gs_ua' (shared uint)
+0:? 'gs_ub' (shared uint)
+0:? 'gs_uc' (shared uint)
+0:? 'gs_ua2' (shared 2-component vector of uint)
+0:? 'gs_ub2' (shared 2-component vector of uint)
+0:? 'gs_uc2' (shared 2-component vector of uint)
+0:? 'gs_ua3' (shared 3-component vector of uint)
+0:? 'gs_ub3' (shared 3-component vector of uint)
+0:? 'gs_uc3' (shared 3-component vector of uint)
+0:? 'gs_ua4' (shared 4-component vector of uint)
+0:? 'gs_ub4' (shared 4-component vector of uint)
+0:? 'gs_uc4' (shared 4-component vector of uint)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
@@ -6250,22 +6250,22 @@
1802: 48(fvec4) ConstantComposite 284 284 284 284
1804: TypePointer Output 48(fvec4)
1805(color): 1804(ptr) Variable Output
- 1809: TypePointer Private 8(int)
- 1810(gs_ua): 1809(ptr) Variable Private
- 1811(gs_ub): 1809(ptr) Variable Private
- 1812(gs_uc): 1809(ptr) Variable Private
- 1813: TypePointer Private 26(ivec2)
- 1814(gs_ua2): 1813(ptr) Variable Private
- 1815(gs_ub2): 1813(ptr) Variable Private
- 1816(gs_uc2): 1813(ptr) Variable Private
- 1817: TypePointer Private 38(ivec3)
- 1818(gs_ua3): 1817(ptr) Variable Private
- 1819(gs_ub3): 1817(ptr) Variable Private
- 1820(gs_uc3): 1817(ptr) Variable Private
- 1821: TypePointer Private 50(ivec4)
- 1822(gs_ua4): 1821(ptr) Variable Private
- 1823(gs_ub4): 1821(ptr) Variable Private
- 1824(gs_uc4): 1821(ptr) Variable Private
+ 1809: TypePointer Workgroup 8(int)
+ 1810(gs_ua): 1809(ptr) Variable Workgroup
+ 1811(gs_ub): 1809(ptr) Variable Workgroup
+ 1812(gs_uc): 1809(ptr) Variable Workgroup
+ 1813: TypePointer Workgroup 26(ivec2)
+ 1814(gs_ua2): 1813(ptr) Variable Workgroup
+ 1815(gs_ub2): 1813(ptr) Variable Workgroup
+ 1816(gs_uc2): 1813(ptr) Variable Workgroup
+ 1817: TypePointer Workgroup 38(ivec3)
+ 1818(gs_ua3): 1817(ptr) Variable Workgroup
+ 1819(gs_ub3): 1817(ptr) Variable Workgroup
+ 1820(gs_uc3): 1817(ptr) Variable Workgroup
+ 1821: TypePointer Workgroup 50(ivec4)
+ 1822(gs_ua4): 1821(ptr) Variable Workgroup
+ 1823(gs_ub4): 1821(ptr) Variable Workgroup
+ 1824(gs_uc4): 1821(ptr) Variable Workgroup
4(main): 2 Function None 3
5: Label
1800(ps_output): 1799(ptr) Variable Function
diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
index 77f4fe8..9c1b4ad 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -5,7 +5,7 @@
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
-0:32 textureFetch (global 4-component vector of float)
+0:32 textureFetch (temp 4-component vector of float)
0:32 'g_tTex2dmsf4' (uniform texture2DMS)
0:32 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -13,7 +13,7 @@
0:32 1 (const uint)
0:32 Constant:
0:32 3 (const int)
-0:33 textureFetch (global 4-component vector of int)
+0:33 textureFetch (temp 4-component vector of int)
0:33 'g_tTex2dmsi4' (uniform itexture2DMS)
0:33 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -21,7 +21,7 @@
0:33 1 (const uint)
0:33 Constant:
0:33 3 (const int)
-0:34 textureFetch (global 4-component vector of uint)
+0:34 textureFetch (temp 4-component vector of uint)
0:34 'g_tTex2dmsu4' (uniform utexture2DMS)
0:34 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -29,7 +29,7 @@
0:34 1 (const uint)
0:34 Constant:
0:34 3 (const int)
-0:37 textureFetchOffset (global 4-component vector of float)
+0:37 textureFetchOffset (temp 4-component vector of float)
0:37 'g_tTex2dmsf4' (uniform texture2DMS)
0:37 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -41,7 +41,7 @@
0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:37 Constant:
0:37 5 (const uint)
-0:38 textureFetchOffset (global 4-component vector of int)
+0:38 textureFetchOffset (temp 4-component vector of int)
0:38 'g_tTex2dmsi4' (uniform itexture2DMS)
0:38 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -53,7 +53,7 @@
0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:38 Constant:
0:38 5 (const uint)
-0:39 textureFetchOffset (global 4-component vector of uint)
+0:39 textureFetchOffset (temp 4-component vector of uint)
0:39 'g_tTex2dmsu4' (uniform utexture2DMS)
0:39 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -65,7 +65,7 @@
0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:39 Constant:
0:39 5 (const uint)
-0:42 textureFetch (global 4-component vector of float)
+0:42 textureFetch (temp 4-component vector of float)
0:42 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -73,7 +73,7 @@
0:42 2 (const uint)
0:42 Constant:
0:42 3 (const int)
-0:43 textureFetch (global 4-component vector of int)
+0:43 textureFetch (temp 4-component vector of int)
0:43 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:43 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -81,7 +81,7 @@
0:43 2 (const uint)
0:43 Constant:
0:43 3 (const int)
-0:44 textureFetch (global 4-component vector of uint)
+0:44 textureFetch (temp 4-component vector of uint)
0:44 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:44 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -89,7 +89,7 @@
0:44 2 (const uint)
0:44 Constant:
0:44 3 (const int)
-0:47 textureFetchOffset (global 4-component vector of float)
+0:47 textureFetchOffset (temp 4-component vector of float)
0:47 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:47 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -101,7 +101,7 @@
0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:47 Constant:
0:47 5 (const uint)
-0:48 textureFetchOffset (global 4-component vector of int)
+0:48 textureFetchOffset (temp 4-component vector of int)
0:48 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:48 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -113,7 +113,7 @@
0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:48 Constant:
0:48 5 (const uint)
-0:49 textureFetchOffset (global 4-component vector of uint)
+0:49 textureFetchOffset (temp 4-component vector of uint)
0:49 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -179,7 +179,7 @@
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
-0:32 textureFetch (global 4-component vector of float)
+0:32 textureFetch (temp 4-component vector of float)
0:32 'g_tTex2dmsf4' (uniform texture2DMS)
0:32 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -187,7 +187,7 @@
0:32 1 (const uint)
0:32 Constant:
0:32 3 (const int)
-0:33 textureFetch (global 4-component vector of int)
+0:33 textureFetch (temp 4-component vector of int)
0:33 'g_tTex2dmsi4' (uniform itexture2DMS)
0:33 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -195,7 +195,7 @@
0:33 1 (const uint)
0:33 Constant:
0:33 3 (const int)
-0:34 textureFetch (global 4-component vector of uint)
+0:34 textureFetch (temp 4-component vector of uint)
0:34 'g_tTex2dmsu4' (uniform utexture2DMS)
0:34 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -203,7 +203,7 @@
0:34 1 (const uint)
0:34 Constant:
0:34 3 (const int)
-0:37 textureFetchOffset (global 4-component vector of float)
+0:37 textureFetchOffset (temp 4-component vector of float)
0:37 'g_tTex2dmsf4' (uniform texture2DMS)
0:37 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -215,7 +215,7 @@
0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:37 Constant:
0:37 5 (const uint)
-0:38 textureFetchOffset (global 4-component vector of int)
+0:38 textureFetchOffset (temp 4-component vector of int)
0:38 'g_tTex2dmsi4' (uniform itexture2DMS)
0:38 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -227,7 +227,7 @@
0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:38 Constant:
0:38 5 (const uint)
-0:39 textureFetchOffset (global 4-component vector of uint)
+0:39 textureFetchOffset (temp 4-component vector of uint)
0:39 'g_tTex2dmsu4' (uniform utexture2DMS)
0:39 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -239,7 +239,7 @@
0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:39 Constant:
0:39 5 (const uint)
-0:42 textureFetch (global 4-component vector of float)
+0:42 textureFetch (temp 4-component vector of float)
0:42 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -247,7 +247,7 @@
0:42 2 (const uint)
0:42 Constant:
0:42 3 (const int)
-0:43 textureFetch (global 4-component vector of int)
+0:43 textureFetch (temp 4-component vector of int)
0:43 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:43 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -255,7 +255,7 @@
0:43 2 (const uint)
0:43 Constant:
0:43 3 (const int)
-0:44 textureFetch (global 4-component vector of uint)
+0:44 textureFetch (temp 4-component vector of uint)
0:44 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:44 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -263,7 +263,7 @@
0:44 2 (const uint)
0:44 Constant:
0:44 3 (const int)
-0:47 textureFetchOffset (global 4-component vector of float)
+0:47 textureFetchOffset (temp 4-component vector of float)
0:47 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:47 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -275,7 +275,7 @@
0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:47 Constant:
0:47 5 (const uint)
-0:48 textureFetchOffset (global 4-component vector of int)
+0:48 textureFetchOffset (temp 4-component vector of int)
0:48 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:48 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -287,7 +287,7 @@
0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:48 Constant:
0:48 5 (const uint)
-0:49 textureFetchOffset (global 4-component vector of uint)
+0:49 textureFetchOffset (temp 4-component vector of uint)
0:49 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out
index 57e479a..ed2951f 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -5,7 +5,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetch (global 4-component vector of float)
+0:52 textureFetch (temp 4-component vector of float)
0:52 'g_tTex1df4a' (uniform texture1DArray)
0:52 vector swizzle (temp 2-component vector of int)
0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -24,7 +24,7 @@
0:52 2 (const uint)
0:52 Constant:
0:52 2 (const int)
-0:53 textureFetch (global 4-component vector of int)
+0:53 textureFetch (temp 4-component vector of int)
0:53 'g_tTex1di4a' (uniform itexture1DArray)
0:53 vector swizzle (temp 2-component vector of int)
0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -43,7 +43,7 @@
0:53 2 (const uint)
0:53 Constant:
0:53 2 (const int)
-0:54 textureFetch (global 4-component vector of uint)
+0:54 textureFetch (temp 4-component vector of uint)
0:54 'g_tTex1du4a' (uniform utexture1DArray)
0:54 vector swizzle (temp 2-component vector of int)
0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -62,7 +62,7 @@
0:54 2 (const uint)
0:54 Constant:
0:54 2 (const int)
-0:57 textureFetch (global 4-component vector of float)
+0:57 textureFetch (temp 4-component vector of float)
0:57 'g_tTex2df4a' (uniform texture2DArray)
0:57 vector swizzle (temp 3-component vector of int)
0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -83,7 +83,7 @@
0:57 3 (const uint)
0:57 Constant:
0:57 3 (const int)
-0:58 textureFetch (global 4-component vector of int)
+0:58 textureFetch (temp 4-component vector of int)
0:58 'g_tTex2di4a' (uniform itexture2DArray)
0:58 vector swizzle (temp 3-component vector of int)
0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -104,7 +104,7 @@
0:58 3 (const uint)
0:58 Constant:
0:58 3 (const int)
-0:59 textureFetch (global 4-component vector of uint)
+0:59 textureFetch (temp 4-component vector of uint)
0:59 'g_tTex2du4a' (uniform utexture2DArray)
0:59 vector swizzle (temp 3-component vector of int)
0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -194,7 +194,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetch (global 4-component vector of float)
+0:52 textureFetch (temp 4-component vector of float)
0:52 'g_tTex1df4a' (uniform texture1DArray)
0:52 vector swizzle (temp 2-component vector of int)
0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -213,7 +213,7 @@
0:52 2 (const uint)
0:52 Constant:
0:52 2 (const int)
-0:53 textureFetch (global 4-component vector of int)
+0:53 textureFetch (temp 4-component vector of int)
0:53 'g_tTex1di4a' (uniform itexture1DArray)
0:53 vector swizzle (temp 2-component vector of int)
0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -232,7 +232,7 @@
0:53 2 (const uint)
0:53 Constant:
0:53 2 (const int)
-0:54 textureFetch (global 4-component vector of uint)
+0:54 textureFetch (temp 4-component vector of uint)
0:54 'g_tTex1du4a' (uniform utexture1DArray)
0:54 vector swizzle (temp 2-component vector of int)
0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -251,7 +251,7 @@
0:54 2 (const uint)
0:54 Constant:
0:54 2 (const int)
-0:57 textureFetch (global 4-component vector of float)
+0:57 textureFetch (temp 4-component vector of float)
0:57 'g_tTex2df4a' (uniform texture2DArray)
0:57 vector swizzle (temp 3-component vector of int)
0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -272,7 +272,7 @@
0:57 3 (const uint)
0:57 Constant:
0:57 3 (const int)
-0:58 textureFetch (global 4-component vector of int)
+0:58 textureFetch (temp 4-component vector of int)
0:58 'g_tTex2di4a' (uniform itexture2DArray)
0:58 vector swizzle (temp 3-component vector of int)
0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -293,7 +293,7 @@
0:58 3 (const uint)
0:58 Constant:
0:58 3 (const int)
-0:59 textureFetch (global 4-component vector of uint)
+0:59 textureFetch (temp 4-component vector of uint)
0:59 'g_tTex2du4a' (uniform utexture2DArray)
0:59 vector swizzle (temp 3-component vector of int)
0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out
index 90f7e49..3a4b3fc 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -5,7 +5,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetch (global 4-component vector of float)
+0:52 textureFetch (temp 4-component vector of float)
0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:52 vector swizzle (temp int)
0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -22,7 +22,7 @@
0:52 1 (const uint)
0:52 Constant:
0:52 1 (const int)
-0:53 textureFetch (global 4-component vector of int)
+0:53 textureFetch (temp 4-component vector of int)
0:53 'g_tTex1di4' (uniform itexture1D)
0:53 vector swizzle (temp int)
0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -39,7 +39,7 @@
0:53 1 (const uint)
0:53 Constant:
0:53 1 (const int)
-0:54 textureFetch (global 4-component vector of uint)
+0:54 textureFetch (temp 4-component vector of uint)
0:54 'g_tTex1du4' (uniform utexture1D)
0:54 vector swizzle (temp int)
0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -56,7 +56,7 @@
0:54 1 (const uint)
0:54 Constant:
0:54 1 (const int)
-0:57 textureFetch (global 4-component vector of float)
+0:57 textureFetch (temp 4-component vector of float)
0:57 'g_tTex2df4' (uniform texture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -75,7 +75,7 @@
0:57 2 (const uint)
0:57 Constant:
0:57 2 (const int)
-0:58 textureFetch (global 4-component vector of int)
+0:58 textureFetch (temp 4-component vector of int)
0:58 'g_tTex2di4' (uniform itexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -94,7 +94,7 @@
0:58 2 (const uint)
0:58 Constant:
0:58 2 (const int)
-0:59 textureFetch (global 4-component vector of uint)
+0:59 textureFetch (temp 4-component vector of uint)
0:59 'g_tTex2du4' (uniform utexture2D)
0:59 vector swizzle (temp 2-component vector of int)
0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -113,7 +113,7 @@
0:59 2 (const uint)
0:59 Constant:
0:59 2 (const int)
-0:62 textureFetch (global 4-component vector of float)
+0:62 textureFetch (temp 4-component vector of float)
0:62 'g_tTex3df4' (uniform texture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -134,7 +134,7 @@
0:62 3 (const uint)
0:62 Constant:
0:62 3 (const int)
-0:63 textureFetch (global 4-component vector of int)
+0:63 textureFetch (temp 4-component vector of int)
0:63 'g_tTex3di4' (uniform itexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -155,7 +155,7 @@
0:63 3 (const uint)
0:63 Constant:
0:63 3 (const int)
-0:64 textureFetch (global 4-component vector of uint)
+0:64 textureFetch (temp 4-component vector of uint)
0:64 'g_tTex3du4' (uniform utexture3D)
0:64 vector swizzle (temp 3-component vector of int)
0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -245,7 +245,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetch (global 4-component vector of float)
+0:52 textureFetch (temp 4-component vector of float)
0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:52 vector swizzle (temp int)
0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -262,7 +262,7 @@
0:52 1 (const uint)
0:52 Constant:
0:52 1 (const int)
-0:53 textureFetch (global 4-component vector of int)
+0:53 textureFetch (temp 4-component vector of int)
0:53 'g_tTex1di4' (uniform itexture1D)
0:53 vector swizzle (temp int)
0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -279,7 +279,7 @@
0:53 1 (const uint)
0:53 Constant:
0:53 1 (const int)
-0:54 textureFetch (global 4-component vector of uint)
+0:54 textureFetch (temp 4-component vector of uint)
0:54 'g_tTex1du4' (uniform utexture1D)
0:54 vector swizzle (temp int)
0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -296,7 +296,7 @@
0:54 1 (const uint)
0:54 Constant:
0:54 1 (const int)
-0:57 textureFetch (global 4-component vector of float)
+0:57 textureFetch (temp 4-component vector of float)
0:57 'g_tTex2df4' (uniform texture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -315,7 +315,7 @@
0:57 2 (const uint)
0:57 Constant:
0:57 2 (const int)
-0:58 textureFetch (global 4-component vector of int)
+0:58 textureFetch (temp 4-component vector of int)
0:58 'g_tTex2di4' (uniform itexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -334,7 +334,7 @@
0:58 2 (const uint)
0:58 Constant:
0:58 2 (const int)
-0:59 textureFetch (global 4-component vector of uint)
+0:59 textureFetch (temp 4-component vector of uint)
0:59 'g_tTex2du4' (uniform utexture2D)
0:59 vector swizzle (temp 2-component vector of int)
0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -353,7 +353,7 @@
0:59 2 (const uint)
0:59 Constant:
0:59 2 (const int)
-0:62 textureFetch (global 4-component vector of float)
+0:62 textureFetch (temp 4-component vector of float)
0:62 'g_tTex3df4' (uniform texture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -374,7 +374,7 @@
0:62 3 (const uint)
0:62 Constant:
0:62 3 (const int)
-0:63 textureFetch (global 4-component vector of int)
+0:63 textureFetch (temp 4-component vector of int)
0:63 'g_tTex3di4' (uniform itexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -395,7 +395,7 @@
0:63 3 (const uint)
0:63 Constant:
0:63 3 (const int)
-0:64 textureFetch (global 4-component vector of uint)
+0:64 textureFetch (temp 4-component vector of uint)
0:64 'g_tTex3du4' (uniform utexture3D)
0:64 vector swizzle (temp 3-component vector of int)
0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index 4649f29..9495c60 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -4,7 +4,7 @@
0:47 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
0:47 Function Parameters:
0:? Sequence
-0:51 textureFetch (global 4-component vector of float)
+0:51 textureFetch (temp 4-component vector of float)
0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:51 vector swizzle (temp int)
0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -21,7 +21,7 @@
0:51 1 (const uint)
0:51 Constant:
0:51 1 (const int)
-0:52 textureFetch (global 4-component vector of int)
+0:52 textureFetch (temp 4-component vector of int)
0:52 'g_tTex1di4' (uniform itexture1D)
0:52 vector swizzle (temp int)
0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -38,7 +38,7 @@
0:52 1 (const uint)
0:52 Constant:
0:52 1 (const int)
-0:53 textureFetch (global 4-component vector of uint)
+0:53 textureFetch (temp 4-component vector of uint)
0:53 'g_tTex1du4' (uniform utexture1D)
0:53 vector swizzle (temp int)
0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -55,7 +55,7 @@
0:53 1 (const uint)
0:53 Constant:
0:53 1 (const int)
-0:56 textureFetch (global 4-component vector of float)
+0:56 textureFetch (temp 4-component vector of float)
0:56 'g_tTex2df4' (uniform texture2D)
0:56 vector swizzle (temp 2-component vector of int)
0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -74,7 +74,7 @@
0:56 2 (const uint)
0:56 Constant:
0:56 2 (const int)
-0:57 textureFetch (global 4-component vector of int)
+0:57 textureFetch (temp 4-component vector of int)
0:57 'g_tTex2di4' (uniform itexture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -93,7 +93,7 @@
0:57 2 (const uint)
0:57 Constant:
0:57 2 (const int)
-0:58 textureFetch (global 4-component vector of uint)
+0:58 textureFetch (temp 4-component vector of uint)
0:58 'g_tTex2du4' (uniform utexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -112,7 +112,7 @@
0:58 2 (const uint)
0:58 Constant:
0:58 2 (const int)
-0:61 textureFetch (global 4-component vector of float)
+0:61 textureFetch (temp 4-component vector of float)
0:61 'g_tTex3df4' (uniform texture3D)
0:61 vector swizzle (temp 3-component vector of int)
0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -133,7 +133,7 @@
0:61 3 (const uint)
0:61 Constant:
0:61 3 (const int)
-0:62 textureFetch (global 4-component vector of int)
+0:62 textureFetch (temp 4-component vector of int)
0:62 'g_tTex3di4' (uniform itexture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -154,7 +154,7 @@
0:62 3 (const uint)
0:62 Constant:
0:62 3 (const int)
-0:63 textureFetch (global 4-component vector of uint)
+0:63 textureFetch (temp 4-component vector of uint)
0:63 'g_tTex3du4' (uniform utexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -229,7 +229,7 @@
0:47 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
0:47 Function Parameters:
0:? Sequence
-0:51 textureFetch (global 4-component vector of float)
+0:51 textureFetch (temp 4-component vector of float)
0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:51 vector swizzle (temp int)
0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -246,7 +246,7 @@
0:51 1 (const uint)
0:51 Constant:
0:51 1 (const int)
-0:52 textureFetch (global 4-component vector of int)
+0:52 textureFetch (temp 4-component vector of int)
0:52 'g_tTex1di4' (uniform itexture1D)
0:52 vector swizzle (temp int)
0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -263,7 +263,7 @@
0:52 1 (const uint)
0:52 Constant:
0:52 1 (const int)
-0:53 textureFetch (global 4-component vector of uint)
+0:53 textureFetch (temp 4-component vector of uint)
0:53 'g_tTex1du4' (uniform utexture1D)
0:53 vector swizzle (temp int)
0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -280,7 +280,7 @@
0:53 1 (const uint)
0:53 Constant:
0:53 1 (const int)
-0:56 textureFetch (global 4-component vector of float)
+0:56 textureFetch (temp 4-component vector of float)
0:56 'g_tTex2df4' (uniform texture2D)
0:56 vector swizzle (temp 2-component vector of int)
0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -299,7 +299,7 @@
0:56 2 (const uint)
0:56 Constant:
0:56 2 (const int)
-0:57 textureFetch (global 4-component vector of int)
+0:57 textureFetch (temp 4-component vector of int)
0:57 'g_tTex2di4' (uniform itexture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -318,7 +318,7 @@
0:57 2 (const uint)
0:57 Constant:
0:57 2 (const int)
-0:58 textureFetch (global 4-component vector of uint)
+0:58 textureFetch (temp 4-component vector of uint)
0:58 'g_tTex2du4' (uniform utexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -337,7 +337,7 @@
0:58 2 (const uint)
0:58 Constant:
0:58 2 (const int)
-0:61 textureFetch (global 4-component vector of float)
+0:61 textureFetch (temp 4-component vector of float)
0:61 'g_tTex3df4' (uniform texture3D)
0:61 vector swizzle (temp 3-component vector of int)
0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -358,7 +358,7 @@
0:61 3 (const uint)
0:61 Constant:
0:61 3 (const int)
-0:62 textureFetch (global 4-component vector of int)
+0:62 textureFetch (temp 4-component vector of int)
0:62 'g_tTex3di4' (uniform itexture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -379,7 +379,7 @@
0:62 3 (const uint)
0:62 Constant:
0:62 3 (const int)
-0:63 textureFetch (global 4-component vector of uint)
+0:63 textureFetch (temp 4-component vector of uint)
0:63 'g_tTex3du4' (uniform utexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
index ded9382..560d8f5 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -8,8 +8,8 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of float)
0:28 'r00' (temp 4-component vector of float)
-0:28 textureFetch (global 4-component vector of float)
-0:28 'g_tTexbf4' (uniform samplerBuffer)
+0:28 textureFetch (temp 4-component vector of float)
+0:28 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:28 c1: direct index for structure (layout(offset=0 ) uniform int)
0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:28 Constant:
@@ -17,8 +17,8 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of int)
0:29 'r01' (temp 4-component vector of int)
-0:29 textureFetch (global 4-component vector of int)
-0:29 'g_tTexbi4' (uniform isamplerBuffer)
+0:29 textureFetch (temp 4-component vector of int)
+0:29 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:29 c1: direct index for structure (layout(offset=0 ) uniform int)
0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:29 Constant:
@@ -26,8 +26,8 @@
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of uint)
0:30 'r02' (temp 4-component vector of uint)
-0:30 textureFetch (global 4-component vector of uint)
-0:30 'g_tTexbu4' (uniform usamplerBuffer)
+0:30 textureFetch (temp 4-component vector of uint)
+0:30 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
0:30 c1: direct index for structure (layout(offset=0 ) uniform int)
0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:30 Constant:
@@ -65,10 +65,10 @@
0:37 1 (const int)
0:37 Branch: Return
0:? Linker Objects
-0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer)
-0:? 'g_tTexbf4' (uniform samplerBuffer)
-0:? 'g_tTexbi4' (uniform isamplerBuffer)
-0:? 'g_tTexbu4' (uniform usamplerBuffer)
+0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
+0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
+0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
+0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -86,8 +86,8 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of float)
0:28 'r00' (temp 4-component vector of float)
-0:28 textureFetch (global 4-component vector of float)
-0:28 'g_tTexbf4' (uniform samplerBuffer)
+0:28 textureFetch (temp 4-component vector of float)
+0:28 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:28 c1: direct index for structure (layout(offset=0 ) uniform int)
0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:28 Constant:
@@ -95,8 +95,8 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of int)
0:29 'r01' (temp 4-component vector of int)
-0:29 textureFetch (global 4-component vector of int)
-0:29 'g_tTexbi4' (uniform isamplerBuffer)
+0:29 textureFetch (temp 4-component vector of int)
+0:29 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:29 c1: direct index for structure (layout(offset=0 ) uniform int)
0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:29 Constant:
@@ -104,8 +104,8 @@
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of uint)
0:30 'r02' (temp 4-component vector of uint)
-0:30 textureFetch (global 4-component vector of uint)
-0:30 'g_tTexbu4' (uniform usamplerBuffer)
+0:30 textureFetch (temp 4-component vector of uint)
+0:30 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
0:30 c1: direct index for structure (layout(offset=0 ) uniform int)
0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:30 Constant:
@@ -143,10 +143,10 @@
0:37 1 (const int)
0:37 Branch: Return
0:? Linker Objects
-0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer)
-0:? 'g_tTexbf4' (uniform samplerBuffer)
-0:? 'g_tTexbi4' (uniform isamplerBuffer)
-0:? 'g_tTexbu4' (uniform usamplerBuffer)
+0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
+0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
+0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
+0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -207,7 +207,7 @@
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
- 10: TypeImage 6(float) Buffer sampled format:Unknown
+ 10: TypeImage 6(float) Buffer sampled format:Rgba32f
11: TypeSampledImage 10
12: TypePointer UniformConstant 11
13(g_tTexbf4): 12(ptr) Variable UniformConstant
@@ -221,14 +221,14 @@
22: 15(int) Constant 0
23: TypePointer Uniform 15(int)
28: TypePointer Function 18(ivec4)
- 30: TypeImage 15(int) Buffer sampled format:Unknown
+ 30: TypeImage 15(int) Buffer sampled format:Rgba32i
31: TypeSampledImage 30
32: TypePointer UniformConstant 31
33(g_tTexbi4): 32(ptr) Variable UniformConstant
39: TypeInt 32 0
40: TypeVector 39(int) 4
41: TypePointer Function 40(ivec4)
- 43: TypeImage 39(int) Buffer sampled format:Unknown
+ 43: TypeImage 39(int) Buffer sampled format:Rgba32ui
44: TypeSampledImage 43
45: TypePointer UniformConstant 44
46(g_tTexbu4): 45(ptr) Variable UniformConstant
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
new file mode 100644
index 0000000..6d64b94
--- /dev/null
+++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
@@ -0,0 +1,290 @@
+hlsl.load.buffer.float.dx10.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:24 Function Parameters:
+0:? Sequence
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'r00' (temp float)
+0:28 Construct float (temp float)
+0:? textureFetch (temp 4-component vector of float)
+0:28 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:28 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:28 Constant:
+0:28 0 (const uint)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'r01' (temp int)
+0:29 Construct int (temp int)
+0:? textureFetch (temp 4-component vector of int)
+0:29 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:29 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:29 Constant:
+0:29 0 (const uint)
+0:30 Sequence
+0:30 move second child to first child (temp uint)
+0:30 'r02' (temp uint)
+0:30 Construct uint (temp uint)
+0:? textureFetch (temp 4-component vector of uint)
+0:30 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:30 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:30 Constant:
+0:30 0 (const uint)
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 Color: direct index for structure (temp 4-component vector of float)
+0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 1.000000
+0:34 1.000000
+0:34 1.000000
+0:34 1.000000
+0:35 move second child to first child (temp float)
+0:35 Depth: direct index for structure (temp float)
+0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:35 Constant:
+0:35 1 (const int)
+0:35 Constant:
+0:35 1.000000
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:37 Color: direct index for structure (temp 4-component vector of float)
+0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37 Constant:
+0:37 0 (const int)
+0:37 move second child to first child (temp float)
+0:? 'Depth' (out float FragDepth)
+0:37 Depth: direct index for structure (temp float)
+0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37 Constant:
+0:37 1 (const int)
+0:37 Branch: Return
+0:? Linker Objects
+0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
+0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:24 Function Parameters:
+0:? Sequence
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'r00' (temp float)
+0:28 Construct float (temp float)
+0:? textureFetch (temp 4-component vector of float)
+0:28 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:28 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:28 Constant:
+0:28 0 (const uint)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'r01' (temp int)
+0:29 Construct int (temp int)
+0:? textureFetch (temp 4-component vector of int)
+0:29 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:29 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:29 Constant:
+0:29 0 (const uint)
+0:30 Sequence
+0:30 move second child to first child (temp uint)
+0:30 'r02' (temp uint)
+0:30 Construct uint (temp uint)
+0:? textureFetch (temp 4-component vector of uint)
+0:30 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:30 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:30 Constant:
+0:30 0 (const uint)
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 Color: direct index for structure (temp 4-component vector of float)
+0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 1.000000
+0:34 1.000000
+0:34 1.000000
+0:34 1.000000
+0:35 move second child to first child (temp float)
+0:35 Depth: direct index for structure (temp float)
+0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:35 Constant:
+0:35 1 (const int)
+0:35 Constant:
+0:35 1.000000
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:37 Color: direct index for structure (temp 4-component vector of float)
+0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37 Constant:
+0:37 0 (const int)
+0:37 move second child to first child (temp float)
+0:? 'Depth' (out float FragDepth)
+0:37 Depth: direct index for structure (temp float)
+0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37 Constant:
+0:37 1 (const int)
+0:37 Branch: Return
+0:? Linker Objects
+0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
+0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:? 'Depth' (out float FragDepth)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 74
+
+ Capability Shader
+ Capability SampledBuffer
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 65 69
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 8 "r00"
+ Name 12 "g_tTexbfs"
+ Name 18 "$Global"
+ MemberName 18($Global) 0 "c1"
+ MemberName 18($Global) 1 "c2"
+ MemberName 18($Global) 2 "c3"
+ MemberName 18($Global) 3 "c4"
+ MemberName 18($Global) 4 "o1"
+ MemberName 18($Global) 5 "o2"
+ MemberName 18($Global) 6 "o3"
+ MemberName 18($Global) 7 "o4"
+ Name 20 ""
+ Name 30 "r01"
+ Name 34 "g_tTexbis"
+ Name 43 "r02"
+ Name 47 "g_tTexbus"
+ Name 55 "PS_OUTPUT"
+ MemberName 55(PS_OUTPUT) 0 "Color"
+ MemberName 55(PS_OUTPUT) 1 "Depth"
+ Name 57 "psout"
+ Name 65 "Color"
+ Name 69 "Depth"
+ Name 73 "g_tTexbfs_test"
+ Decorate 12(g_tTexbfs) DescriptorSet 0
+ MemberDecorate 18($Global) 0 Offset 0
+ MemberDecorate 18($Global) 1 Offset 8
+ MemberDecorate 18($Global) 2 Offset 16
+ MemberDecorate 18($Global) 3 Offset 32
+ MemberDecorate 18($Global) 4 Offset 48
+ MemberDecorate 18($Global) 5 Offset 56
+ MemberDecorate 18($Global) 6 Offset 64
+ MemberDecorate 18($Global) 7 Offset 80
+ Decorate 18($Global) Block
+ Decorate 20 DescriptorSet 0
+ Decorate 34(g_tTexbis) DescriptorSet 0
+ Decorate 47(g_tTexbus) DescriptorSet 0
+ Decorate 65(Color) Location 0
+ Decorate 69(Depth) BuiltIn FragDepth
+ Decorate 73(g_tTexbfs_test) DescriptorSet 0
+ Decorate 73(g_tTexbfs_test) Binding 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: TypeImage 6(float) Buffer sampled format:R32f
+ 10: TypeSampledImage 9
+ 11: TypePointer UniformConstant 10
+ 12(g_tTexbfs): 11(ptr) Variable UniformConstant
+ 14: TypeInt 32 1
+ 15: TypeVector 14(int) 2
+ 16: TypeVector 14(int) 3
+ 17: TypeVector 14(int) 4
+ 18($Global): TypeStruct 14(int) 15(ivec2) 16(ivec3) 17(ivec4) 14(int) 15(ivec2) 16(ivec3) 17(ivec4)
+ 19: TypePointer Uniform 18($Global)
+ 20: 19(ptr) Variable Uniform
+ 21: 14(int) Constant 0
+ 22: TypePointer Uniform 14(int)
+ 26: TypeVector 6(float) 4
+ 29: TypePointer Function 14(int)
+ 31: TypeImage 14(int) Buffer sampled format:R32i
+ 32: TypeSampledImage 31
+ 33: TypePointer UniformConstant 32
+ 34(g_tTexbis): 33(ptr) Variable UniformConstant
+ 41: TypeInt 32 0
+ 42: TypePointer Function 41(int)
+ 44: TypeImage 41(int) Buffer sampled format:R32ui
+ 45: TypeSampledImage 44
+ 46: TypePointer UniformConstant 45
+ 47(g_tTexbus): 46(ptr) Variable UniformConstant
+ 52: TypeVector 41(int) 4
+ 55(PS_OUTPUT): TypeStruct 26(fvec4) 6(float)
+ 56: TypePointer Function 55(PS_OUTPUT)
+ 58: 6(float) Constant 1065353216
+ 59: 26(fvec4) ConstantComposite 58 58 58 58
+ 60: TypePointer Function 26(fvec4)
+ 62: 14(int) Constant 1
+ 64: TypePointer Output 26(fvec4)
+ 65(Color): 64(ptr) Variable Output
+ 68: TypePointer Output 6(float)
+ 69(Depth): 68(ptr) Variable Output
+73(g_tTexbfs_test): 11(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(r00): 7(ptr) Variable Function
+ 30(r01): 29(ptr) Variable Function
+ 43(r02): 42(ptr) Variable Function
+ 57(psout): 56(ptr) Variable Function
+ 13: 10 Load 12(g_tTexbfs)
+ 23: 22(ptr) AccessChain 20 21
+ 24: 14(int) Load 23
+ 25: 9 Image 13
+ 27: 26(fvec4) ImageFetch 25 24
+ 28: 6(float) CompositeExtract 27 0
+ Store 8(r00) 28
+ 35: 32 Load 34(g_tTexbis)
+ 36: 22(ptr) AccessChain 20 21
+ 37: 14(int) Load 36
+ 38: 31 Image 35
+ 39: 17(ivec4) ImageFetch 38 37
+ 40: 14(int) CompositeExtract 39 0
+ Store 30(r01) 40
+ 48: 45 Load 47(g_tTexbus)
+ 49: 22(ptr) AccessChain 20 21
+ 50: 14(int) Load 49
+ 51: 44 Image 48
+ 53: 52(ivec4) ImageFetch 51 50
+ 54: 41(int) CompositeExtract 53 0
+ Store 43(r02) 54
+ 61: 60(ptr) AccessChain 57(psout) 21
+ Store 61 59
+ 63: 7(ptr) AccessChain 57(psout) 62
+ Store 63 58
+ 66: 60(ptr) AccessChain 57(psout) 21
+ 67: 26(fvec4) Load 66
+ Store 65(Color) 67
+ 70: 7(ptr) AccessChain 57(psout) 62
+ 71: 6(float) Load 70
+ Store 69(Depth) 71
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out
index 6eaa6f7..069e05d 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -5,7 +5,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetchOffset (global 4-component vector of float)
+0:52 textureFetchOffset (temp 4-component vector of float)
0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:52 vector swizzle (temp int)
0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -26,7 +26,7 @@
0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:52 Constant:
0:52 4 (const uint)
-0:53 textureFetchOffset (global 4-component vector of int)
+0:53 textureFetchOffset (temp 4-component vector of int)
0:53 'g_tTex1di4' (uniform itexture1D)
0:53 vector swizzle (temp int)
0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -47,7 +47,7 @@
0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:53 Constant:
0:53 4 (const uint)
-0:54 textureFetchOffset (global 4-component vector of uint)
+0:54 textureFetchOffset (temp 4-component vector of uint)
0:54 'g_tTex1du4' (uniform utexture1D)
0:54 vector swizzle (temp int)
0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -68,7 +68,7 @@
0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:54 Constant:
0:54 4 (const uint)
-0:57 textureFetchOffset (global 4-component vector of float)
+0:57 textureFetchOffset (temp 4-component vector of float)
0:57 'g_tTex2df4' (uniform texture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -91,7 +91,7 @@
0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:57 Constant:
0:57 5 (const uint)
-0:58 textureFetchOffset (global 4-component vector of int)
+0:58 textureFetchOffset (temp 4-component vector of int)
0:58 'g_tTex2di4' (uniform itexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -114,7 +114,7 @@
0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:58 Constant:
0:58 5 (const uint)
-0:59 textureFetchOffset (global 4-component vector of uint)
+0:59 textureFetchOffset (temp 4-component vector of uint)
0:59 'g_tTex2du4' (uniform utexture2D)
0:59 vector swizzle (temp 2-component vector of int)
0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -137,7 +137,7 @@
0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:59 Constant:
0:59 5 (const uint)
-0:62 textureFetchOffset (global 4-component vector of float)
+0:62 textureFetchOffset (temp 4-component vector of float)
0:62 'g_tTex3df4' (uniform texture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -162,7 +162,7 @@
0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:62 Constant:
0:62 6 (const uint)
-0:63 textureFetchOffset (global 4-component vector of int)
+0:63 textureFetchOffset (temp 4-component vector of int)
0:63 'g_tTex3di4' (uniform itexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -187,7 +187,7 @@
0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:63 Constant:
0:63 6 (const uint)
-0:64 textureFetchOffset (global 4-component vector of uint)
+0:64 textureFetchOffset (temp 4-component vector of uint)
0:64 'g_tTex3du4' (uniform utexture3D)
0:64 vector swizzle (temp 3-component vector of int)
0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -281,7 +281,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetchOffset (global 4-component vector of float)
+0:52 textureFetchOffset (temp 4-component vector of float)
0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:52 vector swizzle (temp int)
0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -302,7 +302,7 @@
0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:52 Constant:
0:52 4 (const uint)
-0:53 textureFetchOffset (global 4-component vector of int)
+0:53 textureFetchOffset (temp 4-component vector of int)
0:53 'g_tTex1di4' (uniform itexture1D)
0:53 vector swizzle (temp int)
0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -323,7 +323,7 @@
0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:53 Constant:
0:53 4 (const uint)
-0:54 textureFetchOffset (global 4-component vector of uint)
+0:54 textureFetchOffset (temp 4-component vector of uint)
0:54 'g_tTex1du4' (uniform utexture1D)
0:54 vector swizzle (temp int)
0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -344,7 +344,7 @@
0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:54 Constant:
0:54 4 (const uint)
-0:57 textureFetchOffset (global 4-component vector of float)
+0:57 textureFetchOffset (temp 4-component vector of float)
0:57 'g_tTex2df4' (uniform texture2D)
0:57 vector swizzle (temp 2-component vector of int)
0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -367,7 +367,7 @@
0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:57 Constant:
0:57 5 (const uint)
-0:58 textureFetchOffset (global 4-component vector of int)
+0:58 textureFetchOffset (temp 4-component vector of int)
0:58 'g_tTex2di4' (uniform itexture2D)
0:58 vector swizzle (temp 2-component vector of int)
0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -390,7 +390,7 @@
0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:58 Constant:
0:58 5 (const uint)
-0:59 textureFetchOffset (global 4-component vector of uint)
+0:59 textureFetchOffset (temp 4-component vector of uint)
0:59 'g_tTex2du4' (uniform utexture2D)
0:59 vector swizzle (temp 2-component vector of int)
0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -413,7 +413,7 @@
0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:59 Constant:
0:59 5 (const uint)
-0:62 textureFetchOffset (global 4-component vector of float)
+0:62 textureFetchOffset (temp 4-component vector of float)
0:62 'g_tTex3df4' (uniform texture3D)
0:62 vector swizzle (temp 3-component vector of int)
0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -438,7 +438,7 @@
0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:62 Constant:
0:62 6 (const uint)
-0:63 textureFetchOffset (global 4-component vector of int)
+0:63 textureFetchOffset (temp 4-component vector of int)
0:63 'g_tTex3di4' (uniform itexture3D)
0:63 vector swizzle (temp 3-component vector of int)
0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -463,7 +463,7 @@
0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:63 Constant:
0:63 6 (const uint)
-0:64 textureFetchOffset (global 4-component vector of uint)
+0:64 textureFetchOffset (temp 4-component vector of uint)
0:64 'g_tTex3du4' (uniform utexture3D)
0:64 vector swizzle (temp 3-component vector of int)
0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
index 776cd83..ed89ee8 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -5,7 +5,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetchOffset (global 4-component vector of float)
+0:52 textureFetchOffset (temp 4-component vector of float)
0:52 'g_tTex1df4a' (uniform texture1DArray)
0:52 vector swizzle (temp 2-component vector of int)
0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -28,7 +28,7 @@
0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:52 Constant:
0:52 4 (const uint)
-0:53 textureFetchOffset (global 4-component vector of int)
+0:53 textureFetchOffset (temp 4-component vector of int)
0:53 'g_tTex1di4a' (uniform itexture1DArray)
0:53 vector swizzle (temp 2-component vector of int)
0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -51,7 +51,7 @@
0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:53 Constant:
0:53 4 (const uint)
-0:54 textureFetchOffset (global 4-component vector of uint)
+0:54 textureFetchOffset (temp 4-component vector of uint)
0:54 'g_tTex1du4a' (uniform utexture1DArray)
0:54 vector swizzle (temp 2-component vector of int)
0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -74,7 +74,7 @@
0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:54 Constant:
0:54 4 (const uint)
-0:57 textureFetchOffset (global 4-component vector of float)
+0:57 textureFetchOffset (temp 4-component vector of float)
0:57 'g_tTex2df4a' (uniform texture2DArray)
0:57 vector swizzle (temp 3-component vector of int)
0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -99,7 +99,7 @@
0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:57 Constant:
0:57 5 (const uint)
-0:58 textureFetchOffset (global 4-component vector of int)
+0:58 textureFetchOffset (temp 4-component vector of int)
0:58 'g_tTex2di4a' (uniform itexture2DArray)
0:58 vector swizzle (temp 3-component vector of int)
0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -124,7 +124,7 @@
0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:58 Constant:
0:58 5 (const uint)
-0:59 textureFetchOffset (global 4-component vector of uint)
+0:59 textureFetchOffset (temp 4-component vector of uint)
0:59 'g_tTex2du4a' (uniform utexture2DArray)
0:59 vector swizzle (temp 3-component vector of int)
0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -218,7 +218,7 @@
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
-0:52 textureFetchOffset (global 4-component vector of float)
+0:52 textureFetchOffset (temp 4-component vector of float)
0:52 'g_tTex1df4a' (uniform texture1DArray)
0:52 vector swizzle (temp 2-component vector of int)
0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -241,7 +241,7 @@
0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:52 Constant:
0:52 4 (const uint)
-0:53 textureFetchOffset (global 4-component vector of int)
+0:53 textureFetchOffset (temp 4-component vector of int)
0:53 'g_tTex1di4a' (uniform itexture1DArray)
0:53 vector swizzle (temp 2-component vector of int)
0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -264,7 +264,7 @@
0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:53 Constant:
0:53 4 (const uint)
-0:54 textureFetchOffset (global 4-component vector of uint)
+0:54 textureFetchOffset (temp 4-component vector of uint)
0:54 'g_tTex1du4a' (uniform utexture1DArray)
0:54 vector swizzle (temp 2-component vector of int)
0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -287,7 +287,7 @@
0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:54 Constant:
0:54 4 (const uint)
-0:57 textureFetchOffset (global 4-component vector of float)
+0:57 textureFetchOffset (temp 4-component vector of float)
0:57 'g_tTex2df4a' (uniform texture2DArray)
0:57 vector swizzle (temp 3-component vector of int)
0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -312,7 +312,7 @@
0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:57 Constant:
0:57 5 (const uint)
-0:58 textureFetchOffset (global 4-component vector of int)
+0:58 textureFetchOffset (temp 4-component vector of int)
0:58 'g_tTex2di4a' (uniform itexture2DArray)
0:58 vector swizzle (temp 3-component vector of int)
0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -337,7 +337,7 @@
0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:58 Constant:
0:58 5 (const uint)
-0:59 textureFetchOffset (global 4-component vector of uint)
+0:59 textureFetchOffset (temp 4-component vector of uint)
0:59 'g_tTex2du4a' (uniform utexture2DArray)
0:59 vector swizzle (temp 3-component vector of int)
0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
index 78b4804..7b26372 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -5,19 +5,19 @@
0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:22 Function Parameters:
0:? Sequence
-0:25 imageLoad (global 4-component vector of float)
+0:25 imageLoad (temp 4-component vector of float)
0:25 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:25 c1: direct index for structure (layout(offset=0 ) uniform int)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:25 Constant:
0:25 0 (const uint)
-0:26 imageLoad (global 4-component vector of uint)
+0:26 imageLoad (temp 4-component vector of uint)
0:26 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
0:26 c1: direct index for structure (layout(offset=0 ) uniform int)
0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:26 Constant:
0:26 0 (const uint)
-0:27 imageLoad (global 4-component vector of int)
+0:27 imageLoad (temp 4-component vector of int)
0:27 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:27 c1: direct index for structure (layout(offset=0 ) uniform int)
0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -59,19 +59,19 @@
0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:22 Function Parameters:
0:? Sequence
-0:25 imageLoad (global 4-component vector of float)
+0:25 imageLoad (temp 4-component vector of float)
0:25 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:25 c1: direct index for structure (layout(offset=0 ) uniform int)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:25 Constant:
0:25 0 (const uint)
-0:26 imageLoad (global 4-component vector of uint)
+0:26 imageLoad (temp 4-component vector of uint)
0:26 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
0:26 c1: direct index for structure (layout(offset=0 ) uniform int)
0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:26 Constant:
0:26 0 (const uint)
-0:27 imageLoad (global 4-component vector of int)
+0:27 imageLoad (temp 4-component vector of int)
0:27 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:27 c1: direct index for structure (layout(offset=0 ) uniform int)
0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
index 353f769..8ac94d0 100644
--- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
@@ -5,37 +5,37 @@
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
-0:44 imageLoad (global 4-component vector of float)
+0:44 imageLoad (temp 4-component vector of float)
0:44 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
0:44 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:44 Constant:
0:44 1 (const uint)
-0:45 imageLoad (global 4-component vector of int)
+0:45 imageLoad (temp 4-component vector of int)
0:45 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:45 Constant:
0:45 1 (const uint)
-0:46 imageLoad (global 4-component vector of uint)
+0:46 imageLoad (temp 4-component vector of uint)
0:46 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:46 Constant:
0:46 1 (const uint)
-0:49 imageLoad (global 4-component vector of float)
+0:49 imageLoad (temp 4-component vector of float)
0:49 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:49 Constant:
0:49 2 (const uint)
-0:50 imageLoad (global 4-component vector of int)
+0:50 imageLoad (temp 4-component vector of int)
0:50 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:50 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:50 Constant:
0:50 2 (const uint)
-0:51 imageLoad (global 4-component vector of uint)
+0:51 imageLoad (temp 4-component vector of uint)
0:51 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:51 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -104,37 +104,37 @@
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
-0:44 imageLoad (global 4-component vector of float)
+0:44 imageLoad (temp 4-component vector of float)
0:44 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
0:44 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:44 Constant:
0:44 1 (const uint)
-0:45 imageLoad (global 4-component vector of int)
+0:45 imageLoad (temp 4-component vector of int)
0:45 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:45 Constant:
0:45 1 (const uint)
-0:46 imageLoad (global 4-component vector of uint)
+0:46 imageLoad (temp 4-component vector of uint)
0:46 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:46 Constant:
0:46 1 (const uint)
-0:49 imageLoad (global 4-component vector of float)
+0:49 imageLoad (temp 4-component vector of float)
0:49 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:49 Constant:
0:49 2 (const uint)
-0:50 imageLoad (global 4-component vector of int)
+0:50 imageLoad (temp 4-component vector of int)
0:50 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:50 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:50 Constant:
0:50 2 (const uint)
-0:51 imageLoad (global 4-component vector of uint)
+0:51 imageLoad (temp 4-component vector of uint)
0:51 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:51 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
index 60c5400..ca59015 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -5,55 +5,55 @@
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
-0:44 imageLoad (global 4-component vector of float)
+0:44 imageLoad (temp 4-component vector of float)
0:44 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:44 c1: direct index for structure (layout(offset=0 ) uniform int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:44 Constant:
0:44 0 (const uint)
-0:45 imageLoad (global 4-component vector of int)
+0:45 imageLoad (temp 4-component vector of int)
0:45 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:45 c1: direct index for structure (layout(offset=0 ) uniform int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:45 Constant:
0:45 0 (const uint)
-0:46 imageLoad (global 4-component vector of uint)
+0:46 imageLoad (temp 4-component vector of uint)
0:46 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:46 c1: direct index for structure (layout(offset=0 ) uniform int)
0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:46 Constant:
0:46 0 (const uint)
-0:49 imageLoad (global 4-component vector of float)
+0:49 imageLoad (temp 4-component vector of float)
0:49 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:49 Constant:
0:49 1 (const uint)
-0:50 imageLoad (global 4-component vector of int)
+0:50 imageLoad (temp 4-component vector of int)
0:50 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:50 Constant:
0:50 1 (const uint)
-0:51 imageLoad (global 4-component vector of uint)
+0:51 imageLoad (temp 4-component vector of uint)
0:51 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:51 Constant:
0:51 1 (const uint)
-0:54 imageLoad (global 4-component vector of float)
+0:54 imageLoad (temp 4-component vector of float)
0:54 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:54 Constant:
0:54 2 (const uint)
-0:55 imageLoad (global 4-component vector of int)
+0:55 imageLoad (temp 4-component vector of int)
0:55 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
0:55 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:55 Constant:
0:55 2 (const uint)
-0:56 imageLoad (global 4-component vector of uint)
+0:56 imageLoad (temp 4-component vector of uint)
0:56 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -122,55 +122,55 @@
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
-0:44 imageLoad (global 4-component vector of float)
+0:44 imageLoad (temp 4-component vector of float)
0:44 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:44 c1: direct index for structure (layout(offset=0 ) uniform int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:44 Constant:
0:44 0 (const uint)
-0:45 imageLoad (global 4-component vector of int)
+0:45 imageLoad (temp 4-component vector of int)
0:45 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:45 c1: direct index for structure (layout(offset=0 ) uniform int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:45 Constant:
0:45 0 (const uint)
-0:46 imageLoad (global 4-component vector of uint)
+0:46 imageLoad (temp 4-component vector of uint)
0:46 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:46 c1: direct index for structure (layout(offset=0 ) uniform int)
0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:46 Constant:
0:46 0 (const uint)
-0:49 imageLoad (global 4-component vector of float)
+0:49 imageLoad (temp 4-component vector of float)
0:49 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:49 Constant:
0:49 1 (const uint)
-0:50 imageLoad (global 4-component vector of int)
+0:50 imageLoad (temp 4-component vector of int)
0:50 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:50 Constant:
0:50 1 (const uint)
-0:51 imageLoad (global 4-component vector of uint)
+0:51 imageLoad (temp 4-component vector of uint)
0:51 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:51 Constant:
0:51 1 (const uint)
-0:54 imageLoad (global 4-component vector of float)
+0:54 imageLoad (temp 4-component vector of float)
0:54 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:54 Constant:
0:54 2 (const uint)
-0:55 imageLoad (global 4-component vector of int)
+0:55 imageLoad (temp 4-component vector of int)
0:55 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
0:55 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:55 Constant:
0:55 2 (const uint)
-0:56 imageLoad (global 4-component vector of uint)
+0:56 imageLoad (temp 4-component vector of uint)
0:56 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out
index cec7898..8f8c42a 100755
--- a/Test/baseResults/hlsl.multiEntry.vert.out
+++ b/Test/baseResults/hlsl.multiEntry.vert.out
@@ -6,8 +6,8 @@
0:4 'Index' (in uint)
0:? Sequence
0:5 Branch: Return with expression
-0:5 textureFetch (global 4-component vector of float)
-0:5 'Position' (uniform samplerBuffer)
+0:5 textureFetch (temp 4-component vector of float)
+0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
@@ -21,7 +21,7 @@
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
-0:? 'Position' (uniform samplerBuffer)
+0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
@@ -36,8 +36,8 @@
0:4 'Index' (in uint)
0:? Sequence
0:5 Branch: Return with expression
-0:5 textureFetch (global 4-component vector of float)
-0:5 'Position' (uniform samplerBuffer)
+0:5 textureFetch (temp 4-component vector of float)
+0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
@@ -51,7 +51,7 @@
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
-0:? 'Position' (uniform samplerBuffer)
+0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
@@ -81,7 +81,7 @@
8: TypeFloat 32
9: TypeVector 8(float) 4
10: TypeFunction 9(fvec4) 7(ptr)
- 14: TypeImage 8(float) Buffer sampled format:Unknown
+ 14: TypeImage 8(float) Buffer sampled format:Rgba32f
15: TypeSampledImage 14
16: TypePointer UniformConstant 15
17(Position): 16(ptr) Variable UniformConstant
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
new file mode 100644
index 0000000..c6e3c89
--- /dev/null
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -0,0 +1,2651 @@
+hlsl.rw.bracket.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42 Function Definition: Fn1(vi4; (temp 4-component vector of int)
+0:42 Function Parameters:
+0:42 'x' (in 4-component vector of int)
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 'x' (in 4-component vector of int)
+0:43 Function Definition: Fn1(vu4; (temp 4-component vector of uint)
+0:43 Function Parameters:
+0:43 'x' (in 4-component vector of uint)
+0:? Sequence
+0:43 Branch: Return with expression
+0:43 'x' (in 4-component vector of uint)
+0:44 Function Definition: Fn1(vf4; (temp 4-component vector of float)
+0:44 Function Parameters:
+0:44 'x' (in 4-component vector of float)
+0:? Sequence
+0:44 Branch: Return with expression
+0:44 'x' (in 4-component vector of float)
+0:46 Function Definition: Fn2(vi4; (temp void)
+0:46 Function Parameters:
+0:46 'x' (out 4-component vector of int)
+0:? Sequence
+0:46 move second child to first child (temp 4-component vector of int)
+0:46 'x' (out 4-component vector of int)
+0:46 Constant:
+0:46 0 (const int)
+0:46 0 (const int)
+0:46 0 (const int)
+0:46 0 (const int)
+0:47 Function Definition: Fn2(vu4; (temp void)
+0:47 Function Parameters:
+0:47 'x' (out 4-component vector of uint)
+0:? Sequence
+0:47 move second child to first child (temp 4-component vector of uint)
+0:47 'x' (out 4-component vector of uint)
+0:47 Constant:
+0:47 0 (const uint)
+0:47 0 (const uint)
+0:47 0 (const uint)
+0:47 0 (const uint)
+0:48 Function Definition: Fn2(vf4; (temp void)
+0:48 Function Parameters:
+0:48 'x' (out 4-component vector of float)
+0:? Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'x' (out 4-component vector of float)
+0:48 Constant:
+0:48 0.000000
+0:48 0.000000
+0:48 0.000000
+0:48 0.000000
+0:50 Function Definition: SomeValue( (temp 4-component vector of float)
+0:50 Function Parameters:
+0:? Sequence
+0:50 Branch: Return with expression
+0:50 Convert int to float (temp 4-component vector of float)
+0:50 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
+0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:50 Constant:
+0:50 3 (const uint)
+0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53 Function Parameters:
+0:? Sequence
+0:57 imageLoad (temp 4-component vector of float)
+0:57 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:57 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:57 Constant:
+0:57 0 (const uint)
+0:59 Sequence
+0:59 move second child to first child (temp 4-component vector of float)
+0:59 'r00' (temp 4-component vector of float)
+0:59 imageLoad (temp 4-component vector of float)
+0:59 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:59 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:59 Constant:
+0:59 0 (const uint)
+0:60 Sequence
+0:60 move second child to first child (temp 4-component vector of int)
+0:60 'r01' (temp 4-component vector of int)
+0:60 imageLoad (temp 4-component vector of int)
+0:60 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:60 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:60 Constant:
+0:60 0 (const uint)
+0:61 Sequence
+0:61 move second child to first child (temp 4-component vector of uint)
+0:61 'r02' (temp 4-component vector of uint)
+0:61 imageLoad (temp 4-component vector of uint)
+0:61 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:61 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:61 Constant:
+0:61 0 (const uint)
+0:64 Sequence
+0:64 move second child to first child (temp 4-component vector of float)
+0:64 'r10' (temp 4-component vector of float)
+0:64 imageLoad (temp 4-component vector of float)
+0:64 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:64 Constant:
+0:64 1 (const uint)
+0:65 Sequence
+0:65 move second child to first child (temp 4-component vector of int)
+0:65 'r11' (temp 4-component vector of int)
+0:65 imageLoad (temp 4-component vector of int)
+0:65 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
+0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:65 Constant:
+0:65 1 (const uint)
+0:66 Sequence
+0:66 move second child to first child (temp 4-component vector of uint)
+0:66 'r12' (temp 4-component vector of uint)
+0:66 imageLoad (temp 4-component vector of uint)
+0:66 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
+0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:66 Constant:
+0:66 1 (const uint)
+0:69 Sequence
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 'r20' (temp 4-component vector of float)
+0:69 imageLoad (temp 4-component vector of float)
+0:69 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp 4-component vector of int)
+0:70 'r21' (temp 4-component vector of int)
+0:70 imageLoad (temp 4-component vector of int)
+0:70 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
+0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:70 Constant:
+0:70 2 (const uint)
+0:71 Sequence
+0:71 move second child to first child (temp 4-component vector of uint)
+0:71 'r22' (temp 4-component vector of uint)
+0:71 imageLoad (temp 4-component vector of uint)
+0:71 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
+0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:71 Constant:
+0:71 2 (const uint)
+0:73 Sequence
+0:73 move second child to first child (temp 4-component vector of float)
+0:73 'lf4' (temp 4-component vector of float)
+0:73 uf4: direct index for structure (layout(offset=96 ) uniform 4-component vector of float)
+0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:73 Constant:
+0:73 8 (const uint)
+0:77 Sequence
+0:77 move second child to first child (temp 4-component vector of float)
+0:77 'storeTemp' (temp 4-component vector of float)
+0:77 Function Call: SomeValue( (temp 4-component vector of float)
+0:77 imageStore (temp void)
+0:77 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:77 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:77 Constant:
+0:77 0 (const uint)
+0:77 'storeTemp' (temp 4-component vector of float)
+0:77 'storeTemp' (temp 4-component vector of float)
+0:78 Sequence
+0:78 imageStore (temp void)
+0:78 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:78 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:78 Constant:
+0:78 0 (const uint)
+0:78 'lf4' (temp 4-component vector of float)
+0:78 'lf4' (temp 4-component vector of float)
+0:79 Sequence
+0:79 move second child to first child (temp 4-component vector of int)
+0:79 'storeTemp' (temp 4-component vector of int)
+0:? Constant:
+0:? 2 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:79 imageStore (temp void)
+0:79 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:79 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:79 Constant:
+0:79 0 (const uint)
+0:79 'storeTemp' (temp 4-component vector of int)
+0:79 'storeTemp' (temp 4-component vector of int)
+0:80 Sequence
+0:80 move second child to first child (temp 4-component vector of uint)
+0:80 'storeTemp' (temp 4-component vector of uint)
+0:? Constant:
+0:? 3 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:80 imageStore (temp void)
+0:80 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:80 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:80 Constant:
+0:80 0 (const uint)
+0:80 'storeTemp' (temp 4-component vector of uint)
+0:80 'storeTemp' (temp 4-component vector of uint)
+0:83 Sequence
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 'val1' (temp 4-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp int)
+0:83 'coordTemp' (temp int)
+0:83 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:83 Constant:
+0:83 0 (const uint)
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:83 imageLoad (temp 4-component vector of float)
+0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 vector scale second child into first child (temp 4-component vector of float)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:83 Constant:
+0:83 2.000000
+0:83 imageStore (temp void)
+0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp int)
+0:84 'coordTemp' (temp int)
+0:84 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:84 Constant:
+0:84 0 (const uint)
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:84 imageLoad (temp 4-component vector of float)
+0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 subtract second child into first child (temp 4-component vector of float)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:84 Constant:
+0:84 3.000000
+0:84 imageStore (temp void)
+0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:85 Sequence
+0:85 move second child to first child (temp int)
+0:85 'coordTemp' (temp int)
+0:85 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:85 Constant:
+0:85 0 (const uint)
+0:85 move second child to first child (temp 4-component vector of float)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:85 imageLoad (temp 4-component vector of float)
+0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 add second child into first child (temp 4-component vector of float)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:85 Constant:
+0:85 4.000000
+0:85 imageStore (temp void)
+0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:87 Sequence
+0:87 move second child to first child (temp int)
+0:87 'coordTemp' (temp int)
+0:87 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:87 Constant:
+0:87 0 (const uint)
+0:87 move second child to first child (temp 4-component vector of int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:87 imageLoad (temp 4-component vector of int)
+0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 divide second child into first child (temp 4-component vector of int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:87 Constant:
+0:87 2 (const int)
+0:87 imageStore (temp void)
+0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:88 Sequence
+0:88 move second child to first child (temp int)
+0:88 'coordTemp' (temp int)
+0:88 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:88 Constant:
+0:88 0 (const uint)
+0:88 move second child to first child (temp 4-component vector of int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:88 imageLoad (temp 4-component vector of int)
+0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 mod second child into first child (temp 4-component vector of int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:88 Constant:
+0:88 2 (const int)
+0:88 imageStore (temp void)
+0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:89 Sequence
+0:89 move second child to first child (temp int)
+0:89 'coordTemp' (temp int)
+0:89 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:89 Constant:
+0:89 0 (const uint)
+0:89 move second child to first child (temp 4-component vector of int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:89 imageLoad (temp 4-component vector of int)
+0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 and second child into first child (temp 4-component vector of int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:89 Constant:
+0:89 65535 (const int)
+0:89 imageStore (temp void)
+0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:90 Sequence
+0:90 move second child to first child (temp int)
+0:90 'coordTemp' (temp int)
+0:90 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:90 Constant:
+0:90 0 (const uint)
+0:90 move second child to first child (temp 4-component vector of int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:90 imageLoad (temp 4-component vector of int)
+0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 or second child into first child (temp 4-component vector of int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:90 Constant:
+0:90 61680 (const int)
+0:90 imageStore (temp void)
+0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:91 Sequence
+0:91 move second child to first child (temp int)
+0:91 'coordTemp' (temp int)
+0:91 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:91 Constant:
+0:91 0 (const uint)
+0:91 move second child to first child (temp 4-component vector of int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:91 imageLoad (temp 4-component vector of int)
+0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 left shift second child into first child (temp 4-component vector of int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:91 Constant:
+0:91 2 (const int)
+0:91 imageStore (temp void)
+0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:92 Sequence
+0:92 move second child to first child (temp int)
+0:92 'coordTemp' (temp int)
+0:92 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:92 Constant:
+0:92 0 (const uint)
+0:92 move second child to first child (temp 4-component vector of int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:92 imageLoad (temp 4-component vector of int)
+0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 right shift second child into first child (temp 4-component vector of int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:92 imageStore (temp void)
+0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:95 Sequence
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'storeTemp' (temp 4-component vector of float)
+0:95 Function Call: SomeValue( (temp 4-component vector of float)
+0:95 imageStore (temp void)
+0:95 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:95 Constant:
+0:95 1 (const uint)
+0:95 'storeTemp' (temp 4-component vector of float)
+0:95 'storeTemp' (temp 4-component vector of float)
+0:96 Sequence
+0:96 imageStore (temp void)
+0:96 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:96 Constant:
+0:96 1 (const uint)
+0:96 'lf4' (temp 4-component vector of float)
+0:96 'lf4' (temp 4-component vector of float)
+0:97 Sequence
+0:97 move second child to first child (temp 4-component vector of int)
+0:97 'storeTemp' (temp 4-component vector of int)
+0:? Constant:
+0:? 5 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:97 imageStore (temp void)
+0:97 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
+0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:97 Constant:
+0:97 1 (const uint)
+0:97 'storeTemp' (temp 4-component vector of int)
+0:97 'storeTemp' (temp 4-component vector of int)
+0:98 Sequence
+0:98 move second child to first child (temp 4-component vector of uint)
+0:98 'storeTemp' (temp 4-component vector of uint)
+0:? Constant:
+0:? 6 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:98 imageStore (temp void)
+0:98 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
+0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:98 Constant:
+0:98 1 (const uint)
+0:98 'storeTemp' (temp 4-component vector of uint)
+0:98 'storeTemp' (temp 4-component vector of uint)
+0:101 Sequence
+0:101 move second child to first child (temp 4-component vector of float)
+0:101 'storeTemp' (temp 4-component vector of float)
+0:101 Function Call: SomeValue( (temp 4-component vector of float)
+0:101 imageStore (temp void)
+0:101 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:101 Constant:
+0:101 2 (const uint)
+0:101 'storeTemp' (temp 4-component vector of float)
+0:101 'storeTemp' (temp 4-component vector of float)
+0:102 Sequence
+0:102 imageStore (temp void)
+0:102 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:102 Constant:
+0:102 2 (const uint)
+0:102 'lf4' (temp 4-component vector of float)
+0:102 'lf4' (temp 4-component vector of float)
+0:103 Sequence
+0:103 move second child to first child (temp 4-component vector of int)
+0:103 'storeTemp' (temp 4-component vector of int)
+0:? Constant:
+0:? 8 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:103 imageStore (temp void)
+0:103 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
+0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:103 Constant:
+0:103 2 (const uint)
+0:103 'storeTemp' (temp 4-component vector of int)
+0:103 'storeTemp' (temp 4-component vector of int)
+0:104 Sequence
+0:104 move second child to first child (temp 4-component vector of uint)
+0:104 'storeTemp' (temp 4-component vector of uint)
+0:? Constant:
+0:? 9 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:104 imageStore (temp void)
+0:104 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
+0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:104 Constant:
+0:104 2 (const uint)
+0:104 'storeTemp' (temp 4-component vector of uint)
+0:104 'storeTemp' (temp 4-component vector of uint)
+0:107 Function Call: Fn1(vf4; (temp 4-component vector of float)
+0:107 imageLoad (temp 4-component vector of float)
+0:107 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:107 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:107 Constant:
+0:107 0 (const uint)
+0:108 Function Call: Fn1(vi4; (temp 4-component vector of int)
+0:108 imageLoad (temp 4-component vector of int)
+0:108 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:108 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:108 Constant:
+0:108 0 (const uint)
+0:109 Function Call: Fn1(vu4; (temp 4-component vector of uint)
+0:109 imageLoad (temp 4-component vector of uint)
+0:109 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:109 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:109 Constant:
+0:109 0 (const uint)
+0:111 Comma (temp void)
+0:111 Function Call: Fn2(vf4; (temp void)
+0:111 'tempArg' (temp 4-component vector of float)
+0:111 Sequence
+0:111 imageStore (temp void)
+0:111 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:111 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:111 Constant:
+0:111 0 (const uint)
+0:111 'tempArg' (temp 4-component vector of float)
+0:111 'tempArg' (temp 4-component vector of float)
+0:112 Comma (temp void)
+0:112 Function Call: Fn2(vi4; (temp void)
+0:112 'tempArg' (temp 4-component vector of int)
+0:112 Sequence
+0:112 imageStore (temp void)
+0:112 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:112 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:112 Constant:
+0:112 0 (const uint)
+0:112 'tempArg' (temp 4-component vector of int)
+0:112 'tempArg' (temp 4-component vector of int)
+0:113 Comma (temp void)
+0:113 Function Call: Fn2(vu4; (temp void)
+0:113 'tempArg' (temp 4-component vector of uint)
+0:113 Sequence
+0:113 imageStore (temp void)
+0:113 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:113 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:113 Constant:
+0:113 0 (const uint)
+0:113 'tempArg' (temp 4-component vector of uint)
+0:113 'tempArg' (temp 4-component vector of uint)
+0:117 Sequence
+0:117 move second child to first child (temp int)
+0:117 'coordTemp' (temp int)
+0:117 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:117 Constant:
+0:117 0 (const uint)
+0:117 move second child to first child (temp 4-component vector of float)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:117 imageLoad (temp 4-component vector of float)
+0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 Pre-Increment (temp 4-component vector of float)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:117 imageStore (temp void)
+0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:118 Sequence
+0:118 move second child to first child (temp int)
+0:118 'coordTemp' (temp int)
+0:118 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:118 Constant:
+0:118 0 (const uint)
+0:118 move second child to first child (temp 4-component vector of int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:118 imageLoad (temp 4-component vector of int)
+0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 Pre-Increment (temp 4-component vector of int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:118 imageStore (temp void)
+0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:119 Sequence
+0:119 move second child to first child (temp int)
+0:119 'coordTemp' (temp int)
+0:119 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:119 Constant:
+0:119 0 (const uint)
+0:119 move second child to first child (temp 4-component vector of uint)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:119 imageLoad (temp 4-component vector of uint)
+0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 Pre-Increment (temp 4-component vector of uint)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:119 imageStore (temp void)
+0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:121 Sequence
+0:121 move second child to first child (temp int)
+0:121 'coordTemp' (temp int)
+0:121 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:121 Constant:
+0:121 0 (const uint)
+0:121 move second child to first child (temp 4-component vector of float)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:121 imageLoad (temp 4-component vector of float)
+0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 Pre-Decrement (temp 4-component vector of float)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:121 imageStore (temp void)
+0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:122 Sequence
+0:122 move second child to first child (temp int)
+0:122 'coordTemp' (temp int)
+0:122 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:122 Constant:
+0:122 0 (const uint)
+0:122 move second child to first child (temp 4-component vector of int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:122 imageLoad (temp 4-component vector of int)
+0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 Pre-Decrement (temp 4-component vector of int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:122 imageStore (temp void)
+0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:123 Sequence
+0:123 move second child to first child (temp int)
+0:123 'coordTemp' (temp int)
+0:123 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:123 Constant:
+0:123 0 (const uint)
+0:123 move second child to first child (temp 4-component vector of uint)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:123 imageLoad (temp 4-component vector of uint)
+0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 Pre-Decrement (temp 4-component vector of uint)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:123 imageStore (temp void)
+0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'coordTemp' (temp int)
+0:126 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:126 Constant:
+0:126 0 (const uint)
+0:126 move second child to first child (temp 4-component vector of float)
+0:126 'storeTempPre' (temp 4-component vector of float)
+0:126 imageLoad (temp 4-component vector of float)
+0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 move second child to first child (temp 4-component vector of float)
+0:126 'storeTempPost' (temp 4-component vector of float)
+0:126 'storeTempPre' (temp 4-component vector of float)
+0:126 Post-Increment (temp 4-component vector of float)
+0:126 'storeTempPost' (temp 4-component vector of float)
+0:126 imageStore (temp void)
+0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 'storeTempPost' (temp 4-component vector of float)
+0:126 'storeTempPre' (temp 4-component vector of float)
+0:127 Sequence
+0:127 move second child to first child (temp int)
+0:127 'coordTemp' (temp int)
+0:127 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:127 Constant:
+0:127 0 (const uint)
+0:127 move second child to first child (temp 4-component vector of uint)
+0:127 'storeTempPre' (temp 4-component vector of uint)
+0:127 imageLoad (temp 4-component vector of uint)
+0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 move second child to first child (temp 4-component vector of uint)
+0:127 'storeTempPost' (temp 4-component vector of uint)
+0:127 'storeTempPre' (temp 4-component vector of uint)
+0:127 Post-Decrement (temp 4-component vector of uint)
+0:127 'storeTempPost' (temp 4-component vector of uint)
+0:127 imageStore (temp void)
+0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 'storeTempPost' (temp 4-component vector of uint)
+0:127 'storeTempPre' (temp 4-component vector of uint)
+0:128 Sequence
+0:128 move second child to first child (temp int)
+0:128 'coordTemp' (temp int)
+0:128 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:128 Constant:
+0:128 0 (const uint)
+0:128 move second child to first child (temp 4-component vector of int)
+0:128 'storeTempPre' (temp 4-component vector of int)
+0:128 imageLoad (temp 4-component vector of int)
+0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 move second child to first child (temp 4-component vector of int)
+0:128 'storeTempPost' (temp 4-component vector of int)
+0:128 'storeTempPre' (temp 4-component vector of int)
+0:128 Post-Increment (temp 4-component vector of int)
+0:128 'storeTempPost' (temp 4-component vector of int)
+0:128 imageStore (temp void)
+0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 'storeTempPost' (temp 4-component vector of int)
+0:128 'storeTempPre' (temp 4-component vector of int)
+0:130 Sequence
+0:130 move second child to first child (temp int)
+0:130 'coordTemp' (temp int)
+0:130 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:130 Constant:
+0:130 0 (const uint)
+0:130 move second child to first child (temp 4-component vector of float)
+0:130 'storeTempPre' (temp 4-component vector of float)
+0:130 imageLoad (temp 4-component vector of float)
+0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 move second child to first child (temp 4-component vector of float)
+0:130 'storeTempPost' (temp 4-component vector of float)
+0:130 'storeTempPre' (temp 4-component vector of float)
+0:130 Post-Decrement (temp 4-component vector of float)
+0:130 'storeTempPost' (temp 4-component vector of float)
+0:130 imageStore (temp void)
+0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 'storeTempPost' (temp 4-component vector of float)
+0:130 'storeTempPre' (temp 4-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'coordTemp' (temp int)
+0:131 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:131 Constant:
+0:131 0 (const uint)
+0:131 move second child to first child (temp 4-component vector of int)
+0:131 'storeTempPre' (temp 4-component vector of int)
+0:131 imageLoad (temp 4-component vector of int)
+0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 move second child to first child (temp 4-component vector of int)
+0:131 'storeTempPost' (temp 4-component vector of int)
+0:131 'storeTempPre' (temp 4-component vector of int)
+0:131 Post-Increment (temp 4-component vector of int)
+0:131 'storeTempPost' (temp 4-component vector of int)
+0:131 imageStore (temp void)
+0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 'storeTempPost' (temp 4-component vector of int)
+0:131 'storeTempPre' (temp 4-component vector of int)
+0:132 Sequence
+0:132 move second child to first child (temp int)
+0:132 'coordTemp' (temp int)
+0:132 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:132 Constant:
+0:132 0 (const uint)
+0:132 move second child to first child (temp 4-component vector of uint)
+0:132 'storeTempPre' (temp 4-component vector of uint)
+0:132 imageLoad (temp 4-component vector of uint)
+0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 move second child to first child (temp 4-component vector of uint)
+0:132 'storeTempPost' (temp 4-component vector of uint)
+0:132 'storeTempPre' (temp 4-component vector of uint)
+0:132 Post-Decrement (temp 4-component vector of uint)
+0:132 'storeTempPost' (temp 4-component vector of uint)
+0:132 imageStore (temp void)
+0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 'storeTempPost' (temp 4-component vector of uint)
+0:132 'storeTempPre' (temp 4-component vector of uint)
+0:135 Sequence
+0:135 move second child to first child (temp 4-component vector of float)
+0:135 'storeTemp' (temp 4-component vector of float)
+0:? imageLoad (temp 4-component vector of float)
+0:135 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:? Constant:
+0:? 2 (const int)
+0:? 3 (const int)
+0:135 imageStore (temp void)
+0:135 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:135 Constant:
+0:135 1 (const int)
+0:135 'storeTemp' (temp 4-component vector of float)
+0:135 'storeTemp' (temp 4-component vector of float)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 Color: direct index for structure (temp 4-component vector of float)
+0:137 'psout' (temp structure{temp 4-component vector of float Color})
+0:137 Constant:
+0:137 0 (const int)
+0:137 Constant:
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:139 Color: direct index for structure (temp 4-component vector of float)
+0:139 'psout' (temp structure{temp 4-component vector of float Color})
+0:139 Constant:
+0:139 0 (const int)
+0:139 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
+0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
+0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
+0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
+0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
+0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
+0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
+0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
+0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
+0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42 Function Definition: Fn1(vi4; (temp 4-component vector of int)
+0:42 Function Parameters:
+0:42 'x' (in 4-component vector of int)
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 'x' (in 4-component vector of int)
+0:43 Function Definition: Fn1(vu4; (temp 4-component vector of uint)
+0:43 Function Parameters:
+0:43 'x' (in 4-component vector of uint)
+0:? Sequence
+0:43 Branch: Return with expression
+0:43 'x' (in 4-component vector of uint)
+0:44 Function Definition: Fn1(vf4; (temp 4-component vector of float)
+0:44 Function Parameters:
+0:44 'x' (in 4-component vector of float)
+0:? Sequence
+0:44 Branch: Return with expression
+0:44 'x' (in 4-component vector of float)
+0:46 Function Definition: Fn2(vi4; (temp void)
+0:46 Function Parameters:
+0:46 'x' (out 4-component vector of int)
+0:? Sequence
+0:46 move second child to first child (temp 4-component vector of int)
+0:46 'x' (out 4-component vector of int)
+0:46 Constant:
+0:46 0 (const int)
+0:46 0 (const int)
+0:46 0 (const int)
+0:46 0 (const int)
+0:47 Function Definition: Fn2(vu4; (temp void)
+0:47 Function Parameters:
+0:47 'x' (out 4-component vector of uint)
+0:? Sequence
+0:47 move second child to first child (temp 4-component vector of uint)
+0:47 'x' (out 4-component vector of uint)
+0:47 Constant:
+0:47 0 (const uint)
+0:47 0 (const uint)
+0:47 0 (const uint)
+0:47 0 (const uint)
+0:48 Function Definition: Fn2(vf4; (temp void)
+0:48 Function Parameters:
+0:48 'x' (out 4-component vector of float)
+0:? Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'x' (out 4-component vector of float)
+0:48 Constant:
+0:48 0.000000
+0:48 0.000000
+0:48 0.000000
+0:48 0.000000
+0:50 Function Definition: SomeValue( (temp 4-component vector of float)
+0:50 Function Parameters:
+0:? Sequence
+0:50 Branch: Return with expression
+0:50 Convert int to float (temp 4-component vector of float)
+0:50 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
+0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:50 Constant:
+0:50 3 (const uint)
+0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53 Function Parameters:
+0:? Sequence
+0:57 imageLoad (temp 4-component vector of float)
+0:57 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:57 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:57 Constant:
+0:57 0 (const uint)
+0:59 Sequence
+0:59 move second child to first child (temp 4-component vector of float)
+0:59 'r00' (temp 4-component vector of float)
+0:59 imageLoad (temp 4-component vector of float)
+0:59 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:59 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:59 Constant:
+0:59 0 (const uint)
+0:60 Sequence
+0:60 move second child to first child (temp 4-component vector of int)
+0:60 'r01' (temp 4-component vector of int)
+0:60 imageLoad (temp 4-component vector of int)
+0:60 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:60 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:60 Constant:
+0:60 0 (const uint)
+0:61 Sequence
+0:61 move second child to first child (temp 4-component vector of uint)
+0:61 'r02' (temp 4-component vector of uint)
+0:61 imageLoad (temp 4-component vector of uint)
+0:61 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:61 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:61 Constant:
+0:61 0 (const uint)
+0:64 Sequence
+0:64 move second child to first child (temp 4-component vector of float)
+0:64 'r10' (temp 4-component vector of float)
+0:64 imageLoad (temp 4-component vector of float)
+0:64 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:64 Constant:
+0:64 1 (const uint)
+0:65 Sequence
+0:65 move second child to first child (temp 4-component vector of int)
+0:65 'r11' (temp 4-component vector of int)
+0:65 imageLoad (temp 4-component vector of int)
+0:65 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
+0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:65 Constant:
+0:65 1 (const uint)
+0:66 Sequence
+0:66 move second child to first child (temp 4-component vector of uint)
+0:66 'r12' (temp 4-component vector of uint)
+0:66 imageLoad (temp 4-component vector of uint)
+0:66 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
+0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:66 Constant:
+0:66 1 (const uint)
+0:69 Sequence
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 'r20' (temp 4-component vector of float)
+0:69 imageLoad (temp 4-component vector of float)
+0:69 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp 4-component vector of int)
+0:70 'r21' (temp 4-component vector of int)
+0:70 imageLoad (temp 4-component vector of int)
+0:70 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
+0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:70 Constant:
+0:70 2 (const uint)
+0:71 Sequence
+0:71 move second child to first child (temp 4-component vector of uint)
+0:71 'r22' (temp 4-component vector of uint)
+0:71 imageLoad (temp 4-component vector of uint)
+0:71 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
+0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:71 Constant:
+0:71 2 (const uint)
+0:73 Sequence
+0:73 move second child to first child (temp 4-component vector of float)
+0:73 'lf4' (temp 4-component vector of float)
+0:73 uf4: direct index for structure (layout(offset=96 ) uniform 4-component vector of float)
+0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:73 Constant:
+0:73 8 (const uint)
+0:77 Sequence
+0:77 move second child to first child (temp 4-component vector of float)
+0:77 'storeTemp' (temp 4-component vector of float)
+0:77 Function Call: SomeValue( (temp 4-component vector of float)
+0:77 imageStore (temp void)
+0:77 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:77 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:77 Constant:
+0:77 0 (const uint)
+0:77 'storeTemp' (temp 4-component vector of float)
+0:77 'storeTemp' (temp 4-component vector of float)
+0:78 Sequence
+0:78 imageStore (temp void)
+0:78 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:78 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:78 Constant:
+0:78 0 (const uint)
+0:78 'lf4' (temp 4-component vector of float)
+0:78 'lf4' (temp 4-component vector of float)
+0:79 Sequence
+0:79 move second child to first child (temp 4-component vector of int)
+0:79 'storeTemp' (temp 4-component vector of int)
+0:? Constant:
+0:? 2 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:79 imageStore (temp void)
+0:79 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:79 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:79 Constant:
+0:79 0 (const uint)
+0:79 'storeTemp' (temp 4-component vector of int)
+0:79 'storeTemp' (temp 4-component vector of int)
+0:80 Sequence
+0:80 move second child to first child (temp 4-component vector of uint)
+0:80 'storeTemp' (temp 4-component vector of uint)
+0:? Constant:
+0:? 3 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:80 imageStore (temp void)
+0:80 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:80 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:80 Constant:
+0:80 0 (const uint)
+0:80 'storeTemp' (temp 4-component vector of uint)
+0:80 'storeTemp' (temp 4-component vector of uint)
+0:83 Sequence
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 'val1' (temp 4-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp int)
+0:83 'coordTemp' (temp int)
+0:83 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:83 Constant:
+0:83 0 (const uint)
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:83 imageLoad (temp 4-component vector of float)
+0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 vector scale second child into first child (temp 4-component vector of float)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:83 Constant:
+0:83 2.000000
+0:83 imageStore (temp void)
+0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:83 'storeTemp' (temp 4-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp int)
+0:84 'coordTemp' (temp int)
+0:84 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:84 Constant:
+0:84 0 (const uint)
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:84 imageLoad (temp 4-component vector of float)
+0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 subtract second child into first child (temp 4-component vector of float)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:84 Constant:
+0:84 3.000000
+0:84 imageStore (temp void)
+0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:84 'storeTemp' (temp 4-component vector of float)
+0:85 Sequence
+0:85 move second child to first child (temp int)
+0:85 'coordTemp' (temp int)
+0:85 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:85 Constant:
+0:85 0 (const uint)
+0:85 move second child to first child (temp 4-component vector of float)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:85 imageLoad (temp 4-component vector of float)
+0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 add second child into first child (temp 4-component vector of float)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:85 Constant:
+0:85 4.000000
+0:85 imageStore (temp void)
+0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:85 'storeTemp' (temp 4-component vector of float)
+0:87 Sequence
+0:87 move second child to first child (temp int)
+0:87 'coordTemp' (temp int)
+0:87 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:87 Constant:
+0:87 0 (const uint)
+0:87 move second child to first child (temp 4-component vector of int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:87 imageLoad (temp 4-component vector of int)
+0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 divide second child into first child (temp 4-component vector of int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:87 Constant:
+0:87 2 (const int)
+0:87 imageStore (temp void)
+0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:87 'storeTemp' (temp 4-component vector of int)
+0:88 Sequence
+0:88 move second child to first child (temp int)
+0:88 'coordTemp' (temp int)
+0:88 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:88 Constant:
+0:88 0 (const uint)
+0:88 move second child to first child (temp 4-component vector of int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:88 imageLoad (temp 4-component vector of int)
+0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 mod second child into first child (temp 4-component vector of int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:88 Constant:
+0:88 2 (const int)
+0:88 imageStore (temp void)
+0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:88 'storeTemp' (temp 4-component vector of int)
+0:89 Sequence
+0:89 move second child to first child (temp int)
+0:89 'coordTemp' (temp int)
+0:89 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:89 Constant:
+0:89 0 (const uint)
+0:89 move second child to first child (temp 4-component vector of int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:89 imageLoad (temp 4-component vector of int)
+0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 and second child into first child (temp 4-component vector of int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:89 Constant:
+0:89 65535 (const int)
+0:89 imageStore (temp void)
+0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:89 'storeTemp' (temp 4-component vector of int)
+0:90 Sequence
+0:90 move second child to first child (temp int)
+0:90 'coordTemp' (temp int)
+0:90 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:90 Constant:
+0:90 0 (const uint)
+0:90 move second child to first child (temp 4-component vector of int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:90 imageLoad (temp 4-component vector of int)
+0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 or second child into first child (temp 4-component vector of int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:90 Constant:
+0:90 61680 (const int)
+0:90 imageStore (temp void)
+0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:90 'storeTemp' (temp 4-component vector of int)
+0:91 Sequence
+0:91 move second child to first child (temp int)
+0:91 'coordTemp' (temp int)
+0:91 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:91 Constant:
+0:91 0 (const uint)
+0:91 move second child to first child (temp 4-component vector of int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:91 imageLoad (temp 4-component vector of int)
+0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 left shift second child into first child (temp 4-component vector of int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:91 Constant:
+0:91 2 (const int)
+0:91 imageStore (temp void)
+0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:91 'storeTemp' (temp 4-component vector of int)
+0:92 Sequence
+0:92 move second child to first child (temp int)
+0:92 'coordTemp' (temp int)
+0:92 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:92 Constant:
+0:92 0 (const uint)
+0:92 move second child to first child (temp 4-component vector of int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:92 imageLoad (temp 4-component vector of int)
+0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 right shift second child into first child (temp 4-component vector of int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:92 imageStore (temp void)
+0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:92 'storeTemp' (temp 4-component vector of int)
+0:95 Sequence
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'storeTemp' (temp 4-component vector of float)
+0:95 Function Call: SomeValue( (temp 4-component vector of float)
+0:95 imageStore (temp void)
+0:95 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:95 Constant:
+0:95 1 (const uint)
+0:95 'storeTemp' (temp 4-component vector of float)
+0:95 'storeTemp' (temp 4-component vector of float)
+0:96 Sequence
+0:96 imageStore (temp void)
+0:96 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:96 Constant:
+0:96 1 (const uint)
+0:96 'lf4' (temp 4-component vector of float)
+0:96 'lf4' (temp 4-component vector of float)
+0:97 Sequence
+0:97 move second child to first child (temp 4-component vector of int)
+0:97 'storeTemp' (temp 4-component vector of int)
+0:? Constant:
+0:? 5 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:97 imageStore (temp void)
+0:97 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
+0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:97 Constant:
+0:97 1 (const uint)
+0:97 'storeTemp' (temp 4-component vector of int)
+0:97 'storeTemp' (temp 4-component vector of int)
+0:98 Sequence
+0:98 move second child to first child (temp 4-component vector of uint)
+0:98 'storeTemp' (temp 4-component vector of uint)
+0:? Constant:
+0:? 6 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:98 imageStore (temp void)
+0:98 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
+0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:98 Constant:
+0:98 1 (const uint)
+0:98 'storeTemp' (temp 4-component vector of uint)
+0:98 'storeTemp' (temp 4-component vector of uint)
+0:101 Sequence
+0:101 move second child to first child (temp 4-component vector of float)
+0:101 'storeTemp' (temp 4-component vector of float)
+0:101 Function Call: SomeValue( (temp 4-component vector of float)
+0:101 imageStore (temp void)
+0:101 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:101 Constant:
+0:101 2 (const uint)
+0:101 'storeTemp' (temp 4-component vector of float)
+0:101 'storeTemp' (temp 4-component vector of float)
+0:102 Sequence
+0:102 imageStore (temp void)
+0:102 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:102 Constant:
+0:102 2 (const uint)
+0:102 'lf4' (temp 4-component vector of float)
+0:102 'lf4' (temp 4-component vector of float)
+0:103 Sequence
+0:103 move second child to first child (temp 4-component vector of int)
+0:103 'storeTemp' (temp 4-component vector of int)
+0:? Constant:
+0:? 8 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:103 imageStore (temp void)
+0:103 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
+0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:103 Constant:
+0:103 2 (const uint)
+0:103 'storeTemp' (temp 4-component vector of int)
+0:103 'storeTemp' (temp 4-component vector of int)
+0:104 Sequence
+0:104 move second child to first child (temp 4-component vector of uint)
+0:104 'storeTemp' (temp 4-component vector of uint)
+0:? Constant:
+0:? 9 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:104 imageStore (temp void)
+0:104 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
+0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:104 Constant:
+0:104 2 (const uint)
+0:104 'storeTemp' (temp 4-component vector of uint)
+0:104 'storeTemp' (temp 4-component vector of uint)
+0:107 Function Call: Fn1(vf4; (temp 4-component vector of float)
+0:107 imageLoad (temp 4-component vector of float)
+0:107 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:107 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:107 Constant:
+0:107 0 (const uint)
+0:108 Function Call: Fn1(vi4; (temp 4-component vector of int)
+0:108 imageLoad (temp 4-component vector of int)
+0:108 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:108 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:108 Constant:
+0:108 0 (const uint)
+0:109 Function Call: Fn1(vu4; (temp 4-component vector of uint)
+0:109 imageLoad (temp 4-component vector of uint)
+0:109 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:109 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:109 Constant:
+0:109 0 (const uint)
+0:111 Comma (temp void)
+0:111 Function Call: Fn2(vf4; (temp void)
+0:111 'tempArg' (temp 4-component vector of float)
+0:111 Sequence
+0:111 imageStore (temp void)
+0:111 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:111 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:111 Constant:
+0:111 0 (const uint)
+0:111 'tempArg' (temp 4-component vector of float)
+0:111 'tempArg' (temp 4-component vector of float)
+0:112 Comma (temp void)
+0:112 Function Call: Fn2(vi4; (temp void)
+0:112 'tempArg' (temp 4-component vector of int)
+0:112 Sequence
+0:112 imageStore (temp void)
+0:112 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:112 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:112 Constant:
+0:112 0 (const uint)
+0:112 'tempArg' (temp 4-component vector of int)
+0:112 'tempArg' (temp 4-component vector of int)
+0:113 Comma (temp void)
+0:113 Function Call: Fn2(vu4; (temp void)
+0:113 'tempArg' (temp 4-component vector of uint)
+0:113 Sequence
+0:113 imageStore (temp void)
+0:113 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:113 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:113 Constant:
+0:113 0 (const uint)
+0:113 'tempArg' (temp 4-component vector of uint)
+0:113 'tempArg' (temp 4-component vector of uint)
+0:117 Sequence
+0:117 move second child to first child (temp int)
+0:117 'coordTemp' (temp int)
+0:117 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:117 Constant:
+0:117 0 (const uint)
+0:117 move second child to first child (temp 4-component vector of float)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:117 imageLoad (temp 4-component vector of float)
+0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 Pre-Increment (temp 4-component vector of float)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:117 imageStore (temp void)
+0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:117 'storeTemp' (temp 4-component vector of float)
+0:118 Sequence
+0:118 move second child to first child (temp int)
+0:118 'coordTemp' (temp int)
+0:118 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:118 Constant:
+0:118 0 (const uint)
+0:118 move second child to first child (temp 4-component vector of int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:118 imageLoad (temp 4-component vector of int)
+0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 Pre-Increment (temp 4-component vector of int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:118 imageStore (temp void)
+0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:118 'storeTemp' (temp 4-component vector of int)
+0:119 Sequence
+0:119 move second child to first child (temp int)
+0:119 'coordTemp' (temp int)
+0:119 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:119 Constant:
+0:119 0 (const uint)
+0:119 move second child to first child (temp 4-component vector of uint)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:119 imageLoad (temp 4-component vector of uint)
+0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 Pre-Increment (temp 4-component vector of uint)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:119 imageStore (temp void)
+0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:119 'storeTemp' (temp 4-component vector of uint)
+0:121 Sequence
+0:121 move second child to first child (temp int)
+0:121 'coordTemp' (temp int)
+0:121 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:121 Constant:
+0:121 0 (const uint)
+0:121 move second child to first child (temp 4-component vector of float)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:121 imageLoad (temp 4-component vector of float)
+0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 Pre-Decrement (temp 4-component vector of float)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:121 imageStore (temp void)
+0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:121 'storeTemp' (temp 4-component vector of float)
+0:122 Sequence
+0:122 move second child to first child (temp int)
+0:122 'coordTemp' (temp int)
+0:122 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:122 Constant:
+0:122 0 (const uint)
+0:122 move second child to first child (temp 4-component vector of int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:122 imageLoad (temp 4-component vector of int)
+0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 Pre-Decrement (temp 4-component vector of int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:122 imageStore (temp void)
+0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:122 'storeTemp' (temp 4-component vector of int)
+0:123 Sequence
+0:123 move second child to first child (temp int)
+0:123 'coordTemp' (temp int)
+0:123 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:123 Constant:
+0:123 0 (const uint)
+0:123 move second child to first child (temp 4-component vector of uint)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:123 imageLoad (temp 4-component vector of uint)
+0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 Pre-Decrement (temp 4-component vector of uint)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:123 imageStore (temp void)
+0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:123 'storeTemp' (temp 4-component vector of uint)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'coordTemp' (temp int)
+0:126 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:126 Constant:
+0:126 0 (const uint)
+0:126 move second child to first child (temp 4-component vector of float)
+0:126 'storeTempPre' (temp 4-component vector of float)
+0:126 imageLoad (temp 4-component vector of float)
+0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 move second child to first child (temp 4-component vector of float)
+0:126 'storeTempPost' (temp 4-component vector of float)
+0:126 'storeTempPre' (temp 4-component vector of float)
+0:126 Post-Increment (temp 4-component vector of float)
+0:126 'storeTempPost' (temp 4-component vector of float)
+0:126 imageStore (temp void)
+0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 'storeTempPost' (temp 4-component vector of float)
+0:126 'storeTempPre' (temp 4-component vector of float)
+0:127 Sequence
+0:127 move second child to first child (temp int)
+0:127 'coordTemp' (temp int)
+0:127 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:127 Constant:
+0:127 0 (const uint)
+0:127 move second child to first child (temp 4-component vector of uint)
+0:127 'storeTempPre' (temp 4-component vector of uint)
+0:127 imageLoad (temp 4-component vector of uint)
+0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 move second child to first child (temp 4-component vector of uint)
+0:127 'storeTempPost' (temp 4-component vector of uint)
+0:127 'storeTempPre' (temp 4-component vector of uint)
+0:127 Post-Decrement (temp 4-component vector of uint)
+0:127 'storeTempPost' (temp 4-component vector of uint)
+0:127 imageStore (temp void)
+0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 'storeTempPost' (temp 4-component vector of uint)
+0:127 'storeTempPre' (temp 4-component vector of uint)
+0:128 Sequence
+0:128 move second child to first child (temp int)
+0:128 'coordTemp' (temp int)
+0:128 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:128 Constant:
+0:128 0 (const uint)
+0:128 move second child to first child (temp 4-component vector of int)
+0:128 'storeTempPre' (temp 4-component vector of int)
+0:128 imageLoad (temp 4-component vector of int)
+0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 move second child to first child (temp 4-component vector of int)
+0:128 'storeTempPost' (temp 4-component vector of int)
+0:128 'storeTempPre' (temp 4-component vector of int)
+0:128 Post-Increment (temp 4-component vector of int)
+0:128 'storeTempPost' (temp 4-component vector of int)
+0:128 imageStore (temp void)
+0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 'storeTempPost' (temp 4-component vector of int)
+0:128 'storeTempPre' (temp 4-component vector of int)
+0:130 Sequence
+0:130 move second child to first child (temp int)
+0:130 'coordTemp' (temp int)
+0:130 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:130 Constant:
+0:130 0 (const uint)
+0:130 move second child to first child (temp 4-component vector of float)
+0:130 'storeTempPre' (temp 4-component vector of float)
+0:130 imageLoad (temp 4-component vector of float)
+0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 move second child to first child (temp 4-component vector of float)
+0:130 'storeTempPost' (temp 4-component vector of float)
+0:130 'storeTempPre' (temp 4-component vector of float)
+0:130 Post-Decrement (temp 4-component vector of float)
+0:130 'storeTempPost' (temp 4-component vector of float)
+0:130 imageStore (temp void)
+0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 'storeTempPost' (temp 4-component vector of float)
+0:130 'storeTempPre' (temp 4-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'coordTemp' (temp int)
+0:131 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:131 Constant:
+0:131 0 (const uint)
+0:131 move second child to first child (temp 4-component vector of int)
+0:131 'storeTempPre' (temp 4-component vector of int)
+0:131 imageLoad (temp 4-component vector of int)
+0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 move second child to first child (temp 4-component vector of int)
+0:131 'storeTempPost' (temp 4-component vector of int)
+0:131 'storeTempPre' (temp 4-component vector of int)
+0:131 Post-Increment (temp 4-component vector of int)
+0:131 'storeTempPost' (temp 4-component vector of int)
+0:131 imageStore (temp void)
+0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 'storeTempPost' (temp 4-component vector of int)
+0:131 'storeTempPre' (temp 4-component vector of int)
+0:132 Sequence
+0:132 move second child to first child (temp int)
+0:132 'coordTemp' (temp int)
+0:132 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:132 Constant:
+0:132 0 (const uint)
+0:132 move second child to first child (temp 4-component vector of uint)
+0:132 'storeTempPre' (temp 4-component vector of uint)
+0:132 imageLoad (temp 4-component vector of uint)
+0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 move second child to first child (temp 4-component vector of uint)
+0:132 'storeTempPost' (temp 4-component vector of uint)
+0:132 'storeTempPre' (temp 4-component vector of uint)
+0:132 Post-Decrement (temp 4-component vector of uint)
+0:132 'storeTempPost' (temp 4-component vector of uint)
+0:132 imageStore (temp void)
+0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 'storeTempPost' (temp 4-component vector of uint)
+0:132 'storeTempPre' (temp 4-component vector of uint)
+0:135 Sequence
+0:135 move second child to first child (temp 4-component vector of float)
+0:135 'storeTemp' (temp 4-component vector of float)
+0:? imageLoad (temp 4-component vector of float)
+0:135 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:? Constant:
+0:? 2 (const int)
+0:? 3 (const int)
+0:135 imageStore (temp void)
+0:135 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:135 Constant:
+0:135 1 (const int)
+0:135 'storeTemp' (temp 4-component vector of float)
+0:135 'storeTemp' (temp 4-component vector of float)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 Color: direct index for structure (temp 4-component vector of float)
+0:137 'psout' (temp structure{temp 4-component vector of float Color})
+0:137 Constant:
+0:137 0 (const int)
+0:137 Constant:
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:139 Color: direct index for structure (temp 4-component vector of float)
+0:139 'psout' (temp structure{temp 4-component vector of float Color})
+0:139 Constant:
+0:139 0 (const int)
+0:139 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
+0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
+0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
+0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D)
+0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
+0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
+0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D)
+0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
+0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
+0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
+0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
+0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
+0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
+0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
+0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 602
+
+ Capability Shader
+ Capability Sampled1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 577
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 11 "Fn1(vi4;"
+ Name 10 "x"
+ Name 18 "Fn1(vu4;"
+ Name 17 "x"
+ Name 25 "Fn1(vf4;"
+ Name 24 "x"
+ Name 29 "Fn2(vi4;"
+ Name 28 "x"
+ Name 33 "Fn2(vu4;"
+ Name 32 "x"
+ Name 37 "Fn2(vf4;"
+ Name 36 "x"
+ Name 40 "SomeValue("
+ Name 59 "$Global"
+ MemberName 59($Global) 0 "c1"
+ MemberName 59($Global) 1 "c2"
+ MemberName 59($Global) 2 "c3"
+ MemberName 59($Global) 3 "c4"
+ MemberName 59($Global) 4 "o1"
+ MemberName 59($Global) 5 "o2"
+ MemberName 59($Global) 6 "o3"
+ MemberName 59($Global) 7 "o4"
+ MemberName 59($Global) 8 "uf4"
+ MemberName 59($Global) 9 "ui4"
+ MemberName 59($Global) 10 "uu4"
+ Name 61 ""
+ Name 71 "g_tTex1df4"
+ Name 77 "r00"
+ Name 82 "r01"
+ Name 85 "g_tTex1di4"
+ Name 90 "r02"
+ Name 93 "g_tTex1du4"
+ Name 98 "r10"
+ Name 101 "g_tTex2df4"
+ Name 108 "r11"
+ Name 111 "g_tTex2di4"
+ Name 116 "r12"
+ Name 119 "g_tTex2du4"
+ Name 124 "r20"
+ Name 127 "g_tTex3df4"
+ Name 134 "r21"
+ Name 137 "g_tTex3di4"
+ Name 142 "r22"
+ Name 145 "g_tTex3du4"
+ Name 150 "lf4"
+ Name 155 "storeTemp"
+ Name 165 "storeTemp"
+ Name 172 "storeTemp"
+ Name 181 "val1"
+ Name 183 "coordTemp"
+ Name 186 "storeTemp"
+ Name 197 "coordTemp"
+ Name 200 "storeTemp"
+ Name 211 "coordTemp"
+ Name 214 "storeTemp"
+ Name 225 "coordTemp"
+ Name 228 "storeTemp"
+ Name 238 "coordTemp"
+ Name 241 "storeTemp"
+ Name 251 "coordTemp"
+ Name 254 "storeTemp"
+ Name 265 "coordTemp"
+ Name 268 "storeTemp"
+ Name 279 "coordTemp"
+ Name 282 "storeTemp"
+ Name 292 "coordTemp"
+ Name 295 "storeTemp"
+ Name 305 "storeTemp"
+ Name 315 "storeTemp"
+ Name 322 "storeTemp"
+ Name 329 "storeTemp"
+ Name 339 "storeTemp"
+ Name 347 "storeTemp"
+ Name 358 "param"
+ Name 364 "param"
+ Name 370 "param"
+ Name 372 "tempArg"
+ Name 373 "param"
+ Name 380 "tempArg"
+ Name 381 "param"
+ Name 388 "tempArg"
+ Name 389 "param"
+ Name 396 "coordTemp"
+ Name 399 "storeTemp"
+ Name 410 "coordTemp"
+ Name 413 "storeTemp"
+ Name 423 "coordTemp"
+ Name 426 "storeTemp"
+ Name 436 "coordTemp"
+ Name 439 "storeTemp"
+ Name 449 "coordTemp"
+ Name 452 "storeTemp"
+ Name 462 "coordTemp"
+ Name 465 "storeTemp"
+ Name 475 "coordTemp"
+ Name 478 "storeTempPre"
+ Name 482 "storeTempPost"
+ Name 490 "coordTemp"
+ Name 493 "storeTempPre"
+ Name 497 "storeTempPost"
+ Name 505 "coordTemp"
+ Name 508 "storeTempPre"
+ Name 512 "storeTempPost"
+ Name 520 "coordTemp"
+ Name 523 "storeTempPre"
+ Name 527 "storeTempPost"
+ Name 535 "coordTemp"
+ Name 538 "storeTempPre"
+ Name 542 "storeTempPost"
+ Name 550 "coordTemp"
+ Name 553 "storeTempPre"
+ Name 557 "storeTempPost"
+ Name 565 "storeTemp"
+ Name 571 "PS_OUTPUT"
+ MemberName 571(PS_OUTPUT) 0 "Color"
+ Name 573 "psout"
+ Name 577 "Color"
+ Name 583 "g_sSamp"
+ Name 586 "g_tTex1df4a"
+ Name 589 "g_tTex1di4a"
+ Name 592 "g_tTex1du4a"
+ Name 595 "g_tTex2df4a"
+ Name 598 "g_tTex2di4a"
+ Name 601 "g_tTex2du4a"
+ MemberDecorate 59($Global) 0 Offset 0
+ MemberDecorate 59($Global) 1 Offset 8
+ MemberDecorate 59($Global) 2 Offset 16
+ MemberDecorate 59($Global) 3 Offset 32
+ MemberDecorate 59($Global) 4 Offset 48
+ MemberDecorate 59($Global) 5 Offset 56
+ MemberDecorate 59($Global) 6 Offset 64
+ MemberDecorate 59($Global) 7 Offset 80
+ MemberDecorate 59($Global) 8 Offset 96
+ MemberDecorate 59($Global) 9 Offset 112
+ MemberDecorate 59($Global) 10 Offset 128
+ Decorate 59($Global) Block
+ Decorate 61 DescriptorSet 0
+ Decorate 71(g_tTex1df4) DescriptorSet 0
+ Decorate 71(g_tTex1df4) Binding 0
+ Decorate 85(g_tTex1di4) DescriptorSet 0
+ Decorate 93(g_tTex1du4) DescriptorSet 0
+ Decorate 101(g_tTex2df4) DescriptorSet 0
+ Decorate 111(g_tTex2di4) DescriptorSet 0
+ Decorate 119(g_tTex2du4) DescriptorSet 0
+ Decorate 127(g_tTex3df4) DescriptorSet 0
+ Decorate 137(g_tTex3di4) DescriptorSet 0
+ Decorate 145(g_tTex3du4) DescriptorSet 0
+ Decorate 577(Color) Location 0
+ Decorate 583(g_sSamp) DescriptorSet 0
+ Decorate 583(g_sSamp) Binding 0
+ Decorate 586(g_tTex1df4a) DescriptorSet 0
+ Decorate 589(g_tTex1di4a) DescriptorSet 0
+ Decorate 592(g_tTex1du4a) DescriptorSet 0
+ Decorate 595(g_tTex2df4a) DescriptorSet 0
+ Decorate 598(g_tTex2di4a) DescriptorSet 0
+ Decorate 601(g_tTex2du4a) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 4
+ 8: TypePointer Function 7(ivec4)
+ 9: TypeFunction 7(ivec4) 8(ptr)
+ 13: TypeInt 32 0
+ 14: TypeVector 13(int) 4
+ 15: TypePointer Function 14(ivec4)
+ 16: TypeFunction 14(ivec4) 15(ptr)
+ 20: TypeFloat 32
+ 21: TypeVector 20(float) 4
+ 22: TypePointer Function 21(fvec4)
+ 23: TypeFunction 21(fvec4) 22(ptr)
+ 27: TypeFunction 2 8(ptr)
+ 31: TypeFunction 2 15(ptr)
+ 35: TypeFunction 2 22(ptr)
+ 39: TypeFunction 21(fvec4)
+ 51: 6(int) Constant 0
+ 52: 7(ivec4) ConstantComposite 51 51 51 51
+ 53: 13(int) Constant 0
+ 54: 14(ivec4) ConstantComposite 53 53 53 53
+ 55: 20(float) Constant 0
+ 56: 21(fvec4) ConstantComposite 55 55 55 55
+ 57: TypeVector 6(int) 2
+ 58: TypeVector 6(int) 3
+ 59($Global): TypeStruct 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 21(fvec4) 7(ivec4) 14(ivec4)
+ 60: TypePointer Uniform 59($Global)
+ 61: 60(ptr) Variable Uniform
+ 62: 6(int) Constant 3
+ 63: TypePointer Uniform 7(ivec4)
+ 69: TypeImage 20(float) 1D nonsampled format:Rgba32f
+ 70: TypePointer UniformConstant 69
+ 71(g_tTex1df4): 70(ptr) Variable UniformConstant
+ 73: TypePointer Uniform 6(int)
+ 83: TypeImage 6(int) 1D nonsampled format:Rgba32i
+ 84: TypePointer UniformConstant 83
+ 85(g_tTex1di4): 84(ptr) Variable UniformConstant
+ 91: TypeImage 13(int) 1D nonsampled format:Rgba32ui
+ 92: TypePointer UniformConstant 91
+ 93(g_tTex1du4): 92(ptr) Variable UniformConstant
+ 99: TypeImage 20(float) 2D nonsampled format:Rgba32f
+ 100: TypePointer UniformConstant 99
+ 101(g_tTex2df4): 100(ptr) Variable UniformConstant
+ 103: 6(int) Constant 1
+ 104: TypePointer Uniform 57(ivec2)
+ 109: TypeImage 6(int) 2D nonsampled format:Rgba32i
+ 110: TypePointer UniformConstant 109
+ 111(g_tTex2di4): 110(ptr) Variable UniformConstant
+ 117: TypeImage 13(int) 2D nonsampled format:Rgba32ui
+ 118: TypePointer UniformConstant 117
+ 119(g_tTex2du4): 118(ptr) Variable UniformConstant
+ 125: TypeImage 20(float) 3D nonsampled format:Rgba32f
+ 126: TypePointer UniformConstant 125
+ 127(g_tTex3df4): 126(ptr) Variable UniformConstant
+ 129: 6(int) Constant 2
+ 130: TypePointer Uniform 58(ivec3)
+ 135: TypeImage 6(int) 3D nonsampled format:Rgba32i
+ 136: TypePointer UniformConstant 135
+ 137(g_tTex3di4): 136(ptr) Variable UniformConstant
+ 143: TypeImage 13(int) 3D nonsampled format:Rgba32ui
+ 144: TypePointer UniformConstant 143
+ 145(g_tTex3du4): 144(ptr) Variable UniformConstant
+ 151: 6(int) Constant 8
+ 152: TypePointer Uniform 21(fvec4)
+ 166: 6(int) Constant 4
+ 167: 7(ivec4) ConstantComposite 129 129 62 166
+ 173: 13(int) Constant 3
+ 174: 13(int) Constant 2
+ 175: 13(int) Constant 4
+ 176: 14(ivec4) ConstantComposite 173 174 173 175
+ 182: TypePointer Function 6(int)
+ 190: 20(float) Constant 1073741824
+ 204: 20(float) Constant 1077936128
+ 218: 20(float) Constant 1082130432
+ 258: 6(int) Constant 65535
+ 272: 6(int) Constant 61680
+ 316: 6(int) Constant 5
+ 317: 7(ivec4) ConstantComposite 316 129 62 166
+ 323: 13(int) Constant 6
+ 324: 14(ivec4) ConstantComposite 323 174 173 175
+ 340: 6(int) Constant 6
+ 341: 6(int) Constant 7
+ 342: 7(ivec4) ConstantComposite 151 340 341 151
+ 348: 13(int) Constant 9
+ 349: 14(ivec4) ConstantComposite 348 174 173 175
+ 404: 20(float) Constant 1065353216
+ 567: 57(ivec2) ConstantComposite 129 62
+ 571(PS_OUTPUT): TypeStruct 21(fvec4)
+ 572: TypePointer Function 571(PS_OUTPUT)
+ 574: 21(fvec4) ConstantComposite 404 404 404 404
+ 576: TypePointer Output 21(fvec4)
+ 577(Color): 576(ptr) Variable Output
+ 581: TypeSampler
+ 582: TypePointer UniformConstant 581
+ 583(g_sSamp): 582(ptr) Variable UniformConstant
+ 584: TypeImage 20(float) 1D array nonsampled format:Rgba32f
+ 585: TypePointer UniformConstant 584
+586(g_tTex1df4a): 585(ptr) Variable UniformConstant
+ 587: TypeImage 6(int) 1D array nonsampled format:Rgba32i
+ 588: TypePointer UniformConstant 587
+589(g_tTex1di4a): 588(ptr) Variable UniformConstant
+ 590: TypeImage 13(int) 1D array nonsampled format:Rgba32ui
+ 591: TypePointer UniformConstant 590
+592(g_tTex1du4a): 591(ptr) Variable UniformConstant
+ 593: TypeImage 20(float) 2D array nonsampled format:Rgba32f
+ 594: TypePointer UniformConstant 593
+595(g_tTex2df4a): 594(ptr) Variable UniformConstant
+ 596: TypeImage 6(int) 2D array nonsampled format:Rgba32i
+ 597: TypePointer UniformConstant 596
+598(g_tTex2di4a): 597(ptr) Variable UniformConstant
+ 599: TypeImage 13(int) 2D array nonsampled format:Rgba32ui
+ 600: TypePointer UniformConstant 599
+601(g_tTex2du4a): 600(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 77(r00): 22(ptr) Variable Function
+ 82(r01): 8(ptr) Variable Function
+ 90(r02): 15(ptr) Variable Function
+ 98(r10): 22(ptr) Variable Function
+ 108(r11): 8(ptr) Variable Function
+ 116(r12): 15(ptr) Variable Function
+ 124(r20): 22(ptr) Variable Function
+ 134(r21): 8(ptr) Variable Function
+ 142(r22): 15(ptr) Variable Function
+ 150(lf4): 22(ptr) Variable Function
+ 155(storeTemp): 22(ptr) Variable Function
+ 165(storeTemp): 8(ptr) Variable Function
+ 172(storeTemp): 15(ptr) Variable Function
+ 181(val1): 22(ptr) Variable Function
+ 183(coordTemp): 182(ptr) Variable Function
+ 186(storeTemp): 22(ptr) Variable Function
+ 197(coordTemp): 182(ptr) Variable Function
+ 200(storeTemp): 22(ptr) Variable Function
+ 211(coordTemp): 182(ptr) Variable Function
+ 214(storeTemp): 22(ptr) Variable Function
+ 225(coordTemp): 182(ptr) Variable Function
+ 228(storeTemp): 8(ptr) Variable Function
+ 238(coordTemp): 182(ptr) Variable Function
+ 241(storeTemp): 8(ptr) Variable Function
+ 251(coordTemp): 182(ptr) Variable Function
+ 254(storeTemp): 8(ptr) Variable Function
+ 265(coordTemp): 182(ptr) Variable Function
+ 268(storeTemp): 8(ptr) Variable Function
+ 279(coordTemp): 182(ptr) Variable Function
+ 282(storeTemp): 8(ptr) Variable Function
+ 292(coordTemp): 182(ptr) Variable Function
+ 295(storeTemp): 8(ptr) Variable Function
+ 305(storeTemp): 22(ptr) Variable Function
+ 315(storeTemp): 8(ptr) Variable Function
+ 322(storeTemp): 15(ptr) Variable Function
+ 329(storeTemp): 22(ptr) Variable Function
+ 339(storeTemp): 8(ptr) Variable Function
+ 347(storeTemp): 15(ptr) Variable Function
+ 358(param): 22(ptr) Variable Function
+ 364(param): 8(ptr) Variable Function
+ 370(param): 15(ptr) Variable Function
+ 372(tempArg): 22(ptr) Variable Function
+ 373(param): 22(ptr) Variable Function
+ 380(tempArg): 8(ptr) Variable Function
+ 381(param): 8(ptr) Variable Function
+ 388(tempArg): 15(ptr) Variable Function
+ 389(param): 15(ptr) Variable Function
+ 396(coordTemp): 182(ptr) Variable Function
+ 399(storeTemp): 22(ptr) Variable Function
+ 410(coordTemp): 182(ptr) Variable Function
+ 413(storeTemp): 8(ptr) Variable Function
+ 423(coordTemp): 182(ptr) Variable Function
+ 426(storeTemp): 15(ptr) Variable Function
+ 436(coordTemp): 182(ptr) Variable Function
+ 439(storeTemp): 22(ptr) Variable Function
+ 449(coordTemp): 182(ptr) Variable Function
+ 452(storeTemp): 8(ptr) Variable Function
+ 462(coordTemp): 182(ptr) Variable Function
+ 465(storeTemp): 15(ptr) Variable Function
+ 475(coordTemp): 182(ptr) Variable Function
+478(storeTempPre): 22(ptr) Variable Function
+482(storeTempPost): 22(ptr) Variable Function
+ 490(coordTemp): 182(ptr) Variable Function
+493(storeTempPre): 15(ptr) Variable Function
+497(storeTempPost): 15(ptr) Variable Function
+ 505(coordTemp): 182(ptr) Variable Function
+508(storeTempPre): 8(ptr) Variable Function
+512(storeTempPost): 8(ptr) Variable Function
+ 520(coordTemp): 182(ptr) Variable Function
+523(storeTempPre): 22(ptr) Variable Function
+527(storeTempPost): 22(ptr) Variable Function
+ 535(coordTemp): 182(ptr) Variable Function
+538(storeTempPre): 8(ptr) Variable Function
+542(storeTempPost): 8(ptr) Variable Function
+ 550(coordTemp): 182(ptr) Variable Function
+553(storeTempPre): 15(ptr) Variable Function
+557(storeTempPost): 15(ptr) Variable Function
+ 565(storeTemp): 22(ptr) Variable Function
+ 573(psout): 572(ptr) Variable Function
+ 72: 69 Load 71(g_tTex1df4)
+ 74: 73(ptr) AccessChain 61 51
+ 75: 6(int) Load 74
+ 76: 21(fvec4) ImageRead 72 75
+ 78: 69 Load 71(g_tTex1df4)
+ 79: 73(ptr) AccessChain 61 51
+ 80: 6(int) Load 79
+ 81: 21(fvec4) ImageRead 78 80
+ Store 77(r00) 81
+ 86: 83 Load 85(g_tTex1di4)
+ 87: 73(ptr) AccessChain 61 51
+ 88: 6(int) Load 87
+ 89: 7(ivec4) ImageRead 86 88
+ Store 82(r01) 89
+ 94: 91 Load 93(g_tTex1du4)
+ 95: 73(ptr) AccessChain 61 51
+ 96: 6(int) Load 95
+ 97: 14(ivec4) ImageRead 94 96
+ Store 90(r02) 97
+ 102: 99 Load 101(g_tTex2df4)
+ 105: 104(ptr) AccessChain 61 103
+ 106: 57(ivec2) Load 105
+ 107: 21(fvec4) ImageRead 102 106
+ Store 98(r10) 107
+ 112: 109 Load 111(g_tTex2di4)
+ 113: 104(ptr) AccessChain 61 103
+ 114: 57(ivec2) Load 113
+ 115: 7(ivec4) ImageRead 112 114
+ Store 108(r11) 115
+ 120: 117 Load 119(g_tTex2du4)
+ 121: 104(ptr) AccessChain 61 103
+ 122: 57(ivec2) Load 121
+ 123: 14(ivec4) ImageRead 120 122
+ Store 116(r12) 123
+ 128: 125 Load 127(g_tTex3df4)
+ 131: 130(ptr) AccessChain 61 129
+ 132: 58(ivec3) Load 131
+ 133: 21(fvec4) ImageRead 128 132
+ Store 124(r20) 133
+ 138: 135 Load 137(g_tTex3di4)
+ 139: 130(ptr) AccessChain 61 129
+ 140: 58(ivec3) Load 139
+ 141: 7(ivec4) ImageRead 138 140
+ Store 134(r21) 141
+ 146: 143 Load 145(g_tTex3du4)
+ 147: 130(ptr) AccessChain 61 129
+ 148: 58(ivec3) Load 147
+ 149: 14(ivec4) ImageRead 146 148
+ Store 142(r22) 149
+ 153: 152(ptr) AccessChain 61 151
+ 154: 21(fvec4) Load 153
+ Store 150(lf4) 154
+ 156: 21(fvec4) FunctionCall 40(SomeValue()
+ Store 155(storeTemp) 156
+ 157: 69 Load 71(g_tTex1df4)
+ 158: 73(ptr) AccessChain 61 51
+ 159: 6(int) Load 158
+ 160: 21(fvec4) Load 155(storeTemp)
+ ImageWrite 157 159 160
+ 161: 69 Load 71(g_tTex1df4)
+ 162: 73(ptr) AccessChain 61 51
+ 163: 6(int) Load 162
+ 164: 21(fvec4) Load 150(lf4)
+ ImageWrite 161 163 164
+ Store 165(storeTemp) 167
+ 168: 83 Load 85(g_tTex1di4)
+ 169: 73(ptr) AccessChain 61 51
+ 170: 6(int) Load 169
+ 171: 7(ivec4) Load 165(storeTemp)
+ ImageWrite 168 170 171
+ Store 172(storeTemp) 176
+ 177: 91 Load 93(g_tTex1du4)
+ 178: 73(ptr) AccessChain 61 51
+ 179: 6(int) Load 178
+ 180: 14(ivec4) Load 172(storeTemp)
+ ImageWrite 177 179 180
+ 184: 73(ptr) AccessChain 61 51
+ 185: 6(int) Load 184
+ Store 183(coordTemp) 185
+ 187: 69 Load 71(g_tTex1df4)
+ 188: 6(int) Load 183(coordTemp)
+ 189: 21(fvec4) ImageRead 187 188
+ Store 186(storeTemp) 189
+ 191: 21(fvec4) Load 186(storeTemp)
+ 192: 21(fvec4) VectorTimesScalar 191 190
+ Store 186(storeTemp) 192
+ 193: 69 Load 71(g_tTex1df4)
+ 194: 6(int) Load 183(coordTemp)
+ 195: 21(fvec4) Load 186(storeTemp)
+ ImageWrite 193 194 195
+ 196: 21(fvec4) Load 186(storeTemp)
+ Store 181(val1) 196
+ 198: 73(ptr) AccessChain 61 51
+ 199: 6(int) Load 198
+ Store 197(coordTemp) 199
+ 201: 69 Load 71(g_tTex1df4)
+ 202: 6(int) Load 197(coordTemp)
+ 203: 21(fvec4) ImageRead 201 202
+ Store 200(storeTemp) 203
+ 205: 21(fvec4) Load 200(storeTemp)
+ 206: 21(fvec4) CompositeConstruct 204 204 204 204
+ 207: 21(fvec4) FSub 205 206
+ Store 200(storeTemp) 207
+ 208: 69 Load 71(g_tTex1df4)
+ 209: 6(int) Load 197(coordTemp)
+ 210: 21(fvec4) Load 200(storeTemp)
+ ImageWrite 208 209 210
+ 212: 73(ptr) AccessChain 61 51
+ 213: 6(int) Load 212
+ Store 211(coordTemp) 213
+ 215: 69 Load 71(g_tTex1df4)
+ 216: 6(int) Load 211(coordTemp)
+ 217: 21(fvec4) ImageRead 215 216
+ Store 214(storeTemp) 217
+ 219: 21(fvec4) Load 214(storeTemp)
+ 220: 21(fvec4) CompositeConstruct 218 218 218 218
+ 221: 21(fvec4) FAdd 219 220
+ Store 214(storeTemp) 221
+ 222: 69 Load 71(g_tTex1df4)
+ 223: 6(int) Load 211(coordTemp)
+ 224: 21(fvec4) Load 214(storeTemp)
+ ImageWrite 222 223 224
+ 226: 73(ptr) AccessChain 61 51
+ 227: 6(int) Load 226
+ Store 225(coordTemp) 227
+ 229: 83 Load 85(g_tTex1di4)
+ 230: 6(int) Load 225(coordTemp)
+ 231: 7(ivec4) ImageRead 229 230
+ Store 228(storeTemp) 231
+ 232: 7(ivec4) Load 228(storeTemp)
+ 233: 7(ivec4) CompositeConstruct 129 129 129 129
+ 234: 7(ivec4) SDiv 232 233
+ Store 228(storeTemp) 234
+ 235: 83 Load 85(g_tTex1di4)
+ 236: 6(int) Load 225(coordTemp)
+ 237: 7(ivec4) Load 228(storeTemp)
+ ImageWrite 235 236 237
+ 239: 73(ptr) AccessChain 61 51
+ 240: 6(int) Load 239
+ Store 238(coordTemp) 240
+ 242: 83 Load 85(g_tTex1di4)
+ 243: 6(int) Load 238(coordTemp)
+ 244: 7(ivec4) ImageRead 242 243
+ Store 241(storeTemp) 244
+ 245: 7(ivec4) Load 241(storeTemp)
+ 246: 7(ivec4) CompositeConstruct 129 129 129 129
+ 247: 7(ivec4) SMod 245 246
+ Store 241(storeTemp) 247
+ 248: 83 Load 85(g_tTex1di4)
+ 249: 6(int) Load 238(coordTemp)
+ 250: 7(ivec4) Load 241(storeTemp)
+ ImageWrite 248 249 250
+ 252: 73(ptr) AccessChain 61 51
+ 253: 6(int) Load 252
+ Store 251(coordTemp) 253
+ 255: 83 Load 85(g_tTex1di4)
+ 256: 6(int) Load 251(coordTemp)
+ 257: 7(ivec4) ImageRead 255 256
+ Store 254(storeTemp) 257
+ 259: 7(ivec4) Load 254(storeTemp)
+ 260: 7(ivec4) CompositeConstruct 258 258 258 258
+ 261: 7(ivec4) BitwiseAnd 259 260
+ Store 254(storeTemp) 261
+ 262: 83 Load 85(g_tTex1di4)
+ 263: 6(int) Load 251(coordTemp)
+ 264: 7(ivec4) Load 254(storeTemp)
+ ImageWrite 262 263 264
+ 266: 73(ptr) AccessChain 61 51
+ 267: 6(int) Load 266
+ Store 265(coordTemp) 267
+ 269: 83 Load 85(g_tTex1di4)
+ 270: 6(int) Load 265(coordTemp)
+ 271: 7(ivec4) ImageRead 269 270
+ Store 268(storeTemp) 271
+ 273: 7(ivec4) Load 268(storeTemp)
+ 274: 7(ivec4) CompositeConstruct 272 272 272 272
+ 275: 7(ivec4) BitwiseOr 273 274
+ Store 268(storeTemp) 275
+ 276: 83 Load 85(g_tTex1di4)
+ 277: 6(int) Load 265(coordTemp)
+ 278: 7(ivec4) Load 268(storeTemp)
+ ImageWrite 276 277 278
+ 280: 73(ptr) AccessChain 61 51
+ 281: 6(int) Load 280
+ Store 279(coordTemp) 281
+ 283: 83 Load 85(g_tTex1di4)
+ 284: 6(int) Load 279(coordTemp)
+ 285: 7(ivec4) ImageRead 283 284
+ Store 282(storeTemp) 285
+ 286: 7(ivec4) Load 282(storeTemp)
+ 287: 7(ivec4) CompositeConstruct 129 129 129 129
+ 288: 7(ivec4) ShiftLeftLogical 286 287
+ Store 282(storeTemp) 288
+ 289: 83 Load 85(g_tTex1di4)
+ 290: 6(int) Load 279(coordTemp)
+ 291: 7(ivec4) Load 282(storeTemp)
+ ImageWrite 289 290 291
+ 293: 73(ptr) AccessChain 61 51
+ 294: 6(int) Load 293
+ Store 292(coordTemp) 294
+ 296: 83 Load 85(g_tTex1di4)
+ 297: 6(int) Load 292(coordTemp)
+ 298: 7(ivec4) ImageRead 296 297
+ Store 295(storeTemp) 298
+ 299: 7(ivec4) Load 295(storeTemp)
+ 300: 7(ivec4) CompositeConstruct 129 129 129 129
+ 301: 7(ivec4) ShiftRightArithmetic 299 300
+ Store 295(storeTemp) 301
+ 302: 83 Load 85(g_tTex1di4)
+ 303: 6(int) Load 292(coordTemp)
+ 304: 7(ivec4) Load 295(storeTemp)
+ ImageWrite 302 303 304
+ 306: 21(fvec4) FunctionCall 40(SomeValue()
+ Store 305(storeTemp) 306
+ 307: 99 Load 101(g_tTex2df4)
+ 308: 104(ptr) AccessChain 61 103
+ 309: 57(ivec2) Load 308
+ 310: 21(fvec4) Load 305(storeTemp)
+ ImageWrite 307 309 310
+ 311: 99 Load 101(g_tTex2df4)
+ 312: 104(ptr) AccessChain 61 103
+ 313: 57(ivec2) Load 312
+ 314: 21(fvec4) Load 150(lf4)
+ ImageWrite 311 313 314
+ Store 315(storeTemp) 317
+ 318: 109 Load 111(g_tTex2di4)
+ 319: 104(ptr) AccessChain 61 103
+ 320: 57(ivec2) Load 319
+ 321: 7(ivec4) Load 315(storeTemp)
+ ImageWrite 318 320 321
+ Store 322(storeTemp) 324
+ 325: 117 Load 119(g_tTex2du4)
+ 326: 104(ptr) AccessChain 61 103
+ 327: 57(ivec2) Load 326
+ 328: 14(ivec4) Load 322(storeTemp)
+ ImageWrite 325 327 328
+ 330: 21(fvec4) FunctionCall 40(SomeValue()
+ Store 329(storeTemp) 330
+ 331: 125 Load 127(g_tTex3df4)
+ 332: 130(ptr) AccessChain 61 129
+ 333: 58(ivec3) Load 332
+ 334: 21(fvec4) Load 329(storeTemp)
+ ImageWrite 331 333 334
+ 335: 125 Load 127(g_tTex3df4)
+ 336: 130(ptr) AccessChain 61 129
+ 337: 58(ivec3) Load 336
+ 338: 21(fvec4) Load 150(lf4)
+ ImageWrite 335 337 338
+ Store 339(storeTemp) 342
+ 343: 135 Load 137(g_tTex3di4)
+ 344: 130(ptr) AccessChain 61 129
+ 345: 58(ivec3) Load 344
+ 346: 7(ivec4) Load 339(storeTemp)
+ ImageWrite 343 345 346
+ Store 347(storeTemp) 349
+ 350: 143 Load 145(g_tTex3du4)
+ 351: 130(ptr) AccessChain 61 129
+ 352: 58(ivec3) Load 351
+ 353: 14(ivec4) Load 347(storeTemp)
+ ImageWrite 350 352 353
+ 354: 69 Load 71(g_tTex1df4)
+ 355: 73(ptr) AccessChain 61 51
+ 356: 6(int) Load 355
+ 357: 21(fvec4) ImageRead 354 356
+ Store 358(param) 357
+ 359: 21(fvec4) FunctionCall 25(Fn1(vf4;) 358(param)
+ 360: 83 Load 85(g_tTex1di4)
+ 361: 73(ptr) AccessChain 61 51
+ 362: 6(int) Load 361
+ 363: 7(ivec4) ImageRead 360 362
+ Store 364(param) 363
+ 365: 7(ivec4) FunctionCall 11(Fn1(vi4;) 364(param)
+ 366: 91 Load 93(g_tTex1du4)
+ 367: 73(ptr) AccessChain 61 51
+ 368: 6(int) Load 367
+ 369: 14(ivec4) ImageRead 366 368
+ Store 370(param) 369
+ 371: 14(ivec4) FunctionCall 18(Fn1(vu4;) 370(param)
+ 374: 2 FunctionCall 37(Fn2(vf4;) 373(param)
+ 375: 21(fvec4) Load 373(param)
+ Store 372(tempArg) 375
+ 376: 69 Load 71(g_tTex1df4)
+ 377: 73(ptr) AccessChain 61 51
+ 378: 6(int) Load 377
+ 379: 21(fvec4) Load 372(tempArg)
+ ImageWrite 376 378 379
+ 382: 2 FunctionCall 29(Fn2(vi4;) 381(param)
+ 383: 7(ivec4) Load 381(param)
+ Store 380(tempArg) 383
+ 384: 83 Load 85(g_tTex1di4)
+ 385: 73(ptr) AccessChain 61 51
+ 386: 6(int) Load 385
+ 387: 7(ivec4) Load 380(tempArg)
+ ImageWrite 384 386 387
+ 390: 2 FunctionCall 33(Fn2(vu4;) 389(param)
+ 391: 14(ivec4) Load 389(param)
+ Store 388(tempArg) 391
+ 392: 91 Load 93(g_tTex1du4)
+ 393: 73(ptr) AccessChain 61 51
+ 394: 6(int) Load 393
+ 395: 14(ivec4) Load 388(tempArg)
+ ImageWrite 392 394 395
+ 397: 73(ptr) AccessChain 61 51
+ 398: 6(int) Load 397
+ Store 396(coordTemp) 398
+ 400: 69 Load 71(g_tTex1df4)
+ 401: 6(int) Load 396(coordTemp)
+ 402: 21(fvec4) ImageRead 400 401
+ Store 399(storeTemp) 402
+ 403: 21(fvec4) Load 399(storeTemp)
+ 405: 21(fvec4) CompositeConstruct 404 404 404 404
+ 406: 21(fvec4) FAdd 403 405
+ Store 399(storeTemp) 406
+ 407: 69 Load 71(g_tTex1df4)
+ 408: 6(int) Load 396(coordTemp)
+ 409: 21(fvec4) Load 399(storeTemp)
+ ImageWrite 407 408 409
+ 411: 73(ptr) AccessChain 61 51
+ 412: 6(int) Load 411
+ Store 410(coordTemp) 412
+ 414: 83 Load 85(g_tTex1di4)
+ 415: 6(int) Load 410(coordTemp)
+ 416: 7(ivec4) ImageRead 414 415
+ Store 413(storeTemp) 416
+ 417: 7(ivec4) Load 413(storeTemp)
+ 418: 7(ivec4) CompositeConstruct 103 103 103 103
+ 419: 7(ivec4) IAdd 417 418
+ Store 413(storeTemp) 419
+ 420: 83 Load 85(g_tTex1di4)
+ 421: 6(int) Load 410(coordTemp)
+ 422: 7(ivec4) Load 413(storeTemp)
+ ImageWrite 420 421 422
+ 424: 73(ptr) AccessChain 61 51
+ 425: 6(int) Load 424
+ Store 423(coordTemp) 425
+ 427: 91 Load 93(g_tTex1du4)
+ 428: 6(int) Load 423(coordTemp)
+ 429: 14(ivec4) ImageRead 427 428
+ Store 426(storeTemp) 429
+ 430: 14(ivec4) Load 426(storeTemp)
+ 431: 7(ivec4) CompositeConstruct 103 103 103 103
+ 432: 14(ivec4) IAdd 430 431
+ Store 426(storeTemp) 432
+ 433: 91 Load 93(g_tTex1du4)
+ 434: 6(int) Load 423(coordTemp)
+ 435: 14(ivec4) Load 426(storeTemp)
+ ImageWrite 433 434 435
+ 437: 73(ptr) AccessChain 61 51
+ 438: 6(int) Load 437
+ Store 436(coordTemp) 438
+ 440: 69 Load 71(g_tTex1df4)
+ 441: 6(int) Load 436(coordTemp)
+ 442: 21(fvec4) ImageRead 440 441
+ Store 439(storeTemp) 442
+ 443: 21(fvec4) Load 439(storeTemp)
+ 444: 21(fvec4) CompositeConstruct 404 404 404 404
+ 445: 21(fvec4) FSub 443 444
+ Store 439(storeTemp) 445
+ 446: 69 Load 71(g_tTex1df4)
+ 447: 6(int) Load 436(coordTemp)
+ 448: 21(fvec4) Load 439(storeTemp)
+ ImageWrite 446 447 448
+ 450: 73(ptr) AccessChain 61 51
+ 451: 6(int) Load 450
+ Store 449(coordTemp) 451
+ 453: 83 Load 85(g_tTex1di4)
+ 454: 6(int) Load 449(coordTemp)
+ 455: 7(ivec4) ImageRead 453 454
+ Store 452(storeTemp) 455
+ 456: 7(ivec4) Load 452(storeTemp)
+ 457: 7(ivec4) CompositeConstruct 103 103 103 103
+ 458: 7(ivec4) ISub 456 457
+ Store 452(storeTemp) 458
+ 459: 83 Load 85(g_tTex1di4)
+ 460: 6(int) Load 449(coordTemp)
+ 461: 7(ivec4) Load 452(storeTemp)
+ ImageWrite 459 460 461
+ 463: 73(ptr) AccessChain 61 51
+ 464: 6(int) Load 463
+ Store 462(coordTemp) 464
+ 466: 91 Load 93(g_tTex1du4)
+ 467: 6(int) Load 462(coordTemp)
+ 468: 14(ivec4) ImageRead 466 467
+ Store 465(storeTemp) 468
+ 469: 14(ivec4) Load 465(storeTemp)
+ 470: 7(ivec4) CompositeConstruct 103 103 103 103
+ 471: 14(ivec4) ISub 469 470
+ Store 465(storeTemp) 471
+ 472: 91 Load 93(g_tTex1du4)
+ 473: 6(int) Load 462(coordTemp)
+ 474: 14(ivec4) Load 465(storeTemp)
+ ImageWrite 472 473 474
+ 476: 73(ptr) AccessChain 61 51
+ 477: 6(int) Load 476
+ Store 475(coordTemp) 477
+ 479: 69 Load 71(g_tTex1df4)
+ 480: 6(int) Load 475(coordTemp)
+ 481: 21(fvec4) ImageRead 479 480
+ Store 478(storeTempPre) 481
+ 483: 21(fvec4) Load 478(storeTempPre)
+ Store 482(storeTempPost) 483
+ 484: 21(fvec4) Load 482(storeTempPost)
+ 485: 21(fvec4) CompositeConstruct 404 404 404 404
+ 486: 21(fvec4) FAdd 484 485
+ Store 482(storeTempPost) 486
+ 487: 69 Load 71(g_tTex1df4)
+ 488: 6(int) Load 475(coordTemp)
+ 489: 21(fvec4) Load 482(storeTempPost)
+ ImageWrite 487 488 489
+ 491: 73(ptr) AccessChain 61 51
+ 492: 6(int) Load 491
+ Store 490(coordTemp) 492
+ 494: 91 Load 93(g_tTex1du4)
+ 495: 6(int) Load 490(coordTemp)
+ 496: 14(ivec4) ImageRead 494 495
+ Store 493(storeTempPre) 496
+ 498: 14(ivec4) Load 493(storeTempPre)
+ Store 497(storeTempPost) 498
+ 499: 14(ivec4) Load 497(storeTempPost)
+ 500: 7(ivec4) CompositeConstruct 103 103 103 103
+ 501: 14(ivec4) ISub 499 500
+ Store 497(storeTempPost) 501
+ 502: 91 Load 93(g_tTex1du4)
+ 503: 6(int) Load 490(coordTemp)
+ 504: 14(ivec4) Load 497(storeTempPost)
+ ImageWrite 502 503 504
+ 506: 73(ptr) AccessChain 61 51
+ 507: 6(int) Load 506
+ Store 505(coordTemp) 507
+ 509: 83 Load 85(g_tTex1di4)
+ 510: 6(int) Load 505(coordTemp)
+ 511: 7(ivec4) ImageRead 509 510
+ Store 508(storeTempPre) 511
+ 513: 7(ivec4) Load 508(storeTempPre)
+ Store 512(storeTempPost) 513
+ 514: 7(ivec4) Load 512(storeTempPost)
+ 515: 7(ivec4) CompositeConstruct 103 103 103 103
+ 516: 7(ivec4) IAdd 514 515
+ Store 512(storeTempPost) 516
+ 517: 83 Load 85(g_tTex1di4)
+ 518: 6(int) Load 505(coordTemp)
+ 519: 7(ivec4) Load 512(storeTempPost)
+ ImageWrite 517 518 519
+ 521: 73(ptr) AccessChain 61 51
+ 522: 6(int) Load 521
+ Store 520(coordTemp) 522
+ 524: 69 Load 71(g_tTex1df4)
+ 525: 6(int) Load 520(coordTemp)
+ 526: 21(fvec4) ImageRead 524 525
+ Store 523(storeTempPre) 526
+ 528: 21(fvec4) Load 523(storeTempPre)
+ Store 527(storeTempPost) 528
+ 529: 21(fvec4) Load 527(storeTempPost)
+ 530: 21(fvec4) CompositeConstruct 404 404 404 404
+ 531: 21(fvec4) FSub 529 530
+ Store 527(storeTempPost) 531
+ 532: 69 Load 71(g_tTex1df4)
+ 533: 6(int) Load 520(coordTemp)
+ 534: 21(fvec4) Load 527(storeTempPost)
+ ImageWrite 532 533 534
+ 536: 73(ptr) AccessChain 61 51
+ 537: 6(int) Load 536
+ Store 535(coordTemp) 537
+ 539: 83 Load 85(g_tTex1di4)
+ 540: 6(int) Load 535(coordTemp)
+ 541: 7(ivec4) ImageRead 539 540
+ Store 538(storeTempPre) 541
+ 543: 7(ivec4) Load 538(storeTempPre)
+ Store 542(storeTempPost) 543
+ 544: 7(ivec4) Load 542(storeTempPost)
+ 545: 7(ivec4) CompositeConstruct 103 103 103 103
+ 546: 7(ivec4) IAdd 544 545
+ Store 542(storeTempPost) 546
+ 547: 83 Load 85(g_tTex1di4)
+ 548: 6(int) Load 535(coordTemp)
+ 549: 7(ivec4) Load 542(storeTempPost)
+ ImageWrite 547 548 549
+ 551: 73(ptr) AccessChain 61 51
+ 552: 6(int) Load 551
+ Store 550(coordTemp) 552
+ 554: 91 Load 93(g_tTex1du4)
+ 555: 6(int) Load 550(coordTemp)
+ 556: 14(ivec4) ImageRead 554 555
+ Store 553(storeTempPre) 556
+ 558: 14(ivec4) Load 553(storeTempPre)
+ Store 557(storeTempPost) 558
+ 559: 14(ivec4) Load 557(storeTempPost)
+ 560: 7(ivec4) CompositeConstruct 103 103 103 103
+ 561: 14(ivec4) ISub 559 560
+ Store 557(storeTempPost) 561
+ 562: 91 Load 93(g_tTex1du4)
+ 563: 6(int) Load 550(coordTemp)
+ 564: 14(ivec4) Load 557(storeTempPost)
+ ImageWrite 562 563 564
+ 566: 99 Load 101(g_tTex2df4)
+ 568: 21(fvec4) ImageRead 566 567
+ Store 565(storeTemp) 568
+ 569: 69 Load 71(g_tTex1df4)
+ 570: 21(fvec4) Load 565(storeTemp)
+ ImageWrite 569 103 570
+ 575: 22(ptr) AccessChain 573(psout) 51
+ Store 575 574
+ 578: 22(ptr) AccessChain 573(psout) 51
+ 579: 21(fvec4) Load 578
+ Store 577(Color) 579
+ Return
+ FunctionEnd
+ 11(Fn1(vi4;): 7(ivec4) Function None 9
+ 10(x): 8(ptr) FunctionParameter
+ 12: Label
+ 42: 7(ivec4) Load 10(x)
+ ReturnValue 42
+ FunctionEnd
+ 18(Fn1(vu4;): 14(ivec4) Function None 16
+ 17(x): 15(ptr) FunctionParameter
+ 19: Label
+ 45: 14(ivec4) Load 17(x)
+ ReturnValue 45
+ FunctionEnd
+ 25(Fn1(vf4;): 21(fvec4) Function None 23
+ 24(x): 22(ptr) FunctionParameter
+ 26: Label
+ 48: 21(fvec4) Load 24(x)
+ ReturnValue 48
+ FunctionEnd
+ 29(Fn2(vi4;): 2 Function None 27
+ 28(x): 8(ptr) FunctionParameter
+ 30: Label
+ Store 28(x) 52
+ Return
+ FunctionEnd
+ 33(Fn2(vu4;): 2 Function None 31
+ 32(x): 15(ptr) FunctionParameter
+ 34: Label
+ Store 32(x) 54
+ Return
+ FunctionEnd
+ 37(Fn2(vf4;): 2 Function None 35
+ 36(x): 22(ptr) FunctionParameter
+ 38: Label
+ Store 36(x) 56
+ Return
+ FunctionEnd
+ 40(SomeValue(): 21(fvec4) Function None 39
+ 41: Label
+ 64: 63(ptr) AccessChain 61 62
+ 65: 7(ivec4) Load 64
+ 66: 21(fvec4) ConvertSToF 65
+ ReturnValue 66
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
new file mode 100644
index 0000000..904c2da
--- /dev/null
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -0,0 +1,2560 @@
+hlsl.rw.scalar.bracket.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42 Function Definition: Fn1(i1; (temp int)
+0:42 Function Parameters:
+0:42 'x' (in int)
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 'x' (in int)
+0:43 Function Definition: Fn1(u1; (temp uint)
+0:43 Function Parameters:
+0:43 'x' (in uint)
+0:? Sequence
+0:43 Branch: Return with expression
+0:43 'x' (in uint)
+0:44 Function Definition: Fn1(f1; (temp float)
+0:44 Function Parameters:
+0:44 'x' (in float)
+0:? Sequence
+0:44 Branch: Return with expression
+0:44 'x' (in float)
+0:46 Function Definition: Fn2(i1; (temp void)
+0:46 Function Parameters:
+0:46 'x' (out int)
+0:? Sequence
+0:46 move second child to first child (temp int)
+0:46 'x' (out int)
+0:46 Constant:
+0:46 0 (const int)
+0:47 Function Definition: Fn2(u1; (temp void)
+0:47 Function Parameters:
+0:47 'x' (out uint)
+0:? Sequence
+0:47 move second child to first child (temp uint)
+0:47 'x' (out uint)
+0:47 Constant:
+0:47 0 (const uint)
+0:48 Function Definition: Fn2(f1; (temp void)
+0:48 Function Parameters:
+0:48 'x' (out float)
+0:? Sequence
+0:48 move second child to first child (temp float)
+0:48 'x' (out float)
+0:48 Constant:
+0:48 0.000000
+0:50 Function Definition: SomeValue( (temp float)
+0:50 Function Parameters:
+0:? Sequence
+0:50 Branch: Return with expression
+0:50 Convert int to float (temp float)
+0:50 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:50 Constant:
+0:50 0 (const uint)
+0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53 Function Parameters:
+0:? Sequence
+0:57 imageLoad (temp float)
+0:57 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:57 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:57 Constant:
+0:57 0 (const uint)
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'r00' (temp float)
+0:59 imageLoad (temp float)
+0:59 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:59 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:59 Constant:
+0:59 0 (const uint)
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'r01' (temp int)
+0:60 imageLoad (temp int)
+0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:60 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:60 Constant:
+0:60 0 (const uint)
+0:61 Sequence
+0:61 move second child to first child (temp uint)
+0:61 'r02' (temp uint)
+0:61 imageLoad (temp uint)
+0:61 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:61 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:61 Constant:
+0:61 0 (const uint)
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'r10' (temp float)
+0:64 imageLoad (temp float)
+0:64 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:64 Constant:
+0:64 1 (const uint)
+0:65 Sequence
+0:65 move second child to first child (temp int)
+0:65 'r11' (temp int)
+0:65 imageLoad (temp int)
+0:65 'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:65 Constant:
+0:65 1 (const uint)
+0:66 Sequence
+0:66 move second child to first child (temp uint)
+0:66 'r12' (temp uint)
+0:66 imageLoad (temp uint)
+0:66 'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:66 Constant:
+0:66 1 (const uint)
+0:69 Sequence
+0:69 move second child to first child (temp float)
+0:69 'r20' (temp float)
+0:69 imageLoad (temp float)
+0:69 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp int)
+0:70 'r21' (temp int)
+0:70 imageLoad (temp int)
+0:70 'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:70 Constant:
+0:70 2 (const uint)
+0:71 Sequence
+0:71 move second child to first child (temp uint)
+0:71 'r22' (temp uint)
+0:71 imageLoad (temp uint)
+0:71 'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:71 Constant:
+0:71 2 (const uint)
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'lf1' (temp float)
+0:73 uf1: direct index for structure (layout(offset=96 ) uniform float)
+0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:73 Constant:
+0:73 8 (const uint)
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'storeTemp' (temp float)
+0:77 Function Call: SomeValue( (temp float)
+0:77 imageStore (temp void)
+0:77 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:77 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:77 Constant:
+0:77 0 (const uint)
+0:77 'storeTemp' (temp float)
+0:77 'storeTemp' (temp float)
+0:78 Sequence
+0:78 imageStore (temp void)
+0:78 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:78 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:78 Constant:
+0:78 0 (const uint)
+0:78 'lf1' (temp float)
+0:78 'lf1' (temp float)
+0:79 Sequence
+0:79 move second child to first child (temp int)
+0:79 'storeTemp' (temp int)
+0:79 Constant:
+0:79 2 (const int)
+0:79 imageStore (temp void)
+0:79 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:79 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:79 Constant:
+0:79 0 (const uint)
+0:79 'storeTemp' (temp int)
+0:79 'storeTemp' (temp int)
+0:80 Sequence
+0:80 move second child to first child (temp uint)
+0:80 'storeTemp' (temp uint)
+0:80 Constant:
+0:80 3 (const uint)
+0:80 imageStore (temp void)
+0:80 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:80 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:80 Constant:
+0:80 0 (const uint)
+0:80 'storeTemp' (temp uint)
+0:80 'storeTemp' (temp uint)
+0:83 Sequence
+0:83 move second child to first child (temp float)
+0:83 'val1' (temp float)
+0:83 Sequence
+0:83 move second child to first child (temp int)
+0:83 'coordTemp' (temp int)
+0:83 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:83 Constant:
+0:83 0 (const uint)
+0:83 move second child to first child (temp float)
+0:83 'storeTemp' (temp float)
+0:83 imageLoad (temp float)
+0:83 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 multiply second child into first child (temp float)
+0:83 'storeTemp' (temp float)
+0:83 Constant:
+0:83 2.000000
+0:83 imageStore (temp void)
+0:83 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 'storeTemp' (temp float)
+0:83 'storeTemp' (temp float)
+0:84 Sequence
+0:84 move second child to first child (temp int)
+0:84 'coordTemp' (temp int)
+0:84 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:84 Constant:
+0:84 0 (const uint)
+0:84 move second child to first child (temp float)
+0:84 'storeTemp' (temp float)
+0:84 imageLoad (temp float)
+0:84 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 subtract second child into first child (temp float)
+0:84 'storeTemp' (temp float)
+0:84 Constant:
+0:84 3.000000
+0:84 imageStore (temp void)
+0:84 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 'storeTemp' (temp float)
+0:84 'storeTemp' (temp float)
+0:85 Sequence
+0:85 move second child to first child (temp int)
+0:85 'coordTemp' (temp int)
+0:85 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:85 Constant:
+0:85 0 (const uint)
+0:85 move second child to first child (temp float)
+0:85 'storeTemp' (temp float)
+0:85 imageLoad (temp float)
+0:85 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 add second child into first child (temp float)
+0:85 'storeTemp' (temp float)
+0:85 Constant:
+0:85 4.000000
+0:85 imageStore (temp void)
+0:85 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 'storeTemp' (temp float)
+0:85 'storeTemp' (temp float)
+0:87 Sequence
+0:87 move second child to first child (temp int)
+0:87 'coordTemp' (temp int)
+0:87 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:87 Constant:
+0:87 0 (const uint)
+0:87 move second child to first child (temp int)
+0:87 'storeTemp' (temp int)
+0:87 imageLoad (temp int)
+0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 divide second child into first child (temp int)
+0:87 'storeTemp' (temp int)
+0:87 Constant:
+0:87 2 (const int)
+0:87 imageStore (temp void)
+0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 'storeTemp' (temp int)
+0:87 'storeTemp' (temp int)
+0:88 Sequence
+0:88 move second child to first child (temp int)
+0:88 'coordTemp' (temp int)
+0:88 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:88 Constant:
+0:88 0 (const uint)
+0:88 move second child to first child (temp int)
+0:88 'storeTemp' (temp int)
+0:88 imageLoad (temp int)
+0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 mod second child into first child (temp int)
+0:88 'storeTemp' (temp int)
+0:88 Constant:
+0:88 2 (const int)
+0:88 imageStore (temp void)
+0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 'storeTemp' (temp int)
+0:88 'storeTemp' (temp int)
+0:89 Sequence
+0:89 move second child to first child (temp int)
+0:89 'coordTemp' (temp int)
+0:89 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:89 Constant:
+0:89 0 (const uint)
+0:89 move second child to first child (temp int)
+0:89 'storeTemp' (temp int)
+0:89 imageLoad (temp int)
+0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 and second child into first child (temp int)
+0:89 'storeTemp' (temp int)
+0:89 Constant:
+0:89 65535 (const int)
+0:89 imageStore (temp void)
+0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 'storeTemp' (temp int)
+0:89 'storeTemp' (temp int)
+0:90 Sequence
+0:90 move second child to first child (temp int)
+0:90 'coordTemp' (temp int)
+0:90 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:90 Constant:
+0:90 0 (const uint)
+0:90 move second child to first child (temp int)
+0:90 'storeTemp' (temp int)
+0:90 imageLoad (temp int)
+0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 or second child into first child (temp int)
+0:90 'storeTemp' (temp int)
+0:90 Constant:
+0:90 61680 (const int)
+0:90 imageStore (temp void)
+0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 'storeTemp' (temp int)
+0:90 'storeTemp' (temp int)
+0:91 Sequence
+0:91 move second child to first child (temp int)
+0:91 'coordTemp' (temp int)
+0:91 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:91 Constant:
+0:91 0 (const uint)
+0:91 move second child to first child (temp int)
+0:91 'storeTemp' (temp int)
+0:91 imageLoad (temp int)
+0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 left shift second child into first child (temp int)
+0:91 'storeTemp' (temp int)
+0:91 Constant:
+0:91 2 (const int)
+0:91 imageStore (temp void)
+0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 'storeTemp' (temp int)
+0:91 'storeTemp' (temp int)
+0:92 Sequence
+0:92 move second child to first child (temp int)
+0:92 'coordTemp' (temp int)
+0:92 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:92 Constant:
+0:92 0 (const uint)
+0:92 move second child to first child (temp int)
+0:92 'storeTemp' (temp int)
+0:92 imageLoad (temp int)
+0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 right shift second child into first child (temp int)
+0:92 'storeTemp' (temp int)
+0:92 Constant:
+0:92 2 (const int)
+0:92 imageStore (temp void)
+0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 'storeTemp' (temp int)
+0:92 'storeTemp' (temp int)
+0:95 Sequence
+0:95 move second child to first child (temp float)
+0:95 'storeTemp' (temp float)
+0:95 Function Call: SomeValue( (temp float)
+0:95 imageStore (temp void)
+0:95 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:95 Constant:
+0:95 1 (const uint)
+0:95 'storeTemp' (temp float)
+0:95 'storeTemp' (temp float)
+0:96 Sequence
+0:96 imageStore (temp void)
+0:96 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:96 Constant:
+0:96 1 (const uint)
+0:96 'lf1' (temp float)
+0:96 'lf1' (temp float)
+0:97 Sequence
+0:97 move second child to first child (temp int)
+0:97 'storeTemp' (temp int)
+0:97 Constant:
+0:97 5 (const int)
+0:97 imageStore (temp void)
+0:97 'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:97 Constant:
+0:97 1 (const uint)
+0:97 'storeTemp' (temp int)
+0:97 'storeTemp' (temp int)
+0:98 Sequence
+0:98 move second child to first child (temp uint)
+0:98 'storeTemp' (temp uint)
+0:98 Constant:
+0:98 6 (const uint)
+0:98 imageStore (temp void)
+0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:98 Constant:
+0:98 1 (const uint)
+0:98 'storeTemp' (temp uint)
+0:98 'storeTemp' (temp uint)
+0:101 Sequence
+0:101 move second child to first child (temp float)
+0:101 'storeTemp' (temp float)
+0:101 Function Call: SomeValue( (temp float)
+0:101 imageStore (temp void)
+0:101 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:101 Constant:
+0:101 2 (const uint)
+0:101 'storeTemp' (temp float)
+0:101 'storeTemp' (temp float)
+0:102 Sequence
+0:102 imageStore (temp void)
+0:102 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:102 Constant:
+0:102 2 (const uint)
+0:102 'lf1' (temp float)
+0:102 'lf1' (temp float)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'storeTemp' (temp int)
+0:103 Constant:
+0:103 8 (const int)
+0:103 imageStore (temp void)
+0:103 'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:103 Constant:
+0:103 2 (const uint)
+0:103 'storeTemp' (temp int)
+0:103 'storeTemp' (temp int)
+0:104 Sequence
+0:104 move second child to first child (temp uint)
+0:104 'storeTemp' (temp uint)
+0:104 Constant:
+0:104 9 (const uint)
+0:104 imageStore (temp void)
+0:104 'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:104 Constant:
+0:104 2 (const uint)
+0:104 'storeTemp' (temp uint)
+0:104 'storeTemp' (temp uint)
+0:107 Function Call: Fn1(f1; (temp float)
+0:107 imageLoad (temp float)
+0:107 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:107 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:107 Constant:
+0:107 0 (const uint)
+0:108 Function Call: Fn1(i1; (temp int)
+0:108 imageLoad (temp int)
+0:108 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:108 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:108 Constant:
+0:108 0 (const uint)
+0:109 Function Call: Fn1(u1; (temp uint)
+0:109 imageLoad (temp uint)
+0:109 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:109 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:109 Constant:
+0:109 0 (const uint)
+0:111 Comma (temp void)
+0:111 Function Call: Fn2(f1; (temp void)
+0:111 'tempArg' (temp float)
+0:111 Sequence
+0:111 imageStore (temp void)
+0:111 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:111 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:111 Constant:
+0:111 0 (const uint)
+0:111 'tempArg' (temp float)
+0:111 'tempArg' (temp float)
+0:112 Comma (temp void)
+0:112 Function Call: Fn2(i1; (temp void)
+0:112 'tempArg' (temp int)
+0:112 Sequence
+0:112 imageStore (temp void)
+0:112 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:112 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:112 Constant:
+0:112 0 (const uint)
+0:112 'tempArg' (temp int)
+0:112 'tempArg' (temp int)
+0:113 Comma (temp void)
+0:113 Function Call: Fn2(u1; (temp void)
+0:113 'tempArg' (temp uint)
+0:113 Sequence
+0:113 imageStore (temp void)
+0:113 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:113 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:113 Constant:
+0:113 0 (const uint)
+0:113 'tempArg' (temp uint)
+0:113 'tempArg' (temp uint)
+0:117 Sequence
+0:117 move second child to first child (temp int)
+0:117 'coordTemp' (temp int)
+0:117 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:117 Constant:
+0:117 0 (const uint)
+0:117 move second child to first child (temp float)
+0:117 'storeTemp' (temp float)
+0:117 imageLoad (temp float)
+0:117 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 Pre-Increment (temp float)
+0:117 'storeTemp' (temp float)
+0:117 imageStore (temp void)
+0:117 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 'storeTemp' (temp float)
+0:117 'storeTemp' (temp float)
+0:118 Sequence
+0:118 move second child to first child (temp int)
+0:118 'coordTemp' (temp int)
+0:118 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:118 Constant:
+0:118 0 (const uint)
+0:118 move second child to first child (temp int)
+0:118 'storeTemp' (temp int)
+0:118 imageLoad (temp int)
+0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 Pre-Increment (temp int)
+0:118 'storeTemp' (temp int)
+0:118 imageStore (temp void)
+0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 'storeTemp' (temp int)
+0:118 'storeTemp' (temp int)
+0:119 Sequence
+0:119 move second child to first child (temp int)
+0:119 'coordTemp' (temp int)
+0:119 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:119 Constant:
+0:119 0 (const uint)
+0:119 move second child to first child (temp uint)
+0:119 'storeTemp' (temp uint)
+0:119 imageLoad (temp uint)
+0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 Pre-Increment (temp uint)
+0:119 'storeTemp' (temp uint)
+0:119 imageStore (temp void)
+0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 'storeTemp' (temp uint)
+0:119 'storeTemp' (temp uint)
+0:121 Sequence
+0:121 move second child to first child (temp int)
+0:121 'coordTemp' (temp int)
+0:121 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:121 Constant:
+0:121 0 (const uint)
+0:121 move second child to first child (temp float)
+0:121 'storeTemp' (temp float)
+0:121 imageLoad (temp float)
+0:121 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 Pre-Decrement (temp float)
+0:121 'storeTemp' (temp float)
+0:121 imageStore (temp void)
+0:121 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 'storeTemp' (temp float)
+0:121 'storeTemp' (temp float)
+0:122 Sequence
+0:122 move second child to first child (temp int)
+0:122 'coordTemp' (temp int)
+0:122 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:122 Constant:
+0:122 0 (const uint)
+0:122 move second child to first child (temp int)
+0:122 'storeTemp' (temp int)
+0:122 imageLoad (temp int)
+0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 Pre-Decrement (temp int)
+0:122 'storeTemp' (temp int)
+0:122 imageStore (temp void)
+0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 'storeTemp' (temp int)
+0:122 'storeTemp' (temp int)
+0:123 Sequence
+0:123 move second child to first child (temp int)
+0:123 'coordTemp' (temp int)
+0:123 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:123 Constant:
+0:123 0 (const uint)
+0:123 move second child to first child (temp uint)
+0:123 'storeTemp' (temp uint)
+0:123 imageLoad (temp uint)
+0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 Pre-Decrement (temp uint)
+0:123 'storeTemp' (temp uint)
+0:123 imageStore (temp void)
+0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 'storeTemp' (temp uint)
+0:123 'storeTemp' (temp uint)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'coordTemp' (temp int)
+0:126 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:126 Constant:
+0:126 0 (const uint)
+0:126 move second child to first child (temp float)
+0:126 'storeTempPre' (temp float)
+0:126 imageLoad (temp float)
+0:126 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 move second child to first child (temp float)
+0:126 'storeTempPost' (temp float)
+0:126 'storeTempPre' (temp float)
+0:126 Post-Increment (temp float)
+0:126 'storeTempPost' (temp float)
+0:126 imageStore (temp void)
+0:126 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 'storeTempPost' (temp float)
+0:126 'storeTempPre' (temp float)
+0:127 Sequence
+0:127 move second child to first child (temp int)
+0:127 'coordTemp' (temp int)
+0:127 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:127 Constant:
+0:127 0 (const uint)
+0:127 move second child to first child (temp uint)
+0:127 'storeTempPre' (temp uint)
+0:127 imageLoad (temp uint)
+0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 move second child to first child (temp uint)
+0:127 'storeTempPost' (temp uint)
+0:127 'storeTempPre' (temp uint)
+0:127 Post-Decrement (temp uint)
+0:127 'storeTempPost' (temp uint)
+0:127 imageStore (temp void)
+0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 'storeTempPost' (temp uint)
+0:127 'storeTempPre' (temp uint)
+0:128 Sequence
+0:128 move second child to first child (temp int)
+0:128 'coordTemp' (temp int)
+0:128 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:128 Constant:
+0:128 0 (const uint)
+0:128 move second child to first child (temp int)
+0:128 'storeTempPre' (temp int)
+0:128 imageLoad (temp int)
+0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 move second child to first child (temp int)
+0:128 'storeTempPost' (temp int)
+0:128 'storeTempPre' (temp int)
+0:128 Post-Increment (temp int)
+0:128 'storeTempPost' (temp int)
+0:128 imageStore (temp void)
+0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 'storeTempPost' (temp int)
+0:128 'storeTempPre' (temp int)
+0:130 Sequence
+0:130 move second child to first child (temp int)
+0:130 'coordTemp' (temp int)
+0:130 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:130 Constant:
+0:130 0 (const uint)
+0:130 move second child to first child (temp float)
+0:130 'storeTempPre' (temp float)
+0:130 imageLoad (temp float)
+0:130 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 move second child to first child (temp float)
+0:130 'storeTempPost' (temp float)
+0:130 'storeTempPre' (temp float)
+0:130 Post-Decrement (temp float)
+0:130 'storeTempPost' (temp float)
+0:130 imageStore (temp void)
+0:130 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 'storeTempPost' (temp float)
+0:130 'storeTempPre' (temp float)
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'coordTemp' (temp int)
+0:131 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:131 Constant:
+0:131 0 (const uint)
+0:131 move second child to first child (temp int)
+0:131 'storeTempPre' (temp int)
+0:131 imageLoad (temp int)
+0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 move second child to first child (temp int)
+0:131 'storeTempPost' (temp int)
+0:131 'storeTempPre' (temp int)
+0:131 Post-Increment (temp int)
+0:131 'storeTempPost' (temp int)
+0:131 imageStore (temp void)
+0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 'storeTempPost' (temp int)
+0:131 'storeTempPre' (temp int)
+0:132 Sequence
+0:132 move second child to first child (temp int)
+0:132 'coordTemp' (temp int)
+0:132 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:132 Constant:
+0:132 0 (const uint)
+0:132 move second child to first child (temp uint)
+0:132 'storeTempPre' (temp uint)
+0:132 imageLoad (temp uint)
+0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 move second child to first child (temp uint)
+0:132 'storeTempPost' (temp uint)
+0:132 'storeTempPre' (temp uint)
+0:132 Post-Decrement (temp uint)
+0:132 'storeTempPost' (temp uint)
+0:132 imageStore (temp void)
+0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 'storeTempPost' (temp uint)
+0:132 'storeTempPre' (temp uint)
+0:135 Sequence
+0:135 move second child to first child (temp float)
+0:135 'storeTemp' (temp float)
+0:? imageLoad (temp float)
+0:135 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:? Constant:
+0:? 2 (const int)
+0:? 3 (const int)
+0:135 imageStore (temp void)
+0:135 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:135 Constant:
+0:135 1 (const int)
+0:135 'storeTemp' (temp float)
+0:135 'storeTemp' (temp float)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 Color: direct index for structure (temp 4-component vector of float)
+0:137 'psout' (temp structure{temp 4-component vector of float Color})
+0:137 Constant:
+0:137 0 (const int)
+0:137 Constant:
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:139 Color: direct index for structure (temp 4-component vector of float)
+0:139 'psout' (temp structure{temp 4-component vector of float Color})
+0:139 Constant:
+0:139 0 (const int)
+0:139 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:? 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:? 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray)
+0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
+0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
+0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42 Function Definition: Fn1(i1; (temp int)
+0:42 Function Parameters:
+0:42 'x' (in int)
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 'x' (in int)
+0:43 Function Definition: Fn1(u1; (temp uint)
+0:43 Function Parameters:
+0:43 'x' (in uint)
+0:? Sequence
+0:43 Branch: Return with expression
+0:43 'x' (in uint)
+0:44 Function Definition: Fn1(f1; (temp float)
+0:44 Function Parameters:
+0:44 'x' (in float)
+0:? Sequence
+0:44 Branch: Return with expression
+0:44 'x' (in float)
+0:46 Function Definition: Fn2(i1; (temp void)
+0:46 Function Parameters:
+0:46 'x' (out int)
+0:? Sequence
+0:46 move second child to first child (temp int)
+0:46 'x' (out int)
+0:46 Constant:
+0:46 0 (const int)
+0:47 Function Definition: Fn2(u1; (temp void)
+0:47 Function Parameters:
+0:47 'x' (out uint)
+0:? Sequence
+0:47 move second child to first child (temp uint)
+0:47 'x' (out uint)
+0:47 Constant:
+0:47 0 (const uint)
+0:48 Function Definition: Fn2(f1; (temp void)
+0:48 Function Parameters:
+0:48 'x' (out float)
+0:? Sequence
+0:48 move second child to first child (temp float)
+0:48 'x' (out float)
+0:48 Constant:
+0:48 0.000000
+0:50 Function Definition: SomeValue( (temp float)
+0:50 Function Parameters:
+0:? Sequence
+0:50 Branch: Return with expression
+0:50 Convert int to float (temp float)
+0:50 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:50 Constant:
+0:50 0 (const uint)
+0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53 Function Parameters:
+0:? Sequence
+0:57 imageLoad (temp float)
+0:57 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:57 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:57 Constant:
+0:57 0 (const uint)
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'r00' (temp float)
+0:59 imageLoad (temp float)
+0:59 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:59 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:59 Constant:
+0:59 0 (const uint)
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'r01' (temp int)
+0:60 imageLoad (temp int)
+0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:60 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:60 Constant:
+0:60 0 (const uint)
+0:61 Sequence
+0:61 move second child to first child (temp uint)
+0:61 'r02' (temp uint)
+0:61 imageLoad (temp uint)
+0:61 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:61 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:61 Constant:
+0:61 0 (const uint)
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'r10' (temp float)
+0:64 imageLoad (temp float)
+0:64 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:64 Constant:
+0:64 1 (const uint)
+0:65 Sequence
+0:65 move second child to first child (temp int)
+0:65 'r11' (temp int)
+0:65 imageLoad (temp int)
+0:65 'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:65 Constant:
+0:65 1 (const uint)
+0:66 Sequence
+0:66 move second child to first child (temp uint)
+0:66 'r12' (temp uint)
+0:66 imageLoad (temp uint)
+0:66 'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:66 Constant:
+0:66 1 (const uint)
+0:69 Sequence
+0:69 move second child to first child (temp float)
+0:69 'r20' (temp float)
+0:69 imageLoad (temp float)
+0:69 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp int)
+0:70 'r21' (temp int)
+0:70 imageLoad (temp int)
+0:70 'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:70 Constant:
+0:70 2 (const uint)
+0:71 Sequence
+0:71 move second child to first child (temp uint)
+0:71 'r22' (temp uint)
+0:71 imageLoad (temp uint)
+0:71 'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:71 Constant:
+0:71 2 (const uint)
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'lf1' (temp float)
+0:73 uf1: direct index for structure (layout(offset=96 ) uniform float)
+0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:73 Constant:
+0:73 8 (const uint)
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'storeTemp' (temp float)
+0:77 Function Call: SomeValue( (temp float)
+0:77 imageStore (temp void)
+0:77 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:77 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:77 Constant:
+0:77 0 (const uint)
+0:77 'storeTemp' (temp float)
+0:77 'storeTemp' (temp float)
+0:78 Sequence
+0:78 imageStore (temp void)
+0:78 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:78 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:78 Constant:
+0:78 0 (const uint)
+0:78 'lf1' (temp float)
+0:78 'lf1' (temp float)
+0:79 Sequence
+0:79 move second child to first child (temp int)
+0:79 'storeTemp' (temp int)
+0:79 Constant:
+0:79 2 (const int)
+0:79 imageStore (temp void)
+0:79 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:79 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:79 Constant:
+0:79 0 (const uint)
+0:79 'storeTemp' (temp int)
+0:79 'storeTemp' (temp int)
+0:80 Sequence
+0:80 move second child to first child (temp uint)
+0:80 'storeTemp' (temp uint)
+0:80 Constant:
+0:80 3 (const uint)
+0:80 imageStore (temp void)
+0:80 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:80 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:80 Constant:
+0:80 0 (const uint)
+0:80 'storeTemp' (temp uint)
+0:80 'storeTemp' (temp uint)
+0:83 Sequence
+0:83 move second child to first child (temp float)
+0:83 'val1' (temp float)
+0:83 Sequence
+0:83 move second child to first child (temp int)
+0:83 'coordTemp' (temp int)
+0:83 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:83 Constant:
+0:83 0 (const uint)
+0:83 move second child to first child (temp float)
+0:83 'storeTemp' (temp float)
+0:83 imageLoad (temp float)
+0:83 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 multiply second child into first child (temp float)
+0:83 'storeTemp' (temp float)
+0:83 Constant:
+0:83 2.000000
+0:83 imageStore (temp void)
+0:83 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 'storeTemp' (temp float)
+0:83 'storeTemp' (temp float)
+0:84 Sequence
+0:84 move second child to first child (temp int)
+0:84 'coordTemp' (temp int)
+0:84 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:84 Constant:
+0:84 0 (const uint)
+0:84 move second child to first child (temp float)
+0:84 'storeTemp' (temp float)
+0:84 imageLoad (temp float)
+0:84 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 subtract second child into first child (temp float)
+0:84 'storeTemp' (temp float)
+0:84 Constant:
+0:84 3.000000
+0:84 imageStore (temp void)
+0:84 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 'storeTemp' (temp float)
+0:84 'storeTemp' (temp float)
+0:85 Sequence
+0:85 move second child to first child (temp int)
+0:85 'coordTemp' (temp int)
+0:85 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:85 Constant:
+0:85 0 (const uint)
+0:85 move second child to first child (temp float)
+0:85 'storeTemp' (temp float)
+0:85 imageLoad (temp float)
+0:85 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 add second child into first child (temp float)
+0:85 'storeTemp' (temp float)
+0:85 Constant:
+0:85 4.000000
+0:85 imageStore (temp void)
+0:85 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 'storeTemp' (temp float)
+0:85 'storeTemp' (temp float)
+0:87 Sequence
+0:87 move second child to first child (temp int)
+0:87 'coordTemp' (temp int)
+0:87 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:87 Constant:
+0:87 0 (const uint)
+0:87 move second child to first child (temp int)
+0:87 'storeTemp' (temp int)
+0:87 imageLoad (temp int)
+0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 divide second child into first child (temp int)
+0:87 'storeTemp' (temp int)
+0:87 Constant:
+0:87 2 (const int)
+0:87 imageStore (temp void)
+0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 'storeTemp' (temp int)
+0:87 'storeTemp' (temp int)
+0:88 Sequence
+0:88 move second child to first child (temp int)
+0:88 'coordTemp' (temp int)
+0:88 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:88 Constant:
+0:88 0 (const uint)
+0:88 move second child to first child (temp int)
+0:88 'storeTemp' (temp int)
+0:88 imageLoad (temp int)
+0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 mod second child into first child (temp int)
+0:88 'storeTemp' (temp int)
+0:88 Constant:
+0:88 2 (const int)
+0:88 imageStore (temp void)
+0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 'storeTemp' (temp int)
+0:88 'storeTemp' (temp int)
+0:89 Sequence
+0:89 move second child to first child (temp int)
+0:89 'coordTemp' (temp int)
+0:89 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:89 Constant:
+0:89 0 (const uint)
+0:89 move second child to first child (temp int)
+0:89 'storeTemp' (temp int)
+0:89 imageLoad (temp int)
+0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 and second child into first child (temp int)
+0:89 'storeTemp' (temp int)
+0:89 Constant:
+0:89 65535 (const int)
+0:89 imageStore (temp void)
+0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 'storeTemp' (temp int)
+0:89 'storeTemp' (temp int)
+0:90 Sequence
+0:90 move second child to first child (temp int)
+0:90 'coordTemp' (temp int)
+0:90 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:90 Constant:
+0:90 0 (const uint)
+0:90 move second child to first child (temp int)
+0:90 'storeTemp' (temp int)
+0:90 imageLoad (temp int)
+0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 or second child into first child (temp int)
+0:90 'storeTemp' (temp int)
+0:90 Constant:
+0:90 61680 (const int)
+0:90 imageStore (temp void)
+0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 'storeTemp' (temp int)
+0:90 'storeTemp' (temp int)
+0:91 Sequence
+0:91 move second child to first child (temp int)
+0:91 'coordTemp' (temp int)
+0:91 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:91 Constant:
+0:91 0 (const uint)
+0:91 move second child to first child (temp int)
+0:91 'storeTemp' (temp int)
+0:91 imageLoad (temp int)
+0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 left shift second child into first child (temp int)
+0:91 'storeTemp' (temp int)
+0:91 Constant:
+0:91 2 (const int)
+0:91 imageStore (temp void)
+0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 'storeTemp' (temp int)
+0:91 'storeTemp' (temp int)
+0:92 Sequence
+0:92 move second child to first child (temp int)
+0:92 'coordTemp' (temp int)
+0:92 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:92 Constant:
+0:92 0 (const uint)
+0:92 move second child to first child (temp int)
+0:92 'storeTemp' (temp int)
+0:92 imageLoad (temp int)
+0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 right shift second child into first child (temp int)
+0:92 'storeTemp' (temp int)
+0:92 Constant:
+0:92 2 (const int)
+0:92 imageStore (temp void)
+0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 'storeTemp' (temp int)
+0:92 'storeTemp' (temp int)
+0:95 Sequence
+0:95 move second child to first child (temp float)
+0:95 'storeTemp' (temp float)
+0:95 Function Call: SomeValue( (temp float)
+0:95 imageStore (temp void)
+0:95 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:95 Constant:
+0:95 1 (const uint)
+0:95 'storeTemp' (temp float)
+0:95 'storeTemp' (temp float)
+0:96 Sequence
+0:96 imageStore (temp void)
+0:96 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:96 Constant:
+0:96 1 (const uint)
+0:96 'lf1' (temp float)
+0:96 'lf1' (temp float)
+0:97 Sequence
+0:97 move second child to first child (temp int)
+0:97 'storeTemp' (temp int)
+0:97 Constant:
+0:97 5 (const int)
+0:97 imageStore (temp void)
+0:97 'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:97 Constant:
+0:97 1 (const uint)
+0:97 'storeTemp' (temp int)
+0:97 'storeTemp' (temp int)
+0:98 Sequence
+0:98 move second child to first child (temp uint)
+0:98 'storeTemp' (temp uint)
+0:98 Constant:
+0:98 6 (const uint)
+0:98 imageStore (temp void)
+0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:98 Constant:
+0:98 1 (const uint)
+0:98 'storeTemp' (temp uint)
+0:98 'storeTemp' (temp uint)
+0:101 Sequence
+0:101 move second child to first child (temp float)
+0:101 'storeTemp' (temp float)
+0:101 Function Call: SomeValue( (temp float)
+0:101 imageStore (temp void)
+0:101 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:101 Constant:
+0:101 2 (const uint)
+0:101 'storeTemp' (temp float)
+0:101 'storeTemp' (temp float)
+0:102 Sequence
+0:102 imageStore (temp void)
+0:102 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:102 Constant:
+0:102 2 (const uint)
+0:102 'lf1' (temp float)
+0:102 'lf1' (temp float)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'storeTemp' (temp int)
+0:103 Constant:
+0:103 8 (const int)
+0:103 imageStore (temp void)
+0:103 'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:103 Constant:
+0:103 2 (const uint)
+0:103 'storeTemp' (temp int)
+0:103 'storeTemp' (temp int)
+0:104 Sequence
+0:104 move second child to first child (temp uint)
+0:104 'storeTemp' (temp uint)
+0:104 Constant:
+0:104 9 (const uint)
+0:104 imageStore (temp void)
+0:104 'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:104 Constant:
+0:104 2 (const uint)
+0:104 'storeTemp' (temp uint)
+0:104 'storeTemp' (temp uint)
+0:107 Function Call: Fn1(f1; (temp float)
+0:107 imageLoad (temp float)
+0:107 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:107 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:107 Constant:
+0:107 0 (const uint)
+0:108 Function Call: Fn1(i1; (temp int)
+0:108 imageLoad (temp int)
+0:108 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:108 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:108 Constant:
+0:108 0 (const uint)
+0:109 Function Call: Fn1(u1; (temp uint)
+0:109 imageLoad (temp uint)
+0:109 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:109 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:109 Constant:
+0:109 0 (const uint)
+0:111 Comma (temp void)
+0:111 Function Call: Fn2(f1; (temp void)
+0:111 'tempArg' (temp float)
+0:111 Sequence
+0:111 imageStore (temp void)
+0:111 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:111 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:111 Constant:
+0:111 0 (const uint)
+0:111 'tempArg' (temp float)
+0:111 'tempArg' (temp float)
+0:112 Comma (temp void)
+0:112 Function Call: Fn2(i1; (temp void)
+0:112 'tempArg' (temp int)
+0:112 Sequence
+0:112 imageStore (temp void)
+0:112 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:112 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:112 Constant:
+0:112 0 (const uint)
+0:112 'tempArg' (temp int)
+0:112 'tempArg' (temp int)
+0:113 Comma (temp void)
+0:113 Function Call: Fn2(u1; (temp void)
+0:113 'tempArg' (temp uint)
+0:113 Sequence
+0:113 imageStore (temp void)
+0:113 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:113 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:113 Constant:
+0:113 0 (const uint)
+0:113 'tempArg' (temp uint)
+0:113 'tempArg' (temp uint)
+0:117 Sequence
+0:117 move second child to first child (temp int)
+0:117 'coordTemp' (temp int)
+0:117 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:117 Constant:
+0:117 0 (const uint)
+0:117 move second child to first child (temp float)
+0:117 'storeTemp' (temp float)
+0:117 imageLoad (temp float)
+0:117 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 Pre-Increment (temp float)
+0:117 'storeTemp' (temp float)
+0:117 imageStore (temp void)
+0:117 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 'storeTemp' (temp float)
+0:117 'storeTemp' (temp float)
+0:118 Sequence
+0:118 move second child to first child (temp int)
+0:118 'coordTemp' (temp int)
+0:118 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:118 Constant:
+0:118 0 (const uint)
+0:118 move second child to first child (temp int)
+0:118 'storeTemp' (temp int)
+0:118 imageLoad (temp int)
+0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 Pre-Increment (temp int)
+0:118 'storeTemp' (temp int)
+0:118 imageStore (temp void)
+0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 'storeTemp' (temp int)
+0:118 'storeTemp' (temp int)
+0:119 Sequence
+0:119 move second child to first child (temp int)
+0:119 'coordTemp' (temp int)
+0:119 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:119 Constant:
+0:119 0 (const uint)
+0:119 move second child to first child (temp uint)
+0:119 'storeTemp' (temp uint)
+0:119 imageLoad (temp uint)
+0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 Pre-Increment (temp uint)
+0:119 'storeTemp' (temp uint)
+0:119 imageStore (temp void)
+0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 'storeTemp' (temp uint)
+0:119 'storeTemp' (temp uint)
+0:121 Sequence
+0:121 move second child to first child (temp int)
+0:121 'coordTemp' (temp int)
+0:121 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:121 Constant:
+0:121 0 (const uint)
+0:121 move second child to first child (temp float)
+0:121 'storeTemp' (temp float)
+0:121 imageLoad (temp float)
+0:121 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 Pre-Decrement (temp float)
+0:121 'storeTemp' (temp float)
+0:121 imageStore (temp void)
+0:121 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 'storeTemp' (temp float)
+0:121 'storeTemp' (temp float)
+0:122 Sequence
+0:122 move second child to first child (temp int)
+0:122 'coordTemp' (temp int)
+0:122 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:122 Constant:
+0:122 0 (const uint)
+0:122 move second child to first child (temp int)
+0:122 'storeTemp' (temp int)
+0:122 imageLoad (temp int)
+0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 Pre-Decrement (temp int)
+0:122 'storeTemp' (temp int)
+0:122 imageStore (temp void)
+0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 'storeTemp' (temp int)
+0:122 'storeTemp' (temp int)
+0:123 Sequence
+0:123 move second child to first child (temp int)
+0:123 'coordTemp' (temp int)
+0:123 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:123 Constant:
+0:123 0 (const uint)
+0:123 move second child to first child (temp uint)
+0:123 'storeTemp' (temp uint)
+0:123 imageLoad (temp uint)
+0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 Pre-Decrement (temp uint)
+0:123 'storeTemp' (temp uint)
+0:123 imageStore (temp void)
+0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 'storeTemp' (temp uint)
+0:123 'storeTemp' (temp uint)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'coordTemp' (temp int)
+0:126 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:126 Constant:
+0:126 0 (const uint)
+0:126 move second child to first child (temp float)
+0:126 'storeTempPre' (temp float)
+0:126 imageLoad (temp float)
+0:126 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 move second child to first child (temp float)
+0:126 'storeTempPost' (temp float)
+0:126 'storeTempPre' (temp float)
+0:126 Post-Increment (temp float)
+0:126 'storeTempPost' (temp float)
+0:126 imageStore (temp void)
+0:126 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 'storeTempPost' (temp float)
+0:126 'storeTempPre' (temp float)
+0:127 Sequence
+0:127 move second child to first child (temp int)
+0:127 'coordTemp' (temp int)
+0:127 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:127 Constant:
+0:127 0 (const uint)
+0:127 move second child to first child (temp uint)
+0:127 'storeTempPre' (temp uint)
+0:127 imageLoad (temp uint)
+0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 move second child to first child (temp uint)
+0:127 'storeTempPost' (temp uint)
+0:127 'storeTempPre' (temp uint)
+0:127 Post-Decrement (temp uint)
+0:127 'storeTempPost' (temp uint)
+0:127 imageStore (temp void)
+0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 'storeTempPost' (temp uint)
+0:127 'storeTempPre' (temp uint)
+0:128 Sequence
+0:128 move second child to first child (temp int)
+0:128 'coordTemp' (temp int)
+0:128 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:128 Constant:
+0:128 0 (const uint)
+0:128 move second child to first child (temp int)
+0:128 'storeTempPre' (temp int)
+0:128 imageLoad (temp int)
+0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 move second child to first child (temp int)
+0:128 'storeTempPost' (temp int)
+0:128 'storeTempPre' (temp int)
+0:128 Post-Increment (temp int)
+0:128 'storeTempPost' (temp int)
+0:128 imageStore (temp void)
+0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 'storeTempPost' (temp int)
+0:128 'storeTempPre' (temp int)
+0:130 Sequence
+0:130 move second child to first child (temp int)
+0:130 'coordTemp' (temp int)
+0:130 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:130 Constant:
+0:130 0 (const uint)
+0:130 move second child to first child (temp float)
+0:130 'storeTempPre' (temp float)
+0:130 imageLoad (temp float)
+0:130 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 move second child to first child (temp float)
+0:130 'storeTempPost' (temp float)
+0:130 'storeTempPre' (temp float)
+0:130 Post-Decrement (temp float)
+0:130 'storeTempPost' (temp float)
+0:130 imageStore (temp void)
+0:130 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 'storeTempPost' (temp float)
+0:130 'storeTempPre' (temp float)
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'coordTemp' (temp int)
+0:131 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:131 Constant:
+0:131 0 (const uint)
+0:131 move second child to first child (temp int)
+0:131 'storeTempPre' (temp int)
+0:131 imageLoad (temp int)
+0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 move second child to first child (temp int)
+0:131 'storeTempPost' (temp int)
+0:131 'storeTempPre' (temp int)
+0:131 Post-Increment (temp int)
+0:131 'storeTempPost' (temp int)
+0:131 imageStore (temp void)
+0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 'storeTempPost' (temp int)
+0:131 'storeTempPre' (temp int)
+0:132 Sequence
+0:132 move second child to first child (temp int)
+0:132 'coordTemp' (temp int)
+0:132 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:132 Constant:
+0:132 0 (const uint)
+0:132 move second child to first child (temp uint)
+0:132 'storeTempPre' (temp uint)
+0:132 imageLoad (temp uint)
+0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 move second child to first child (temp uint)
+0:132 'storeTempPost' (temp uint)
+0:132 'storeTempPre' (temp uint)
+0:132 Post-Decrement (temp uint)
+0:132 'storeTempPost' (temp uint)
+0:132 imageStore (temp void)
+0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 'storeTempPost' (temp uint)
+0:132 'storeTempPre' (temp uint)
+0:135 Sequence
+0:135 move second child to first child (temp float)
+0:135 'storeTemp' (temp float)
+0:? imageLoad (temp float)
+0:135 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:? Constant:
+0:? 2 (const int)
+0:? 3 (const int)
+0:135 imageStore (temp void)
+0:135 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:135 Constant:
+0:135 1 (const int)
+0:135 'storeTemp' (temp float)
+0:135 'storeTemp' (temp float)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 Color: direct index for structure (temp 4-component vector of float)
+0:137 'psout' (temp structure{temp 4-component vector of float Color})
+0:137 Constant:
+0:137 0 (const int)
+0:137 Constant:
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:139 Color: direct index for structure (temp 4-component vector of float)
+0:139 'psout' (temp structure{temp 4-component vector of float Color})
+0:139 Constant:
+0:139 0 (const int)
+0:139 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:? 'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:? 'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray)
+0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
+0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
+0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 566
+
+ Capability Shader
+ Capability Sampled1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 541
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 10 "Fn1(i1;"
+ Name 9 "x"
+ Name 16 "Fn1(u1;"
+ Name 15 "x"
+ Name 22 "Fn1(f1;"
+ Name 21 "x"
+ Name 26 "Fn2(i1;"
+ Name 25 "x"
+ Name 30 "Fn2(u1;"
+ Name 29 "x"
+ Name 34 "Fn2(f1;"
+ Name 33 "x"
+ Name 37 "SomeValue("
+ Name 54 "$Global"
+ MemberName 54($Global) 0 "c1"
+ MemberName 54($Global) 1 "c2"
+ MemberName 54($Global) 2 "c3"
+ MemberName 54($Global) 3 "c4"
+ MemberName 54($Global) 4 "o1"
+ MemberName 54($Global) 5 "o2"
+ MemberName 54($Global) 6 "o3"
+ MemberName 54($Global) 7 "o4"
+ MemberName 54($Global) 8 "uf1"
+ MemberName 54($Global) 9 "ui1"
+ MemberName 54($Global) 10 "uu1"
+ Name 56 ""
+ Name 65 "g_tTex1df1"
+ Name 70 "r00"
+ Name 75 "r01"
+ Name 78 "g_tTex1di1"
+ Name 83 "r02"
+ Name 86 "g_tTex1du1"
+ Name 91 "r10"
+ Name 94 "g_tTex2df1"
+ Name 101 "r11"
+ Name 104 "g_tTex2di1"
+ Name 109 "r12"
+ Name 112 "g_tTex2du1"
+ Name 117 "r20"
+ Name 120 "g_tTex3df1"
+ Name 127 "r21"
+ Name 130 "g_tTex3di1"
+ Name 135 "r22"
+ Name 138 "g_tTex3du1"
+ Name 143 "lf1"
+ Name 148 "storeTemp"
+ Name 158 "storeTemp"
+ Name 163 "storeTemp"
+ Name 169 "val1"
+ Name 170 "coordTemp"
+ Name 173 "storeTemp"
+ Name 184 "coordTemp"
+ Name 187 "storeTemp"
+ Name 197 "coordTemp"
+ Name 200 "storeTemp"
+ Name 210 "coordTemp"
+ Name 213 "storeTemp"
+ Name 222 "coordTemp"
+ Name 225 "storeTemp"
+ Name 234 "coordTemp"
+ Name 237 "storeTemp"
+ Name 247 "coordTemp"
+ Name 250 "storeTemp"
+ Name 260 "coordTemp"
+ Name 263 "storeTemp"
+ Name 272 "coordTemp"
+ Name 275 "storeTemp"
+ Name 284 "storeTemp"
+ Name 294 "storeTemp"
+ Name 300 "storeTemp"
+ Name 306 "storeTemp"
+ Name 316 "storeTemp"
+ Name 321 "storeTemp"
+ Name 331 "param"
+ Name 337 "param"
+ Name 343 "param"
+ Name 345 "tempArg"
+ Name 346 "param"
+ Name 353 "tempArg"
+ Name 354 "param"
+ Name 361 "tempArg"
+ Name 362 "param"
+ Name 369 "coordTemp"
+ Name 372 "storeTemp"
+ Name 382 "coordTemp"
+ Name 385 "storeTemp"
+ Name 394 "coordTemp"
+ Name 397 "storeTemp"
+ Name 406 "coordTemp"
+ Name 409 "storeTemp"
+ Name 418 "coordTemp"
+ Name 421 "storeTemp"
+ Name 430 "coordTemp"
+ Name 433 "storeTemp"
+ Name 442 "coordTemp"
+ Name 445 "storeTempPre"
+ Name 449 "storeTempPost"
+ Name 456 "coordTemp"
+ Name 459 "storeTempPre"
+ Name 463 "storeTempPost"
+ Name 470 "coordTemp"
+ Name 473 "storeTempPre"
+ Name 477 "storeTempPost"
+ Name 484 "coordTemp"
+ Name 487 "storeTempPre"
+ Name 491 "storeTempPost"
+ Name 498 "coordTemp"
+ Name 501 "storeTempPre"
+ Name 505 "storeTempPost"
+ Name 512 "coordTemp"
+ Name 515 "storeTempPre"
+ Name 519 "storeTempPost"
+ Name 526 "storeTemp"
+ Name 534 "PS_OUTPUT"
+ MemberName 534(PS_OUTPUT) 0 "Color"
+ Name 536 "psout"
+ Name 541 "Color"
+ Name 547 "g_sSamp"
+ Name 550 "g_tTex1df1a"
+ Name 553 "g_tTex1di1a"
+ Name 556 "g_tTex1du1a"
+ Name 559 "g_tTex2df1a"
+ Name 562 "g_tTex2di1a"
+ Name 565 "g_tTex2du1a"
+ MemberDecorate 54($Global) 0 Offset 0
+ MemberDecorate 54($Global) 1 Offset 8
+ MemberDecorate 54($Global) 2 Offset 16
+ MemberDecorate 54($Global) 3 Offset 32
+ MemberDecorate 54($Global) 4 Offset 48
+ MemberDecorate 54($Global) 5 Offset 56
+ MemberDecorate 54($Global) 6 Offset 64
+ MemberDecorate 54($Global) 7 Offset 80
+ MemberDecorate 54($Global) 8 Offset 96
+ MemberDecorate 54($Global) 9 Offset 100
+ MemberDecorate 54($Global) 10 Offset 104
+ Decorate 54($Global) Block
+ Decorate 56 DescriptorSet 0
+ Decorate 65(g_tTex1df1) DescriptorSet 0
+ Decorate 78(g_tTex1di1) DescriptorSet 0
+ Decorate 86(g_tTex1du1) DescriptorSet 0
+ Decorate 94(g_tTex2df1) DescriptorSet 0
+ Decorate 104(g_tTex2di1) DescriptorSet 0
+ Decorate 112(g_tTex2du1) DescriptorSet 0
+ Decorate 120(g_tTex3df1) DescriptorSet 0
+ Decorate 130(g_tTex3di1) DescriptorSet 0
+ Decorate 138(g_tTex3du1) DescriptorSet 0
+ Decorate 541(Color) Location 0
+ Decorate 547(g_sSamp) DescriptorSet 0
+ Decorate 547(g_sSamp) Binding 0
+ Decorate 550(g_tTex1df1a) DescriptorSet 0
+ Decorate 553(g_tTex1di1a) DescriptorSet 0
+ Decorate 556(g_tTex1du1a) DescriptorSet 0
+ Decorate 559(g_tTex2df1a) DescriptorSet 0
+ Decorate 562(g_tTex2di1a) DescriptorSet 0
+ Decorate 565(g_tTex2du1a) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 8: TypeFunction 6(int) 7(ptr)
+ 12: TypeInt 32 0
+ 13: TypePointer Function 12(int)
+ 14: TypeFunction 12(int) 13(ptr)
+ 18: TypeFloat 32
+ 19: TypePointer Function 18(float)
+ 20: TypeFunction 18(float) 19(ptr)
+ 24: TypeFunction 2 7(ptr)
+ 28: TypeFunction 2 13(ptr)
+ 32: TypeFunction 2 19(ptr)
+ 36: TypeFunction 18(float)
+ 48: 6(int) Constant 0
+ 49: 12(int) Constant 0
+ 50: 18(float) Constant 0
+ 51: TypeVector 6(int) 2
+ 52: TypeVector 6(int) 3
+ 53: TypeVector 6(int) 4
+ 54($Global): TypeStruct 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 18(float) 6(int) 12(int)
+ 55: TypePointer Uniform 54($Global)
+ 56: 55(ptr) Variable Uniform
+ 57: TypePointer Uniform 6(int)
+ 63: TypeImage 18(float) 1D nonsampled format:R32f
+ 64: TypePointer UniformConstant 63
+ 65(g_tTex1df1): 64(ptr) Variable UniformConstant
+ 76: TypeImage 6(int) 1D nonsampled format:R32i
+ 77: TypePointer UniformConstant 76
+ 78(g_tTex1di1): 77(ptr) Variable UniformConstant
+ 84: TypeImage 12(int) 1D nonsampled format:R32ui
+ 85: TypePointer UniformConstant 84
+ 86(g_tTex1du1): 85(ptr) Variable UniformConstant
+ 92: TypeImage 18(float) 2D nonsampled format:R32f
+ 93: TypePointer UniformConstant 92
+ 94(g_tTex2df1): 93(ptr) Variable UniformConstant
+ 96: 6(int) Constant 1
+ 97: TypePointer Uniform 51(ivec2)
+ 102: TypeImage 6(int) 2D nonsampled format:R32i
+ 103: TypePointer UniformConstant 102
+ 104(g_tTex2di1): 103(ptr) Variable UniformConstant
+ 110: TypeImage 12(int) 2D nonsampled format:R32ui
+ 111: TypePointer UniformConstant 110
+ 112(g_tTex2du1): 111(ptr) Variable UniformConstant
+ 118: TypeImage 18(float) 3D nonsampled format:R32f
+ 119: TypePointer UniformConstant 118
+ 120(g_tTex3df1): 119(ptr) Variable UniformConstant
+ 122: 6(int) Constant 2
+ 123: TypePointer Uniform 52(ivec3)
+ 128: TypeImage 6(int) 3D nonsampled format:R32i
+ 129: TypePointer UniformConstant 128
+ 130(g_tTex3di1): 129(ptr) Variable UniformConstant
+ 136: TypeImage 12(int) 3D nonsampled format:R32ui
+ 137: TypePointer UniformConstant 136
+ 138(g_tTex3du1): 137(ptr) Variable UniformConstant
+ 144: 6(int) Constant 8
+ 145: TypePointer Uniform 18(float)
+ 164: 12(int) Constant 3
+ 177: 18(float) Constant 1073741824
+ 191: 18(float) Constant 1077936128
+ 204: 18(float) Constant 1082130432
+ 241: 6(int) Constant 65535
+ 254: 6(int) Constant 61680
+ 295: 6(int) Constant 5
+ 301: 12(int) Constant 6
+ 322: 12(int) Constant 9
+ 377: 18(float) Constant 1065353216
+ 528: 6(int) Constant 3
+ 529: 51(ivec2) ConstantComposite 122 528
+ 533: TypeVector 18(float) 4
+ 534(PS_OUTPUT): TypeStruct 533(fvec4)
+ 535: TypePointer Function 534(PS_OUTPUT)
+ 537: 533(fvec4) ConstantComposite 377 377 377 377
+ 538: TypePointer Function 533(fvec4)
+ 540: TypePointer Output 533(fvec4)
+ 541(Color): 540(ptr) Variable Output
+ 545: TypeSampler
+ 546: TypePointer UniformConstant 545
+ 547(g_sSamp): 546(ptr) Variable UniformConstant
+ 548: TypeImage 18(float) 1D array nonsampled format:R32f
+ 549: TypePointer UniformConstant 548
+550(g_tTex1df1a): 549(ptr) Variable UniformConstant
+ 551: TypeImage 6(int) 1D array nonsampled format:R32i
+ 552: TypePointer UniformConstant 551
+553(g_tTex1di1a): 552(ptr) Variable UniformConstant
+ 554: TypeImage 12(int) 1D array nonsampled format:R32ui
+ 555: TypePointer UniformConstant 554
+556(g_tTex1du1a): 555(ptr) Variable UniformConstant
+ 557: TypeImage 18(float) 2D array nonsampled format:R32f
+ 558: TypePointer UniformConstant 557
+559(g_tTex2df1a): 558(ptr) Variable UniformConstant
+ 560: TypeImage 6(int) 2D array nonsampled format:R32i
+ 561: TypePointer UniformConstant 560
+562(g_tTex2di1a): 561(ptr) Variable UniformConstant
+ 563: TypeImage 12(int) 2D array nonsampled format:R32ui
+ 564: TypePointer UniformConstant 563
+565(g_tTex2du1a): 564(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 70(r00): 19(ptr) Variable Function
+ 75(r01): 7(ptr) Variable Function
+ 83(r02): 13(ptr) Variable Function
+ 91(r10): 19(ptr) Variable Function
+ 101(r11): 7(ptr) Variable Function
+ 109(r12): 13(ptr) Variable Function
+ 117(r20): 19(ptr) Variable Function
+ 127(r21): 7(ptr) Variable Function
+ 135(r22): 13(ptr) Variable Function
+ 143(lf1): 19(ptr) Variable Function
+ 148(storeTemp): 19(ptr) Variable Function
+ 158(storeTemp): 7(ptr) Variable Function
+ 163(storeTemp): 13(ptr) Variable Function
+ 169(val1): 19(ptr) Variable Function
+ 170(coordTemp): 7(ptr) Variable Function
+ 173(storeTemp): 19(ptr) Variable Function
+ 184(coordTemp): 7(ptr) Variable Function
+ 187(storeTemp): 19(ptr) Variable Function
+ 197(coordTemp): 7(ptr) Variable Function
+ 200(storeTemp): 19(ptr) Variable Function
+ 210(coordTemp): 7(ptr) Variable Function
+ 213(storeTemp): 7(ptr) Variable Function
+ 222(coordTemp): 7(ptr) Variable Function
+ 225(storeTemp): 7(ptr) Variable Function
+ 234(coordTemp): 7(ptr) Variable Function
+ 237(storeTemp): 7(ptr) Variable Function
+ 247(coordTemp): 7(ptr) Variable Function
+ 250(storeTemp): 7(ptr) Variable Function
+ 260(coordTemp): 7(ptr) Variable Function
+ 263(storeTemp): 7(ptr) Variable Function
+ 272(coordTemp): 7(ptr) Variable Function
+ 275(storeTemp): 7(ptr) Variable Function
+ 284(storeTemp): 19(ptr) Variable Function
+ 294(storeTemp): 7(ptr) Variable Function
+ 300(storeTemp): 13(ptr) Variable Function
+ 306(storeTemp): 19(ptr) Variable Function
+ 316(storeTemp): 7(ptr) Variable Function
+ 321(storeTemp): 13(ptr) Variable Function
+ 331(param): 19(ptr) Variable Function
+ 337(param): 7(ptr) Variable Function
+ 343(param): 13(ptr) Variable Function
+ 345(tempArg): 19(ptr) Variable Function
+ 346(param): 19(ptr) Variable Function
+ 353(tempArg): 7(ptr) Variable Function
+ 354(param): 7(ptr) Variable Function
+ 361(tempArg): 13(ptr) Variable Function
+ 362(param): 13(ptr) Variable Function
+ 369(coordTemp): 7(ptr) Variable Function
+ 372(storeTemp): 19(ptr) Variable Function
+ 382(coordTemp): 7(ptr) Variable Function
+ 385(storeTemp): 7(ptr) Variable Function
+ 394(coordTemp): 7(ptr) Variable Function
+ 397(storeTemp): 13(ptr) Variable Function
+ 406(coordTemp): 7(ptr) Variable Function
+ 409(storeTemp): 19(ptr) Variable Function
+ 418(coordTemp): 7(ptr) Variable Function
+ 421(storeTemp): 7(ptr) Variable Function
+ 430(coordTemp): 7(ptr) Variable Function
+ 433(storeTemp): 13(ptr) Variable Function
+ 442(coordTemp): 7(ptr) Variable Function
+445(storeTempPre): 19(ptr) Variable Function
+449(storeTempPost): 19(ptr) Variable Function
+ 456(coordTemp): 7(ptr) Variable Function
+459(storeTempPre): 13(ptr) Variable Function
+463(storeTempPost): 13(ptr) Variable Function
+ 470(coordTemp): 7(ptr) Variable Function
+473(storeTempPre): 7(ptr) Variable Function
+477(storeTempPost): 7(ptr) Variable Function
+ 484(coordTemp): 7(ptr) Variable Function
+487(storeTempPre): 19(ptr) Variable Function
+491(storeTempPost): 19(ptr) Variable Function
+ 498(coordTemp): 7(ptr) Variable Function
+501(storeTempPre): 7(ptr) Variable Function
+505(storeTempPost): 7(ptr) Variable Function
+ 512(coordTemp): 7(ptr) Variable Function
+515(storeTempPre): 13(ptr) Variable Function
+519(storeTempPost): 13(ptr) Variable Function
+ 526(storeTemp): 19(ptr) Variable Function
+ 536(psout): 535(ptr) Variable Function
+ 66: 63 Load 65(g_tTex1df1)
+ 67: 57(ptr) AccessChain 56 48
+ 68: 6(int) Load 67
+ 69: 18(float) ImageRead 66 68
+ 71: 63 Load 65(g_tTex1df1)
+ 72: 57(ptr) AccessChain 56 48
+ 73: 6(int) Load 72
+ 74: 18(float) ImageRead 71 73
+ Store 70(r00) 74
+ 79: 76 Load 78(g_tTex1di1)
+ 80: 57(ptr) AccessChain 56 48
+ 81: 6(int) Load 80
+ 82: 6(int) ImageRead 79 81
+ Store 75(r01) 82
+ 87: 84 Load 86(g_tTex1du1)
+ 88: 57(ptr) AccessChain 56 48
+ 89: 6(int) Load 88
+ 90: 12(int) ImageRead 87 89
+ Store 83(r02) 90
+ 95: 92 Load 94(g_tTex2df1)
+ 98: 97(ptr) AccessChain 56 96
+ 99: 51(ivec2) Load 98
+ 100: 18(float) ImageRead 95 99
+ Store 91(r10) 100
+ 105: 102 Load 104(g_tTex2di1)
+ 106: 97(ptr) AccessChain 56 96
+ 107: 51(ivec2) Load 106
+ 108: 6(int) ImageRead 105 107
+ Store 101(r11) 108
+ 113: 110 Load 112(g_tTex2du1)
+ 114: 97(ptr) AccessChain 56 96
+ 115: 51(ivec2) Load 114
+ 116: 12(int) ImageRead 113 115
+ Store 109(r12) 116
+ 121: 118 Load 120(g_tTex3df1)
+ 124: 123(ptr) AccessChain 56 122
+ 125: 52(ivec3) Load 124
+ 126: 18(float) ImageRead 121 125
+ Store 117(r20) 126
+ 131: 128 Load 130(g_tTex3di1)
+ 132: 123(ptr) AccessChain 56 122
+ 133: 52(ivec3) Load 132
+ 134: 6(int) ImageRead 131 133
+ Store 127(r21) 134
+ 139: 136 Load 138(g_tTex3du1)
+ 140: 123(ptr) AccessChain 56 122
+ 141: 52(ivec3) Load 140
+ 142: 12(int) ImageRead 139 141
+ Store 135(r22) 142
+ 146: 145(ptr) AccessChain 56 144
+ 147: 18(float) Load 146
+ Store 143(lf1) 147
+ 149: 18(float) FunctionCall 37(SomeValue()
+ Store 148(storeTemp) 149
+ 150: 63 Load 65(g_tTex1df1)
+ 151: 57(ptr) AccessChain 56 48
+ 152: 6(int) Load 151
+ 153: 18(float) Load 148(storeTemp)
+ ImageWrite 150 152 153
+ 154: 63 Load 65(g_tTex1df1)
+ 155: 57(ptr) AccessChain 56 48
+ 156: 6(int) Load 155
+ 157: 18(float) Load 143(lf1)
+ ImageWrite 154 156 157
+ Store 158(storeTemp) 122
+ 159: 76 Load 78(g_tTex1di1)
+ 160: 57(ptr) AccessChain 56 48
+ 161: 6(int) Load 160
+ 162: 6(int) Load 158(storeTemp)
+ ImageWrite 159 161 162
+ Store 163(storeTemp) 164
+ 165: 84 Load 86(g_tTex1du1)
+ 166: 57(ptr) AccessChain 56 48
+ 167: 6(int) Load 166
+ 168: 12(int) Load 163(storeTemp)
+ ImageWrite 165 167 168
+ 171: 57(ptr) AccessChain 56 48
+ 172: 6(int) Load 171
+ Store 170(coordTemp) 172
+ 174: 63 Load 65(g_tTex1df1)
+ 175: 6(int) Load 170(coordTemp)
+ 176: 18(float) ImageRead 174 175
+ Store 173(storeTemp) 176
+ 178: 18(float) Load 173(storeTemp)
+ 179: 18(float) FMul 178 177
+ Store 173(storeTemp) 179
+ 180: 63 Load 65(g_tTex1df1)
+ 181: 6(int) Load 170(coordTemp)
+ 182: 18(float) Load 173(storeTemp)
+ ImageWrite 180 181 182
+ 183: 18(float) Load 173(storeTemp)
+ Store 169(val1) 183
+ 185: 57(ptr) AccessChain 56 48
+ 186: 6(int) Load 185
+ Store 184(coordTemp) 186
+ 188: 63 Load 65(g_tTex1df1)
+ 189: 6(int) Load 184(coordTemp)
+ 190: 18(float) ImageRead 188 189
+ Store 187(storeTemp) 190
+ 192: 18(float) Load 187(storeTemp)
+ 193: 18(float) FSub 192 191
+ Store 187(storeTemp) 193
+ 194: 63 Load 65(g_tTex1df1)
+ 195: 6(int) Load 184(coordTemp)
+ 196: 18(float) Load 187(storeTemp)
+ ImageWrite 194 195 196
+ 198: 57(ptr) AccessChain 56 48
+ 199: 6(int) Load 198
+ Store 197(coordTemp) 199
+ 201: 63 Load 65(g_tTex1df1)
+ 202: 6(int) Load 197(coordTemp)
+ 203: 18(float) ImageRead 201 202
+ Store 200(storeTemp) 203
+ 205: 18(float) Load 200(storeTemp)
+ 206: 18(float) FAdd 205 204
+ Store 200(storeTemp) 206
+ 207: 63 Load 65(g_tTex1df1)
+ 208: 6(int) Load 197(coordTemp)
+ 209: 18(float) Load 200(storeTemp)
+ ImageWrite 207 208 209
+ 211: 57(ptr) AccessChain 56 48
+ 212: 6(int) Load 211
+ Store 210(coordTemp) 212
+ 214: 76 Load 78(g_tTex1di1)
+ 215: 6(int) Load 210(coordTemp)
+ 216: 6(int) ImageRead 214 215
+ Store 213(storeTemp) 216
+ 217: 6(int) Load 213(storeTemp)
+ 218: 6(int) SDiv 217 122
+ Store 213(storeTemp) 218
+ 219: 76 Load 78(g_tTex1di1)
+ 220: 6(int) Load 210(coordTemp)
+ 221: 6(int) Load 213(storeTemp)
+ ImageWrite 219 220 221
+ 223: 57(ptr) AccessChain 56 48
+ 224: 6(int) Load 223
+ Store 222(coordTemp) 224
+ 226: 76 Load 78(g_tTex1di1)
+ 227: 6(int) Load 222(coordTemp)
+ 228: 6(int) ImageRead 226 227
+ Store 225(storeTemp) 228
+ 229: 6(int) Load 225(storeTemp)
+ 230: 6(int) SMod 229 122
+ Store 225(storeTemp) 230
+ 231: 76 Load 78(g_tTex1di1)
+ 232: 6(int) Load 222(coordTemp)
+ 233: 6(int) Load 225(storeTemp)
+ ImageWrite 231 232 233
+ 235: 57(ptr) AccessChain 56 48
+ 236: 6(int) Load 235
+ Store 234(coordTemp) 236
+ 238: 76 Load 78(g_tTex1di1)
+ 239: 6(int) Load 234(coordTemp)
+ 240: 6(int) ImageRead 238 239
+ Store 237(storeTemp) 240
+ 242: 6(int) Load 237(storeTemp)
+ 243: 6(int) BitwiseAnd 242 241
+ Store 237(storeTemp) 243
+ 244: 76 Load 78(g_tTex1di1)
+ 245: 6(int) Load 234(coordTemp)
+ 246: 6(int) Load 237(storeTemp)
+ ImageWrite 244 245 246
+ 248: 57(ptr) AccessChain 56 48
+ 249: 6(int) Load 248
+ Store 247(coordTemp) 249
+ 251: 76 Load 78(g_tTex1di1)
+ 252: 6(int) Load 247(coordTemp)
+ 253: 6(int) ImageRead 251 252
+ Store 250(storeTemp) 253
+ 255: 6(int) Load 250(storeTemp)
+ 256: 6(int) BitwiseOr 255 254
+ Store 250(storeTemp) 256
+ 257: 76 Load 78(g_tTex1di1)
+ 258: 6(int) Load 247(coordTemp)
+ 259: 6(int) Load 250(storeTemp)
+ ImageWrite 257 258 259
+ 261: 57(ptr) AccessChain 56 48
+ 262: 6(int) Load 261
+ Store 260(coordTemp) 262
+ 264: 76 Load 78(g_tTex1di1)
+ 265: 6(int) Load 260(coordTemp)
+ 266: 6(int) ImageRead 264 265
+ Store 263(storeTemp) 266
+ 267: 6(int) Load 263(storeTemp)
+ 268: 6(int) ShiftLeftLogical 267 122
+ Store 263(storeTemp) 268
+ 269: 76 Load 78(g_tTex1di1)
+ 270: 6(int) Load 260(coordTemp)
+ 271: 6(int) Load 263(storeTemp)
+ ImageWrite 269 270 271
+ 273: 57(ptr) AccessChain 56 48
+ 274: 6(int) Load 273
+ Store 272(coordTemp) 274
+ 276: 76 Load 78(g_tTex1di1)
+ 277: 6(int) Load 272(coordTemp)
+ 278: 6(int) ImageRead 276 277
+ Store 275(storeTemp) 278
+ 279: 6(int) Load 275(storeTemp)
+ 280: 6(int) ShiftRightArithmetic 279 122
+ Store 275(storeTemp) 280
+ 281: 76 Load 78(g_tTex1di1)
+ 282: 6(int) Load 272(coordTemp)
+ 283: 6(int) Load 275(storeTemp)
+ ImageWrite 281 282 283
+ 285: 18(float) FunctionCall 37(SomeValue()
+ Store 284(storeTemp) 285
+ 286: 92 Load 94(g_tTex2df1)
+ 287: 97(ptr) AccessChain 56 96
+ 288: 51(ivec2) Load 287
+ 289: 18(float) Load 284(storeTemp)
+ ImageWrite 286 288 289
+ 290: 92 Load 94(g_tTex2df1)
+ 291: 97(ptr) AccessChain 56 96
+ 292: 51(ivec2) Load 291
+ 293: 18(float) Load 143(lf1)
+ ImageWrite 290 292 293
+ Store 294(storeTemp) 295
+ 296: 102 Load 104(g_tTex2di1)
+ 297: 97(ptr) AccessChain 56 96
+ 298: 51(ivec2) Load 297
+ 299: 6(int) Load 294(storeTemp)
+ ImageWrite 296 298 299
+ Store 300(storeTemp) 301
+ 302: 110 Load 112(g_tTex2du1)
+ 303: 97(ptr) AccessChain 56 96
+ 304: 51(ivec2) Load 303
+ 305: 12(int) Load 300(storeTemp)
+ ImageWrite 302 304 305
+ 307: 18(float) FunctionCall 37(SomeValue()
+ Store 306(storeTemp) 307
+ 308: 118 Load 120(g_tTex3df1)
+ 309: 123(ptr) AccessChain 56 122
+ 310: 52(ivec3) Load 309
+ 311: 18(float) Load 306(storeTemp)
+ ImageWrite 308 310 311
+ 312: 118 Load 120(g_tTex3df1)
+ 313: 123(ptr) AccessChain 56 122
+ 314: 52(ivec3) Load 313
+ 315: 18(float) Load 143(lf1)
+ ImageWrite 312 314 315
+ Store 316(storeTemp) 144
+ 317: 128 Load 130(g_tTex3di1)
+ 318: 123(ptr) AccessChain 56 122
+ 319: 52(ivec3) Load 318
+ 320: 6(int) Load 316(storeTemp)
+ ImageWrite 317 319 320
+ Store 321(storeTemp) 322
+ 323: 136 Load 138(g_tTex3du1)
+ 324: 123(ptr) AccessChain 56 122
+ 325: 52(ivec3) Load 324
+ 326: 12(int) Load 321(storeTemp)
+ ImageWrite 323 325 326
+ 327: 63 Load 65(g_tTex1df1)
+ 328: 57(ptr) AccessChain 56 48
+ 329: 6(int) Load 328
+ 330: 18(float) ImageRead 327 329
+ Store 331(param) 330
+ 332: 18(float) FunctionCall 22(Fn1(f1;) 331(param)
+ 333: 76 Load 78(g_tTex1di1)
+ 334: 57(ptr) AccessChain 56 48
+ 335: 6(int) Load 334
+ 336: 6(int) ImageRead 333 335
+ Store 337(param) 336
+ 338: 6(int) FunctionCall 10(Fn1(i1;) 337(param)
+ 339: 84 Load 86(g_tTex1du1)
+ 340: 57(ptr) AccessChain 56 48
+ 341: 6(int) Load 340
+ 342: 12(int) ImageRead 339 341
+ Store 343(param) 342
+ 344: 12(int) FunctionCall 16(Fn1(u1;) 343(param)
+ 347: 2 FunctionCall 34(Fn2(f1;) 346(param)
+ 348: 18(float) Load 346(param)
+ Store 345(tempArg) 348
+ 349: 63 Load 65(g_tTex1df1)
+ 350: 57(ptr) AccessChain 56 48
+ 351: 6(int) Load 350
+ 352: 18(float) Load 345(tempArg)
+ ImageWrite 349 351 352
+ 355: 2 FunctionCall 26(Fn2(i1;) 354(param)
+ 356: 6(int) Load 354(param)
+ Store 353(tempArg) 356
+ 357: 76 Load 78(g_tTex1di1)
+ 358: 57(ptr) AccessChain 56 48
+ 359: 6(int) Load 358
+ 360: 6(int) Load 353(tempArg)
+ ImageWrite 357 359 360
+ 363: 2 FunctionCall 30(Fn2(u1;) 362(param)
+ 364: 12(int) Load 362(param)
+ Store 361(tempArg) 364
+ 365: 84 Load 86(g_tTex1du1)
+ 366: 57(ptr) AccessChain 56 48
+ 367: 6(int) Load 366
+ 368: 12(int) Load 361(tempArg)
+ ImageWrite 365 367 368
+ 370: 57(ptr) AccessChain 56 48
+ 371: 6(int) Load 370
+ Store 369(coordTemp) 371
+ 373: 63 Load 65(g_tTex1df1)
+ 374: 6(int) Load 369(coordTemp)
+ 375: 18(float) ImageRead 373 374
+ Store 372(storeTemp) 375
+ 376: 18(float) Load 372(storeTemp)
+ 378: 18(float) FAdd 376 377
+ Store 372(storeTemp) 378
+ 379: 63 Load 65(g_tTex1df1)
+ 380: 6(int) Load 369(coordTemp)
+ 381: 18(float) Load 372(storeTemp)
+ ImageWrite 379 380 381
+ 383: 57(ptr) AccessChain 56 48
+ 384: 6(int) Load 383
+ Store 382(coordTemp) 384
+ 386: 76 Load 78(g_tTex1di1)
+ 387: 6(int) Load 382(coordTemp)
+ 388: 6(int) ImageRead 386 387
+ Store 385(storeTemp) 388
+ 389: 6(int) Load 385(storeTemp)
+ 390: 6(int) IAdd 389 96
+ Store 385(storeTemp) 390
+ 391: 76 Load 78(g_tTex1di1)
+ 392: 6(int) Load 382(coordTemp)
+ 393: 6(int) Load 385(storeTemp)
+ ImageWrite 391 392 393
+ 395: 57(ptr) AccessChain 56 48
+ 396: 6(int) Load 395
+ Store 394(coordTemp) 396
+ 398: 84 Load 86(g_tTex1du1)
+ 399: 6(int) Load 394(coordTemp)
+ 400: 12(int) ImageRead 398 399
+ Store 397(storeTemp) 400
+ 401: 12(int) Load 397(storeTemp)
+ 402: 12(int) IAdd 401 96
+ Store 397(storeTemp) 402
+ 403: 84 Load 86(g_tTex1du1)
+ 404: 6(int) Load 394(coordTemp)
+ 405: 12(int) Load 397(storeTemp)
+ ImageWrite 403 404 405
+ 407: 57(ptr) AccessChain 56 48
+ 408: 6(int) Load 407
+ Store 406(coordTemp) 408
+ 410: 63 Load 65(g_tTex1df1)
+ 411: 6(int) Load 406(coordTemp)
+ 412: 18(float) ImageRead 410 411
+ Store 409(storeTemp) 412
+ 413: 18(float) Load 409(storeTemp)
+ 414: 18(float) FSub 413 377
+ Store 409(storeTemp) 414
+ 415: 63 Load 65(g_tTex1df1)
+ 416: 6(int) Load 406(coordTemp)
+ 417: 18(float) Load 409(storeTemp)
+ ImageWrite 415 416 417
+ 419: 57(ptr) AccessChain 56 48
+ 420: 6(int) Load 419
+ Store 418(coordTemp) 420
+ 422: 76 Load 78(g_tTex1di1)
+ 423: 6(int) Load 418(coordTemp)
+ 424: 6(int) ImageRead 422 423
+ Store 421(storeTemp) 424
+ 425: 6(int) Load 421(storeTemp)
+ 426: 6(int) ISub 425 96
+ Store 421(storeTemp) 426
+ 427: 76 Load 78(g_tTex1di1)
+ 428: 6(int) Load 418(coordTemp)
+ 429: 6(int) Load 421(storeTemp)
+ ImageWrite 427 428 429
+ 431: 57(ptr) AccessChain 56 48
+ 432: 6(int) Load 431
+ Store 430(coordTemp) 432
+ 434: 84 Load 86(g_tTex1du1)
+ 435: 6(int) Load 430(coordTemp)
+ 436: 12(int) ImageRead 434 435
+ Store 433(storeTemp) 436
+ 437: 12(int) Load 433(storeTemp)
+ 438: 12(int) ISub 437 96
+ Store 433(storeTemp) 438
+ 439: 84 Load 86(g_tTex1du1)
+ 440: 6(int) Load 430(coordTemp)
+ 441: 12(int) Load 433(storeTemp)
+ ImageWrite 439 440 441
+ 443: 57(ptr) AccessChain 56 48
+ 444: 6(int) Load 443
+ Store 442(coordTemp) 444
+ 446: 63 Load 65(g_tTex1df1)
+ 447: 6(int) Load 442(coordTemp)
+ 448: 18(float) ImageRead 446 447
+ Store 445(storeTempPre) 448
+ 450: 18(float) Load 445(storeTempPre)
+ Store 449(storeTempPost) 450
+ 451: 18(float) Load 449(storeTempPost)
+ 452: 18(float) FAdd 451 377
+ Store 449(storeTempPost) 452
+ 453: 63 Load 65(g_tTex1df1)
+ 454: 6(int) Load 442(coordTemp)
+ 455: 18(float) Load 449(storeTempPost)
+ ImageWrite 453 454 455
+ 457: 57(ptr) AccessChain 56 48
+ 458: 6(int) Load 457
+ Store 456(coordTemp) 458
+ 460: 84 Load 86(g_tTex1du1)
+ 461: 6(int) Load 456(coordTemp)
+ 462: 12(int) ImageRead 460 461
+ Store 459(storeTempPre) 462
+ 464: 12(int) Load 459(storeTempPre)
+ Store 463(storeTempPost) 464
+ 465: 12(int) Load 463(storeTempPost)
+ 466: 12(int) ISub 465 96
+ Store 463(storeTempPost) 466
+ 467: 84 Load 86(g_tTex1du1)
+ 468: 6(int) Load 456(coordTemp)
+ 469: 12(int) Load 463(storeTempPost)
+ ImageWrite 467 468 469
+ 471: 57(ptr) AccessChain 56 48
+ 472: 6(int) Load 471
+ Store 470(coordTemp) 472
+ 474: 76 Load 78(g_tTex1di1)
+ 475: 6(int) Load 470(coordTemp)
+ 476: 6(int) ImageRead 474 475
+ Store 473(storeTempPre) 476
+ 478: 6(int) Load 473(storeTempPre)
+ Store 477(storeTempPost) 478
+ 479: 6(int) Load 477(storeTempPost)
+ 480: 6(int) IAdd 479 96
+ Store 477(storeTempPost) 480
+ 481: 76 Load 78(g_tTex1di1)
+ 482: 6(int) Load 470(coordTemp)
+ 483: 6(int) Load 477(storeTempPost)
+ ImageWrite 481 482 483
+ 485: 57(ptr) AccessChain 56 48
+ 486: 6(int) Load 485
+ Store 484(coordTemp) 486
+ 488: 63 Load 65(g_tTex1df1)
+ 489: 6(int) Load 484(coordTemp)
+ 490: 18(float) ImageRead 488 489
+ Store 487(storeTempPre) 490
+ 492: 18(float) Load 487(storeTempPre)
+ Store 491(storeTempPost) 492
+ 493: 18(float) Load 491(storeTempPost)
+ 494: 18(float) FSub 493 377
+ Store 491(storeTempPost) 494
+ 495: 63 Load 65(g_tTex1df1)
+ 496: 6(int) Load 484(coordTemp)
+ 497: 18(float) Load 491(storeTempPost)
+ ImageWrite 495 496 497
+ 499: 57(ptr) AccessChain 56 48
+ 500: 6(int) Load 499
+ Store 498(coordTemp) 500
+ 502: 76 Load 78(g_tTex1di1)
+ 503: 6(int) Load 498(coordTemp)
+ 504: 6(int) ImageRead 502 503
+ Store 501(storeTempPre) 504
+ 506: 6(int) Load 501(storeTempPre)
+ Store 505(storeTempPost) 506
+ 507: 6(int) Load 505(storeTempPost)
+ 508: 6(int) IAdd 507 96
+ Store 505(storeTempPost) 508
+ 509: 76 Load 78(g_tTex1di1)
+ 510: 6(int) Load 498(coordTemp)
+ 511: 6(int) Load 505(storeTempPost)
+ ImageWrite 509 510 511
+ 513: 57(ptr) AccessChain 56 48
+ 514: 6(int) Load 513
+ Store 512(coordTemp) 514
+ 516: 84 Load 86(g_tTex1du1)
+ 517: 6(int) Load 512(coordTemp)
+ 518: 12(int) ImageRead 516 517
+ Store 515(storeTempPre) 518
+ 520: 12(int) Load 515(storeTempPre)
+ Store 519(storeTempPost) 520
+ 521: 12(int) Load 519(storeTempPost)
+ 522: 12(int) ISub 521 96
+ Store 519(storeTempPost) 522
+ 523: 84 Load 86(g_tTex1du1)
+ 524: 6(int) Load 512(coordTemp)
+ 525: 12(int) Load 519(storeTempPost)
+ ImageWrite 523 524 525
+ 527: 92 Load 94(g_tTex2df1)
+ 530: 18(float) ImageRead 527 529
+ Store 526(storeTemp) 530
+ 531: 63 Load 65(g_tTex1df1)
+ 532: 18(float) Load 526(storeTemp)
+ ImageWrite 531 96 532
+ 539: 538(ptr) AccessChain 536(psout) 48
+ Store 539 537
+ 542: 538(ptr) AccessChain 536(psout) 48
+ 543: 533(fvec4) Load 542
+ Store 541(Color) 543
+ Return
+ FunctionEnd
+ 10(Fn1(i1;): 6(int) Function None 8
+ 9(x): 7(ptr) FunctionParameter
+ 11: Label
+ 39: 6(int) Load 9(x)
+ ReturnValue 39
+ FunctionEnd
+ 16(Fn1(u1;): 12(int) Function None 14
+ 15(x): 13(ptr) FunctionParameter
+ 17: Label
+ 42: 12(int) Load 15(x)
+ ReturnValue 42
+ FunctionEnd
+ 22(Fn1(f1;): 18(float) Function None 20
+ 21(x): 19(ptr) FunctionParameter
+ 23: Label
+ 45: 18(float) Load 21(x)
+ ReturnValue 45
+ FunctionEnd
+ 26(Fn2(i1;): 2 Function None 24
+ 25(x): 7(ptr) FunctionParameter
+ 27: Label
+ Store 25(x) 48
+ Return
+ FunctionEnd
+ 30(Fn2(u1;): 2 Function None 28
+ 29(x): 13(ptr) FunctionParameter
+ 31: Label
+ Store 29(x) 49
+ Return
+ FunctionEnd
+ 34(Fn2(f1;): 2 Function None 32
+ 33(x): 19(ptr) FunctionParameter
+ 35: Label
+ Store 33(x) 50
+ Return
+ FunctionEnd
+ 37(SomeValue(): 18(float) Function None 36
+ 38: Label
+ 58: 57(ptr) AccessChain 56 48
+ 59: 6(int) Load 58
+ 60: 18(float) ConvertSToF 59
+ ReturnValue 60
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
new file mode 100644
index 0000000..b8452c3
--- /dev/null
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -0,0 +1,2613 @@
+hlsl.rw.vec2.bracket.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42 Function Definition: Fn1(vi2; (temp 2-component vector of int)
+0:42 Function Parameters:
+0:42 'x' (in 2-component vector of int)
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 'x' (in 2-component vector of int)
+0:43 Function Definition: Fn1(vu2; (temp 2-component vector of uint)
+0:43 Function Parameters:
+0:43 'x' (in 2-component vector of uint)
+0:? Sequence
+0:43 Branch: Return with expression
+0:43 'x' (in 2-component vector of uint)
+0:44 Function Definition: Fn1(vf2; (temp 2-component vector of float)
+0:44 Function Parameters:
+0:44 'x' (in 2-component vector of float)
+0:? Sequence
+0:44 Branch: Return with expression
+0:44 'x' (in 2-component vector of float)
+0:46 Function Definition: Fn2(vi2; (temp void)
+0:46 Function Parameters:
+0:46 'x' (out 2-component vector of int)
+0:? Sequence
+0:46 move second child to first child (temp 2-component vector of int)
+0:46 'x' (out 2-component vector of int)
+0:? Constant:
+0:? 0 (const int)
+0:? 0 (const int)
+0:47 Function Definition: Fn2(vu2; (temp void)
+0:47 Function Parameters:
+0:47 'x' (out 2-component vector of uint)
+0:? Sequence
+0:47 move second child to first child (temp 2-component vector of uint)
+0:47 'x' (out 2-component vector of uint)
+0:? Constant:
+0:? 0 (const uint)
+0:? 0 (const uint)
+0:48 Function Definition: Fn2(vf2; (temp void)
+0:48 Function Parameters:
+0:48 'x' (out 2-component vector of float)
+0:? Sequence
+0:48 move second child to first child (temp 2-component vector of float)
+0:48 'x' (out 2-component vector of float)
+0:? Constant:
+0:? 0.000000
+0:? 0.000000
+0:50 Function Definition: SomeValue( (temp 2-component vector of float)
+0:50 Function Parameters:
+0:? Sequence
+0:50 Branch: Return with expression
+0:50 Convert int to float (temp 2-component vector of float)
+0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:50 Constant:
+0:50 1 (const uint)
+0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53 Function Parameters:
+0:? Sequence
+0:57 imageLoad (temp 2-component vector of float)
+0:57 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:57 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:57 Constant:
+0:57 0 (const uint)
+0:59 Sequence
+0:59 move second child to first child (temp 2-component vector of float)
+0:59 'r00' (temp 2-component vector of float)
+0:59 imageLoad (temp 2-component vector of float)
+0:59 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:59 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:59 Constant:
+0:59 0 (const uint)
+0:60 Sequence
+0:60 move second child to first child (temp 2-component vector of int)
+0:60 'r01' (temp 2-component vector of int)
+0:60 imageLoad (temp 2-component vector of int)
+0:60 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:60 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:60 Constant:
+0:60 0 (const uint)
+0:61 Sequence
+0:61 move second child to first child (temp 2-component vector of uint)
+0:61 'r02' (temp 2-component vector of uint)
+0:61 imageLoad (temp 2-component vector of uint)
+0:61 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:61 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:61 Constant:
+0:61 0 (const uint)
+0:64 Sequence
+0:64 move second child to first child (temp 2-component vector of float)
+0:64 'r10' (temp 2-component vector of float)
+0:64 imageLoad (temp 2-component vector of float)
+0:64 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:64 Constant:
+0:64 1 (const uint)
+0:65 Sequence
+0:65 move second child to first child (temp 2-component vector of int)
+0:65 'r11' (temp 2-component vector of int)
+0:65 imageLoad (temp 2-component vector of int)
+0:65 'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:65 Constant:
+0:65 1 (const uint)
+0:66 Sequence
+0:66 move second child to first child (temp 2-component vector of uint)
+0:66 'r12' (temp 2-component vector of uint)
+0:66 imageLoad (temp 2-component vector of uint)
+0:66 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:66 Constant:
+0:66 1 (const uint)
+0:69 Sequence
+0:69 move second child to first child (temp 2-component vector of float)
+0:69 'r20' (temp 2-component vector of float)
+0:69 imageLoad (temp 2-component vector of float)
+0:69 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp 2-component vector of int)
+0:70 'r21' (temp 2-component vector of int)
+0:70 imageLoad (temp 2-component vector of int)
+0:70 'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:70 Constant:
+0:70 2 (const uint)
+0:71 Sequence
+0:71 move second child to first child (temp 2-component vector of uint)
+0:71 'r22' (temp 2-component vector of uint)
+0:71 imageLoad (temp 2-component vector of uint)
+0:71 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:71 Constant:
+0:71 2 (const uint)
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of float)
+0:73 'lf2' (temp 2-component vector of float)
+0:73 uf2: direct index for structure (layout(offset=96 ) uniform 2-component vector of float)
+0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:73 Constant:
+0:73 8 (const uint)
+0:77 Sequence
+0:77 move second child to first child (temp 2-component vector of float)
+0:77 'storeTemp' (temp 2-component vector of float)
+0:77 Function Call: SomeValue( (temp 2-component vector of float)
+0:77 imageStore (temp void)
+0:77 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:77 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:77 Constant:
+0:77 0 (const uint)
+0:77 'storeTemp' (temp 2-component vector of float)
+0:77 'storeTemp' (temp 2-component vector of float)
+0:78 Sequence
+0:78 imageStore (temp void)
+0:78 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:78 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:78 Constant:
+0:78 0 (const uint)
+0:78 'lf2' (temp 2-component vector of float)
+0:78 'lf2' (temp 2-component vector of float)
+0:79 Sequence
+0:79 move second child to first child (temp 2-component vector of int)
+0:79 'storeTemp' (temp 2-component vector of int)
+0:? Constant:
+0:? 2 (const int)
+0:? 2 (const int)
+0:79 imageStore (temp void)
+0:79 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:79 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:79 Constant:
+0:79 0 (const uint)
+0:79 'storeTemp' (temp 2-component vector of int)
+0:79 'storeTemp' (temp 2-component vector of int)
+0:80 Sequence
+0:80 move second child to first child (temp 2-component vector of uint)
+0:80 'storeTemp' (temp 2-component vector of uint)
+0:? Constant:
+0:? 3 (const uint)
+0:? 2 (const uint)
+0:80 imageStore (temp void)
+0:80 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:80 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:80 Constant:
+0:80 0 (const uint)
+0:80 'storeTemp' (temp 2-component vector of uint)
+0:80 'storeTemp' (temp 2-component vector of uint)
+0:83 Sequence
+0:83 move second child to first child (temp 2-component vector of float)
+0:83 'val1' (temp 2-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp int)
+0:83 'coordTemp' (temp int)
+0:83 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:83 Constant:
+0:83 0 (const uint)
+0:83 move second child to first child (temp 2-component vector of float)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:83 imageLoad (temp 2-component vector of float)
+0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 vector scale second child into first child (temp 2-component vector of float)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:83 Constant:
+0:83 2.000000
+0:83 imageStore (temp void)
+0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp int)
+0:84 'coordTemp' (temp int)
+0:84 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:84 Constant:
+0:84 0 (const uint)
+0:84 move second child to first child (temp 2-component vector of float)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:84 imageLoad (temp 2-component vector of float)
+0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 subtract second child into first child (temp 2-component vector of float)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:84 Constant:
+0:84 3.000000
+0:84 imageStore (temp void)
+0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:85 Sequence
+0:85 move second child to first child (temp int)
+0:85 'coordTemp' (temp int)
+0:85 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:85 Constant:
+0:85 0 (const uint)
+0:85 move second child to first child (temp 2-component vector of float)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:85 imageLoad (temp 2-component vector of float)
+0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 add second child into first child (temp 2-component vector of float)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:85 Constant:
+0:85 4.000000
+0:85 imageStore (temp void)
+0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:87 Sequence
+0:87 move second child to first child (temp int)
+0:87 'coordTemp' (temp int)
+0:87 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:87 Constant:
+0:87 0 (const uint)
+0:87 move second child to first child (temp 2-component vector of int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:87 imageLoad (temp 2-component vector of int)
+0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 divide second child into first child (temp 2-component vector of int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:87 Constant:
+0:87 2 (const int)
+0:87 imageStore (temp void)
+0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:88 Sequence
+0:88 move second child to first child (temp int)
+0:88 'coordTemp' (temp int)
+0:88 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:88 Constant:
+0:88 0 (const uint)
+0:88 move second child to first child (temp 2-component vector of int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:88 imageLoad (temp 2-component vector of int)
+0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 mod second child into first child (temp 2-component vector of int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:88 Constant:
+0:88 2 (const int)
+0:88 imageStore (temp void)
+0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:89 Sequence
+0:89 move second child to first child (temp int)
+0:89 'coordTemp' (temp int)
+0:89 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:89 Constant:
+0:89 0 (const uint)
+0:89 move second child to first child (temp 2-component vector of int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:89 imageLoad (temp 2-component vector of int)
+0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 and second child into first child (temp 2-component vector of int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:89 Constant:
+0:89 65535 (const int)
+0:89 imageStore (temp void)
+0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:90 Sequence
+0:90 move second child to first child (temp int)
+0:90 'coordTemp' (temp int)
+0:90 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:90 Constant:
+0:90 0 (const uint)
+0:90 move second child to first child (temp 2-component vector of int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:90 imageLoad (temp 2-component vector of int)
+0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 or second child into first child (temp 2-component vector of int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:90 Constant:
+0:90 61680 (const int)
+0:90 imageStore (temp void)
+0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:91 Sequence
+0:91 move second child to first child (temp int)
+0:91 'coordTemp' (temp int)
+0:91 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:91 Constant:
+0:91 0 (const uint)
+0:91 move second child to first child (temp 2-component vector of int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:91 imageLoad (temp 2-component vector of int)
+0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 left shift second child into first child (temp 2-component vector of int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:91 Constant:
+0:91 2 (const int)
+0:91 imageStore (temp void)
+0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:92 Sequence
+0:92 move second child to first child (temp int)
+0:92 'coordTemp' (temp int)
+0:92 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:92 Constant:
+0:92 0 (const uint)
+0:92 move second child to first child (temp 2-component vector of int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:92 imageLoad (temp 2-component vector of int)
+0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 right shift second child into first child (temp 2-component vector of int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:92 imageStore (temp void)
+0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:95 Sequence
+0:95 move second child to first child (temp 2-component vector of float)
+0:95 'storeTemp' (temp 2-component vector of float)
+0:95 Function Call: SomeValue( (temp 2-component vector of float)
+0:95 imageStore (temp void)
+0:95 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:95 Constant:
+0:95 1 (const uint)
+0:95 'storeTemp' (temp 2-component vector of float)
+0:95 'storeTemp' (temp 2-component vector of float)
+0:96 Sequence
+0:96 imageStore (temp void)
+0:96 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:96 Constant:
+0:96 1 (const uint)
+0:96 'lf2' (temp 2-component vector of float)
+0:96 'lf2' (temp 2-component vector of float)
+0:97 Sequence
+0:97 move second child to first child (temp 2-component vector of int)
+0:97 'storeTemp' (temp 2-component vector of int)
+0:? Constant:
+0:? 5 (const int)
+0:? 2 (const int)
+0:97 imageStore (temp void)
+0:97 'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:97 Constant:
+0:97 1 (const uint)
+0:97 'storeTemp' (temp 2-component vector of int)
+0:97 'storeTemp' (temp 2-component vector of int)
+0:98 Sequence
+0:98 move second child to first child (temp 2-component vector of uint)
+0:98 'storeTemp' (temp 2-component vector of uint)
+0:? Constant:
+0:? 6 (const uint)
+0:? 2 (const uint)
+0:98 imageStore (temp void)
+0:98 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:98 Constant:
+0:98 1 (const uint)
+0:98 'storeTemp' (temp 2-component vector of uint)
+0:98 'storeTemp' (temp 2-component vector of uint)
+0:101 Sequence
+0:101 move second child to first child (temp 2-component vector of float)
+0:101 'storeTemp' (temp 2-component vector of float)
+0:101 Function Call: SomeValue( (temp 2-component vector of float)
+0:101 imageStore (temp void)
+0:101 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:101 Constant:
+0:101 2 (const uint)
+0:101 'storeTemp' (temp 2-component vector of float)
+0:101 'storeTemp' (temp 2-component vector of float)
+0:102 Sequence
+0:102 imageStore (temp void)
+0:102 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:102 Constant:
+0:102 2 (const uint)
+0:102 'lf2' (temp 2-component vector of float)
+0:102 'lf2' (temp 2-component vector of float)
+0:103 Sequence
+0:103 move second child to first child (temp 2-component vector of int)
+0:103 'storeTemp' (temp 2-component vector of int)
+0:? Constant:
+0:? 8 (const int)
+0:? 6 (const int)
+0:103 imageStore (temp void)
+0:103 'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:103 Constant:
+0:103 2 (const uint)
+0:103 'storeTemp' (temp 2-component vector of int)
+0:103 'storeTemp' (temp 2-component vector of int)
+0:104 Sequence
+0:104 move second child to first child (temp 2-component vector of uint)
+0:104 'storeTemp' (temp 2-component vector of uint)
+0:? Constant:
+0:? 9 (const uint)
+0:? 2 (const uint)
+0:104 imageStore (temp void)
+0:104 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:104 Constant:
+0:104 2 (const uint)
+0:104 'storeTemp' (temp 2-component vector of uint)
+0:104 'storeTemp' (temp 2-component vector of uint)
+0:107 Function Call: Fn1(vf2; (temp 2-component vector of float)
+0:107 imageLoad (temp 2-component vector of float)
+0:107 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:107 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:107 Constant:
+0:107 0 (const uint)
+0:108 Function Call: Fn1(vi2; (temp 2-component vector of int)
+0:108 imageLoad (temp 2-component vector of int)
+0:108 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:108 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:108 Constant:
+0:108 0 (const uint)
+0:109 Function Call: Fn1(vu2; (temp 2-component vector of uint)
+0:109 imageLoad (temp 2-component vector of uint)
+0:109 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:109 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:109 Constant:
+0:109 0 (const uint)
+0:111 Comma (temp void)
+0:111 Function Call: Fn2(vf2; (temp void)
+0:111 'tempArg' (temp 2-component vector of float)
+0:111 Sequence
+0:111 imageStore (temp void)
+0:111 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:111 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:111 Constant:
+0:111 0 (const uint)
+0:111 'tempArg' (temp 2-component vector of float)
+0:111 'tempArg' (temp 2-component vector of float)
+0:112 Comma (temp void)
+0:112 Function Call: Fn2(vi2; (temp void)
+0:112 'tempArg' (temp 2-component vector of int)
+0:112 Sequence
+0:112 imageStore (temp void)
+0:112 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:112 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:112 Constant:
+0:112 0 (const uint)
+0:112 'tempArg' (temp 2-component vector of int)
+0:112 'tempArg' (temp 2-component vector of int)
+0:113 Comma (temp void)
+0:113 Function Call: Fn2(vu2; (temp void)
+0:113 'tempArg' (temp 2-component vector of uint)
+0:113 Sequence
+0:113 imageStore (temp void)
+0:113 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:113 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:113 Constant:
+0:113 0 (const uint)
+0:113 'tempArg' (temp 2-component vector of uint)
+0:113 'tempArg' (temp 2-component vector of uint)
+0:117 Sequence
+0:117 move second child to first child (temp int)
+0:117 'coordTemp' (temp int)
+0:117 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:117 Constant:
+0:117 0 (const uint)
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:117 imageLoad (temp 2-component vector of float)
+0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 Pre-Increment (temp 2-component vector of float)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:117 imageStore (temp void)
+0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:118 Sequence
+0:118 move second child to first child (temp int)
+0:118 'coordTemp' (temp int)
+0:118 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:118 Constant:
+0:118 0 (const uint)
+0:118 move second child to first child (temp 2-component vector of int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:118 imageLoad (temp 2-component vector of int)
+0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 Pre-Increment (temp 2-component vector of int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:118 imageStore (temp void)
+0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:119 Sequence
+0:119 move second child to first child (temp int)
+0:119 'coordTemp' (temp int)
+0:119 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:119 Constant:
+0:119 0 (const uint)
+0:119 move second child to first child (temp 2-component vector of uint)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:119 imageLoad (temp 2-component vector of uint)
+0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 Pre-Increment (temp 2-component vector of uint)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:119 imageStore (temp void)
+0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:121 Sequence
+0:121 move second child to first child (temp int)
+0:121 'coordTemp' (temp int)
+0:121 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:121 Constant:
+0:121 0 (const uint)
+0:121 move second child to first child (temp 2-component vector of float)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:121 imageLoad (temp 2-component vector of float)
+0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 Pre-Decrement (temp 2-component vector of float)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:121 imageStore (temp void)
+0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:122 Sequence
+0:122 move second child to first child (temp int)
+0:122 'coordTemp' (temp int)
+0:122 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:122 Constant:
+0:122 0 (const uint)
+0:122 move second child to first child (temp 2-component vector of int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:122 imageLoad (temp 2-component vector of int)
+0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 Pre-Decrement (temp 2-component vector of int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:122 imageStore (temp void)
+0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:123 Sequence
+0:123 move second child to first child (temp int)
+0:123 'coordTemp' (temp int)
+0:123 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:123 Constant:
+0:123 0 (const uint)
+0:123 move second child to first child (temp 2-component vector of uint)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:123 imageLoad (temp 2-component vector of uint)
+0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 Pre-Decrement (temp 2-component vector of uint)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:123 imageStore (temp void)
+0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'coordTemp' (temp int)
+0:126 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:126 Constant:
+0:126 0 (const uint)
+0:126 move second child to first child (temp 2-component vector of float)
+0:126 'storeTempPre' (temp 2-component vector of float)
+0:126 imageLoad (temp 2-component vector of float)
+0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 move second child to first child (temp 2-component vector of float)
+0:126 'storeTempPost' (temp 2-component vector of float)
+0:126 'storeTempPre' (temp 2-component vector of float)
+0:126 Post-Increment (temp 2-component vector of float)
+0:126 'storeTempPost' (temp 2-component vector of float)
+0:126 imageStore (temp void)
+0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 'storeTempPost' (temp 2-component vector of float)
+0:126 'storeTempPre' (temp 2-component vector of float)
+0:127 Sequence
+0:127 move second child to first child (temp int)
+0:127 'coordTemp' (temp int)
+0:127 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:127 Constant:
+0:127 0 (const uint)
+0:127 move second child to first child (temp 2-component vector of uint)
+0:127 'storeTempPre' (temp 2-component vector of uint)
+0:127 imageLoad (temp 2-component vector of uint)
+0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 move second child to first child (temp 2-component vector of uint)
+0:127 'storeTempPost' (temp 2-component vector of uint)
+0:127 'storeTempPre' (temp 2-component vector of uint)
+0:127 Post-Decrement (temp 2-component vector of uint)
+0:127 'storeTempPost' (temp 2-component vector of uint)
+0:127 imageStore (temp void)
+0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 'storeTempPost' (temp 2-component vector of uint)
+0:127 'storeTempPre' (temp 2-component vector of uint)
+0:128 Sequence
+0:128 move second child to first child (temp int)
+0:128 'coordTemp' (temp int)
+0:128 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:128 Constant:
+0:128 0 (const uint)
+0:128 move second child to first child (temp 2-component vector of int)
+0:128 'storeTempPre' (temp 2-component vector of int)
+0:128 imageLoad (temp 2-component vector of int)
+0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 move second child to first child (temp 2-component vector of int)
+0:128 'storeTempPost' (temp 2-component vector of int)
+0:128 'storeTempPre' (temp 2-component vector of int)
+0:128 Post-Increment (temp 2-component vector of int)
+0:128 'storeTempPost' (temp 2-component vector of int)
+0:128 imageStore (temp void)
+0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 'storeTempPost' (temp 2-component vector of int)
+0:128 'storeTempPre' (temp 2-component vector of int)
+0:130 Sequence
+0:130 move second child to first child (temp int)
+0:130 'coordTemp' (temp int)
+0:130 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:130 Constant:
+0:130 0 (const uint)
+0:130 move second child to first child (temp 2-component vector of float)
+0:130 'storeTempPre' (temp 2-component vector of float)
+0:130 imageLoad (temp 2-component vector of float)
+0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 move second child to first child (temp 2-component vector of float)
+0:130 'storeTempPost' (temp 2-component vector of float)
+0:130 'storeTempPre' (temp 2-component vector of float)
+0:130 Post-Decrement (temp 2-component vector of float)
+0:130 'storeTempPost' (temp 2-component vector of float)
+0:130 imageStore (temp void)
+0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 'storeTempPost' (temp 2-component vector of float)
+0:130 'storeTempPre' (temp 2-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'coordTemp' (temp int)
+0:131 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:131 Constant:
+0:131 0 (const uint)
+0:131 move second child to first child (temp 2-component vector of int)
+0:131 'storeTempPre' (temp 2-component vector of int)
+0:131 imageLoad (temp 2-component vector of int)
+0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 move second child to first child (temp 2-component vector of int)
+0:131 'storeTempPost' (temp 2-component vector of int)
+0:131 'storeTempPre' (temp 2-component vector of int)
+0:131 Post-Increment (temp 2-component vector of int)
+0:131 'storeTempPost' (temp 2-component vector of int)
+0:131 imageStore (temp void)
+0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 'storeTempPost' (temp 2-component vector of int)
+0:131 'storeTempPre' (temp 2-component vector of int)
+0:132 Sequence
+0:132 move second child to first child (temp int)
+0:132 'coordTemp' (temp int)
+0:132 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:132 Constant:
+0:132 0 (const uint)
+0:132 move second child to first child (temp 2-component vector of uint)
+0:132 'storeTempPre' (temp 2-component vector of uint)
+0:132 imageLoad (temp 2-component vector of uint)
+0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 move second child to first child (temp 2-component vector of uint)
+0:132 'storeTempPost' (temp 2-component vector of uint)
+0:132 'storeTempPre' (temp 2-component vector of uint)
+0:132 Post-Decrement (temp 2-component vector of uint)
+0:132 'storeTempPost' (temp 2-component vector of uint)
+0:132 imageStore (temp void)
+0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 'storeTempPost' (temp 2-component vector of uint)
+0:132 'storeTempPre' (temp 2-component vector of uint)
+0:135 Sequence
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'storeTemp' (temp 2-component vector of float)
+0:? imageLoad (temp 2-component vector of float)
+0:135 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:? Constant:
+0:? 2 (const int)
+0:? 3 (const int)
+0:135 imageStore (temp void)
+0:135 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:135 Constant:
+0:135 1 (const int)
+0:135 'storeTemp' (temp 2-component vector of float)
+0:135 'storeTemp' (temp 2-component vector of float)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 Color: direct index for structure (temp 4-component vector of float)
+0:137 'psout' (temp structure{temp 4-component vector of float Color})
+0:137 Constant:
+0:137 0 (const int)
+0:137 Constant:
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:139 Color: direct index for structure (temp 4-component vector of float)
+0:139 'psout' (temp structure{temp 4-component vector of float Color})
+0:139 Constant:
+0:139 0 (const int)
+0:139 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:? 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:? 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:? 'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:? 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:? 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:? 'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:? 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:? 'g_tTex1df2a' (layout(rg32f ) uniform image1DArray)
+0:? 'g_tTex1di2a' (layout(rg32i ) uniform iimage1DArray)
+0:? 'g_tTex1du2a' (layout(rg32ui ) uniform uimage1DArray)
+0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
+0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
+0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42 Function Definition: Fn1(vi2; (temp 2-component vector of int)
+0:42 Function Parameters:
+0:42 'x' (in 2-component vector of int)
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 'x' (in 2-component vector of int)
+0:43 Function Definition: Fn1(vu2; (temp 2-component vector of uint)
+0:43 Function Parameters:
+0:43 'x' (in 2-component vector of uint)
+0:? Sequence
+0:43 Branch: Return with expression
+0:43 'x' (in 2-component vector of uint)
+0:44 Function Definition: Fn1(vf2; (temp 2-component vector of float)
+0:44 Function Parameters:
+0:44 'x' (in 2-component vector of float)
+0:? Sequence
+0:44 Branch: Return with expression
+0:44 'x' (in 2-component vector of float)
+0:46 Function Definition: Fn2(vi2; (temp void)
+0:46 Function Parameters:
+0:46 'x' (out 2-component vector of int)
+0:? Sequence
+0:46 move second child to first child (temp 2-component vector of int)
+0:46 'x' (out 2-component vector of int)
+0:? Constant:
+0:? 0 (const int)
+0:? 0 (const int)
+0:47 Function Definition: Fn2(vu2; (temp void)
+0:47 Function Parameters:
+0:47 'x' (out 2-component vector of uint)
+0:? Sequence
+0:47 move second child to first child (temp 2-component vector of uint)
+0:47 'x' (out 2-component vector of uint)
+0:? Constant:
+0:? 0 (const uint)
+0:? 0 (const uint)
+0:48 Function Definition: Fn2(vf2; (temp void)
+0:48 Function Parameters:
+0:48 'x' (out 2-component vector of float)
+0:? Sequence
+0:48 move second child to first child (temp 2-component vector of float)
+0:48 'x' (out 2-component vector of float)
+0:? Constant:
+0:? 0.000000
+0:? 0.000000
+0:50 Function Definition: SomeValue( (temp 2-component vector of float)
+0:50 Function Parameters:
+0:? Sequence
+0:50 Branch: Return with expression
+0:50 Convert int to float (temp 2-component vector of float)
+0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:50 Constant:
+0:50 1 (const uint)
+0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53 Function Parameters:
+0:? Sequence
+0:57 imageLoad (temp 2-component vector of float)
+0:57 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:57 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:57 Constant:
+0:57 0 (const uint)
+0:59 Sequence
+0:59 move second child to first child (temp 2-component vector of float)
+0:59 'r00' (temp 2-component vector of float)
+0:59 imageLoad (temp 2-component vector of float)
+0:59 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:59 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:59 Constant:
+0:59 0 (const uint)
+0:60 Sequence
+0:60 move second child to first child (temp 2-component vector of int)
+0:60 'r01' (temp 2-component vector of int)
+0:60 imageLoad (temp 2-component vector of int)
+0:60 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:60 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:60 Constant:
+0:60 0 (const uint)
+0:61 Sequence
+0:61 move second child to first child (temp 2-component vector of uint)
+0:61 'r02' (temp 2-component vector of uint)
+0:61 imageLoad (temp 2-component vector of uint)
+0:61 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:61 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:61 Constant:
+0:61 0 (const uint)
+0:64 Sequence
+0:64 move second child to first child (temp 2-component vector of float)
+0:64 'r10' (temp 2-component vector of float)
+0:64 imageLoad (temp 2-component vector of float)
+0:64 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:64 Constant:
+0:64 1 (const uint)
+0:65 Sequence
+0:65 move second child to first child (temp 2-component vector of int)
+0:65 'r11' (temp 2-component vector of int)
+0:65 imageLoad (temp 2-component vector of int)
+0:65 'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:65 Constant:
+0:65 1 (const uint)
+0:66 Sequence
+0:66 move second child to first child (temp 2-component vector of uint)
+0:66 'r12' (temp 2-component vector of uint)
+0:66 imageLoad (temp 2-component vector of uint)
+0:66 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:66 Constant:
+0:66 1 (const uint)
+0:69 Sequence
+0:69 move second child to first child (temp 2-component vector of float)
+0:69 'r20' (temp 2-component vector of float)
+0:69 imageLoad (temp 2-component vector of float)
+0:69 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp 2-component vector of int)
+0:70 'r21' (temp 2-component vector of int)
+0:70 imageLoad (temp 2-component vector of int)
+0:70 'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:70 Constant:
+0:70 2 (const uint)
+0:71 Sequence
+0:71 move second child to first child (temp 2-component vector of uint)
+0:71 'r22' (temp 2-component vector of uint)
+0:71 imageLoad (temp 2-component vector of uint)
+0:71 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:71 Constant:
+0:71 2 (const uint)
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of float)
+0:73 'lf2' (temp 2-component vector of float)
+0:73 uf2: direct index for structure (layout(offset=96 ) uniform 2-component vector of float)
+0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:73 Constant:
+0:73 8 (const uint)
+0:77 Sequence
+0:77 move second child to first child (temp 2-component vector of float)
+0:77 'storeTemp' (temp 2-component vector of float)
+0:77 Function Call: SomeValue( (temp 2-component vector of float)
+0:77 imageStore (temp void)
+0:77 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:77 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:77 Constant:
+0:77 0 (const uint)
+0:77 'storeTemp' (temp 2-component vector of float)
+0:77 'storeTemp' (temp 2-component vector of float)
+0:78 Sequence
+0:78 imageStore (temp void)
+0:78 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:78 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:78 Constant:
+0:78 0 (const uint)
+0:78 'lf2' (temp 2-component vector of float)
+0:78 'lf2' (temp 2-component vector of float)
+0:79 Sequence
+0:79 move second child to first child (temp 2-component vector of int)
+0:79 'storeTemp' (temp 2-component vector of int)
+0:? Constant:
+0:? 2 (const int)
+0:? 2 (const int)
+0:79 imageStore (temp void)
+0:79 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:79 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:79 Constant:
+0:79 0 (const uint)
+0:79 'storeTemp' (temp 2-component vector of int)
+0:79 'storeTemp' (temp 2-component vector of int)
+0:80 Sequence
+0:80 move second child to first child (temp 2-component vector of uint)
+0:80 'storeTemp' (temp 2-component vector of uint)
+0:? Constant:
+0:? 3 (const uint)
+0:? 2 (const uint)
+0:80 imageStore (temp void)
+0:80 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:80 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:80 Constant:
+0:80 0 (const uint)
+0:80 'storeTemp' (temp 2-component vector of uint)
+0:80 'storeTemp' (temp 2-component vector of uint)
+0:83 Sequence
+0:83 move second child to first child (temp 2-component vector of float)
+0:83 'val1' (temp 2-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp int)
+0:83 'coordTemp' (temp int)
+0:83 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:83 Constant:
+0:83 0 (const uint)
+0:83 move second child to first child (temp 2-component vector of float)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:83 imageLoad (temp 2-component vector of float)
+0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 vector scale second child into first child (temp 2-component vector of float)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:83 Constant:
+0:83 2.000000
+0:83 imageStore (temp void)
+0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83 'coordTemp' (temp int)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:83 'storeTemp' (temp 2-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp int)
+0:84 'coordTemp' (temp int)
+0:84 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:84 Constant:
+0:84 0 (const uint)
+0:84 move second child to first child (temp 2-component vector of float)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:84 imageLoad (temp 2-component vector of float)
+0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 subtract second child into first child (temp 2-component vector of float)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:84 Constant:
+0:84 3.000000
+0:84 imageStore (temp void)
+0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84 'coordTemp' (temp int)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:84 'storeTemp' (temp 2-component vector of float)
+0:85 Sequence
+0:85 move second child to first child (temp int)
+0:85 'coordTemp' (temp int)
+0:85 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:85 Constant:
+0:85 0 (const uint)
+0:85 move second child to first child (temp 2-component vector of float)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:85 imageLoad (temp 2-component vector of float)
+0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 add second child into first child (temp 2-component vector of float)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:85 Constant:
+0:85 4.000000
+0:85 imageStore (temp void)
+0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85 'coordTemp' (temp int)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:85 'storeTemp' (temp 2-component vector of float)
+0:87 Sequence
+0:87 move second child to first child (temp int)
+0:87 'coordTemp' (temp int)
+0:87 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:87 Constant:
+0:87 0 (const uint)
+0:87 move second child to first child (temp 2-component vector of int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:87 imageLoad (temp 2-component vector of int)
+0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 divide second child into first child (temp 2-component vector of int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:87 Constant:
+0:87 2 (const int)
+0:87 imageStore (temp void)
+0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87 'coordTemp' (temp int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:87 'storeTemp' (temp 2-component vector of int)
+0:88 Sequence
+0:88 move second child to first child (temp int)
+0:88 'coordTemp' (temp int)
+0:88 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:88 Constant:
+0:88 0 (const uint)
+0:88 move second child to first child (temp 2-component vector of int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:88 imageLoad (temp 2-component vector of int)
+0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 mod second child into first child (temp 2-component vector of int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:88 Constant:
+0:88 2 (const int)
+0:88 imageStore (temp void)
+0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88 'coordTemp' (temp int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:88 'storeTemp' (temp 2-component vector of int)
+0:89 Sequence
+0:89 move second child to first child (temp int)
+0:89 'coordTemp' (temp int)
+0:89 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:89 Constant:
+0:89 0 (const uint)
+0:89 move second child to first child (temp 2-component vector of int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:89 imageLoad (temp 2-component vector of int)
+0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 and second child into first child (temp 2-component vector of int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:89 Constant:
+0:89 65535 (const int)
+0:89 imageStore (temp void)
+0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89 'coordTemp' (temp int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:89 'storeTemp' (temp 2-component vector of int)
+0:90 Sequence
+0:90 move second child to first child (temp int)
+0:90 'coordTemp' (temp int)
+0:90 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:90 Constant:
+0:90 0 (const uint)
+0:90 move second child to first child (temp 2-component vector of int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:90 imageLoad (temp 2-component vector of int)
+0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 or second child into first child (temp 2-component vector of int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:90 Constant:
+0:90 61680 (const int)
+0:90 imageStore (temp void)
+0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90 'coordTemp' (temp int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:90 'storeTemp' (temp 2-component vector of int)
+0:91 Sequence
+0:91 move second child to first child (temp int)
+0:91 'coordTemp' (temp int)
+0:91 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:91 Constant:
+0:91 0 (const uint)
+0:91 move second child to first child (temp 2-component vector of int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:91 imageLoad (temp 2-component vector of int)
+0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 left shift second child into first child (temp 2-component vector of int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:91 Constant:
+0:91 2 (const int)
+0:91 imageStore (temp void)
+0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91 'coordTemp' (temp int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:91 'storeTemp' (temp 2-component vector of int)
+0:92 Sequence
+0:92 move second child to first child (temp int)
+0:92 'coordTemp' (temp int)
+0:92 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:92 Constant:
+0:92 0 (const uint)
+0:92 move second child to first child (temp 2-component vector of int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:92 imageLoad (temp 2-component vector of int)
+0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 right shift second child into first child (temp 2-component vector of int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:92 imageStore (temp void)
+0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92 'coordTemp' (temp int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:92 'storeTemp' (temp 2-component vector of int)
+0:95 Sequence
+0:95 move second child to first child (temp 2-component vector of float)
+0:95 'storeTemp' (temp 2-component vector of float)
+0:95 Function Call: SomeValue( (temp 2-component vector of float)
+0:95 imageStore (temp void)
+0:95 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:95 Constant:
+0:95 1 (const uint)
+0:95 'storeTemp' (temp 2-component vector of float)
+0:95 'storeTemp' (temp 2-component vector of float)
+0:96 Sequence
+0:96 imageStore (temp void)
+0:96 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:96 Constant:
+0:96 1 (const uint)
+0:96 'lf2' (temp 2-component vector of float)
+0:96 'lf2' (temp 2-component vector of float)
+0:97 Sequence
+0:97 move second child to first child (temp 2-component vector of int)
+0:97 'storeTemp' (temp 2-component vector of int)
+0:? Constant:
+0:? 5 (const int)
+0:? 2 (const int)
+0:97 imageStore (temp void)
+0:97 'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:97 Constant:
+0:97 1 (const uint)
+0:97 'storeTemp' (temp 2-component vector of int)
+0:97 'storeTemp' (temp 2-component vector of int)
+0:98 Sequence
+0:98 move second child to first child (temp 2-component vector of uint)
+0:98 'storeTemp' (temp 2-component vector of uint)
+0:? Constant:
+0:? 6 (const uint)
+0:? 2 (const uint)
+0:98 imageStore (temp void)
+0:98 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:98 Constant:
+0:98 1 (const uint)
+0:98 'storeTemp' (temp 2-component vector of uint)
+0:98 'storeTemp' (temp 2-component vector of uint)
+0:101 Sequence
+0:101 move second child to first child (temp 2-component vector of float)
+0:101 'storeTemp' (temp 2-component vector of float)
+0:101 Function Call: SomeValue( (temp 2-component vector of float)
+0:101 imageStore (temp void)
+0:101 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:101 Constant:
+0:101 2 (const uint)
+0:101 'storeTemp' (temp 2-component vector of float)
+0:101 'storeTemp' (temp 2-component vector of float)
+0:102 Sequence
+0:102 imageStore (temp void)
+0:102 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:102 Constant:
+0:102 2 (const uint)
+0:102 'lf2' (temp 2-component vector of float)
+0:102 'lf2' (temp 2-component vector of float)
+0:103 Sequence
+0:103 move second child to first child (temp 2-component vector of int)
+0:103 'storeTemp' (temp 2-component vector of int)
+0:? Constant:
+0:? 8 (const int)
+0:? 6 (const int)
+0:103 imageStore (temp void)
+0:103 'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:103 Constant:
+0:103 2 (const uint)
+0:103 'storeTemp' (temp 2-component vector of int)
+0:103 'storeTemp' (temp 2-component vector of int)
+0:104 Sequence
+0:104 move second child to first child (temp 2-component vector of uint)
+0:104 'storeTemp' (temp 2-component vector of uint)
+0:? Constant:
+0:? 9 (const uint)
+0:? 2 (const uint)
+0:104 imageStore (temp void)
+0:104 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:104 Constant:
+0:104 2 (const uint)
+0:104 'storeTemp' (temp 2-component vector of uint)
+0:104 'storeTemp' (temp 2-component vector of uint)
+0:107 Function Call: Fn1(vf2; (temp 2-component vector of float)
+0:107 imageLoad (temp 2-component vector of float)
+0:107 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:107 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:107 Constant:
+0:107 0 (const uint)
+0:108 Function Call: Fn1(vi2; (temp 2-component vector of int)
+0:108 imageLoad (temp 2-component vector of int)
+0:108 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:108 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:108 Constant:
+0:108 0 (const uint)
+0:109 Function Call: Fn1(vu2; (temp 2-component vector of uint)
+0:109 imageLoad (temp 2-component vector of uint)
+0:109 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:109 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:109 Constant:
+0:109 0 (const uint)
+0:111 Comma (temp void)
+0:111 Function Call: Fn2(vf2; (temp void)
+0:111 'tempArg' (temp 2-component vector of float)
+0:111 Sequence
+0:111 imageStore (temp void)
+0:111 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:111 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:111 Constant:
+0:111 0 (const uint)
+0:111 'tempArg' (temp 2-component vector of float)
+0:111 'tempArg' (temp 2-component vector of float)
+0:112 Comma (temp void)
+0:112 Function Call: Fn2(vi2; (temp void)
+0:112 'tempArg' (temp 2-component vector of int)
+0:112 Sequence
+0:112 imageStore (temp void)
+0:112 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:112 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:112 Constant:
+0:112 0 (const uint)
+0:112 'tempArg' (temp 2-component vector of int)
+0:112 'tempArg' (temp 2-component vector of int)
+0:113 Comma (temp void)
+0:113 Function Call: Fn2(vu2; (temp void)
+0:113 'tempArg' (temp 2-component vector of uint)
+0:113 Sequence
+0:113 imageStore (temp void)
+0:113 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:113 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:113 Constant:
+0:113 0 (const uint)
+0:113 'tempArg' (temp 2-component vector of uint)
+0:113 'tempArg' (temp 2-component vector of uint)
+0:117 Sequence
+0:117 move second child to first child (temp int)
+0:117 'coordTemp' (temp int)
+0:117 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:117 Constant:
+0:117 0 (const uint)
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:117 imageLoad (temp 2-component vector of float)
+0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 Pre-Increment (temp 2-component vector of float)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:117 imageStore (temp void)
+0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117 'coordTemp' (temp int)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:117 'storeTemp' (temp 2-component vector of float)
+0:118 Sequence
+0:118 move second child to first child (temp int)
+0:118 'coordTemp' (temp int)
+0:118 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:118 Constant:
+0:118 0 (const uint)
+0:118 move second child to first child (temp 2-component vector of int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:118 imageLoad (temp 2-component vector of int)
+0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 Pre-Increment (temp 2-component vector of int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:118 imageStore (temp void)
+0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118 'coordTemp' (temp int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:118 'storeTemp' (temp 2-component vector of int)
+0:119 Sequence
+0:119 move second child to first child (temp int)
+0:119 'coordTemp' (temp int)
+0:119 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:119 Constant:
+0:119 0 (const uint)
+0:119 move second child to first child (temp 2-component vector of uint)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:119 imageLoad (temp 2-component vector of uint)
+0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 Pre-Increment (temp 2-component vector of uint)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:119 imageStore (temp void)
+0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119 'coordTemp' (temp int)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:119 'storeTemp' (temp 2-component vector of uint)
+0:121 Sequence
+0:121 move second child to first child (temp int)
+0:121 'coordTemp' (temp int)
+0:121 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:121 Constant:
+0:121 0 (const uint)
+0:121 move second child to first child (temp 2-component vector of float)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:121 imageLoad (temp 2-component vector of float)
+0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 Pre-Decrement (temp 2-component vector of float)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:121 imageStore (temp void)
+0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121 'coordTemp' (temp int)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:121 'storeTemp' (temp 2-component vector of float)
+0:122 Sequence
+0:122 move second child to first child (temp int)
+0:122 'coordTemp' (temp int)
+0:122 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:122 Constant:
+0:122 0 (const uint)
+0:122 move second child to first child (temp 2-component vector of int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:122 imageLoad (temp 2-component vector of int)
+0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 Pre-Decrement (temp 2-component vector of int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:122 imageStore (temp void)
+0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122 'coordTemp' (temp int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:122 'storeTemp' (temp 2-component vector of int)
+0:123 Sequence
+0:123 move second child to first child (temp int)
+0:123 'coordTemp' (temp int)
+0:123 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:123 Constant:
+0:123 0 (const uint)
+0:123 move second child to first child (temp 2-component vector of uint)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:123 imageLoad (temp 2-component vector of uint)
+0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 Pre-Decrement (temp 2-component vector of uint)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:123 imageStore (temp void)
+0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123 'coordTemp' (temp int)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:123 'storeTemp' (temp 2-component vector of uint)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'coordTemp' (temp int)
+0:126 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:126 Constant:
+0:126 0 (const uint)
+0:126 move second child to first child (temp 2-component vector of float)
+0:126 'storeTempPre' (temp 2-component vector of float)
+0:126 imageLoad (temp 2-component vector of float)
+0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 move second child to first child (temp 2-component vector of float)
+0:126 'storeTempPost' (temp 2-component vector of float)
+0:126 'storeTempPre' (temp 2-component vector of float)
+0:126 Post-Increment (temp 2-component vector of float)
+0:126 'storeTempPost' (temp 2-component vector of float)
+0:126 imageStore (temp void)
+0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126 'coordTemp' (temp int)
+0:126 'storeTempPost' (temp 2-component vector of float)
+0:126 'storeTempPre' (temp 2-component vector of float)
+0:127 Sequence
+0:127 move second child to first child (temp int)
+0:127 'coordTemp' (temp int)
+0:127 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:127 Constant:
+0:127 0 (const uint)
+0:127 move second child to first child (temp 2-component vector of uint)
+0:127 'storeTempPre' (temp 2-component vector of uint)
+0:127 imageLoad (temp 2-component vector of uint)
+0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 move second child to first child (temp 2-component vector of uint)
+0:127 'storeTempPost' (temp 2-component vector of uint)
+0:127 'storeTempPre' (temp 2-component vector of uint)
+0:127 Post-Decrement (temp 2-component vector of uint)
+0:127 'storeTempPost' (temp 2-component vector of uint)
+0:127 imageStore (temp void)
+0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127 'coordTemp' (temp int)
+0:127 'storeTempPost' (temp 2-component vector of uint)
+0:127 'storeTempPre' (temp 2-component vector of uint)
+0:128 Sequence
+0:128 move second child to first child (temp int)
+0:128 'coordTemp' (temp int)
+0:128 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:128 Constant:
+0:128 0 (const uint)
+0:128 move second child to first child (temp 2-component vector of int)
+0:128 'storeTempPre' (temp 2-component vector of int)
+0:128 imageLoad (temp 2-component vector of int)
+0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 move second child to first child (temp 2-component vector of int)
+0:128 'storeTempPost' (temp 2-component vector of int)
+0:128 'storeTempPre' (temp 2-component vector of int)
+0:128 Post-Increment (temp 2-component vector of int)
+0:128 'storeTempPost' (temp 2-component vector of int)
+0:128 imageStore (temp void)
+0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128 'coordTemp' (temp int)
+0:128 'storeTempPost' (temp 2-component vector of int)
+0:128 'storeTempPre' (temp 2-component vector of int)
+0:130 Sequence
+0:130 move second child to first child (temp int)
+0:130 'coordTemp' (temp int)
+0:130 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:130 Constant:
+0:130 0 (const uint)
+0:130 move second child to first child (temp 2-component vector of float)
+0:130 'storeTempPre' (temp 2-component vector of float)
+0:130 imageLoad (temp 2-component vector of float)
+0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 move second child to first child (temp 2-component vector of float)
+0:130 'storeTempPost' (temp 2-component vector of float)
+0:130 'storeTempPre' (temp 2-component vector of float)
+0:130 Post-Decrement (temp 2-component vector of float)
+0:130 'storeTempPost' (temp 2-component vector of float)
+0:130 imageStore (temp void)
+0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130 'coordTemp' (temp int)
+0:130 'storeTempPost' (temp 2-component vector of float)
+0:130 'storeTempPre' (temp 2-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'coordTemp' (temp int)
+0:131 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:131 Constant:
+0:131 0 (const uint)
+0:131 move second child to first child (temp 2-component vector of int)
+0:131 'storeTempPre' (temp 2-component vector of int)
+0:131 imageLoad (temp 2-component vector of int)
+0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 move second child to first child (temp 2-component vector of int)
+0:131 'storeTempPost' (temp 2-component vector of int)
+0:131 'storeTempPre' (temp 2-component vector of int)
+0:131 Post-Increment (temp 2-component vector of int)
+0:131 'storeTempPost' (temp 2-component vector of int)
+0:131 imageStore (temp void)
+0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131 'coordTemp' (temp int)
+0:131 'storeTempPost' (temp 2-component vector of int)
+0:131 'storeTempPre' (temp 2-component vector of int)
+0:132 Sequence
+0:132 move second child to first child (temp int)
+0:132 'coordTemp' (temp int)
+0:132 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:132 Constant:
+0:132 0 (const uint)
+0:132 move second child to first child (temp 2-component vector of uint)
+0:132 'storeTempPre' (temp 2-component vector of uint)
+0:132 imageLoad (temp 2-component vector of uint)
+0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 move second child to first child (temp 2-component vector of uint)
+0:132 'storeTempPost' (temp 2-component vector of uint)
+0:132 'storeTempPre' (temp 2-component vector of uint)
+0:132 Post-Decrement (temp 2-component vector of uint)
+0:132 'storeTempPost' (temp 2-component vector of uint)
+0:132 imageStore (temp void)
+0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132 'coordTemp' (temp int)
+0:132 'storeTempPost' (temp 2-component vector of uint)
+0:132 'storeTempPre' (temp 2-component vector of uint)
+0:135 Sequence
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'storeTemp' (temp 2-component vector of float)
+0:? imageLoad (temp 2-component vector of float)
+0:135 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:? Constant:
+0:? 2 (const int)
+0:? 3 (const int)
+0:135 imageStore (temp void)
+0:135 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:135 Constant:
+0:135 1 (const int)
+0:135 'storeTemp' (temp 2-component vector of float)
+0:135 'storeTemp' (temp 2-component vector of float)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 Color: direct index for structure (temp 4-component vector of float)
+0:137 'psout' (temp structure{temp 4-component vector of float Color})
+0:137 Constant:
+0:137 0 (const int)
+0:137 Constant:
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:137 1.000000
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:139 Color: direct index for structure (temp 4-component vector of float)
+0:139 'psout' (temp structure{temp 4-component vector of float Color})
+0:139 Constant:
+0:139 0 (const int)
+0:139 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:? 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:? 'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:? 'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:? 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:? 'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:? 'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:? 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:? 'g_tTex1df2a' (layout(rg32f ) uniform image1DArray)
+0:? 'g_tTex1di2a' (layout(rg32i ) uniform iimage1DArray)
+0:? 'g_tTex1du2a' (layout(rg32ui ) uniform uimage1DArray)
+0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
+0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
+0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 600
+
+ Capability Shader
+ Capability Sampled1D
+ Capability StorageImageExtendedFormats
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 575
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 11 "Fn1(vi2;"
+ Name 10 "x"
+ Name 18 "Fn1(vu2;"
+ Name 17 "x"
+ Name 25 "Fn1(vf2;"
+ Name 24 "x"
+ Name 29 "Fn2(vi2;"
+ Name 28 "x"
+ Name 33 "Fn2(vu2;"
+ Name 32 "x"
+ Name 37 "Fn2(vf2;"
+ Name 36 "x"
+ Name 40 "SomeValue("
+ Name 59 "$Global"
+ MemberName 59($Global) 0 "c1"
+ MemberName 59($Global) 1 "c2"
+ MemberName 59($Global) 2 "c3"
+ MemberName 59($Global) 3 "c4"
+ MemberName 59($Global) 4 "o1"
+ MemberName 59($Global) 5 "o2"
+ MemberName 59($Global) 6 "o3"
+ MemberName 59($Global) 7 "o4"
+ MemberName 59($Global) 8 "uf2"
+ MemberName 59($Global) 9 "ui2"
+ MemberName 59($Global) 10 "uu2"
+ Name 61 ""
+ Name 71 "g_tTex1df2"
+ Name 77 "r00"
+ Name 82 "r01"
+ Name 85 "g_tTex1di2"
+ Name 90 "r02"
+ Name 93 "g_tTex1du2"
+ Name 98 "r10"
+ Name 101 "g_tTex2df2"
+ Name 106 "r11"
+ Name 109 "g_tTex2di2"
+ Name 114 "r12"
+ Name 117 "g_tTex2du2"
+ Name 122 "r20"
+ Name 125 "g_tTex3df2"
+ Name 132 "r21"
+ Name 135 "g_tTex3di2"
+ Name 140 "r22"
+ Name 143 "g_tTex3du2"
+ Name 148 "lf2"
+ Name 153 "storeTemp"
+ Name 163 "storeTemp"
+ Name 169 "storeTemp"
+ Name 177 "val1"
+ Name 179 "coordTemp"
+ Name 182 "storeTemp"
+ Name 193 "coordTemp"
+ Name 196 "storeTemp"
+ Name 207 "coordTemp"
+ Name 210 "storeTemp"
+ Name 221 "coordTemp"
+ Name 224 "storeTemp"
+ Name 234 "coordTemp"
+ Name 237 "storeTemp"
+ Name 247 "coordTemp"
+ Name 250 "storeTemp"
+ Name 261 "coordTemp"
+ Name 264 "storeTemp"
+ Name 275 "coordTemp"
+ Name 278 "storeTemp"
+ Name 288 "coordTemp"
+ Name 291 "storeTemp"
+ Name 301 "storeTemp"
+ Name 311 "storeTemp"
+ Name 318 "storeTemp"
+ Name 325 "storeTemp"
+ Name 335 "storeTemp"
+ Name 342 "storeTemp"
+ Name 353 "param"
+ Name 359 "param"
+ Name 365 "param"
+ Name 367 "tempArg"
+ Name 368 "param"
+ Name 375 "tempArg"
+ Name 376 "param"
+ Name 383 "tempArg"
+ Name 384 "param"
+ Name 391 "coordTemp"
+ Name 394 "storeTemp"
+ Name 405 "coordTemp"
+ Name 408 "storeTemp"
+ Name 418 "coordTemp"
+ Name 421 "storeTemp"
+ Name 431 "coordTemp"
+ Name 434 "storeTemp"
+ Name 444 "coordTemp"
+ Name 447 "storeTemp"
+ Name 457 "coordTemp"
+ Name 460 "storeTemp"
+ Name 470 "coordTemp"
+ Name 473 "storeTempPre"
+ Name 477 "storeTempPost"
+ Name 485 "coordTemp"
+ Name 488 "storeTempPre"
+ Name 492 "storeTempPost"
+ Name 500 "coordTemp"
+ Name 503 "storeTempPre"
+ Name 507 "storeTempPost"
+ Name 515 "coordTemp"
+ Name 518 "storeTempPre"
+ Name 522 "storeTempPost"
+ Name 530 "coordTemp"
+ Name 533 "storeTempPre"
+ Name 537 "storeTempPost"
+ Name 545 "coordTemp"
+ Name 548 "storeTempPre"
+ Name 552 "storeTempPost"
+ Name 560 "storeTemp"
+ Name 568 "PS_OUTPUT"
+ MemberName 568(PS_OUTPUT) 0 "Color"
+ Name 570 "psout"
+ Name 575 "Color"
+ Name 581 "g_sSamp"
+ Name 584 "g_tTex1df2a"
+ Name 587 "g_tTex1di2a"
+ Name 590 "g_tTex1du2a"
+ Name 593 "g_tTex2df2a"
+ Name 596 "g_tTex2di2a"
+ Name 599 "g_tTex2du2a"
+ MemberDecorate 59($Global) 0 Offset 0
+ MemberDecorate 59($Global) 1 Offset 8
+ MemberDecorate 59($Global) 2 Offset 16
+ MemberDecorate 59($Global) 3 Offset 32
+ MemberDecorate 59($Global) 4 Offset 48
+ MemberDecorate 59($Global) 5 Offset 56
+ MemberDecorate 59($Global) 6 Offset 64
+ MemberDecorate 59($Global) 7 Offset 80
+ MemberDecorate 59($Global) 8 Offset 96
+ MemberDecorate 59($Global) 9 Offset 104
+ MemberDecorate 59($Global) 10 Offset 112
+ Decorate 59($Global) Block
+ Decorate 61 DescriptorSet 0
+ Decorate 71(g_tTex1df2) DescriptorSet 0
+ Decorate 85(g_tTex1di2) DescriptorSet 0
+ Decorate 93(g_tTex1du2) DescriptorSet 0
+ Decorate 101(g_tTex2df2) DescriptorSet 0
+ Decorate 109(g_tTex2di2) DescriptorSet 0
+ Decorate 117(g_tTex2du2) DescriptorSet 0
+ Decorate 125(g_tTex3df2) DescriptorSet 0
+ Decorate 135(g_tTex3di2) DescriptorSet 0
+ Decorate 143(g_tTex3du2) DescriptorSet 0
+ Decorate 575(Color) Location 0
+ Decorate 581(g_sSamp) DescriptorSet 0
+ Decorate 581(g_sSamp) Binding 0
+ Decorate 584(g_tTex1df2a) DescriptorSet 0
+ Decorate 587(g_tTex1di2a) DescriptorSet 0
+ Decorate 590(g_tTex1du2a) DescriptorSet 0
+ Decorate 593(g_tTex2df2a) DescriptorSet 0
+ Decorate 596(g_tTex2di2a) DescriptorSet 0
+ Decorate 599(g_tTex2du2a) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 2
+ 8: TypePointer Function 7(ivec2)
+ 9: TypeFunction 7(ivec2) 8(ptr)
+ 13: TypeInt 32 0
+ 14: TypeVector 13(int) 2
+ 15: TypePointer Function 14(ivec2)
+ 16: TypeFunction 14(ivec2) 15(ptr)
+ 20: TypeFloat 32
+ 21: TypeVector 20(float) 2
+ 22: TypePointer Function 21(fvec2)
+ 23: TypeFunction 21(fvec2) 22(ptr)
+ 27: TypeFunction 2 8(ptr)
+ 31: TypeFunction 2 15(ptr)
+ 35: TypeFunction 2 22(ptr)
+ 39: TypeFunction 21(fvec2)
+ 51: 6(int) Constant 0
+ 52: 7(ivec2) ConstantComposite 51 51
+ 53: 13(int) Constant 0
+ 54: 14(ivec2) ConstantComposite 53 53
+ 55: 20(float) Constant 0
+ 56: 21(fvec2) ConstantComposite 55 55
+ 57: TypeVector 6(int) 3
+ 58: TypeVector 6(int) 4
+ 59($Global): TypeStruct 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 21(fvec2) 7(ivec2) 14(ivec2)
+ 60: TypePointer Uniform 59($Global)
+ 61: 60(ptr) Variable Uniform
+ 62: 6(int) Constant 1
+ 63: TypePointer Uniform 7(ivec2)
+ 69: TypeImage 20(float) 1D nonsampled format:Rg32f
+ 70: TypePointer UniformConstant 69
+ 71(g_tTex1df2): 70(ptr) Variable UniformConstant
+ 73: TypePointer Uniform 6(int)
+ 83: TypeImage 6(int) 1D nonsampled format:Rg32i
+ 84: TypePointer UniformConstant 83
+ 85(g_tTex1di2): 84(ptr) Variable UniformConstant
+ 91: TypeImage 13(int) 1D nonsampled format:Rg32ui
+ 92: TypePointer UniformConstant 91
+ 93(g_tTex1du2): 92(ptr) Variable UniformConstant
+ 99: TypeImage 20(float) 2D nonsampled format:Rg32f
+ 100: TypePointer UniformConstant 99
+ 101(g_tTex2df2): 100(ptr) Variable UniformConstant
+ 107: TypeImage 6(int) 2D nonsampled format:Rg32i
+ 108: TypePointer UniformConstant 107
+ 109(g_tTex2di2): 108(ptr) Variable UniformConstant
+ 115: TypeImage 13(int) 2D nonsampled format:Rg32ui
+ 116: TypePointer UniformConstant 115
+ 117(g_tTex2du2): 116(ptr) Variable UniformConstant
+ 123: TypeImage 20(float) 3D nonsampled format:Rg32f
+ 124: TypePointer UniformConstant 123
+ 125(g_tTex3df2): 124(ptr) Variable UniformConstant
+ 127: 6(int) Constant 2
+ 128: TypePointer Uniform 57(ivec3)
+ 133: TypeImage 6(int) 3D nonsampled format:Rg32i
+ 134: TypePointer UniformConstant 133
+ 135(g_tTex3di2): 134(ptr) Variable UniformConstant
+ 141: TypeImage 13(int) 3D nonsampled format:Rg32ui
+ 142: TypePointer UniformConstant 141
+ 143(g_tTex3du2): 142(ptr) Variable UniformConstant
+ 149: 6(int) Constant 8
+ 150: TypePointer Uniform 21(fvec2)
+ 164: 7(ivec2) ConstantComposite 127 127
+ 170: 13(int) Constant 3
+ 171: 13(int) Constant 2
+ 172: 14(ivec2) ConstantComposite 170 171
+ 178: TypePointer Function 6(int)
+ 186: 20(float) Constant 1073741824
+ 200: 20(float) Constant 1077936128
+ 214: 20(float) Constant 1082130432
+ 254: 6(int) Constant 65535
+ 268: 6(int) Constant 61680
+ 312: 6(int) Constant 5
+ 313: 7(ivec2) ConstantComposite 312 127
+ 319: 13(int) Constant 6
+ 320: 14(ivec2) ConstantComposite 319 171
+ 336: 6(int) Constant 6
+ 337: 7(ivec2) ConstantComposite 149 336
+ 343: 13(int) Constant 9
+ 344: 14(ivec2) ConstantComposite 343 171
+ 399: 20(float) Constant 1065353216
+ 562: 6(int) Constant 3
+ 563: 7(ivec2) ConstantComposite 127 562
+ 567: TypeVector 20(float) 4
+ 568(PS_OUTPUT): TypeStruct 567(fvec4)
+ 569: TypePointer Function 568(PS_OUTPUT)
+ 571: 567(fvec4) ConstantComposite 399 399 399 399
+ 572: TypePointer Function 567(fvec4)
+ 574: TypePointer Output 567(fvec4)
+ 575(Color): 574(ptr) Variable Output
+ 579: TypeSampler
+ 580: TypePointer UniformConstant 579
+ 581(g_sSamp): 580(ptr) Variable UniformConstant
+ 582: TypeImage 20(float) 1D array nonsampled format:Rg32f
+ 583: TypePointer UniformConstant 582
+584(g_tTex1df2a): 583(ptr) Variable UniformConstant
+ 585: TypeImage 6(int) 1D array nonsampled format:Rg32i
+ 586: TypePointer UniformConstant 585
+587(g_tTex1di2a): 586(ptr) Variable UniformConstant
+ 588: TypeImage 13(int) 1D array nonsampled format:Rg32ui
+ 589: TypePointer UniformConstant 588
+590(g_tTex1du2a): 589(ptr) Variable UniformConstant
+ 591: TypeImage 20(float) 2D array nonsampled format:Rg32f
+ 592: TypePointer UniformConstant 591
+593(g_tTex2df2a): 592(ptr) Variable UniformConstant
+ 594: TypeImage 6(int) 2D array nonsampled format:Rg32i
+ 595: TypePointer UniformConstant 594
+596(g_tTex2di2a): 595(ptr) Variable UniformConstant
+ 597: TypeImage 13(int) 2D array nonsampled format:Rg32ui
+ 598: TypePointer UniformConstant 597
+599(g_tTex2du2a): 598(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 77(r00): 22(ptr) Variable Function
+ 82(r01): 8(ptr) Variable Function
+ 90(r02): 15(ptr) Variable Function
+ 98(r10): 22(ptr) Variable Function
+ 106(r11): 8(ptr) Variable Function
+ 114(r12): 15(ptr) Variable Function
+ 122(r20): 22(ptr) Variable Function
+ 132(r21): 8(ptr) Variable Function
+ 140(r22): 15(ptr) Variable Function
+ 148(lf2): 22(ptr) Variable Function
+ 153(storeTemp): 22(ptr) Variable Function
+ 163(storeTemp): 8(ptr) Variable Function
+ 169(storeTemp): 15(ptr) Variable Function
+ 177(val1): 22(ptr) Variable Function
+ 179(coordTemp): 178(ptr) Variable Function
+ 182(storeTemp): 22(ptr) Variable Function
+ 193(coordTemp): 178(ptr) Variable Function
+ 196(storeTemp): 22(ptr) Variable Function
+ 207(coordTemp): 178(ptr) Variable Function
+ 210(storeTemp): 22(ptr) Variable Function
+ 221(coordTemp): 178(ptr) Variable Function
+ 224(storeTemp): 8(ptr) Variable Function
+ 234(coordTemp): 178(ptr) Variable Function
+ 237(storeTemp): 8(ptr) Variable Function
+ 247(coordTemp): 178(ptr) Variable Function
+ 250(storeTemp): 8(ptr) Variable Function
+ 261(coordTemp): 178(ptr) Variable Function
+ 264(storeTemp): 8(ptr) Variable Function
+ 275(coordTemp): 178(ptr) Variable Function
+ 278(storeTemp): 8(ptr) Variable Function
+ 288(coordTemp): 178(ptr) Variable Function
+ 291(storeTemp): 8(ptr) Variable Function
+ 301(storeTemp): 22(ptr) Variable Function
+ 311(storeTemp): 8(ptr) Variable Function
+ 318(storeTemp): 15(ptr) Variable Function
+ 325(storeTemp): 22(ptr) Variable Function
+ 335(storeTemp): 8(ptr) Variable Function
+ 342(storeTemp): 15(ptr) Variable Function
+ 353(param): 22(ptr) Variable Function
+ 359(param): 8(ptr) Variable Function
+ 365(param): 15(ptr) Variable Function
+ 367(tempArg): 22(ptr) Variable Function
+ 368(param): 22(ptr) Variable Function
+ 375(tempArg): 8(ptr) Variable Function
+ 376(param): 8(ptr) Variable Function
+ 383(tempArg): 15(ptr) Variable Function
+ 384(param): 15(ptr) Variable Function
+ 391(coordTemp): 178(ptr) Variable Function
+ 394(storeTemp): 22(ptr) Variable Function
+ 405(coordTemp): 178(ptr) Variable Function
+ 408(storeTemp): 8(ptr) Variable Function
+ 418(coordTemp): 178(ptr) Variable Function
+ 421(storeTemp): 15(ptr) Variable Function
+ 431(coordTemp): 178(ptr) Variable Function
+ 434(storeTemp): 22(ptr) Variable Function
+ 444(coordTemp): 178(ptr) Variable Function
+ 447(storeTemp): 8(ptr) Variable Function
+ 457(coordTemp): 178(ptr) Variable Function
+ 460(storeTemp): 15(ptr) Variable Function
+ 470(coordTemp): 178(ptr) Variable Function
+473(storeTempPre): 22(ptr) Variable Function
+477(storeTempPost): 22(ptr) Variable Function
+ 485(coordTemp): 178(ptr) Variable Function
+488(storeTempPre): 15(ptr) Variable Function
+492(storeTempPost): 15(ptr) Variable Function
+ 500(coordTemp): 178(ptr) Variable Function
+503(storeTempPre): 8(ptr) Variable Function
+507(storeTempPost): 8(ptr) Variable Function
+ 515(coordTemp): 178(ptr) Variable Function
+518(storeTempPre): 22(ptr) Variable Function
+522(storeTempPost): 22(ptr) Variable Function
+ 530(coordTemp): 178(ptr) Variable Function
+533(storeTempPre): 8(ptr) Variable Function
+537(storeTempPost): 8(ptr) Variable Function
+ 545(coordTemp): 178(ptr) Variable Function
+548(storeTempPre): 15(ptr) Variable Function
+552(storeTempPost): 15(ptr) Variable Function
+ 560(storeTemp): 22(ptr) Variable Function
+ 570(psout): 569(ptr) Variable Function
+ 72: 69 Load 71(g_tTex1df2)
+ 74: 73(ptr) AccessChain 61 51
+ 75: 6(int) Load 74
+ 76: 21(fvec2) ImageRead 72 75
+ 78: 69 Load 71(g_tTex1df2)
+ 79: 73(ptr) AccessChain 61 51
+ 80: 6(int) Load 79
+ 81: 21(fvec2) ImageRead 78 80
+ Store 77(r00) 81
+ 86: 83 Load 85(g_tTex1di2)
+ 87: 73(ptr) AccessChain 61 51
+ 88: 6(int) Load 87
+ 89: 7(ivec2) ImageRead 86 88
+ Store 82(r01) 89
+ 94: 91 Load 93(g_tTex1du2)
+ 95: 73(ptr) AccessChain 61 51
+ 96: 6(int) Load 95
+ 97: 14(ivec2) ImageRead 94 96
+ Store 90(r02) 97
+ 102: 99 Load 101(g_tTex2df2)
+ 103: 63(ptr) AccessChain 61 62
+ 104: 7(ivec2) Load 103
+ 105: 21(fvec2) ImageRead 102 104
+ Store 98(r10) 105
+ 110: 107 Load 109(g_tTex2di2)
+ 111: 63(ptr) AccessChain 61 62
+ 112: 7(ivec2) Load 111
+ 113: 7(ivec2) ImageRead 110 112
+ Store 106(r11) 113
+ 118: 115 Load 117(g_tTex2du2)
+ 119: 63(ptr) AccessChain 61 62
+ 120: 7(ivec2) Load 119
+ 121: 14(ivec2) ImageRead 118 120
+ Store 114(r12) 121
+ 126: 123 Load 125(g_tTex3df2)
+ 129: 128(ptr) AccessChain 61 127
+ 130: 57(ivec3) Load 129
+ 131: 21(fvec2) ImageRead 126 130
+ Store 122(r20) 131
+ 136: 133 Load 135(g_tTex3di2)
+ 137: 128(ptr) AccessChain 61 127
+ 138: 57(ivec3) Load 137
+ 139: 7(ivec2) ImageRead 136 138
+ Store 132(r21) 139
+ 144: 141 Load 143(g_tTex3du2)
+ 145: 128(ptr) AccessChain 61 127
+ 146: 57(ivec3) Load 145
+ 147: 14(ivec2) ImageRead 144 146
+ Store 140(r22) 147
+ 151: 150(ptr) AccessChain 61 149
+ 152: 21(fvec2) Load 151
+ Store 148(lf2) 152
+ 154: 21(fvec2) FunctionCall 40(SomeValue()
+ Store 153(storeTemp) 154
+ 155: 69 Load 71(g_tTex1df2)
+ 156: 73(ptr) AccessChain 61 51
+ 157: 6(int) Load 156
+ 158: 21(fvec2) Load 153(storeTemp)
+ ImageWrite 155 157 158
+ 159: 69 Load 71(g_tTex1df2)
+ 160: 73(ptr) AccessChain 61 51
+ 161: 6(int) Load 160
+ 162: 21(fvec2) Load 148(lf2)
+ ImageWrite 159 161 162
+ Store 163(storeTemp) 164
+ 165: 83 Load 85(g_tTex1di2)
+ 166: 73(ptr) AccessChain 61 51
+ 167: 6(int) Load 166
+ 168: 7(ivec2) Load 163(storeTemp)
+ ImageWrite 165 167 168
+ Store 169(storeTemp) 172
+ 173: 91 Load 93(g_tTex1du2)
+ 174: 73(ptr) AccessChain 61 51
+ 175: 6(int) Load 174
+ 176: 14(ivec2) Load 169(storeTemp)
+ ImageWrite 173 175 176
+ 180: 73(ptr) AccessChain 61 51
+ 181: 6(int) Load 180
+ Store 179(coordTemp) 181
+ 183: 69 Load 71(g_tTex1df2)
+ 184: 6(int) Load 179(coordTemp)
+ 185: 21(fvec2) ImageRead 183 184
+ Store 182(storeTemp) 185
+ 187: 21(fvec2) Load 182(storeTemp)
+ 188: 21(fvec2) VectorTimesScalar 187 186
+ Store 182(storeTemp) 188
+ 189: 69 Load 71(g_tTex1df2)
+ 190: 6(int) Load 179(coordTemp)
+ 191: 21(fvec2) Load 182(storeTemp)
+ ImageWrite 189 190 191
+ 192: 21(fvec2) Load 182(storeTemp)
+ Store 177(val1) 192
+ 194: 73(ptr) AccessChain 61 51
+ 195: 6(int) Load 194
+ Store 193(coordTemp) 195
+ 197: 69 Load 71(g_tTex1df2)
+ 198: 6(int) Load 193(coordTemp)
+ 199: 21(fvec2) ImageRead 197 198
+ Store 196(storeTemp) 199
+ 201: 21(fvec2) Load 196(storeTemp)
+ 202: 21(fvec2) CompositeConstruct 200 200
+ 203: 21(fvec2) FSub 201 202
+ Store 196(storeTemp) 203
+ 204: 69 Load 71(g_tTex1df2)
+ 205: 6(int) Load 193(coordTemp)
+ 206: 21(fvec2) Load 196(storeTemp)
+ ImageWrite 204 205 206
+ 208: 73(ptr) AccessChain 61 51
+ 209: 6(int) Load 208
+ Store 207(coordTemp) 209
+ 211: 69 Load 71(g_tTex1df2)
+ 212: 6(int) Load 207(coordTemp)
+ 213: 21(fvec2) ImageRead 211 212
+ Store 210(storeTemp) 213
+ 215: 21(fvec2) Load 210(storeTemp)
+ 216: 21(fvec2) CompositeConstruct 214 214
+ 217: 21(fvec2) FAdd 215 216
+ Store 210(storeTemp) 217
+ 218: 69 Load 71(g_tTex1df2)
+ 219: 6(int) Load 207(coordTemp)
+ 220: 21(fvec2) Load 210(storeTemp)
+ ImageWrite 218 219 220
+ 222: 73(ptr) AccessChain 61 51
+ 223: 6(int) Load 222
+ Store 221(coordTemp) 223
+ 225: 83 Load 85(g_tTex1di2)
+ 226: 6(int) Load 221(coordTemp)
+ 227: 7(ivec2) ImageRead 225 226
+ Store 224(storeTemp) 227
+ 228: 7(ivec2) Load 224(storeTemp)
+ 229: 7(ivec2) CompositeConstruct 127 127
+ 230: 7(ivec2) SDiv 228 229
+ Store 224(storeTemp) 230
+ 231: 83 Load 85(g_tTex1di2)
+ 232: 6(int) Load 221(coordTemp)
+ 233: 7(ivec2) Load 224(storeTemp)
+ ImageWrite 231 232 233
+ 235: 73(ptr) AccessChain 61 51
+ 236: 6(int) Load 235
+ Store 234(coordTemp) 236
+ 238: 83 Load 85(g_tTex1di2)
+ 239: 6(int) Load 234(coordTemp)
+ 240: 7(ivec2) ImageRead 238 239
+ Store 237(storeTemp) 240
+ 241: 7(ivec2) Load 237(storeTemp)
+ 242: 7(ivec2) CompositeConstruct 127 127
+ 243: 7(ivec2) SMod 241 242
+ Store 237(storeTemp) 243
+ 244: 83 Load 85(g_tTex1di2)
+ 245: 6(int) Load 234(coordTemp)
+ 246: 7(ivec2) Load 237(storeTemp)
+ ImageWrite 244 245 246
+ 248: 73(ptr) AccessChain 61 51
+ 249: 6(int) Load 248
+ Store 247(coordTemp) 249
+ 251: 83 Load 85(g_tTex1di2)
+ 252: 6(int) Load 247(coordTemp)
+ 253: 7(ivec2) ImageRead 251 252
+ Store 250(storeTemp) 253
+ 255: 7(ivec2) Load 250(storeTemp)
+ 256: 7(ivec2) CompositeConstruct 254 254
+ 257: 7(ivec2) BitwiseAnd 255 256
+ Store 250(storeTemp) 257
+ 258: 83 Load 85(g_tTex1di2)
+ 259: 6(int) Load 247(coordTemp)
+ 260: 7(ivec2) Load 250(storeTemp)
+ ImageWrite 258 259 260
+ 262: 73(ptr) AccessChain 61 51
+ 263: 6(int) Load 262
+ Store 261(coordTemp) 263
+ 265: 83 Load 85(g_tTex1di2)
+ 266: 6(int) Load 261(coordTemp)
+ 267: 7(ivec2) ImageRead 265 266
+ Store 264(storeTemp) 267
+ 269: 7(ivec2) Load 264(storeTemp)
+ 270: 7(ivec2) CompositeConstruct 268 268
+ 271: 7(ivec2) BitwiseOr 269 270
+ Store 264(storeTemp) 271
+ 272: 83 Load 85(g_tTex1di2)
+ 273: 6(int) Load 261(coordTemp)
+ 274: 7(ivec2) Load 264(storeTemp)
+ ImageWrite 272 273 274
+ 276: 73(ptr) AccessChain 61 51
+ 277: 6(int) Load 276
+ Store 275(coordTemp) 277
+ 279: 83 Load 85(g_tTex1di2)
+ 280: 6(int) Load 275(coordTemp)
+ 281: 7(ivec2) ImageRead 279 280
+ Store 278(storeTemp) 281
+ 282: 7(ivec2) Load 278(storeTemp)
+ 283: 7(ivec2) CompositeConstruct 127 127
+ 284: 7(ivec2) ShiftLeftLogical 282 283
+ Store 278(storeTemp) 284
+ 285: 83 Load 85(g_tTex1di2)
+ 286: 6(int) Load 275(coordTemp)
+ 287: 7(ivec2) Load 278(storeTemp)
+ ImageWrite 285 286 287
+ 289: 73(ptr) AccessChain 61 51
+ 290: 6(int) Load 289
+ Store 288(coordTemp) 290
+ 292: 83 Load 85(g_tTex1di2)
+ 293: 6(int) Load 288(coordTemp)
+ 294: 7(ivec2) ImageRead 292 293
+ Store 291(storeTemp) 294
+ 295: 7(ivec2) Load 291(storeTemp)
+ 296: 7(ivec2) CompositeConstruct 127 127
+ 297: 7(ivec2) ShiftRightArithmetic 295 296
+ Store 291(storeTemp) 297
+ 298: 83 Load 85(g_tTex1di2)
+ 299: 6(int) Load 288(coordTemp)
+ 300: 7(ivec2) Load 291(storeTemp)
+ ImageWrite 298 299 300
+ 302: 21(fvec2) FunctionCall 40(SomeValue()
+ Store 301(storeTemp) 302
+ 303: 99 Load 101(g_tTex2df2)
+ 304: 63(ptr) AccessChain 61 62
+ 305: 7(ivec2) Load 304
+ 306: 21(fvec2) Load 301(storeTemp)
+ ImageWrite 303 305 306
+ 307: 99 Load 101(g_tTex2df2)
+ 308: 63(ptr) AccessChain 61 62
+ 309: 7(ivec2) Load 308
+ 310: 21(fvec2) Load 148(lf2)
+ ImageWrite 307 309 310
+ Store 311(storeTemp) 313
+ 314: 107 Load 109(g_tTex2di2)
+ 315: 63(ptr) AccessChain 61 62
+ 316: 7(ivec2) Load 315
+ 317: 7(ivec2) Load 311(storeTemp)
+ ImageWrite 314 316 317
+ Store 318(storeTemp) 320
+ 321: 115 Load 117(g_tTex2du2)
+ 322: 63(ptr) AccessChain 61 62
+ 323: 7(ivec2) Load 322
+ 324: 14(ivec2) Load 318(storeTemp)
+ ImageWrite 321 323 324
+ 326: 21(fvec2) FunctionCall 40(SomeValue()
+ Store 325(storeTemp) 326
+ 327: 123 Load 125(g_tTex3df2)
+ 328: 128(ptr) AccessChain 61 127
+ 329: 57(ivec3) Load 328
+ 330: 21(fvec2) Load 325(storeTemp)
+ ImageWrite 327 329 330
+ 331: 123 Load 125(g_tTex3df2)
+ 332: 128(ptr) AccessChain 61 127
+ 333: 57(ivec3) Load 332
+ 334: 21(fvec2) Load 148(lf2)
+ ImageWrite 331 333 334
+ Store 335(storeTemp) 337
+ 338: 133 Load 135(g_tTex3di2)
+ 339: 128(ptr) AccessChain 61 127
+ 340: 57(ivec3) Load 339
+ 341: 7(ivec2) Load 335(storeTemp)
+ ImageWrite 338 340 341
+ Store 342(storeTemp) 344
+ 345: 141 Load 143(g_tTex3du2)
+ 346: 128(ptr) AccessChain 61 127
+ 347: 57(ivec3) Load 346
+ 348: 14(ivec2) Load 342(storeTemp)
+ ImageWrite 345 347 348
+ 349: 69 Load 71(g_tTex1df2)
+ 350: 73(ptr) AccessChain 61 51
+ 351: 6(int) Load 350
+ 352: 21(fvec2) ImageRead 349 351
+ Store 353(param) 352
+ 354: 21(fvec2) FunctionCall 25(Fn1(vf2;) 353(param)
+ 355: 83 Load 85(g_tTex1di2)
+ 356: 73(ptr) AccessChain 61 51
+ 357: 6(int) Load 356
+ 358: 7(ivec2) ImageRead 355 357
+ Store 359(param) 358
+ 360: 7(ivec2) FunctionCall 11(Fn1(vi2;) 359(param)
+ 361: 91 Load 93(g_tTex1du2)
+ 362: 73(ptr) AccessChain 61 51
+ 363: 6(int) Load 362
+ 364: 14(ivec2) ImageRead 361 363
+ Store 365(param) 364
+ 366: 14(ivec2) FunctionCall 18(Fn1(vu2;) 365(param)
+ 369: 2 FunctionCall 37(Fn2(vf2;) 368(param)
+ 370: 21(fvec2) Load 368(param)
+ Store 367(tempArg) 370
+ 371: 69 Load 71(g_tTex1df2)
+ 372: 73(ptr) AccessChain 61 51
+ 373: 6(int) Load 372
+ 374: 21(fvec2) Load 367(tempArg)
+ ImageWrite 371 373 374
+ 377: 2 FunctionCall 29(Fn2(vi2;) 376(param)
+ 378: 7(ivec2) Load 376(param)
+ Store 375(tempArg) 378
+ 379: 83 Load 85(g_tTex1di2)
+ 380: 73(ptr) AccessChain 61 51
+ 381: 6(int) Load 380
+ 382: 7(ivec2) Load 375(tempArg)
+ ImageWrite 379 381 382
+ 385: 2 FunctionCall 33(Fn2(vu2;) 384(param)
+ 386: 14(ivec2) Load 384(param)
+ Store 383(tempArg) 386
+ 387: 91 Load 93(g_tTex1du2)
+ 388: 73(ptr) AccessChain 61 51
+ 389: 6(int) Load 388
+ 390: 14(ivec2) Load 383(tempArg)
+ ImageWrite 387 389 390
+ 392: 73(ptr) AccessChain 61 51
+ 393: 6(int) Load 392
+ Store 391(coordTemp) 393
+ 395: 69 Load 71(g_tTex1df2)
+ 396: 6(int) Load 391(coordTemp)
+ 397: 21(fvec2) ImageRead 395 396
+ Store 394(storeTemp) 397
+ 398: 21(fvec2) Load 394(storeTemp)
+ 400: 21(fvec2) CompositeConstruct 399 399
+ 401: 21(fvec2) FAdd 398 400
+ Store 394(storeTemp) 401
+ 402: 69 Load 71(g_tTex1df2)
+ 403: 6(int) Load 391(coordTemp)
+ 404: 21(fvec2) Load 394(storeTemp)
+ ImageWrite 402 403 404
+ 406: 73(ptr) AccessChain 61 51
+ 407: 6(int) Load 406
+ Store 405(coordTemp) 407
+ 409: 83 Load 85(g_tTex1di2)
+ 410: 6(int) Load 405(coordTemp)
+ 411: 7(ivec2) ImageRead 409 410
+ Store 408(storeTemp) 411
+ 412: 7(ivec2) Load 408(storeTemp)
+ 413: 7(ivec2) CompositeConstruct 62 62
+ 414: 7(ivec2) IAdd 412 413
+ Store 408(storeTemp) 414
+ 415: 83 Load 85(g_tTex1di2)
+ 416: 6(int) Load 405(coordTemp)
+ 417: 7(ivec2) Load 408(storeTemp)
+ ImageWrite 415 416 417
+ 419: 73(ptr) AccessChain 61 51
+ 420: 6(int) Load 419
+ Store 418(coordTemp) 420
+ 422: 91 Load 93(g_tTex1du2)
+ 423: 6(int) Load 418(coordTemp)
+ 424: 14(ivec2) ImageRead 422 423
+ Store 421(storeTemp) 424
+ 425: 14(ivec2) Load 421(storeTemp)
+ 426: 7(ivec2) CompositeConstruct 62 62
+ 427: 14(ivec2) IAdd 425 426
+ Store 421(storeTemp) 427
+ 428: 91 Load 93(g_tTex1du2)
+ 429: 6(int) Load 418(coordTemp)
+ 430: 14(ivec2) Load 421(storeTemp)
+ ImageWrite 428 429 430
+ 432: 73(ptr) AccessChain 61 51
+ 433: 6(int) Load 432
+ Store 431(coordTemp) 433
+ 435: 69 Load 71(g_tTex1df2)
+ 436: 6(int) Load 431(coordTemp)
+ 437: 21(fvec2) ImageRead 435 436
+ Store 434(storeTemp) 437
+ 438: 21(fvec2) Load 434(storeTemp)
+ 439: 21(fvec2) CompositeConstruct 399 399
+ 440: 21(fvec2) FSub 438 439
+ Store 434(storeTemp) 440
+ 441: 69 Load 71(g_tTex1df2)
+ 442: 6(int) Load 431(coordTemp)
+ 443: 21(fvec2) Load 434(storeTemp)
+ ImageWrite 441 442 443
+ 445: 73(ptr) AccessChain 61 51
+ 446: 6(int) Load 445
+ Store 444(coordTemp) 446
+ 448: 83 Load 85(g_tTex1di2)
+ 449: 6(int) Load 444(coordTemp)
+ 450: 7(ivec2) ImageRead 448 449
+ Store 447(storeTemp) 450
+ 451: 7(ivec2) Load 447(storeTemp)
+ 452: 7(ivec2) CompositeConstruct 62 62
+ 453: 7(ivec2) ISub 451 452
+ Store 447(storeTemp) 453
+ 454: 83 Load 85(g_tTex1di2)
+ 455: 6(int) Load 444(coordTemp)
+ 456: 7(ivec2) Load 447(storeTemp)
+ ImageWrite 454 455 456
+ 458: 73(ptr) AccessChain 61 51
+ 459: 6(int) Load 458
+ Store 457(coordTemp) 459
+ 461: 91 Load 93(g_tTex1du2)
+ 462: 6(int) Load 457(coordTemp)
+ 463: 14(ivec2) ImageRead 461 462
+ Store 460(storeTemp) 463
+ 464: 14(ivec2) Load 460(storeTemp)
+ 465: 7(ivec2) CompositeConstruct 62 62
+ 466: 14(ivec2) ISub 464 465
+ Store 460(storeTemp) 466
+ 467: 91 Load 93(g_tTex1du2)
+ 468: 6(int) Load 457(coordTemp)
+ 469: 14(ivec2) Load 460(storeTemp)
+ ImageWrite 467 468 469
+ 471: 73(ptr) AccessChain 61 51
+ 472: 6(int) Load 471
+ Store 470(coordTemp) 472
+ 474: 69 Load 71(g_tTex1df2)
+ 475: 6(int) Load 470(coordTemp)
+ 476: 21(fvec2) ImageRead 474 475
+ Store 473(storeTempPre) 476
+ 478: 21(fvec2) Load 473(storeTempPre)
+ Store 477(storeTempPost) 478
+ 479: 21(fvec2) Load 477(storeTempPost)
+ 480: 21(fvec2) CompositeConstruct 399 399
+ 481: 21(fvec2) FAdd 479 480
+ Store 477(storeTempPost) 481
+ 482: 69 Load 71(g_tTex1df2)
+ 483: 6(int) Load 470(coordTemp)
+ 484: 21(fvec2) Load 477(storeTempPost)
+ ImageWrite 482 483 484
+ 486: 73(ptr) AccessChain 61 51
+ 487: 6(int) Load 486
+ Store 485(coordTemp) 487
+ 489: 91 Load 93(g_tTex1du2)
+ 490: 6(int) Load 485(coordTemp)
+ 491: 14(ivec2) ImageRead 489 490
+ Store 488(storeTempPre) 491
+ 493: 14(ivec2) Load 488(storeTempPre)
+ Store 492(storeTempPost) 493
+ 494: 14(ivec2) Load 492(storeTempPost)
+ 495: 7(ivec2) CompositeConstruct 62 62
+ 496: 14(ivec2) ISub 494 495
+ Store 492(storeTempPost) 496
+ 497: 91 Load 93(g_tTex1du2)
+ 498: 6(int) Load 485(coordTemp)
+ 499: 14(ivec2) Load 492(storeTempPost)
+ ImageWrite 497 498 499
+ 501: 73(ptr) AccessChain 61 51
+ 502: 6(int) Load 501
+ Store 500(coordTemp) 502
+ 504: 83 Load 85(g_tTex1di2)
+ 505: 6(int) Load 500(coordTemp)
+ 506: 7(ivec2) ImageRead 504 505
+ Store 503(storeTempPre) 506
+ 508: 7(ivec2) Load 503(storeTempPre)
+ Store 507(storeTempPost) 508
+ 509: 7(ivec2) Load 507(storeTempPost)
+ 510: 7(ivec2) CompositeConstruct 62 62
+ 511: 7(ivec2) IAdd 509 510
+ Store 507(storeTempPost) 511
+ 512: 83 Load 85(g_tTex1di2)
+ 513: 6(int) Load 500(coordTemp)
+ 514: 7(ivec2) Load 507(storeTempPost)
+ ImageWrite 512 513 514
+ 516: 73(ptr) AccessChain 61 51
+ 517: 6(int) Load 516
+ Store 515(coordTemp) 517
+ 519: 69 Load 71(g_tTex1df2)
+ 520: 6(int) Load 515(coordTemp)
+ 521: 21(fvec2) ImageRead 519 520
+ Store 518(storeTempPre) 521
+ 523: 21(fvec2) Load 518(storeTempPre)
+ Store 522(storeTempPost) 523
+ 524: 21(fvec2) Load 522(storeTempPost)
+ 525: 21(fvec2) CompositeConstruct 399 399
+ 526: 21(fvec2) FSub 524 525
+ Store 522(storeTempPost) 526
+ 527: 69 Load 71(g_tTex1df2)
+ 528: 6(int) Load 515(coordTemp)
+ 529: 21(fvec2) Load 522(storeTempPost)
+ ImageWrite 527 528 529
+ 531: 73(ptr) AccessChain 61 51
+ 532: 6(int) Load 531
+ Store 530(coordTemp) 532
+ 534: 83 Load 85(g_tTex1di2)
+ 535: 6(int) Load 530(coordTemp)
+ 536: 7(ivec2) ImageRead 534 535
+ Store 533(storeTempPre) 536
+ 538: 7(ivec2) Load 533(storeTempPre)
+ Store 537(storeTempPost) 538
+ 539: 7(ivec2) Load 537(storeTempPost)
+ 540: 7(ivec2) CompositeConstruct 62 62
+ 541: 7(ivec2) IAdd 539 540
+ Store 537(storeTempPost) 541
+ 542: 83 Load 85(g_tTex1di2)
+ 543: 6(int) Load 530(coordTemp)
+ 544: 7(ivec2) Load 537(storeTempPost)
+ ImageWrite 542 543 544
+ 546: 73(ptr) AccessChain 61 51
+ 547: 6(int) Load 546
+ Store 545(coordTemp) 547
+ 549: 91 Load 93(g_tTex1du2)
+ 550: 6(int) Load 545(coordTemp)
+ 551: 14(ivec2) ImageRead 549 550
+ Store 548(storeTempPre) 551
+ 553: 14(ivec2) Load 548(storeTempPre)
+ Store 552(storeTempPost) 553
+ 554: 14(ivec2) Load 552(storeTempPost)
+ 555: 7(ivec2) CompositeConstruct 62 62
+ 556: 14(ivec2) ISub 554 555
+ Store 552(storeTempPost) 556
+ 557: 91 Load 93(g_tTex1du2)
+ 558: 6(int) Load 545(coordTemp)
+ 559: 14(ivec2) Load 552(storeTempPost)
+ ImageWrite 557 558 559
+ 561: 99 Load 101(g_tTex2df2)
+ 564: 21(fvec2) ImageRead 561 563
+ Store 560(storeTemp) 564
+ 565: 69 Load 71(g_tTex1df2)
+ 566: 21(fvec2) Load 560(storeTemp)
+ ImageWrite 565 62 566
+ 573: 572(ptr) AccessChain 570(psout) 51
+ Store 573 571
+ 576: 572(ptr) AccessChain 570(psout) 51
+ 577: 567(fvec4) Load 576
+ Store 575(Color) 577
+ Return
+ FunctionEnd
+ 11(Fn1(vi2;): 7(ivec2) Function None 9
+ 10(x): 8(ptr) FunctionParameter
+ 12: Label
+ 42: 7(ivec2) Load 10(x)
+ ReturnValue 42
+ FunctionEnd
+ 18(Fn1(vu2;): 14(ivec2) Function None 16
+ 17(x): 15(ptr) FunctionParameter
+ 19: Label
+ 45: 14(ivec2) Load 17(x)
+ ReturnValue 45
+ FunctionEnd
+ 25(Fn1(vf2;): 21(fvec2) Function None 23
+ 24(x): 22(ptr) FunctionParameter
+ 26: Label
+ 48: 21(fvec2) Load 24(x)
+ ReturnValue 48
+ FunctionEnd
+ 29(Fn2(vi2;): 2 Function None 27
+ 28(x): 8(ptr) FunctionParameter
+ 30: Label
+ Store 28(x) 52
+ Return
+ FunctionEnd
+ 33(Fn2(vu2;): 2 Function None 31
+ 32(x): 15(ptr) FunctionParameter
+ 34: Label
+ Store 32(x) 54
+ Return
+ FunctionEnd
+ 37(Fn2(vf2;): 2 Function None 35
+ 36(x): 22(ptr) FunctionParameter
+ 38: Label
+ Store 36(x) 56
+ Return
+ FunctionEnd
+ 40(SomeValue(): 21(fvec2) Function None 39
+ 41: Label
+ 64: 63(ptr) AccessChain 61 62
+ 65: 7(ivec2) Load 64
+ 66: 21(fvec2) ConvertSToF 65
+ ReturnValue 66
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out
index bb2962d..6c6f187 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -8,7 +8,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 texture (global 4-component vector of float)
+0:27 texture (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -18,7 +18,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 texture (global 4-component vector of int)
+0:28 texture (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -28,7 +28,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 texture (global 4-component vector of uint)
+0:29 texture (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -38,7 +38,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
+0:31 texture (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -49,7 +49,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 texture (global 4-component vector of int)
+0:32 texture (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -60,7 +60,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 texture (global 4-component vector of uint)
+0:33 texture (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -71,7 +71,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
+0:35 texture (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -83,7 +83,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 texture (global 4-component vector of int)
+0:36 texture (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -95,7 +95,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 texture (global 4-component vector of uint)
+0:37 texture (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -164,7 +164,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 texture (global 4-component vector of float)
+0:27 texture (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -174,7 +174,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 texture (global 4-component vector of int)
+0:28 texture (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -184,7 +184,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 texture (global 4-component vector of uint)
+0:29 texture (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -194,7 +194,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
+0:31 texture (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -205,7 +205,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 texture (global 4-component vector of int)
+0:32 texture (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -216,7 +216,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 texture (global 4-component vector of uint)
+0:33 texture (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -227,7 +227,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
+0:35 texture (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -239,7 +239,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 texture (global 4-component vector of int)
+0:36 texture (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -251,7 +251,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 texture (global 4-component vector of uint)
+0:37 texture (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
index b6cc8c6..de9a4f4 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -94,7 +94,7 @@
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:70 'txval10' (temp 4-component vector of float)
-0:70 texture (global 4-component vector of float)
+0:70 texture (temp 4-component vector of float)
0:70 Construct combined texture-sampler (temp sampler1D)
0:70 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:70 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -103,7 +103,7 @@
0:71 Sequence
0:71 move second child to first child (temp 4-component vector of int)
0:71 'txval11' (temp 4-component vector of int)
-0:71 texture (global 4-component vector of int)
+0:71 texture (temp 4-component vector of int)
0:71 Construct combined texture-sampler (temp isampler1D)
0:71 'g_tTex1di4' (uniform itexture1D)
0:71 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -112,7 +112,7 @@
0:72 Sequence
0:72 move second child to first child (temp 4-component vector of uint)
0:72 'txval12' (temp 4-component vector of uint)
-0:72 texture (global 4-component vector of uint)
+0:72 texture (temp 4-component vector of uint)
0:72 Construct combined texture-sampler (temp usampler1D)
0:72 'g_tTex1du4' (uniform utexture1D)
0:72 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -121,7 +121,7 @@
0:74 Sequence
0:74 move second child to first child (temp 4-component vector of float)
0:74 'txval20' (temp 4-component vector of float)
-0:74 texture (global 4-component vector of float)
+0:74 texture (temp 4-component vector of float)
0:74 Construct combined texture-sampler (temp sampler2D)
0:74 'g_tTex2df4' (uniform texture2D)
0:74 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -131,7 +131,7 @@
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of int)
0:75 'txval21' (temp 4-component vector of int)
-0:75 texture (global 4-component vector of int)
+0:75 texture (temp 4-component vector of int)
0:75 Construct combined texture-sampler (temp isampler2D)
0:75 'g_tTex2di4' (uniform itexture2D)
0:75 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -141,7 +141,7 @@
0:76 Sequence
0:76 move second child to first child (temp 4-component vector of uint)
0:76 'txval22' (temp 4-component vector of uint)
-0:76 texture (global 4-component vector of uint)
+0:76 texture (temp 4-component vector of uint)
0:76 Construct combined texture-sampler (temp usampler2D)
0:76 'g_tTex2du4' (uniform utexture2D)
0:76 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -151,7 +151,7 @@
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of float)
0:78 'txval30' (temp 4-component vector of float)
-0:78 texture (global 4-component vector of float)
+0:78 texture (temp 4-component vector of float)
0:78 Construct combined texture-sampler (temp sampler3D)
0:78 'g_tTex3df4' (uniform texture3D)
0:78 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -162,7 +162,7 @@
0:79 Sequence
0:79 move second child to first child (temp 4-component vector of int)
0:79 'txval31' (temp 4-component vector of int)
-0:79 texture (global 4-component vector of int)
+0:79 texture (temp 4-component vector of int)
0:79 Construct combined texture-sampler (temp isampler3D)
0:79 'g_tTex3di4' (uniform itexture3D)
0:79 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -173,7 +173,7 @@
0:80 Sequence
0:80 move second child to first child (temp 4-component vector of uint)
0:80 'txval32' (temp 4-component vector of uint)
-0:80 texture (global 4-component vector of uint)
+0:80 texture (temp 4-component vector of uint)
0:80 Construct combined texture-sampler (temp usampler3D)
0:80 'g_tTex3du4' (uniform utexture3D)
0:80 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -184,7 +184,7 @@
0:82 Sequence
0:82 move second child to first child (temp 4-component vector of float)
0:82 'txval40' (temp 4-component vector of float)
-0:82 texture (global 4-component vector of float)
+0:82 texture (temp 4-component vector of float)
0:82 Construct combined texture-sampler (temp samplerCube)
0:82 'g_tTexcdf4' (uniform textureCube)
0:82 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -195,7 +195,7 @@
0:83 Sequence
0:83 move second child to first child (temp 4-component vector of int)
0:83 'txval41' (temp 4-component vector of int)
-0:83 texture (global 4-component vector of int)
+0:83 texture (temp 4-component vector of int)
0:83 Construct combined texture-sampler (temp isamplerCube)
0:83 'g_tTexcdi4' (uniform itextureCube)
0:83 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -206,7 +206,7 @@
0:84 Sequence
0:84 move second child to first child (temp 4-component vector of uint)
0:84 'txval42' (temp 4-component vector of uint)
-0:84 texture (global 4-component vector of uint)
+0:84 texture (temp 4-component vector of uint)
0:84 Construct combined texture-sampler (temp usamplerCube)
0:84 'g_tTexcdu4' (uniform utextureCube)
0:84 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -363,7 +363,7 @@
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:70 'txval10' (temp 4-component vector of float)
-0:70 texture (global 4-component vector of float)
+0:70 texture (temp 4-component vector of float)
0:70 Construct combined texture-sampler (temp sampler1D)
0:70 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:70 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -372,7 +372,7 @@
0:71 Sequence
0:71 move second child to first child (temp 4-component vector of int)
0:71 'txval11' (temp 4-component vector of int)
-0:71 texture (global 4-component vector of int)
+0:71 texture (temp 4-component vector of int)
0:71 Construct combined texture-sampler (temp isampler1D)
0:71 'g_tTex1di4' (uniform itexture1D)
0:71 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -381,7 +381,7 @@
0:72 Sequence
0:72 move second child to first child (temp 4-component vector of uint)
0:72 'txval12' (temp 4-component vector of uint)
-0:72 texture (global 4-component vector of uint)
+0:72 texture (temp 4-component vector of uint)
0:72 Construct combined texture-sampler (temp usampler1D)
0:72 'g_tTex1du4' (uniform utexture1D)
0:72 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -390,7 +390,7 @@
0:74 Sequence
0:74 move second child to first child (temp 4-component vector of float)
0:74 'txval20' (temp 4-component vector of float)
-0:74 texture (global 4-component vector of float)
+0:74 texture (temp 4-component vector of float)
0:74 Construct combined texture-sampler (temp sampler2D)
0:74 'g_tTex2df4' (uniform texture2D)
0:74 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -400,7 +400,7 @@
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of int)
0:75 'txval21' (temp 4-component vector of int)
-0:75 texture (global 4-component vector of int)
+0:75 texture (temp 4-component vector of int)
0:75 Construct combined texture-sampler (temp isampler2D)
0:75 'g_tTex2di4' (uniform itexture2D)
0:75 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -410,7 +410,7 @@
0:76 Sequence
0:76 move second child to first child (temp 4-component vector of uint)
0:76 'txval22' (temp 4-component vector of uint)
-0:76 texture (global 4-component vector of uint)
+0:76 texture (temp 4-component vector of uint)
0:76 Construct combined texture-sampler (temp usampler2D)
0:76 'g_tTex2du4' (uniform utexture2D)
0:76 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -420,7 +420,7 @@
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of float)
0:78 'txval30' (temp 4-component vector of float)
-0:78 texture (global 4-component vector of float)
+0:78 texture (temp 4-component vector of float)
0:78 Construct combined texture-sampler (temp sampler3D)
0:78 'g_tTex3df4' (uniform texture3D)
0:78 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -431,7 +431,7 @@
0:79 Sequence
0:79 move second child to first child (temp 4-component vector of int)
0:79 'txval31' (temp 4-component vector of int)
-0:79 texture (global 4-component vector of int)
+0:79 texture (temp 4-component vector of int)
0:79 Construct combined texture-sampler (temp isampler3D)
0:79 'g_tTex3di4' (uniform itexture3D)
0:79 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -442,7 +442,7 @@
0:80 Sequence
0:80 move second child to first child (temp 4-component vector of uint)
0:80 'txval32' (temp 4-component vector of uint)
-0:80 texture (global 4-component vector of uint)
+0:80 texture (temp 4-component vector of uint)
0:80 Construct combined texture-sampler (temp usampler3D)
0:80 'g_tTex3du4' (uniform utexture3D)
0:80 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -453,7 +453,7 @@
0:82 Sequence
0:82 move second child to first child (temp 4-component vector of float)
0:82 'txval40' (temp 4-component vector of float)
-0:82 texture (global 4-component vector of float)
+0:82 texture (temp 4-component vector of float)
0:82 Construct combined texture-sampler (temp samplerCube)
0:82 'g_tTexcdf4' (uniform textureCube)
0:82 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -464,7 +464,7 @@
0:83 Sequence
0:83 move second child to first child (temp 4-component vector of int)
0:83 'txval41' (temp 4-component vector of int)
-0:83 texture (global 4-component vector of int)
+0:83 texture (temp 4-component vector of int)
0:83 Construct combined texture-sampler (temp isamplerCube)
0:83 'g_tTexcdi4' (uniform itextureCube)
0:83 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -475,7 +475,7 @@
0:84 Sequence
0:84 move second child to first child (temp 4-component vector of uint)
0:84 'txval42' (temp 4-component vector of uint)
-0:84 texture (global 4-component vector of uint)
+0:84 texture (temp 4-component vector of uint)
0:84 Construct combined texture-sampler (temp usamplerCube)
0:84 'g_tTexcdu4' (uniform utextureCube)
0:84 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
index 9de5f49..67bf043 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -8,7 +8,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureOffset (global 4-component vector of float)
+0:31 textureOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -19,7 +19,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureOffset (global 4-component vector of int)
+0:32 textureOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -30,7 +30,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureOffset (global 4-component vector of uint)
+0:33 textureOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -41,7 +41,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureOffset (global 4-component vector of float)
+0:35 textureOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -54,7 +54,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureOffset (global 4-component vector of int)
+0:36 textureOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -67,7 +67,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureOffset (global 4-component vector of uint)
+0:37 textureOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -80,7 +80,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureOffset (global 4-component vector of float)
+0:39 textureOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -95,7 +95,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureOffset (global 4-component vector of int)
+0:40 textureOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -110,7 +110,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureOffset (global 4-component vector of uint)
+0:41 textureOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -185,7 +185,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureOffset (global 4-component vector of float)
+0:31 textureOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -196,7 +196,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureOffset (global 4-component vector of int)
+0:32 textureOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -207,7 +207,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureOffset (global 4-component vector of uint)
+0:33 textureOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -218,7 +218,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureOffset (global 4-component vector of float)
+0:35 textureOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -231,7 +231,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureOffset (global 4-component vector of int)
+0:36 textureOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -244,7 +244,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureOffset (global 4-component vector of uint)
+0:37 textureOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -257,7 +257,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureOffset (global 4-component vector of float)
+0:39 textureOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -272,7 +272,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureOffset (global 4-component vector of int)
+0:40 textureOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -287,7 +287,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureOffset (global 4-component vector of uint)
+0:41 textureOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
index f4646d4..83a0e8b 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -8,7 +8,7 @@
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
-0:23 textureOffset (global 4-component vector of float)
+0:23 textureOffset (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -20,7 +20,7 @@
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
-0:24 textureOffset (global 4-component vector of int)
+0:24 textureOffset (temp 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -32,7 +32,7 @@
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
-0:25 textureOffset (global 4-component vector of uint)
+0:25 textureOffset (temp 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -44,7 +44,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
-0:27 textureOffset (global 4-component vector of float)
+0:27 textureOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -58,7 +58,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
-0:28 textureOffset (global 4-component vector of int)
+0:28 textureOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -72,7 +72,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
-0:29 textureOffset (global 4-component vector of uint)
+0:29 textureOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -140,7 +140,7 @@
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
-0:23 textureOffset (global 4-component vector of float)
+0:23 textureOffset (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -152,7 +152,7 @@
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
-0:24 textureOffset (global 4-component vector of int)
+0:24 textureOffset (temp 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -164,7 +164,7 @@
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
-0:25 textureOffset (global 4-component vector of uint)
+0:25 textureOffset (temp 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -176,7 +176,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
-0:27 textureOffset (global 4-component vector of float)
+0:27 textureOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -190,7 +190,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
-0:28 textureOffset (global 4-component vector of int)
+0:28 textureOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -204,7 +204,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
-0:29 textureOffset (global 4-component vector of uint)
+0:29 textureOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
new file mode 100644
index 0000000..5a97ed9
--- /dev/null
+++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
@@ -0,0 +1,252 @@
+hlsl.sample.sub-vec4.dx10.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:14 Function Parameters:
+0:? Sequence
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'txval10' (temp float)
+0:17 Construct float (temp float)
+0:? texture (temp 4-component vector of float)
+0:17 Construct combined texture-sampler (temp sampler1D)
+0:17 'g_tTex1df1' (uniform texture1D)
+0:17 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:17 Constant:
+0:17 0.100000
+0:18 Sequence
+0:18 move second child to first child (temp 2-component vector of float)
+0:18 'txval11' (temp 2-component vector of float)
+0:18 Construct vec2 (temp 2-component vector of float)
+0:? texture (temp 4-component vector of float)
+0:18 Construct combined texture-sampler (temp sampler1D)
+0:18 'g_tTex1df2' (uniform texture1D)
+0:18 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:18 Constant:
+0:18 0.200000
+0:19 Sequence
+0:19 move second child to first child (temp 3-component vector of float)
+0:19 'txval12' (temp 3-component vector of float)
+0:19 Construct vec3 (temp 3-component vector of float)
+0:? texture (temp 4-component vector of float)
+0:19 Construct combined texture-sampler (temp sampler1D)
+0:19 'g_tTex1df3' (uniform texture1D)
+0:19 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:19 Constant:
+0:19 0.200000
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'txval13' (temp 4-component vector of float)
+0:20 texture (temp 4-component vector of float)
+0:20 Construct combined texture-sampler (temp sampler1D)
+0:20 'g_tTex1df4' (uniform texture1D)
+0:20 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:20 Constant:
+0:20 0.200000
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 Color: direct index for structure (temp 4-component vector of float)
+0:22 'psout' (temp structure{temp 4-component vector of float Color})
+0:22 Constant:
+0:22 0 (const int)
+0:22 Constant:
+0:22 1.000000
+0:22 1.000000
+0:22 1.000000
+0:22 1.000000
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:23 Color: direct index for structure (temp 4-component vector of float)
+0:23 'psout' (temp structure{temp 4-component vector of float Color})
+0:23 Constant:
+0:23 0 (const int)
+0:23 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df1' (uniform texture1D)
+0:? 'g_tTex1df2' (uniform texture1D)
+0:? 'g_tTex1df3' (uniform texture1D)
+0:? 'g_tTex1df4' (uniform texture1D)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:14 Function Parameters:
+0:? Sequence
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'txval10' (temp float)
+0:17 Construct float (temp float)
+0:? texture (temp 4-component vector of float)
+0:17 Construct combined texture-sampler (temp sampler1D)
+0:17 'g_tTex1df1' (uniform texture1D)
+0:17 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:17 Constant:
+0:17 0.100000
+0:18 Sequence
+0:18 move second child to first child (temp 2-component vector of float)
+0:18 'txval11' (temp 2-component vector of float)
+0:18 Construct vec2 (temp 2-component vector of float)
+0:? texture (temp 4-component vector of float)
+0:18 Construct combined texture-sampler (temp sampler1D)
+0:18 'g_tTex1df2' (uniform texture1D)
+0:18 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:18 Constant:
+0:18 0.200000
+0:19 Sequence
+0:19 move second child to first child (temp 3-component vector of float)
+0:19 'txval12' (temp 3-component vector of float)
+0:19 Construct vec3 (temp 3-component vector of float)
+0:? texture (temp 4-component vector of float)
+0:19 Construct combined texture-sampler (temp sampler1D)
+0:19 'g_tTex1df3' (uniform texture1D)
+0:19 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:19 Constant:
+0:19 0.200000
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'txval13' (temp 4-component vector of float)
+0:20 texture (temp 4-component vector of float)
+0:20 Construct combined texture-sampler (temp sampler1D)
+0:20 'g_tTex1df4' (uniform texture1D)
+0:20 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:20 Constant:
+0:20 0.200000
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 Color: direct index for structure (temp 4-component vector of float)
+0:22 'psout' (temp structure{temp 4-component vector of float Color})
+0:22 Constant:
+0:22 0 (const int)
+0:22 Constant:
+0:22 1.000000
+0:22 1.000000
+0:22 1.000000
+0:22 1.000000
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:23 Color: direct index for structure (temp 4-component vector of float)
+0:23 'psout' (temp structure{temp 4-component vector of float Color})
+0:23 Constant:
+0:23 0 (const int)
+0:23 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df1' (uniform texture1D)
+0:? 'g_tTex1df2' (uniform texture1D)
+0:? 'g_tTex1df3' (uniform texture1D)
+0:? 'g_tTex1df4' (uniform texture1D)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 67
+
+ Capability Shader
+ Capability Sampled1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 63
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 8 "txval10"
+ Name 11 "g_tTex1df1"
+ Name 15 "g_sSamp"
+ Name 25 "txval11"
+ Name 26 "g_tTex1df2"
+ Name 37 "txval12"
+ Name 38 "g_tTex1df3"
+ Name 48 "txval13"
+ Name 49 "g_tTex1df4"
+ Name 54 "PS_OUTPUT"
+ MemberName 54(PS_OUTPUT) 0 "Color"
+ Name 56 "psout"
+ Name 63 "Color"
+ Decorate 11(g_tTex1df1) DescriptorSet 0
+ Decorate 15(g_sSamp) DescriptorSet 0
+ Decorate 15(g_sSamp) Binding 0
+ Decorate 26(g_tTex1df2) DescriptorSet 0
+ Decorate 38(g_tTex1df3) DescriptorSet 0
+ Decorate 49(g_tTex1df4) DescriptorSet 0
+ Decorate 63(Color) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: TypeImage 6(float) 1D sampled format:Unknown
+ 10: TypePointer UniformConstant 9
+ 11(g_tTex1df1): 10(ptr) Variable UniformConstant
+ 13: TypeSampler
+ 14: TypePointer UniformConstant 13
+ 15(g_sSamp): 14(ptr) Variable UniformConstant
+ 17: TypeSampledImage 9
+ 19: 6(float) Constant 1036831949
+ 20: TypeVector 6(float) 4
+ 23: TypeVector 6(float) 2
+ 24: TypePointer Function 23(fvec2)
+ 26(g_tTex1df2): 10(ptr) Variable UniformConstant
+ 30: 6(float) Constant 1045220557
+ 35: TypeVector 6(float) 3
+ 36: TypePointer Function 35(fvec3)
+ 38(g_tTex1df3): 10(ptr) Variable UniformConstant
+ 47: TypePointer Function 20(fvec4)
+ 49(g_tTex1df4): 10(ptr) Variable UniformConstant
+ 54(PS_OUTPUT): TypeStruct 20(fvec4)
+ 55: TypePointer Function 54(PS_OUTPUT)
+ 57: TypeInt 32 1
+ 58: 57(int) Constant 0
+ 59: 6(float) Constant 1065353216
+ 60: 20(fvec4) ConstantComposite 59 59 59 59
+ 62: TypePointer Output 20(fvec4)
+ 63(Color): 62(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(txval10): 7(ptr) Variable Function
+ 25(txval11): 24(ptr) Variable Function
+ 37(txval12): 36(ptr) Variable Function
+ 48(txval13): 47(ptr) Variable Function
+ 56(psout): 55(ptr) Variable Function
+ 12: 9 Load 11(g_tTex1df1)
+ 16: 13 Load 15(g_sSamp)
+ 18: 17 SampledImage 12 16
+ 21: 20(fvec4) ImageSampleImplicitLod 18 19
+ 22: 6(float) CompositeExtract 21 0
+ Store 8(txval10) 22
+ 27: 9 Load 26(g_tTex1df2)
+ 28: 13 Load 15(g_sSamp)
+ 29: 17 SampledImage 27 28
+ 31: 20(fvec4) ImageSampleImplicitLod 29 30
+ 32: 6(float) CompositeExtract 31 0
+ 33: 6(float) CompositeExtract 31 1
+ 34: 23(fvec2) CompositeConstruct 32 33
+ Store 25(txval11) 34
+ 39: 9 Load 38(g_tTex1df3)
+ 40: 13 Load 15(g_sSamp)
+ 41: 17 SampledImage 39 40
+ 42: 20(fvec4) ImageSampleImplicitLod 41 30
+ 43: 6(float) CompositeExtract 42 0
+ 44: 6(float) CompositeExtract 42 1
+ 45: 6(float) CompositeExtract 42 2
+ 46: 35(fvec3) CompositeConstruct 43 44 45
+ Store 37(txval12) 46
+ 50: 9 Load 49(g_tTex1df4)
+ 51: 13 Load 15(g_sSamp)
+ 52: 17 SampledImage 50 51
+ 53: 20(fvec4) ImageSampleImplicitLod 52 30
+ Store 48(txval13) 53
+ 61: 47(ptr) AccessChain 56(psout) 58
+ Store 61 60
+ 64: 47(ptr) AccessChain 56(psout) 58
+ 65: 20(fvec4) Load 64
+ Store 63(Color) 65
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
index 539855e..b2b38b6 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -8,7 +8,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 texture (global 4-component vector of float)
+0:27 texture (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -20,7 +20,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 texture (global 4-component vector of int)
+0:28 texture (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -32,7 +32,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 texture (global 4-component vector of uint)
+0:29 texture (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -44,7 +44,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
+0:31 texture (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -57,7 +57,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 texture (global 4-component vector of int)
+0:32 texture (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -70,7 +70,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 texture (global 4-component vector of uint)
+0:33 texture (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -83,7 +83,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
+0:35 texture (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -97,7 +97,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 texture (global 4-component vector of int)
+0:36 texture (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -111,7 +111,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 texture (global 4-component vector of uint)
+0:37 texture (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -182,7 +182,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 texture (global 4-component vector of float)
+0:27 texture (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -194,7 +194,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 texture (global 4-component vector of int)
+0:28 texture (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -206,7 +206,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 texture (global 4-component vector of uint)
+0:29 texture (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -218,7 +218,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
+0:31 texture (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -231,7 +231,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 texture (global 4-component vector of int)
+0:32 texture (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -244,7 +244,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 texture (global 4-component vector of uint)
+0:33 texture (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -257,7 +257,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
+0:35 texture (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -271,7 +271,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 texture (global 4-component vector of int)
+0:36 texture (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -285,7 +285,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 texture (global 4-component vector of uint)
+0:37 texture (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
index 9fb8b1a..c794914 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -8,7 +8,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
+0:31 texture (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -19,7 +19,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 texture (global 4-component vector of int)
+0:32 texture (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -30,7 +30,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 texture (global 4-component vector of uint)
+0:33 texture (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -41,7 +41,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
+0:35 texture (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -53,7 +53,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 texture (global 4-component vector of int)
+0:36 texture (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -65,7 +65,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 texture (global 4-component vector of uint)
+0:37 texture (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -77,7 +77,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 texture (global 4-component vector of float)
+0:39 texture (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -90,7 +90,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 texture (global 4-component vector of int)
+0:40 texture (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -103,7 +103,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 texture (global 4-component vector of uint)
+0:41 texture (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -116,7 +116,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
-0:43 texture (global 4-component vector of float)
+0:43 texture (temp 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -129,7 +129,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
-0:44 texture (global 4-component vector of int)
+0:44 texture (temp 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -142,7 +142,7 @@
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
-0:45 texture (global 4-component vector of uint)
+0:45 texture (temp 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -215,7 +215,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
+0:31 texture (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -226,7 +226,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 texture (global 4-component vector of int)
+0:32 texture (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -237,7 +237,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 texture (global 4-component vector of uint)
+0:33 texture (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -248,7 +248,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
+0:35 texture (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -260,7 +260,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 texture (global 4-component vector of int)
+0:36 texture (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -272,7 +272,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 texture (global 4-component vector of uint)
+0:37 texture (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -284,7 +284,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 texture (global 4-component vector of float)
+0:39 texture (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -297,7 +297,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 texture (global 4-component vector of int)
+0:40 texture (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -310,7 +310,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 texture (global 4-component vector of uint)
+0:41 texture (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -323,7 +323,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
-0:43 texture (global 4-component vector of float)
+0:43 texture (temp 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -336,7 +336,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
-0:44 texture (global 4-component vector of int)
+0:44 texture (temp 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -349,7 +349,7 @@
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
-0:45 texture (global 4-component vector of uint)
+0:45 texture (temp 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 643e003..900eb4b 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -8,7 +8,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureOffset (global 4-component vector of float)
+0:31 textureOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -21,7 +21,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureOffset (global 4-component vector of int)
+0:32 textureOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -34,7 +34,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureOffset (global 4-component vector of uint)
+0:33 textureOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -47,7 +47,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureOffset (global 4-component vector of float)
+0:35 textureOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -62,7 +62,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureOffset (global 4-component vector of int)
+0:36 textureOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -77,7 +77,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureOffset (global 4-component vector of uint)
+0:37 textureOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -92,7 +92,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureOffset (global 4-component vector of float)
+0:39 textureOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -109,7 +109,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureOffset (global 4-component vector of int)
+0:40 textureOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -126,7 +126,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureOffset (global 4-component vector of uint)
+0:41 textureOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -203,7 +203,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureOffset (global 4-component vector of float)
+0:31 textureOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -216,7 +216,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureOffset (global 4-component vector of int)
+0:32 textureOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -229,7 +229,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureOffset (global 4-component vector of uint)
+0:33 textureOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -242,7 +242,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureOffset (global 4-component vector of float)
+0:35 textureOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -257,7 +257,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureOffset (global 4-component vector of int)
+0:36 textureOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -272,7 +272,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureOffset (global 4-component vector of uint)
+0:37 textureOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -287,7 +287,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureOffset (global 4-component vector of float)
+0:39 textureOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -304,7 +304,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureOffset (global 4-component vector of int)
+0:40 textureOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -321,7 +321,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureOffset (global 4-component vector of uint)
+0:41 textureOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index 3ab84b9..bd21622 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -8,7 +8,7 @@
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
-0:23 textureOffset (global 4-component vector of float)
+0:23 textureOffset (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -22,7 +22,7 @@
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
-0:24 textureOffset (global 4-component vector of int)
+0:24 textureOffset (temp 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -36,7 +36,7 @@
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
-0:25 textureOffset (global 4-component vector of uint)
+0:25 textureOffset (temp 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -50,7 +50,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
-0:27 textureOffset (global 4-component vector of float)
+0:27 textureOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -66,7 +66,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
-0:28 textureOffset (global 4-component vector of int)
+0:28 textureOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -82,7 +82,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
-0:29 textureOffset (global 4-component vector of uint)
+0:29 textureOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -152,7 +152,7 @@
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
-0:23 textureOffset (global 4-component vector of float)
+0:23 textureOffset (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -166,7 +166,7 @@
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
-0:24 textureOffset (global 4-component vector of int)
+0:24 textureOffset (temp 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -180,7 +180,7 @@
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
-0:25 textureOffset (global 4-component vector of uint)
+0:25 textureOffset (temp 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -194,7 +194,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
-0:27 textureOffset (global 4-component vector of float)
+0:27 textureOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -210,7 +210,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
-0:28 textureOffset (global 4-component vector of int)
+0:28 textureOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -226,7 +226,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
-0:29 textureOffset (global 4-component vector of uint)
+0:29 textureOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
index 1513492..46a6bbc 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -8,7 +8,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 textureGrad (global 4-component vector of float)
+0:27 textureGrad (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -22,7 +22,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 textureGrad (global 4-component vector of int)
+0:28 textureGrad (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -36,7 +36,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 textureGrad (global 4-component vector of uint)
+0:29 textureGrad (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -50,7 +50,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 textureGrad (global 4-component vector of float)
+0:31 textureGrad (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -67,7 +67,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 textureGrad (global 4-component vector of int)
+0:32 textureGrad (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -84,7 +84,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 textureGrad (global 4-component vector of uint)
+0:33 textureGrad (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -101,7 +101,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 textureGrad (global 4-component vector of float)
+0:35 textureGrad (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -121,7 +121,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 textureGrad (global 4-component vector of int)
+0:36 textureGrad (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -141,7 +141,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 textureGrad (global 4-component vector of uint)
+0:37 textureGrad (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -218,7 +218,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 textureGrad (global 4-component vector of float)
+0:27 textureGrad (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -232,7 +232,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 textureGrad (global 4-component vector of int)
+0:28 textureGrad (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -246,7 +246,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 textureGrad (global 4-component vector of uint)
+0:29 textureGrad (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -260,7 +260,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 textureGrad (global 4-component vector of float)
+0:31 textureGrad (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -277,7 +277,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 textureGrad (global 4-component vector of int)
+0:32 textureGrad (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -294,7 +294,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 textureGrad (global 4-component vector of uint)
+0:33 textureGrad (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -311,7 +311,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 textureGrad (global 4-component vector of float)
+0:35 textureGrad (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -331,7 +331,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 textureGrad (global 4-component vector of int)
+0:36 textureGrad (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -351,7 +351,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 textureGrad (global 4-component vector of uint)
+0:37 textureGrad (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
index 92c0c34..395efc2 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -8,7 +8,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureGrad (global 4-component vector of float)
+0:31 textureGrad (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -21,7 +21,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureGrad (global 4-component vector of int)
+0:32 textureGrad (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -34,7 +34,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureGrad (global 4-component vector of uint)
+0:33 textureGrad (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -47,7 +47,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureGrad (global 4-component vector of float)
+0:35 textureGrad (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -63,7 +63,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureGrad (global 4-component vector of int)
+0:36 textureGrad (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -79,7 +79,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureGrad (global 4-component vector of uint)
+0:37 textureGrad (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -95,7 +95,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureGrad (global 4-component vector of float)
+0:39 textureGrad (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -114,7 +114,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureGrad (global 4-component vector of int)
+0:40 textureGrad (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -133,7 +133,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureGrad (global 4-component vector of uint)
+0:41 textureGrad (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -152,7 +152,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
-0:43 textureGrad (global 4-component vector of float)
+0:43 textureGrad (temp 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -171,7 +171,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
-0:44 textureGrad (global 4-component vector of int)
+0:44 textureGrad (temp 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -190,7 +190,7 @@
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
-0:45 textureGrad (global 4-component vector of uint)
+0:45 textureGrad (temp 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -269,7 +269,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureGrad (global 4-component vector of float)
+0:31 textureGrad (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -282,7 +282,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureGrad (global 4-component vector of int)
+0:32 textureGrad (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -295,7 +295,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureGrad (global 4-component vector of uint)
+0:33 textureGrad (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -308,7 +308,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureGrad (global 4-component vector of float)
+0:35 textureGrad (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -324,7 +324,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureGrad (global 4-component vector of int)
+0:36 textureGrad (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -340,7 +340,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureGrad (global 4-component vector of uint)
+0:37 textureGrad (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -356,7 +356,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureGrad (global 4-component vector of float)
+0:39 textureGrad (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -375,7 +375,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureGrad (global 4-component vector of int)
+0:40 textureGrad (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -394,7 +394,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureGrad (global 4-component vector of uint)
+0:41 textureGrad (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -413,7 +413,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:43 'txval40' (temp 4-component vector of float)
-0:43 textureGrad (global 4-component vector of float)
+0:43 textureGrad (temp 4-component vector of float)
0:43 Construct combined texture-sampler (temp samplerCube)
0:43 'g_tTexcdf4' (uniform textureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -432,7 +432,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of int)
0:44 'txval41' (temp 4-component vector of int)
-0:44 textureGrad (global 4-component vector of int)
+0:44 textureGrad (temp 4-component vector of int)
0:44 Construct combined texture-sampler (temp isamplerCube)
0:44 'g_tTexcdi4' (uniform itextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -451,7 +451,7 @@
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of uint)
0:45 'txval42' (temp 4-component vector of uint)
-0:45 textureGrad (global 4-component vector of uint)
+0:45 textureGrad (temp 4-component vector of uint)
0:45 Construct combined texture-sampler (temp usamplerCube)
0:45 'g_tTexcdu4' (uniform utextureCube)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
index e890934..2e79be3 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -7,7 +7,7 @@
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:30 'txval10' (temp 4-component vector of float)
-0:30 textureGrad (global 4-component vector of float)
+0:30 textureGrad (temp 4-component vector of float)
0:30 Construct combined texture-sampler (temp sampler1D)
0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -20,7 +20,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of int)
0:31 'txval11' (temp 4-component vector of int)
-0:31 textureGrad (global 4-component vector of int)
+0:31 textureGrad (temp 4-component vector of int)
0:31 Construct combined texture-sampler (temp isampler1D)
0:31 'g_tTex1di4' (uniform itexture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -33,7 +33,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of uint)
0:32 'txval12' (temp 4-component vector of uint)
-0:32 textureGrad (global 4-component vector of uint)
+0:32 textureGrad (temp 4-component vector of uint)
0:32 Construct combined texture-sampler (temp usampler1D)
0:32 'g_tTex1du4' (uniform utexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -46,7 +46,7 @@
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 'txval20' (temp 4-component vector of float)
-0:34 textureGrad (global 4-component vector of float)
+0:34 textureGrad (temp 4-component vector of float)
0:34 Construct combined texture-sampler (temp sampler2D)
0:34 'g_tTex2df4' (uniform texture2D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -62,7 +62,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of int)
0:35 'txval21' (temp 4-component vector of int)
-0:35 textureGrad (global 4-component vector of int)
+0:35 textureGrad (temp 4-component vector of int)
0:35 Construct combined texture-sampler (temp isampler2D)
0:35 'g_tTex2di4' (uniform itexture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -78,7 +78,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of uint)
0:36 'txval22' (temp 4-component vector of uint)
-0:36 textureGrad (global 4-component vector of uint)
+0:36 textureGrad (temp 4-component vector of uint)
0:36 Construct combined texture-sampler (temp usampler2D)
0:36 'g_tTex2du4' (uniform utexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -94,7 +94,7 @@
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of float)
0:38 'txval30' (temp 4-component vector of float)
-0:38 textureGrad (global 4-component vector of float)
+0:38 textureGrad (temp 4-component vector of float)
0:38 Construct combined texture-sampler (temp sampler3D)
0:38 'g_tTex3df4' (uniform texture3D)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -113,7 +113,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of int)
0:39 'txval31' (temp 4-component vector of int)
-0:39 textureGrad (global 4-component vector of int)
+0:39 textureGrad (temp 4-component vector of int)
0:39 Construct combined texture-sampler (temp isampler3D)
0:39 'g_tTex3di4' (uniform itexture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -132,7 +132,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of uint)
0:40 'txval32' (temp 4-component vector of uint)
-0:40 textureGrad (global 4-component vector of uint)
+0:40 textureGrad (temp 4-component vector of uint)
0:40 Construct combined texture-sampler (temp usampler3D)
0:40 'g_tTex3du4' (uniform utexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -151,7 +151,7 @@
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 'txval40' (temp 4-component vector of float)
-0:42 textureGrad (global 4-component vector of float)
+0:42 textureGrad (temp 4-component vector of float)
0:42 Construct combined texture-sampler (temp samplerCube)
0:42 'g_tTexcdf4' (uniform textureCube)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -170,7 +170,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 'txval41' (temp 4-component vector of int)
-0:43 textureGrad (global 4-component vector of int)
+0:43 textureGrad (temp 4-component vector of int)
0:43 Construct combined texture-sampler (temp isamplerCube)
0:43 'g_tTexcdi4' (uniform itextureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -189,7 +189,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 'txval42' (temp 4-component vector of uint)
-0:44 textureGrad (global 4-component vector of uint)
+0:44 textureGrad (temp 4-component vector of uint)
0:44 Construct combined texture-sampler (temp usamplerCube)
0:44 'g_tTexcdu4' (uniform utextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -253,7 +253,7 @@
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:30 'txval10' (temp 4-component vector of float)
-0:30 textureGrad (global 4-component vector of float)
+0:30 textureGrad (temp 4-component vector of float)
0:30 Construct combined texture-sampler (temp sampler1D)
0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -266,7 +266,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of int)
0:31 'txval11' (temp 4-component vector of int)
-0:31 textureGrad (global 4-component vector of int)
+0:31 textureGrad (temp 4-component vector of int)
0:31 Construct combined texture-sampler (temp isampler1D)
0:31 'g_tTex1di4' (uniform itexture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -279,7 +279,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of uint)
0:32 'txval12' (temp 4-component vector of uint)
-0:32 textureGrad (global 4-component vector of uint)
+0:32 textureGrad (temp 4-component vector of uint)
0:32 Construct combined texture-sampler (temp usampler1D)
0:32 'g_tTex1du4' (uniform utexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -292,7 +292,7 @@
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 'txval20' (temp 4-component vector of float)
-0:34 textureGrad (global 4-component vector of float)
+0:34 textureGrad (temp 4-component vector of float)
0:34 Construct combined texture-sampler (temp sampler2D)
0:34 'g_tTex2df4' (uniform texture2D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -308,7 +308,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of int)
0:35 'txval21' (temp 4-component vector of int)
-0:35 textureGrad (global 4-component vector of int)
+0:35 textureGrad (temp 4-component vector of int)
0:35 Construct combined texture-sampler (temp isampler2D)
0:35 'g_tTex2di4' (uniform itexture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -324,7 +324,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of uint)
0:36 'txval22' (temp 4-component vector of uint)
-0:36 textureGrad (global 4-component vector of uint)
+0:36 textureGrad (temp 4-component vector of uint)
0:36 Construct combined texture-sampler (temp usampler2D)
0:36 'g_tTex2du4' (uniform utexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -340,7 +340,7 @@
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of float)
0:38 'txval30' (temp 4-component vector of float)
-0:38 textureGrad (global 4-component vector of float)
+0:38 textureGrad (temp 4-component vector of float)
0:38 Construct combined texture-sampler (temp sampler3D)
0:38 'g_tTex3df4' (uniform texture3D)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -359,7 +359,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of int)
0:39 'txval31' (temp 4-component vector of int)
-0:39 textureGrad (global 4-component vector of int)
+0:39 textureGrad (temp 4-component vector of int)
0:39 Construct combined texture-sampler (temp isampler3D)
0:39 'g_tTex3di4' (uniform itexture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -378,7 +378,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of uint)
0:40 'txval32' (temp 4-component vector of uint)
-0:40 textureGrad (global 4-component vector of uint)
+0:40 textureGrad (temp 4-component vector of uint)
0:40 Construct combined texture-sampler (temp usampler3D)
0:40 'g_tTex3du4' (uniform utexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -397,7 +397,7 @@
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 'txval40' (temp 4-component vector of float)
-0:42 textureGrad (global 4-component vector of float)
+0:42 textureGrad (temp 4-component vector of float)
0:42 Construct combined texture-sampler (temp samplerCube)
0:42 'g_tTexcdf4' (uniform textureCube)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -416,7 +416,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 'txval41' (temp 4-component vector of int)
-0:43 textureGrad (global 4-component vector of int)
+0:43 textureGrad (temp 4-component vector of int)
0:43 Construct combined texture-sampler (temp isamplerCube)
0:43 'g_tTexcdi4' (uniform itextureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -435,7 +435,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 'txval42' (temp 4-component vector of uint)
-0:44 textureGrad (global 4-component vector of uint)
+0:44 textureGrad (temp 4-component vector of uint)
0:44 Construct combined texture-sampler (temp usamplerCube)
0:44 'g_tTexcdu4' (uniform utextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
index 9145aa4..7ef5e07 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -8,7 +8,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureGradOffset (global 4-component vector of float)
+0:31 textureGradOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -23,7 +23,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureGradOffset (global 4-component vector of int)
+0:32 textureGradOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -38,7 +38,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureGradOffset (global 4-component vector of uint)
+0:33 textureGradOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -53,7 +53,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureGradOffset (global 4-component vector of float)
+0:35 textureGradOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -72,7 +72,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureGradOffset (global 4-component vector of int)
+0:36 textureGradOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -91,7 +91,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureGradOffset (global 4-component vector of uint)
+0:37 textureGradOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -110,7 +110,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureGradOffset (global 4-component vector of float)
+0:39 textureGradOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -133,7 +133,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureGradOffset (global 4-component vector of int)
+0:40 textureGradOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -156,7 +156,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureGradOffset (global 4-component vector of uint)
+0:41 textureGradOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -239,7 +239,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureGradOffset (global 4-component vector of float)
+0:31 textureGradOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -254,7 +254,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureGradOffset (global 4-component vector of int)
+0:32 textureGradOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -269,7 +269,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureGradOffset (global 4-component vector of uint)
+0:33 textureGradOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -284,7 +284,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureGradOffset (global 4-component vector of float)
+0:35 textureGradOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -303,7 +303,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureGradOffset (global 4-component vector of int)
+0:36 textureGradOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -322,7 +322,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureGradOffset (global 4-component vector of uint)
+0:37 textureGradOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -341,7 +341,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureGradOffset (global 4-component vector of float)
+0:39 textureGradOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -364,7 +364,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureGradOffset (global 4-component vector of int)
+0:40 textureGradOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -387,7 +387,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureGradOffset (global 4-component vector of uint)
+0:41 textureGradOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
index e964ff9..2043f38 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -8,7 +8,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 textureGradOffset (global 4-component vector of float)
+0:27 textureGradOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -24,7 +24,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 textureGradOffset (global 4-component vector of int)
+0:28 textureGradOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -40,7 +40,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 textureGradOffset (global 4-component vector of uint)
+0:29 textureGradOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -56,7 +56,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 textureGradOffset (global 4-component vector of float)
+0:31 textureGradOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -76,7 +76,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 textureGradOffset (global 4-component vector of int)
+0:32 textureGradOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -96,7 +96,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 textureGradOffset (global 4-component vector of uint)
+0:33 textureGradOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -173,7 +173,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 textureGradOffset (global 4-component vector of float)
+0:27 textureGradOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -189,7 +189,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 textureGradOffset (global 4-component vector of int)
+0:28 textureGradOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -205,7 +205,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 textureGradOffset (global 4-component vector of uint)
+0:29 textureGradOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -221,7 +221,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 textureGradOffset (global 4-component vector of float)
+0:31 textureGradOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -241,7 +241,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 textureGradOffset (global 4-component vector of int)
+0:32 textureGradOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -261,7 +261,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 textureGradOffset (global 4-component vector of uint)
+0:33 textureGradOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
index d031665..351e2ed 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -8,7 +8,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 textureLod (global 4-component vector of float)
+0:27 textureLod (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -20,7 +20,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 textureLod (global 4-component vector of int)
+0:28 textureLod (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4a' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -32,7 +32,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 textureLod (global 4-component vector of uint)
+0:29 textureLod (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4a' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -44,7 +44,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 textureLod (global 4-component vector of float)
+0:31 textureLod (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4a' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -57,7 +57,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 textureLod (global 4-component vector of int)
+0:32 textureLod (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4a' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -70,7 +70,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 textureLod (global 4-component vector of uint)
+0:33 textureLod (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4a' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -83,7 +83,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 textureLod (global 4-component vector of float)
+0:35 textureLod (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4a' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -97,7 +97,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 textureLod (global 4-component vector of int)
+0:36 textureLod (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4a' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -111,7 +111,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 textureLod (global 4-component vector of uint)
+0:37 textureLod (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4a' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -182,7 +182,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval10' (temp 4-component vector of float)
-0:27 textureLod (global 4-component vector of float)
+0:27 textureLod (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler1DArray)
0:27 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -194,7 +194,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval11' (temp 4-component vector of int)
-0:28 textureLod (global 4-component vector of int)
+0:28 textureLod (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler1DArray)
0:28 'g_tTex1di4a' (uniform itexture1DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -206,7 +206,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval12' (temp 4-component vector of uint)
-0:29 textureLod (global 4-component vector of uint)
+0:29 textureLod (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler1DArray)
0:29 'g_tTex1du4a' (uniform utexture1DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -218,7 +218,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval20' (temp 4-component vector of float)
-0:31 textureLod (global 4-component vector of float)
+0:31 textureLod (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler2DArray)
0:31 'g_tTex2df4a' (uniform texture2DArray)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -231,7 +231,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval21' (temp 4-component vector of int)
-0:32 textureLod (global 4-component vector of int)
+0:32 textureLod (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler2DArray)
0:32 'g_tTex2di4a' (uniform itexture2DArray)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -244,7 +244,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval22' (temp 4-component vector of uint)
-0:33 textureLod (global 4-component vector of uint)
+0:33 textureLod (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler2DArray)
0:33 'g_tTex2du4a' (uniform utexture2DArray)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -257,7 +257,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval40' (temp 4-component vector of float)
-0:35 textureLod (global 4-component vector of float)
+0:35 textureLod (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp samplerCubeArray)
0:35 'g_tTexcdf4a' (uniform textureCubeArray)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -271,7 +271,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval41' (temp 4-component vector of int)
-0:36 textureLod (global 4-component vector of int)
+0:36 textureLod (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
0:36 'g_tTexcdi4a' (uniform itextureCubeArray)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -285,7 +285,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval42' (temp 4-component vector of uint)
-0:37 textureLod (global 4-component vector of uint)
+0:37 textureLod (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
0:37 'g_tTexcdu4a' (uniform utextureCubeArray)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
index 4a93750..d37090f 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -8,7 +8,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:32 'txval10' (temp 4-component vector of float)
-0:32 textureLod (global 4-component vector of float)
+0:32 textureLod (temp 4-component vector of float)
0:32 Construct combined texture-sampler (temp sampler1D)
0:32 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -19,7 +19,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of int)
0:33 'txval11' (temp 4-component vector of int)
-0:33 textureLod (global 4-component vector of int)
+0:33 textureLod (temp 4-component vector of int)
0:33 Construct combined texture-sampler (temp isampler1D)
0:33 'g_tTex1di4' (uniform itexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -30,7 +30,7 @@
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of uint)
0:34 'txval12' (temp 4-component vector of uint)
-0:34 textureLod (global 4-component vector of uint)
+0:34 textureLod (temp 4-component vector of uint)
0:34 Construct combined texture-sampler (temp usampler1D)
0:34 'g_tTex1du4' (uniform utexture1D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -41,7 +41,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of float)
0:36 'txval20' (temp 4-component vector of float)
-0:36 textureLod (global 4-component vector of float)
+0:36 textureLod (temp 4-component vector of float)
0:36 Construct combined texture-sampler (temp sampler2D)
0:36 'g_tTex2df4' (uniform texture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -53,7 +53,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of int)
0:37 'txval21' (temp 4-component vector of int)
-0:37 textureLod (global 4-component vector of int)
+0:37 textureLod (temp 4-component vector of int)
0:37 Construct combined texture-sampler (temp isampler2D)
0:37 'g_tTex2di4' (uniform itexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -65,7 +65,7 @@
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of uint)
0:38 'txval22' (temp 4-component vector of uint)
-0:38 textureLod (global 4-component vector of uint)
+0:38 textureLod (temp 4-component vector of uint)
0:38 Construct combined texture-sampler (temp usampler2D)
0:38 'g_tTex2du4' (uniform utexture2D)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -77,7 +77,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of float)
0:40 'txval30' (temp 4-component vector of float)
-0:40 textureLod (global 4-component vector of float)
+0:40 textureLod (temp 4-component vector of float)
0:40 Construct combined texture-sampler (temp sampler3D)
0:40 'g_tTex3df4' (uniform texture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -90,7 +90,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of int)
0:41 'txval31' (temp 4-component vector of int)
-0:41 textureLod (global 4-component vector of int)
+0:41 textureLod (temp 4-component vector of int)
0:41 Construct combined texture-sampler (temp isampler3D)
0:41 'g_tTex3di4' (uniform itexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -103,7 +103,7 @@
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of uint)
0:42 'txval32' (temp 4-component vector of uint)
-0:42 textureLod (global 4-component vector of uint)
+0:42 textureLod (temp 4-component vector of uint)
0:42 Construct combined texture-sampler (temp usampler3D)
0:42 'g_tTex3du4' (uniform utexture3D)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -116,7 +116,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of float)
0:44 'txval40' (temp 4-component vector of float)
-0:44 textureLod (global 4-component vector of float)
+0:44 textureLod (temp 4-component vector of float)
0:44 Construct combined texture-sampler (temp samplerCube)
0:44 'g_tTexcdf4' (uniform textureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -129,7 +129,7 @@
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of int)
0:45 'txval41' (temp 4-component vector of int)
-0:45 textureLod (global 4-component vector of int)
+0:45 textureLod (temp 4-component vector of int)
0:45 Construct combined texture-sampler (temp isamplerCube)
0:45 'g_tTexcdi4' (uniform itextureCube)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -142,7 +142,7 @@
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of uint)
0:46 'txval42' (temp 4-component vector of uint)
-0:46 textureLod (global 4-component vector of uint)
+0:46 textureLod (temp 4-component vector of uint)
0:46 Construct combined texture-sampler (temp usamplerCube)
0:46 'g_tTexcdu4' (uniform utextureCube)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -216,7 +216,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:32 'txval10' (temp 4-component vector of float)
-0:32 textureLod (global 4-component vector of float)
+0:32 textureLod (temp 4-component vector of float)
0:32 Construct combined texture-sampler (temp sampler1D)
0:32 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -227,7 +227,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of int)
0:33 'txval11' (temp 4-component vector of int)
-0:33 textureLod (global 4-component vector of int)
+0:33 textureLod (temp 4-component vector of int)
0:33 Construct combined texture-sampler (temp isampler1D)
0:33 'g_tTex1di4' (uniform itexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -238,7 +238,7 @@
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of uint)
0:34 'txval12' (temp 4-component vector of uint)
-0:34 textureLod (global 4-component vector of uint)
+0:34 textureLod (temp 4-component vector of uint)
0:34 Construct combined texture-sampler (temp usampler1D)
0:34 'g_tTex1du4' (uniform utexture1D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -249,7 +249,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of float)
0:36 'txval20' (temp 4-component vector of float)
-0:36 textureLod (global 4-component vector of float)
+0:36 textureLod (temp 4-component vector of float)
0:36 Construct combined texture-sampler (temp sampler2D)
0:36 'g_tTex2df4' (uniform texture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -261,7 +261,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of int)
0:37 'txval21' (temp 4-component vector of int)
-0:37 textureLod (global 4-component vector of int)
+0:37 textureLod (temp 4-component vector of int)
0:37 Construct combined texture-sampler (temp isampler2D)
0:37 'g_tTex2di4' (uniform itexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -273,7 +273,7 @@
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of uint)
0:38 'txval22' (temp 4-component vector of uint)
-0:38 textureLod (global 4-component vector of uint)
+0:38 textureLod (temp 4-component vector of uint)
0:38 Construct combined texture-sampler (temp usampler2D)
0:38 'g_tTex2du4' (uniform utexture2D)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -285,7 +285,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of float)
0:40 'txval30' (temp 4-component vector of float)
-0:40 textureLod (global 4-component vector of float)
+0:40 textureLod (temp 4-component vector of float)
0:40 Construct combined texture-sampler (temp sampler3D)
0:40 'g_tTex3df4' (uniform texture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -298,7 +298,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of int)
0:41 'txval31' (temp 4-component vector of int)
-0:41 textureLod (global 4-component vector of int)
+0:41 textureLod (temp 4-component vector of int)
0:41 Construct combined texture-sampler (temp isampler3D)
0:41 'g_tTex3di4' (uniform itexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -311,7 +311,7 @@
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of uint)
0:42 'txval32' (temp 4-component vector of uint)
-0:42 textureLod (global 4-component vector of uint)
+0:42 textureLod (temp 4-component vector of uint)
0:42 Construct combined texture-sampler (temp usampler3D)
0:42 'g_tTex3du4' (uniform utexture3D)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -324,7 +324,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of float)
0:44 'txval40' (temp 4-component vector of float)
-0:44 textureLod (global 4-component vector of float)
+0:44 textureLod (temp 4-component vector of float)
0:44 Construct combined texture-sampler (temp samplerCube)
0:44 'g_tTexcdf4' (uniform textureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -337,7 +337,7 @@
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of int)
0:45 'txval41' (temp 4-component vector of int)
-0:45 textureLod (global 4-component vector of int)
+0:45 textureLod (temp 4-component vector of int)
0:45 Construct combined texture-sampler (temp isamplerCube)
0:45 'g_tTexcdi4' (uniform itextureCube)
0:45 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -350,7 +350,7 @@
0:46 Sequence
0:46 move second child to first child (temp 4-component vector of uint)
0:46 'txval42' (temp 4-component vector of uint)
-0:46 textureLod (global 4-component vector of uint)
+0:46 textureLod (temp 4-component vector of uint)
0:46 Construct combined texture-sampler (temp usamplerCube)
0:46 'g_tTexcdu4' (uniform utextureCube)
0:46 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
index c18fa89..0438299 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -7,7 +7,7 @@
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:30 'txval10' (temp 4-component vector of float)
-0:30 textureLod (global 4-component vector of float)
+0:30 textureLod (temp 4-component vector of float)
0:30 Construct combined texture-sampler (temp sampler1D)
0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -18,7 +18,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of int)
0:31 'txval11' (temp 4-component vector of int)
-0:31 textureLod (global 4-component vector of int)
+0:31 textureLod (temp 4-component vector of int)
0:31 Construct combined texture-sampler (temp isampler1D)
0:31 'g_tTex1di4' (uniform itexture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -29,7 +29,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of uint)
0:32 'txval12' (temp 4-component vector of uint)
-0:32 textureLod (global 4-component vector of uint)
+0:32 textureLod (temp 4-component vector of uint)
0:32 Construct combined texture-sampler (temp usampler1D)
0:32 'g_tTex1du4' (uniform utexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -40,7 +40,7 @@
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 'txval20' (temp 4-component vector of float)
-0:34 textureLod (global 4-component vector of float)
+0:34 textureLod (temp 4-component vector of float)
0:34 Construct combined texture-sampler (temp sampler2D)
0:34 'g_tTex2df4' (uniform texture2D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -52,7 +52,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of int)
0:35 'txval21' (temp 4-component vector of int)
-0:35 textureLod (global 4-component vector of int)
+0:35 textureLod (temp 4-component vector of int)
0:35 Construct combined texture-sampler (temp isampler2D)
0:35 'g_tTex2di4' (uniform itexture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -64,7 +64,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of uint)
0:36 'txval22' (temp 4-component vector of uint)
-0:36 textureLod (global 4-component vector of uint)
+0:36 textureLod (temp 4-component vector of uint)
0:36 Construct combined texture-sampler (temp usampler2D)
0:36 'g_tTex2du4' (uniform utexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -76,7 +76,7 @@
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of float)
0:38 'txval30' (temp 4-component vector of float)
-0:38 textureLod (global 4-component vector of float)
+0:38 textureLod (temp 4-component vector of float)
0:38 Construct combined texture-sampler (temp sampler3D)
0:38 'g_tTex3df4' (uniform texture3D)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -89,7 +89,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of int)
0:39 'txval31' (temp 4-component vector of int)
-0:39 textureLod (global 4-component vector of int)
+0:39 textureLod (temp 4-component vector of int)
0:39 Construct combined texture-sampler (temp isampler3D)
0:39 'g_tTex3di4' (uniform itexture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -102,7 +102,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of uint)
0:40 'txval32' (temp 4-component vector of uint)
-0:40 textureLod (global 4-component vector of uint)
+0:40 textureLod (temp 4-component vector of uint)
0:40 Construct combined texture-sampler (temp usampler3D)
0:40 'g_tTex3du4' (uniform utexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -115,7 +115,7 @@
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 'txval40' (temp 4-component vector of float)
-0:42 textureLod (global 4-component vector of float)
+0:42 textureLod (temp 4-component vector of float)
0:42 Construct combined texture-sampler (temp samplerCube)
0:42 'g_tTexcdf4' (uniform textureCube)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -128,7 +128,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 'txval41' (temp 4-component vector of int)
-0:43 textureLod (global 4-component vector of int)
+0:43 textureLod (temp 4-component vector of int)
0:43 Construct combined texture-sampler (temp isamplerCube)
0:43 'g_tTexcdi4' (uniform itextureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -141,7 +141,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 'txval42' (temp 4-component vector of uint)
-0:44 textureLod (global 4-component vector of uint)
+0:44 textureLod (temp 4-component vector of uint)
0:44 Construct combined texture-sampler (temp usamplerCube)
0:44 'g_tTexcdu4' (uniform utextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -199,7 +199,7 @@
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:30 'txval10' (temp 4-component vector of float)
-0:30 textureLod (global 4-component vector of float)
+0:30 textureLod (temp 4-component vector of float)
0:30 Construct combined texture-sampler (temp sampler1D)
0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -210,7 +210,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of int)
0:31 'txval11' (temp 4-component vector of int)
-0:31 textureLod (global 4-component vector of int)
+0:31 textureLod (temp 4-component vector of int)
0:31 Construct combined texture-sampler (temp isampler1D)
0:31 'g_tTex1di4' (uniform itexture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -221,7 +221,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of uint)
0:32 'txval12' (temp 4-component vector of uint)
-0:32 textureLod (global 4-component vector of uint)
+0:32 textureLod (temp 4-component vector of uint)
0:32 Construct combined texture-sampler (temp usampler1D)
0:32 'g_tTex1du4' (uniform utexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -232,7 +232,7 @@
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 'txval20' (temp 4-component vector of float)
-0:34 textureLod (global 4-component vector of float)
+0:34 textureLod (temp 4-component vector of float)
0:34 Construct combined texture-sampler (temp sampler2D)
0:34 'g_tTex2df4' (uniform texture2D)
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -244,7 +244,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of int)
0:35 'txval21' (temp 4-component vector of int)
-0:35 textureLod (global 4-component vector of int)
+0:35 textureLod (temp 4-component vector of int)
0:35 Construct combined texture-sampler (temp isampler2D)
0:35 'g_tTex2di4' (uniform itexture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -256,7 +256,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of uint)
0:36 'txval22' (temp 4-component vector of uint)
-0:36 textureLod (global 4-component vector of uint)
+0:36 textureLod (temp 4-component vector of uint)
0:36 Construct combined texture-sampler (temp usampler2D)
0:36 'g_tTex2du4' (uniform utexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -268,7 +268,7 @@
0:38 Sequence
0:38 move second child to first child (temp 4-component vector of float)
0:38 'txval30' (temp 4-component vector of float)
-0:38 textureLod (global 4-component vector of float)
+0:38 textureLod (temp 4-component vector of float)
0:38 Construct combined texture-sampler (temp sampler3D)
0:38 'g_tTex3df4' (uniform texture3D)
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -281,7 +281,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of int)
0:39 'txval31' (temp 4-component vector of int)
-0:39 textureLod (global 4-component vector of int)
+0:39 textureLod (temp 4-component vector of int)
0:39 Construct combined texture-sampler (temp isampler3D)
0:39 'g_tTex3di4' (uniform itexture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -294,7 +294,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of uint)
0:40 'txval32' (temp 4-component vector of uint)
-0:40 textureLod (global 4-component vector of uint)
+0:40 textureLod (temp 4-component vector of uint)
0:40 Construct combined texture-sampler (temp usampler3D)
0:40 'g_tTex3du4' (uniform utexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -307,7 +307,7 @@
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 'txval40' (temp 4-component vector of float)
-0:42 textureLod (global 4-component vector of float)
+0:42 textureLod (temp 4-component vector of float)
0:42 Construct combined texture-sampler (temp samplerCube)
0:42 'g_tTexcdf4' (uniform textureCube)
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -320,7 +320,7 @@
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 'txval41' (temp 4-component vector of int)
-0:43 textureLod (global 4-component vector of int)
+0:43 textureLod (temp 4-component vector of int)
0:43 Construct combined texture-sampler (temp isamplerCube)
0:43 'g_tTexcdi4' (uniform itextureCube)
0:43 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -333,7 +333,7 @@
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 'txval42' (temp 4-component vector of uint)
-0:44 textureLod (global 4-component vector of uint)
+0:44 textureLod (temp 4-component vector of uint)
0:44 Construct combined texture-sampler (temp usamplerCube)
0:44 'g_tTexcdu4' (uniform utextureCube)
0:44 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
index 4d81649..0f0f968 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -8,7 +8,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureLodOffset (global 4-component vector of float)
+0:31 textureLodOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -21,7 +21,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureLodOffset (global 4-component vector of int)
+0:32 textureLodOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -34,7 +34,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureLodOffset (global 4-component vector of uint)
+0:33 textureLodOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -47,7 +47,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureLodOffset (global 4-component vector of float)
+0:35 textureLodOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -62,7 +62,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureLodOffset (global 4-component vector of int)
+0:36 textureLodOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -77,7 +77,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureLodOffset (global 4-component vector of uint)
+0:37 textureLodOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -92,7 +92,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureLodOffset (global 4-component vector of float)
+0:39 textureLodOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -109,7 +109,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureLodOffset (global 4-component vector of int)
+0:40 textureLodOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -126,7 +126,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureLodOffset (global 4-component vector of uint)
+0:41 textureLodOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -203,7 +203,7 @@
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:31 'txval10' (temp 4-component vector of float)
-0:31 textureLodOffset (global 4-component vector of float)
+0:31 textureLodOffset (temp 4-component vector of float)
0:31 Construct combined texture-sampler (temp sampler1D)
0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -216,7 +216,7 @@
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of int)
0:32 'txval11' (temp 4-component vector of int)
-0:32 textureLodOffset (global 4-component vector of int)
+0:32 textureLodOffset (temp 4-component vector of int)
0:32 Construct combined texture-sampler (temp isampler1D)
0:32 'g_tTex1di4' (uniform itexture1D)
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -229,7 +229,7 @@
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of uint)
0:33 'txval12' (temp 4-component vector of uint)
-0:33 textureLodOffset (global 4-component vector of uint)
+0:33 textureLodOffset (temp 4-component vector of uint)
0:33 Construct combined texture-sampler (temp usampler1D)
0:33 'g_tTex1du4' (uniform utexture1D)
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -242,7 +242,7 @@
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:35 'txval20' (temp 4-component vector of float)
-0:35 textureLodOffset (global 4-component vector of float)
+0:35 textureLodOffset (temp 4-component vector of float)
0:35 Construct combined texture-sampler (temp sampler2D)
0:35 'g_tTex2df4' (uniform texture2D)
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -257,7 +257,7 @@
0:36 Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:36 'txval21' (temp 4-component vector of int)
-0:36 textureLodOffset (global 4-component vector of int)
+0:36 textureLodOffset (temp 4-component vector of int)
0:36 Construct combined texture-sampler (temp isampler2D)
0:36 'g_tTex2di4' (uniform itexture2D)
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -272,7 +272,7 @@
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of uint)
0:37 'txval22' (temp 4-component vector of uint)
-0:37 textureLodOffset (global 4-component vector of uint)
+0:37 textureLodOffset (temp 4-component vector of uint)
0:37 Construct combined texture-sampler (temp usampler2D)
0:37 'g_tTex2du4' (uniform utexture2D)
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -287,7 +287,7 @@
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 'txval30' (temp 4-component vector of float)
-0:39 textureLodOffset (global 4-component vector of float)
+0:39 textureLodOffset (temp 4-component vector of float)
0:39 Construct combined texture-sampler (temp sampler3D)
0:39 'g_tTex3df4' (uniform texture3D)
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -304,7 +304,7 @@
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 'txval31' (temp 4-component vector of int)
-0:40 textureLodOffset (global 4-component vector of int)
+0:40 textureLodOffset (temp 4-component vector of int)
0:40 Construct combined texture-sampler (temp isampler3D)
0:40 'g_tTex3di4' (uniform itexture3D)
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -321,7 +321,7 @@
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 'txval32' (temp 4-component vector of uint)
-0:41 textureLodOffset (global 4-component vector of uint)
+0:41 textureLodOffset (temp 4-component vector of uint)
0:41 Construct combined texture-sampler (temp usampler3D)
0:41 'g_tTex3du4' (uniform utexture3D)
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
index ef3dcf1..8eb74cd 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -8,7 +8,7 @@
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
-0:23 textureLodOffset (global 4-component vector of float)
+0:23 textureLodOffset (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -22,7 +22,7 @@
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
-0:24 textureLodOffset (global 4-component vector of int)
+0:24 textureLodOffset (temp 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -36,7 +36,7 @@
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
-0:25 textureLodOffset (global 4-component vector of uint)
+0:25 textureLodOffset (temp 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -50,7 +50,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
-0:27 textureLodOffset (global 4-component vector of float)
+0:27 textureLodOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -66,7 +66,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
-0:28 textureLodOffset (global 4-component vector of int)
+0:28 textureLodOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -82,7 +82,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
-0:29 textureLodOffset (global 4-component vector of uint)
+0:29 textureLodOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -152,7 +152,7 @@
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'txval10' (temp 4-component vector of float)
-0:23 textureLodOffset (global 4-component vector of float)
+0:23 textureLodOffset (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1DArray)
0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -166,7 +166,7 @@
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of int)
0:24 'txval11' (temp 4-component vector of int)
-0:24 textureLodOffset (global 4-component vector of int)
+0:24 textureLodOffset (temp 4-component vector of int)
0:24 Construct combined texture-sampler (temp isampler1DArray)
0:24 'g_tTex1di4' (uniform itexture1DArray)
0:24 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -180,7 +180,7 @@
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of uint)
0:25 'txval12' (temp 4-component vector of uint)
-0:25 textureLodOffset (global 4-component vector of uint)
+0:25 textureLodOffset (temp 4-component vector of uint)
0:25 Construct combined texture-sampler (temp usampler1DArray)
0:25 'g_tTex1du4' (uniform utexture1DArray)
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -194,7 +194,7 @@
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 'txval20' (temp 4-component vector of float)
-0:27 textureLodOffset (global 4-component vector of float)
+0:27 textureLodOffset (temp 4-component vector of float)
0:27 Construct combined texture-sampler (temp sampler2DArray)
0:27 'g_tTex2df4' (uniform texture2DArray)
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -210,7 +210,7 @@
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of int)
0:28 'txval21' (temp 4-component vector of int)
-0:28 textureLodOffset (global 4-component vector of int)
+0:28 textureLodOffset (temp 4-component vector of int)
0:28 Construct combined texture-sampler (temp isampler2DArray)
0:28 'g_tTex2di4' (uniform itexture2DArray)
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -226,7 +226,7 @@
0:29 Sequence
0:29 move second child to first child (temp 4-component vector of uint)
0:29 'txval22' (temp 4-component vector of uint)
-0:29 textureLodOffset (global 4-component vector of uint)
+0:29 textureLodOffset (temp 4-component vector of uint)
0:29 Construct combined texture-sampler (temp usampler2DArray)
0:29 'g_tTex2du4' (uniform utexture2DArray)
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
index 04117d7..5fef959 100755
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -16,10 +16,7 @@
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:40 move second child to first child (temp 4-component vector of float)
0:40 i: direct index for structure (temp 4-component vector of float)
-0:40 s2: direct index for structure (layout(offset=48 ) uniform structure{temp 4-component vector of float i})
-0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
-0:40 Constant:
-0:40 1 (const uint)
+0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant:
0:40 0 (const int)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
@@ -29,8 +26,9 @@
0:42 'input' (layout(location=0 ) in 4-component vector of float)
0:42 Branch: Return
0:? Linker Objects
+0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a' (layout(location=1 ) smooth in 4-component vector of float)
0:? 'b' (layout(location=2 ) flat in bool)
@@ -58,10 +56,7 @@
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:40 move second child to first child (temp 4-component vector of float)
0:40 i: direct index for structure (temp 4-component vector of float)
-0:40 s2: direct index for structure (layout(offset=48 ) uniform structure{temp 4-component vector of float i})
-0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
-0:40 Constant:
-0:40 1 (const uint)
+0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant:
0:40 0 (const int)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
@@ -71,8 +66,9 @@
0:42 'input' (layout(location=0 ) in 4-component vector of float)
0:42 Branch: Return
0:? Linker Objects
+0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a' (layout(location=1 ) smooth in 4-component vector of float)
0:? 'b' (layout(location=2 ) flat in bool)
@@ -90,28 +86,28 @@
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "PixelShaderFunction" 29 34 35 38 40 42 45 46 47 48
+ EntryPoint Fragment 4 "PixelShaderFunction" 25 30 31 38 40 42 45 46 47 48
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "FS"
MemberName 8(FS) 0 "b3"
Name 10 "s3"
- Name 20 "myS"
- MemberName 20(myS) 0 "b"
- MemberName 20(myS) 1 "c"
- MemberName 20(myS) 2 "a"
- MemberName 20(myS) 3 "d"
- Name 21 ""
- MemberName 21 0 "i"
- Name 22 "$Global"
- MemberName 22($Global) 0 "s1"
- MemberName 22($Global) 1 "s2"
- MemberName 22($Global) 2 "ff5"
- MemberName 22($Global) 3 "ff6"
- Name 24 ""
- Name 29 "ff4"
- Name 34 "@entryPointOutput"
- Name 35 "input"
+ Name 19 ""
+ MemberName 19 0 "i"
+ Name 21 "s2"
+ Name 25 "ff4"
+ Name 30 "@entryPointOutput"
+ Name 31 "input"
+ Name 34 "myS"
+ MemberName 34(myS) 0 "b"
+ MemberName 34(myS) 1 "c"
+ MemberName 34(myS) 2 "a"
+ MemberName 34(myS) 3 "d"
+ Name 35 "$Global"
+ MemberName 35($Global) 0 "s1"
+ MemberName 35($Global) 1 "ff5"
+ MemberName 35($Global) 2 "ff6"
+ Name 37 ""
Name 38 "a"
Name 40 "b"
Name 42 "c"
@@ -119,22 +115,13 @@
Name 46 "ff1"
Name 47 "ff2"
Name 48 "ff3"
- MemberDecorate 20(myS) 0 Offset 0
- MemberDecorate 20(myS) 1 Offset 4
- MemberDecorate 20(myS) 2 Offset 16
- MemberDecorate 20(myS) 3 Offset 32
- MemberDecorate 21 0 Offset 0
- MemberDecorate 22($Global) 0 Offset 0
- MemberDecorate 22($Global) 1 Offset 48
- MemberDecorate 22($Global) 2 Offset 1620
- MemberDecorate 22($Global) 3 Offset 1636
- Decorate 22($Global) Block
- Decorate 24 DescriptorSet 0
- Decorate 29(ff4) Offset 4
- Decorate 29(ff4) Location 7
- Decorate 29(ff4) Binding 0
- Decorate 34(@entryPointOutput) Location 0
- Decorate 35(input) Location 0
+ Decorate 25(ff4) Offset 4
+ Decorate 25(ff4) Location 7
+ Decorate 25(ff4) Binding 0
+ Decorate 30(@entryPointOutput) Location 0
+ Decorate 31(input) Location 0
+ Decorate 35($Global) Block
+ Decorate 37 DescriptorSet 0
Decorate 38(a) Location 1
Decorate 40(b) Flat
Decorate 40(b) Location 2
@@ -155,29 +142,29 @@
7: TypeVector 6(bool) 3
8(FS): TypeStruct 7(bvec3)
9: TypePointer Function 8(FS)
- 17: TypeInt 32 0
- 18: TypeFloat 32
- 19: TypeVector 18(float) 4
- 20(myS): TypeStruct 17(int) 17(int) 19(fvec4) 19(fvec4)
- 21: TypeStruct 19(fvec4)
- 22($Global): TypeStruct 20(myS) 21(struct) 18(float) 18(float)
- 23: TypePointer Uniform 22($Global)
- 24: 23(ptr) Variable Uniform
- 25: TypeInt 32 1
- 26: 25(int) Constant 1
- 27: 25(int) Constant 0
- 28: TypePointer Input 19(fvec4)
- 29(ff4): 28(ptr) Variable Input
- 31: TypePointer Uniform 19(fvec4)
- 33: TypePointer Output 19(fvec4)
-34(@entryPointOutput): 33(ptr) Variable Output
- 35(input): 28(ptr) Variable Input
- 38(a): 28(ptr) Variable Input
+ 17: TypeFloat 32
+ 18: TypeVector 17(float) 4
+ 19: TypeStruct 18(fvec4)
+ 20: TypePointer Private 19(struct)
+ 21(s2): 20(ptr) Variable Private
+ 22: TypeInt 32 1
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 18(fvec4)
+ 25(ff4): 24(ptr) Variable Input
+ 27: TypePointer Private 18(fvec4)
+ 29: TypePointer Output 18(fvec4)
+30(@entryPointOutput): 29(ptr) Variable Output
+ 31(input): 24(ptr) Variable Input
+ 34(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4)
+ 35($Global): TypeStruct 34(myS) 17(float) 17(float)
+ 36: TypePointer Uniform 35($Global)
+ 37: 36(ptr) Variable Uniform
+ 38(a): 24(ptr) Variable Input
39: TypePointer Input 6(bool)
40(b): 39(ptr) Variable Input
- 41: TypePointer Input 18(float)
+ 41: TypePointer Input 17(float)
42(c): 41(ptr) Variable Input
- 43: TypeVector 18(float) 2
+ 43: TypeVector 17(float) 2
44: TypePointer Input 43(fvec2)
45(d): 44(ptr) Variable Input
46(ff1): 39(ptr) Variable Input
@@ -192,10 +179,10 @@
14: 7(bvec3) CompositeExtract 12 0
15: 7(bvec3) LogicalEqual 13 14
16: 6(bool) All 15
- 30: 19(fvec4) Load 29(ff4)
- 32: 31(ptr) AccessChain 24 26 27
- Store 32 30
- 36: 19(fvec4) Load 35(input)
- Store 34(@entryPointOutput) 36
+ 26: 18(fvec4) Load 25(ff4)
+ 28: 27(ptr) AccessChain 21(s2) 23
+ Store 28 26
+ 32: 18(fvec4) Load 31(input)
+ Store 30(@entryPointOutput) 32
Return
FunctionEnd
diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out
new file mode 100644
index 0000000..0769cde
--- /dev/null
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -0,0 +1,702 @@
+hlsl.tx.bracket.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:38 Function Definition: Fn1(vi4; (temp 4-component vector of int)
+0:38 Function Parameters:
+0:38 'x' (in 4-component vector of int)
+0:? Sequence
+0:38 Branch: Return with expression
+0:38 'x' (in 4-component vector of int)
+0:39 Function Definition: Fn1(vu4; (temp 4-component vector of uint)
+0:39 Function Parameters:
+0:39 'x' (in 4-component vector of uint)
+0:? Sequence
+0:39 Branch: Return with expression
+0:39 'x' (in 4-component vector of uint)
+0:40 Function Definition: Fn1(vf4; (temp 4-component vector of float)
+0:40 Function Parameters:
+0:40 'x' (in 4-component vector of float)
+0:? Sequence
+0:40 Branch: Return with expression
+0:40 'x' (in 4-component vector of float)
+0:42 Function Definition: SomeValue( (temp 4-component vector of float)
+0:42 Function Parameters:
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 Convert int to float (temp 4-component vector of float)
+0:42 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
+0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:42 Constant:
+0:42 3 (const uint)
+0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:45 Function Parameters:
+0:? Sequence
+0:49 textureFetch (temp 4-component vector of float)
+0:49 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:49 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 Constant:
+0:49 0 (const int)
+0:51 Sequence
+0:51 move second child to first child (temp 4-component vector of float)
+0:51 'r00' (temp 4-component vector of float)
+0:51 textureFetch (temp 4-component vector of float)
+0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:51 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:51 Constant:
+0:51 0 (const uint)
+0:51 Constant:
+0:51 0 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp 4-component vector of int)
+0:52 'r01' (temp 4-component vector of int)
+0:52 textureFetch (temp 4-component vector of int)
+0:52 'g_tTex1di4' (uniform itexture1D)
+0:52 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:52 Constant:
+0:52 0 (const uint)
+0:52 Constant:
+0:52 0 (const int)
+0:53 Sequence
+0:53 move second child to first child (temp 4-component vector of uint)
+0:53 'r02' (temp 4-component vector of uint)
+0:53 textureFetch (temp 4-component vector of uint)
+0:53 'g_tTex1du4' (uniform utexture1D)
+0:53 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:53 Constant:
+0:53 0 (const uint)
+0:53 Constant:
+0:53 0 (const int)
+0:56 Sequence
+0:56 move second child to first child (temp 4-component vector of float)
+0:56 'r10' (temp 4-component vector of float)
+0:56 textureFetch (temp 4-component vector of float)
+0:56 'g_tTex2df4' (uniform texture2D)
+0:56 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:56 Constant:
+0:56 1 (const uint)
+0:56 Constant:
+0:56 0 (const int)
+0:57 Sequence
+0:57 move second child to first child (temp 4-component vector of int)
+0:57 'r11' (temp 4-component vector of int)
+0:57 textureFetch (temp 4-component vector of int)
+0:57 'g_tTex2di4' (uniform itexture2D)
+0:57 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:57 Constant:
+0:57 1 (const uint)
+0:57 Constant:
+0:57 0 (const int)
+0:58 Sequence
+0:58 move second child to first child (temp 4-component vector of uint)
+0:58 'r12' (temp 4-component vector of uint)
+0:58 textureFetch (temp 4-component vector of uint)
+0:58 'g_tTex2du4' (uniform utexture2D)
+0:58 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:58 Constant:
+0:58 1 (const uint)
+0:58 Constant:
+0:58 0 (const int)
+0:61 Sequence
+0:61 move second child to first child (temp 4-component vector of float)
+0:61 'r20' (temp 4-component vector of float)
+0:61 textureFetch (temp 4-component vector of float)
+0:61 'g_tTex3df4' (uniform texture3D)
+0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:61 Constant:
+0:61 2 (const uint)
+0:61 Constant:
+0:61 0 (const int)
+0:62 Sequence
+0:62 move second child to first child (temp 4-component vector of int)
+0:62 'r21' (temp 4-component vector of int)
+0:62 textureFetch (temp 4-component vector of int)
+0:62 'g_tTex3di4' (uniform itexture3D)
+0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:62 Constant:
+0:62 2 (const uint)
+0:62 Constant:
+0:62 0 (const int)
+0:63 Sequence
+0:63 move second child to first child (temp 4-component vector of uint)
+0:63 'r22' (temp 4-component vector of uint)
+0:63 textureFetch (temp 4-component vector of uint)
+0:63 'g_tTex3du4' (uniform utexture3D)
+0:63 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:63 Constant:
+0:63 2 (const uint)
+0:63 Constant:
+0:63 0 (const int)
+0:66 Function Call: Fn1(vf4; (temp 4-component vector of float)
+0:66 textureFetch (temp 4-component vector of float)
+0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:66 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:66 Constant:
+0:66 0 (const uint)
+0:66 Constant:
+0:66 0 (const int)
+0:67 Function Call: Fn1(vi4; (temp 4-component vector of int)
+0:67 textureFetch (temp 4-component vector of int)
+0:67 'g_tTex1di4' (uniform itexture1D)
+0:67 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:67 Constant:
+0:67 0 (const uint)
+0:67 Constant:
+0:67 0 (const int)
+0:68 Function Call: Fn1(vu4; (temp 4-component vector of uint)
+0:68 textureFetch (temp 4-component vector of uint)
+0:68 'g_tTex1du4' (uniform utexture1D)
+0:68 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:68 Constant:
+0:68 0 (const uint)
+0:68 Constant:
+0:68 0 (const int)
+0:70 move second child to first child (temp 4-component vector of float)
+0:70 Color: direct index for structure (temp 4-component vector of float)
+0:70 'psout' (temp structure{temp 4-component vector of float Color})
+0:70 Constant:
+0:70 0 (const int)
+0:70 Constant:
+0:70 1.000000
+0:70 1.000000
+0:70 1.000000
+0:70 1.000000
+0:72 Sequence
+0:72 Sequence
+0:72 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:72 Color: direct index for structure (temp 4-component vector of float)
+0:72 'psout' (temp structure{temp 4-component vector of float Color})
+0:72 Constant:
+0:72 0 (const int)
+0:72 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:? 'g_tTex1di4' (uniform itexture1D)
+0:? 'g_tTex1du4' (uniform utexture1D)
+0:? 'g_tTex2df4' (uniform texture2D)
+0:? 'g_tTex2di4' (uniform itexture2D)
+0:? 'g_tTex2du4' (uniform utexture2D)
+0:? 'g_tTex3df4' (uniform texture3D)
+0:? 'g_tTex3di4' (uniform itexture3D)
+0:? 'g_tTex3du4' (uniform utexture3D)
+0:? 'g_tTex1df4a' (uniform texture1DArray)
+0:? 'g_tTex1di4a' (uniform itexture1DArray)
+0:? 'g_tTex1du4a' (uniform utexture1DArray)
+0:? 'g_tTex2df4a' (uniform texture2DArray)
+0:? 'g_tTex2di4a' (uniform itexture2DArray)
+0:? 'g_tTex2du4a' (uniform utexture2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:38 Function Definition: Fn1(vi4; (temp 4-component vector of int)
+0:38 Function Parameters:
+0:38 'x' (in 4-component vector of int)
+0:? Sequence
+0:38 Branch: Return with expression
+0:38 'x' (in 4-component vector of int)
+0:39 Function Definition: Fn1(vu4; (temp 4-component vector of uint)
+0:39 Function Parameters:
+0:39 'x' (in 4-component vector of uint)
+0:? Sequence
+0:39 Branch: Return with expression
+0:39 'x' (in 4-component vector of uint)
+0:40 Function Definition: Fn1(vf4; (temp 4-component vector of float)
+0:40 Function Parameters:
+0:40 'x' (in 4-component vector of float)
+0:? Sequence
+0:40 Branch: Return with expression
+0:40 'x' (in 4-component vector of float)
+0:42 Function Definition: SomeValue( (temp 4-component vector of float)
+0:42 Function Parameters:
+0:? Sequence
+0:42 Branch: Return with expression
+0:42 Convert int to float (temp 4-component vector of float)
+0:42 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
+0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:42 Constant:
+0:42 3 (const uint)
+0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:45 Function Parameters:
+0:? Sequence
+0:49 textureFetch (temp 4-component vector of float)
+0:49 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:49 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 Constant:
+0:49 0 (const int)
+0:51 Sequence
+0:51 move second child to first child (temp 4-component vector of float)
+0:51 'r00' (temp 4-component vector of float)
+0:51 textureFetch (temp 4-component vector of float)
+0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:51 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:51 Constant:
+0:51 0 (const uint)
+0:51 Constant:
+0:51 0 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp 4-component vector of int)
+0:52 'r01' (temp 4-component vector of int)
+0:52 textureFetch (temp 4-component vector of int)
+0:52 'g_tTex1di4' (uniform itexture1D)
+0:52 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:52 Constant:
+0:52 0 (const uint)
+0:52 Constant:
+0:52 0 (const int)
+0:53 Sequence
+0:53 move second child to first child (temp 4-component vector of uint)
+0:53 'r02' (temp 4-component vector of uint)
+0:53 textureFetch (temp 4-component vector of uint)
+0:53 'g_tTex1du4' (uniform utexture1D)
+0:53 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:53 Constant:
+0:53 0 (const uint)
+0:53 Constant:
+0:53 0 (const int)
+0:56 Sequence
+0:56 move second child to first child (temp 4-component vector of float)
+0:56 'r10' (temp 4-component vector of float)
+0:56 textureFetch (temp 4-component vector of float)
+0:56 'g_tTex2df4' (uniform texture2D)
+0:56 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:56 Constant:
+0:56 1 (const uint)
+0:56 Constant:
+0:56 0 (const int)
+0:57 Sequence
+0:57 move second child to first child (temp 4-component vector of int)
+0:57 'r11' (temp 4-component vector of int)
+0:57 textureFetch (temp 4-component vector of int)
+0:57 'g_tTex2di4' (uniform itexture2D)
+0:57 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:57 Constant:
+0:57 1 (const uint)
+0:57 Constant:
+0:57 0 (const int)
+0:58 Sequence
+0:58 move second child to first child (temp 4-component vector of uint)
+0:58 'r12' (temp 4-component vector of uint)
+0:58 textureFetch (temp 4-component vector of uint)
+0:58 'g_tTex2du4' (uniform utexture2D)
+0:58 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:58 Constant:
+0:58 1 (const uint)
+0:58 Constant:
+0:58 0 (const int)
+0:61 Sequence
+0:61 move second child to first child (temp 4-component vector of float)
+0:61 'r20' (temp 4-component vector of float)
+0:61 textureFetch (temp 4-component vector of float)
+0:61 'g_tTex3df4' (uniform texture3D)
+0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:61 Constant:
+0:61 2 (const uint)
+0:61 Constant:
+0:61 0 (const int)
+0:62 Sequence
+0:62 move second child to first child (temp 4-component vector of int)
+0:62 'r21' (temp 4-component vector of int)
+0:62 textureFetch (temp 4-component vector of int)
+0:62 'g_tTex3di4' (uniform itexture3D)
+0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:62 Constant:
+0:62 2 (const uint)
+0:62 Constant:
+0:62 0 (const int)
+0:63 Sequence
+0:63 move second child to first child (temp 4-component vector of uint)
+0:63 'r22' (temp 4-component vector of uint)
+0:63 textureFetch (temp 4-component vector of uint)
+0:63 'g_tTex3du4' (uniform utexture3D)
+0:63 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:63 Constant:
+0:63 2 (const uint)
+0:63 Constant:
+0:63 0 (const int)
+0:66 Function Call: Fn1(vf4; (temp 4-component vector of float)
+0:66 textureFetch (temp 4-component vector of float)
+0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:66 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:66 Constant:
+0:66 0 (const uint)
+0:66 Constant:
+0:66 0 (const int)
+0:67 Function Call: Fn1(vi4; (temp 4-component vector of int)
+0:67 textureFetch (temp 4-component vector of int)
+0:67 'g_tTex1di4' (uniform itexture1D)
+0:67 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:67 Constant:
+0:67 0 (const uint)
+0:67 Constant:
+0:67 0 (const int)
+0:68 Function Call: Fn1(vu4; (temp 4-component vector of uint)
+0:68 textureFetch (temp 4-component vector of uint)
+0:68 'g_tTex1du4' (uniform utexture1D)
+0:68 c1: direct index for structure (layout(offset=0 ) uniform int)
+0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:68 Constant:
+0:68 0 (const uint)
+0:68 Constant:
+0:68 0 (const int)
+0:70 move second child to first child (temp 4-component vector of float)
+0:70 Color: direct index for structure (temp 4-component vector of float)
+0:70 'psout' (temp structure{temp 4-component vector of float Color})
+0:70 Constant:
+0:70 0 (const int)
+0:70 Constant:
+0:70 1.000000
+0:70 1.000000
+0:70 1.000000
+0:70 1.000000
+0:72 Sequence
+0:72 Sequence
+0:72 move second child to first child (temp 4-component vector of float)
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+0:72 Color: direct index for structure (temp 4-component vector of float)
+0:72 'psout' (temp structure{temp 4-component vector of float Color})
+0:72 Constant:
+0:72 0 (const int)
+0:72 Branch: Return
+0:? Linker Objects
+0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
+0:? 'g_tTex1di4' (uniform itexture1D)
+0:? 'g_tTex1du4' (uniform utexture1D)
+0:? 'g_tTex2df4' (uniform texture2D)
+0:? 'g_tTex2di4' (uniform itexture2D)
+0:? 'g_tTex2du4' (uniform utexture2D)
+0:? 'g_tTex3df4' (uniform texture3D)
+0:? 'g_tTex3di4' (uniform itexture3D)
+0:? 'g_tTex3du4' (uniform utexture3D)
+0:? 'g_tTex1df4a' (uniform texture1DArray)
+0:? 'g_tTex1di4a' (uniform itexture1DArray)
+0:? 'g_tTex1du4a' (uniform utexture1DArray)
+0:? 'g_tTex2df4a' (uniform texture2DArray)
+0:? 'g_tTex2di4a' (uniform itexture2DArray)
+0:? 'g_tTex2du4a' (uniform utexture2DArray)
+0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:? 'Color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 183
+
+ Capability Shader
+ Capability Sampled1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 158
+ ExecutionMode 4 OriginUpperLeft
+ Name 4 "main"
+ Name 11 "Fn1(vi4;"
+ Name 10 "x"
+ Name 18 "Fn1(vu4;"
+ Name 17 "x"
+ Name 25 "Fn1(vf4;"
+ Name 24 "x"
+ Name 28 "SomeValue("
+ Name 41 "$Global"
+ MemberName 41($Global) 0 "c1"
+ MemberName 41($Global) 1 "c2"
+ MemberName 41($Global) 2 "c3"
+ MemberName 41($Global) 3 "c4"
+ MemberName 41($Global) 4 "o1"
+ MemberName 41($Global) 5 "o2"
+ MemberName 41($Global) 6 "o3"
+ MemberName 41($Global) 7 "o4"
+ Name 43 ""
+ Name 53 "g_tTex1df4"
+ Name 60 "r00"
+ Name 65 "r01"
+ Name 68 "g_tTex1di4"
+ Name 73 "r02"
+ Name 76 "g_tTex1du4"
+ Name 81 "r10"
+ Name 84 "g_tTex2df4"
+ Name 91 "r11"
+ Name 94 "g_tTex2di4"
+ Name 99 "r12"
+ Name 102 "g_tTex2du4"
+ Name 107 "r20"
+ Name 110 "g_tTex3df4"
+ Name 117 "r21"
+ Name 120 "g_tTex3di4"
+ Name 125 "r22"
+ Name 128 "g_tTex3du4"
+ Name 137 "param"
+ Name 143 "param"
+ Name 149 "param"
+ Name 151 "PS_OUTPUT"
+ MemberName 151(PS_OUTPUT) 0 "Color"
+ Name 153 "psout"
+ Name 158 "Color"
+ Name 164 "g_sSamp"
+ Name 167 "g_tTex1df4a"
+ Name 170 "g_tTex1di4a"
+ Name 173 "g_tTex1du4a"
+ Name 176 "g_tTex2df4a"
+ Name 179 "g_tTex2di4a"
+ Name 182 "g_tTex2du4a"
+ MemberDecorate 41($Global) 0 Offset 0
+ MemberDecorate 41($Global) 1 Offset 8
+ MemberDecorate 41($Global) 2 Offset 16
+ MemberDecorate 41($Global) 3 Offset 32
+ MemberDecorate 41($Global) 4 Offset 48
+ MemberDecorate 41($Global) 5 Offset 56
+ MemberDecorate 41($Global) 6 Offset 64
+ MemberDecorate 41($Global) 7 Offset 80
+ Decorate 41($Global) Block
+ Decorate 43 DescriptorSet 0
+ Decorate 53(g_tTex1df4) DescriptorSet 0
+ Decorate 53(g_tTex1df4) Binding 0
+ Decorate 68(g_tTex1di4) DescriptorSet 0
+ Decorate 76(g_tTex1du4) DescriptorSet 0
+ Decorate 84(g_tTex2df4) DescriptorSet 0
+ Decorate 94(g_tTex2di4) DescriptorSet 0
+ Decorate 102(g_tTex2du4) DescriptorSet 0
+ Decorate 110(g_tTex3df4) DescriptorSet 0
+ Decorate 120(g_tTex3di4) DescriptorSet 0
+ Decorate 128(g_tTex3du4) DescriptorSet 0
+ Decorate 158(Color) Location 0
+ Decorate 164(g_sSamp) DescriptorSet 0
+ Decorate 164(g_sSamp) Binding 0
+ Decorate 167(g_tTex1df4a) DescriptorSet 0
+ Decorate 170(g_tTex1di4a) DescriptorSet 0
+ Decorate 173(g_tTex1du4a) DescriptorSet 0
+ Decorate 176(g_tTex2df4a) DescriptorSet 0
+ Decorate 179(g_tTex2di4a) DescriptorSet 0
+ Decorate 182(g_tTex2du4a) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 4
+ 8: TypePointer Function 7(ivec4)
+ 9: TypeFunction 7(ivec4) 8(ptr)
+ 13: TypeInt 32 0
+ 14: TypeVector 13(int) 4
+ 15: TypePointer Function 14(ivec4)
+ 16: TypeFunction 14(ivec4) 15(ptr)
+ 20: TypeFloat 32
+ 21: TypeVector 20(float) 4
+ 22: TypePointer Function 21(fvec4)
+ 23: TypeFunction 21(fvec4) 22(ptr)
+ 27: TypeFunction 21(fvec4)
+ 39: TypeVector 6(int) 2
+ 40: TypeVector 6(int) 3
+ 41($Global): TypeStruct 6(int) 39(ivec2) 40(ivec3) 7(ivec4) 6(int) 39(ivec2) 40(ivec3) 7(ivec4)
+ 42: TypePointer Uniform 41($Global)
+ 43: 42(ptr) Variable Uniform
+ 44: 6(int) Constant 3
+ 45: TypePointer Uniform 7(ivec4)
+ 51: TypeImage 20(float) 1D sampled format:Unknown
+ 52: TypePointer UniformConstant 51
+ 53(g_tTex1df4): 52(ptr) Variable UniformConstant
+ 55: 6(int) Constant 0
+ 56: TypePointer Uniform 6(int)
+ 66: TypeImage 6(int) 1D sampled format:Unknown
+ 67: TypePointer UniformConstant 66
+ 68(g_tTex1di4): 67(ptr) Variable UniformConstant
+ 74: TypeImage 13(int) 1D sampled format:Unknown
+ 75: TypePointer UniformConstant 74
+ 76(g_tTex1du4): 75(ptr) Variable UniformConstant
+ 82: TypeImage 20(float) 2D sampled format:Unknown
+ 83: TypePointer UniformConstant 82
+ 84(g_tTex2df4): 83(ptr) Variable UniformConstant
+ 86: 6(int) Constant 1
+ 87: TypePointer Uniform 39(ivec2)
+ 92: TypeImage 6(int) 2D sampled format:Unknown
+ 93: TypePointer UniformConstant 92
+ 94(g_tTex2di4): 93(ptr) Variable UniformConstant
+ 100: TypeImage 13(int) 2D sampled format:Unknown
+ 101: TypePointer UniformConstant 100
+ 102(g_tTex2du4): 101(ptr) Variable UniformConstant
+ 108: TypeImage 20(float) 3D sampled format:Unknown
+ 109: TypePointer UniformConstant 108
+ 110(g_tTex3df4): 109(ptr) Variable UniformConstant
+ 112: 6(int) Constant 2
+ 113: TypePointer Uniform 40(ivec3)
+ 118: TypeImage 6(int) 3D sampled format:Unknown
+ 119: TypePointer UniformConstant 118
+ 120(g_tTex3di4): 119(ptr) Variable UniformConstant
+ 126: TypeImage 13(int) 3D sampled format:Unknown
+ 127: TypePointer UniformConstant 126
+ 128(g_tTex3du4): 127(ptr) Variable UniformConstant
+ 151(PS_OUTPUT): TypeStruct 21(fvec4)
+ 152: TypePointer Function 151(PS_OUTPUT)
+ 154: 20(float) Constant 1065353216
+ 155: 21(fvec4) ConstantComposite 154 154 154 154
+ 157: TypePointer Output 21(fvec4)
+ 158(Color): 157(ptr) Variable Output
+ 162: TypeSampler
+ 163: TypePointer UniformConstant 162
+ 164(g_sSamp): 163(ptr) Variable UniformConstant
+ 165: TypeImage 20(float) 1D array sampled format:Unknown
+ 166: TypePointer UniformConstant 165
+167(g_tTex1df4a): 166(ptr) Variable UniformConstant
+ 168: TypeImage 6(int) 1D array sampled format:Unknown
+ 169: TypePointer UniformConstant 168
+170(g_tTex1di4a): 169(ptr) Variable UniformConstant
+ 171: TypeImage 13(int) 1D array sampled format:Unknown
+ 172: TypePointer UniformConstant 171
+173(g_tTex1du4a): 172(ptr) Variable UniformConstant
+ 174: TypeImage 20(float) 2D array sampled format:Unknown
+ 175: TypePointer UniformConstant 174
+176(g_tTex2df4a): 175(ptr) Variable UniformConstant
+ 177: TypeImage 6(int) 2D array sampled format:Unknown
+ 178: TypePointer UniformConstant 177
+179(g_tTex2di4a): 178(ptr) Variable UniformConstant
+ 180: TypeImage 13(int) 2D array sampled format:Unknown
+ 181: TypePointer UniformConstant 180
+182(g_tTex2du4a): 181(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 60(r00): 22(ptr) Variable Function
+ 65(r01): 8(ptr) Variable Function
+ 73(r02): 15(ptr) Variable Function
+ 81(r10): 22(ptr) Variable Function
+ 91(r11): 8(ptr) Variable Function
+ 99(r12): 15(ptr) Variable Function
+ 107(r20): 22(ptr) Variable Function
+ 117(r21): 8(ptr) Variable Function
+ 125(r22): 15(ptr) Variable Function
+ 137(param): 22(ptr) Variable Function
+ 143(param): 8(ptr) Variable Function
+ 149(param): 15(ptr) Variable Function
+ 153(psout): 152(ptr) Variable Function
+ 54: 51 Load 53(g_tTex1df4)
+ 57: 56(ptr) AccessChain 43 55
+ 58: 6(int) Load 57
+ 59: 21(fvec4) ImageFetch 54 58 Lod 55
+ 61: 51 Load 53(g_tTex1df4)
+ 62: 56(ptr) AccessChain 43 55
+ 63: 6(int) Load 62
+ 64: 21(fvec4) ImageFetch 61 63 Lod 55
+ Store 60(r00) 64
+ 69: 66 Load 68(g_tTex1di4)
+ 70: 56(ptr) AccessChain 43 55
+ 71: 6(int) Load 70
+ 72: 7(ivec4) ImageFetch 69 71 Lod 55
+ Store 65(r01) 72
+ 77: 74 Load 76(g_tTex1du4)
+ 78: 56(ptr) AccessChain 43 55
+ 79: 6(int) Load 78
+ 80: 14(ivec4) ImageFetch 77 79 Lod 55
+ Store 73(r02) 80
+ 85: 82 Load 84(g_tTex2df4)
+ 88: 87(ptr) AccessChain 43 86
+ 89: 39(ivec2) Load 88
+ 90: 21(fvec4) ImageFetch 85 89 Lod 55
+ Store 81(r10) 90
+ 95: 92 Load 94(g_tTex2di4)
+ 96: 87(ptr) AccessChain 43 86
+ 97: 39(ivec2) Load 96
+ 98: 7(ivec4) ImageFetch 95 97 Lod 55
+ Store 91(r11) 98
+ 103: 100 Load 102(g_tTex2du4)
+ 104: 87(ptr) AccessChain 43 86
+ 105: 39(ivec2) Load 104
+ 106: 14(ivec4) ImageFetch 103 105 Lod 55
+ Store 99(r12) 106
+ 111: 108 Load 110(g_tTex3df4)
+ 114: 113(ptr) AccessChain 43 112
+ 115: 40(ivec3) Load 114
+ 116: 21(fvec4) ImageFetch 111 115 Lod 55
+ Store 107(r20) 116
+ 121: 118 Load 120(g_tTex3di4)
+ 122: 113(ptr) AccessChain 43 112
+ 123: 40(ivec3) Load 122
+ 124: 7(ivec4) ImageFetch 121 123 Lod 55
+ Store 117(r21) 124
+ 129: 126 Load 128(g_tTex3du4)
+ 130: 113(ptr) AccessChain 43 112
+ 131: 40(ivec3) Load 130
+ 132: 14(ivec4) ImageFetch 129 131 Lod 55
+ Store 125(r22) 132
+ 133: 51 Load 53(g_tTex1df4)
+ 134: 56(ptr) AccessChain 43 55
+ 135: 6(int) Load 134
+ 136: 21(fvec4) ImageFetch 133 135 Lod 55
+ Store 137(param) 136
+ 138: 21(fvec4) FunctionCall 25(Fn1(vf4;) 137(param)
+ 139: 66 Load 68(g_tTex1di4)
+ 140: 56(ptr) AccessChain 43 55
+ 141: 6(int) Load 140
+ 142: 7(ivec4) ImageFetch 139 141 Lod 55
+ Store 143(param) 142
+ 144: 7(ivec4) FunctionCall 11(Fn1(vi4;) 143(param)
+ 145: 74 Load 76(g_tTex1du4)
+ 146: 56(ptr) AccessChain 43 55
+ 147: 6(int) Load 146
+ 148: 14(ivec4) ImageFetch 145 147 Lod 55
+ Store 149(param) 148
+ 150: 14(ivec4) FunctionCall 18(Fn1(vu4;) 149(param)
+ 156: 22(ptr) AccessChain 153(psout) 55
+ Store 156 155
+ 159: 22(ptr) AccessChain 153(psout) 55
+ 160: 21(fvec4) Load 159
+ Store 158(Color) 160
+ Return
+ FunctionEnd
+ 11(Fn1(vi4;): 7(ivec4) Function None 9
+ 10(x): 8(ptr) FunctionParameter
+ 12: Label
+ 30: 7(ivec4) Load 10(x)
+ ReturnValue 30
+ FunctionEnd
+ 18(Fn1(vu4;): 14(ivec4) Function None 16
+ 17(x): 15(ptr) FunctionParameter
+ 19: Label
+ 33: 14(ivec4) Load 17(x)
+ ReturnValue 33
+ FunctionEnd
+ 25(Fn1(vf4;): 21(fvec4) Function None 23
+ 24(x): 22(ptr) FunctionParameter
+ 26: Label
+ 36: 21(fvec4) Load 24(x)
+ ReturnValue 36
+ FunctionEnd
+ 28(SomeValue(): 21(fvec4) Function None 27
+ 29: Label
+ 46: 45(ptr) AccessChain 43 44
+ 47: 7(ivec4) Load 46
+ 48: 21(fvec4) ConvertSToF 47
+ ReturnValue 48
+ FunctionEnd
diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out
index 6d2b2b9..2236c66 100755
--- a/Test/baseResults/spv.queryL.frag.out
+++ b/Test/baseResults/spv.queryL.frag.out
@@ -7,7 +7,7 @@
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 237
+// Id's are bound by 224
Capability Shader
Capability SampledRect
@@ -24,48 +24,48 @@
Name 9 "lod"
Name 13 "samp1D"
Name 16 "pf"
- Name 24 "isamp2D"
- Name 26 "pf2"
- Name 36 "usamp3D"
- Name 40 "pf3"
- Name 49 "sampCube"
- Name 59 "isamp1DA"
- Name 69 "usamp2DA"
- Name 79 "isampCubeA"
- Name 89 "samp1Ds"
- Name 99 "samp2Ds"
- Name 109 "sampCubes"
- Name 119 "samp1DAs"
- Name 129 "samp2DAs"
- Name 139 "sampCubeAs"
- Name 147 "levels"
- Name 154 "usamp2D"
- Name 163 "isamp3D"
- Name 172 "isampCube"
- Name 186 "samp2DA"
- Name 195 "usampCubeA"
- Name 232 "sampBuf"
- Name 236 "sampRect"
+ Name 23 "isamp2D"
+ Name 25 "pf2"
+ Name 34 "usamp3D"
+ Name 38 "pf3"
+ Name 46 "sampCube"
+ Name 55 "isamp1DA"
+ Name 64 "usamp2DA"
+ Name 73 "isampCubeA"
+ Name 82 "samp1Ds"
+ Name 91 "samp2Ds"
+ Name 100 "sampCubes"
+ Name 109 "samp1DAs"
+ Name 118 "samp2DAs"
+ Name 127 "sampCubeAs"
+ Name 134 "levels"
+ Name 141 "usamp2D"
+ Name 150 "isamp3D"
+ Name 159 "isampCube"
+ Name 173 "samp2DA"
+ Name 182 "usampCubeA"
+ Name 219 "sampBuf"
+ Name 223 "sampRect"
Decorate 13(samp1D) DescriptorSet 0
- Decorate 24(isamp2D) DescriptorSet 0
- Decorate 36(usamp3D) DescriptorSet 0
- Decorate 49(sampCube) DescriptorSet 0
- Decorate 59(isamp1DA) DescriptorSet 0
- Decorate 69(usamp2DA) DescriptorSet 0
- Decorate 79(isampCubeA) DescriptorSet 0
- Decorate 89(samp1Ds) DescriptorSet 0
- Decorate 99(samp2Ds) DescriptorSet 0
- Decorate 109(sampCubes) DescriptorSet 0
- Decorate 119(samp1DAs) DescriptorSet 0
- Decorate 129(samp2DAs) DescriptorSet 0
- Decorate 139(sampCubeAs) DescriptorSet 0
- Decorate 154(usamp2D) DescriptorSet 0
- Decorate 163(isamp3D) DescriptorSet 0
- Decorate 172(isampCube) DescriptorSet 0
- Decorate 186(samp2DA) DescriptorSet 0
- Decorate 195(usampCubeA) DescriptorSet 0
- Decorate 232(sampBuf) DescriptorSet 0
- Decorate 236(sampRect) DescriptorSet 0
+ Decorate 23(isamp2D) DescriptorSet 0
+ Decorate 34(usamp3D) DescriptorSet 0
+ Decorate 46(sampCube) DescriptorSet 0
+ Decorate 55(isamp1DA) DescriptorSet 0
+ Decorate 64(usamp2DA) DescriptorSet 0
+ Decorate 73(isampCubeA) DescriptorSet 0
+ Decorate 82(samp1Ds) DescriptorSet 0
+ Decorate 91(samp2Ds) DescriptorSet 0
+ Decorate 100(sampCubes) DescriptorSet 0
+ Decorate 109(samp1DAs) DescriptorSet 0
+ Decorate 118(samp2DAs) DescriptorSet 0
+ Decorate 127(sampCubeAs) DescriptorSet 0
+ Decorate 141(usamp2D) DescriptorSet 0
+ Decorate 150(isamp3D) DescriptorSet 0
+ Decorate 159(isampCube) DescriptorSet 0
+ Decorate 173(samp2DA) DescriptorSet 0
+ Decorate 182(usampCubeA) DescriptorSet 0
+ Decorate 219(sampBuf) DescriptorSet 0
+ Decorate 223(sampRect) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -76,256 +76,243 @@
12: TypePointer UniformConstant 11
13(samp1D): 12(ptr) Variable UniformConstant
15: TypePointer Function 6(float)
- 20: TypeInt 32 1
- 21: TypeImage 20(int) 2D sampled format:Unknown
- 22: TypeSampledImage 21
- 23: TypePointer UniformConstant 22
- 24(isamp2D): 23(ptr) Variable UniformConstant
- 32: TypeInt 32 0
- 33: TypeImage 32(int) 3D sampled format:Unknown
- 34: TypeSampledImage 33
- 35: TypePointer UniformConstant 34
- 36(usamp3D): 35(ptr) Variable UniformConstant
- 38: TypeVector 6(float) 3
- 39: TypePointer Function 38(fvec3)
- 46: TypeImage 6(float) Cube sampled format:Unknown
- 47: TypeSampledImage 46
- 48: TypePointer UniformConstant 47
- 49(sampCube): 48(ptr) Variable UniformConstant
- 56: TypeImage 20(int) 1D array sampled format:Unknown
- 57: TypeSampledImage 56
- 58: TypePointer UniformConstant 57
- 59(isamp1DA): 58(ptr) Variable UniformConstant
- 66: TypeImage 32(int) 2D array sampled format:Unknown
- 67: TypeSampledImage 66
- 68: TypePointer UniformConstant 67
- 69(usamp2DA): 68(ptr) Variable UniformConstant
- 76: TypeImage 20(int) Cube array sampled format:Unknown
- 77: TypeSampledImage 76
- 78: TypePointer UniformConstant 77
- 79(isampCubeA): 78(ptr) Variable UniformConstant
- 86: TypeImage 6(float) 1D depth sampled format:Unknown
- 87: TypeSampledImage 86
- 88: TypePointer UniformConstant 87
- 89(samp1Ds): 88(ptr) Variable UniformConstant
- 96: TypeImage 6(float) 2D depth sampled format:Unknown
- 97: TypeSampledImage 96
- 98: TypePointer UniformConstant 97
- 99(samp2Ds): 98(ptr) Variable UniformConstant
- 106: TypeImage 6(float) Cube depth sampled format:Unknown
+ 19: TypeInt 32 1
+ 20: TypeImage 19(int) 2D sampled format:Unknown
+ 21: TypeSampledImage 20
+ 22: TypePointer UniformConstant 21
+ 23(isamp2D): 22(ptr) Variable UniformConstant
+ 30: TypeInt 32 0
+ 31: TypeImage 30(int) 3D sampled format:Unknown
+ 32: TypeSampledImage 31
+ 33: TypePointer UniformConstant 32
+ 34(usamp3D): 33(ptr) Variable UniformConstant
+ 36: TypeVector 6(float) 3
+ 37: TypePointer Function 36(fvec3)
+ 43: TypeImage 6(float) Cube sampled format:Unknown
+ 44: TypeSampledImage 43
+ 45: TypePointer UniformConstant 44
+ 46(sampCube): 45(ptr) Variable UniformConstant
+ 52: TypeImage 19(int) 1D array sampled format:Unknown
+ 53: TypeSampledImage 52
+ 54: TypePointer UniformConstant 53
+ 55(isamp1DA): 54(ptr) Variable UniformConstant
+ 61: TypeImage 30(int) 2D array sampled format:Unknown
+ 62: TypeSampledImage 61
+ 63: TypePointer UniformConstant 62
+ 64(usamp2DA): 63(ptr) Variable UniformConstant
+ 70: TypeImage 19(int) Cube array sampled format:Unknown
+ 71: TypeSampledImage 70
+ 72: TypePointer UniformConstant 71
+ 73(isampCubeA): 72(ptr) Variable UniformConstant
+ 79: TypeImage 6(float) 1D depth sampled format:Unknown
+ 80: TypeSampledImage 79
+ 81: TypePointer UniformConstant 80
+ 82(samp1Ds): 81(ptr) Variable UniformConstant
+ 88: TypeImage 6(float) 2D depth sampled format:Unknown
+ 89: TypeSampledImage 88
+ 90: TypePointer UniformConstant 89
+ 91(samp2Ds): 90(ptr) Variable UniformConstant
+ 97: TypeImage 6(float) Cube depth sampled format:Unknown
+ 98: TypeSampledImage 97
+ 99: TypePointer UniformConstant 98
+ 100(sampCubes): 99(ptr) Variable UniformConstant
+ 106: TypeImage 6(float) 1D depth array sampled format:Unknown
107: TypeSampledImage 106
108: TypePointer UniformConstant 107
- 109(sampCubes): 108(ptr) Variable UniformConstant
- 116: TypeImage 6(float) 1D depth array sampled format:Unknown
- 117: TypeSampledImage 116
- 118: TypePointer UniformConstant 117
- 119(samp1DAs): 118(ptr) Variable UniformConstant
- 126: TypeImage 6(float) 2D depth array sampled format:Unknown
- 127: TypeSampledImage 126
- 128: TypePointer UniformConstant 127
- 129(samp2DAs): 128(ptr) Variable UniformConstant
- 136: TypeImage 6(float) Cube depth array sampled format:Unknown
- 137: TypeSampledImage 136
- 138: TypePointer UniformConstant 137
- 139(sampCubeAs): 138(ptr) Variable UniformConstant
- 146: TypePointer Function 20(int)
- 151: TypeImage 32(int) 2D sampled format:Unknown
- 152: TypeSampledImage 151
- 153: TypePointer UniformConstant 152
- 154(usamp2D): 153(ptr) Variable UniformConstant
- 160: TypeImage 20(int) 3D sampled format:Unknown
- 161: TypeSampledImage 160
- 162: TypePointer UniformConstant 161
- 163(isamp3D): 162(ptr) Variable UniformConstant
- 169: TypeImage 20(int) Cube sampled format:Unknown
- 170: TypeSampledImage 169
- 171: TypePointer UniformConstant 170
- 172(isampCube): 171(ptr) Variable UniformConstant
- 183: TypeImage 6(float) 2D array sampled format:Unknown
- 184: TypeSampledImage 183
- 185: TypePointer UniformConstant 184
- 186(samp2DA): 185(ptr) Variable UniformConstant
- 192: TypeImage 32(int) Cube array sampled format:Unknown
- 193: TypeSampledImage 192
- 194: TypePointer UniformConstant 193
- 195(usampCubeA): 194(ptr) Variable UniformConstant
- 229: TypeImage 6(float) Buffer sampled format:Unknown
- 230: TypeSampledImage 229
- 231: TypePointer UniformConstant 230
- 232(sampBuf): 231(ptr) Variable UniformConstant
- 233: TypeImage 6(float) Rect sampled format:Unknown
- 234: TypeSampledImage 233
- 235: TypePointer UniformConstant 234
- 236(sampRect): 235(ptr) Variable UniformConstant
+ 109(samp1DAs): 108(ptr) Variable UniformConstant
+ 115: TypeImage 6(float) 2D depth array sampled format:Unknown
+ 116: TypeSampledImage 115
+ 117: TypePointer UniformConstant 116
+ 118(samp2DAs): 117(ptr) Variable UniformConstant
+ 124: TypeImage 6(float) Cube depth array sampled format:Unknown
+ 125: TypeSampledImage 124
+ 126: TypePointer UniformConstant 125
+ 127(sampCubeAs): 126(ptr) Variable UniformConstant
+ 133: TypePointer Function 19(int)
+ 138: TypeImage 30(int) 2D sampled format:Unknown
+ 139: TypeSampledImage 138
+ 140: TypePointer UniformConstant 139
+ 141(usamp2D): 140(ptr) Variable UniformConstant
+ 147: TypeImage 19(int) 3D sampled format:Unknown
+ 148: TypeSampledImage 147
+ 149: TypePointer UniformConstant 148
+ 150(isamp3D): 149(ptr) Variable UniformConstant
+ 156: TypeImage 19(int) Cube sampled format:Unknown
+ 157: TypeSampledImage 156
+ 158: TypePointer UniformConstant 157
+ 159(isampCube): 158(ptr) Variable UniformConstant
+ 170: TypeImage 6(float) 2D array sampled format:Unknown
+ 171: TypeSampledImage 170
+ 172: TypePointer UniformConstant 171
+ 173(samp2DA): 172(ptr) Variable UniformConstant
+ 179: TypeImage 30(int) Cube array sampled format:Unknown
+ 180: TypeSampledImage 179
+ 181: TypePointer UniformConstant 180
+ 182(usampCubeA): 181(ptr) Variable UniformConstant
+ 216: TypeImage 6(float) Buffer sampled format:Unknown
+ 217: TypeSampledImage 216
+ 218: TypePointer UniformConstant 217
+ 219(sampBuf): 218(ptr) Variable UniformConstant
+ 220: TypeImage 6(float) Rect sampled format:Unknown
+ 221: TypeSampledImage 220
+ 222: TypePointer UniformConstant 221
+ 223(sampRect): 222(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(lod): 8(ptr) Variable Function
16(pf): 15(ptr) Variable Function
- 26(pf2): 8(ptr) Variable Function
- 40(pf3): 39(ptr) Variable Function
- 147(levels): 146(ptr) Variable Function
+ 25(pf2): 8(ptr) Variable Function
+ 38(pf3): 37(ptr) Variable Function
+ 134(levels): 133(ptr) Variable Function
14: 11 Load 13(samp1D)
17: 6(float) Load 16(pf)
- 18: 10 Image 14
- 19: 7(fvec2) ImageQueryLod 18 17
- Store 9(lod) 19
- 25: 22 Load 24(isamp2D)
- 27: 7(fvec2) Load 26(pf2)
- 28: 21 Image 25
- 29: 7(fvec2) ImageQueryLod 28 27
- 30: 7(fvec2) Load 9(lod)
- 31: 7(fvec2) FAdd 30 29
- Store 9(lod) 31
- 37: 34 Load 36(usamp3D)
- 41: 38(fvec3) Load 40(pf3)
- 42: 33 Image 37
- 43: 7(fvec2) ImageQueryLod 42 41
- 44: 7(fvec2) Load 9(lod)
- 45: 7(fvec2) FAdd 44 43
- Store 9(lod) 45
- 50: 47 Load 49(sampCube)
- 51: 38(fvec3) Load 40(pf3)
- 52: 46 Image 50
- 53: 7(fvec2) ImageQueryLod 52 51
- 54: 7(fvec2) Load 9(lod)
- 55: 7(fvec2) FAdd 54 53
- Store 9(lod) 55
- 60: 57 Load 59(isamp1DA)
- 61: 6(float) Load 16(pf)
- 62: 56 Image 60
- 63: 7(fvec2) ImageQueryLod 62 61
- 64: 7(fvec2) Load 9(lod)
- 65: 7(fvec2) FAdd 64 63
- Store 9(lod) 65
- 70: 67 Load 69(usamp2DA)
- 71: 7(fvec2) Load 26(pf2)
- 72: 66 Image 70
- 73: 7(fvec2) ImageQueryLod 72 71
- 74: 7(fvec2) Load 9(lod)
- 75: 7(fvec2) FAdd 74 73
- Store 9(lod) 75
- 80: 77 Load 79(isampCubeA)
- 81: 38(fvec3) Load 40(pf3)
- 82: 76 Image 80
- 83: 7(fvec2) ImageQueryLod 82 81
- 84: 7(fvec2) Load 9(lod)
- 85: 7(fvec2) FAdd 84 83
- Store 9(lod) 85
- 90: 87 Load 89(samp1Ds)
- 91: 6(float) Load 16(pf)
- 92: 86 Image 90
- 93: 7(fvec2) ImageQueryLod 92 91
- 94: 7(fvec2) Load 9(lod)
- 95: 7(fvec2) FAdd 94 93
- Store 9(lod) 95
- 100: 97 Load 99(samp2Ds)
- 101: 7(fvec2) Load 26(pf2)
- 102: 96 Image 100
- 103: 7(fvec2) ImageQueryLod 102 101
+ 18: 7(fvec2) ImageQueryLod 14 17
+ Store 9(lod) 18
+ 24: 21 Load 23(isamp2D)
+ 26: 7(fvec2) Load 25(pf2)
+ 27: 7(fvec2) ImageQueryLod 24 26
+ 28: 7(fvec2) Load 9(lod)
+ 29: 7(fvec2) FAdd 28 27
+ Store 9(lod) 29
+ 35: 32 Load 34(usamp3D)
+ 39: 36(fvec3) Load 38(pf3)
+ 40: 7(fvec2) ImageQueryLod 35 39
+ 41: 7(fvec2) Load 9(lod)
+ 42: 7(fvec2) FAdd 41 40
+ Store 9(lod) 42
+ 47: 44 Load 46(sampCube)
+ 48: 36(fvec3) Load 38(pf3)
+ 49: 7(fvec2) ImageQueryLod 47 48
+ 50: 7(fvec2) Load 9(lod)
+ 51: 7(fvec2) FAdd 50 49
+ Store 9(lod) 51
+ 56: 53 Load 55(isamp1DA)
+ 57: 6(float) Load 16(pf)
+ 58: 7(fvec2) ImageQueryLod 56 57
+ 59: 7(fvec2) Load 9(lod)
+ 60: 7(fvec2) FAdd 59 58
+ Store 9(lod) 60
+ 65: 62 Load 64(usamp2DA)
+ 66: 7(fvec2) Load 25(pf2)
+ 67: 7(fvec2) ImageQueryLod 65 66
+ 68: 7(fvec2) Load 9(lod)
+ 69: 7(fvec2) FAdd 68 67
+ Store 9(lod) 69
+ 74: 71 Load 73(isampCubeA)
+ 75: 36(fvec3) Load 38(pf3)
+ 76: 7(fvec2) ImageQueryLod 74 75
+ 77: 7(fvec2) Load 9(lod)
+ 78: 7(fvec2) FAdd 77 76
+ Store 9(lod) 78
+ 83: 80 Load 82(samp1Ds)
+ 84: 6(float) Load 16(pf)
+ 85: 7(fvec2) ImageQueryLod 83 84
+ 86: 7(fvec2) Load 9(lod)
+ 87: 7(fvec2) FAdd 86 85
+ Store 9(lod) 87
+ 92: 89 Load 91(samp2Ds)
+ 93: 7(fvec2) Load 25(pf2)
+ 94: 7(fvec2) ImageQueryLod 92 93
+ 95: 7(fvec2) Load 9(lod)
+ 96: 7(fvec2) FAdd 95 94
+ Store 9(lod) 96
+ 101: 98 Load 100(sampCubes)
+ 102: 36(fvec3) Load 38(pf3)
+ 103: 7(fvec2) ImageQueryLod 101 102
104: 7(fvec2) Load 9(lod)
105: 7(fvec2) FAdd 104 103
Store 9(lod) 105
- 110: 107 Load 109(sampCubes)
- 111: 38(fvec3) Load 40(pf3)
- 112: 106 Image 110
- 113: 7(fvec2) ImageQueryLod 112 111
- 114: 7(fvec2) Load 9(lod)
- 115: 7(fvec2) FAdd 114 113
- Store 9(lod) 115
- 120: 117 Load 119(samp1DAs)
- 121: 6(float) Load 16(pf)
- 122: 116 Image 120
- 123: 7(fvec2) ImageQueryLod 122 121
- 124: 7(fvec2) Load 9(lod)
- 125: 7(fvec2) FAdd 124 123
- Store 9(lod) 125
- 130: 127 Load 129(samp2DAs)
- 131: 7(fvec2) Load 26(pf2)
- 132: 126 Image 130
- 133: 7(fvec2) ImageQueryLod 132 131
- 134: 7(fvec2) Load 9(lod)
- 135: 7(fvec2) FAdd 134 133
- Store 9(lod) 135
- 140: 137 Load 139(sampCubeAs)
- 141: 38(fvec3) Load 40(pf3)
- 142: 136 Image 140
- 143: 7(fvec2) ImageQueryLod 142 141
- 144: 7(fvec2) Load 9(lod)
- 145: 7(fvec2) FAdd 144 143
- Store 9(lod) 145
- 148: 11 Load 13(samp1D)
- 149: 10 Image 148
- 150: 20(int) ImageQueryLevels 149
- Store 147(levels) 150
- 155: 152 Load 154(usamp2D)
- 156: 151 Image 155
- 157: 20(int) ImageQueryLevels 156
- 158: 20(int) Load 147(levels)
- 159: 20(int) IAdd 158 157
- Store 147(levels) 159
- 164: 161 Load 163(isamp3D)
- 165: 160 Image 164
- 166: 20(int) ImageQueryLevels 165
- 167: 20(int) Load 147(levels)
- 168: 20(int) IAdd 167 166
- Store 147(levels) 168
- 173: 170 Load 172(isampCube)
- 174: 169 Image 173
- 175: 20(int) ImageQueryLevels 174
- 176: 20(int) Load 147(levels)
- 177: 20(int) IAdd 176 175
- Store 147(levels) 177
- 178: 57 Load 59(isamp1DA)
- 179: 56 Image 178
- 180: 20(int) ImageQueryLevels 179
- 181: 20(int) Load 147(levels)
- 182: 20(int) IAdd 181 180
- Store 147(levels) 182
- 187: 184 Load 186(samp2DA)
- 188: 183 Image 187
- 189: 20(int) ImageQueryLevels 188
- 190: 20(int) Load 147(levels)
- 191: 20(int) IAdd 190 189
- Store 147(levels) 191
- 196: 193 Load 195(usampCubeA)
- 197: 192 Image 196
- 198: 20(int) ImageQueryLevels 197
- 199: 20(int) Load 147(levels)
- 200: 20(int) IAdd 199 198
- Store 147(levels) 200
- 201: 87 Load 89(samp1Ds)
- 202: 86 Image 201
- 203: 20(int) ImageQueryLevels 202
- Store 147(levels) 203
- 204: 97 Load 99(samp2Ds)
- 205: 96 Image 204
- 206: 20(int) ImageQueryLevels 205
- 207: 20(int) Load 147(levels)
- 208: 20(int) IAdd 207 206
- Store 147(levels) 208
- 209: 107 Load 109(sampCubes)
- 210: 106 Image 209
- 211: 20(int) ImageQueryLevels 210
- 212: 20(int) Load 147(levels)
- 213: 20(int) IAdd 212 211
- Store 147(levels) 213
- 214: 117 Load 119(samp1DAs)
- 215: 116 Image 214
- 216: 20(int) ImageQueryLevels 215
- 217: 20(int) Load 147(levels)
- 218: 20(int) IAdd 217 216
- Store 147(levels) 218
- 219: 127 Load 129(samp2DAs)
- 220: 126 Image 219
- 221: 20(int) ImageQueryLevels 220
- 222: 20(int) Load 147(levels)
- 223: 20(int) IAdd 222 221
- Store 147(levels) 223
- 224: 137 Load 139(sampCubeAs)
- 225: 136 Image 224
- 226: 20(int) ImageQueryLevels 225
- 227: 20(int) Load 147(levels)
- 228: 20(int) IAdd 227 226
- Store 147(levels) 228
+ 110: 107 Load 109(samp1DAs)
+ 111: 6(float) Load 16(pf)
+ 112: 7(fvec2) ImageQueryLod 110 111
+ 113: 7(fvec2) Load 9(lod)
+ 114: 7(fvec2) FAdd 113 112
+ Store 9(lod) 114
+ 119: 116 Load 118(samp2DAs)
+ 120: 7(fvec2) Load 25(pf2)
+ 121: 7(fvec2) ImageQueryLod 119 120
+ 122: 7(fvec2) Load 9(lod)
+ 123: 7(fvec2) FAdd 122 121
+ Store 9(lod) 123
+ 128: 125 Load 127(sampCubeAs)
+ 129: 36(fvec3) Load 38(pf3)
+ 130: 7(fvec2) ImageQueryLod 128 129
+ 131: 7(fvec2) Load 9(lod)
+ 132: 7(fvec2) FAdd 131 130
+ Store 9(lod) 132
+ 135: 11 Load 13(samp1D)
+ 136: 10 Image 135
+ 137: 19(int) ImageQueryLevels 136
+ Store 134(levels) 137
+ 142: 139 Load 141(usamp2D)
+ 143: 138 Image 142
+ 144: 19(int) ImageQueryLevels 143
+ 145: 19(int) Load 134(levels)
+ 146: 19(int) IAdd 145 144
+ Store 134(levels) 146
+ 151: 148 Load 150(isamp3D)
+ 152: 147 Image 151
+ 153: 19(int) ImageQueryLevels 152
+ 154: 19(int) Load 134(levels)
+ 155: 19(int) IAdd 154 153
+ Store 134(levels) 155
+ 160: 157 Load 159(isampCube)
+ 161: 156 Image 160
+ 162: 19(int) ImageQueryLevels 161
+ 163: 19(int) Load 134(levels)
+ 164: 19(int) IAdd 163 162
+ Store 134(levels) 164
+ 165: 53 Load 55(isamp1DA)
+ 166: 52 Image 165
+ 167: 19(int) ImageQueryLevels 166
+ 168: 19(int) Load 134(levels)
+ 169: 19(int) IAdd 168 167
+ Store 134(levels) 169
+ 174: 171 Load 173(samp2DA)
+ 175: 170 Image 174
+ 176: 19(int) ImageQueryLevels 175
+ 177: 19(int) Load 134(levels)
+ 178: 19(int) IAdd 177 176
+ Store 134(levels) 178
+ 183: 180 Load 182(usampCubeA)
+ 184: 179 Image 183
+ 185: 19(int) ImageQueryLevels 184
+ 186: 19(int) Load 134(levels)
+ 187: 19(int) IAdd 186 185
+ Store 134(levels) 187
+ 188: 80 Load 82(samp1Ds)
+ 189: 79 Image 188
+ 190: 19(int) ImageQueryLevels 189
+ Store 134(levels) 190
+ 191: 89 Load 91(samp2Ds)
+ 192: 88 Image 191
+ 193: 19(int) ImageQueryLevels 192
+ 194: 19(int) Load 134(levels)
+ 195: 19(int) IAdd 194 193
+ Store 134(levels) 195
+ 196: 98 Load 100(sampCubes)
+ 197: 97 Image 196
+ 198: 19(int) ImageQueryLevels 197
+ 199: 19(int) Load 134(levels)
+ 200: 19(int) IAdd 199 198
+ Store 134(levels) 200
+ 201: 107 Load 109(samp1DAs)
+ 202: 106 Image 201
+ 203: 19(int) ImageQueryLevels 202
+ 204: 19(int) Load 134(levels)
+ 205: 19(int) IAdd 204 203
+ Store 134(levels) 205
+ 206: 116 Load 118(samp2DAs)
+ 207: 115 Image 206
+ 208: 19(int) ImageQueryLevels 207
+ 209: 19(int) Load 134(levels)
+ 210: 19(int) IAdd 209 208
+ Store 134(levels) 210
+ 211: 125 Load 127(sampCubeAs)
+ 212: 124 Image 211
+ 213: 19(int) ImageQueryLevels 212
+ 214: 19(int) Load 134(levels)
+ 215: 19(int) IAdd 214 213
+ Store 134(levels) 215
Return
FunctionEnd
diff --git a/Test/baseResults/spv.register.autoassign.rangetest.frag.out b/Test/baseResults/spv.register.autoassign.rangetest.frag.out
new file mode 100644
index 0000000..a521a13
--- /dev/null
+++ b/Test/baseResults/spv.register.autoassign.rangetest.frag.out
@@ -0,0 +1,12 @@
+spv.register.autoassign.rangetest.frag
+
+Linked fragment stage:
+
+INTERNAL ERROR: mapped binding out of range: g_tScene
+INTERNAL ERROR: mapped binding out of range: g_tSamp
+INTERNAL ERROR: mapped binding out of range: g_tScene
+INTERNAL ERROR: mapped binding out of range: g_tSamp
+INTERNAL ERROR: mapped binding out of range: g_tSamp
+INTERNAL ERROR: mapped binding out of range: g_tScene
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/hlsl.array.implicit-size.frag b/Test/hlsl.array.implicit-size.frag
index 29e2c1b..78a9283 100644
--- a/Test/hlsl.array.implicit-size.frag
+++ b/Test/hlsl.array.implicit-size.frag
@@ -1,11 +1,11 @@
-// implicit sized array
+// array size from initializer
static float g_array [ ] = { 1, 2, 3, 4, 5 };
-// Unused implicit sized array
+// Unused: array size from initializer
static float g_array_unused [ ] = { 1, 2, 3, 4, 5, 6, 7 };
-// Test implicit size arrayed structs
+// Test initializer sizing for arrayed structs
static struct mystruct {
int i;
float f;
@@ -24,7 +24,7 @@
void main(out PS_OUTPUT ps_output)
{
- // implicit sized local array
+ // local array sized from initializers
float l_array[] = { 1, 2, 3 };
ps_output.color = g_array[0] + g_array[4] + l_array[1] + g_mystruct[0].f + g_array[idx];
diff --git a/Test/hlsl.array.multidim.frag b/Test/hlsl.array.multidim.frag
new file mode 100644
index 0000000..524a889
--- /dev/null
+++ b/Test/hlsl.array.multidim.frag
@@ -0,0 +1,20 @@
+
+float float_array[5][4][3];
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+};
+
+PS_OUTPUT main()
+{
+ float4 float4_array_1[2][3];
+ float4 float4_array_2[5][3];
+
+ float4_array_1[1][2] = float_array[2][3][1];
+ float4_array_2[1] = float4_array_1[0];
+
+ PS_OUTPUT psout;
+ psout.Color = float4_array_1[1][2];
+ return psout;
+}
diff --git a/Test/hlsl.basic.comp b/Test/hlsl.basic.comp
new file mode 100644
index 0000000..8a65a59
--- /dev/null
+++ b/Test/hlsl.basic.comp
@@ -0,0 +1,6 @@
+groupshared float4 a[100];
+
+void main(int dti : SV_DispatchThreadID)
+{
+ dti;
+}
diff --git a/Test/hlsl.inoutquals.frag b/Test/hlsl.inoutquals.frag
index 91798d5..3234688 100644
--- a/Test/hlsl.inoutquals.frag
+++ b/Test/hlsl.inoutquals.frag
@@ -11,7 +11,7 @@
x = -1; // no effect since x = in param
}
-PS_OUTPUT main(noperspective in float4 inpos : SV_Position)
+PS_OUTPUT main(noperspective in float4 inpos : SV_Position, out int sampleMask : SV_Coverage)
{
PS_OUTPUT psout;
diff --git a/Test/hlsl.intrinsics.comp b/Test/hlsl.intrinsics.comp
index 12b7caa..bce2d27 100644
--- a/Test/hlsl.intrinsics.comp
+++ b/Test/hlsl.intrinsics.comp
@@ -1,17 +1,17 @@
-#define gs static // TODO: define as groupshared when available in the grammar
-gs uint gs_ua;
-gs uint gs_ub;
-gs uint gs_uc;
-gs uint2 gs_ua2;
-gs uint2 gs_ub2;
-gs uint2 gs_uc2;
-gs uint3 gs_ua3;
-gs uint3 gs_ub3;
-gs uint3 gs_uc3;
-gs uint4 gs_ua4;
-gs uint4 gs_ub4;
-gs uint4 gs_uc4;
+
+groupshared uint gs_ua;
+groupshared uint gs_ub;
+groupshared uint gs_uc;
+groupshared uint2 gs_ua2;
+groupshared uint2 gs_ub2;
+groupshared uint2 gs_uc2;
+groupshared uint3 gs_ua3;
+groupshared uint3 gs_ub3;
+groupshared uint3 gs_uc3;
+groupshared uint4 gs_ua4;
+groupshared uint4 gs_ub4;
+groupshared uint4 gs_uc4;
float ComputeShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
{
diff --git a/Test/hlsl.intrinsics.frag b/Test/hlsl.intrinsics.frag
index 90387cc..03e7ed3 100644
--- a/Test/hlsl.intrinsics.frag
+++ b/Test/hlsl.intrinsics.frag
@@ -1,17 +1,17 @@
-#define gs static // TODO: define as groupshared when available in the grammar
-gs uint gs_ua;
-gs uint gs_ub;
-gs uint gs_uc;
-gs uint2 gs_ua2;
-gs uint2 gs_ub2;
-gs uint2 gs_uc2;
-gs uint3 gs_ua3;
-gs uint3 gs_ub3;
-gs uint3 gs_uc3;
-gs uint4 gs_ua4;
-gs uint4 gs_ub4;
-gs uint4 gs_uc4;
+
+groupshared uint gs_ua;
+groupshared uint gs_ub;
+groupshared uint gs_uc;
+groupshared uint2 gs_ua2;
+groupshared uint2 gs_ub2;
+groupshared uint2 gs_uc2;
+groupshared uint3 gs_ua3;
+groupshared uint3 gs_ub3;
+groupshared uint3 gs_uc3;
+groupshared uint4 gs_ua4;
+groupshared uint4 gs_ub4;
+groupshared uint4 gs_uc4;
float PixelShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
{
diff --git a/Test/hlsl.load.buffer.float.dx10.frag b/Test/hlsl.load.buffer.float.dx10.frag
new file mode 100644
index 0000000..eeea9a6
--- /dev/null
+++ b/Test/hlsl.load.buffer.float.dx10.frag
@@ -0,0 +1,38 @@
+uniform Buffer <float> g_tTexbfs_test : register(t0);
+
+Buffer <float> g_tTexbfs;
+Buffer <int> g_tTexbis;
+Buffer <uint> g_tTexbus;
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+ float Depth : SV_Depth;
+};
+
+uniform int c1;
+uniform int2 c2;
+uniform int3 c3;
+uniform int4 c4;
+
+uniform int o1;
+uniform int2 o2;
+uniform int3 o3;
+uniform int4 o4;
+
+PS_OUTPUT main()
+{
+ PS_OUTPUT psout;
+
+ // Buffer
+ float r00 = g_tTexbfs.Load(c1);
+ int r01 = g_tTexbis.Load(c1);
+ uint r02 = g_tTexbus.Load(c1);
+
+ // TODO: other types that can be put in sampler buffers, like float2x2, and float3.
+
+ psout.Color = 1.0;
+ psout.Depth = 1.0;
+
+ return psout;
+}
diff --git a/Test/hlsl.rw.bracket.frag b/Test/hlsl.rw.bracket.frag
new file mode 100644
index 0000000..9390e8d
--- /dev/null
+++ b/Test/hlsl.rw.bracket.frag
@@ -0,0 +1,140 @@
+SamplerState g_sSamp : register(s0);
+
+RWTexture1D <float4> g_tTex1df4 : register(t0);
+RWTexture1D <int4> g_tTex1di4;
+RWTexture1D <uint4> g_tTex1du4;
+
+RWTexture2D <float4> g_tTex2df4;
+RWTexture2D <int4> g_tTex2di4;
+RWTexture2D <uint4> g_tTex2du4;
+
+RWTexture3D <float4> g_tTex3df4;
+RWTexture3D <int4> g_tTex3di4;
+RWTexture3D <uint4> g_tTex3du4;
+
+RWTexture1DArray <float4> g_tTex1df4a;
+RWTexture1DArray <int4> g_tTex1di4a;
+RWTexture1DArray <uint4> g_tTex1du4a;
+
+RWTexture2DArray <float4> g_tTex2df4a;
+RWTexture2DArray <int4> g_tTex2di4a;
+RWTexture2DArray <uint4> g_tTex2du4a;
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+};
+
+uniform int c1;
+uniform int2 c2;
+uniform int3 c3;
+uniform int4 c4;
+
+uniform int o1;
+uniform int2 o2;
+uniform int3 o3;
+uniform int4 o4;
+
+uniform float4 uf4;
+uniform int4 ui4;
+uniform uint4 uu4;
+
+int4 Fn1(in int4 x) { return x; }
+uint4 Fn1(in uint4 x) { return x; }
+float4 Fn1(in float4 x) { return x; }
+
+void Fn2(out int4 x) { x = int4(0); }
+void Fn2(out uint4 x) { x = uint4(0); }
+void Fn2(out float4 x) { x = float4(0); }
+
+float4 SomeValue() { return c4; }
+
+PS_OUTPUT main()
+{
+ PS_OUTPUT psout;
+
+ // 1D
+ g_tTex1df4[c1];
+
+ float4 r00 = g_tTex1df4[c1];
+ int4 r01 = g_tTex1di4[c1];
+ uint4 r02 = g_tTex1du4[c1];
+
+ // 2D
+ float4 r10 = g_tTex2df4[c2];
+ int4 r11 = g_tTex2di4[c2];
+ uint4 r12 = g_tTex2du4[c2];
+
+ // 3D
+ float4 r20 = g_tTex3df4[c3];
+ int4 r21 = g_tTex3di4[c3];
+ uint4 r22 = g_tTex3du4[c3];
+
+ float4 lf4 = uf4;
+
+ // Test as L-values
+ // 1D
+ g_tTex1df4[c1] = SomeValue(); // complex R-value
+ g_tTex1df4[c1] = lf4;
+ g_tTex1di4[c1] = int4(2,2,3,4);
+ g_tTex1du4[c1] = uint4(3,2,3,4);
+
+ // Test some operator= things, which need to do both a load and a store.
+ float4 val1 = (g_tTex1df4[c1] *= 2.0);
+ g_tTex1df4[c1] -= 3.0;
+ g_tTex1df4[c1] += 4.0;
+
+ g_tTex1di4[c1] /= 2;
+ g_tTex1di4[c1] %= 2;
+ g_tTex1di4[c1] &= 0xffff;
+ g_tTex1di4[c1] |= 0xf0f0;
+ g_tTex1di4[c1] <<= 2;
+ g_tTex1di4[c1] >>= 2;
+
+ // 2D
+ g_tTex2df4[c2] = SomeValue(); // complex L-value
+ g_tTex2df4[c2] = lf4;
+ g_tTex2di4[c2] = int4(5,2,3,4);
+ g_tTex2du4[c2] = uint4(6,2,3,4);
+
+ // 3D
+ g_tTex3df4[c3] = SomeValue(); // complex L-value
+ g_tTex3df4[c3] = lf4;
+ g_tTex3di4[c3] = int4(8,6,7,8);
+ g_tTex3du4[c3] = uint4(9,2,3,4);
+
+ // Test function calling
+ Fn1(g_tTex1df4[c1]); // in
+ Fn1(g_tTex1di4[c1]); // in
+ Fn1(g_tTex1du4[c1]); // in
+
+ Fn2(g_tTex1df4[c1]); // out
+ Fn2(g_tTex1di4[c1]); // out
+ Fn2(g_tTex1du4[c1]); // out
+
+ // Test increment operators
+ // pre-ops
+ ++g_tTex1df4[c1];
+ ++g_tTex1di4[c1];
+ ++g_tTex1du4[c1];
+
+ --g_tTex1df4[c1];
+ --g_tTex1di4[c1];
+ --g_tTex1du4[c1];
+
+ // post-ops
+ g_tTex1df4[c1]++;
+ g_tTex1du4[c1]--;
+ g_tTex1di4[c1]++;
+
+ g_tTex1df4[c1]--;
+ g_tTex1di4[c1]++;
+ g_tTex1du4[c1]--;
+
+ // read and write
+ g_tTex1df4[1] = g_tTex2df4[int2(2,3)];
+
+ psout.Color = 1.0;
+
+ return psout;
+}
diff --git a/Test/hlsl.rw.scalar.bracket.frag b/Test/hlsl.rw.scalar.bracket.frag
new file mode 100644
index 0000000..e185f05
--- /dev/null
+++ b/Test/hlsl.rw.scalar.bracket.frag
@@ -0,0 +1,140 @@
+SamplerState g_sSamp : register(s0);
+
+RWTexture1D <float> g_tTex1df1;
+RWTexture1D <int> g_tTex1di1;
+RWTexture1D <uint> g_tTex1du1;
+
+RWTexture2D <float> g_tTex2df1;
+RWTexture2D <int> g_tTex2di1;
+RWTexture2D <uint> g_tTex2du1;
+
+RWTexture3D <float> g_tTex3df1;
+RWTexture3D <int> g_tTex3di1;
+RWTexture3D <uint> g_tTex3du1;
+
+RWTexture1DArray <float> g_tTex1df1a;
+RWTexture1DArray <int> g_tTex1di1a;
+RWTexture1DArray <uint> g_tTex1du1a;
+
+RWTexture2DArray <float> g_tTex2df1a;
+RWTexture2DArray <int> g_tTex2di1a;
+RWTexture2DArray <uint> g_tTex2du1a;
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+};
+
+uniform int c1;
+uniform int2 c2;
+uniform int3 c3;
+uniform int4 c4;
+
+uniform int o1;
+uniform int2 o2;
+uniform int3 o3;
+uniform int4 o4;
+
+uniform float uf1;
+uniform int ui1;
+uniform uint uu1;
+
+int Fn1(in int x) { return x; }
+uint Fn1(in uint x) { return x; }
+float Fn1(in float x) { return x; }
+
+void Fn2(out int x) { x = int(0); }
+void Fn2(out uint x) { x = uint(0); }
+void Fn2(out float x) { x = float(0); }
+
+float SomeValue() { return c1; }
+
+PS_OUTPUT main()
+{
+ PS_OUTPUT psout;
+
+ // 1D
+ g_tTex1df1[c1];
+
+ float r00 = g_tTex1df1[c1];
+ int r01 = g_tTex1di1[c1];
+ uint r02 = g_tTex1du1[c1];
+
+ // 2D
+ float r10 = g_tTex2df1[c2];
+ int r11 = g_tTex2di1[c2];
+ uint r12 = g_tTex2du1[c2];
+
+ // 3D
+ float r20 = g_tTex3df1[c3];
+ int r21 = g_tTex3di1[c3];
+ uint r22 = g_tTex3du1[c3];
+
+ float lf1 = uf1;
+
+ // Test as L-values
+ // 1D
+ g_tTex1df1[c1] = SomeValue(); // complex R-value
+ g_tTex1df1[c1] = lf1;
+ g_tTex1di1[c1] = int(2);
+ g_tTex1du1[c1] = uint(3);
+
+ // Test some operator= things, which need to do both a load and a store.
+ float val1 = (g_tTex1df1[c1] *= 2.0);
+ g_tTex1df1[c1] -= 3.0;
+ g_tTex1df1[c1] += 4.0;
+
+ g_tTex1di1[c1] /= 2;
+ g_tTex1di1[c1] %= 2;
+ g_tTex1di1[c1] &= 0xffff;
+ g_tTex1di1[c1] |= 0xf0f0;
+ g_tTex1di1[c1] <<= 2;
+ g_tTex1di1[c1] >>= 2;
+
+ // 2D
+ g_tTex2df1[c2] = SomeValue(); // complex L-value
+ g_tTex2df1[c2] = lf1;
+ g_tTex2di1[c2] = int(5);
+ g_tTex2du1[c2] = uint(6);
+
+ // 3D
+ g_tTex3df1[c3] = SomeValue(); // complex L-value
+ g_tTex3df1[c3] = lf1;
+ g_tTex3di1[c3] = int(8);
+ g_tTex3du1[c3] = uint(9);
+
+ // Test function calling
+ Fn1(g_tTex1df1[c1]); // in
+ Fn1(g_tTex1di1[c1]); // in
+ Fn1(g_tTex1du1[c1]); // in
+
+ Fn2(g_tTex1df1[c1]); // out
+ Fn2(g_tTex1di1[c1]); // out
+ Fn2(g_tTex1du1[c1]); // out
+
+ // Test increment operators
+ // pre-ops
+ ++g_tTex1df1[c1];
+ ++g_tTex1di1[c1];
+ ++g_tTex1du1[c1];
+
+ --g_tTex1df1[c1];
+ --g_tTex1di1[c1];
+ --g_tTex1du1[c1];
+
+ // post-ops
+ g_tTex1df1[c1]++;
+ g_tTex1du1[c1]--;
+ g_tTex1di1[c1]++;
+
+ g_tTex1df1[c1]--;
+ g_tTex1di1[c1]++;
+ g_tTex1du1[c1]--;
+
+ // read and write
+ g_tTex1df1[1] = g_tTex2df1[int2(2, 3)];
+
+ psout.Color = 1.0;
+
+ return psout;
+}
diff --git a/Test/hlsl.rw.vec2.bracket.frag b/Test/hlsl.rw.vec2.bracket.frag
new file mode 100644
index 0000000..7b4a10a
--- /dev/null
+++ b/Test/hlsl.rw.vec2.bracket.frag
@@ -0,0 +1,140 @@
+SamplerState g_sSamp : register(s0);
+
+RWTexture1D <float2> g_tTex1df2;
+RWTexture1D <int2> g_tTex1di2;
+RWTexture1D <uint2> g_tTex1du2;
+
+RWTexture2D <float2> g_tTex2df2;
+RWTexture2D <int2> g_tTex2di2;
+RWTexture2D <uint2> g_tTex2du2;
+
+RWTexture3D <float2> g_tTex3df2;
+RWTexture3D <int2> g_tTex3di2;
+RWTexture3D <uint2> g_tTex3du2;
+
+RWTexture1DArray <float2> g_tTex1df2a;
+RWTexture1DArray <int2> g_tTex1di2a;
+RWTexture1DArray <uint2> g_tTex1du2a;
+
+RWTexture2DArray <float2> g_tTex2df2a;
+RWTexture2DArray <int2> g_tTex2di2a;
+RWTexture2DArray <uint2> g_tTex2du2a;
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+};
+
+uniform int c1;
+uniform int2 c2;
+uniform int3 c3;
+uniform int4 c4;
+
+uniform int o1;
+uniform int2 o2;
+uniform int3 o3;
+uniform int4 o4;
+
+uniform float2 uf2;
+uniform int2 ui2;
+uniform uint2 uu2;
+
+int2 Fn1(in int2 x) { return x; }
+uint2 Fn1(in uint2 x) { return x; }
+float2 Fn1(in float2 x) { return x; }
+
+void Fn2(out int2 x) { x = int2(0,0); }
+void Fn2(out uint2 x) { x = uint2(0,0); }
+void Fn2(out float2 x) { x = float2(0,0); }
+
+float2 SomeValue() { return c2; }
+
+PS_OUTPUT main()
+{
+ PS_OUTPUT psout;
+
+ // 1D
+ g_tTex1df2[c1];
+
+ float2 r00 = g_tTex1df2[c1];
+ int2 r01 = g_tTex1di2[c1];
+ uint2 r02 = g_tTex1du2[c1];
+
+ // 2D
+ float2 r10 = g_tTex2df2[c2];
+ int2 r11 = g_tTex2di2[c2];
+ uint2 r12 = g_tTex2du2[c2];
+
+ // 3D
+ float2 r20 = g_tTex3df2[c3];
+ int2 r21 = g_tTex3di2[c3];
+ uint2 r22 = g_tTex3du2[c3];
+
+ float2 lf2 = uf2;
+
+ // Test as L-values
+ // 1D
+ g_tTex1df2[c1] = SomeValue(); // complex R-value
+ g_tTex1df2[c1] = lf2;
+ g_tTex1di2[c1] = int2(2,2);
+ g_tTex1du2[c1] = uint2(3,2);
+
+ // Test some operator= things, which need to do both a load and a store.
+ float2 val1 = (g_tTex1df2[c1] *= 2.0);
+ g_tTex1df2[c1] -= 3.0;
+ g_tTex1df2[c1] += 4.0;
+
+ g_tTex1di2[c1] /= 2;
+ g_tTex1di2[c1] %= 2;
+ g_tTex1di2[c1] &= 0xffff;
+ g_tTex1di2[c1] |= 0xf0f0;
+ g_tTex1di2[c1] <<= 2;
+ g_tTex1di2[c1] >>= 2;
+
+ // 2D
+ g_tTex2df2[c2] = SomeValue(); // complex L-value
+ g_tTex2df2[c2] = lf2;
+ g_tTex2di2[c2] = int2(5,2);
+ g_tTex2du2[c2] = uint2(6,2);
+
+ // 3D
+ g_tTex3df2[c3] = SomeValue(); // complex L-value
+ g_tTex3df2[c3] = lf2;
+ g_tTex3di2[c3] = int2(8,6);
+ g_tTex3du2[c3] = uint2(9,2);
+
+ // Test function calling
+ Fn1(g_tTex1df2[c1]); // in
+ Fn1(g_tTex1di2[c1]); // in
+ Fn1(g_tTex1du2[c1]); // in
+
+ Fn2(g_tTex1df2[c1]); // out
+ Fn2(g_tTex1di2[c1]); // out
+ Fn2(g_tTex1du2[c1]); // out
+
+ // Test increment operators
+ // pre-ops
+ ++g_tTex1df2[c1];
+ ++g_tTex1di2[c1];
+ ++g_tTex1du2[c1];
+
+ --g_tTex1df2[c1];
+ --g_tTex1di2[c1];
+ --g_tTex1du2[c1];
+
+ // post-ops
+ g_tTex1df2[c1]++;
+ g_tTex1du2[c1]--;
+ g_tTex1di2[c1]++;
+
+ g_tTex1df2[c1]--;
+ g_tTex1di2[c1]++;
+ g_tTex1du2[c1]--;
+
+ // read and write
+ g_tTex1df2[1] = g_tTex2df2[int2(2,3)];
+
+ psout.Color = 1.0;
+
+ return psout;
+}
diff --git a/Test/hlsl.sample.sub-vec4.dx10.frag b/Test/hlsl.sample.sub-vec4.dx10.frag
new file mode 100644
index 0000000..991d976
--- /dev/null
+++ b/Test/hlsl.sample.sub-vec4.dx10.frag
@@ -0,0 +1,24 @@
+SamplerState g_sSamp : register(s0);
+
+Texture1D <float> g_tTex1df1;
+Texture1D <float2> g_tTex1df2;
+Texture1D <float3> g_tTex1df3;
+Texture1D <float4> g_tTex1df4;
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+};
+
+PS_OUTPUT main()
+{
+ PS_OUTPUT psout;
+
+ float txval10 = g_tTex1df1 . Sample(g_sSamp, 0.1);
+ float2 txval11 = g_tTex1df2 . Sample(g_sSamp, 0.2);
+ float3 txval12 = g_tTex1df3 . Sample(g_sSamp, 0.2);
+ float4 txval13 = g_tTex1df4 . Sample(g_sSamp, 0.2);
+
+ psout.Color = 1.0;
+ return psout;
+}
diff --git a/Test/hlsl.struct.frag b/Test/hlsl.struct.frag
index 2c511a6..e602c9e 100644
--- a/Test/hlsl.struct.frag
+++ b/Test/hlsl.struct.frag
@@ -12,7 +12,7 @@
myS s1;
-struct {
+static struct {
float4 i;
} s2;
@@ -40,4 +40,4 @@
s2.i = s.ff4;
return input;
-}
\ No newline at end of file
+}
diff --git a/Test/hlsl.tx.bracket.frag b/Test/hlsl.tx.bracket.frag
new file mode 100644
index 0000000..0d3d81f
--- /dev/null
+++ b/Test/hlsl.tx.bracket.frag
@@ -0,0 +1,73 @@
+SamplerState g_sSamp : register(s0);
+
+Texture1D <float4> g_tTex1df4 : register(t0);
+Texture1D <int4> g_tTex1di4;
+Texture1D <uint4> g_tTex1du4;
+
+Texture2D <float4> g_tTex2df4;
+Texture2D <int4> g_tTex2di4;
+Texture2D <uint4> g_tTex2du4;
+
+Texture3D <float4> g_tTex3df4;
+Texture3D <int4> g_tTex3di4;
+Texture3D <uint4> g_tTex3du4;
+
+Texture1DArray <float4> g_tTex1df4a;
+Texture1DArray <int4> g_tTex1di4a;
+Texture1DArray <uint4> g_tTex1du4a;
+
+Texture2DArray <float4> g_tTex2df4a;
+Texture2DArray <int4> g_tTex2di4a;
+Texture2DArray <uint4> g_tTex2du4a;
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+};
+
+uniform int c1;
+uniform int2 c2;
+uniform int3 c3;
+uniform int4 c4;
+
+uniform int o1;
+uniform int2 o2;
+uniform int3 o3;
+uniform int4 o4;
+
+int4 Fn1(in int4 x) { return x; }
+uint4 Fn1(in uint4 x) { return x; }
+float4 Fn1(in float4 x) { return x; }
+
+float4 SomeValue() { return c4; }
+
+PS_OUTPUT main()
+{
+ PS_OUTPUT psout;
+
+ // 1D
+ g_tTex1df4[c1];
+
+ float4 r00 = g_tTex1df4[c1];
+ int4 r01 = g_tTex1di4[c1];
+ uint4 r02 = g_tTex1du4[c1];
+
+ // 2D
+ float4 r10 = g_tTex2df4[c2];
+ int4 r11 = g_tTex2di4[c2];
+ uint4 r12 = g_tTex2du4[c2];
+
+ // 3D
+ float4 r20 = g_tTex3df4[c3];
+ int4 r21 = g_tTex3di4[c3];
+ uint4 r22 = g_tTex3du4[c3];
+
+ // Test function calling
+ Fn1(g_tTex1df4[c1]); // in
+ Fn1(g_tTex1di4[c1]); // in
+ Fn1(g_tTex1du4[c1]); // in
+
+ psout.Color = 1.0;
+
+ return psout;
+}
diff --git a/Test/spv.register.autoassign.rangetest.frag b/Test/spv.register.autoassign.rangetest.frag
new file mode 100644
index 0000000..c81c395
--- /dev/null
+++ b/Test/spv.register.autoassign.rangetest.frag
@@ -0,0 +1,15 @@
+
+SamplerState g_tSamp : register(s5);
+
+Texture2D g_tScene[2] : register(t5);
+
+struct PS_OUTPUT
+{
+ float4 Color : SV_Target0;
+};
+
+void main(out PS_OUTPUT psout)
+{
+ psout.Color = g_tScene[0].Sample(g_tSamp, 0.3) +
+ g_tScene[1].Sample(g_tSamp, 0.3);
+}
diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index 636645e..e082356 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -68,6 +68,10 @@
{
return _strtoi64(str, endptr, base);
}
+inline unsigned long long int strtoull (const char* str, char** endptr, int base)
+{
+ return _strtoui64(str, endptr, base);
+}
inline long long int atoll (const char* str)
{
return strtoll(str, NULL, 10);
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index 35b4831..6c8cb82 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -78,6 +78,7 @@
bool combined : 1; // true means texture is combined with a sampler, false means texture with no sampler
bool sampler : 1; // true means a pure sampler, other fields should be clear()
bool external : 1; // GL_OES_EGL_image_external
+ unsigned int vectorSize : 3; // return vector size. TODO: support arbitrary types.
bool isImage() const { return image && dim != EsdSubpass; }
bool isSubpass() const { return dim == EsdSubpass; }
@@ -99,6 +100,7 @@
combined = false;
sampler = false;
external = false;
+ vectorSize = 4;
}
// make a combined sampler and texture
@@ -164,7 +166,8 @@
image == right.image &&
combined == right.combined &&
sampler == right.sampler &&
- external == right.external;
+ external == right.external &&
+ vectorSize == right.vectorSize;
}
bool operator!=(const TSampler& right) const
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 0521e2e..c8b1b10 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
-#define GLSLANG_REVISION "Overload400-PrecQual.1560"
-#define GLSLANG_DATE "07-Oct-2016"
+#define GLSLANG_REVISION "Overload400-PrecQual.1603"
+#define GLSLANG_DATE "16-Oct-2016"
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 58bc8a5..8e80bbd 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -136,13 +136,7 @@
// Need a new node holding things together. Make
// one and promote it to the right type.
//
- TIntermBinary* node = new TIntermBinary(op);
- if (loc.line == 0)
- loc = right->getLoc();
- node->setLoc(loc);
-
- node->setLeft(left);
- node->setRight(right);
+ TIntermBinary* node = addBinaryNode(op, left, right, loc);
if (! node->promote())
return 0;
@@ -173,6 +167,56 @@
}
//
+// Low level: add binary node (no promotions or other argument modifications)
+//
+TIntermBinary* TIntermediate::addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, TSourceLoc loc) const
+{
+ // build the node
+ TIntermBinary* node = new TIntermBinary(op);
+ if (loc.line == 0)
+ loc = left->getLoc();
+ node->setLoc(loc);
+ node->setLeft(left);
+ node->setRight(right);
+
+ return node;
+}
+
+//
+// like non-type form, but sets node's type.
+//
+TIntermBinary* TIntermediate::addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, TSourceLoc loc, const TType& type) const
+{
+ TIntermBinary* node = addBinaryNode(op, left, right, loc);
+ node->setType(type);
+ return node;
+}
+
+//
+// Low level: add unary node (no promotions or other argument modifications)
+//
+TIntermUnary* TIntermediate::addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc loc) const
+{
+ TIntermUnary* node = new TIntermUnary(op);
+ if (loc.line == 0)
+ loc = child->getLoc();
+ node->setLoc(loc);
+ node->setOperand(child);
+
+ return node;
+}
+
+//
+// like non-type form, but sets node's type.
+//
+TIntermUnary* TIntermediate::addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc loc, const TType& type) const
+{
+ TIntermUnary* node = addUnaryNode(op, child, loc);
+ node->setType(type);
+ return node;
+}
+
+//
// Connect two nodes through an assignment.
//
// Returns the added node.
@@ -200,12 +244,7 @@
right = addShapeConversion(op, left->getType(), right);
// build the node
- TIntermBinary* node = new TIntermBinary(op);
- if (loc.line == 0)
- loc = left->getLoc();
- node->setLoc(loc);
- node->setLeft(left);
- node->setRight(right);
+ TIntermBinary* node = addBinaryNode(op, left, right, loc);
if (! node->promote())
return nullptr;
@@ -224,16 +263,8 @@
//
TIntermTyped* TIntermediate::addIndex(TOperator op, TIntermTyped* base, TIntermTyped* index, TSourceLoc loc)
{
- TIntermBinary* node = new TIntermBinary(op);
- if (loc.line == 0)
- loc = index->getLoc();
- node->setLoc(loc);
- node->setLeft(base);
- node->setRight(index);
-
// caller should set the type
-
- return node;
+ return addBinaryNode(op, base, index, loc);
}
//
@@ -316,11 +347,7 @@
//
// Make a new node for the operator.
//
- TIntermUnary* node = new TIntermUnary(op);
- if (loc.line == 0)
- loc = child->getLoc();
- node->setLoc(loc);
- node->setOperand(child);
+ TIntermUnary* node = addUnaryNode(op, child, loc);
if (! node->promote())
return 0;
@@ -357,12 +384,7 @@
return folded;
}
- TIntermUnary* node = new TIntermUnary(op);
- node->setLoc(child->getLoc());
- node->setOperand(child);
- node->setType(returnType);
-
- return node;
+ return addUnaryNode(op, child, child->getLoc(), returnType);
} else {
// setAggregateOperater() calls fold() for constant folding
TIntermTyped* node = setAggregateOperator(childNode, op, returnType, loc);
@@ -725,9 +747,7 @@
}
TType newType(promoteTo, EvqTemporary, node->getVectorSize(), node->getMatrixCols(), node->getMatrixRows());
- newNode = new TIntermUnary(newOp, newType);
- newNode->setLoc(node->getLoc());
- newNode->setOperand(node);
+ newNode = addUnaryNode(newOp, node, node->getLoc(), newType);
// TODO: it seems that some unary folding operations should occur here, but are not
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index fe2b8e6..5949cd8 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -113,6 +113,114 @@
va_end(args);
}
+//
+// Both test and if necessary, spit out an error, to see if the node is really
+// an l-value that can be operated on this way.
+//
+// Returns true if there was an error.
+//
+bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node)
+{
+ TIntermBinary* binaryNode = node->getAsBinaryNode();
+
+ if (binaryNode) {
+ switch(binaryNode->getOp()) {
+ case EOpIndexDirect:
+ case EOpIndexIndirect: // fall through
+ case EOpIndexDirectStruct: // fall through
+ case EOpVectorSwizzle:
+ return lValueErrorCheck(loc, op, binaryNode->getLeft());
+ default:
+ break;
+ }
+ error(loc, " l-value required", op, "", "");
+
+ return true;
+ }
+
+ const char* symbol = nullptr;
+ TIntermSymbol* symNode = node->getAsSymbolNode();
+ if (symNode != nullptr)
+ symbol = symNode->getName().c_str();
+
+ const char* message = nullptr;
+ switch (node->getQualifier().storage) {
+ case EvqConst: message = "can't modify a const"; break;
+ case EvqConstReadOnly: message = "can't modify a const"; break;
+ case EvqUniform: message = "can't modify a uniform"; break;
+ case EvqBuffer:
+ if (node->getQualifier().readonly)
+ message = "can't modify a readonly buffer";
+ break;
+
+ default:
+ //
+ // Type that can't be written to?
+ //
+ switch (node->getBasicType()) {
+ case EbtSampler:
+ message = "can't modify a sampler";
+ break;
+ case EbtAtomicUint:
+ message = "can't modify an atomic_uint";
+ break;
+ case EbtVoid:
+ message = "can't modify void";
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (message == nullptr && binaryNode == nullptr && symNode == nullptr) {
+ error(loc, " l-value required", op, "", "");
+
+ return true;
+ }
+
+ //
+ // Everything else is okay, no error.
+ //
+ if (message == nullptr)
+ return false;
+
+ //
+ // If we get here, we have an error and a message.
+ //
+ if (symNode)
+ error(loc, " l-value required", op, "\"%s\" (%s)", symbol, message);
+ else
+ error(loc, " l-value required", op, "(%s)", message);
+
+ return true;
+}
+
+// Test for and give an error if the node can't be read from.
+void TParseContextBase::rValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node)
+{
+ if (! node)
+ return;
+
+ TIntermBinary* binaryNode = node->getAsBinaryNode();
+ if (binaryNode) {
+ switch(binaryNode->getOp()) {
+ case EOpIndexDirect:
+ case EOpIndexIndirect:
+ case EOpIndexDirectStruct:
+ case EOpVectorSwizzle:
+ rValueErrorCheck(loc, op, binaryNode->getLeft());
+ default:
+ break;
+ }
+
+ return;
+ }
+
+ TIntermSymbol* symNode = node->getAsSymbolNode();
+ if (symNode && symNode->getQualifier().writeonly)
+ error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str());
+}
+
// Make a shared symbol have a non-shared version that can be edited by the current
// compile, such that editing its type will not change the shared version and will
// effect all nodes sharing it.
@@ -253,7 +361,7 @@
return viableCandidates.front();
// 4. find best...
- auto betterParam = [&call, &better](const TFunction& can1, const TFunction& can2){
+ auto betterParam = [&call, &better](const TFunction& can1, const TFunction& can2) -> bool {
// is call -> can2 better than call -> can1 for any parameter
bool hasBetterParam = false;
for (int param = 0; param < call.getParamCount(); ++param) {
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index 949ba00..71ee4f3 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -1902,14 +1902,14 @@
// Both test and if necessary, spit out an error, to see if the node is really
// an l-value that can be operated on this way.
//
-// Returns true if the was an error.
+// Returns true if there was an error.
//
bool TParseContext::lValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node)
{
TIntermBinary* binaryNode = node->getAsBinaryNode();
if (binaryNode) {
- bool errorReturn;
+ bool errorReturn = false;
switch(binaryNode->getOp()) {
case EOpIndexDirect:
@@ -1928,9 +1928,9 @@
}
}
- // fall through
+ break; // left node is checked by base class
case EOpIndexDirectStruct:
- return lValueErrorCheck(loc, op, binaryNode->getLeft());
+ break; // left node is checked by base class
case EOpVectorSwizzle:
errorReturn = lValueErrorCheck(loc, op, binaryNode->getLeft());
if (!errorReturn) {
@@ -1955,11 +1955,16 @@
default:
break;
}
- error(loc, " l-value required", op, "", "");
- return true;
+ if (errorReturn) {
+ error(loc, " l-value required", op, "", "");
+ return true;
+ }
}
+ // Let the base class check errors
+ if (TParseContextBase::lValueErrorCheck(loc, op, node))
+ return true;
const char* symbol = nullptr;
TIntermSymbol* symNode = node->getAsSymbolNode();
@@ -1968,19 +1973,12 @@
const char* message = nullptr;
switch (node->getQualifier().storage) {
- case EvqConst: message = "can't modify a const"; break;
- case EvqConstReadOnly: message = "can't modify a const"; break;
case EvqVaryingIn: message = "can't modify shader input"; break;
case EvqInstanceId: message = "can't modify gl_InstanceID"; break;
case EvqVertexId: message = "can't modify gl_VertexID"; break;
case EvqFace: message = "can't modify gl_FrontFace"; break;
case EvqFragCoord: message = "can't modify gl_FragCoord"; break;
case EvqPointCoord: message = "can't modify gl_PointCoord"; break;
- case EvqUniform: message = "can't modify a uniform"; break;
- case EvqBuffer:
- if (node->getQualifier().readonly)
- message = "can't modify a readonly buffer";
- break;
case EvqFragDepth:
intermediate.setDepthReplacing();
// "In addition, it is an error to statically write to gl_FragDepth in the fragment shader."
@@ -1989,22 +1987,7 @@
break;
default:
- //
- // Type that can't be written to?
- //
- switch (node->getBasicType()) {
- case EbtSampler:
- message = "can't modify a sampler";
- break;
- case EbtAtomicUint:
- message = "can't modify an atomic_uint";
- break;
- case EbtVoid:
- message = "can't modify void";
- break;
- default:
- break;
- }
+ break;
}
if (message == nullptr && binaryNode == nullptr && symNode == nullptr) {
@@ -2013,7 +1996,6 @@
return true;
}
-
//
// Everything else is okay, no error.
//
@@ -2034,30 +2016,14 @@
// Test for and give an error if the node can't be read from.
void TParseContext::rValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node)
{
- if (! node)
- return;
+ // Let the base class check errors
+ TParseContextBase::rValueErrorCheck(loc, op, node);
- TIntermBinary* binaryNode = node->getAsBinaryNode();
- if (binaryNode) {
- switch(binaryNode->getOp()) {
- case EOpIndexDirect:
- case EOpIndexIndirect:
- case EOpIndexDirectStruct:
- case EOpVectorSwizzle:
- rValueErrorCheck(loc, op, binaryNode->getLeft());
- default:
- break;
- }
-
- return;
- }
-
- TIntermSymbol* symNode = node->getAsSymbolNode();
- if (symNode && symNode->getQualifier().writeonly)
- error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str());
#ifdef AMD_EXTENSIONS
- else if (symNode && symNode->getQualifier().explicitInterp)
- error(loc, "can't read from explicitly-interpolated object: ", op, symNode->getName().c_str());
+ TIntermSymbol* symNode = node->getAsSymbolNode();
+ if (!(symNode && symNode->getQualifier().writeonly)) // base class checks
+ if (symNode && symNode->getQualifier().explicitInterp)
+ error(loc, "can't read from explicitly-interpolated object: ", op, symNode->getName().c_str());
#endif
}
@@ -4907,7 +4873,7 @@
symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
// can 'from' convert to 'to'?
- const auto convertible = [this](const TType& from, const TType& to) {
+ const auto convertible = [this](const TType& from, const TType& to) -> bool {
if (from == to)
return true;
if (from.isArray() || to.isArray() || ! from.sameElementShape(to))
@@ -4918,7 +4884,7 @@
// Is 'to2' a better conversion than 'to1'?
// Ties should not be considered as better.
// Assumes 'convertible' already said true.
- const auto better = [](const TType& from, const TType& to1, const TType& to2) {
+ const auto better = [](const TType& from, const TType& to1, const TType& to2) -> bool {
// 1. exact match
if (from == to2)
return from != to1;
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index eab7835..0f60ff7 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -143,6 +143,9 @@
virtual void growGlobalUniformBlock(TSourceLoc&, TType&, TString& memberName);
virtual bool insertGlobalUniformBlock();
+ virtual bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
+ virtual void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
+
protected:
TParseContextBase(TParseContextBase&);
TParseContextBase& operator=(TParseContextBase&);
@@ -278,8 +281,8 @@
void unaryOpError(const TSourceLoc&, const char* op, TString operand);
void binaryOpError(const TSourceLoc&, const char* op, TString left, TString right);
void variableCheck(TIntermTyped*& nodePtr);
- bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
- void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
+ bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override;
+ void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override;
void constantValueCheck(TIntermTyped* node, const char* token);
void integerCheck(const TIntermTyped* node, const char* token);
void globalCheck(const TSourceLoc&, const char* token);
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index e00638b..6d04445 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -1497,6 +1497,7 @@
void TShader::setShiftUboBinding(unsigned int base) { intermediate->setShiftUboBinding(base); }
void TShader::setAutoMapBindings(bool map) { intermediate->setAutoMapBindings(map); }
void TShader::setFlattenUniformArrays(bool flatten) { intermediate->setFlattenUniformArrays(flatten); }
+void TShader::setNoStorageFormat(bool useUnknownFormat) { intermediate->setNoStorageFormat(useUnknownFormat); }
//
// Turn the shader strings into a parse tree in the TIntermediate.
@@ -1724,7 +1725,7 @@
for (int s = 0; s < EShLangCount; ++s) {
if (intermediate[s]) {
- if (! ioMapper->addStage((EShLanguage)s, *intermediate[s]))
+ if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink))
return false;
}
}
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
index d69cc13..15847dd 100644
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -34,6 +34,7 @@
//
#include "../Include/Common.h"
+#include "../Include/InfoSink.h"
#include "iomapper.h"
#include "LiveTraverser.h"
#include "localintermediate.h"
@@ -150,11 +151,30 @@
class TIoMappingTraverser : public TBindingTraverser {
public:
TIoMappingTraverser(TIntermediate& i, TBindingMap& bindingMap, TUsedBindings& usedBindings,
- bool traverseDeadCode) :
- TBindingTraverser(i, bindingMap, usedBindings, traverseDeadCode)
+ TInfoSink& infoSink, bool traverseDeadCode) :
+ TBindingTraverser(i, bindingMap, usedBindings, traverseDeadCode),
+ infoSink(infoSink),
+ assignError(false)
{ }
+ bool success() const { return !assignError; }
+
protected:
+ unsigned checkBindingRange(const TIntermSymbol& base, unsigned binding)
+ {
+ if (binding >= TQualifier::layoutBindingEnd) {
+ TString err = "mapped binding out of range: ";
+ err += base.getName();
+
+ infoSink.info.message(EPrefixInternalError, err.c_str());
+ assignError = true;
+
+ return 0;
+ }
+
+ return binding;
+ }
+
void addUniform(TIntermSymbol& base) override
{
// Skip things we don't intend to bind.
@@ -165,7 +185,7 @@
// Apply existing binding, if we were given one or already made one up.
if (existingBinding != -1) {
- base.getWritableType().getQualifier().layoutBinding = existingBinding;
+ base.getWritableType().getQualifier().layoutBinding = checkBindingRange(base, existingBinding);
return;
}
@@ -174,7 +194,7 @@
const int freeBinding = getFreeBinding(base.getType(), getBindingBase(base.getType()));
markBinding(base, freeBinding);
- base.getWritableType().getQualifier().layoutBinding = freeBinding;
+ base.getWritableType().getQualifier().layoutBinding = checkBindingRange(base, freeBinding);
}
}
@@ -195,13 +215,17 @@
return nextBinding;
}
+
+private:
+ bool assignError; // true if there was an error assigning the bindings
+ TInfoSink& infoSink;
};
// Map I/O variables to provided offsets, and make bindings for
// unbound but live variables.
//
// Returns false if the input is too malformed to do this.
-bool TIoMapper::addStage(EShLanguage, TIntermediate& intermediate)
+bool TIoMapper::addStage(EShLanguage, TIntermediate& intermediate, TInfoSink& infoSink)
{
// Trivial return if there is nothing to do.
if (intermediate.getShiftSamplerBinding() == 0 &&
@@ -223,7 +247,7 @@
TBindingTraverser it_binding_all(intermediate, bindingMap, usedBindings, true);
TBindingTraverser it_binding_live(intermediate, bindingMap, usedBindings, false);
- TIoMappingTraverser it_iomap(intermediate, bindingMap, usedBindings, true);
+ TIoMappingTraverser it_iomap(intermediate, bindingMap, usedBindings, infoSink, true);
// Traverse all (live+dead) code to find explicit bindings, so we can avoid those.
root->traverse(&it_binding_all);
@@ -240,7 +264,7 @@
// Bind everything that needs a binding and doesn't have one.
root->traverse(&it_iomap);
- return true;
+ return it_iomap.success();
}
} // end namespace glslang
diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h
index 69ed4c5..68dec77 100644
--- a/glslang/MachineIndependent/iomapper.h
+++ b/glslang/MachineIndependent/iomapper.h
@@ -42,6 +42,8 @@
// A reflection database and its interface, consistent with the OpenGL API reflection queries.
//
+class TInfoSink;
+
namespace glslang {
class TIntermediate;
@@ -53,7 +55,7 @@
virtual ~TIoMapper() {}
// grow the reflection stage by stage
- bool addStage(EShLanguage, TIntermediate&);
+ bool addStage(EShLanguage, TIntermediate&, TInfoSink&);
};
} // end namespace glslang
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index acfafb1..aae22ec 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -146,7 +146,8 @@
shiftTextureBinding(0),
shiftUboBinding(0),
autoMapBindings(false),
- flattenUniformArrays(false)
+ flattenUniformArrays(false),
+ useUnknownFormat(false)
{
localSize[0] = 1;
localSize[1] = 1;
@@ -179,7 +180,9 @@
bool getAutoMapBindings() const { return autoMapBindings; }
void setFlattenUniformArrays(bool flatten) { flattenUniformArrays = flatten; }
bool getFlattenUniformArrays() const { return flattenUniformArrays; }
-
+ void setNoStorageFormat(bool b) { useUnknownFormat = b; }
+ bool getNoStorageFormat() const { return useUnknownFormat; }
+
void setVersion(int v) { version = v; }
int getVersion() const { return version; }
void setProfile(EProfile p) { profile = p; }
@@ -236,6 +239,13 @@
TIntermBranch* addBranch(TOperator, TIntermTyped*, const TSourceLoc&);
TIntermTyped* addSwizzle(TVectorFields&, const TSourceLoc&);
+ // Low level functions to add nodes (no conversions or other higher level transformations)
+ // If a type is provided, the node's type will be set to it.
+ TIntermBinary* addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, TSourceLoc) const;
+ TIntermBinary* addBinaryNode(TOperator op, TIntermTyped* left, TIntermTyped* right, TSourceLoc, const TType&) const;
+ TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc) const;
+ TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc, const TType&) const;
+
// Constant folding (in Constant.cpp)
TIntermTyped* fold(TIntermAggregate* aggrNode);
TIntermTyped* foldConstructor(TIntermAggregate* aggrNode);
@@ -390,6 +400,7 @@
unsigned int shiftUboBinding;
bool autoMapBindings;
bool flattenUniformArrays;
+ bool useUnknownFormat;
EProfile profile;
int version;
diff --git a/glslang/OSDependent/Unix/ossource.cpp b/glslang/OSDependent/Unix/ossource.cpp
index 8e583ea..7e84d4e 100644
--- a/glslang/OSDependent/Unix/ossource.cpp
+++ b/glslang/OSDependent/Unix/ossource.cpp
@@ -165,11 +165,29 @@
return false;
}
-// TODO: non-windows: if we need these on linux, flesh them out
-void InitGlobalLock() { }
-void GetGlobalLock() { }
-void ReleaseGlobalLock() { }
+namespace {
+pthread_mutex_t gMutex;
+}
+void InitGlobalLock()
+{
+ pthread_mutexattr_t mutexattr;
+ pthread_mutexattr_init(&mutexattr);
+ pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_RECURSIVE);
+ pthread_mutex_init(&gMutex, &mutexattr);
+}
+
+void GetGlobalLock()
+{
+ pthread_mutex_lock(&gMutex);
+}
+
+void ReleaseGlobalLock()
+{
+ pthread_mutex_unlock(&gMutex);
+}
+
+// TODO: non-windows: if we need these on linux, flesh them out
void* OS_CreateThread(TThreadEntrypoint /*entry*/)
{
return 0;
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index 6b894c1..e5e8b4d 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -309,6 +309,7 @@
void setShiftUboBinding(unsigned int base);
void setAutoMapBindings(bool map);
void setFlattenUniformArrays(bool flatten);
+ void setNoStorageFormat(bool useUnknownFormat);
// Interface to #include handlers.
//
diff --git a/gtests/HexFloat.cpp b/gtests/HexFloat.cpp
index 248513c..ddbee1f 100644
--- a/gtests/HexFloat.cpp
+++ b/gtests/HexFloat.cpp
@@ -690,10 +690,10 @@
bool carry_bit = false;
spvutils::round_direction rounding[] = {
- spvutils::round_direction::kToZero,
- spvutils::round_direction::kToNearestEven,
- spvutils::round_direction::kToPositiveInfinity,
- spvutils::round_direction::kToNegativeInfinity};
+ spvutils::kRoundToZero,
+ spvutils::kRoundToNearestEven,
+ spvutils::kRoundToPositiveInfinity,
+ spvutils::kRoundToNegativeInfinity};
// Everything fits, so this should be straight-forward
for (spvutils::round_direction round : rounding) {
@@ -725,7 +725,6 @@
}
}
-using RD = spvutils::round_direction;
struct RoundSignificandCase {
float source_float;
std::pair<int16_t, bool> expected_results;
@@ -751,49 +750,49 @@
INSTANTIATE_TEST_CASE_P(F32ToF16, HexFloatRoundTest,
::testing::ValuesIn(std::vector<RoundSignificandCase>(
{
- {float_fractions({0}), std::make_pair(half_bits_set({}), false), RD::kToZero},
- {float_fractions({0}), std::make_pair(half_bits_set({}), false), RD::kToNearestEven},
- {float_fractions({0}), std::make_pair(half_bits_set({}), false), RD::kToPositiveInfinity},
- {float_fractions({0}), std::make_pair(half_bits_set({}), false), RD::kToNegativeInfinity},
- {float_fractions({0, 1}), std::make_pair(half_bits_set({0}), false), RD::kToZero},
+ {float_fractions({0}), std::make_pair(half_bits_set({}), false), spvutils::kRoundToZero},
+ {float_fractions({0}), std::make_pair(half_bits_set({}), false), spvutils::kRoundToNearestEven},
+ {float_fractions({0}), std::make_pair(half_bits_set({}), false), spvutils::kRoundToPositiveInfinity},
+ {float_fractions({0}), std::make_pair(half_bits_set({}), false), spvutils::kRoundToNegativeInfinity},
+ {float_fractions({0, 1}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToZero},
- {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0}), false), RD::kToZero},
- {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0, 9}), false), RD::kToPositiveInfinity},
- {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0}), false), RD::kToNegativeInfinity},
- {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0}), false), RD::kToNearestEven},
+ {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToZero},
+ {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToPositiveInfinity},
+ {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToNegativeInfinity},
+ {float_fractions({0, 1, 11}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToNearestEven},
- {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 9}), false), RD::kToZero},
- {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 8}), false), RD::kToPositiveInfinity},
- {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 9}), false), RD::kToNegativeInfinity},
- {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 8}), false), RD::kToNearestEven},
+ {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToZero},
+ {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 8}), false), spvutils::kRoundToPositiveInfinity},
+ {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToNegativeInfinity},
+ {float_fractions({0, 1, 10, 11}), std::make_pair(half_bits_set({0, 8}), false), spvutils::kRoundToNearestEven},
- {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), RD::kToZero},
- {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), RD::kToPositiveInfinity},
- {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), RD::kToNegativeInfinity},
- {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), RD::kToNearestEven},
+ {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToZero},
+ {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToPositiveInfinity},
+ {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToNegativeInfinity},
+ {float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToNearestEven},
- {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), RD::kToZero},
- {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), RD::kToPositiveInfinity},
- {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), RD::kToNegativeInfinity},
- {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), RD::kToNearestEven},
+ {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToZero},
+ {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToPositiveInfinity},
+ {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToNegativeInfinity},
+ {-float_fractions({0, 1, 11, 12}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToNearestEven},
- {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0}), false), RD::kToZero},
- {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0, 9}), false), RD::kToPositiveInfinity},
- {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0}), false), RD::kToNegativeInfinity},
- {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0, 9}), false), RD::kToNearestEven},
+ {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToZero},
+ {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToPositiveInfinity},
+ {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToNegativeInfinity},
+ {float_fractions({0, 1, 11, 22}), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToNearestEven},
// Carries
- {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({0, 1, 2, 3, 4, 5, 6, 7, 8, 9}), false), RD::kToZero},
- {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({}), true), RD::kToPositiveInfinity},
- {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({0, 1, 2, 3, 4, 5, 6, 7, 8, 9}), false), RD::kToNegativeInfinity},
- {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({}), true), RD::kToNearestEven},
+ {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({0, 1, 2, 3, 4, 5, 6, 7, 8, 9}), false), spvutils::kRoundToZero},
+ {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({}), true), spvutils::kRoundToPositiveInfinity},
+ {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({0, 1, 2, 3, 4, 5, 6, 7, 8, 9}), false), spvutils::kRoundToNegativeInfinity},
+ {float_fractions({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}), std::make_pair(half_bits_set({}), true), spvutils::kRoundToNearestEven},
// Cases where original number was denorm. Note: this should have no effect
// the number is pre-normalized.
- {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -128)), std::make_pair(half_bits_set({0}), false), RD::kToZero},
- {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -129)), std::make_pair(half_bits_set({0, 9}), false), RD::kToPositiveInfinity},
- {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -131)), std::make_pair(half_bits_set({0}), false), RD::kToNegativeInfinity},
- {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -130)), std::make_pair(half_bits_set({0, 9}), false), RD::kToNearestEven},
+ {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -128)), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToZero},
+ {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -129)), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToPositiveInfinity},
+ {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -131)), std::make_pair(half_bits_set({0}), false), spvutils::kRoundToNegativeInfinity},
+ {static_cast<float>(ldexp(float_fractions({0, 1, 11, 13}), -130)), std::make_pair(half_bits_set({0, 9}), false), spvutils::kRoundToNearestEven},
})),);
// clang-format on
@@ -810,10 +809,10 @@
bool carry_bit = false;
spvutils::round_direction rounding[] = {
- spvutils::round_direction::kToZero,
- spvutils::round_direction::kToNearestEven,
- spvutils::round_direction::kToPositiveInfinity,
- spvutils::round_direction::kToNegativeInfinity};
+ spvutils::kRoundToZero,
+ spvutils::kRoundToNearestEven,
+ spvutils::kRoundToPositiveInfinity,
+ spvutils::kRoundToNegativeInfinity};
// Everything fits, so everything should just be bit-shifts.
for (spvutils::round_direction round : rounding) {
@@ -852,10 +851,10 @@
return #round_direction
switch (direction) {
- CASE(spvutils::round_direction::kToZero);
- CASE(spvutils::round_direction::kToPositiveInfinity);
- CASE(spvutils::round_direction::kToNegativeInfinity);
- CASE(spvutils::round_direction::kToNearestEven);
+ CASE(spvutils::kRoundToZero);
+ CASE(spvutils::kRoundToPositiveInfinity);
+ CASE(spvutils::kRoundToNegativeInfinity);
+ CASE(spvutils::kRoundToNearestEven);
}
#undef CASE
return "";
@@ -884,35 +883,35 @@
::testing::ValuesIn(std::vector<DownCastTest>(
{
// Exactly representable as half.
- {0.f, 0x0, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-0.f, 0x8000, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {1.0f, 0x3C00, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-1.0f, 0xBC00, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
+ {0.f, 0x0, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {-0.f, 0x8000, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {1.0f, 0x3C00, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {-1.0f, 0xBC00, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
- {float_fractions({0, 1, 10}) , 0x3E01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-float_fractions({0, 1, 10}) , 0xBE01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(float_fractions({0, 1, 10}), 3)), 0x4A01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(float_fractions({0, 1, 10}), 3)), 0xCA01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
+ {float_fractions({0, 1, 10}) , 0x3E01, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {-float_fractions({0, 1, 10}) , 0xBE01, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(ldexp(float_fractions({0, 1, 10}), 3)), 0x4A01, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(-ldexp(float_fractions({0, 1, 10}), 3)), 0xCA01, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
// Underflow
- {static_cast<float>(ldexp(1.0f, -25)), 0x0, {RD::kToZero, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(1.0f, -25)), 0x1, {RD::kToPositiveInfinity}},
- {static_cast<float>(-ldexp(1.0f, -25)), 0x8000, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.0f, -25)), 0x8001, {RD::kToNegativeInfinity}},
- {static_cast<float>(ldexp(1.0f, -24)), 0x1, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
+ {static_cast<float>(ldexp(1.0f, -25)), 0x0, {spvutils::kRoundToZero, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(ldexp(1.0f, -25)), 0x1, {spvutils::kRoundToPositiveInfinity}},
+ {static_cast<float>(-ldexp(1.0f, -25)), 0x8000, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(-ldexp(1.0f, -25)), 0x8001, {spvutils::kRoundToNegativeInfinity}},
+ {static_cast<float>(ldexp(1.0f, -24)), 0x1, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
// Overflow
- {static_cast<float>(ldexp(1.0f, 16)), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(1.0f, 18)), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(1.3f, 16)), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.0f, 16)), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.0f, 18)), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.3f, 16)), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
+ {static_cast<float>(ldexp(1.0f, 16)), positive_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(ldexp(1.0f, 18)), positive_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(ldexp(1.3f, 16)), positive_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(-ldexp(1.0f, 16)), negative_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(-ldexp(1.0f, 18)), negative_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {static_cast<float>(-ldexp(1.3f, 16)), negative_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
// Transfer of Infinities
- {std::numeric_limits<float>::infinity(), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-std::numeric_limits<float>::infinity(), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
+ {std::numeric_limits<float>::infinity(), positive_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
+ {-std::numeric_limits<float>::infinity(), negative_infinity, {spvutils::kRoundToZero, spvutils::kRoundToPositiveInfinity, spvutils::kRoundToNegativeInfinity, spvutils::kRoundToNearestEven}},
// Nans are below because we cannot test for equality.
})),);
@@ -929,10 +928,10 @@
HF16 f(GetParam().source_half);
spvutils::round_direction rounding[] = {
- spvutils::round_direction::kToZero,
- spvutils::round_direction::kToNearestEven,
- spvutils::round_direction::kToPositiveInfinity,
- spvutils::round_direction::kToNegativeInfinity};
+ spvutils::kRoundToZero,
+ spvutils::kRoundToNearestEven,
+ spvutils::kRoundToPositiveInfinity,
+ spvutils::kRoundToNegativeInfinity};
// Everything fits, so everything should just be bit-shifts.
for (spvutils::round_direction round : rounding) {
@@ -972,10 +971,10 @@
using HF = spvutils::HexFloat<spvutils::FloatProxy<float>>;
using HF16 = spvutils::HexFloat<spvutils::FloatProxy<spvutils::Float16>>;
spvutils::round_direction rounding[] = {
- spvutils::round_direction::kToZero,
- spvutils::round_direction::kToNearestEven,
- spvutils::round_direction::kToPositiveInfinity,
- spvutils::round_direction::kToNegativeInfinity};
+ spvutils::kRoundToZero,
+ spvutils::kRoundToNearestEven,
+ spvutils::kRoundToPositiveInfinity,
+ spvutils::kRoundToNegativeInfinity};
// Everything fits, so everything should just be bit-shifts.
for (spvutils::round_direction round : rounding) {
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index 7b64217..b50816a 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -83,8 +83,10 @@
{"hlsl.amend.frag", "f1"},
{"hlsl.array.frag", "PixelShaderFunction"},
{"hlsl.array.implicit-size.frag", "PixelShaderFunction"},
+ {"hlsl.array.multidim.frag", "main"},
{"hlsl.assoc.frag", "PixelShaderFunction"},
{"hlsl.attribute.frag", "PixelShaderFunction"},
+ {"hlsl.basic.comp", "main"},
{"hlsl.buffer.frag", "PixelShaderFunction"},
{"hlsl.calculatelod.dx10.frag", "main"},
{"hlsl.calculatelodunclamped.dx10.frag", "main"},
@@ -134,6 +136,7 @@
{"hlsl.load.basic.dx10.frag", "main"},
{"hlsl.load.basic.dx10.vert", "main"},
{"hlsl.load.buffer.dx10.frag", "main"},
+ {"hlsl.load.buffer.float.dx10.frag", "main"},
{"hlsl.load.rwbuffer.dx10.frag", "main"},
{"hlsl.load.rwtexture.dx10.frag", "main"},
{"hlsl.load.rwtexture.array.dx10.frag", "main"},
@@ -147,6 +150,9 @@
{"hlsl.pp.line.frag", "main"},
{"hlsl.precise.frag", "main"},
{"hlsl.promotions.frag", "main"},
+ {"hlsl.rw.bracket.frag", "main"},
+ {"hlsl.rw.scalar.bracket.frag", "main"},
+ {"hlsl.rw.vec2.bracket.frag", "main"},
{"hlsl.sample.array.dx10.frag", "main"},
{"hlsl.sample.basic.dx10.frag", "main"},
{"hlsl.sample.offset.dx10.frag", "main"},
@@ -173,6 +179,7 @@
{"hlsl.samplelevel.basic.dx10.vert", "main"},
{"hlsl.samplelevel.offset.dx10.frag", "main"},
{"hlsl.samplelevel.offsetarray.dx10.frag", "main"},
+ { "hlsl.sample.sub-vec4.dx10.frag", "main"},
{"hlsl.semicolons.frag", "main"},
{"hlsl.shapeConv.frag", "main"},
{"hlsl.shapeConvRet.frag", "main"},
@@ -190,6 +197,7 @@
{"hlsl.switch.frag", "PixelShaderFunction"},
{"hlsl.swizzle.frag", "PixelShaderFunction"},
{"hlsl.templatetypes.frag", "PixelShaderFunction"},
+ {"hlsl.tx.bracket.frag", "main"},
{"hlsl.typedef.frag", "PixelShaderFunction"},
{"hlsl.whileLoop.frag", "PixelShaderFunction"},
{"hlsl.void.frag", "PixelShaderFunction"},
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 64312a3..a55af51 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -287,6 +287,10 @@
{ "spv.register.noautoassign.frag", "main_ep", 5, 10, 15, false, false },
{ "spv.register.autoassign-2.frag", "main", 5, 10, 15, true, true },
{ "spv.buffer.autoassign.frag", "main", 5, 10, 15, true, true },
+ { "spv.register.autoassign.rangetest.frag", "main",
+ glslang::TQualifier::layoutBindingEnd-2,
+ glslang::TQualifier::layoutBindingEnd+5,
+ 20, true, false },
}),
FileNameAsCustomTestSuffixIoMap
);
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 626d299..7766f85 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -907,12 +907,6 @@
return false;
}
- if (txType.getVectorSize() != 1 && txType.getVectorSize() != 4) {
- // TODO: handle vec2/3 types
- expected("vector size not yet supported in texture type");
- return false;
- }
-
if (ms && acceptTokenClass(EHTokComma)) {
// read sample count for multisample types, if given
if (! peekTokenClass(EHTokIntConstant)) {
@@ -937,24 +931,14 @@
}
TArraySizes* arraySizes = nullptr;
- const bool shadow = !image && (txType.isScalar() || (txType.isVector() && txType.getVectorSize() == 1));
+ const bool shadow = false; // declared on the sampler
TSampler sampler;
TLayoutFormat format = ElfNone;
- // RWBuffer and RWTexture (images) require a TLayoutFormat. We handle only a limit set.
- if (image) {
- if (txType.getVectorSize() != 4)
- expected("4 component image");
-
- switch (txType.getBasicType()) {
- case EbtFloat: format = ElfRgba32f; break;
- case EbtInt: format = ElfRgba32i; break;
- case EbtUint: format = ElfRgba32ui; break;
- default:
- expected("unknown basic type in image format");
- }
- }
+ // Buffer, RWBuffer and RWTexture (images) require a TLayoutFormat. We handle only a limit set.
+ if (image || dim == EsdBuffer)
+ format = parseContext.getLayoutFromTxType(token.loc, txType);
// Non-image Buffers are combined
if (dim == EsdBuffer && !image) {
@@ -967,6 +951,9 @@
sampler.setTexture(txType.getBasicType(), dim, array, shadow, ms);
}
}
+
+ // Remember the declared vector size.
+ sampler.vectorSize = txType.getVectorSize();
type.shallowCopy(TType(sampler, EvqUniform, arraySizes));
type.getQualifier().layoutFormat = format;
@@ -1783,6 +1770,8 @@
}
node = parseContext.handleAssign(loc, assignOp, node, rightNode);
+ node = parseContext.handleLvalue(loc, "assign", node);
+
if (node == nullptr) {
parseContext.error(loc, "could not create assignment", "", "");
return false;
@@ -1946,6 +1935,7 @@
return true;
node = intermediate.addUnaryMath(unaryOp, node, loc);
+ node = parseContext.handleLvalue(loc, "unary operator", node);
return node != nullptr;
}
@@ -2061,6 +2051,7 @@
case EOpPostDecrement:
// DEC_OP
node = intermediate.addUnaryMath(postOp, node, loc);
+ node = parseContext.handleLvalue(loc, "unary operator", node);
break;
default:
assert(0);
@@ -2676,35 +2667,40 @@
}
// array_specifier
-// : LEFT_BRACKET integer_expression RGHT_BRACKET post_decls // optional
-// : LEFT_BRACKET RGHT_BRACKET post_decls // optional
+// : LEFT_BRACKET integer_expression RGHT_BRACKET ... // optional
+// : LEFT_BRACKET RGHT_BRACKET // optional
//
void HlslGrammar::acceptArraySpecifier(TArraySizes*& arraySizes)
{
arraySizes = nullptr;
- if (! acceptTokenClass(EHTokLeftBracket))
+ // Early-out if there aren't any array dimensions
+ if (!peekTokenClass(EHTokLeftBracket))
return;
- TSourceLoc loc = token.loc;
- TIntermTyped* sizeExpr = nullptr;
-
- // Array sizing expression is optional. If ommitted, array is implicitly sized.
- const bool hasArraySize = acceptAssignmentExpression(sizeExpr);
-
- if (! acceptTokenClass(EHTokRightBracket)) {
- expected("]");
- return;
- }
-
+ // If we get here, we have at least one array dimension. This will track the sizes we find.
arraySizes = new TArraySizes;
-
- if (hasArraySize) {
- TArraySize arraySize;
- parseContext.arraySizeCheck(loc, sizeExpr, arraySize);
- arraySizes->addInnerSize(arraySize);
- } else {
- arraySizes->addInnerSize(); // implicitly sized
+
+ // Collect each array dimension.
+ while (acceptTokenClass(EHTokLeftBracket)) {
+ TSourceLoc loc = token.loc;
+ TIntermTyped* sizeExpr = nullptr;
+
+ // Array sizing expression is optional. If ommitted, array will be later sized by initializer list.
+ const bool hasArraySize = acceptAssignmentExpression(sizeExpr);
+
+ if (! acceptTokenClass(EHTokRightBracket)) {
+ expected("]");
+ return;
+ }
+
+ if (hasArraySize) {
+ TArraySize arraySize;
+ parseContext.arraySizeCheck(loc, sizeExpr, arraySize);
+ arraySizes->addInnerSize(arraySize);
+ } else {
+ arraySizes->addInnerSize(0); // sized by initializers.
+ }
}
}
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index 4eda44d..b4c417d 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -130,6 +130,299 @@
return numErrors == 0;
}
+//
+// Return true if this l-value node should be converted in some manner.
+// For instance: turning a load aggregate into a store in an l-value.
+//
+bool HlslParseContext::shouldConvertLValue(const TIntermNode* node) const
+{
+ if (node == nullptr)
+ return false;
+
+ const TIntermAggregate* lhsAsAggregate = node->getAsAggregate();
+
+ if (lhsAsAggregate != nullptr && lhsAsAggregate->getOp() == EOpImageLoad)
+ return true;
+
+ return false;
+}
+
+//
+// Return a TLayoutFormat corresponding to the given texture type.
+//
+TLayoutFormat HlslParseContext::getLayoutFromTxType(const TSourceLoc& loc, const TType& txType)
+{
+ const int components = txType.getVectorSize();
+
+ const auto selectFormat = [this,&components](TLayoutFormat v1, TLayoutFormat v2, TLayoutFormat v4) {
+ if (intermediate.getNoStorageFormat())
+ return ElfNone;
+
+ return components == 1 ? v1 :
+ components == 2 ? v2 : v4;
+ };
+
+ switch (txType.getBasicType()) {
+ case EbtFloat: return selectFormat(ElfR32f, ElfRg32f, ElfRgba32f);
+ case EbtInt: return selectFormat(ElfR32i, ElfRg32i, ElfRgba32i);
+ case EbtUint: return selectFormat(ElfR32ui, ElfRg32ui, ElfRgba32ui);
+ default:
+ error(loc, "unknown basic type in image format", "", "");
+ return ElfNone;
+ }
+}
+
+//
+// Both test and if necessary, spit out an error, to see if the node is really
+// an l-value that can be operated on this way.
+//
+// Returns true if there was an error.
+//
+bool HlslParseContext::lValueErrorCheck(const TSourceLoc& loc, const char* op, TIntermTyped* node)
+{
+ if (shouldConvertLValue(node)) {
+ // if we're writing to a texture, it must be an RW form.
+
+ TIntermAggregate* lhsAsAggregate = node->getAsAggregate();
+ TIntermTyped* object = lhsAsAggregate->getSequence()[0]->getAsTyped();
+
+ if (!object->getType().getSampler().isImage()) {
+ error(loc, "operator[] on a non-RW texture must be an r-value", "", "");
+ return true;
+ }
+ }
+
+ // Let the base class check errors
+ return TParseContextBase::lValueErrorCheck(loc, op, node);
+}
+
+//
+// This function handles l-value conversions and verifications. It uses, but is not synonymous
+// with lValueErrorCheck. That function accepts an l-value directly, while this one must be
+// given the surrounding tree - e.g, with an assignment, so we can convert the assign into a
+// series of other image operations.
+//
+// Most things are passed through unmodified, except for error checking.
+//
+TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* op, TIntermTyped* node)
+{
+ if (node == nullptr)
+ return nullptr;
+
+ TIntermBinary* nodeAsBinary = node->getAsBinaryNode();
+ TIntermUnary* nodeAsUnary = node->getAsUnaryNode();
+ TIntermAggregate* sequence = nullptr;
+
+ TIntermTyped* lhs = nodeAsUnary ? nodeAsUnary->getOperand() :
+ nodeAsBinary ? nodeAsBinary->getLeft() :
+ nullptr;
+
+ // Early bail out if there is no conversion to apply
+ if (!shouldConvertLValue(lhs)) {
+ if (lhs != nullptr)
+ if (lValueErrorCheck(loc, op, lhs))
+ return nullptr;
+ return node;
+ }
+
+ // *** If we get here, we're going to apply some conversion to an l-value.
+
+ // Helper to create a load.
+ const auto makeLoad = [&](TIntermSymbol* rhsTmp, TIntermTyped* object, TIntermTyped* coord, const TType& derefType) {
+ TIntermAggregate* loadOp = new TIntermAggregate(EOpImageLoad);
+ loadOp->setLoc(loc);
+ loadOp->getSequence().push_back(object);
+ loadOp->getSequence().push_back(intermediate.addSymbol(*coord->getAsSymbolNode()));
+ loadOp->setType(derefType);
+
+ sequence = intermediate.growAggregate(sequence,
+ intermediate.addAssign(EOpAssign, rhsTmp, loadOp, loc),
+ loc);
+ };
+
+ // Helper to create a store.
+ const auto makeStore = [&](TIntermTyped* object, TIntermTyped* coord, TIntermSymbol* rhsTmp) {
+ TIntermAggregate* storeOp = new TIntermAggregate(EOpImageStore);
+ storeOp->getSequence().push_back(object);
+ storeOp->getSequence().push_back(coord);
+ storeOp->getSequence().push_back(intermediate.addSymbol(*rhsTmp));
+ storeOp->setLoc(loc);
+ storeOp->setType(TType(EbtVoid));
+
+ sequence = intermediate.growAggregate(sequence, storeOp);
+ };
+
+ // Helper to create an assign.
+ const auto makeBinary = [&](TOperator op, TIntermTyped* lhs, TIntermTyped* rhs) {
+ sequence = intermediate.growAggregate(sequence,
+ intermediate.addBinaryNode(op, lhs, rhs, loc, lhs->getType()),
+ loc);
+ };
+
+ // Helper to complete sequence by adding trailing variable, so we evaluate to the right value.
+ const auto finishSequence = [&](TIntermSymbol* rhsTmp, const TType& derefType) {
+ // Add a trailing use of the temp, so the sequence returns the proper value.
+ sequence = intermediate.growAggregate(sequence, intermediate.addSymbol(*rhsTmp));
+ sequence->setOperator(EOpSequence);
+ sequence->setLoc(loc);
+ sequence->setType(derefType);
+
+ return sequence;
+ };
+
+ // Helper to add unary op
+ const auto makeUnary = [&](TOperator op, TIntermSymbol* rhsTmp) {
+ sequence = intermediate.growAggregate(sequence,
+ intermediate.addUnaryNode(op, intermediate.addSymbol(*rhsTmp), loc,
+ rhsTmp->getType()),
+ loc);
+ };
+
+ // helper to create a temporary variable
+ const auto addTmpVar = [&](const char* name, const TType& derefType) {
+ TVariable* tmpVar = makeInternalVariable(name, derefType);
+ tmpVar->getWritableType().getQualifier().makeTemporary();
+ return intermediate.addSymbol(*tmpVar, loc);
+ };
+
+ TIntermAggregate* lhsAsAggregate = lhs->getAsAggregate();
+ TIntermTyped* object = lhsAsAggregate->getSequence()[0]->getAsTyped();
+ TIntermTyped* coord = lhsAsAggregate->getSequence()[1]->getAsTyped();
+
+ const TSampler& texSampler = object->getType().getSampler();
+
+ const TType objDerefType(texSampler.type, EvqTemporary, texSampler.vectorSize);
+
+ if (nodeAsBinary) {
+ TIntermTyped* rhs = nodeAsBinary->getRight();
+ const TOperator assignOp = nodeAsBinary->getOp();
+
+ bool isModifyOp = false;
+
+ switch (assignOp) {
+ case EOpAddAssign:
+ case EOpSubAssign:
+ case EOpMulAssign:
+ case EOpVectorTimesMatrixAssign:
+ case EOpVectorTimesScalarAssign:
+ case EOpMatrixTimesScalarAssign:
+ case EOpMatrixTimesMatrixAssign:
+ case EOpDivAssign:
+ case EOpModAssign:
+ case EOpAndAssign:
+ case EOpInclusiveOrAssign:
+ case EOpExclusiveOrAssign:
+ case EOpLeftShiftAssign:
+ case EOpRightShiftAssign:
+ isModifyOp = true;
+ // fall through...
+ case EOpAssign:
+ {
+ // Since this is an lvalue, we'll convert an image load to a sequence like this (to still provide the value):
+ // OpSequence
+ // OpImageStore(object, lhs, rhs)
+ // rhs
+ // But if it's not a simple symbol RHS (say, a fn call), we don't want to duplicate the RHS, so we'll convert
+ // instead to this:
+ // OpSequence
+ // rhsTmp = rhs
+ // OpImageStore(object, coord, rhsTmp)
+ // rhsTmp
+ // If this is a read-modify-write op, like +=, we issue:
+ // OpSequence
+ // coordtmp = load's param1
+ // rhsTmp = OpImageLoad(object, coordTmp)
+ // rhsTmp op= rhs
+ // OpImageStore(object, coordTmp, rhsTmp)
+ // rhsTmp
+
+ TIntermSymbol* rhsTmp = rhs->getAsSymbolNode();
+ TIntermTyped* coordTmp = coord;
+
+ if (rhsTmp == nullptr || isModifyOp) {
+ rhsTmp = addTmpVar("storeTemp", objDerefType);
+
+ // Assign storeTemp = rhs
+ if (isModifyOp) {
+ // We have to make a temp var for the coordinate, to avoid evaluating it twice.
+ coordTmp = addTmpVar("coordTemp", coord->getType());
+ makeBinary(EOpAssign, coordTmp, coord); // coordtmp = load[param1]
+ makeLoad(rhsTmp, object, coordTmp, objDerefType); // rhsTmp = OpImageLoad(object, coordTmp)
+ }
+
+ // rhsTmp op= rhs.
+ makeBinary(assignOp, intermediate.addSymbol(*rhsTmp), rhs);
+ }
+
+ makeStore(object, coordTmp, rhsTmp); // add a store
+ return finishSequence(rhsTmp, objDerefType); // return rhsTmp from sequence
+ }
+
+ default:
+ break;
+ }
+ }
+
+ if (nodeAsUnary) {
+ const TOperator assignOp = nodeAsUnary->getOp();
+
+ switch (assignOp) {
+ case EOpPreIncrement:
+ case EOpPreDecrement:
+ {
+ // We turn this into:
+ // OpSequence
+ // coordtmp = load's param1
+ // rhsTmp = OpImageLoad(object, coordTmp)
+ // rhsTmp op
+ // OpImageStore(object, coordTmp, rhsTmp)
+ // rhsTmp
+
+ TIntermSymbol* rhsTmp = addTmpVar("storeTemp", objDerefType);
+ TIntermTyped* coordTmp = addTmpVar("coordTemp", coord->getType());
+
+ makeBinary(EOpAssign, coordTmp, coord); // coordtmp = load[param1]
+ makeLoad(rhsTmp, object, coordTmp, objDerefType); // rhsTmp = OpImageLoad(object, coordTmp)
+ makeUnary(assignOp, rhsTmp); // op rhsTmp
+ makeStore(object, coordTmp, rhsTmp); // OpImageStore(object, coordTmp, rhsTmp)
+ return finishSequence(rhsTmp, objDerefType); // return rhsTmp from sequence
+ }
+
+ case EOpPostIncrement:
+ case EOpPostDecrement:
+ {
+ // We turn this into:
+ // OpSequence
+ // coordtmp = load's param1
+ // rhsTmp1 = OpImageLoad(object, coordTmp)
+ // rhsTmp2 = rhsTmp1
+ // rhsTmp2 op
+ // OpImageStore(object, coordTmp, rhsTmp2)
+ // rhsTmp1 (pre-op value)
+ TIntermSymbol* rhsTmp1 = addTmpVar("storeTempPre", objDerefType);
+ TIntermSymbol* rhsTmp2 = addTmpVar("storeTempPost", objDerefType);
+ TIntermTyped* coordTmp = addTmpVar("coordTemp", coord->getType());
+
+ makeBinary(EOpAssign, coordTmp, coord); // coordtmp = load[param1]
+ makeLoad(rhsTmp1, object, coordTmp, objDerefType); // rhsTmp1 = OpImageLoad(object, coordTmp)
+ makeBinary(EOpAssign, rhsTmp2, rhsTmp1); // rhsTmp2 = rhsTmp1
+ makeUnary(assignOp, rhsTmp2); // rhsTmp op
+ makeStore(object, coordTmp, rhsTmp2); // OpImageStore(object, coordTmp, rhsTmp2)
+ return finishSequence(rhsTmp1, objDerefType); // return rhsTmp from sequence
+ }
+
+ default:
+ break;
+ }
+ }
+
+ if (lhs)
+ if (lValueErrorCheck(loc, op, lhs))
+ return nullptr;
+
+ return node;
+}
+
void HlslParseContext::handlePragma(const TSourceLoc& loc, const TVector<TString>& tokens)
{
if (pragmaCallback)
@@ -298,11 +591,44 @@
}
//
+// Handle operator[] on any objects it applies to. Currently:
+// Textures
+// Buffers
+//
+TIntermTyped* HlslParseContext::handleBracketOperator(const TSourceLoc& loc, TIntermTyped* base, TIntermTyped* index)
+{
+ // handle r-value operator[] on textures and images. l-values will be processed later.
+ if (base->getType().getBasicType() == EbtSampler && !base->isArray()) {
+ const TSampler& sampler = base->getType().getSampler();
+ if (sampler.isImage() || sampler.isTexture()) {
+ TIntermAggregate* load = new TIntermAggregate(sampler.isImage() ? EOpImageLoad : EOpTextureFetch);
+
+ load->setType(TType(sampler.type, EvqTemporary, sampler.vectorSize));
+ load->setLoc(loc);
+ load->getSequence().push_back(base);
+ load->getSequence().push_back(index);
+
+ // Textures need a MIP. First indirection is always to mip 0. If there's another, we'll add it
+ // later.
+ if (sampler.isTexture())
+ load->getSequence().push_back(intermediate.addConstantUnion(0, loc, true));
+
+ return load;
+ }
+ }
+
+ return nullptr;
+}
+
+//
// Handle seeing a base[index] dereference in the grammar.
//
TIntermTyped* HlslParseContext::handleBracketDereference(const TSourceLoc& loc, TIntermTyped* base, TIntermTyped* index)
{
- TIntermTyped* result = nullptr;
+ TIntermTyped* result = handleBracketOperator(loc, base, index);
+
+ if (result != nullptr)
+ return result; // it was handled as an operator[]
bool flattened = false;
int indexValue = 0;
@@ -425,10 +751,10 @@
field == "SampleLevel") {
// If it's not a method on a sampler object, we fall through in case it is a struct member.
if (base->getType().getBasicType() == EbtSampler) {
- const TSampler& texType = base->getType().getSampler();
- if (! texType.isPureSampler()) {
- const int vecSize = texType.isShadow() ? 1 : 4;
- return intermediate.addMethod(base, TType(texType.type, EvqTemporary, vecSize), &field, loc);
+ const TSampler& sampler = base->getType().getSampler();
+ if (! sampler.isPureSampler()) {
+ const int vecSize = sampler.isShadow() ? 1 : 4; // TODO: handle arbitrary sample return sizes
+ return intermediate.addMethod(base, TType(sampler.type, EvqTemporary, vecSize), &field, loc);
}
}
}
@@ -937,6 +1263,9 @@
// to intermediate.addAssign().
TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op, TIntermTyped* left, TIntermTyped* right) const
{
+ if (left == nullptr || right == nullptr)
+ return nullptr;
+
const auto mustFlatten = [&](const TIntermTyped& node) {
return shouldFlatten(node.getType()) && node.getAsSymbolNode() &&
flattenMap.find(node.getAsSymbolNode()->getId()) != flattenMap.end();
@@ -1001,7 +1330,7 @@
const auto getMember = [&](bool flatten, TIntermTyped* node,
const TVector<TVariable*>& memberVariables, int member,
- TOperator op, const TType& memberType) {
+ TOperator op, const TType& memberType) -> TIntermTyped * {
TIntermTyped* subTree;
if (flatten)
subTree = intermediate.addSymbol(*memberVariables[member]);
@@ -1111,6 +1440,23 @@
if (!node || !node->getAsOperator())
return;
+ const auto clampReturn = [&loc, &node, this](TIntermTyped* result, const TSampler& sampler) {
+ // Sampler return must always be a vec4, but we can construct a shorter vector
+ result->setType(TType(node->getType().getBasicType(), EvqTemporary, node->getVectorSize()));
+
+ if (sampler.vectorSize < (unsigned)node->getVectorSize()) {
+ // Too many components. Construct shorter vector from it.
+ const TType clampedType(result->getType().getBasicType(), EvqTemporary, sampler.vectorSize);
+
+ const TOperator op = intermediate.mapTypeToConstructorOp(clampedType);
+
+ result = constructBuiltIn(clampedType, op, result, loc, false);
+ }
+
+ result->setLoc(loc);
+ return result;
+ };
+
const TOperator op = node->getAsOperator()->getOp();
const TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr;
@@ -1119,10 +1465,8 @@
case EOpTexture:
{
// Texture with ddx & ddy is really gradient form in HLSL
- if (argAggregate->getSequence().size() == 4) {
+ if (argAggregate->getSequence().size() == 4)
node->getAsAggregate()->setOperator(EOpTextureGrad);
- break;
- }
break;
}
@@ -1138,14 +1482,16 @@
TIntermTyped* bias = intermediate.addIndex(EOpIndexDirect, arg1, w, loc);
TOperator constructOp = EOpNull;
- switch (arg0->getType().getSampler().dim) {
+ const TSampler& sampler = arg0->getType().getSampler();
+
+ switch (sampler.dim) {
case Esd1D: constructOp = EOpConstructFloat; break; // 1D
case Esd2D: constructOp = EOpConstructVec2; break; // 2D
case Esd3D: constructOp = EOpConstructVec3; break; // 3D
case EsdCube: constructOp = EOpConstructVec3; break; // also 3D
default: break;
}
-
+
TIntermAggregate* constructCoord = new TIntermAggregate(constructOp);
constructCoord->getSequence().push_back(arg1);
constructCoord->setLoc(loc);
@@ -1154,8 +1500,8 @@
tex->getSequence().push_back(arg0); // sampler
tex->getSequence().push_back(constructCoord); // coordinate
tex->getSequence().push_back(bias); // bias
- tex->setLoc(loc);
- node = tex;
+
+ node = clampReturn(tex, sampler);
break;
}
@@ -1169,6 +1515,7 @@
TIntermTyped* argCoord = argAggregate->getSequence()[2]->getAsTyped();
TIntermTyped* argBias = nullptr;
TIntermTyped* argOffset = nullptr;
+ const TSampler& sampler = argTex->getType().getSampler();
int nextArg = 3;
@@ -1194,9 +1541,7 @@
if (argOffset != nullptr)
txsample->getSequence().push_back(argOffset);
- txsample->setType(node->getType());
- txsample->setLoc(loc);
- node = txsample;
+ node = clampReturn(txsample, sampler);
break;
}
@@ -1209,6 +1554,7 @@
TIntermTyped* argDDX = argAggregate->getSequence()[3]->getAsTyped();
TIntermTyped* argDDY = argAggregate->getSequence()[4]->getAsTyped();
TIntermTyped* argOffset = nullptr;
+ const TSampler& sampler = argTex->getType().getSampler();
TOperator textureOp = EOpTextureGrad;
@@ -1228,9 +1574,7 @@
if (argOffset != nullptr)
txsample->getSequence().push_back(argOffset);
- txsample->setType(node->getType());
- txsample->setLoc(loc);
- node = txsample;
+ node = clampReturn(txsample, sampler);
break;
}
@@ -1249,9 +1593,9 @@
assert(texType.getBasicType() == EbtSampler);
- const TSampler& texSampler = texType.getSampler();
- const TSamplerDim dim = texSampler.dim;
- const bool isImage = texSampler.isImage();
+ const TSampler& sampler = texType.getSampler();
+ const TSamplerDim dim = sampler.dim;
+ const bool isImage = sampler.isImage();
const int numArgs = (int)argAggregate->getSequence().size();
int numDims = 0;
@@ -1261,17 +1605,17 @@
case Esd2D: numDims = 2; break; // W, H
case Esd3D: numDims = 3; break; // W, H, D
case EsdCube: numDims = 2; break; // W, H (cube)
- case EsdBuffer: numDims = 1; break; // buffers
+ case EsdBuffer: numDims = 1; break; // W (buffers)
default:
assert(0 && "unhandled texture dimension");
}
// Arrayed adds another dimension for the number of array elements
- if (texSampler.isArrayed())
+ if (sampler.isArrayed())
++numDims;
// Establish whether we're querying mip levels
- const bool mipQuery = (numArgs > (numDims + 1)) && (!texSampler.isMultiSample());
+ const bool mipQuery = (numArgs > (numDims + 1)) && (!sampler.isMultiSample());
// AST assumes integer return. Will be converted to float if required.
TIntermAggregate* sizeQuery = new TIntermAggregate(isImage ? EOpImageQuerySize : EOpTextureQuerySize);
@@ -1329,7 +1673,7 @@
}
// 2DMS formats query # samples, which needs a different query op
- if (texSampler.isMultiSample()) {
+ if (sampler.isMultiSample()) {
TIntermTyped* outParam = argAggregate->getSequence()[outParamBase + numDims]->getAsTyped();
TIntermAggregate* samplesQuery = new TIntermAggregate(EOpImageQuerySamples);
@@ -1418,9 +1762,10 @@
TIntermTyped* lodComponent = nullptr;
TIntermTyped* coordSwizzle = nullptr;
- const bool isMS = argTex->getType().getSampler().isMultiSample();
- const bool isBuffer = argTex->getType().getSampler().dim == EsdBuffer;
- const bool isImage = argTex->getType().getSampler().isImage();
+ const TSampler& sampler = argTex->getType().getSampler();
+ const bool isMS = sampler.isMultiSample();
+ const bool isBuffer = sampler.dim == EsdBuffer;
+ const bool isImage = sampler.isImage();
const TBasicType coordBaseType = argCoord->getType().getBasicType();
// Last component of coordinate is the mip level, for non-MS. we separate them here:
@@ -1474,9 +1819,7 @@
txfetch->getSequence().push_back(argOffset);
}
- txfetch->setType(node->getType());
- txfetch->setLoc(loc);
- node = txfetch;
+ node = clampReturn(txfetch, sampler);
break;
}
@@ -1488,7 +1831,8 @@
TIntermTyped* argCoord = argAggregate->getSequence()[2]->getAsTyped();
TIntermTyped* argLod = argAggregate->getSequence()[3]->getAsTyped();
TIntermTyped* argOffset = nullptr;
-
+ const TSampler& sampler = argTex->getType().getSampler();
+
const int numArgs = (int)argAggregate->getSequence().size();
if (numArgs == 5) // offset, if present
@@ -1506,9 +1850,7 @@
if (argOffset != nullptr)
txsample->getSequence().push_back(argOffset);
- txsample->setType(node->getType());
- txsample->setLoc(loc);
- node = txsample;
+ node = clampReturn(txsample, sampler);
break;
}
@@ -2260,12 +2602,13 @@
//
// Returns a node of a subtree that evaluates to the return value of the function.
//
-TIntermTyped* HlslParseContext::addOutputArgumentConversions(const TFunction& function, TIntermAggregate& intermNode) const
+TIntermTyped* HlslParseContext::addOutputArgumentConversions(const TFunction& function, TIntermAggregate& intermNode)
{
TIntermSequence& arguments = intermNode.getSequence();
const auto needsConversion = [&](int argNum) {
return function[argNum].type->getQualifier().isParamOutput() &&
(*function[argNum].type != arguments[argNum]->getAsTyped()->getType() ||
+ shouldConvertLValue(arguments[argNum]) ||
shouldFlatten(arguments[argNum]->getAsTyped()->getType()));
};
@@ -2313,7 +2656,8 @@
TIntermSymbol* tempArgNode = intermediate.addSymbol(*tempArg, intermNode.getLoc());
// This makes the deepest level, the member-wise copy
- TIntermTyped* tempAssign = handleAssign(arguments[i]->getLoc(), EOpAssign, arguments[i]->getAsTyped(), tempArgNode)->getAsAggregate();
+ TIntermTyped* tempAssign = handleAssign(arguments[i]->getLoc(), EOpAssign, arguments[i]->getAsTyped(), tempArgNode);
+ tempAssign = handleLvalue(arguments[i]->getLoc(), "assign", tempAssign);
conversionTree = intermediate.growAggregate(conversionTree, tempAssign, arguments[i]->getLoc());
// replace the argument with another node for the same tempArg variable
@@ -2591,6 +2935,8 @@
qualifier.builtIn = EbvTessLevelInner;
else if (semanticUpperCase == "SV_GSINSTANCEID")
qualifier.builtIn = EbvInvocationId;
+ else if (semanticUpperCase == "SV_DISPATCHTHREADID")
+ qualifier.builtIn = EbvLocalInvocationId;
else if (semanticUpperCase == "SV_GROUPTHREADID")
qualifier.builtIn = EbvLocalInvocationId;
else if (semanticUpperCase == "SV_GROUPID")
@@ -2599,6 +2945,8 @@
qualifier.builtIn = EbvTessCoord;
else if (semanticUpperCase == "SV_DEPTH")
qualifier.builtIn = EbvFragDepth;
+ else if( semanticUpperCase == "SV_COVERAGE")
+ qualifier.builtIn = EbvSampleMask;
//TODO, these need to get refined to be more specific
else if( semanticUpperCase == "SV_DEPTHGREATEREQUAL")
@@ -2606,9 +2954,9 @@
else if( semanticUpperCase == "SV_DEPTHLESSEQUAL")
qualifier.builtIn = EbvFragDepthLesser;
else if( semanticUpperCase == "SV_STENCILREF")
- error(loc, "unimplemented", "SV_STENCILREF", "");
- else if( semanticUpperCase == "SV_COVERAGE")
- error(loc, "unimplemented", "SV_COVERAGE", "");
+ error(loc, "unimplemented; need ARB_shader_stencil_export", "SV_STENCILREF", "");
+ else if( semanticUpperCase == "SV_GROUPINDEX")
+ error(loc, "unimplemented", "SV_GROUPINDEX", "");
}
//
@@ -2693,7 +3041,7 @@
// space
unsigned int setNumber;
- const auto crackSpace = [&]() {
+ const auto crackSpace = [&]() -> bool {
const int spaceLen = 5;
if (spaceDesc->size() < spaceLen + 1)
return false;
@@ -3889,7 +4237,7 @@
symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
// can 'from' convert to 'to'?
- const auto convertible = [this](const TType& from, const TType& to) {
+ const auto convertible = [this](const TType& from, const TType& to) -> bool {
if (from == to)
return true;
@@ -3916,7 +4264,7 @@
// Is 'to2' a better conversion than 'to1'?
// Ties should not be considered as better.
// Assumes 'convertible' already said true.
- const auto better = [](const TType& from, const TType& to1, const TType& to2) {
+ const auto better = [](const TType& from, const TType& to1, const TType& to2) -> bool {
// exact match is always better than mismatch
if (from == to2)
return from != to1;
@@ -3943,7 +4291,7 @@
// - 32 vs. 64 bit (or width in general)
// - bool vs. non bool
// - signed vs. not signed
- const auto linearize = [](const TBasicType& basicType) {
+ const auto linearize = [](const TBasicType& basicType) -> int {
switch (basicType) {
case EbtBool: return 1;
case EbtInt: return 10;
diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h
index c8ebdbe..2eeba5a 100755
--- a/hlsl/hlslParseHelper.h
+++ b/hlsl/hlslParseHelper.h
@@ -61,6 +61,7 @@
void handlePragma(const TSourceLoc&, const TVector<TString>&);
TIntermTyped* handleVariable(const TSourceLoc&, TSymbol* symbol, const TString* string);
TIntermTyped* handleBracketDereference(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index);
+ TIntermTyped* handleBracketOperator(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index);
void checkIndex(const TSourceLoc&, const TType&, int& index);
TIntermTyped* handleBinaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* left, TIntermTyped* right);
@@ -80,7 +81,7 @@
void decomposeSampleMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*);
void addInputArgumentConversions(const TFunction&, TIntermNode*&) const;
- TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermAggregate&) const;
+ TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermAggregate&);
void builtInOpCheck(const TSourceLoc&, const TFunction&, TIntermOperator&);
TFunction* handleConstructorCall(const TSourceLoc&, const TType&);
void handleSemantic(TSourceLoc, TQualifier&, const TString& semantic);
@@ -151,6 +152,12 @@
void pushSwitchSequence(TIntermSequence* sequence) { switchSequenceStack.push_back(sequence); }
void popSwitchSequence() { switchSequenceStack.pop_back(); }
+ // Apply L-value conversions. E.g, turning a write to a RWTexture into an ImageStore.
+ TIntermTyped* handleLvalue(const TSourceLoc&, const char* op, TIntermTyped* node);
+ bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override;
+
+ TLayoutFormat getLayoutFromTxType(const TSourceLoc&, const TType&);
+
protected:
void inheritGlobalDefaults(TQualifier& dst) const;
TVariable* makeInternalVariable(const char* name, const TType&) const;
@@ -160,6 +167,9 @@
TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer);
TOperator mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage);
+ // Return true if this node requires L-value conversion (e.g, to an imageStore).
+ bool shouldConvertLValue(const TIntermNode*) const;
+
// Array and struct flattening
bool shouldFlatten(const TType& type) const { return shouldFlattenIO(type) || shouldFlattenUniform(type); }
TIntermTyped* flattenAccess(TIntermTyped* base, int member);
diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp
index a2d500f..d33cfb8 100755
--- a/hlsl/hlslParseables.cpp
+++ b/hlsl/hlslParseables.cpp
@@ -708,15 +708,15 @@
{ "SampleLevel", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangAll },
{ "SampleLevel", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangAll },
- { "Load", /*!O*/ "V4", nullptr, "%@*,V", "FIU,I", EShLangAll },
+ { "Load", /*!O*/ "V4", nullptr, "%@,V", "FIU,I", EShLangAll },
{ "Load", /* O*/ "V4", nullptr, "%@,V,V", "FIU,I,I", EShLangAll },
{ "Load", /* +sampleidex*/ "V4", nullptr, "$&,V,S", "FIU,I,I", EShLangAll },
{ "Load", /* +samplindex, offset*/ "V4", nullptr, "$&,V,S,V", "FIU,I,I,I", EShLangAll },
// RWTexture loads
{ "Load", "V4", nullptr, "!#,V", "FIU,I", EShLangAll },
- // RWBuffer loads
- { "Load", "V4", nullptr, "~1,V", "FIU,I", EShLangAll },
+ // (RW)Buffer loads
+ { "Load", "V4", nullptr, "~*1,V", "FIU,I", EShLangAll },
{ "Gather", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll },
{ "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangAll },