Deduplicate vector constants in SPIR-V output.
Many of our shaders generate the same vector constant dozens of times, e.g. Gaussian blur uses float4(1) repeatedly. This change avoids re-emitting redundant vector constants. Change-Id: I22a71cd8b2783fb997f52d485b49031f64ca6d96 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350701 Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
This commit is contained in:
parent
95c1a08b24
commit
cd80689192
@ -44,8 +44,6 @@
|
||||
|
||||
namespace SkSL {
|
||||
|
||||
#define kLast_Capability SpvCapabilityMultiViewport
|
||||
|
||||
/**
|
||||
* Converts a Program into GLSL code.
|
||||
*/
|
||||
|
@ -46,8 +46,6 @@
|
||||
|
||||
namespace SkSL {
|
||||
|
||||
#define kLast_Capability SpvCapabilityMultiViewport
|
||||
|
||||
/**
|
||||
* Converts a Program into Metal code.
|
||||
*/
|
||||
|
@ -19,6 +19,8 @@
|
||||
#include "src/gpu/vk/GrVkCaps.h"
|
||||
#endif
|
||||
|
||||
#define kLast_Capability SpvCapabilityMultiViewport
|
||||
|
||||
namespace SkSL {
|
||||
|
||||
static const int32_t SKSL_MAGIC = 0x0; // FIXME: we should probably register a magic number
|
||||
@ -1148,30 +1150,40 @@ SpvId SPIRVCodeGenerator::writeFunctionCall(const FunctionCall& c, OutputStream&
|
||||
SpvId SPIRVCodeGenerator::writeConstantVector(const Constructor& c) {
|
||||
const Type& type = c.type();
|
||||
SkASSERT(type.isVector() && c.isCompileTimeConstant());
|
||||
SpvId result = this->nextId();
|
||||
std::vector<SpvId> arguments;
|
||||
for (const std::unique_ptr<Expression>& arg : c.arguments()) {
|
||||
arguments.push_back(this->writeExpression(*arg, fConstantBuffer));
|
||||
}
|
||||
SpvId typeId = this->getType(type);
|
||||
|
||||
SPIRVVectorConstant key{this->getType(type),
|
||||
/*fValueId=*/{SpvId(-1), SpvId(-1), SpvId(-1), SpvId(-1)}};
|
||||
size_t numValues;
|
||||
if (c.arguments().size() == 1) {
|
||||
// with a single argument, a vector will have all of its entries equal to the argument
|
||||
this->writeOpCode(SpvOpConstantComposite, 3 + type.columns(), fConstantBuffer);
|
||||
this->writeWord(typeId, fConstantBuffer);
|
||||
this->writeWord(result, fConstantBuffer);
|
||||
for (int i = 0; i < type.columns(); i++) {
|
||||
this->writeWord(arguments[0], fConstantBuffer);
|
||||
// GLSL automatically splats single-argument constructors across every column. In SPIR-V, we
|
||||
// need to handle this splat ourselves.
|
||||
numValues = type.columns();
|
||||
key.fValueId[0] = this->writeExpression(*c.arguments()[0], fConstantBuffer);
|
||||
for (size_t i = 1; i < numValues; i++) {
|
||||
key.fValueId[i] = key.fValueId[0];
|
||||
}
|
||||
} else {
|
||||
this->writeOpCode(SpvOpConstantComposite, 3 + (int32_t) c.arguments().size(),
|
||||
fConstantBuffer);
|
||||
this->writeWord(typeId, fConstantBuffer);
|
||||
this->writeWord(result, fConstantBuffer);
|
||||
for (SpvId id : arguments) {
|
||||
this->writeWord(id, fConstantBuffer);
|
||||
// A multi-argument constructor fills in each argument in order.
|
||||
numValues = c.arguments().size();
|
||||
for (size_t i = 0; i < numValues; i++) {
|
||||
key.fValueId[i] = this->writeExpression(*c.arguments()[i], fConstantBuffer);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
// Check to see if we've already synthesized this vector constant.
|
||||
auto [iter, newlyCreated] = fVectorConstants.insert({key, (SpvId)-1});
|
||||
if (newlyCreated) {
|
||||
// Emit an OpConstantComposite instruction for this constant.
|
||||
SpvId result = this->nextId();
|
||||
this->writeOpCode(SpvOpConstantComposite, 3 + numValues, fConstantBuffer);
|
||||
this->writeWord(key.fTypeId, fConstantBuffer);
|
||||
this->writeWord(result, fConstantBuffer);
|
||||
for (size_t i = 0; i < numValues; i++) {
|
||||
this->writeWord(key.fValueId[i], fConstantBuffer);
|
||||
}
|
||||
iter->second = result;
|
||||
}
|
||||
return iter->second;
|
||||
}
|
||||
|
||||
SpvId SPIRVCodeGenerator::writeFloatConstructor(const Constructor& c, OutputStream& out) {
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include <tuple>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "src/core/SkOpts.h"
|
||||
#include "src/sksl/SkSLCodeGenerator.h"
|
||||
#include "src/sksl/SkSLMemoryLayout.h"
|
||||
#include "src/sksl/SkSLStringStream.h"
|
||||
@ -41,6 +42,8 @@
|
||||
#include "src/sksl/ir/SkSLVariableReference.h"
|
||||
#include "src/sksl/spirv.h"
|
||||
|
||||
namespace SkSL {
|
||||
|
||||
union ConstantValue {
|
||||
ConstantValue(SKSL_INT i)
|
||||
: fInt(i) {
|
||||
@ -62,21 +65,40 @@ union ConstantValue {
|
||||
|
||||
using ConstantValuePair = std::pair<ConstantValue, SkSL::Type::NumberKind>;
|
||||
|
||||
struct SPIRVVectorConstant {
|
||||
bool operator==(const SPIRVVectorConstant& that) const {
|
||||
return fTypeId == that.fTypeId &&
|
||||
fValueId[0] == that.fValueId[0] &&
|
||||
fValueId[1] == that.fValueId[1] &&
|
||||
fValueId[2] == that.fValueId[2] &&
|
||||
fValueId[3] == that.fValueId[3];
|
||||
}
|
||||
SpvId fTypeId;
|
||||
SpvId fValueId[4];
|
||||
};
|
||||
|
||||
} // namespace SkSL
|
||||
|
||||
namespace std {
|
||||
|
||||
template <>
|
||||
struct hash<ConstantValuePair> {
|
||||
size_t operator()(const ConstantValuePair& key) const {
|
||||
struct hash<SkSL::ConstantValuePair> {
|
||||
size_t operator()(const SkSL::ConstantValuePair& key) const {
|
||||
return key.first.fInt ^ (int) key.second;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<SkSL::SPIRVVectorConstant> {
|
||||
size_t operator()(const SkSL::SPIRVVectorConstant& key) const {
|
||||
return SkOpts::hash(&key, sizeof(key));
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace std
|
||||
|
||||
namespace SkSL {
|
||||
|
||||
#define kLast_Capability SpvCapabilityMultiViewport
|
||||
|
||||
/**
|
||||
* Converts a Program into a SPIR-V binary.
|
||||
*/
|
||||
@ -383,6 +405,7 @@ private:
|
||||
SpvId fBoolTrue;
|
||||
SpvId fBoolFalse;
|
||||
std::unordered_map<ConstantValuePair, SpvId> fNumberConstants;
|
||||
std::unordered_map<SPIRVVectorConstant, SpvId> fVectorConstants;
|
||||
bool fSetupFragPosition;
|
||||
// label of the current block, or 0 if we are not in a block
|
||||
SpvId fCurrentBlock;
|
||||
|
@ -28,9 +28,9 @@ OpDecorate %dst RelaxedPrecision
|
||||
%void = OpTypeVoid
|
||||
%14 = OpTypeFunction %void
|
||||
%float_0 = OpConstant %float 0
|
||||
%16 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%17 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %14
|
||||
%15 = OpLabel
|
||||
OpStore %sk_FragColor %16
|
||||
OpStore %sk_FragColor %17
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -31,53 +31,53 @@ OpDecorate %32 RelaxedPrecision
|
||||
OpDecorate %34 RelaxedPrecision
|
||||
OpDecorate %43 RelaxedPrecision
|
||||
OpDecorate %45 RelaxedPrecision
|
||||
OpDecorate %47 RelaxedPrecision
|
||||
OpDecorate %48 RelaxedPrecision
|
||||
OpDecorate %49 RelaxedPrecision
|
||||
OpDecorate %50 RelaxedPrecision
|
||||
OpDecorate %56 RelaxedPrecision
|
||||
OpDecorate %58 RelaxedPrecision
|
||||
OpDecorate %60 RelaxedPrecision
|
||||
OpDecorate %65 RelaxedPrecision
|
||||
OpDecorate %67 RelaxedPrecision
|
||||
OpDecorate %69 RelaxedPrecision
|
||||
OpDecorate %72 RelaxedPrecision
|
||||
OpDecorate %55 RelaxedPrecision
|
||||
OpDecorate %57 RelaxedPrecision
|
||||
OpDecorate %59 RelaxedPrecision
|
||||
OpDecorate %64 RelaxedPrecision
|
||||
OpDecorate %66 RelaxedPrecision
|
||||
OpDecorate %68 RelaxedPrecision
|
||||
OpDecorate %71 RelaxedPrecision
|
||||
OpDecorate %76 RelaxedPrecision
|
||||
OpDecorate %77 RelaxedPrecision
|
||||
OpDecorate %78 RelaxedPrecision
|
||||
OpDecorate %82 RelaxedPrecision
|
||||
OpDecorate %83 RelaxedPrecision
|
||||
OpDecorate %84 RelaxedPrecision
|
||||
OpDecorate %85 RelaxedPrecision
|
||||
OpDecorate %88 RelaxedPrecision
|
||||
OpDecorate %87 RelaxedPrecision
|
||||
OpDecorate %89 RelaxedPrecision
|
||||
OpDecorate %90 RelaxedPrecision
|
||||
OpDecorate %91 RelaxedPrecision
|
||||
OpDecorate %92 RelaxedPrecision
|
||||
OpDecorate %97 RelaxedPrecision
|
||||
OpDecorate %98 RelaxedPrecision
|
||||
OpDecorate %99 RelaxedPrecision
|
||||
OpDecorate %102 RelaxedPrecision
|
||||
OpDecorate %103 RelaxedPrecision
|
||||
OpDecorate %104 RelaxedPrecision
|
||||
OpDecorate %110 RelaxedPrecision
|
||||
OpDecorate %111 RelaxedPrecision
|
||||
OpDecorate %112 RelaxedPrecision
|
||||
OpDecorate %113 RelaxedPrecision
|
||||
OpDecorate %115 RelaxedPrecision
|
||||
OpDecorate %116 RelaxedPrecision
|
||||
OpDecorate %117 RelaxedPrecision
|
||||
OpDecorate %118 RelaxedPrecision
|
||||
OpDecorate %119 RelaxedPrecision
|
||||
OpDecorate %120 RelaxedPrecision
|
||||
OpDecorate %121 RelaxedPrecision
|
||||
OpDecorate %122 RelaxedPrecision
|
||||
OpDecorate %126 RelaxedPrecision
|
||||
OpDecorate %127 RelaxedPrecision
|
||||
OpDecorate %128 RelaxedPrecision
|
||||
OpDecorate %129 RelaxedPrecision
|
||||
OpDecorate %130 RelaxedPrecision
|
||||
OpDecorate %131 RelaxedPrecision
|
||||
OpDecorate %132 RelaxedPrecision
|
||||
OpDecorate %133 RelaxedPrecision
|
||||
OpDecorate %134 RelaxedPrecision
|
||||
OpDecorate %135 RelaxedPrecision
|
||||
OpDecorate %136 RelaxedPrecision
|
||||
OpDecorate %137 RelaxedPrecision
|
||||
OpDecorate %138 RelaxedPrecision
|
||||
OpDecorate %142 RelaxedPrecision
|
||||
OpDecorate %144 RelaxedPrecision
|
||||
OpDecorate %141 RelaxedPrecision
|
||||
OpDecorate %143 RelaxedPrecision
|
||||
OpDecorate %145 RelaxedPrecision
|
||||
OpDecorate %146 RelaxedPrecision
|
||||
OpDecorate %147 RelaxedPrecision
|
||||
OpDecorate %148 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -96,8 +96,7 @@ OpDecorate %148 RelaxedPrecision
|
||||
%float_0_300000012 = OpConstant %float 0.300000012
|
||||
%float_0_589999974 = OpConstant %float 0.589999974
|
||||
%float_0_109999999 = OpConstant %float 0.109999999
|
||||
%39 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%47 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%42 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%false = OpConstantFalse %bool
|
||||
%float_0 = OpConstant %float 0
|
||||
%float_1 = OpConstant %float 1
|
||||
@ -110,7 +109,7 @@ OpDecorate %148 RelaxedPrecision
|
||||
%_6_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_7_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_8_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%107 = OpVariable %_ptr_Function_v3float Function
|
||||
%106 = OpVariable %_ptr_Function_v3float Function
|
||||
%18 = OpLoad %v4float %dst
|
||||
%19 = OpCompositeExtract %float %18 3
|
||||
%20 = OpLoad %v4float %src
|
||||
@ -130,125 +129,125 @@ OpStore %_2_sda %30
|
||||
%36 = OpVectorTimesScalar %v3float %33 %35
|
||||
OpStore %_3_dsa %36
|
||||
%43 = OpLoad %v3float %_3_dsa
|
||||
%38 = OpDot %float %39 %43
|
||||
%38 = OpDot %float %42 %43
|
||||
OpStore %_5_lum %38
|
||||
%45 = OpLoad %float %_5_lum
|
||||
%48 = OpLoad %v3float %_2_sda
|
||||
%46 = OpDot %float %47 %48
|
||||
%49 = OpFSub %float %45 %46
|
||||
%50 = OpLoad %v3float %_2_sda
|
||||
%51 = OpCompositeConstruct %v3float %49 %49 %49
|
||||
%52 = OpFAdd %v3float %51 %50
|
||||
OpStore %_6_result %52
|
||||
%56 = OpLoad %v3float %_6_result
|
||||
%57 = OpCompositeExtract %float %56 0
|
||||
%58 = OpLoad %v3float %_6_result
|
||||
%59 = OpCompositeExtract %float %58 1
|
||||
%55 = OpExtInst %float %1 FMin %57 %59
|
||||
%60 = OpLoad %v3float %_6_result
|
||||
%61 = OpCompositeExtract %float %60 2
|
||||
%54 = OpExtInst %float %1 FMin %55 %61
|
||||
OpStore %_7_minComp %54
|
||||
%65 = OpLoad %v3float %_6_result
|
||||
%66 = OpCompositeExtract %float %65 0
|
||||
%67 = OpLoad %v3float %_6_result
|
||||
%68 = OpCompositeExtract %float %67 1
|
||||
%64 = OpExtInst %float %1 FMax %66 %68
|
||||
%69 = OpLoad %v3float %_6_result
|
||||
%70 = OpCompositeExtract %float %69 2
|
||||
%63 = OpExtInst %float %1 FMax %64 %70
|
||||
OpStore %_8_maxComp %63
|
||||
%72 = OpLoad %float %_7_minComp
|
||||
%74 = OpFOrdLessThan %bool %72 %float_0
|
||||
OpSelectionMerge %76 None
|
||||
OpBranchConditional %74 %75 %76
|
||||
%47 = OpLoad %v3float %_2_sda
|
||||
%46 = OpDot %float %42 %47
|
||||
%48 = OpFSub %float %45 %46
|
||||
%49 = OpLoad %v3float %_2_sda
|
||||
%50 = OpCompositeConstruct %v3float %48 %48 %48
|
||||
%51 = OpFAdd %v3float %50 %49
|
||||
OpStore %_6_result %51
|
||||
%55 = OpLoad %v3float %_6_result
|
||||
%56 = OpCompositeExtract %float %55 0
|
||||
%57 = OpLoad %v3float %_6_result
|
||||
%58 = OpCompositeExtract %float %57 1
|
||||
%54 = OpExtInst %float %1 FMin %56 %58
|
||||
%59 = OpLoad %v3float %_6_result
|
||||
%60 = OpCompositeExtract %float %59 2
|
||||
%53 = OpExtInst %float %1 FMin %54 %60
|
||||
OpStore %_7_minComp %53
|
||||
%64 = OpLoad %v3float %_6_result
|
||||
%65 = OpCompositeExtract %float %64 0
|
||||
%66 = OpLoad %v3float %_6_result
|
||||
%67 = OpCompositeExtract %float %66 1
|
||||
%63 = OpExtInst %float %1 FMax %65 %67
|
||||
%68 = OpLoad %v3float %_6_result
|
||||
%69 = OpCompositeExtract %float %68 2
|
||||
%62 = OpExtInst %float %1 FMax %63 %69
|
||||
OpStore %_8_maxComp %62
|
||||
%71 = OpLoad %float %_7_minComp
|
||||
%73 = OpFOrdLessThan %bool %71 %float_0
|
||||
OpSelectionMerge %75 None
|
||||
OpBranchConditional %73 %74 %75
|
||||
%74 = OpLabel
|
||||
%76 = OpLoad %float %_5_lum
|
||||
%77 = OpLoad %float %_7_minComp
|
||||
%78 = OpFOrdNotEqual %bool %76 %77
|
||||
OpBranch %75
|
||||
%75 = OpLabel
|
||||
%77 = OpLoad %float %_5_lum
|
||||
%78 = OpLoad %float %_7_minComp
|
||||
%79 = OpFOrdNotEqual %bool %77 %78
|
||||
OpBranch %76
|
||||
%76 = OpLabel
|
||||
%80 = OpPhi %bool %false %15 %79 %75
|
||||
OpSelectionMerge %82 None
|
||||
OpBranchConditional %80 %81 %82
|
||||
%79 = OpPhi %bool %false %15 %78 %74
|
||||
OpSelectionMerge %81 None
|
||||
OpBranchConditional %79 %80 %81
|
||||
%80 = OpLabel
|
||||
%82 = OpLoad %float %_5_lum
|
||||
%83 = OpLoad %v3float %_6_result
|
||||
%84 = OpLoad %float %_5_lum
|
||||
%85 = OpCompositeConstruct %v3float %84 %84 %84
|
||||
%86 = OpFSub %v3float %83 %85
|
||||
%87 = OpLoad %float %_5_lum
|
||||
%88 = OpVectorTimesScalar %v3float %86 %87
|
||||
%89 = OpLoad %float %_5_lum
|
||||
%90 = OpLoad %float %_7_minComp
|
||||
%91 = OpFSub %float %89 %90
|
||||
%93 = OpFDiv %float %float_1 %91
|
||||
%94 = OpVectorTimesScalar %v3float %88 %93
|
||||
%95 = OpCompositeConstruct %v3float %82 %82 %82
|
||||
%96 = OpFAdd %v3float %95 %94
|
||||
OpStore %_6_result %96
|
||||
OpBranch %81
|
||||
%81 = OpLabel
|
||||
%83 = OpLoad %float %_5_lum
|
||||
%84 = OpLoad %v3float %_6_result
|
||||
%85 = OpLoad %float %_5_lum
|
||||
%86 = OpCompositeConstruct %v3float %85 %85 %85
|
||||
%87 = OpFSub %v3float %84 %86
|
||||
%88 = OpLoad %float %_5_lum
|
||||
%89 = OpVectorTimesScalar %v3float %87 %88
|
||||
%90 = OpLoad %float %_5_lum
|
||||
%91 = OpLoad %float %_7_minComp
|
||||
%92 = OpFSub %float %90 %91
|
||||
%94 = OpFDiv %float %float_1 %92
|
||||
%95 = OpVectorTimesScalar %v3float %89 %94
|
||||
%96 = OpCompositeConstruct %v3float %83 %83 %83
|
||||
%97 = OpFAdd %v3float %96 %95
|
||||
OpStore %_6_result %97
|
||||
OpBranch %82
|
||||
%82 = OpLabel
|
||||
%98 = OpLoad %float %_8_maxComp
|
||||
%99 = OpLoad %float %_1_alpha
|
||||
%100 = OpFOrdGreaterThan %bool %98 %99
|
||||
OpSelectionMerge %102 None
|
||||
OpBranchConditional %100 %101 %102
|
||||
%97 = OpLoad %float %_8_maxComp
|
||||
%98 = OpLoad %float %_1_alpha
|
||||
%99 = OpFOrdGreaterThan %bool %97 %98
|
||||
OpSelectionMerge %101 None
|
||||
OpBranchConditional %99 %100 %101
|
||||
%100 = OpLabel
|
||||
%102 = OpLoad %float %_8_maxComp
|
||||
%103 = OpLoad %float %_5_lum
|
||||
%104 = OpFOrdNotEqual %bool %102 %103
|
||||
OpBranch %101
|
||||
%101 = OpLabel
|
||||
%103 = OpLoad %float %_8_maxComp
|
||||
%104 = OpLoad %float %_5_lum
|
||||
%105 = OpFOrdNotEqual %bool %103 %104
|
||||
OpBranch %102
|
||||
%102 = OpLabel
|
||||
%106 = OpPhi %bool %false %82 %105 %101
|
||||
OpSelectionMerge %110 None
|
||||
OpBranchConditional %106 %108 %109
|
||||
%105 = OpPhi %bool %false %81 %104 %100
|
||||
OpSelectionMerge %109 None
|
||||
OpBranchConditional %105 %107 %108
|
||||
%107 = OpLabel
|
||||
%110 = OpLoad %float %_5_lum
|
||||
%111 = OpLoad %v3float %_6_result
|
||||
%112 = OpLoad %float %_5_lum
|
||||
%113 = OpCompositeConstruct %v3float %112 %112 %112
|
||||
%114 = OpFSub %v3float %111 %113
|
||||
%115 = OpLoad %float %_1_alpha
|
||||
%116 = OpLoad %float %_5_lum
|
||||
%117 = OpFSub %float %115 %116
|
||||
%118 = OpVectorTimesScalar %v3float %114 %117
|
||||
%119 = OpLoad %float %_8_maxComp
|
||||
%120 = OpLoad %float %_5_lum
|
||||
%121 = OpFSub %float %119 %120
|
||||
%122 = OpFDiv %float %float_1 %121
|
||||
%123 = OpVectorTimesScalar %v3float %118 %122
|
||||
%124 = OpCompositeConstruct %v3float %110 %110 %110
|
||||
%125 = OpFAdd %v3float %124 %123
|
||||
OpStore %106 %125
|
||||
OpBranch %109
|
||||
%108 = OpLabel
|
||||
%111 = OpLoad %float %_5_lum
|
||||
%112 = OpLoad %v3float %_6_result
|
||||
%113 = OpLoad %float %_5_lum
|
||||
%114 = OpCompositeConstruct %v3float %113 %113 %113
|
||||
%115 = OpFSub %v3float %112 %114
|
||||
%116 = OpLoad %float %_1_alpha
|
||||
%117 = OpLoad %float %_5_lum
|
||||
%118 = OpFSub %float %116 %117
|
||||
%119 = OpVectorTimesScalar %v3float %115 %118
|
||||
%120 = OpLoad %float %_8_maxComp
|
||||
%121 = OpLoad %float %_5_lum
|
||||
%122 = OpFSub %float %120 %121
|
||||
%123 = OpFDiv %float %float_1 %122
|
||||
%124 = OpVectorTimesScalar %v3float %119 %123
|
||||
%125 = OpCompositeConstruct %v3float %111 %111 %111
|
||||
%126 = OpFAdd %v3float %125 %124
|
||||
OpStore %107 %126
|
||||
OpBranch %110
|
||||
%126 = OpLoad %v3float %_6_result
|
||||
OpStore %106 %126
|
||||
OpBranch %109
|
||||
%109 = OpLabel
|
||||
%127 = OpLoad %v3float %_6_result
|
||||
OpStore %107 %127
|
||||
OpBranch %110
|
||||
%110 = OpLabel
|
||||
%128 = OpLoad %v3float %107
|
||||
%129 = OpLoad %v4float %dst
|
||||
%130 = OpVectorShuffle %v3float %129 %129 0 1 2
|
||||
%131 = OpFAdd %v3float %128 %130
|
||||
%132 = OpLoad %v3float %_3_dsa
|
||||
%133 = OpFSub %v3float %131 %132
|
||||
%134 = OpLoad %v4float %src
|
||||
%135 = OpVectorShuffle %v3float %134 %134 0 1 2
|
||||
%136 = OpFAdd %v3float %133 %135
|
||||
%137 = OpLoad %v3float %_2_sda
|
||||
%138 = OpFSub %v3float %136 %137
|
||||
%139 = OpCompositeExtract %float %138 0
|
||||
%140 = OpCompositeExtract %float %138 1
|
||||
%141 = OpCompositeExtract %float %138 2
|
||||
%142 = OpLoad %v4float %src
|
||||
%143 = OpCompositeExtract %float %142 3
|
||||
%144 = OpLoad %v4float %dst
|
||||
%145 = OpCompositeExtract %float %144 3
|
||||
%146 = OpFAdd %float %143 %145
|
||||
%147 = OpLoad %float %_1_alpha
|
||||
%148 = OpFSub %float %146 %147
|
||||
%149 = OpCompositeConstruct %v4float %139 %140 %141 %148
|
||||
OpStore %sk_FragColor %149
|
||||
%127 = OpLoad %v3float %106
|
||||
%128 = OpLoad %v4float %dst
|
||||
%129 = OpVectorShuffle %v3float %128 %128 0 1 2
|
||||
%130 = OpFAdd %v3float %127 %129
|
||||
%131 = OpLoad %v3float %_3_dsa
|
||||
%132 = OpFSub %v3float %130 %131
|
||||
%133 = OpLoad %v4float %src
|
||||
%134 = OpVectorShuffle %v3float %133 %133 0 1 2
|
||||
%135 = OpFAdd %v3float %132 %134
|
||||
%136 = OpLoad %v3float %_2_sda
|
||||
%137 = OpFSub %v3float %135 %136
|
||||
%138 = OpCompositeExtract %float %137 0
|
||||
%139 = OpCompositeExtract %float %137 1
|
||||
%140 = OpCompositeExtract %float %137 2
|
||||
%141 = OpLoad %v4float %src
|
||||
%142 = OpCompositeExtract %float %141 3
|
||||
%143 = OpLoad %v4float %dst
|
||||
%144 = OpCompositeExtract %float %143 3
|
||||
%145 = OpFAdd %float %142 %144
|
||||
%146 = OpLoad %float %_1_alpha
|
||||
%147 = OpFSub %float %145 %146
|
||||
%148 = OpCompositeConstruct %v4float %138 %139 %140 %147
|
||||
OpStore %sk_FragColor %148
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -76,53 +76,53 @@ OpDecorate %161 RelaxedPrecision
|
||||
OpDecorate %164 RelaxedPrecision
|
||||
OpDecorate %174 RelaxedPrecision
|
||||
OpDecorate %176 RelaxedPrecision
|
||||
OpDecorate %178 RelaxedPrecision
|
||||
OpDecorate %179 RelaxedPrecision
|
||||
OpDecorate %180 RelaxedPrecision
|
||||
OpDecorate %181 RelaxedPrecision
|
||||
OpDecorate %187 RelaxedPrecision
|
||||
OpDecorate %189 RelaxedPrecision
|
||||
OpDecorate %191 RelaxedPrecision
|
||||
OpDecorate %196 RelaxedPrecision
|
||||
OpDecorate %198 RelaxedPrecision
|
||||
OpDecorate %200 RelaxedPrecision
|
||||
OpDecorate %203 RelaxedPrecision
|
||||
OpDecorate %186 RelaxedPrecision
|
||||
OpDecorate %188 RelaxedPrecision
|
||||
OpDecorate %190 RelaxedPrecision
|
||||
OpDecorate %195 RelaxedPrecision
|
||||
OpDecorate %197 RelaxedPrecision
|
||||
OpDecorate %199 RelaxedPrecision
|
||||
OpDecorate %202 RelaxedPrecision
|
||||
OpDecorate %206 RelaxedPrecision
|
||||
OpDecorate %207 RelaxedPrecision
|
||||
OpDecorate %208 RelaxedPrecision
|
||||
OpDecorate %212 RelaxedPrecision
|
||||
OpDecorate %213 RelaxedPrecision
|
||||
OpDecorate %214 RelaxedPrecision
|
||||
OpDecorate %215 RelaxedPrecision
|
||||
OpDecorate %218 RelaxedPrecision
|
||||
OpDecorate %217 RelaxedPrecision
|
||||
OpDecorate %219 RelaxedPrecision
|
||||
OpDecorate %220 RelaxedPrecision
|
||||
OpDecorate %221 RelaxedPrecision
|
||||
OpDecorate %222 RelaxedPrecision
|
||||
OpDecorate %227 RelaxedPrecision
|
||||
OpDecorate %228 RelaxedPrecision
|
||||
OpDecorate %229 RelaxedPrecision
|
||||
OpDecorate %232 RelaxedPrecision
|
||||
OpDecorate %233 RelaxedPrecision
|
||||
OpDecorate %234 RelaxedPrecision
|
||||
OpDecorate %240 RelaxedPrecision
|
||||
OpDecorate %241 RelaxedPrecision
|
||||
OpDecorate %242 RelaxedPrecision
|
||||
OpDecorate %243 RelaxedPrecision
|
||||
OpDecorate %245 RelaxedPrecision
|
||||
OpDecorate %246 RelaxedPrecision
|
||||
OpDecorate %247 RelaxedPrecision
|
||||
OpDecorate %248 RelaxedPrecision
|
||||
OpDecorate %249 RelaxedPrecision
|
||||
OpDecorate %250 RelaxedPrecision
|
||||
OpDecorate %251 RelaxedPrecision
|
||||
OpDecorate %252 RelaxedPrecision
|
||||
OpDecorate %256 RelaxedPrecision
|
||||
OpDecorate %257 RelaxedPrecision
|
||||
OpDecorate %258 RelaxedPrecision
|
||||
OpDecorate %259 RelaxedPrecision
|
||||
OpDecorate %260 RelaxedPrecision
|
||||
OpDecorate %261 RelaxedPrecision
|
||||
OpDecorate %262 RelaxedPrecision
|
||||
OpDecorate %263 RelaxedPrecision
|
||||
OpDecorate %264 RelaxedPrecision
|
||||
OpDecorate %265 RelaxedPrecision
|
||||
OpDecorate %266 RelaxedPrecision
|
||||
OpDecorate %267 RelaxedPrecision
|
||||
OpDecorate %268 RelaxedPrecision
|
||||
OpDecorate %272 RelaxedPrecision
|
||||
OpDecorate %274 RelaxedPrecision
|
||||
OpDecorate %271 RelaxedPrecision
|
||||
OpDecorate %273 RelaxedPrecision
|
||||
OpDecorate %275 RelaxedPrecision
|
||||
OpDecorate %276 RelaxedPrecision
|
||||
OpDecorate %277 RelaxedPrecision
|
||||
OpDecorate %278 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -144,8 +144,7 @@ OpDecorate %278 RelaxedPrecision
|
||||
%float_0_300000012 = OpConstant %float 0.300000012
|
||||
%float_0_589999974 = OpConstant %float 0.589999974
|
||||
%float_0_109999999 = OpConstant %float 0.109999999
|
||||
%170 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%178 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%173 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%false = OpConstantFalse %bool
|
||||
%float_1 = OpConstant %float 1
|
||||
%_blend_set_color_saturation_helper = OpFunction %v3float None %15
|
||||
@ -208,7 +207,7 @@ OpFunctionEnd
|
||||
%_8_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_9_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_10_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%237 = OpVariable %_ptr_Function_v3float Function
|
||||
%236 = OpVariable %_ptr_Function_v3float Function
|
||||
%52 = OpLoad %v4float %dst
|
||||
%53 = OpCompositeExtract %float %52 3
|
||||
%54 = OpLoad %v4float %src
|
||||
@ -352,125 +351,125 @@ OpBranch %138
|
||||
OpBranch %95
|
||||
%95 = OpLabel
|
||||
%174 = OpLoad %v3float %_3_dsa
|
||||
%169 = OpDot %float %170 %174
|
||||
%169 = OpDot %float %173 %174
|
||||
OpStore %_7_lum %169
|
||||
%176 = OpLoad %float %_7_lum
|
||||
%179 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%177 = OpDot %float %178 %179
|
||||
%180 = OpFSub %float %176 %177
|
||||
%181 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%182 = OpCompositeConstruct %v3float %180 %180 %180
|
||||
%183 = OpFAdd %v3float %182 %181
|
||||
OpStore %_8_result %183
|
||||
%187 = OpLoad %v3float %_8_result
|
||||
%188 = OpCompositeExtract %float %187 0
|
||||
%189 = OpLoad %v3float %_8_result
|
||||
%190 = OpCompositeExtract %float %189 1
|
||||
%186 = OpExtInst %float %1 FMin %188 %190
|
||||
%191 = OpLoad %v3float %_8_result
|
||||
%192 = OpCompositeExtract %float %191 2
|
||||
%185 = OpExtInst %float %1 FMin %186 %192
|
||||
OpStore %_9_minComp %185
|
||||
%196 = OpLoad %v3float %_8_result
|
||||
%197 = OpCompositeExtract %float %196 0
|
||||
%198 = OpLoad %v3float %_8_result
|
||||
%199 = OpCompositeExtract %float %198 1
|
||||
%195 = OpExtInst %float %1 FMax %197 %199
|
||||
%200 = OpLoad %v3float %_8_result
|
||||
%201 = OpCompositeExtract %float %200 2
|
||||
%194 = OpExtInst %float %1 FMax %195 %201
|
||||
OpStore %_10_maxComp %194
|
||||
%203 = OpLoad %float %_9_minComp
|
||||
%204 = OpFOrdLessThan %bool %203 %float_0
|
||||
OpSelectionMerge %206 None
|
||||
OpBranchConditional %204 %205 %206
|
||||
%178 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%177 = OpDot %float %173 %178
|
||||
%179 = OpFSub %float %176 %177
|
||||
%180 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%181 = OpCompositeConstruct %v3float %179 %179 %179
|
||||
%182 = OpFAdd %v3float %181 %180
|
||||
OpStore %_8_result %182
|
||||
%186 = OpLoad %v3float %_8_result
|
||||
%187 = OpCompositeExtract %float %186 0
|
||||
%188 = OpLoad %v3float %_8_result
|
||||
%189 = OpCompositeExtract %float %188 1
|
||||
%185 = OpExtInst %float %1 FMin %187 %189
|
||||
%190 = OpLoad %v3float %_8_result
|
||||
%191 = OpCompositeExtract %float %190 2
|
||||
%184 = OpExtInst %float %1 FMin %185 %191
|
||||
OpStore %_9_minComp %184
|
||||
%195 = OpLoad %v3float %_8_result
|
||||
%196 = OpCompositeExtract %float %195 0
|
||||
%197 = OpLoad %v3float %_8_result
|
||||
%198 = OpCompositeExtract %float %197 1
|
||||
%194 = OpExtInst %float %1 FMax %196 %198
|
||||
%199 = OpLoad %v3float %_8_result
|
||||
%200 = OpCompositeExtract %float %199 2
|
||||
%193 = OpExtInst %float %1 FMax %194 %200
|
||||
OpStore %_10_maxComp %193
|
||||
%202 = OpLoad %float %_9_minComp
|
||||
%203 = OpFOrdLessThan %bool %202 %float_0
|
||||
OpSelectionMerge %205 None
|
||||
OpBranchConditional %203 %204 %205
|
||||
%204 = OpLabel
|
||||
%206 = OpLoad %float %_7_lum
|
||||
%207 = OpLoad %float %_9_minComp
|
||||
%208 = OpFOrdNotEqual %bool %206 %207
|
||||
OpBranch %205
|
||||
%205 = OpLabel
|
||||
%207 = OpLoad %float %_7_lum
|
||||
%208 = OpLoad %float %_9_minComp
|
||||
%209 = OpFOrdNotEqual %bool %207 %208
|
||||
OpBranch %206
|
||||
%206 = OpLabel
|
||||
%210 = OpPhi %bool %false %95 %209 %205
|
||||
OpSelectionMerge %212 None
|
||||
OpBranchConditional %210 %211 %212
|
||||
%209 = OpPhi %bool %false %95 %208 %204
|
||||
OpSelectionMerge %211 None
|
||||
OpBranchConditional %209 %210 %211
|
||||
%210 = OpLabel
|
||||
%212 = OpLoad %float %_7_lum
|
||||
%213 = OpLoad %v3float %_8_result
|
||||
%214 = OpLoad %float %_7_lum
|
||||
%215 = OpCompositeConstruct %v3float %214 %214 %214
|
||||
%216 = OpFSub %v3float %213 %215
|
||||
%217 = OpLoad %float %_7_lum
|
||||
%218 = OpVectorTimesScalar %v3float %216 %217
|
||||
%219 = OpLoad %float %_7_lum
|
||||
%220 = OpLoad %float %_9_minComp
|
||||
%221 = OpFSub %float %219 %220
|
||||
%223 = OpFDiv %float %float_1 %221
|
||||
%224 = OpVectorTimesScalar %v3float %218 %223
|
||||
%225 = OpCompositeConstruct %v3float %212 %212 %212
|
||||
%226 = OpFAdd %v3float %225 %224
|
||||
OpStore %_8_result %226
|
||||
OpBranch %211
|
||||
%211 = OpLabel
|
||||
%213 = OpLoad %float %_7_lum
|
||||
%214 = OpLoad %v3float %_8_result
|
||||
%215 = OpLoad %float %_7_lum
|
||||
%216 = OpCompositeConstruct %v3float %215 %215 %215
|
||||
%217 = OpFSub %v3float %214 %216
|
||||
%218 = OpLoad %float %_7_lum
|
||||
%219 = OpVectorTimesScalar %v3float %217 %218
|
||||
%220 = OpLoad %float %_7_lum
|
||||
%221 = OpLoad %float %_9_minComp
|
||||
%222 = OpFSub %float %220 %221
|
||||
%224 = OpFDiv %float %float_1 %222
|
||||
%225 = OpVectorTimesScalar %v3float %219 %224
|
||||
%226 = OpCompositeConstruct %v3float %213 %213 %213
|
||||
%227 = OpFAdd %v3float %226 %225
|
||||
OpStore %_8_result %227
|
||||
OpBranch %212
|
||||
%212 = OpLabel
|
||||
%228 = OpLoad %float %_10_maxComp
|
||||
%229 = OpLoad %float %_1_alpha
|
||||
%230 = OpFOrdGreaterThan %bool %228 %229
|
||||
OpSelectionMerge %232 None
|
||||
OpBranchConditional %230 %231 %232
|
||||
%227 = OpLoad %float %_10_maxComp
|
||||
%228 = OpLoad %float %_1_alpha
|
||||
%229 = OpFOrdGreaterThan %bool %227 %228
|
||||
OpSelectionMerge %231 None
|
||||
OpBranchConditional %229 %230 %231
|
||||
%230 = OpLabel
|
||||
%232 = OpLoad %float %_10_maxComp
|
||||
%233 = OpLoad %float %_7_lum
|
||||
%234 = OpFOrdNotEqual %bool %232 %233
|
||||
OpBranch %231
|
||||
%231 = OpLabel
|
||||
%233 = OpLoad %float %_10_maxComp
|
||||
%234 = OpLoad %float %_7_lum
|
||||
%235 = OpFOrdNotEqual %bool %233 %234
|
||||
OpBranch %232
|
||||
%232 = OpLabel
|
||||
%236 = OpPhi %bool %false %212 %235 %231
|
||||
OpSelectionMerge %240 None
|
||||
OpBranchConditional %236 %238 %239
|
||||
%235 = OpPhi %bool %false %211 %234 %230
|
||||
OpSelectionMerge %239 None
|
||||
OpBranchConditional %235 %237 %238
|
||||
%237 = OpLabel
|
||||
%240 = OpLoad %float %_7_lum
|
||||
%241 = OpLoad %v3float %_8_result
|
||||
%242 = OpLoad %float %_7_lum
|
||||
%243 = OpCompositeConstruct %v3float %242 %242 %242
|
||||
%244 = OpFSub %v3float %241 %243
|
||||
%245 = OpLoad %float %_1_alpha
|
||||
%246 = OpLoad %float %_7_lum
|
||||
%247 = OpFSub %float %245 %246
|
||||
%248 = OpVectorTimesScalar %v3float %244 %247
|
||||
%249 = OpLoad %float %_10_maxComp
|
||||
%250 = OpLoad %float %_7_lum
|
||||
%251 = OpFSub %float %249 %250
|
||||
%252 = OpFDiv %float %float_1 %251
|
||||
%253 = OpVectorTimesScalar %v3float %248 %252
|
||||
%254 = OpCompositeConstruct %v3float %240 %240 %240
|
||||
%255 = OpFAdd %v3float %254 %253
|
||||
OpStore %236 %255
|
||||
OpBranch %239
|
||||
%238 = OpLabel
|
||||
%241 = OpLoad %float %_7_lum
|
||||
%242 = OpLoad %v3float %_8_result
|
||||
%243 = OpLoad %float %_7_lum
|
||||
%244 = OpCompositeConstruct %v3float %243 %243 %243
|
||||
%245 = OpFSub %v3float %242 %244
|
||||
%246 = OpLoad %float %_1_alpha
|
||||
%247 = OpLoad %float %_7_lum
|
||||
%248 = OpFSub %float %246 %247
|
||||
%249 = OpVectorTimesScalar %v3float %245 %248
|
||||
%250 = OpLoad %float %_10_maxComp
|
||||
%251 = OpLoad %float %_7_lum
|
||||
%252 = OpFSub %float %250 %251
|
||||
%253 = OpFDiv %float %float_1 %252
|
||||
%254 = OpVectorTimesScalar %v3float %249 %253
|
||||
%255 = OpCompositeConstruct %v3float %241 %241 %241
|
||||
%256 = OpFAdd %v3float %255 %254
|
||||
OpStore %237 %256
|
||||
OpBranch %240
|
||||
%256 = OpLoad %v3float %_8_result
|
||||
OpStore %236 %256
|
||||
OpBranch %239
|
||||
%239 = OpLabel
|
||||
%257 = OpLoad %v3float %_8_result
|
||||
OpStore %237 %257
|
||||
OpBranch %240
|
||||
%240 = OpLabel
|
||||
%258 = OpLoad %v3float %237
|
||||
%259 = OpLoad %v4float %dst
|
||||
%260 = OpVectorShuffle %v3float %259 %259 0 1 2
|
||||
%261 = OpFAdd %v3float %258 %260
|
||||
%262 = OpLoad %v3float %_3_dsa
|
||||
%263 = OpFSub %v3float %261 %262
|
||||
%264 = OpLoad %v4float %src
|
||||
%265 = OpVectorShuffle %v3float %264 %264 0 1 2
|
||||
%266 = OpFAdd %v3float %263 %265
|
||||
%267 = OpLoad %v3float %_2_sda
|
||||
%268 = OpFSub %v3float %266 %267
|
||||
%269 = OpCompositeExtract %float %268 0
|
||||
%270 = OpCompositeExtract %float %268 1
|
||||
%271 = OpCompositeExtract %float %268 2
|
||||
%272 = OpLoad %v4float %src
|
||||
%273 = OpCompositeExtract %float %272 3
|
||||
%274 = OpLoad %v4float %dst
|
||||
%275 = OpCompositeExtract %float %274 3
|
||||
%276 = OpFAdd %float %273 %275
|
||||
%277 = OpLoad %float %_1_alpha
|
||||
%278 = OpFSub %float %276 %277
|
||||
%279 = OpCompositeConstruct %v4float %269 %270 %271 %278
|
||||
OpStore %sk_FragColor %279
|
||||
%257 = OpLoad %v3float %236
|
||||
%258 = OpLoad %v4float %dst
|
||||
%259 = OpVectorShuffle %v3float %258 %258 0 1 2
|
||||
%260 = OpFAdd %v3float %257 %259
|
||||
%261 = OpLoad %v3float %_3_dsa
|
||||
%262 = OpFSub %v3float %260 %261
|
||||
%263 = OpLoad %v4float %src
|
||||
%264 = OpVectorShuffle %v3float %263 %263 0 1 2
|
||||
%265 = OpFAdd %v3float %262 %264
|
||||
%266 = OpLoad %v3float %_2_sda
|
||||
%267 = OpFSub %v3float %265 %266
|
||||
%268 = OpCompositeExtract %float %267 0
|
||||
%269 = OpCompositeExtract %float %267 1
|
||||
%270 = OpCompositeExtract %float %267 2
|
||||
%271 = OpLoad %v4float %src
|
||||
%272 = OpCompositeExtract %float %271 3
|
||||
%273 = OpLoad %v4float %dst
|
||||
%274 = OpCompositeExtract %float %273 3
|
||||
%275 = OpFAdd %float %272 %274
|
||||
%276 = OpLoad %float %_1_alpha
|
||||
%277 = OpFSub %float %275 %276
|
||||
%278 = OpCompositeConstruct %v4float %268 %269 %270 %277
|
||||
OpStore %sk_FragColor %278
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -31,53 +31,53 @@ OpDecorate %32 RelaxedPrecision
|
||||
OpDecorate %34 RelaxedPrecision
|
||||
OpDecorate %43 RelaxedPrecision
|
||||
OpDecorate %45 RelaxedPrecision
|
||||
OpDecorate %47 RelaxedPrecision
|
||||
OpDecorate %48 RelaxedPrecision
|
||||
OpDecorate %49 RelaxedPrecision
|
||||
OpDecorate %50 RelaxedPrecision
|
||||
OpDecorate %56 RelaxedPrecision
|
||||
OpDecorate %58 RelaxedPrecision
|
||||
OpDecorate %60 RelaxedPrecision
|
||||
OpDecorate %65 RelaxedPrecision
|
||||
OpDecorate %67 RelaxedPrecision
|
||||
OpDecorate %69 RelaxedPrecision
|
||||
OpDecorate %72 RelaxedPrecision
|
||||
OpDecorate %55 RelaxedPrecision
|
||||
OpDecorate %57 RelaxedPrecision
|
||||
OpDecorate %59 RelaxedPrecision
|
||||
OpDecorate %64 RelaxedPrecision
|
||||
OpDecorate %66 RelaxedPrecision
|
||||
OpDecorate %68 RelaxedPrecision
|
||||
OpDecorate %71 RelaxedPrecision
|
||||
OpDecorate %76 RelaxedPrecision
|
||||
OpDecorate %77 RelaxedPrecision
|
||||
OpDecorate %78 RelaxedPrecision
|
||||
OpDecorate %82 RelaxedPrecision
|
||||
OpDecorate %83 RelaxedPrecision
|
||||
OpDecorate %84 RelaxedPrecision
|
||||
OpDecorate %85 RelaxedPrecision
|
||||
OpDecorate %88 RelaxedPrecision
|
||||
OpDecorate %87 RelaxedPrecision
|
||||
OpDecorate %89 RelaxedPrecision
|
||||
OpDecorate %90 RelaxedPrecision
|
||||
OpDecorate %91 RelaxedPrecision
|
||||
OpDecorate %92 RelaxedPrecision
|
||||
OpDecorate %97 RelaxedPrecision
|
||||
OpDecorate %98 RelaxedPrecision
|
||||
OpDecorate %99 RelaxedPrecision
|
||||
OpDecorate %102 RelaxedPrecision
|
||||
OpDecorate %103 RelaxedPrecision
|
||||
OpDecorate %104 RelaxedPrecision
|
||||
OpDecorate %110 RelaxedPrecision
|
||||
OpDecorate %111 RelaxedPrecision
|
||||
OpDecorate %112 RelaxedPrecision
|
||||
OpDecorate %113 RelaxedPrecision
|
||||
OpDecorate %115 RelaxedPrecision
|
||||
OpDecorate %116 RelaxedPrecision
|
||||
OpDecorate %117 RelaxedPrecision
|
||||
OpDecorate %118 RelaxedPrecision
|
||||
OpDecorate %119 RelaxedPrecision
|
||||
OpDecorate %120 RelaxedPrecision
|
||||
OpDecorate %121 RelaxedPrecision
|
||||
OpDecorate %122 RelaxedPrecision
|
||||
OpDecorate %126 RelaxedPrecision
|
||||
OpDecorate %127 RelaxedPrecision
|
||||
OpDecorate %128 RelaxedPrecision
|
||||
OpDecorate %129 RelaxedPrecision
|
||||
OpDecorate %130 RelaxedPrecision
|
||||
OpDecorate %131 RelaxedPrecision
|
||||
OpDecorate %132 RelaxedPrecision
|
||||
OpDecorate %133 RelaxedPrecision
|
||||
OpDecorate %134 RelaxedPrecision
|
||||
OpDecorate %135 RelaxedPrecision
|
||||
OpDecorate %136 RelaxedPrecision
|
||||
OpDecorate %137 RelaxedPrecision
|
||||
OpDecorate %138 RelaxedPrecision
|
||||
OpDecorate %142 RelaxedPrecision
|
||||
OpDecorate %144 RelaxedPrecision
|
||||
OpDecorate %141 RelaxedPrecision
|
||||
OpDecorate %143 RelaxedPrecision
|
||||
OpDecorate %145 RelaxedPrecision
|
||||
OpDecorate %146 RelaxedPrecision
|
||||
OpDecorate %147 RelaxedPrecision
|
||||
OpDecorate %148 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -96,8 +96,7 @@ OpDecorate %148 RelaxedPrecision
|
||||
%float_0_300000012 = OpConstant %float 0.300000012
|
||||
%float_0_589999974 = OpConstant %float 0.589999974
|
||||
%float_0_109999999 = OpConstant %float 0.109999999
|
||||
%39 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%47 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%42 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%false = OpConstantFalse %bool
|
||||
%float_0 = OpConstant %float 0
|
||||
%float_1 = OpConstant %float 1
|
||||
@ -110,7 +109,7 @@ OpDecorate %148 RelaxedPrecision
|
||||
%_6_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_7_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_8_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%107 = OpVariable %_ptr_Function_v3float Function
|
||||
%106 = OpVariable %_ptr_Function_v3float Function
|
||||
%18 = OpLoad %v4float %dst
|
||||
%19 = OpCompositeExtract %float %18 3
|
||||
%20 = OpLoad %v4float %src
|
||||
@ -130,125 +129,125 @@ OpStore %_2_sda %30
|
||||
%36 = OpVectorTimesScalar %v3float %33 %35
|
||||
OpStore %_3_dsa %36
|
||||
%43 = OpLoad %v3float %_2_sda
|
||||
%38 = OpDot %float %39 %43
|
||||
%38 = OpDot %float %42 %43
|
||||
OpStore %_5_lum %38
|
||||
%45 = OpLoad %float %_5_lum
|
||||
%48 = OpLoad %v3float %_3_dsa
|
||||
%46 = OpDot %float %47 %48
|
||||
%49 = OpFSub %float %45 %46
|
||||
%50 = OpLoad %v3float %_3_dsa
|
||||
%51 = OpCompositeConstruct %v3float %49 %49 %49
|
||||
%52 = OpFAdd %v3float %51 %50
|
||||
OpStore %_6_result %52
|
||||
%56 = OpLoad %v3float %_6_result
|
||||
%57 = OpCompositeExtract %float %56 0
|
||||
%58 = OpLoad %v3float %_6_result
|
||||
%59 = OpCompositeExtract %float %58 1
|
||||
%55 = OpExtInst %float %1 FMin %57 %59
|
||||
%60 = OpLoad %v3float %_6_result
|
||||
%61 = OpCompositeExtract %float %60 2
|
||||
%54 = OpExtInst %float %1 FMin %55 %61
|
||||
OpStore %_7_minComp %54
|
||||
%65 = OpLoad %v3float %_6_result
|
||||
%66 = OpCompositeExtract %float %65 0
|
||||
%67 = OpLoad %v3float %_6_result
|
||||
%68 = OpCompositeExtract %float %67 1
|
||||
%64 = OpExtInst %float %1 FMax %66 %68
|
||||
%69 = OpLoad %v3float %_6_result
|
||||
%70 = OpCompositeExtract %float %69 2
|
||||
%63 = OpExtInst %float %1 FMax %64 %70
|
||||
OpStore %_8_maxComp %63
|
||||
%72 = OpLoad %float %_7_minComp
|
||||
%74 = OpFOrdLessThan %bool %72 %float_0
|
||||
OpSelectionMerge %76 None
|
||||
OpBranchConditional %74 %75 %76
|
||||
%47 = OpLoad %v3float %_3_dsa
|
||||
%46 = OpDot %float %42 %47
|
||||
%48 = OpFSub %float %45 %46
|
||||
%49 = OpLoad %v3float %_3_dsa
|
||||
%50 = OpCompositeConstruct %v3float %48 %48 %48
|
||||
%51 = OpFAdd %v3float %50 %49
|
||||
OpStore %_6_result %51
|
||||
%55 = OpLoad %v3float %_6_result
|
||||
%56 = OpCompositeExtract %float %55 0
|
||||
%57 = OpLoad %v3float %_6_result
|
||||
%58 = OpCompositeExtract %float %57 1
|
||||
%54 = OpExtInst %float %1 FMin %56 %58
|
||||
%59 = OpLoad %v3float %_6_result
|
||||
%60 = OpCompositeExtract %float %59 2
|
||||
%53 = OpExtInst %float %1 FMin %54 %60
|
||||
OpStore %_7_minComp %53
|
||||
%64 = OpLoad %v3float %_6_result
|
||||
%65 = OpCompositeExtract %float %64 0
|
||||
%66 = OpLoad %v3float %_6_result
|
||||
%67 = OpCompositeExtract %float %66 1
|
||||
%63 = OpExtInst %float %1 FMax %65 %67
|
||||
%68 = OpLoad %v3float %_6_result
|
||||
%69 = OpCompositeExtract %float %68 2
|
||||
%62 = OpExtInst %float %1 FMax %63 %69
|
||||
OpStore %_8_maxComp %62
|
||||
%71 = OpLoad %float %_7_minComp
|
||||
%73 = OpFOrdLessThan %bool %71 %float_0
|
||||
OpSelectionMerge %75 None
|
||||
OpBranchConditional %73 %74 %75
|
||||
%74 = OpLabel
|
||||
%76 = OpLoad %float %_5_lum
|
||||
%77 = OpLoad %float %_7_minComp
|
||||
%78 = OpFOrdNotEqual %bool %76 %77
|
||||
OpBranch %75
|
||||
%75 = OpLabel
|
||||
%77 = OpLoad %float %_5_lum
|
||||
%78 = OpLoad %float %_7_minComp
|
||||
%79 = OpFOrdNotEqual %bool %77 %78
|
||||
OpBranch %76
|
||||
%76 = OpLabel
|
||||
%80 = OpPhi %bool %false %15 %79 %75
|
||||
OpSelectionMerge %82 None
|
||||
OpBranchConditional %80 %81 %82
|
||||
%79 = OpPhi %bool %false %15 %78 %74
|
||||
OpSelectionMerge %81 None
|
||||
OpBranchConditional %79 %80 %81
|
||||
%80 = OpLabel
|
||||
%82 = OpLoad %float %_5_lum
|
||||
%83 = OpLoad %v3float %_6_result
|
||||
%84 = OpLoad %float %_5_lum
|
||||
%85 = OpCompositeConstruct %v3float %84 %84 %84
|
||||
%86 = OpFSub %v3float %83 %85
|
||||
%87 = OpLoad %float %_5_lum
|
||||
%88 = OpVectorTimesScalar %v3float %86 %87
|
||||
%89 = OpLoad %float %_5_lum
|
||||
%90 = OpLoad %float %_7_minComp
|
||||
%91 = OpFSub %float %89 %90
|
||||
%93 = OpFDiv %float %float_1 %91
|
||||
%94 = OpVectorTimesScalar %v3float %88 %93
|
||||
%95 = OpCompositeConstruct %v3float %82 %82 %82
|
||||
%96 = OpFAdd %v3float %95 %94
|
||||
OpStore %_6_result %96
|
||||
OpBranch %81
|
||||
%81 = OpLabel
|
||||
%83 = OpLoad %float %_5_lum
|
||||
%84 = OpLoad %v3float %_6_result
|
||||
%85 = OpLoad %float %_5_lum
|
||||
%86 = OpCompositeConstruct %v3float %85 %85 %85
|
||||
%87 = OpFSub %v3float %84 %86
|
||||
%88 = OpLoad %float %_5_lum
|
||||
%89 = OpVectorTimesScalar %v3float %87 %88
|
||||
%90 = OpLoad %float %_5_lum
|
||||
%91 = OpLoad %float %_7_minComp
|
||||
%92 = OpFSub %float %90 %91
|
||||
%94 = OpFDiv %float %float_1 %92
|
||||
%95 = OpVectorTimesScalar %v3float %89 %94
|
||||
%96 = OpCompositeConstruct %v3float %83 %83 %83
|
||||
%97 = OpFAdd %v3float %96 %95
|
||||
OpStore %_6_result %97
|
||||
OpBranch %82
|
||||
%82 = OpLabel
|
||||
%98 = OpLoad %float %_8_maxComp
|
||||
%99 = OpLoad %float %_1_alpha
|
||||
%100 = OpFOrdGreaterThan %bool %98 %99
|
||||
OpSelectionMerge %102 None
|
||||
OpBranchConditional %100 %101 %102
|
||||
%97 = OpLoad %float %_8_maxComp
|
||||
%98 = OpLoad %float %_1_alpha
|
||||
%99 = OpFOrdGreaterThan %bool %97 %98
|
||||
OpSelectionMerge %101 None
|
||||
OpBranchConditional %99 %100 %101
|
||||
%100 = OpLabel
|
||||
%102 = OpLoad %float %_8_maxComp
|
||||
%103 = OpLoad %float %_5_lum
|
||||
%104 = OpFOrdNotEqual %bool %102 %103
|
||||
OpBranch %101
|
||||
%101 = OpLabel
|
||||
%103 = OpLoad %float %_8_maxComp
|
||||
%104 = OpLoad %float %_5_lum
|
||||
%105 = OpFOrdNotEqual %bool %103 %104
|
||||
OpBranch %102
|
||||
%102 = OpLabel
|
||||
%106 = OpPhi %bool %false %82 %105 %101
|
||||
OpSelectionMerge %110 None
|
||||
OpBranchConditional %106 %108 %109
|
||||
%105 = OpPhi %bool %false %81 %104 %100
|
||||
OpSelectionMerge %109 None
|
||||
OpBranchConditional %105 %107 %108
|
||||
%107 = OpLabel
|
||||
%110 = OpLoad %float %_5_lum
|
||||
%111 = OpLoad %v3float %_6_result
|
||||
%112 = OpLoad %float %_5_lum
|
||||
%113 = OpCompositeConstruct %v3float %112 %112 %112
|
||||
%114 = OpFSub %v3float %111 %113
|
||||
%115 = OpLoad %float %_1_alpha
|
||||
%116 = OpLoad %float %_5_lum
|
||||
%117 = OpFSub %float %115 %116
|
||||
%118 = OpVectorTimesScalar %v3float %114 %117
|
||||
%119 = OpLoad %float %_8_maxComp
|
||||
%120 = OpLoad %float %_5_lum
|
||||
%121 = OpFSub %float %119 %120
|
||||
%122 = OpFDiv %float %float_1 %121
|
||||
%123 = OpVectorTimesScalar %v3float %118 %122
|
||||
%124 = OpCompositeConstruct %v3float %110 %110 %110
|
||||
%125 = OpFAdd %v3float %124 %123
|
||||
OpStore %106 %125
|
||||
OpBranch %109
|
||||
%108 = OpLabel
|
||||
%111 = OpLoad %float %_5_lum
|
||||
%112 = OpLoad %v3float %_6_result
|
||||
%113 = OpLoad %float %_5_lum
|
||||
%114 = OpCompositeConstruct %v3float %113 %113 %113
|
||||
%115 = OpFSub %v3float %112 %114
|
||||
%116 = OpLoad %float %_1_alpha
|
||||
%117 = OpLoad %float %_5_lum
|
||||
%118 = OpFSub %float %116 %117
|
||||
%119 = OpVectorTimesScalar %v3float %115 %118
|
||||
%120 = OpLoad %float %_8_maxComp
|
||||
%121 = OpLoad %float %_5_lum
|
||||
%122 = OpFSub %float %120 %121
|
||||
%123 = OpFDiv %float %float_1 %122
|
||||
%124 = OpVectorTimesScalar %v3float %119 %123
|
||||
%125 = OpCompositeConstruct %v3float %111 %111 %111
|
||||
%126 = OpFAdd %v3float %125 %124
|
||||
OpStore %107 %126
|
||||
OpBranch %110
|
||||
%126 = OpLoad %v3float %_6_result
|
||||
OpStore %106 %126
|
||||
OpBranch %109
|
||||
%109 = OpLabel
|
||||
%127 = OpLoad %v3float %_6_result
|
||||
OpStore %107 %127
|
||||
OpBranch %110
|
||||
%110 = OpLabel
|
||||
%128 = OpLoad %v3float %107
|
||||
%129 = OpLoad %v4float %dst
|
||||
%130 = OpVectorShuffle %v3float %129 %129 0 1 2
|
||||
%131 = OpFAdd %v3float %128 %130
|
||||
%132 = OpLoad %v3float %_3_dsa
|
||||
%133 = OpFSub %v3float %131 %132
|
||||
%134 = OpLoad %v4float %src
|
||||
%135 = OpVectorShuffle %v3float %134 %134 0 1 2
|
||||
%136 = OpFAdd %v3float %133 %135
|
||||
%137 = OpLoad %v3float %_2_sda
|
||||
%138 = OpFSub %v3float %136 %137
|
||||
%139 = OpCompositeExtract %float %138 0
|
||||
%140 = OpCompositeExtract %float %138 1
|
||||
%141 = OpCompositeExtract %float %138 2
|
||||
%142 = OpLoad %v4float %src
|
||||
%143 = OpCompositeExtract %float %142 3
|
||||
%144 = OpLoad %v4float %dst
|
||||
%145 = OpCompositeExtract %float %144 3
|
||||
%146 = OpFAdd %float %143 %145
|
||||
%147 = OpLoad %float %_1_alpha
|
||||
%148 = OpFSub %float %146 %147
|
||||
%149 = OpCompositeConstruct %v4float %139 %140 %141 %148
|
||||
OpStore %sk_FragColor %149
|
||||
%127 = OpLoad %v3float %106
|
||||
%128 = OpLoad %v4float %dst
|
||||
%129 = OpVectorShuffle %v3float %128 %128 0 1 2
|
||||
%130 = OpFAdd %v3float %127 %129
|
||||
%131 = OpLoad %v3float %_3_dsa
|
||||
%132 = OpFSub %v3float %130 %131
|
||||
%133 = OpLoad %v4float %src
|
||||
%134 = OpVectorShuffle %v3float %133 %133 0 1 2
|
||||
%135 = OpFAdd %v3float %132 %134
|
||||
%136 = OpLoad %v3float %_2_sda
|
||||
%137 = OpFSub %v3float %135 %136
|
||||
%138 = OpCompositeExtract %float %137 0
|
||||
%139 = OpCompositeExtract %float %137 1
|
||||
%140 = OpCompositeExtract %float %137 2
|
||||
%141 = OpLoad %v4float %src
|
||||
%142 = OpCompositeExtract %float %141 3
|
||||
%143 = OpLoad %v4float %dst
|
||||
%144 = OpCompositeExtract %float %143 3
|
||||
%145 = OpFAdd %float %142 %144
|
||||
%146 = OpLoad %float %_1_alpha
|
||||
%147 = OpFSub %float %145 %146
|
||||
%148 = OpCompositeConstruct %v4float %138 %139 %140 %147
|
||||
OpStore %sk_FragColor %148
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -76,53 +76,53 @@ OpDecorate %161 RelaxedPrecision
|
||||
OpDecorate %164 RelaxedPrecision
|
||||
OpDecorate %174 RelaxedPrecision
|
||||
OpDecorate %176 RelaxedPrecision
|
||||
OpDecorate %178 RelaxedPrecision
|
||||
OpDecorate %179 RelaxedPrecision
|
||||
OpDecorate %180 RelaxedPrecision
|
||||
OpDecorate %181 RelaxedPrecision
|
||||
OpDecorate %187 RelaxedPrecision
|
||||
OpDecorate %189 RelaxedPrecision
|
||||
OpDecorate %191 RelaxedPrecision
|
||||
OpDecorate %196 RelaxedPrecision
|
||||
OpDecorate %198 RelaxedPrecision
|
||||
OpDecorate %200 RelaxedPrecision
|
||||
OpDecorate %203 RelaxedPrecision
|
||||
OpDecorate %186 RelaxedPrecision
|
||||
OpDecorate %188 RelaxedPrecision
|
||||
OpDecorate %190 RelaxedPrecision
|
||||
OpDecorate %195 RelaxedPrecision
|
||||
OpDecorate %197 RelaxedPrecision
|
||||
OpDecorate %199 RelaxedPrecision
|
||||
OpDecorate %202 RelaxedPrecision
|
||||
OpDecorate %206 RelaxedPrecision
|
||||
OpDecorate %207 RelaxedPrecision
|
||||
OpDecorate %208 RelaxedPrecision
|
||||
OpDecorate %212 RelaxedPrecision
|
||||
OpDecorate %213 RelaxedPrecision
|
||||
OpDecorate %214 RelaxedPrecision
|
||||
OpDecorate %215 RelaxedPrecision
|
||||
OpDecorate %218 RelaxedPrecision
|
||||
OpDecorate %217 RelaxedPrecision
|
||||
OpDecorate %219 RelaxedPrecision
|
||||
OpDecorate %220 RelaxedPrecision
|
||||
OpDecorate %221 RelaxedPrecision
|
||||
OpDecorate %222 RelaxedPrecision
|
||||
OpDecorate %227 RelaxedPrecision
|
||||
OpDecorate %228 RelaxedPrecision
|
||||
OpDecorate %229 RelaxedPrecision
|
||||
OpDecorate %232 RelaxedPrecision
|
||||
OpDecorate %233 RelaxedPrecision
|
||||
OpDecorate %234 RelaxedPrecision
|
||||
OpDecorate %240 RelaxedPrecision
|
||||
OpDecorate %241 RelaxedPrecision
|
||||
OpDecorate %242 RelaxedPrecision
|
||||
OpDecorate %243 RelaxedPrecision
|
||||
OpDecorate %245 RelaxedPrecision
|
||||
OpDecorate %246 RelaxedPrecision
|
||||
OpDecorate %247 RelaxedPrecision
|
||||
OpDecorate %248 RelaxedPrecision
|
||||
OpDecorate %249 RelaxedPrecision
|
||||
OpDecorate %250 RelaxedPrecision
|
||||
OpDecorate %251 RelaxedPrecision
|
||||
OpDecorate %252 RelaxedPrecision
|
||||
OpDecorate %256 RelaxedPrecision
|
||||
OpDecorate %257 RelaxedPrecision
|
||||
OpDecorate %258 RelaxedPrecision
|
||||
OpDecorate %259 RelaxedPrecision
|
||||
OpDecorate %260 RelaxedPrecision
|
||||
OpDecorate %261 RelaxedPrecision
|
||||
OpDecorate %262 RelaxedPrecision
|
||||
OpDecorate %263 RelaxedPrecision
|
||||
OpDecorate %264 RelaxedPrecision
|
||||
OpDecorate %265 RelaxedPrecision
|
||||
OpDecorate %266 RelaxedPrecision
|
||||
OpDecorate %267 RelaxedPrecision
|
||||
OpDecorate %268 RelaxedPrecision
|
||||
OpDecorate %272 RelaxedPrecision
|
||||
OpDecorate %274 RelaxedPrecision
|
||||
OpDecorate %271 RelaxedPrecision
|
||||
OpDecorate %273 RelaxedPrecision
|
||||
OpDecorate %275 RelaxedPrecision
|
||||
OpDecorate %276 RelaxedPrecision
|
||||
OpDecorate %277 RelaxedPrecision
|
||||
OpDecorate %278 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -144,8 +144,7 @@ OpDecorate %278 RelaxedPrecision
|
||||
%float_0_300000012 = OpConstant %float 0.300000012
|
||||
%float_0_589999974 = OpConstant %float 0.589999974
|
||||
%float_0_109999999 = OpConstant %float 0.109999999
|
||||
%170 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%178 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%173 = OpConstantComposite %v3float %float_0_300000012 %float_0_589999974 %float_0_109999999
|
||||
%false = OpConstantFalse %bool
|
||||
%float_1 = OpConstant %float 1
|
||||
%_blend_set_color_saturation_helper = OpFunction %v3float None %15
|
||||
@ -208,7 +207,7 @@ OpFunctionEnd
|
||||
%_8_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_9_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_10_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%237 = OpVariable %_ptr_Function_v3float Function
|
||||
%236 = OpVariable %_ptr_Function_v3float Function
|
||||
%52 = OpLoad %v4float %dst
|
||||
%53 = OpCompositeExtract %float %52 3
|
||||
%54 = OpLoad %v4float %src
|
||||
@ -352,125 +351,125 @@ OpBranch %138
|
||||
OpBranch %95
|
||||
%95 = OpLabel
|
||||
%174 = OpLoad %v3float %_3_dsa
|
||||
%169 = OpDot %float %170 %174
|
||||
%169 = OpDot %float %173 %174
|
||||
OpStore %_7_lum %169
|
||||
%176 = OpLoad %float %_7_lum
|
||||
%179 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%177 = OpDot %float %178 %179
|
||||
%180 = OpFSub %float %176 %177
|
||||
%181 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%182 = OpCompositeConstruct %v3float %180 %180 %180
|
||||
%183 = OpFAdd %v3float %182 %181
|
||||
OpStore %_8_result %183
|
||||
%187 = OpLoad %v3float %_8_result
|
||||
%188 = OpCompositeExtract %float %187 0
|
||||
%189 = OpLoad %v3float %_8_result
|
||||
%190 = OpCompositeExtract %float %189 1
|
||||
%186 = OpExtInst %float %1 FMin %188 %190
|
||||
%191 = OpLoad %v3float %_8_result
|
||||
%192 = OpCompositeExtract %float %191 2
|
||||
%185 = OpExtInst %float %1 FMin %186 %192
|
||||
OpStore %_9_minComp %185
|
||||
%196 = OpLoad %v3float %_8_result
|
||||
%197 = OpCompositeExtract %float %196 0
|
||||
%198 = OpLoad %v3float %_8_result
|
||||
%199 = OpCompositeExtract %float %198 1
|
||||
%195 = OpExtInst %float %1 FMax %197 %199
|
||||
%200 = OpLoad %v3float %_8_result
|
||||
%201 = OpCompositeExtract %float %200 2
|
||||
%194 = OpExtInst %float %1 FMax %195 %201
|
||||
OpStore %_10_maxComp %194
|
||||
%203 = OpLoad %float %_9_minComp
|
||||
%204 = OpFOrdLessThan %bool %203 %float_0
|
||||
OpSelectionMerge %206 None
|
||||
OpBranchConditional %204 %205 %206
|
||||
%178 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%177 = OpDot %float %173 %178
|
||||
%179 = OpFSub %float %176 %177
|
||||
%180 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%181 = OpCompositeConstruct %v3float %179 %179 %179
|
||||
%182 = OpFAdd %v3float %181 %180
|
||||
OpStore %_8_result %182
|
||||
%186 = OpLoad %v3float %_8_result
|
||||
%187 = OpCompositeExtract %float %186 0
|
||||
%188 = OpLoad %v3float %_8_result
|
||||
%189 = OpCompositeExtract %float %188 1
|
||||
%185 = OpExtInst %float %1 FMin %187 %189
|
||||
%190 = OpLoad %v3float %_8_result
|
||||
%191 = OpCompositeExtract %float %190 2
|
||||
%184 = OpExtInst %float %1 FMin %185 %191
|
||||
OpStore %_9_minComp %184
|
||||
%195 = OpLoad %v3float %_8_result
|
||||
%196 = OpCompositeExtract %float %195 0
|
||||
%197 = OpLoad %v3float %_8_result
|
||||
%198 = OpCompositeExtract %float %197 1
|
||||
%194 = OpExtInst %float %1 FMax %196 %198
|
||||
%199 = OpLoad %v3float %_8_result
|
||||
%200 = OpCompositeExtract %float %199 2
|
||||
%193 = OpExtInst %float %1 FMax %194 %200
|
||||
OpStore %_10_maxComp %193
|
||||
%202 = OpLoad %float %_9_minComp
|
||||
%203 = OpFOrdLessThan %bool %202 %float_0
|
||||
OpSelectionMerge %205 None
|
||||
OpBranchConditional %203 %204 %205
|
||||
%204 = OpLabel
|
||||
%206 = OpLoad %float %_7_lum
|
||||
%207 = OpLoad %float %_9_minComp
|
||||
%208 = OpFOrdNotEqual %bool %206 %207
|
||||
OpBranch %205
|
||||
%205 = OpLabel
|
||||
%207 = OpLoad %float %_7_lum
|
||||
%208 = OpLoad %float %_9_minComp
|
||||
%209 = OpFOrdNotEqual %bool %207 %208
|
||||
OpBranch %206
|
||||
%206 = OpLabel
|
||||
%210 = OpPhi %bool %false %95 %209 %205
|
||||
OpSelectionMerge %212 None
|
||||
OpBranchConditional %210 %211 %212
|
||||
%209 = OpPhi %bool %false %95 %208 %204
|
||||
OpSelectionMerge %211 None
|
||||
OpBranchConditional %209 %210 %211
|
||||
%210 = OpLabel
|
||||
%212 = OpLoad %float %_7_lum
|
||||
%213 = OpLoad %v3float %_8_result
|
||||
%214 = OpLoad %float %_7_lum
|
||||
%215 = OpCompositeConstruct %v3float %214 %214 %214
|
||||
%216 = OpFSub %v3float %213 %215
|
||||
%217 = OpLoad %float %_7_lum
|
||||
%218 = OpVectorTimesScalar %v3float %216 %217
|
||||
%219 = OpLoad %float %_7_lum
|
||||
%220 = OpLoad %float %_9_minComp
|
||||
%221 = OpFSub %float %219 %220
|
||||
%223 = OpFDiv %float %float_1 %221
|
||||
%224 = OpVectorTimesScalar %v3float %218 %223
|
||||
%225 = OpCompositeConstruct %v3float %212 %212 %212
|
||||
%226 = OpFAdd %v3float %225 %224
|
||||
OpStore %_8_result %226
|
||||
OpBranch %211
|
||||
%211 = OpLabel
|
||||
%213 = OpLoad %float %_7_lum
|
||||
%214 = OpLoad %v3float %_8_result
|
||||
%215 = OpLoad %float %_7_lum
|
||||
%216 = OpCompositeConstruct %v3float %215 %215 %215
|
||||
%217 = OpFSub %v3float %214 %216
|
||||
%218 = OpLoad %float %_7_lum
|
||||
%219 = OpVectorTimesScalar %v3float %217 %218
|
||||
%220 = OpLoad %float %_7_lum
|
||||
%221 = OpLoad %float %_9_minComp
|
||||
%222 = OpFSub %float %220 %221
|
||||
%224 = OpFDiv %float %float_1 %222
|
||||
%225 = OpVectorTimesScalar %v3float %219 %224
|
||||
%226 = OpCompositeConstruct %v3float %213 %213 %213
|
||||
%227 = OpFAdd %v3float %226 %225
|
||||
OpStore %_8_result %227
|
||||
OpBranch %212
|
||||
%212 = OpLabel
|
||||
%228 = OpLoad %float %_10_maxComp
|
||||
%229 = OpLoad %float %_1_alpha
|
||||
%230 = OpFOrdGreaterThan %bool %228 %229
|
||||
OpSelectionMerge %232 None
|
||||
OpBranchConditional %230 %231 %232
|
||||
%227 = OpLoad %float %_10_maxComp
|
||||
%228 = OpLoad %float %_1_alpha
|
||||
%229 = OpFOrdGreaterThan %bool %227 %228
|
||||
OpSelectionMerge %231 None
|
||||
OpBranchConditional %229 %230 %231
|
||||
%230 = OpLabel
|
||||
%232 = OpLoad %float %_10_maxComp
|
||||
%233 = OpLoad %float %_7_lum
|
||||
%234 = OpFOrdNotEqual %bool %232 %233
|
||||
OpBranch %231
|
||||
%231 = OpLabel
|
||||
%233 = OpLoad %float %_10_maxComp
|
||||
%234 = OpLoad %float %_7_lum
|
||||
%235 = OpFOrdNotEqual %bool %233 %234
|
||||
OpBranch %232
|
||||
%232 = OpLabel
|
||||
%236 = OpPhi %bool %false %212 %235 %231
|
||||
OpSelectionMerge %240 None
|
||||
OpBranchConditional %236 %238 %239
|
||||
%235 = OpPhi %bool %false %211 %234 %230
|
||||
OpSelectionMerge %239 None
|
||||
OpBranchConditional %235 %237 %238
|
||||
%237 = OpLabel
|
||||
%240 = OpLoad %float %_7_lum
|
||||
%241 = OpLoad %v3float %_8_result
|
||||
%242 = OpLoad %float %_7_lum
|
||||
%243 = OpCompositeConstruct %v3float %242 %242 %242
|
||||
%244 = OpFSub %v3float %241 %243
|
||||
%245 = OpLoad %float %_1_alpha
|
||||
%246 = OpLoad %float %_7_lum
|
||||
%247 = OpFSub %float %245 %246
|
||||
%248 = OpVectorTimesScalar %v3float %244 %247
|
||||
%249 = OpLoad %float %_10_maxComp
|
||||
%250 = OpLoad %float %_7_lum
|
||||
%251 = OpFSub %float %249 %250
|
||||
%252 = OpFDiv %float %float_1 %251
|
||||
%253 = OpVectorTimesScalar %v3float %248 %252
|
||||
%254 = OpCompositeConstruct %v3float %240 %240 %240
|
||||
%255 = OpFAdd %v3float %254 %253
|
||||
OpStore %236 %255
|
||||
OpBranch %239
|
||||
%238 = OpLabel
|
||||
%241 = OpLoad %float %_7_lum
|
||||
%242 = OpLoad %v3float %_8_result
|
||||
%243 = OpLoad %float %_7_lum
|
||||
%244 = OpCompositeConstruct %v3float %243 %243 %243
|
||||
%245 = OpFSub %v3float %242 %244
|
||||
%246 = OpLoad %float %_1_alpha
|
||||
%247 = OpLoad %float %_7_lum
|
||||
%248 = OpFSub %float %246 %247
|
||||
%249 = OpVectorTimesScalar %v3float %245 %248
|
||||
%250 = OpLoad %float %_10_maxComp
|
||||
%251 = OpLoad %float %_7_lum
|
||||
%252 = OpFSub %float %250 %251
|
||||
%253 = OpFDiv %float %float_1 %252
|
||||
%254 = OpVectorTimesScalar %v3float %249 %253
|
||||
%255 = OpCompositeConstruct %v3float %241 %241 %241
|
||||
%256 = OpFAdd %v3float %255 %254
|
||||
OpStore %237 %256
|
||||
OpBranch %240
|
||||
%256 = OpLoad %v3float %_8_result
|
||||
OpStore %236 %256
|
||||
OpBranch %239
|
||||
%239 = OpLabel
|
||||
%257 = OpLoad %v3float %_8_result
|
||||
OpStore %237 %257
|
||||
OpBranch %240
|
||||
%240 = OpLabel
|
||||
%258 = OpLoad %v3float %237
|
||||
%259 = OpLoad %v4float %dst
|
||||
%260 = OpVectorShuffle %v3float %259 %259 0 1 2
|
||||
%261 = OpFAdd %v3float %258 %260
|
||||
%262 = OpLoad %v3float %_3_dsa
|
||||
%263 = OpFSub %v3float %261 %262
|
||||
%264 = OpLoad %v4float %src
|
||||
%265 = OpVectorShuffle %v3float %264 %264 0 1 2
|
||||
%266 = OpFAdd %v3float %263 %265
|
||||
%267 = OpLoad %v3float %_2_sda
|
||||
%268 = OpFSub %v3float %266 %267
|
||||
%269 = OpCompositeExtract %float %268 0
|
||||
%270 = OpCompositeExtract %float %268 1
|
||||
%271 = OpCompositeExtract %float %268 2
|
||||
%272 = OpLoad %v4float %src
|
||||
%273 = OpCompositeExtract %float %272 3
|
||||
%274 = OpLoad %v4float %dst
|
||||
%275 = OpCompositeExtract %float %274 3
|
||||
%276 = OpFAdd %float %273 %275
|
||||
%277 = OpLoad %float %_1_alpha
|
||||
%278 = OpFSub %float %276 %277
|
||||
%279 = OpCompositeConstruct %v4float %269 %270 %271 %278
|
||||
OpStore %sk_FragColor %279
|
||||
%257 = OpLoad %v3float %236
|
||||
%258 = OpLoad %v4float %dst
|
||||
%259 = OpVectorShuffle %v3float %258 %258 0 1 2
|
||||
%260 = OpFAdd %v3float %257 %259
|
||||
%261 = OpLoad %v3float %_3_dsa
|
||||
%262 = OpFSub %v3float %260 %261
|
||||
%263 = OpLoad %v4float %src
|
||||
%264 = OpVectorShuffle %v3float %263 %263 0 1 2
|
||||
%265 = OpFAdd %v3float %262 %264
|
||||
%266 = OpLoad %v3float %_2_sda
|
||||
%267 = OpFSub %v3float %265 %266
|
||||
%268 = OpCompositeExtract %float %267 0
|
||||
%269 = OpCompositeExtract %float %267 1
|
||||
%270 = OpCompositeExtract %float %267 2
|
||||
%271 = OpLoad %v4float %src
|
||||
%272 = OpCompositeExtract %float %271 3
|
||||
%273 = OpLoad %v4float %dst
|
||||
%274 = OpCompositeExtract %float %273 3
|
||||
%275 = OpFAdd %float %272 %274
|
||||
%276 = OpLoad %float %_1_alpha
|
||||
%277 = OpFSub %float %275 %276
|
||||
%278 = OpCompositeConstruct %v4float %268 %269 %270 %277
|
||||
OpStore %sk_FragColor %278
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -27,27 +27,27 @@ OpDecorate %_arr_v2float_int_2 ArrayStride 16
|
||||
%_arr_v2float_int_2 = OpTypeArray %v2float %int_2
|
||||
%_ptr_Function__arr_v2float_int_2 = OpTypePointer Function %_arr_v2float_int_2
|
||||
%float_1 = OpConstant %float 1
|
||||
%19 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%20 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%float_2 = OpConstant %float 2
|
||||
%21 = OpConstantComposite %v2float %float_2 %float_2
|
||||
%22 = OpConstantComposite %v2float %float_2 %float_2
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%float_3 = OpConstant %float 3
|
||||
%31 = OpConstantComposite %v2float %float_3 %float_3
|
||||
%32 = OpConstantComposite %v2float %float_3 %float_3
|
||||
%float_4 = OpConstant %float 4
|
||||
%33 = OpConstantComposite %v2float %float_4 %float_4
|
||||
%34 = OpConstantComposite %v2float %float_4 %float_4
|
||||
%int_1 = OpConstant %int 1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%13 = OpVariable %_ptr_Function__arr_v2float_int_2 Function
|
||||
%30 = OpVariable %_ptr_Function__arr_v2float_int_2 Function
|
||||
%23 = OpCompositeConstruct %_arr_v2float_int_2 %19 %21
|
||||
%23 = OpCompositeConstruct %_arr_v2float_int_2 %20 %22
|
||||
OpStore %13 %23
|
||||
%25 = OpAccessChain %_ptr_Function_v2float %13 %int_0
|
||||
%27 = OpLoad %v2float %25
|
||||
%28 = OpCompositeExtract %float %27 0
|
||||
%29 = OpCompositeExtract %float %27 1
|
||||
%35 = OpCompositeConstruct %_arr_v2float_int_2 %31 %33
|
||||
%35 = OpCompositeConstruct %_arr_v2float_int_2 %32 %34
|
||||
OpStore %30 %35
|
||||
%37 = OpAccessChain %_ptr_Function_v2float %30 %int_1
|
||||
%38 = OpLoad %v2float %37
|
||||
|
@ -40,10 +40,10 @@ OpMemberDecorate %S 3 Offset 112
|
||||
OpMemberDecorate %S 3 RelaxedPrecision
|
||||
OpDecorate %83 RelaxedPrecision
|
||||
OpDecorate %87 RelaxedPrecision
|
||||
OpDecorate %116 RelaxedPrecision
|
||||
OpDecorate %133 RelaxedPrecision
|
||||
OpDecorate %144 RelaxedPrecision
|
||||
OpDecorate %146 RelaxedPrecision
|
||||
OpDecorate %114 RelaxedPrecision
|
||||
OpDecorate %131 RelaxedPrecision
|
||||
OpDecorate %141 RelaxedPrecision
|
||||
OpDecorate %143 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -59,7 +59,7 @@ OpDecorate %146 RelaxedPrecision
|
||||
%int = OpTypeInt 32 1
|
||||
%int_3 = OpConstant %int 3
|
||||
%v2float = OpTypeVector %float 2
|
||||
%20 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%21 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%int_1 = OpConstant %int 1
|
||||
%_arr_int_int_1 = OpTypeArray %int %int_1
|
||||
%_ptr_Function__arr_int_int_1 = OpTypePointer Function %_arr_int_int_1
|
||||
@ -70,7 +70,7 @@ OpDecorate %146 RelaxedPrecision
|
||||
%_ptr_Function__arr_v4int_int_1 = OpTypePointer Function %_arr_v4int_int_1
|
||||
%int_2 = OpConstant %int 2
|
||||
%int_4 = OpConstant %int 4
|
||||
%35 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
|
||||
%37 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
|
||||
%_ptr_Function_v4int = OpTypePointer Function %v4int
|
||||
%mat2v4float = OpTypeMatrix %v4float 2
|
||||
%_arr_mat2v4float_int_1 = OpTypeArray %mat2v4float %int_1
|
||||
@ -92,18 +92,15 @@ OpDecorate %146 RelaxedPrecision
|
||||
%_arr_v4float_int_5 = OpTypeArray %v4float %int_5
|
||||
%S = OpTypeStruct %float %_arr_float_int_5 %v4float %_arr_v4float_int_5
|
||||
%_ptr_Function_S = OpTypePointer Function %S
|
||||
%float_9 = OpConstant %float 9
|
||||
%v3float = OpTypeVector %float 3
|
||||
%78 = OpConstantComposite %v3float %float_9 %float_9 %float_9
|
||||
%float_9 = OpConstant %float 9
|
||||
%80 = OpConstantComposite %v3float %float_9 %float_9 %float_9
|
||||
%84 = OpConstantComposite %v2float %float_5 %float_5
|
||||
%90 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%92 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%94 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%95 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
|
||||
%91 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%93 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%mat3v3float = OpTypeMatrix %v3float 3
|
||||
%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%136 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%x = OpVariable %_ptr_Function_v4float Function
|
||||
@ -112,16 +109,16 @@ OpDecorate %146 RelaxedPrecision
|
||||
%ah2x4 = OpVariable %_ptr_Function__arr_mat2v4float_int_1 Function
|
||||
%af4 = OpVariable %_ptr_Function__arr_v4float_int_1 Function
|
||||
%s = OpVariable %_ptr_Function_S Function
|
||||
%105 = OpVariable %_ptr_Function_mat3v3float Function
|
||||
%103 = OpVariable %_ptr_Function_mat3v3float Function
|
||||
%16 = OpAccessChain %_ptr_Function_float %x %int_3
|
||||
OpStore %16 %float_0
|
||||
%22 = OpLoad %v4float %x
|
||||
%23 = OpVectorShuffle %v4float %22 %20 5 4 2 3
|
||||
%23 = OpVectorShuffle %v4float %22 %21 5 4 2 3
|
||||
OpStore %x %23
|
||||
%29 = OpAccessChain %_ptr_Function_int %ai %int_0
|
||||
OpStore %29 %int_0
|
||||
%38 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0
|
||||
OpStore %38 %35
|
||||
OpStore %38 %37
|
||||
%53 = OpCompositeConstruct %v4float %float_1 %float_2 %float_3 %float_4
|
||||
%54 = OpCompositeConstruct %v4float %float_5 %float_6 %float_7 %float_8
|
||||
%52 = OpCompositeConstruct %mat2v4float %53 %54
|
||||
@ -146,7 +143,7 @@ OpStore %76 %float_0
|
||||
OpStore %77 %float_0
|
||||
%81 = OpAccessChain %_ptr_Function_v4float %s %int_2
|
||||
%82 = OpLoad %v4float %81
|
||||
%83 = OpVectorShuffle %v4float %82 %78 5 6 4 3
|
||||
%83 = OpVectorShuffle %v4float %82 %80 5 6 4 3
|
||||
OpStore %81 %83
|
||||
%85 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_2
|
||||
%86 = OpLoad %v4float %85
|
||||
@ -156,69 +153,69 @@ OpStore %85 %87
|
||||
OpStore %88 %float_1
|
||||
%89 = OpAccessChain %_ptr_Function_float %s %int_1 %int_0
|
||||
OpStore %89 %float_2
|
||||
%91 = OpAccessChain %_ptr_Function_v4float %s %int_2
|
||||
OpStore %91 %90
|
||||
%93 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_0
|
||||
OpStore %93 %92
|
||||
OpStore %sk_FragColor %94
|
||||
%96 = OpCompositeExtract %int %95 0
|
||||
%90 = OpAccessChain %_ptr_Function_v4float %s %int_2
|
||||
OpStore %90 %66
|
||||
%92 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_0
|
||||
OpStore %92 %91
|
||||
OpStore %sk_FragColor %93
|
||||
%94 = OpCompositeExtract %int %37 0
|
||||
%95 = OpConvertSToF %float %94
|
||||
%96 = OpCompositeExtract %int %37 1
|
||||
%97 = OpConvertSToF %float %96
|
||||
%98 = OpCompositeExtract %int %95 1
|
||||
%98 = OpCompositeExtract %int %37 2
|
||||
%99 = OpConvertSToF %float %98
|
||||
%100 = OpCompositeExtract %int %95 2
|
||||
%100 = OpCompositeExtract %int %37 3
|
||||
%101 = OpConvertSToF %float %100
|
||||
%102 = OpCompositeExtract %int %95 3
|
||||
%103 = OpConvertSToF %float %102
|
||||
%104 = OpCompositeConstruct %v4float %97 %99 %101 %103
|
||||
OpStore %sk_FragColor %104
|
||||
%109 = OpCompositeConstruct %v3float %float_1 %float_2 %float_3
|
||||
%110 = OpCompositeConstruct %v3float %float_4 %float_5 %float_6
|
||||
%111 = OpCompositeConstruct %v3float %float_7 %float_8 %float_9
|
||||
%108 = OpCompositeConstruct %mat3v3float %109 %110 %111
|
||||
OpStore %105 %108
|
||||
%112 = OpAccessChain %_ptr_Function_v3float %105 %int_0
|
||||
%114 = OpLoad %v3float %112
|
||||
%115 = OpVectorShuffle %v4float %114 %114 0 0 1 2
|
||||
OpStore %sk_FragColor %115
|
||||
%116 = OpLoad %v4float %x
|
||||
OpStore %sk_FragColor %116
|
||||
%118 = OpAccessChain %_ptr_Function_int %ai %int_0
|
||||
%119 = OpLoad %int %118
|
||||
%117 = OpConvertSToF %float %119
|
||||
%120 = OpCompositeConstruct %v4float %117 %117 %117 %117
|
||||
OpStore %sk_FragColor %120
|
||||
%121 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0
|
||||
%122 = OpLoad %v4int %121
|
||||
%123 = OpCompositeExtract %int %122 0
|
||||
%102 = OpCompositeConstruct %v4float %95 %97 %99 %101
|
||||
OpStore %sk_FragColor %102
|
||||
%107 = OpCompositeConstruct %v3float %float_1 %float_2 %float_3
|
||||
%108 = OpCompositeConstruct %v3float %float_4 %float_5 %float_6
|
||||
%109 = OpCompositeConstruct %v3float %float_7 %float_8 %float_9
|
||||
%106 = OpCompositeConstruct %mat3v3float %107 %108 %109
|
||||
OpStore %103 %106
|
||||
%110 = OpAccessChain %_ptr_Function_v3float %103 %int_0
|
||||
%112 = OpLoad %v3float %110
|
||||
%113 = OpVectorShuffle %v4float %112 %112 0 0 1 2
|
||||
OpStore %sk_FragColor %113
|
||||
%114 = OpLoad %v4float %x
|
||||
OpStore %sk_FragColor %114
|
||||
%116 = OpAccessChain %_ptr_Function_int %ai %int_0
|
||||
%117 = OpLoad %int %116
|
||||
%115 = OpConvertSToF %float %117
|
||||
%118 = OpCompositeConstruct %v4float %115 %115 %115 %115
|
||||
OpStore %sk_FragColor %118
|
||||
%119 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0
|
||||
%120 = OpLoad %v4int %119
|
||||
%121 = OpCompositeExtract %int %120 0
|
||||
%122 = OpConvertSToF %float %121
|
||||
%123 = OpCompositeExtract %int %120 1
|
||||
%124 = OpConvertSToF %float %123
|
||||
%125 = OpCompositeExtract %int %122 1
|
||||
%125 = OpCompositeExtract %int %120 2
|
||||
%126 = OpConvertSToF %float %125
|
||||
%127 = OpCompositeExtract %int %122 2
|
||||
%127 = OpCompositeExtract %int %120 3
|
||||
%128 = OpConvertSToF %float %127
|
||||
%129 = OpCompositeExtract %int %122 3
|
||||
%130 = OpConvertSToF %float %129
|
||||
%131 = OpCompositeConstruct %v4float %124 %126 %128 %130
|
||||
%129 = OpCompositeConstruct %v4float %122 %124 %126 %128
|
||||
OpStore %sk_FragColor %129
|
||||
%130 = OpAccessChain %_ptr_Function_v4float %ah2x4 %int_0 %int_0
|
||||
%131 = OpLoad %v4float %130
|
||||
OpStore %sk_FragColor %131
|
||||
%132 = OpAccessChain %_ptr_Function_v4float %ah2x4 %int_0 %int_0
|
||||
%132 = OpAccessChain %_ptr_Function_v4float %af4 %int_0
|
||||
%133 = OpLoad %v4float %132
|
||||
OpStore %sk_FragColor %133
|
||||
%134 = OpAccessChain %_ptr_Function_v4float %af4 %int_0
|
||||
%135 = OpLoad %v4float %134
|
||||
OpStore %sk_FragColor %135
|
||||
OpStore %sk_FragColor %93
|
||||
%134 = OpAccessChain %_ptr_Function_float %s %int_0
|
||||
%135 = OpLoad %float %134
|
||||
%136 = OpCompositeConstruct %v4float %135 %135 %135 %135
|
||||
OpStore %sk_FragColor %136
|
||||
%137 = OpAccessChain %_ptr_Function_float %s %int_0
|
||||
%137 = OpAccessChain %_ptr_Function_float %s %int_1 %int_1
|
||||
%138 = OpLoad %float %137
|
||||
%139 = OpCompositeConstruct %v4float %138 %138 %138 %138
|
||||
OpStore %sk_FragColor %139
|
||||
%140 = OpAccessChain %_ptr_Function_float %s %int_1 %int_1
|
||||
%141 = OpLoad %float %140
|
||||
%142 = OpCompositeConstruct %v4float %141 %141 %141 %141
|
||||
OpStore %sk_FragColor %142
|
||||
%143 = OpAccessChain %_ptr_Function_v4float %s %int_2
|
||||
%144 = OpLoad %v4float %143
|
||||
OpStore %sk_FragColor %144
|
||||
%145 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_0
|
||||
%146 = OpLoad %v4float %145
|
||||
OpStore %sk_FragColor %146
|
||||
%140 = OpAccessChain %_ptr_Function_v4float %s %int_2
|
||||
%141 = OpLoad %v4float %140
|
||||
OpStore %sk_FragColor %141
|
||||
%142 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_0
|
||||
%143 = OpLoad %v4float %142
|
||||
OpStore %sk_FragColor %143
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,13 +21,13 @@ OpDecorate %17 RelaxedPrecision
|
||||
%sk_Clockwise = OpVariable %_ptr_Input_bool Input
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%v3float = OpTypeVector %float 3
|
||||
%13 = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
||||
%float_1 = OpConstant %float 1
|
||||
%15 = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%16 = OpLoad %v4float %sk_FragColor
|
||||
%17 = OpVectorShuffle %v4float %16 %13 4 5 6 3
|
||||
%17 = OpVectorShuffle %v4float %16 %15 4 5 6 3
|
||||
OpStore %sk_FragColor %17
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,12 +21,12 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%float_2 = OpConstant %float 2
|
||||
%15 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%16 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %15
|
||||
OpStore %sk_FragColor %14
|
||||
OpStore %sk_FragColor %16
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -42,9 +42,9 @@ OpDecorate %23 RelaxedPrecision
|
||||
%void = OpTypeVoid
|
||||
%18 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%v2float = OpTypeVector %float 2
|
||||
%24 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%float_1 = OpConstant %float 1
|
||||
%26 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%float_0 = OpConstant %float 0
|
||||
%v4bool = OpTypeVector %bool 4
|
||||
%v3float = OpTypeVector %float 3
|
||||
@ -53,7 +53,7 @@ OpDecorate %23 RelaxedPrecision
|
||||
%tmpColor = OpVariable %_ptr_Function_v4float Function
|
||||
%54 = OpVariable %_ptr_Function_v4float Function
|
||||
%23 = OpLoad %15 %s
|
||||
%22 = OpImageSampleImplicitLod %v4float %23 %24
|
||||
%22 = OpImageSampleImplicitLod %v4float %23 %26
|
||||
OpStore %tmpColor %22
|
||||
%27 = OpLoad %mat4v4float %colorXform
|
||||
%30 = OpCompositeConstruct %v4float %float_1 %float_0 %float_0 %float_0
|
||||
|
@ -28,7 +28,7 @@ OpDecorate %49 RelaxedPrecision
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_5 = OpConstant %float 5
|
||||
%float_0_75 = OpConstant %float 0.75
|
||||
%20 = OpConstantComposite %v4float %float_0_75 %float_0_75 %float_0_75 %float_0_75
|
||||
%21 = OpConstantComposite %v4float %float_0_75 %float_0_75 %float_0_75 %float_0_75
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%int_0 = OpConstant %int 0
|
||||
@ -47,7 +47,7 @@ OpDecorate %49 RelaxedPrecision
|
||||
OpSelectionMerge %19 None
|
||||
OpBranchConditional %16 %17 %18
|
||||
%17 = OpLabel
|
||||
OpStore %sk_FragColor %20
|
||||
OpStore %sk_FragColor %21
|
||||
OpBranch %19
|
||||
%18 = OpLabel
|
||||
OpKill
|
||||
|
@ -21,7 +21,7 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%18 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%19 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%false = OpConstantFalse %bool
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
@ -30,7 +30,7 @@ OpBranch %13
|
||||
OpLoopMerge %17 %16 None
|
||||
OpBranch %14
|
||||
%14 = OpLabel
|
||||
OpStore %sk_FragColor %18
|
||||
OpStore %sk_FragColor %19
|
||||
OpBranch %15
|
||||
%15 = OpLabel
|
||||
OpBranchConditional %false %16 %17
|
||||
|
@ -29,13 +29,13 @@ OpDecorate %23 RelaxedPrecision
|
||||
%void = OpTypeVoid
|
||||
%25 = OpTypeFunction %void
|
||||
%float_3 = OpConstant %float 3
|
||||
%27 = OpConstantComposite %v4float %float_3 %float_3 %float_3 %float_3
|
||||
%28 = OpConstantComposite %v4float %float_3 %float_3 %float_3 %float_3
|
||||
%float_n3 = OpConstant %float -3
|
||||
%30 = OpConstantComposite %v4float %float_n3 %float_n3 %float_n3 %float_n3
|
||||
%31 = OpConstantComposite %v4float %float_n3 %float_n3 %float_n3 %float_n3
|
||||
%float_7 = OpConstant %float 7
|
||||
%34 = OpConstantComposite %v4float %float_7 %float_7 %float_7 %float_7
|
||||
%35 = OpConstantComposite %v4float %float_7 %float_7 %float_7 %float_7
|
||||
%float_n7 = OpConstant %float -7
|
||||
%37 = OpConstantComposite %v4float %float_n7 %float_n7 %float_n7 %float_n7
|
||||
%38 = OpConstantComposite %v4float %float_n7 %float_n7 %float_n7 %float_n7
|
||||
%blend_dst = OpFunction %v4float None %12
|
||||
%14 = OpFunctionParameter %_ptr_Function_v4float
|
||||
%15 = OpFunctionParameter %_ptr_Function_v4float
|
||||
@ -58,12 +58,12 @@ OpFunctionEnd
|
||||
%32 = OpVariable %_ptr_Function_v4float Function
|
||||
%36 = OpVariable %_ptr_Function_v4float Function
|
||||
%39 = OpVariable %_ptr_Function_v4float Function
|
||||
OpStore %29 %27
|
||||
OpStore %32 %30
|
||||
OpStore %29 %28
|
||||
OpStore %32 %31
|
||||
%33 = OpFunctionCall %v4float %live_fn %29 %32
|
||||
OpStore %sk_FragColor %33
|
||||
OpStore %36 %34
|
||||
OpStore %39 %37
|
||||
OpStore %36 %35
|
||||
OpStore %39 %38
|
||||
%40 = OpFunctionCall %v4float %blend_dst %36 %39
|
||||
OpStore %sk_FragColor %40
|
||||
OpReturn
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,51 +21,51 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%float_2 = OpConstant %float 2
|
||||
%15 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%16 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%float_6 = OpConstant %float 6
|
||||
%17 = OpConstantComposite %v4float %float_6 %float_6 %float_6 %float_6
|
||||
%18 = OpConstantComposite %v4float %float_6 %float_6 %float_6 %float_6
|
||||
%float_7 = OpConstant %float 7
|
||||
%19 = OpConstantComposite %v4float %float_7 %float_7 %float_7 %float_7
|
||||
%20 = OpConstantComposite %v4float %float_7 %float_7 %float_7 %float_7
|
||||
%float_n8 = OpConstant %float -8
|
||||
%21 = OpConstantComposite %v4float %float_n8 %float_n8 %float_n8 %float_n8
|
||||
%22 = OpConstantComposite %v4float %float_n8 %float_n8 %float_n8 %float_n8
|
||||
%float_n9 = OpConstant %float -9
|
||||
%23 = OpConstantComposite %v4float %float_n9 %float_n9 %float_n9 %float_n9
|
||||
%24 = OpConstantComposite %v4float %float_n9 %float_n9 %float_n9 %float_n9
|
||||
%float_10 = OpConstant %float 10
|
||||
%25 = OpConstantComposite %v4float %float_10 %float_10 %float_10 %float_10
|
||||
%26 = OpConstantComposite %v4float %float_10 %float_10 %float_10 %float_10
|
||||
%float_11 = OpConstant %float 11
|
||||
%27 = OpConstantComposite %v4float %float_11 %float_11 %float_11 %float_11
|
||||
%28 = OpConstantComposite %v4float %float_11 %float_11 %float_11 %float_11
|
||||
%float_13 = OpConstant %float 13
|
||||
%29 = OpConstantComposite %v4float %float_13 %float_13 %float_13 %float_13
|
||||
%30 = OpConstantComposite %v4float %float_13 %float_13 %float_13 %float_13
|
||||
%float_15 = OpConstant %float 15
|
||||
%31 = OpConstantComposite %v4float %float_15 %float_15 %float_15 %float_15
|
||||
%32 = OpConstantComposite %v4float %float_15 %float_15 %float_15 %float_15
|
||||
%float_16 = OpConstant %float 16
|
||||
%33 = OpConstantComposite %v4float %float_16 %float_16 %float_16 %float_16
|
||||
%34 = OpConstantComposite %v4float %float_16 %float_16 %float_16 %float_16
|
||||
%float_18 = OpConstant %float 18
|
||||
%35 = OpConstantComposite %v4float %float_18 %float_18 %float_18 %float_18
|
||||
%36 = OpConstantComposite %v4float %float_18 %float_18 %float_18 %float_18
|
||||
%float_19 = OpConstant %float 19
|
||||
%37 = OpConstantComposite %v4float %float_19 %float_19 %float_19 %float_19
|
||||
%38 = OpConstantComposite %v4float %float_19 %float_19 %float_19 %float_19
|
||||
%float_20 = OpConstant %float 20
|
||||
%39 = OpConstantComposite %v4float %float_20 %float_20 %float_20 %float_20
|
||||
%40 = OpConstantComposite %v4float %float_20 %float_20 %float_20 %float_20
|
||||
%float_21 = OpConstant %float 21
|
||||
%41 = OpConstantComposite %v4float %float_21 %float_21 %float_21 %float_21
|
||||
%42 = OpConstantComposite %v4float %float_21 %float_21 %float_21 %float_21
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %15
|
||||
OpStore %sk_FragColor %17
|
||||
OpStore %sk_FragColor %19
|
||||
OpStore %sk_FragColor %21
|
||||
OpStore %sk_FragColor %23
|
||||
OpStore %sk_FragColor %25
|
||||
OpStore %sk_FragColor %27
|
||||
OpStore %sk_FragColor %29
|
||||
OpStore %sk_FragColor %31
|
||||
OpStore %sk_FragColor %33
|
||||
OpStore %sk_FragColor %35
|
||||
OpStore %sk_FragColor %37
|
||||
OpStore %sk_FragColor %39
|
||||
OpStore %sk_FragColor %41
|
||||
OpStore %sk_FragColor %14
|
||||
OpStore %sk_FragColor %16
|
||||
OpStore %sk_FragColor %18
|
||||
OpStore %sk_FragColor %20
|
||||
OpStore %sk_FragColor %22
|
||||
OpStore %sk_FragColor %24
|
||||
OpStore %sk_FragColor %26
|
||||
OpStore %sk_FragColor %28
|
||||
OpStore %sk_FragColor %30
|
||||
OpStore %sk_FragColor %32
|
||||
OpStore %sk_FragColor %34
|
||||
OpStore %sk_FragColor %36
|
||||
OpStore %sk_FragColor %38
|
||||
OpStore %sk_FragColor %40
|
||||
OpStore %sk_FragColor %42
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -22,14 +22,14 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%sk_Clockwise = OpVariable %_ptr_Input_bool Input
|
||||
%12 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%15 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%void = OpTypeVoid
|
||||
%17 = OpTypeFunction %void
|
||||
%float_2 = OpConstant %float 2
|
||||
%22 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%23 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%this_function_is_defined_before_use = OpFunction %v4float None %12
|
||||
%13 = OpLabel
|
||||
OpReturnValue %14
|
||||
OpReturnValue %15
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %17
|
||||
%18 = OpLabel
|
||||
@ -41,5 +41,5 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%this_function_is_defined_after_use = OpFunction %v4float None %12
|
||||
%21 = OpLabel
|
||||
OpReturnValue %22
|
||||
OpReturnValue %23
|
||||
OpFunctionEnd
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -30,11 +30,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%29 = OpConstantComposite %v2float %float_1 %float_2
|
||||
%31 = OpConstantComposite %v2float %float_1 %float_2
|
||||
%float_3 = OpConstant %float 3
|
||||
%float_4 = OpConstant %float 4
|
||||
%35 = OpConstantComposite %v2float %float_3 %float_4
|
||||
%41 = OpConstantComposite %v2float %float_3 %float_4
|
||||
%36 = OpConstantComposite %v2float %float_3 %float_4
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%_1_x = OpVariable %_ptr_Function_float Function
|
||||
@ -56,27 +54,27 @@ OpStore %_1_x %22
|
||||
%25 = OpLoad %float %_1_x
|
||||
OpStore %x %25
|
||||
OpStore %_3_x %29
|
||||
%30 = OpExtInst %float %1 Length %31
|
||||
%32 = OpCompositeConstruct %v2float %30 %30
|
||||
OpStore %_3_x %32
|
||||
%34 = OpLoad %v2float %_3_x
|
||||
%33 = OpExtInst %float %1 Distance %34 %35
|
||||
%38 = OpCompositeConstruct %v2float %33 %33
|
||||
OpStore %_3_x %38
|
||||
%40 = OpLoad %v2float %_3_x
|
||||
%39 = OpDot %float %40 %41
|
||||
%42 = OpCompositeConstruct %v2float %39 %39
|
||||
OpStore %_3_x %42
|
||||
%30 = OpExtInst %float %1 Length %29
|
||||
%31 = OpCompositeConstruct %v2float %30 %30
|
||||
OpStore %_3_x %31
|
||||
%33 = OpLoad %v2float %_3_x
|
||||
%32 = OpExtInst %float %1 Distance %33 %36
|
||||
%37 = OpCompositeConstruct %v2float %32 %32
|
||||
OpStore %_3_x %37
|
||||
%39 = OpLoad %v2float %_3_x
|
||||
%38 = OpDot %float %39 %36
|
||||
%40 = OpCompositeConstruct %v2float %38 %38
|
||||
OpStore %_3_x %40
|
||||
%42 = OpLoad %v2float %_3_x
|
||||
%41 = OpExtInst %v2float %1 Normalize %42
|
||||
OpStore %_3_x %41
|
||||
%44 = OpLoad %v2float %_3_x
|
||||
%43 = OpExtInst %v2float %1 Normalize %44
|
||||
OpStore %_3_x %43
|
||||
%46 = OpLoad %v2float %_3_x
|
||||
OpStore %y %46
|
||||
%47 = OpLoad %float %x
|
||||
%48 = OpLoad %v2float %y
|
||||
%49 = OpCompositeExtract %float %48 0
|
||||
%50 = OpCompositeExtract %float %48 1
|
||||
%51 = OpCompositeConstruct %v4float %47 %49 %50 %float_1
|
||||
OpStore %sk_FragColor %51
|
||||
OpStore %y %44
|
||||
%45 = OpLoad %float %x
|
||||
%46 = OpLoad %v2float %y
|
||||
%47 = OpCompositeExtract %float %46 0
|
||||
%48 = OpCompositeExtract %float %46 1
|
||||
%49 = OpCompositeConstruct %v4float %45 %47 %48 %float_1
|
||||
OpStore %sk_FragColor %49
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_0_75 = OpConstant %float 0.75
|
||||
%13 = OpConstantComposite %v4float %float_0_75 %float_0_75 %float_0_75 %float_0_75
|
||||
%14 = OpConstantComposite %v4float %float_0_75 %float_0_75 %float_0_75 %float_0_75
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -26,9 +26,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%int_0 = OpConstant %int 0
|
||||
%v2float = OpTypeVector %float 2
|
||||
%21 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%22 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%v3float = OpTypeVector %float 3
|
||||
%25 = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
||||
%26 = OpConstantComposite %v3float %float_1 %float_1 %float_1
|
||||
%int_2 = OpConstant %int 2
|
||||
%float_0 = OpConstant %float 0
|
||||
%mat2v2float = OpTypeMatrix %v2float 2
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -28,7 +28,7 @@ OpDecorate %sk_RTAdjust DescriptorSet 0
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -37,7 +37,7 @@ OpDecorate %sk_RTAdjust DescriptorSet 0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%17 = OpAccessChain %_ptr_Output_v4float %3 %int_0
|
||||
OpStore %17 %13
|
||||
OpStore %17 %14
|
||||
%19 = OpAccessChain %_ptr_Output_v4float %3 %int_0
|
||||
%20 = OpLoad %v4float %19
|
||||
%21 = OpVectorShuffle %v2float %20 %20 0 1
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_0 = OpConstant %float 0
|
||||
%13 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%14 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -24,30 +24,30 @@ OpDecorate %sk_FragColor Index 0
|
||||
OpDecorate %sk_Clockwise RelaxedPrecision
|
||||
OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
OpDecorate %31 RelaxedPrecision
|
||||
OpDecorate %33 RelaxedPrecision
|
||||
OpDecorate %34 RelaxedPrecision
|
||||
OpDecorate %35 RelaxedPrecision
|
||||
OpDecorate %37 RelaxedPrecision
|
||||
OpDecorate %36 RelaxedPrecision
|
||||
OpDecorate %44 RelaxedPrecision
|
||||
OpDecorate %45 RelaxedPrecision
|
||||
OpDecorate %46 RelaxedPrecision
|
||||
OpDecorate %43 RelaxedPrecision
|
||||
OpDecorate %43 RelaxedPrecision
|
||||
OpDecorate %42 RelaxedPrecision
|
||||
OpDecorate %42 RelaxedPrecision
|
||||
OpDecorate %50 RelaxedPrecision
|
||||
OpDecorate %51 RelaxedPrecision
|
||||
OpDecorate %52 RelaxedPrecision
|
||||
OpDecorate %53 RelaxedPrecision
|
||||
OpDecorate %50 RelaxedPrecision
|
||||
OpDecorate %50 RelaxedPrecision
|
||||
OpDecorate %49 RelaxedPrecision
|
||||
OpDecorate %49 RelaxedPrecision
|
||||
OpDecorate %57 RelaxedPrecision
|
||||
OpDecorate %58 RelaxedPrecision
|
||||
OpDecorate %59 RelaxedPrecision
|
||||
OpDecorate %60 RelaxedPrecision
|
||||
OpDecorate %61 RelaxedPrecision
|
||||
OpDecorate %57 RelaxedPrecision
|
||||
OpDecorate %57 RelaxedPrecision
|
||||
OpDecorate %72 RelaxedPrecision
|
||||
OpDecorate %75 RelaxedPrecision
|
||||
OpDecorate %78 RelaxedPrecision
|
||||
OpDecorate %157 RelaxedPrecision
|
||||
OpDecorate %161 RelaxedPrecision
|
||||
OpDecorate %164 RelaxedPrecision
|
||||
OpDecorate %56 RelaxedPrecision
|
||||
OpDecorate %56 RelaxedPrecision
|
||||
OpDecorate %70 RelaxedPrecision
|
||||
OpDecorate %73 RelaxedPrecision
|
||||
OpDecorate %76 RelaxedPrecision
|
||||
OpDecorate %152 RelaxedPrecision
|
||||
OpDecorate %156 RelaxedPrecision
|
||||
OpDecorate %159 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -60,18 +60,17 @@ OpDecorate %164 RelaxedPrecision
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%float_3 = OpConstant %float 3
|
||||
%16 = OpConstantComposite %v3float %float_3 %float_3 %float_3
|
||||
%17 = OpConstantComposite %v3float %float_3 %float_3 %float_3
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%float_4 = OpConstant %float 4
|
||||
%20 = OpConstantComposite %v4float %float_4 %float_4 %float_4 %float_4
|
||||
%21 = OpConstantComposite %v4float %float_4 %float_4 %float_4 %float_4
|
||||
%float_1 = OpConstant %float 1
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%int = OpTypeInt 32 1
|
||||
%int_1 = OpConstant %int 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%v2float = OpTypeVector %float 2
|
||||
%27 = OpConstantComposite %v2float %float_2 %float_2
|
||||
%32 = OpConstantComposite %v4float %float_4 %float_4 %float_4 %float_4
|
||||
%float_2 = OpConstant %float 2
|
||||
%29 = OpConstantComposite %v2float %float_2 %float_2
|
||||
%mat2v2float = OpTypeMatrix %v2float 2
|
||||
%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
|
||||
%float_0 = OpConstant %float 0
|
||||
@ -79,34 +78,30 @@ OpDecorate %164 RelaxedPrecision
|
||||
%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
|
||||
%mat4v4float = OpTypeMatrix %v4float 4
|
||||
%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
|
||||
%62 = OpConstantComposite %v3float %float_3 %float_3 %float_3
|
||||
%int_3 = OpConstant %int 3
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%v2int = OpTypeVector %int 2
|
||||
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
||||
%int_2 = OpConstant %int 2
|
||||
%84 = OpConstantComposite %v2int %int_2 %int_2
|
||||
%83 = OpConstantComposite %v2int %int_2 %int_2
|
||||
%v4int = OpTypeVector %int 4
|
||||
%_ptr_Function_v4int = OpTypePointer Function %v4int
|
||||
%int_4 = OpConstant %int 4
|
||||
%89 = OpConstantComposite %v4int %int_4 %int_4 %int_4 %int_4
|
||||
%88 = OpConstantComposite %v4int %int_4 %int_4 %int_4 %int_4
|
||||
%v3int = OpTypeVector %int 3
|
||||
%91 = OpConstantComposite %v3int %int_3 %int_3 %int_3
|
||||
%90 = OpConstantComposite %v3int %int_3 %int_3 %int_3
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%105 = OpConstantComposite %v2float %float_2 %float_2
|
||||
%107 = OpConstantComposite %v3float %float_3 %float_3 %float_3
|
||||
%108 = OpConstantComposite %v2float %float_2 %float_2
|
||||
%v3bool = OpTypeVector %bool 3
|
||||
%_ptr_Function_v3bool = OpTypePointer Function %v3bool
|
||||
%true = OpConstantTrue %bool
|
||||
%147 = OpConstantComposite %v3bool %true %true %true
|
||||
%143 = OpConstantComposite %v3bool %true %true %true
|
||||
%v4bool = OpTypeVector %bool 4
|
||||
%_ptr_Function_v4bool = OpTypePointer Function %v4bool
|
||||
%false = OpConstantFalse %bool
|
||||
%152 = OpConstantComposite %v4bool %false %false %false %false
|
||||
%148 = OpConstantComposite %v4bool %false %false %false %false
|
||||
%v2bool = OpTypeVector %bool 2
|
||||
%154 = OpConstantComposite %v2bool %false %false
|
||||
%150 = OpConstantComposite %v2bool %false %false
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
@ -120,131 +115,131 @@ OpDecorate %164 RelaxedPrecision
|
||||
%f2 = OpVariable %_ptr_Function_v2float Function
|
||||
%f3 = OpVariable %_ptr_Function_v3float Function
|
||||
%f2x2 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%126 = OpVariable %_ptr_Function_mat3v3float Function
|
||||
%134 = OpVariable %_ptr_Function_mat4v4float Function
|
||||
%121 = OpVariable %_ptr_Function_mat3v3float Function
|
||||
%129 = OpVariable %_ptr_Function_mat4v4float Function
|
||||
%b3 = OpVariable %_ptr_Function_v3bool Function
|
||||
%b4 = OpVariable %_ptr_Function_v4bool Function
|
||||
OpStore %h3 %16
|
||||
OpStore %h4 %20
|
||||
OpStore %h3 %17
|
||||
OpStore %h4 %21
|
||||
%23 = OpAccessChain %_ptr_Function_float %h3 %int_1
|
||||
OpStore %23 %float_1
|
||||
%30 = OpLoad %v3float %h3
|
||||
%31 = OpVectorShuffle %v3float %30 %27 3 1 4
|
||||
%31 = OpVectorShuffle %v3float %30 %29 3 1 4
|
||||
OpStore %h3 %31
|
||||
%33 = OpLoad %v4float %h4
|
||||
%34 = OpVectorShuffle %v4float %33 %32 6 7 4 5
|
||||
OpStore %h4 %34
|
||||
%35 = OpLoad %v3float %h3
|
||||
%36 = OpCompositeExtract %float %35 0
|
||||
%37 = OpLoad %v4float %h4
|
||||
%38 = OpCompositeExtract %float %37 0
|
||||
%39 = OpCompositeConstruct %v4float %float_1 %float_2 %36 %38
|
||||
OpStore %sk_FragColor %39
|
||||
%45 = OpCompositeConstruct %v2float %float_2 %float_0
|
||||
%46 = OpCompositeConstruct %v2float %float_0 %float_2
|
||||
%43 = OpCompositeConstruct %mat2v2float %45 %46
|
||||
OpStore %h2x2 %43
|
||||
%51 = OpCompositeConstruct %v3float %float_3 %float_0 %float_0
|
||||
%52 = OpCompositeConstruct %v3float %float_0 %float_3 %float_0
|
||||
%53 = OpCompositeConstruct %v3float %float_0 %float_0 %float_3
|
||||
%50 = OpCompositeConstruct %mat3v3float %51 %52 %53
|
||||
OpStore %h3x3 %50
|
||||
%58 = OpCompositeConstruct %v4float %float_4 %float_0 %float_0 %float_0
|
||||
%59 = OpCompositeConstruct %v4float %float_0 %float_4 %float_0 %float_0
|
||||
%60 = OpCompositeConstruct %v4float %float_0 %float_0 %float_4 %float_0
|
||||
%61 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_4
|
||||
%57 = OpCompositeConstruct %mat4v4float %58 %59 %60 %61
|
||||
OpStore %h4x4 %57
|
||||
%63 = OpAccessChain %_ptr_Function_v3float %h3x3 %int_1
|
||||
OpStore %63 %62
|
||||
%65 = OpAccessChain %_ptr_Function_v4float %h4x4 %int_3
|
||||
%66 = OpAccessChain %_ptr_Function_float %65 %int_3
|
||||
OpStore %66 %float_1
|
||||
%68 = OpAccessChain %_ptr_Function_v2float %h2x2 %int_0
|
||||
%70 = OpAccessChain %_ptr_Function_float %68 %int_0
|
||||
OpStore %70 %float_1
|
||||
%71 = OpAccessChain %_ptr_Function_v2float %h2x2 %int_0
|
||||
%72 = OpLoad %v2float %71
|
||||
%73 = OpCompositeExtract %float %72 0
|
||||
%74 = OpAccessChain %_ptr_Function_v3float %h3x3 %int_0
|
||||
%75 = OpLoad %v3float %74
|
||||
%76 = OpCompositeExtract %float %75 0
|
||||
%77 = OpAccessChain %_ptr_Function_v4float %h4x4 %int_0
|
||||
%78 = OpLoad %v4float %77
|
||||
%79 = OpCompositeExtract %float %78 0
|
||||
%80 = OpCompositeConstruct %v4float %73 %76 %79 %float_1
|
||||
OpStore %sk_FragColor %80
|
||||
OpStore %i2 %84
|
||||
OpStore %i4 %89
|
||||
%93 = OpLoad %v4int %i4
|
||||
%94 = OpVectorShuffle %v4int %93 %91 4 5 6 3
|
||||
OpStore %i4 %94
|
||||
%95 = OpAccessChain %_ptr_Function_int %i2 %int_1
|
||||
OpStore %95 %int_1
|
||||
%98 = OpLoad %v2int %i2
|
||||
%99 = OpCompositeExtract %int %98 0
|
||||
%97 = OpConvertSToF %float %99
|
||||
%101 = OpLoad %v4int %i4
|
||||
%102 = OpCompositeExtract %int %101 0
|
||||
%100 = OpConvertSToF %float %102
|
||||
%103 = OpCompositeConstruct %v4float %float_1 %97 %float_3 %100
|
||||
OpStore %sk_FragColor %103
|
||||
OpStore %f2 %105
|
||||
OpStore %f3 %107
|
||||
%32 = OpLoad %v4float %h4
|
||||
%33 = OpVectorShuffle %v4float %32 %21 6 7 4 5
|
||||
OpStore %h4 %33
|
||||
%34 = OpLoad %v3float %h3
|
||||
%35 = OpCompositeExtract %float %34 0
|
||||
%36 = OpLoad %v4float %h4
|
||||
%37 = OpCompositeExtract %float %36 0
|
||||
%38 = OpCompositeConstruct %v4float %float_1 %float_2 %35 %37
|
||||
OpStore %sk_FragColor %38
|
||||
%44 = OpCompositeConstruct %v2float %float_2 %float_0
|
||||
%45 = OpCompositeConstruct %v2float %float_0 %float_2
|
||||
%42 = OpCompositeConstruct %mat2v2float %44 %45
|
||||
OpStore %h2x2 %42
|
||||
%50 = OpCompositeConstruct %v3float %float_3 %float_0 %float_0
|
||||
%51 = OpCompositeConstruct %v3float %float_0 %float_3 %float_0
|
||||
%52 = OpCompositeConstruct %v3float %float_0 %float_0 %float_3
|
||||
%49 = OpCompositeConstruct %mat3v3float %50 %51 %52
|
||||
OpStore %h3x3 %49
|
||||
%57 = OpCompositeConstruct %v4float %float_4 %float_0 %float_0 %float_0
|
||||
%58 = OpCompositeConstruct %v4float %float_0 %float_4 %float_0 %float_0
|
||||
%59 = OpCompositeConstruct %v4float %float_0 %float_0 %float_4 %float_0
|
||||
%60 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_4
|
||||
%56 = OpCompositeConstruct %mat4v4float %57 %58 %59 %60
|
||||
OpStore %h4x4 %56
|
||||
%61 = OpAccessChain %_ptr_Function_v3float %h3x3 %int_1
|
||||
OpStore %61 %17
|
||||
%63 = OpAccessChain %_ptr_Function_v4float %h4x4 %int_3
|
||||
%64 = OpAccessChain %_ptr_Function_float %63 %int_3
|
||||
OpStore %64 %float_1
|
||||
%66 = OpAccessChain %_ptr_Function_v2float %h2x2 %int_0
|
||||
%68 = OpAccessChain %_ptr_Function_float %66 %int_0
|
||||
OpStore %68 %float_1
|
||||
%69 = OpAccessChain %_ptr_Function_v2float %h2x2 %int_0
|
||||
%70 = OpLoad %v2float %69
|
||||
%71 = OpCompositeExtract %float %70 0
|
||||
%72 = OpAccessChain %_ptr_Function_v3float %h3x3 %int_0
|
||||
%73 = OpLoad %v3float %72
|
||||
%74 = OpCompositeExtract %float %73 0
|
||||
%75 = OpAccessChain %_ptr_Function_v4float %h4x4 %int_0
|
||||
%76 = OpLoad %v4float %75
|
||||
%77 = OpCompositeExtract %float %76 0
|
||||
%78 = OpCompositeConstruct %v4float %71 %74 %77 %float_1
|
||||
OpStore %sk_FragColor %78
|
||||
OpStore %i2 %83
|
||||
OpStore %i4 %88
|
||||
%91 = OpLoad %v4int %i4
|
||||
%92 = OpVectorShuffle %v4int %91 %90 4 5 6 3
|
||||
OpStore %i4 %92
|
||||
%93 = OpAccessChain %_ptr_Function_int %i2 %int_1
|
||||
OpStore %93 %int_1
|
||||
%96 = OpLoad %v2int %i2
|
||||
%97 = OpCompositeExtract %int %96 0
|
||||
%95 = OpConvertSToF %float %97
|
||||
%99 = OpLoad %v4int %i4
|
||||
%100 = OpCompositeExtract %int %99 0
|
||||
%98 = OpConvertSToF %float %100
|
||||
%101 = OpCompositeConstruct %v4float %float_1 %95 %float_3 %98
|
||||
OpStore %sk_FragColor %101
|
||||
OpStore %f2 %29
|
||||
OpStore %f3 %17
|
||||
%104 = OpLoad %v3float %f3
|
||||
%105 = OpVectorShuffle %v3float %104 %29 3 4 2
|
||||
OpStore %f3 %105
|
||||
%106 = OpAccessChain %_ptr_Function_float %f2 %int_0
|
||||
OpStore %106 %float_1
|
||||
%107 = OpLoad %v2float %f2
|
||||
%108 = OpCompositeExtract %float %107 0
|
||||
%109 = OpLoad %v3float %f3
|
||||
%110 = OpVectorShuffle %v3float %109 %108 3 4 2
|
||||
OpStore %f3 %110
|
||||
%111 = OpAccessChain %_ptr_Function_float %f2 %int_0
|
||||
OpStore %111 %float_1
|
||||
%112 = OpLoad %v2float %f2
|
||||
%113 = OpCompositeExtract %float %112 0
|
||||
%114 = OpLoad %v3float %f3
|
||||
%115 = OpCompositeExtract %float %114 0
|
||||
%116 = OpCompositeConstruct %v4float %float_1 %113 %115 %float_4
|
||||
OpStore %sk_FragColor %116
|
||||
%119 = OpCompositeConstruct %v2float %float_2 %float_0
|
||||
%120 = OpCompositeConstruct %v2float %float_0 %float_2
|
||||
%118 = OpCompositeConstruct %mat2v2float %119 %120
|
||||
OpStore %f2x2 %118
|
||||
%121 = OpAccessChain %_ptr_Function_v2float %f2x2 %int_0
|
||||
%122 = OpAccessChain %_ptr_Function_float %121 %int_0
|
||||
OpStore %122 %float_1
|
||||
%123 = OpAccessChain %_ptr_Function_v2float %f2x2 %int_0
|
||||
%124 = OpLoad %v2float %123
|
||||
%125 = OpCompositeExtract %float %124 0
|
||||
%128 = OpCompositeConstruct %v3float %float_3 %float_0 %float_0
|
||||
%129 = OpCompositeConstruct %v3float %float_0 %float_3 %float_0
|
||||
%130 = OpCompositeConstruct %v3float %float_0 %float_0 %float_3
|
||||
%127 = OpCompositeConstruct %mat3v3float %128 %129 %130
|
||||
OpStore %126 %127
|
||||
%131 = OpAccessChain %_ptr_Function_v3float %126 %int_0
|
||||
%132 = OpLoad %v3float %131
|
||||
%133 = OpCompositeExtract %float %132 0
|
||||
%136 = OpCompositeConstruct %v4float %float_4 %float_0 %float_0 %float_0
|
||||
%137 = OpCompositeConstruct %v4float %float_0 %float_4 %float_0 %float_0
|
||||
%138 = OpCompositeConstruct %v4float %float_0 %float_0 %float_4 %float_0
|
||||
%139 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_4
|
||||
%135 = OpCompositeConstruct %mat4v4float %136 %137 %138 %139
|
||||
OpStore %134 %135
|
||||
%140 = OpAccessChain %_ptr_Function_v4float %134 %int_0
|
||||
%141 = OpLoad %v4float %140
|
||||
%142 = OpCompositeExtract %float %141 0
|
||||
%143 = OpCompositeConstruct %v4float %125 %133 %142 %float_1
|
||||
OpStore %sk_FragColor %143
|
||||
OpStore %b3 %147
|
||||
%110 = OpCompositeExtract %float %109 0
|
||||
%111 = OpCompositeConstruct %v4float %float_1 %108 %110 %float_4
|
||||
OpStore %sk_FragColor %111
|
||||
%114 = OpCompositeConstruct %v2float %float_2 %float_0
|
||||
%115 = OpCompositeConstruct %v2float %float_0 %float_2
|
||||
%113 = OpCompositeConstruct %mat2v2float %114 %115
|
||||
OpStore %f2x2 %113
|
||||
%116 = OpAccessChain %_ptr_Function_v2float %f2x2 %int_0
|
||||
%117 = OpAccessChain %_ptr_Function_float %116 %int_0
|
||||
OpStore %117 %float_1
|
||||
%118 = OpAccessChain %_ptr_Function_v2float %f2x2 %int_0
|
||||
%119 = OpLoad %v2float %118
|
||||
%120 = OpCompositeExtract %float %119 0
|
||||
%123 = OpCompositeConstruct %v3float %float_3 %float_0 %float_0
|
||||
%124 = OpCompositeConstruct %v3float %float_0 %float_3 %float_0
|
||||
%125 = OpCompositeConstruct %v3float %float_0 %float_0 %float_3
|
||||
%122 = OpCompositeConstruct %mat3v3float %123 %124 %125
|
||||
OpStore %121 %122
|
||||
%126 = OpAccessChain %_ptr_Function_v3float %121 %int_0
|
||||
%127 = OpLoad %v3float %126
|
||||
%128 = OpCompositeExtract %float %127 0
|
||||
%131 = OpCompositeConstruct %v4float %float_4 %float_0 %float_0 %float_0
|
||||
%132 = OpCompositeConstruct %v4float %float_0 %float_4 %float_0 %float_0
|
||||
%133 = OpCompositeConstruct %v4float %float_0 %float_0 %float_4 %float_0
|
||||
%134 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_4
|
||||
%130 = OpCompositeConstruct %mat4v4float %131 %132 %133 %134
|
||||
OpStore %129 %130
|
||||
%135 = OpAccessChain %_ptr_Function_v4float %129 %int_0
|
||||
%136 = OpLoad %v4float %135
|
||||
%137 = OpCompositeExtract %float %136 0
|
||||
%138 = OpCompositeConstruct %v4float %120 %128 %137 %float_1
|
||||
OpStore %sk_FragColor %138
|
||||
OpStore %b3 %143
|
||||
OpStore %b4 %148
|
||||
%151 = OpLoad %v4bool %b4
|
||||
%152 = OpVectorShuffle %v4bool %151 %150 4 1 2 5
|
||||
OpStore %b4 %152
|
||||
%156 = OpLoad %v4bool %b4
|
||||
%157 = OpVectorShuffle %v4bool %156 %154 4 1 2 5
|
||||
OpStore %b4 %157
|
||||
%158 = OpAccessChain %_ptr_Function_bool %b3 %int_2
|
||||
OpStore %158 %true
|
||||
%161 = OpLoad %v3bool %b3
|
||||
%162 = OpCompositeExtract %bool %161 0
|
||||
%160 = OpSelect %float %162 %float_1 %float_0
|
||||
%164 = OpLoad %v4bool %b4
|
||||
%165 = OpCompositeExtract %bool %164 0
|
||||
%163 = OpSelect %float %165 %float_1 %float_0
|
||||
%166 = OpCompositeConstruct %v4float %float_1 %float_0 %160 %163
|
||||
OpStore %sk_FragColor %166
|
||||
%153 = OpAccessChain %_ptr_Function_bool %b3 %int_2
|
||||
OpStore %153 %true
|
||||
%156 = OpLoad %v3bool %b3
|
||||
%157 = OpCompositeExtract %bool %156 0
|
||||
%155 = OpSelect %float %157 %float_1 %float_0
|
||||
%159 = OpLoad %v4bool %b4
|
||||
%160 = OpCompositeExtract %bool %159 0
|
||||
%158 = OpSelect %float %160 %float_1 %float_0
|
||||
%161 = OpCompositeConstruct %v4float %float_1 %float_0 %155 %158
|
||||
OpStore %sk_FragColor %161
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -26,7 +26,7 @@ OpDecorate %test2DRect RelaxedPrecision
|
||||
OpDecorate %test2DRect Binding 1
|
||||
OpDecorate %19 RelaxedPrecision
|
||||
OpDecorate %24 RelaxedPrecision
|
||||
OpDecorate %27 RelaxedPrecision
|
||||
OpDecorate %26 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -41,23 +41,22 @@ OpDecorate %27 RelaxedPrecision
|
||||
%test2DRect = OpVariable %_ptr_UniformConstant_12 UniformConstant
|
||||
%void = OpTypeVoid
|
||||
%16 = OpTypeFunction %void
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%v2float = OpTypeVector %float 2
|
||||
%20 = OpConstantComposite %v2float %float_0_5 %float_0_5
|
||||
%25 = OpConstantComposite %v2float %float_0_5 %float_0_5
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%22 = OpConstantComposite %v2float %float_0_5 %float_0_5
|
||||
%v3float = OpTypeVector %float 3
|
||||
%28 = OpConstantComposite %v3float %float_0_5 %float_0_5 %float_0_5
|
||||
%main = OpFunction %void None %16
|
||||
%17 = OpLabel
|
||||
%19 = OpLoad %12 %test2D
|
||||
%18 = OpImageSampleImplicitLod %v4float %19 %20
|
||||
%18 = OpImageSampleImplicitLod %v4float %19 %22
|
||||
OpStore %sk_FragColor %18
|
||||
%24 = OpLoad %12 %test2DRect
|
||||
%23 = OpImageSampleImplicitLod %v4float %24 %25
|
||||
%23 = OpImageSampleImplicitLod %v4float %24 %22
|
||||
OpStore %sk_FragColor %23
|
||||
%27 = OpLoad %12 %test2DRect
|
||||
%26 = OpImageSampleProjImplicitLod %v4float %27 %28
|
||||
OpStore %sk_FragColor %26
|
||||
%26 = OpLoad %12 %test2DRect
|
||||
%25 = OpImageSampleProjImplicitLod %v4float %26 %28
|
||||
OpStore %sk_FragColor %25
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_0 = OpConstant %float 0
|
||||
%13 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%14 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_0 = OpConstant %float 0
|
||||
%13 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%14 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_0 = OpConstant %float 0
|
||||
%13 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%14 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -21,9 +21,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_0 = OpConstant %float 0
|
||||
%13 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%14 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -66,7 +66,7 @@ OpDecorate %148 RelaxedPrecision
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%145 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%float_0 = OpConstant %float 0
|
||||
%146 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%147 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%v = OpVariable %_ptr_Function_v4bool Function
|
||||
@ -223,7 +223,7 @@ OpBranchConditional %138 %142 %143
|
||||
OpStore %140 %145
|
||||
OpBranch %144
|
||||
%143 = OpLabel
|
||||
OpStore %140 %146
|
||||
OpStore %140 %147
|
||||
OpBranch %144
|
||||
%144 = OpLabel
|
||||
%148 = OpLoad %v4float %140
|
||||
|
@ -54,7 +54,7 @@ OpDecorate %69 RelaxedPrecision
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%float_2 = OpConstant %float 2
|
||||
%71 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%72 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%_0_i = OpVariable %_ptr_Function_v4int Function
|
||||
@ -122,6 +122,6 @@ OpStore %_10_w %65
|
||||
%69 = OpLoad %float %_10_w
|
||||
%70 = OpCompositeConstruct %v4float %66 %67 %68 %69
|
||||
OpStore %sk_FragColor %70
|
||||
OpStore %sk_FragColor %71
|
||||
OpStore %sk_FragColor %72
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -22,9 +22,9 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_0 = OpConstant %float 0
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_0 %float_1 %float_1
|
||||
%15 = OpConstantComposite %v4float %float_1 %float_0 %float_1 %float_1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
OpStore %sk_FragColor %13
|
||||
OpStore %sk_FragColor %15
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -39,7 +39,7 @@ OpDecorate %24 RelaxedPrecision
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%float_0 = OpConstant %float 0
|
||||
%v2float = OpTypeVector %float 2
|
||||
%25 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%26 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%main = OpFunction %void None %15
|
||||
%16 = OpLabel
|
||||
%a = OpVariable %_ptr_Function_v4float Function
|
||||
@ -48,7 +48,7 @@ OpDecorate %24 RelaxedPrecision
|
||||
%19 = OpImageSampleImplicitLod %v4float %20 %float_0
|
||||
OpStore %a %19
|
||||
%24 = OpLoad %12 %tex
|
||||
%23 = OpImageSampleProjImplicitLod %v4float %24 %25
|
||||
%23 = OpImageSampleProjImplicitLod %v4float %24 %26
|
||||
OpStore %b %23
|
||||
%27 = OpLoad %v4float %a
|
||||
%28 = OpVectorShuffle %v2float %27 %27 0 1
|
||||
|
@ -39,20 +39,20 @@ OpDecorate %26 RelaxedPrecision
|
||||
%void = OpTypeVoid
|
||||
%15 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%float_0 = OpConstant %float 0
|
||||
%v2float = OpTypeVector %float 2
|
||||
%21 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%float_0 = OpConstant %float 0
|
||||
%23 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%v3float = OpTypeVector %float 3
|
||||
%27 = OpConstantComposite %v3float %float_0 %float_0 %float_0
|
||||
%28 = OpConstantComposite %v3float %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %15
|
||||
%16 = OpLabel
|
||||
%a = OpVariable %_ptr_Function_v4float Function
|
||||
%b = OpVariable %_ptr_Function_v4float Function
|
||||
%20 = OpLoad %12 %tex
|
||||
%19 = OpImageSampleImplicitLod %v4float %20 %21
|
||||
%19 = OpImageSampleImplicitLod %v4float %20 %23
|
||||
OpStore %a %19
|
||||
%26 = OpLoad %12 %tex
|
||||
%25 = OpImageSampleProjImplicitLod %v4float %26 %27
|
||||
%25 = OpImageSampleProjImplicitLod %v4float %26 %28
|
||||
OpStore %b %25
|
||||
%29 = OpLoad %v4float %a
|
||||
%30 = OpVectorShuffle %v2float %29 %29 0 1
|
||||
|
@ -29,7 +29,7 @@ OpDecorate %two Binding 1
|
||||
OpDecorate %24 RelaxedPrecision
|
||||
OpDecorate %29 RelaxedPrecision
|
||||
OpDecorate %34 RelaxedPrecision
|
||||
OpDecorate %38 RelaxedPrecision
|
||||
OpDecorate %37 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -51,8 +51,7 @@ OpDecorate %38 RelaxedPrecision
|
||||
%float_0 = OpConstant %float 0
|
||||
%float_n0_5 = OpConstant %float -0.5
|
||||
%v2float = OpTypeVector %float 2
|
||||
%30 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%35 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%31 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%v3float = OpTypeVector %float 3
|
||||
%39 = OpConstantComposite %v3float %float_0 %float_0 %float_0
|
||||
%main = OpFunction %void None %19
|
||||
@ -65,24 +64,24 @@ OpDecorate %38 RelaxedPrecision
|
||||
%23 = OpImageSampleImplicitLod %v4float %24 %float_0 Bias %float_n0_5
|
||||
OpStore %a %23
|
||||
%29 = OpLoad %16 %two
|
||||
%28 = OpImageSampleImplicitLod %v4float %29 %30 Bias %float_n0_5
|
||||
%28 = OpImageSampleImplicitLod %v4float %29 %31 Bias %float_n0_5
|
||||
OpStore %b %28
|
||||
%34 = OpLoad %12 %one
|
||||
%33 = OpImageSampleProjImplicitLod %v4float %34 %35 Bias %float_n0_5
|
||||
%33 = OpImageSampleProjImplicitLod %v4float %34 %31 Bias %float_n0_5
|
||||
OpStore %c %33
|
||||
%38 = OpLoad %16 %two
|
||||
%37 = OpImageSampleProjImplicitLod %v4float %38 %39 Bias %float_n0_5
|
||||
OpStore %d %37
|
||||
%41 = OpLoad %v4float %a
|
||||
%42 = OpCompositeExtract %float %41 0
|
||||
%43 = OpLoad %v4float %b
|
||||
%44 = OpCompositeExtract %float %43 0
|
||||
%45 = OpLoad %v4float %c
|
||||
%46 = OpCompositeExtract %float %45 0
|
||||
%47 = OpLoad %v4float %d
|
||||
%48 = OpCompositeExtract %float %47 0
|
||||
%49 = OpCompositeConstruct %v4float %42 %44 %46 %48
|
||||
OpStore %sk_FragColor %49
|
||||
%37 = OpLoad %16 %two
|
||||
%36 = OpImageSampleProjImplicitLod %v4float %37 %39 Bias %float_n0_5
|
||||
OpStore %d %36
|
||||
%40 = OpLoad %v4float %a
|
||||
%41 = OpCompositeExtract %float %40 0
|
||||
%42 = OpLoad %v4float %b
|
||||
%43 = OpCompositeExtract %float %42 0
|
||||
%44 = OpLoad %v4float %c
|
||||
%45 = OpCompositeExtract %float %44 0
|
||||
%46 = OpLoad %v4float %d
|
||||
%47 = OpCompositeExtract %float %46 0
|
||||
%48 = OpCompositeConstruct %v4float %41 %43 %45 %47
|
||||
OpStore %sk_FragColor %48
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
|
@ -21,13 +21,13 @@ OpDecorate %17 RelaxedPrecision
|
||||
%sk_Clockwise = OpVariable %_ptr_Input_bool Input
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_n1 = OpConstant %float -1
|
||||
%v2float = OpTypeVector %float 2
|
||||
%13 = OpConstantComposite %v2float %float_n1 %float_n1
|
||||
%float_n1 = OpConstant %float -1
|
||||
%15 = OpConstantComposite %v2float %float_n1 %float_n1
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%16 = OpLoad %v4float %sk_FragColor
|
||||
%17 = OpVectorShuffle %v4float %16 %13 4 5 2 3
|
||||
%17 = OpVectorShuffle %v4float %16 %15 4 5 2 3
|
||||
OpStore %sk_FragColor %17
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -1,7 +1,7 @@
|
||||
### Compilation failed:
|
||||
|
||||
error: SPIR-V validation error: OpConstantComposite Constituent <id> count does not match Result Type <id> '22[%v3float]'s vector component count.
|
||||
%23 = OpConstantComposite %v3float %24 %float_1
|
||||
error: SPIR-V validation error: OpConstantComposite Constituent <id> count does not match Result Type <id> '21[%v3float]'s vector component count.
|
||||
%22 = OpConstantComposite %v3float %14 %float_1
|
||||
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
@ -34,75 +34,72 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%_ptr_Private_v2float = OpTypePointer Private %v2float
|
||||
%v1 = OpVariable %_ptr_Private_v2float Private
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%14 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%v2 = OpVariable %_ptr_Private_v2float Private
|
||||
%float_2 = OpConstant %float 2
|
||||
%16 = OpConstantComposite %v2float %float_1 %float_2
|
||||
%17 = OpConstantComposite %v2float %float_1 %float_2
|
||||
%v3 = OpVariable %_ptr_Private_v2float Private
|
||||
%19 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Private_v3float = OpTypePointer Private %v3float
|
||||
%v4 = OpVariable %_ptr_Private_v3float Private
|
||||
%24 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%23 = OpConstantComposite %v3float %24 %float_1
|
||||
%22 = OpConstantComposite %v3float %14 %float_1
|
||||
%int = OpTypeInt 32 1
|
||||
%v2int = OpTypeVector %int 2
|
||||
%_ptr_Private_v2int = OpTypePointer Private %v2int
|
||||
%v5 = OpVariable %_ptr_Private_v2int Private
|
||||
%int_1 = OpConstant %int 1
|
||||
%29 = OpConstantComposite %v2int %int_1 %int_1
|
||||
%28 = OpConstantComposite %v2int %int_1 %int_1
|
||||
%v6 = OpVariable %_ptr_Private_v2int Private
|
||||
%32 = OpConstantComposite %v2float %float_1 %float_2
|
||||
%v7 = OpVariable %_ptr_Private_v2float Private
|
||||
%int_2 = OpConstant %int 2
|
||||
%39 = OpConstantComposite %v2int %int_1 %int_2
|
||||
%37 = OpConstantComposite %v2int %int_1 %int_2
|
||||
%void = OpTypeVoid
|
||||
%47 = OpTypeFunction %void
|
||||
%44 = OpTypeFunction %void
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%int_0 = OpConstant %int 0
|
||||
%main = OpFunction %void None %47
|
||||
%48 = OpLabel
|
||||
OpStore %v1 %13
|
||||
OpStore %v2 %16
|
||||
OpStore %v3 %19
|
||||
OpStore %v4 %23
|
||||
OpStore %v5 %29
|
||||
%33 = OpCompositeExtract %float %32 0
|
||||
%34 = OpConvertFToS %int %33
|
||||
%35 = OpCompositeExtract %float %32 1
|
||||
%36 = OpConvertFToS %int %35
|
||||
%37 = OpCompositeConstruct %v2int %34 %36
|
||||
OpStore %v6 %37
|
||||
%41 = OpCompositeExtract %int %39 0
|
||||
%42 = OpConvertSToF %float %41
|
||||
%43 = OpCompositeExtract %int %39 1
|
||||
%44 = OpConvertSToF %float %43
|
||||
%45 = OpCompositeConstruct %v2float %42 %44
|
||||
OpStore %v7 %45
|
||||
%49 = OpLoad %v2float %v1
|
||||
%50 = OpCompositeExtract %float %49 0
|
||||
%51 = OpLoad %v2float %v2
|
||||
%main = OpFunction %void None %44
|
||||
%45 = OpLabel
|
||||
OpStore %v1 %14
|
||||
OpStore %v2 %17
|
||||
OpStore %v3 %14
|
||||
OpStore %v4 %22
|
||||
OpStore %v5 %28
|
||||
%30 = OpCompositeExtract %float %17 0
|
||||
%31 = OpConvertFToS %int %30
|
||||
%32 = OpCompositeExtract %float %17 1
|
||||
%33 = OpConvertFToS %int %32
|
||||
%34 = OpCompositeConstruct %v2int %31 %33
|
||||
OpStore %v6 %34
|
||||
%38 = OpCompositeExtract %int %37 0
|
||||
%39 = OpConvertSToF %float %38
|
||||
%40 = OpCompositeExtract %int %37 1
|
||||
%41 = OpConvertSToF %float %40
|
||||
%42 = OpCompositeConstruct %v2float %39 %41
|
||||
OpStore %v7 %42
|
||||
%46 = OpLoad %v2float %v1
|
||||
%47 = OpCompositeExtract %float %46 0
|
||||
%48 = OpLoad %v2float %v2
|
||||
%49 = OpCompositeExtract %float %48 0
|
||||
%50 = OpFAdd %float %47 %49
|
||||
%51 = OpLoad %v2float %v3
|
||||
%52 = OpCompositeExtract %float %51 0
|
||||
%53 = OpFAdd %float %50 %52
|
||||
%54 = OpLoad %v2float %v3
|
||||
%54 = OpLoad %v3float %v4
|
||||
%55 = OpCompositeExtract %float %54 0
|
||||
%56 = OpFAdd %float %53 %55
|
||||
%57 = OpLoad %v3float %v4
|
||||
%58 = OpCompositeExtract %float %57 0
|
||||
%59 = OpFAdd %float %56 %58
|
||||
%61 = OpLoad %v2int %v5
|
||||
%62 = OpCompositeExtract %int %61 0
|
||||
%60 = OpConvertSToF %float %62
|
||||
%63 = OpFAdd %float %59 %60
|
||||
%65 = OpLoad %v2int %v6
|
||||
%66 = OpCompositeExtract %int %65 0
|
||||
%64 = OpConvertSToF %float %66
|
||||
%67 = OpFAdd %float %63 %64
|
||||
%68 = OpLoad %v2float %v7
|
||||
%69 = OpCompositeExtract %float %68 0
|
||||
%70 = OpFAdd %float %67 %69
|
||||
%71 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %71 %70
|
||||
%58 = OpLoad %v2int %v5
|
||||
%59 = OpCompositeExtract %int %58 0
|
||||
%57 = OpConvertSToF %float %59
|
||||
%60 = OpFAdd %float %56 %57
|
||||
%62 = OpLoad %v2int %v6
|
||||
%63 = OpCompositeExtract %int %62 0
|
||||
%61 = OpConvertSToF %float %63
|
||||
%64 = OpFAdd %float %60 %61
|
||||
%65 = OpLoad %v2float %v7
|
||||
%66 = OpCompositeExtract %float %65 0
|
||||
%67 = OpFAdd %float %64 %66
|
||||
%68 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %68 %67
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
|
@ -12,14 +12,14 @@ OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
OpDecorate %sk_Clockwise RelaxedPrecision
|
||||
OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
OpDecorate %108 RelaxedPrecision
|
||||
OpDecorate %110 RelaxedPrecision
|
||||
OpDecorate %111 RelaxedPrecision
|
||||
OpDecorate %112 RelaxedPrecision
|
||||
OpDecorate %113 RelaxedPrecision
|
||||
OpDecorate %115 RelaxedPrecision
|
||||
OpDecorate %116 RelaxedPrecision
|
||||
OpDecorate %117 RelaxedPrecision
|
||||
OpDecorate %118 RelaxedPrecision
|
||||
OpDecorate %120 RelaxedPrecision
|
||||
OpDecorate %121 RelaxedPrecision
|
||||
OpDecorate %123 RelaxedPrecision
|
||||
OpDecorate %124 RelaxedPrecision
|
||||
OpDecorate %126 RelaxedPrecision
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -37,15 +37,15 @@ OpDecorate %126 RelaxedPrecision
|
||||
%float_7 = OpConstant %float 7
|
||||
%float_9 = OpConstant %float 9
|
||||
%float_11 = OpConstant %float 11
|
||||
%18 = OpConstantComposite %v4float %float_6 %float_7 %float_9 %float_11
|
||||
%22 = OpConstantComposite %v4float %float_6 %float_7 %float_9 %float_11
|
||||
%23 = OpConstantComposite %v4float %float_7 %float_9 %float_9 %float_9
|
||||
%float_2 = OpConstant %float 2
|
||||
%float_4 = OpConstant %float 4
|
||||
%float_8 = OpConstant %float 8
|
||||
%24 = OpConstantComposite %v4float %float_2 %float_4 %float_6 %float_8
|
||||
%27 = OpConstantComposite %v4float %float_2 %float_4 %float_6 %float_8
|
||||
%float_12 = OpConstant %float 12
|
||||
%float_3 = OpConstant %float 3
|
||||
%28 = OpConstantComposite %v4float %float_12 %float_6 %float_4 %float_3
|
||||
%30 = OpConstantComposite %v4float %float_12 %float_6 %float_4 %float_3
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_n2 = OpConstant %float -2
|
||||
%float_n5 = OpConstant %float -5
|
||||
@ -56,16 +56,9 @@ OpDecorate %126 RelaxedPrecision
|
||||
%float_13 = OpConstant %float 13
|
||||
%float_n13 = OpConstant %float -13
|
||||
%float_0 = OpConstant %float 0
|
||||
%67 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%69 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%70 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%79 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%80 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%85 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%86 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%68 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%float_16 = OpConstant %float 16
|
||||
%float_17 = OpConstant %float 17
|
||||
%93 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%float_19 = OpConstant %float 19
|
||||
%float_19_5 = OpConstant %float 19.5
|
||||
%float_20 = OpConstant %float 20
|
||||
@ -73,10 +66,8 @@ OpDecorate %126 RelaxedPrecision
|
||||
%float_22 = OpConstant %float 22
|
||||
%float_23 = OpConstant %float 23
|
||||
%float_24 = OpConstant %float 24
|
||||
%116 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%119 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%122 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%125 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%109 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%114 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
|
||||
%v4int = OpTypeVector %int 4
|
||||
%_ptr_Function_v4int = OpTypePointer Function %v4int
|
||||
%int_2 = OpConstant %int 2
|
||||
@ -85,36 +76,27 @@ OpDecorate %126 RelaxedPrecision
|
||||
%int_7 = OpConstant %int 7
|
||||
%int_9 = OpConstant %int 9
|
||||
%int_11 = OpConstant %int 11
|
||||
%133 = OpConstantComposite %v4int %int_6 %int_7 %int_9 %int_11
|
||||
%138 = OpConstantComposite %v4int %int_7 %int_9 %int_9 %int_9
|
||||
%128 = OpConstantComposite %v4int %int_6 %int_7 %int_9 %int_11
|
||||
%129 = OpConstantComposite %v4int %int_7 %int_9 %int_9 %int_9
|
||||
%int_4 = OpConstant %int 4
|
||||
%int_8 = OpConstant %int 8
|
||||
%139 = OpConstantComposite %v4int %int_2 %int_4 %int_6 %int_8
|
||||
%132 = OpConstantComposite %v4int %int_2 %int_4 %int_6 %int_8
|
||||
%int_12 = OpConstant %int 12
|
||||
%int_3 = OpConstant %int 3
|
||||
%142 = OpConstantComposite %v4int %int_12 %int_6 %int_4 %int_3
|
||||
%162 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%163 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%164 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%177 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%178 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%185 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%186 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%193 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%135 = OpConstantComposite %v4int %int_12 %int_6 %int_4 %int_3
|
||||
%153 = OpConstantComposite %v4int %int_0 %int_0 %int_0 %int_0
|
||||
%int_1 = OpConstant %int 1
|
||||
%216 = OpConstantComposite %v4int %int_1 %int_1 %int_1 %int_1
|
||||
%220 = OpConstantComposite %v4int %int_1 %int_1 %int_1 %int_1
|
||||
%223 = OpConstantComposite %v4int %int_2 %int_2 %int_2 %int_2
|
||||
%226 = OpConstantComposite %v4int %int_2 %int_2 %int_2 %int_2
|
||||
%201 = OpConstantComposite %v4int %int_1 %int_1 %int_1 %int_1
|
||||
%206 = OpConstantComposite %v4int %int_2 %int_2 %int_2 %int_2
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%_0_result = OpVariable %_ptr_Function_v4int Function
|
||||
%14 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %14 %float_0_5
|
||||
OpStore %sk_FragColor %18
|
||||
OpStore %sk_FragColor %22
|
||||
OpStore %sk_FragColor %23
|
||||
OpStore %sk_FragColor %24
|
||||
OpStore %sk_FragColor %28
|
||||
OpStore %sk_FragColor %27
|
||||
OpStore %sk_FragColor %30
|
||||
%31 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %31 %float_6
|
||||
%33 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
@ -167,197 +149,197 @@ OpStore %sk_FragColor %64
|
||||
%65 = OpExtInst %float %1 Sqrt %float_2
|
||||
%66 = OpCompositeConstruct %v4float %65 %65 %65 %65
|
||||
OpStore %sk_FragColor %66
|
||||
OpStore %sk_FragColor %67
|
||||
OpStore %sk_FragColor %69
|
||||
OpStore %sk_FragColor %68
|
||||
OpStore %sk_FragColor %68
|
||||
OpStore %sk_FragColor %68
|
||||
%69 = OpExtInst %float %1 Sqrt %float_6
|
||||
%70 = OpCompositeConstruct %v4float %69 %69 %69 %69
|
||||
OpStore %sk_FragColor %70
|
||||
%71 = OpExtInst %float %1 Sqrt %float_6
|
||||
%71 = OpExtInst %float %1 Sqrt %float_7
|
||||
%72 = OpCompositeConstruct %v4float %71 %71 %71 %71
|
||||
OpStore %sk_FragColor %72
|
||||
%73 = OpExtInst %float %1 Sqrt %float_7
|
||||
%73 = OpExtInst %float %1 Sqrt %float_8
|
||||
%74 = OpCompositeConstruct %v4float %73 %73 %73 %73
|
||||
OpStore %sk_FragColor %74
|
||||
%75 = OpExtInst %float %1 Sqrt %float_8
|
||||
%75 = OpExtInst %float %1 Sqrt %float_9
|
||||
%76 = OpCompositeConstruct %v4float %75 %75 %75 %75
|
||||
OpStore %sk_FragColor %76
|
||||
%77 = OpExtInst %float %1 Sqrt %float_9
|
||||
OpStore %sk_FragColor %68
|
||||
OpStore %sk_FragColor %68
|
||||
%77 = OpExtInst %float %1 Sqrt %float_12
|
||||
%78 = OpCompositeConstruct %v4float %77 %77 %77 %77
|
||||
OpStore %sk_FragColor %78
|
||||
OpStore %sk_FragColor %79
|
||||
%79 = OpExtInst %float %1 Sqrt %float_13
|
||||
%80 = OpCompositeConstruct %v4float %79 %79 %79 %79
|
||||
OpStore %sk_FragColor %80
|
||||
%81 = OpExtInst %float %1 Sqrt %float_12
|
||||
%82 = OpCompositeConstruct %v4float %81 %81 %81 %81
|
||||
OpStore %sk_FragColor %82
|
||||
%83 = OpExtInst %float %1 Sqrt %float_13
|
||||
%84 = OpCompositeConstruct %v4float %83 %83 %83 %83
|
||||
OpStore %sk_FragColor %84
|
||||
OpStore %sk_FragColor %85
|
||||
OpStore %sk_FragColor %68
|
||||
OpStore %sk_FragColor %68
|
||||
%81 = OpExtInst %float %1 Sqrt %float_16
|
||||
%83 = OpCompositeConstruct %v4float %81 %81 %81 %81
|
||||
OpStore %sk_FragColor %83
|
||||
%84 = OpExtInst %float %1 Sqrt %float_17
|
||||
%86 = OpCompositeConstruct %v4float %84 %84 %84 %84
|
||||
OpStore %sk_FragColor %86
|
||||
%87 = OpExtInst %float %1 Sqrt %float_16
|
||||
OpStore %sk_FragColor %68
|
||||
%87 = OpExtInst %float %1 Sqrt %float_19
|
||||
%89 = OpCompositeConstruct %v4float %87 %87 %87 %87
|
||||
OpStore %sk_FragColor %89
|
||||
%90 = OpExtInst %float %1 Sqrt %float_17
|
||||
%90 = OpExtInst %float %1 Sqrt %float_19_5
|
||||
%92 = OpCompositeConstruct %v4float %90 %90 %90 %90
|
||||
OpStore %sk_FragColor %92
|
||||
OpStore %sk_FragColor %93
|
||||
%94 = OpExtInst %float %1 Sqrt %float_19
|
||||
%96 = OpCompositeConstruct %v4float %94 %94 %94 %94
|
||||
OpStore %sk_FragColor %96
|
||||
%97 = OpExtInst %float %1 Sqrt %float_19_5
|
||||
%99 = OpCompositeConstruct %v4float %97 %97 %97 %97
|
||||
OpStore %sk_FragColor %99
|
||||
%100 = OpExtInst %float %1 Sqrt %float_20
|
||||
%102 = OpCompositeConstruct %v4float %100 %100 %100 %100
|
||||
OpStore %sk_FragColor %102
|
||||
%103 = OpExtInst %float %1 Sqrt %float_21
|
||||
%105 = OpCompositeConstruct %v4float %103 %103 %103 %103
|
||||
OpStore %sk_FragColor %105
|
||||
%106 = OpExtInst %float %1 Sqrt %float_22
|
||||
%108 = OpCompositeConstruct %v4float %106 %106 %106 %106
|
||||
OpStore %sk_FragColor %108
|
||||
%109 = OpExtInst %float %1 Sqrt %float_23
|
||||
%111 = OpCompositeConstruct %v4float %109 %109 %109 %109
|
||||
OpStore %sk_FragColor %111
|
||||
%112 = OpExtInst %float %1 Sqrt %float_24
|
||||
%114 = OpCompositeConstruct %v4float %112 %112 %112 %112
|
||||
OpStore %sk_FragColor %114
|
||||
%115 = OpLoad %v4float %sk_FragColor
|
||||
%117 = OpFAdd %v4float %115 %116
|
||||
%93 = OpExtInst %float %1 Sqrt %float_20
|
||||
%95 = OpCompositeConstruct %v4float %93 %93 %93 %93
|
||||
OpStore %sk_FragColor %95
|
||||
%96 = OpExtInst %float %1 Sqrt %float_21
|
||||
%98 = OpCompositeConstruct %v4float %96 %96 %96 %96
|
||||
OpStore %sk_FragColor %98
|
||||
%99 = OpExtInst %float %1 Sqrt %float_22
|
||||
%101 = OpCompositeConstruct %v4float %99 %99 %99 %99
|
||||
OpStore %sk_FragColor %101
|
||||
%102 = OpExtInst %float %1 Sqrt %float_23
|
||||
%104 = OpCompositeConstruct %v4float %102 %102 %102 %102
|
||||
OpStore %sk_FragColor %104
|
||||
%105 = OpExtInst %float %1 Sqrt %float_24
|
||||
%107 = OpCompositeConstruct %v4float %105 %105 %105 %105
|
||||
OpStore %sk_FragColor %107
|
||||
%108 = OpLoad %v4float %sk_FragColor
|
||||
%110 = OpFAdd %v4float %108 %109
|
||||
OpStore %sk_FragColor %110
|
||||
%111 = OpLoad %v4float %sk_FragColor
|
||||
%112 = OpFSub %v4float %111 %109
|
||||
OpStore %sk_FragColor %112
|
||||
%113 = OpLoad %v4float %sk_FragColor
|
||||
%115 = OpFMul %v4float %113 %114
|
||||
OpStore %sk_FragColor %115
|
||||
%116 = OpLoad %v4float %sk_FragColor
|
||||
%117 = OpFDiv %v4float %116 %114
|
||||
OpStore %sk_FragColor %117
|
||||
%118 = OpLoad %v4float %sk_FragColor
|
||||
%120 = OpFSub %v4float %118 %119
|
||||
OpStore %sk_FragColor %120
|
||||
%121 = OpLoad %v4float %sk_FragColor
|
||||
%123 = OpFMul %v4float %121 %122
|
||||
OpStore %sk_FragColor %123
|
||||
%124 = OpLoad %v4float %sk_FragColor
|
||||
%126 = OpFDiv %v4float %124 %125
|
||||
OpStore %sk_FragColor %126
|
||||
%131 = OpAccessChain %_ptr_Function_int %_0_result %int_0
|
||||
OpStore %131 %int_2
|
||||
OpStore %_0_result %133
|
||||
OpStore %_0_result %138
|
||||
OpStore %_0_result %139
|
||||
OpStore %_0_result %142
|
||||
%122 = OpAccessChain %_ptr_Function_int %_0_result %int_0
|
||||
OpStore %122 %int_2
|
||||
OpStore %_0_result %128
|
||||
OpStore %_0_result %129
|
||||
OpStore %_0_result %132
|
||||
OpStore %_0_result %135
|
||||
%136 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %136 %float_6
|
||||
%137 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %137 %float_1
|
||||
%138 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %138 %float_n2
|
||||
%139 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %139 %float_3
|
||||
%140 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %140 %float_4
|
||||
%141 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %141 %float_n5
|
||||
%142 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %142 %float_6
|
||||
%143 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %143 %float_7
|
||||
%144 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %144 %float_n8
|
||||
%145 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %145 %float_6
|
||||
OpStore %145 %float_9
|
||||
%146 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %146 %float_1
|
||||
%147 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %147 %float_n2
|
||||
%148 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %148 %float_3
|
||||
%149 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %149 %float_4
|
||||
%150 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %150 %float_n5
|
||||
%151 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %151 %float_6
|
||||
%152 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %152 %float_7
|
||||
%153 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %153 %float_n8
|
||||
%154 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %154 %float_9
|
||||
%155 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
|
||||
OpStore %155 %float_n10
|
||||
%157 = OpExtInst %float %1 Sqrt %float_1
|
||||
%156 = OpConvertFToS %int %157
|
||||
%158 = OpCompositeConstruct %v4int %156 %156 %156 %156
|
||||
OpStore %_0_result %158
|
||||
%160 = OpExtInst %float %1 Sqrt %float_2
|
||||
%159 = OpConvertFToS %int %160
|
||||
%161 = OpCompositeConstruct %v4int %159 %159 %159 %159
|
||||
OpStore %_0_result %161
|
||||
OpStore %146 %float_n10
|
||||
%148 = OpExtInst %float %1 Sqrt %float_1
|
||||
%147 = OpConvertFToS %int %148
|
||||
%149 = OpCompositeConstruct %v4int %147 %147 %147 %147
|
||||
OpStore %_0_result %149
|
||||
%151 = OpExtInst %float %1 Sqrt %float_2
|
||||
%150 = OpConvertFToS %int %151
|
||||
%152 = OpCompositeConstruct %v4int %150 %150 %150 %150
|
||||
OpStore %_0_result %152
|
||||
OpStore %_0_result %153
|
||||
OpStore %_0_result %153
|
||||
OpStore %_0_result %153
|
||||
%155 = OpExtInst %float %1 Sqrt %float_6
|
||||
%154 = OpConvertFToS %int %155
|
||||
%156 = OpCompositeConstruct %v4int %154 %154 %154 %154
|
||||
OpStore %_0_result %156
|
||||
%158 = OpExtInst %float %1 Sqrt %float_7
|
||||
%157 = OpConvertFToS %int %158
|
||||
%159 = OpCompositeConstruct %v4int %157 %157 %157 %157
|
||||
OpStore %_0_result %159
|
||||
%161 = OpExtInst %float %1 Sqrt %float_8
|
||||
%160 = OpConvertFToS %int %161
|
||||
%162 = OpCompositeConstruct %v4int %160 %160 %160 %160
|
||||
OpStore %_0_result %162
|
||||
OpStore %_0_result %163
|
||||
OpStore %_0_result %164
|
||||
%166 = OpExtInst %float %1 Sqrt %float_6
|
||||
%165 = OpConvertFToS %int %166
|
||||
%167 = OpCompositeConstruct %v4int %165 %165 %165 %165
|
||||
OpStore %_0_result %167
|
||||
%169 = OpExtInst %float %1 Sqrt %float_7
|
||||
%168 = OpConvertFToS %int %169
|
||||
%170 = OpCompositeConstruct %v4int %168 %168 %168 %168
|
||||
OpStore %_0_result %170
|
||||
%172 = OpExtInst %float %1 Sqrt %float_8
|
||||
%171 = OpConvertFToS %int %172
|
||||
%173 = OpCompositeConstruct %v4int %171 %171 %171 %171
|
||||
OpStore %_0_result %173
|
||||
%175 = OpExtInst %float %1 Sqrt %float_9
|
||||
%174 = OpConvertFToS %int %175
|
||||
%176 = OpCompositeConstruct %v4int %174 %174 %174 %174
|
||||
OpStore %_0_result %176
|
||||
%164 = OpExtInst %float %1 Sqrt %float_9
|
||||
%163 = OpConvertFToS %int %164
|
||||
%165 = OpCompositeConstruct %v4int %163 %163 %163 %163
|
||||
OpStore %_0_result %165
|
||||
OpStore %_0_result %153
|
||||
OpStore %_0_result %153
|
||||
%167 = OpExtInst %float %1 Sqrt %float_12
|
||||
%166 = OpConvertFToS %int %167
|
||||
%168 = OpCompositeConstruct %v4int %166 %166 %166 %166
|
||||
OpStore %_0_result %168
|
||||
%170 = OpExtInst %float %1 Sqrt %float_13
|
||||
%169 = OpConvertFToS %int %170
|
||||
%171 = OpCompositeConstruct %v4int %169 %169 %169 %169
|
||||
OpStore %_0_result %171
|
||||
OpStore %_0_result %153
|
||||
OpStore %_0_result %153
|
||||
%173 = OpExtInst %float %1 Sqrt %float_16
|
||||
%172 = OpConvertFToS %int %173
|
||||
%174 = OpCompositeConstruct %v4int %172 %172 %172 %172
|
||||
OpStore %_0_result %174
|
||||
%176 = OpExtInst %float %1 Sqrt %float_17
|
||||
%175 = OpConvertFToS %int %176
|
||||
%177 = OpCompositeConstruct %v4int %175 %175 %175 %175
|
||||
OpStore %_0_result %177
|
||||
OpStore %_0_result %178
|
||||
%180 = OpExtInst %float %1 Sqrt %float_12
|
||||
%179 = OpConvertFToS %int %180
|
||||
%181 = OpCompositeConstruct %v4int %179 %179 %179 %179
|
||||
OpStore %_0_result %181
|
||||
%183 = OpExtInst %float %1 Sqrt %float_13
|
||||
%182 = OpConvertFToS %int %183
|
||||
%184 = OpCompositeConstruct %v4int %182 %182 %182 %182
|
||||
OpStore %_0_result %184
|
||||
OpStore %_0_result %185
|
||||
OpStore %_0_result %153
|
||||
%179 = OpExtInst %float %1 Sqrt %float_19
|
||||
%178 = OpConvertFToS %int %179
|
||||
%180 = OpCompositeConstruct %v4int %178 %178 %178 %178
|
||||
OpStore %_0_result %180
|
||||
%182 = OpExtInst %float %1 Sqrt %float_19_5
|
||||
%181 = OpConvertFToS %int %182
|
||||
%183 = OpCompositeConstruct %v4int %181 %181 %181 %181
|
||||
OpStore %_0_result %183
|
||||
%185 = OpExtInst %float %1 Sqrt %float_20
|
||||
%184 = OpConvertFToS %int %185
|
||||
%186 = OpCompositeConstruct %v4int %184 %184 %184 %184
|
||||
OpStore %_0_result %186
|
||||
%188 = OpExtInst %float %1 Sqrt %float_16
|
||||
%188 = OpExtInst %float %1 Sqrt %float_21
|
||||
%187 = OpConvertFToS %int %188
|
||||
%189 = OpCompositeConstruct %v4int %187 %187 %187 %187
|
||||
OpStore %_0_result %189
|
||||
%191 = OpExtInst %float %1 Sqrt %float_17
|
||||
%191 = OpExtInst %float %1 Sqrt %float_22
|
||||
%190 = OpConvertFToS %int %191
|
||||
%192 = OpCompositeConstruct %v4int %190 %190 %190 %190
|
||||
OpStore %_0_result %192
|
||||
OpStore %_0_result %193
|
||||
%195 = OpExtInst %float %1 Sqrt %float_19
|
||||
%194 = OpConvertFToS %int %195
|
||||
%196 = OpCompositeConstruct %v4int %194 %194 %194 %194
|
||||
OpStore %_0_result %196
|
||||
%198 = OpExtInst %float %1 Sqrt %float_19_5
|
||||
%197 = OpConvertFToS %int %198
|
||||
%199 = OpCompositeConstruct %v4int %197 %197 %197 %197
|
||||
OpStore %_0_result %199
|
||||
%201 = OpExtInst %float %1 Sqrt %float_20
|
||||
%200 = OpConvertFToS %int %201
|
||||
%202 = OpCompositeConstruct %v4int %200 %200 %200 %200
|
||||
%194 = OpExtInst %float %1 Sqrt %float_23
|
||||
%193 = OpConvertFToS %int %194
|
||||
%195 = OpCompositeConstruct %v4int %193 %193 %193 %193
|
||||
OpStore %_0_result %195
|
||||
%197 = OpExtInst %float %1 Sqrt %float_24
|
||||
%196 = OpConvertFToS %int %197
|
||||
%198 = OpCompositeConstruct %v4int %196 %196 %196 %196
|
||||
OpStore %_0_result %198
|
||||
%199 = OpLoad %v4int %_0_result
|
||||
%202 = OpIAdd %v4int %199 %201
|
||||
OpStore %_0_result %202
|
||||
%204 = OpExtInst %float %1 Sqrt %float_21
|
||||
%203 = OpConvertFToS %int %204
|
||||
%205 = OpCompositeConstruct %v4int %203 %203 %203 %203
|
||||
OpStore %_0_result %205
|
||||
%207 = OpExtInst %float %1 Sqrt %float_22
|
||||
%206 = OpConvertFToS %int %207
|
||||
%208 = OpCompositeConstruct %v4int %206 %206 %206 %206
|
||||
OpStore %_0_result %208
|
||||
%210 = OpExtInst %float %1 Sqrt %float_23
|
||||
%209 = OpConvertFToS %int %210
|
||||
%211 = OpCompositeConstruct %v4int %209 %209 %209 %209
|
||||
OpStore %_0_result %211
|
||||
%213 = OpExtInst %float %1 Sqrt %float_24
|
||||
%212 = OpConvertFToS %int %213
|
||||
%214 = OpCompositeConstruct %v4int %212 %212 %212 %212
|
||||
OpStore %_0_result %214
|
||||
%215 = OpLoad %v4int %_0_result
|
||||
%218 = OpIAdd %v4int %215 %216
|
||||
OpStore %_0_result %218
|
||||
%219 = OpLoad %v4int %_0_result
|
||||
%221 = OpISub %v4int %219 %220
|
||||
OpStore %_0_result %221
|
||||
%222 = OpLoad %v4int %_0_result
|
||||
%224 = OpIMul %v4int %222 %223
|
||||
OpStore %_0_result %224
|
||||
%225 = OpLoad %v4int %_0_result
|
||||
%227 = OpSDiv %v4int %225 %226
|
||||
OpStore %_0_result %227
|
||||
%228 = OpLoad %v4int %_0_result
|
||||
%229 = OpCompositeExtract %int %228 0
|
||||
%230 = OpConvertSToF %float %229
|
||||
%231 = OpCompositeExtract %int %228 1
|
||||
%232 = OpConvertSToF %float %231
|
||||
%233 = OpCompositeExtract %int %228 2
|
||||
%234 = OpConvertSToF %float %233
|
||||
%235 = OpCompositeExtract %int %228 3
|
||||
%236 = OpConvertSToF %float %235
|
||||
%237 = OpCompositeConstruct %v4float %230 %232 %234 %236
|
||||
OpStore %sk_FragColor %237
|
||||
%203 = OpLoad %v4int %_0_result
|
||||
%204 = OpISub %v4int %203 %201
|
||||
OpStore %_0_result %204
|
||||
%205 = OpLoad %v4int %_0_result
|
||||
%207 = OpIMul %v4int %205 %206
|
||||
OpStore %_0_result %207
|
||||
%208 = OpLoad %v4int %_0_result
|
||||
%209 = OpSDiv %v4int %208 %206
|
||||
OpStore %_0_result %209
|
||||
%210 = OpLoad %v4int %_0_result
|
||||
%211 = OpCompositeExtract %int %210 0
|
||||
%212 = OpConvertSToF %float %211
|
||||
%213 = OpCompositeExtract %int %210 1
|
||||
%214 = OpConvertSToF %float %213
|
||||
%215 = OpCompositeExtract %int %210 2
|
||||
%216 = OpConvertSToF %float %215
|
||||
%217 = OpCompositeExtract %int %210 3
|
||||
%218 = OpConvertSToF %float %217
|
||||
%219 = OpCompositeConstruct %v4float %212 %214 %216 %218
|
||||
OpStore %sk_FragColor %219
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -31,7 +31,7 @@ OpDecorate %26 RelaxedPrecision
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%13 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%14 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
@ -39,7 +39,7 @@ OpDecorate %26 RelaxedPrecision
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%17 = OpAccessChain %_ptr_Output_v4float %3 %int_0
|
||||
OpStore %17 %13
|
||||
OpStore %17 %14
|
||||
%19 = OpLoad %float %zoom
|
||||
%20 = OpFOrdEqual %bool %19 %float_1
|
||||
OpSelectionMerge %23 None
|
||||
|
@ -20,18 +20,18 @@ OpDecorate %sk_Clockwise BuiltIn FrontFacing
|
||||
%sk_Clockwise = OpVariable %_ptr_Input_bool Input
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%float_0 = OpConstant %float 0
|
||||
%v2float = OpTypeVector %float 2
|
||||
%15 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%float_0 = OpConstant %float 0
|
||||
%17 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%int = OpTypeInt 32 1
|
||||
%v2int = OpTypeVector %int 2
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%int_0 = OpConstant %int 0
|
||||
%main = OpFunction %void None %11
|
||||
%12 = OpLabel
|
||||
%18 = OpCompositeExtract %float %15 0
|
||||
%18 = OpCompositeExtract %float %17 0
|
||||
%19 = OpConvertFToS %int %18
|
||||
%21 = OpCompositeExtract %float %15 1
|
||||
%21 = OpCompositeExtract %float %17 1
|
||||
%22 = OpConvertFToS %int %21
|
||||
%23 = OpCompositeConstruct %v2int %19 %22
|
||||
%14 = OpExtInst %v2int %1 SAbs %23
|
||||
|
Loading…
Reference in New Issue
Block a user