spirv: Use generic transform to process shader IO
The refactored CanonicalizeEntryPointIO transform makes it much easier to handle SPIR-V style IO as well, and doing this removes a lot of duplicated code. Remove all of the SPIR-V transform code for shader IO and vertex point size. Bug: tint:920 Change-Id: Id1b97517619b4d2fd09b45d5aee848259f3dfa77 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60840 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: James Price <jrprice@google.com> Auto-Submit: James Price <jrprice@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
11e172ab64
commit
11c6fcdb51
|
@ -20,6 +20,7 @@
|
|||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "src/ast/disable_validation_decoration.h"
|
||||
#include "src/program_builder.h"
|
||||
#include "src/sem/function.h"
|
||||
|
||||
|
@ -148,11 +149,30 @@ struct CanonicalizeEntryPointIO::State {
|
|||
ast::Expression* AddInput(std::string name,
|
||||
ast::Type* type,
|
||||
ast::DecorationList attributes) {
|
||||
if (cfg.builtin_style == BuiltinStyle::kParameter &&
|
||||
ast::HasDecoration<ast::BuiltinDecoration>(attributes)) {
|
||||
// If this input is a builtin and we are emitting those as parameters,
|
||||
// then add it to the parameter list and pass it directly to the inner
|
||||
// function.
|
||||
if (cfg.shader_style == ShaderStyle::kSpirv) {
|
||||
// Vulkan requires that integer user-defined fragment inputs are
|
||||
// always decorated with `Flat`.
|
||||
if (type->is_integer_scalar_or_vector() &&
|
||||
ast::HasDecoration<ast::LocationDecoration>(attributes) &&
|
||||
func_ast->pipeline_stage() == ast::PipelineStage::kFragment) {
|
||||
attributes.push_back(ctx.dst->Interpolate(
|
||||
ast::InterpolationType::kFlat, ast::InterpolationSampling::kNone));
|
||||
}
|
||||
|
||||
// Disable validation for use of the `input` storage class.
|
||||
attributes.push_back(
|
||||
ctx.dst->ASTNodes().Create<ast::DisableValidationDecoration>(
|
||||
ctx.dst->ID(), ast::DisabledValidation::kIgnoreStorageClass));
|
||||
|
||||
// Create the global variable and use its value for the shader input.
|
||||
auto var = ctx.dst->Symbols().New(name);
|
||||
ctx.dst->Global(var, type, ast::StorageClass::kInput,
|
||||
std::move(attributes));
|
||||
return ctx.dst->Expr(var);
|
||||
} else if (cfg.shader_style == ShaderStyle::kMsl &&
|
||||
ast::HasDecoration<ast::BuiltinDecoration>(attributes)) {
|
||||
// If this input is a builtin and we are targeting MSL, then add it to the
|
||||
// parameter list and pass it directly to the inner function.
|
||||
wrapper_ep_parameters.push_back(
|
||||
ctx.dst->Param(name, type, std::move(attributes)));
|
||||
return ctx.dst->Expr(name);
|
||||
|
@ -173,6 +193,16 @@ struct CanonicalizeEntryPointIO::State {
|
|||
ast::Type* type,
|
||||
ast::DecorationList attributes,
|
||||
ast::Expression* value) {
|
||||
// Vulkan requires that integer user-defined vertex outputs are
|
||||
// always decorated with `Flat`.
|
||||
if (cfg.shader_style == ShaderStyle::kSpirv &&
|
||||
type->is_integer_scalar_or_vector() &&
|
||||
ast::HasDecoration<ast::LocationDecoration>(attributes) &&
|
||||
func_ast->pipeline_stage() == ast::PipelineStage::kVertex) {
|
||||
attributes.push_back(ctx.dst->Interpolate(
|
||||
ast::InterpolationType::kFlat, ast::InterpolationSampling::kNone));
|
||||
}
|
||||
|
||||
OutputValue output;
|
||||
output.name = name;
|
||||
output.type = type;
|
||||
|
@ -359,6 +389,23 @@ struct CanonicalizeEntryPointIO::State {
|
|||
return out_struct;
|
||||
}
|
||||
|
||||
/// Create and assign the wrapper function's output variables.
|
||||
void CreateOutputVariables() {
|
||||
for (auto& outval : wrapper_output_values) {
|
||||
// Disable validation for use of the `output` storage class.
|
||||
ast::DecorationList attributes = std::move(outval.attributes);
|
||||
attributes.push_back(
|
||||
ctx.dst->ASTNodes().Create<ast::DisableValidationDecoration>(
|
||||
ctx.dst->ID(), ast::DisabledValidation::kIgnoreStorageClass));
|
||||
|
||||
// Create the global variable and assign it the output value.
|
||||
auto name = ctx.dst->Symbols().New(outval.name);
|
||||
ctx.dst->Global(name, outval.type, ast::StorageClass::kOutput,
|
||||
std::move(attributes));
|
||||
wrapper_body.push_back(ctx.dst->Assign(name, outval.value));
|
||||
}
|
||||
}
|
||||
|
||||
// Recreate the original function without entry point attributes and call it.
|
||||
/// @returns the inner function call expression
|
||||
ast::CallExpression* CallInnerFunction() {
|
||||
|
@ -450,10 +497,14 @@ struct CanonicalizeEntryPointIO::State {
|
|||
|
||||
// Produce the entry point outputs, if necessary.
|
||||
if (!wrapper_output_values.empty()) {
|
||||
auto* output_struct = CreateOutputStruct();
|
||||
wrapper_ret_type = [&, output_struct] {
|
||||
return ctx.dst->ty.type_name(output_struct->name());
|
||||
};
|
||||
if (cfg.shader_style == ShaderStyle::kSpirv) {
|
||||
CreateOutputVariables();
|
||||
} else {
|
||||
auto* output_struct = CreateOutputStruct();
|
||||
wrapper_ret_type = [&, output_struct] {
|
||||
return ctx.dst->ty.type_name(output_struct->name());
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Create the wrapper entry point function.
|
||||
|
@ -505,10 +556,10 @@ void CanonicalizeEntryPointIO::Run(CloneContext& ctx,
|
|||
ctx.Clone();
|
||||
}
|
||||
|
||||
CanonicalizeEntryPointIO::Config::Config(BuiltinStyle builtins,
|
||||
CanonicalizeEntryPointIO::Config::Config(ShaderStyle style,
|
||||
uint32_t sample_mask,
|
||||
bool emit_point_size)
|
||||
: builtin_style(builtins),
|
||||
: shader_style(style),
|
||||
fixed_sample_mask(sample_mask),
|
||||
emit_vertex_point_size(emit_point_size) {}
|
||||
|
||||
|
|
|
@ -24,9 +24,9 @@ namespace transform {
|
|||
/// interfaces into a form that the generators can handle. Each entry point
|
||||
/// function is stripped of all shader IO attributes and wrapped in a function
|
||||
/// that provides the shader interface.
|
||||
/// The transform config determines how shader IO parameters will be exposed.
|
||||
/// Entry point return values are always produced as a structure, and optionally
|
||||
/// include additional builtins as per the transform config.
|
||||
/// The transform config determines whether to use global variables, structures,
|
||||
/// or parameters for the shader inputs and outputs, and optionally adds
|
||||
/// additional builtins to the shader interface.
|
||||
///
|
||||
/// Before:
|
||||
/// ```
|
||||
|
@ -83,21 +83,23 @@ namespace transform {
|
|||
class CanonicalizeEntryPointIO
|
||||
: public Castable<CanonicalizeEntryPointIO, Transform> {
|
||||
public:
|
||||
/// BuiltinStyle is an enumerator of different ways to emit builtins.
|
||||
enum class BuiltinStyle {
|
||||
/// Use non-struct function parameters for all builtins.
|
||||
kParameter,
|
||||
/// Use struct members for all builtins.
|
||||
kStructMember,
|
||||
/// ShaderStyle is an enumerator of different ways to emit shader IO.
|
||||
enum class ShaderStyle {
|
||||
/// Target SPIR-V (using global variables).
|
||||
kSpirv,
|
||||
/// Target MSL (using non-struct function parameters for builtins).
|
||||
kMsl,
|
||||
/// Target HLSL (using structures for all IO).
|
||||
kHlsl,
|
||||
};
|
||||
|
||||
/// Configuration options for the transform.
|
||||
struct Config : public Castable<Config, Data> {
|
||||
/// Constructor
|
||||
/// @param builtins the approach to use for emitting builtins.
|
||||
/// @param style the approach to use for emitting shader IO.
|
||||
/// @param sample_mask an optional sample mask to combine with shader masks
|
||||
/// @param emit_vertex_point_size `true` to generate a pointsize builtin
|
||||
explicit Config(BuiltinStyle builtins,
|
||||
explicit Config(ShaderStyle style,
|
||||
uint32_t sample_mask = 0xFFFFFFFF,
|
||||
bool emit_vertex_point_size = false);
|
||||
|
||||
|
@ -107,8 +109,8 @@ class CanonicalizeEntryPointIO
|
|||
/// Destructor
|
||||
~Config() override;
|
||||
|
||||
/// The approach to use for emitting builtins.
|
||||
BuiltinStyle const builtin_style;
|
||||
/// The approach to use for emitting shader IO.
|
||||
ShaderStyle const shader_style;
|
||||
|
||||
/// A fixed sample mask to combine into masks produced by fragment shaders.
|
||||
uint32_t const fixed_sample_mask;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -73,7 +73,7 @@ Output Hlsl::Run(const Program* in, const DataMap& inputs) {
|
|||
manager.Add<PadArrayElements>();
|
||||
|
||||
data.Add<CanonicalizeEntryPointIO::Config>(
|
||||
CanonicalizeEntryPointIO::BuiltinStyle::kStructMember);
|
||||
CanonicalizeEntryPointIO::ShaderStyle::kHlsl);
|
||||
auto out = manager.Run(in, data);
|
||||
if (!out.program.IsValid()) {
|
||||
return out;
|
||||
|
|
|
@ -64,7 +64,7 @@ Output Msl::Run(const Program* in, const DataMap& inputs) {
|
|||
auto array_length_from_uniform_cfg = ArrayLengthFromUniform::Config(
|
||||
sem::BindingPoint{0, buffer_size_ubo_index});
|
||||
auto entry_point_io_cfg = CanonicalizeEntryPointIO::Config(
|
||||
CanonicalizeEntryPointIO::BuiltinStyle::kParameter, fixed_sample_mask,
|
||||
CanonicalizeEntryPointIO::ShaderStyle::kMsl, fixed_sample_mask,
|
||||
emit_point_size);
|
||||
|
||||
// Use the SSBO binding numbers as the indices for the buffer size lookups.
|
||||
|
|
|
@ -17,16 +17,10 @@
|
|||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
#include "src/ast/call_statement.h"
|
||||
#include "src/ast/disable_validation_decoration.h"
|
||||
#include "src/ast/return_statement.h"
|
||||
#include "src/ast/stage_decoration.h"
|
||||
#include "src/program_builder.h"
|
||||
#include "src/sem/block_statement.h"
|
||||
#include "src/sem/function.h"
|
||||
#include "src/sem/statement.h"
|
||||
#include "src/sem/struct.h"
|
||||
#include "src/sem/variable.h"
|
||||
#include "src/transform/canonicalize_entry_point_io.h"
|
||||
#include "src/transform/external_texture_transform.h"
|
||||
#include "src/transform/fold_constants.h"
|
||||
#include "src/transform/for_loop_to_loop.h"
|
||||
|
@ -48,6 +42,7 @@ Output Spirv::Run(const Program* in, const DataMap& data) {
|
|||
auto* cfg = data.Get<Config>();
|
||||
|
||||
Manager manager;
|
||||
DataMap internal_inputs;
|
||||
if (!cfg || !cfg->disable_workgroup_init) {
|
||||
manager.Add<ZeroInitWorkgroupMemory>();
|
||||
}
|
||||
|
@ -56,174 +51,27 @@ Output Spirv::Run(const Program* in, const DataMap& data) {
|
|||
manager.Add<FoldConstants>();
|
||||
manager.Add<ExternalTextureTransform>();
|
||||
manager.Add<ForLoopToLoop>(); // Must come after ZeroInitWorkgroupMemory
|
||||
auto transformedInput = manager.Run(in, data);
|
||||
manager.Add<CanonicalizeEntryPointIO>();
|
||||
|
||||
internal_inputs.Add<CanonicalizeEntryPointIO::Config>(
|
||||
CanonicalizeEntryPointIO::Config(
|
||||
CanonicalizeEntryPointIO::ShaderStyle::kSpirv, 0xFFFFFFFF,
|
||||
(cfg && cfg->emit_vertex_point_size)));
|
||||
|
||||
auto transformedInput = manager.Run(in, internal_inputs);
|
||||
|
||||
if (transformedInput.program.Diagnostics().contains_errors()) {
|
||||
return transformedInput;
|
||||
}
|
||||
|
||||
ProgramBuilder out;
|
||||
CloneContext ctx(&out, &transformedInput.program);
|
||||
HandleEntryPointIOTypes(ctx);
|
||||
ProgramBuilder builder;
|
||||
CloneContext ctx(&builder, &transformedInput.program);
|
||||
HandleSampleMaskBuiltins(ctx);
|
||||
AddEmptyEntryPoint(ctx);
|
||||
ctx.Clone();
|
||||
|
||||
// TODO(jrprice): Look into combining these transforms into a single clone.
|
||||
Program tmp(std::move(out));
|
||||
|
||||
ProgramBuilder out2;
|
||||
CloneContext ctx2(&out2, &tmp);
|
||||
HandleSampleMaskBuiltins(ctx2);
|
||||
AddEmptyEntryPoint(ctx2);
|
||||
if (cfg && cfg->emit_vertex_point_size) {
|
||||
EmitVertexPointSize(ctx2);
|
||||
}
|
||||
ctx2.Clone();
|
||||
|
||||
out2.SetTransformApplied(this);
|
||||
return Output{Program(std::move(out2))};
|
||||
}
|
||||
|
||||
void Spirv::HandleEntryPointIOTypes(CloneContext& ctx) const {
|
||||
// Hoist entry point parameters, return values, and struct members out to
|
||||
// global variables. Declare and construct struct parameters in the function
|
||||
// body. Replace entry point return statements with calls to a function that
|
||||
// assigns the return value to the global output variables.
|
||||
//
|
||||
// Before:
|
||||
// ```
|
||||
// struct FragmentInput {
|
||||
// [[builtin(sample_index)]] sample_index : u32;
|
||||
// [[builtin(sample_mask)]] sample_mask : u32;
|
||||
// };
|
||||
// struct FragmentOutput {
|
||||
// [[builtin(frag_depth)]] depth: f32;
|
||||
// [[builtin(sample_mask)]] mask_out : u32;
|
||||
// };
|
||||
//
|
||||
// [[stage(fragment)]]
|
||||
// fn frag_main(
|
||||
// [[builtin(position)]] coord : vec4<f32>,
|
||||
// samples : FragmentInput
|
||||
// ) -> FragmentOutput {
|
||||
// var output : FragmentOutput = FragmentOutput(1.0,
|
||||
// samples.sample_mask);
|
||||
// return output;
|
||||
// }
|
||||
// ```
|
||||
//
|
||||
// After:
|
||||
// ```
|
||||
// struct FragmentInput {
|
||||
// sample_index : u32;
|
||||
// sample_mask : u32;
|
||||
// };
|
||||
// struct FragmentOutput {
|
||||
// depth: f32;
|
||||
// mask_out : u32;
|
||||
// };
|
||||
//
|
||||
// [[builtin(position)]] var<in> coord : vec4<f32>,
|
||||
// [[builtin(sample_index)]] var<in> sample_index : u32,
|
||||
// [[builtin(sample_mask)]] var<in> sample_mask : u32,
|
||||
// [[builtin(frag_depth)]] var<out> depth: f32;
|
||||
// [[builtin(sample_mask)]] var<out> mask_out : u32;
|
||||
//
|
||||
// fn frag_main_ret(retval : FragmentOutput) {
|
||||
// depth = reval.depth;
|
||||
// mask_out = retval.mask_out;
|
||||
// }
|
||||
//
|
||||
// [[stage(fragment)]]
|
||||
// fn frag_main() {
|
||||
// let samples : FragmentInput(sample_index, sample_mask);
|
||||
// var output : FragmentOutput = FragmentOutput(1.0,
|
||||
// samples.sample_mask);
|
||||
// frag_main_ret(output);
|
||||
// return;
|
||||
// }
|
||||
// ```
|
||||
|
||||
// Strip entry point IO decorations from struct declarations.
|
||||
for (auto* ty : ctx.src->AST().TypeDecls()) {
|
||||
if (auto* struct_ty = ty->As<ast::Struct>()) {
|
||||
// Build new list of struct members without entry point IO decorations.
|
||||
ast::StructMemberList new_struct_members;
|
||||
for (auto* member : struct_ty->members()) {
|
||||
ast::DecorationList new_decorations = RemoveDecorations(
|
||||
ctx, member->decorations(), [](const ast::Decoration* deco) {
|
||||
return deco->IsAnyOf<
|
||||
ast::BuiltinDecoration, ast::InterpolateDecoration,
|
||||
ast::InvariantDecoration, ast::LocationDecoration>();
|
||||
});
|
||||
new_struct_members.push_back(
|
||||
ctx.dst->Member(ctx.Clone(member->symbol()),
|
||||
ctx.Clone(member->type()), new_decorations));
|
||||
}
|
||||
|
||||
// Redeclare the struct.
|
||||
auto new_struct_name = ctx.Clone(struct_ty->name());
|
||||
auto* new_struct =
|
||||
ctx.dst->create<ast::Struct>(new_struct_name, new_struct_members,
|
||||
ctx.Clone(struct_ty->decorations()));
|
||||
ctx.Replace(struct_ty, new_struct);
|
||||
}
|
||||
}
|
||||
|
||||
for (auto* func_ast : ctx.src->AST().Functions()) {
|
||||
if (!func_ast->IsEntryPoint()) {
|
||||
continue;
|
||||
}
|
||||
auto* func = ctx.src->Sem().Get(func_ast);
|
||||
|
||||
for (auto* param : func->Parameters()) {
|
||||
Symbol new_var = HoistToInputVariables(
|
||||
ctx, func_ast, param->Type(), param->Declaration()->type(),
|
||||
param->Declaration()->decorations());
|
||||
|
||||
// Replace all uses of the function parameter with the new variable.
|
||||
for (auto* user : param->Users()) {
|
||||
ctx.Replace<ast::Expression>(user->Declaration(),
|
||||
ctx.dst->Expr(new_var));
|
||||
}
|
||||
}
|
||||
|
||||
if (!func->ReturnType()->Is<sem::Void>()) {
|
||||
ast::StatementList stores;
|
||||
auto store_value_symbol = ctx.dst->Sym();
|
||||
HoistToOutputVariables(
|
||||
ctx, func_ast, func->ReturnType(), func_ast->return_type(),
|
||||
func_ast->return_type_decorations(), {}, store_value_symbol, stores);
|
||||
|
||||
// Create a function that writes a return value to all output variables.
|
||||
auto* store_value = ctx.dst->Param(store_value_symbol,
|
||||
ctx.Clone(func_ast->return_type()));
|
||||
auto return_func_symbol = ctx.dst->Sym();
|
||||
auto* return_func = ctx.dst->create<ast::Function>(
|
||||
return_func_symbol, ast::VariableList{store_value},
|
||||
ctx.dst->ty.void_(), ctx.dst->create<ast::BlockStatement>(stores),
|
||||
ast::DecorationList{}, ast::DecorationList{});
|
||||
ctx.InsertBefore(ctx.src->AST().GlobalDeclarations(), func_ast,
|
||||
return_func);
|
||||
|
||||
// Replace all return statements with calls to the output function.
|
||||
for (auto* ret : func->ReturnStatements()) {
|
||||
auto* ret_sem = ctx.src->Sem().Get(ret);
|
||||
auto* call = ctx.dst->Call(return_func_symbol, ctx.Clone(ret->value()));
|
||||
ctx.InsertBefore(ret_sem->Block()->Declaration()->statements(), ret,
|
||||
ctx.dst->create<ast::CallStatement>(call));
|
||||
ctx.Replace(ret, ctx.dst->Return());
|
||||
}
|
||||
}
|
||||
|
||||
// Rewrite the function header to remove the parameters and return value.
|
||||
auto name = ctx.Clone(func_ast->symbol());
|
||||
auto* body = ctx.Clone(func_ast->body());
|
||||
auto decos = ctx.Clone(func_ast->decorations());
|
||||
auto* new_func = ctx.dst->create<ast::Function>(
|
||||
func_ast->source(), name, ast::VariableList{}, ctx.dst->ty.void_(),
|
||||
body, decos, ast::DecorationList{});
|
||||
ctx.Replace(func_ast, new_func);
|
||||
}
|
||||
builder.SetTransformApplied(this);
|
||||
return Output{Program(std::move(builder))};
|
||||
}
|
||||
|
||||
void Spirv::HandleSampleMaskBuiltins(CloneContext& ctx) const {
|
||||
|
@ -274,31 +122,6 @@ void Spirv::HandleSampleMaskBuiltins(CloneContext& ctx) const {
|
|||
}
|
||||
}
|
||||
|
||||
void Spirv::EmitVertexPointSize(CloneContext& ctx) const {
|
||||
// No-op if there are no vertex stages in the module.
|
||||
if (!ctx.src->AST().Functions().HasStage(ast::PipelineStage::kVertex)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Create a module-scope pointsize builtin output variable.
|
||||
Symbol pointsize = ctx.dst->Symbols().New("tint_pointsize");
|
||||
ctx.dst->Global(
|
||||
pointsize, ctx.dst->ty.f32(), ast::StorageClass::kOutput,
|
||||
ast::DecorationList{
|
||||
ctx.dst->Builtin(ast::Builtin::kPointSize),
|
||||
ctx.dst->ASTNodes().Create<ast::DisableValidationDecoration>(
|
||||
ctx.dst->ID(), ast::DisabledValidation::kIgnoreStorageClass)});
|
||||
|
||||
// Assign 1.0 to the global at the start of all vertex shader entry points.
|
||||
ctx.ReplaceAll([&ctx, pointsize](ast::Function* func) -> ast::Function* {
|
||||
if (func->pipeline_stage() == ast::PipelineStage::kVertex) {
|
||||
ctx.InsertFront(func->body()->statements(),
|
||||
ctx.dst->Assign(pointsize, 1.0f));
|
||||
}
|
||||
return nullptr;
|
||||
});
|
||||
}
|
||||
|
||||
void Spirv::AddEmptyEntryPoint(CloneContext& ctx) const {
|
||||
for (auto* func : ctx.src->AST().Functions()) {
|
||||
if (func->IsEntryPoint()) {
|
||||
|
@ -310,125 +133,6 @@ void Spirv::AddEmptyEntryPoint(CloneContext& ctx) const {
|
|||
ctx.dst->WorkgroupSize(1)});
|
||||
}
|
||||
|
||||
Symbol Spirv::HoistToInputVariables(
|
||||
CloneContext& ctx,
|
||||
const ast::Function* func,
|
||||
sem::Type* ty,
|
||||
ast::Type* declared_ty,
|
||||
const ast::DecorationList& decorations) const {
|
||||
if (!ty->Is<sem::Struct>()) {
|
||||
// Base case: create a global variable and return.
|
||||
ast::DecorationList new_decorations =
|
||||
RemoveDecorations(ctx, decorations, [](const ast::Decoration* deco) {
|
||||
return !deco->IsAnyOf<
|
||||
ast::BuiltinDecoration, ast::InterpolateDecoration,
|
||||
ast::InvariantDecoration, ast::LocationDecoration>();
|
||||
});
|
||||
new_decorations.push_back(
|
||||
ctx.dst->ASTNodes().Create<ast::DisableValidationDecoration>(
|
||||
ctx.dst->ID(), ast::DisabledValidation::kIgnoreStorageClass));
|
||||
if (ty->is_integer_scalar_or_vector() &&
|
||||
ast::HasDecoration<ast::LocationDecoration>(new_decorations) &&
|
||||
func->pipeline_stage() == ast::PipelineStage::kFragment) {
|
||||
// Vulkan requires that integer user-defined fragment inputs are
|
||||
// always decorated with `Flat`.
|
||||
new_decorations.push_back(ctx.dst->Interpolate(
|
||||
ast::InterpolationType::kFlat, ast::InterpolationSampling::kNone));
|
||||
}
|
||||
auto global_var_symbol = ctx.dst->Sym();
|
||||
auto* global_var =
|
||||
ctx.dst->Var(global_var_symbol, ctx.Clone(declared_ty),
|
||||
ast::StorageClass::kInput, nullptr, new_decorations);
|
||||
ctx.InsertBefore(ctx.src->AST().GlobalDeclarations(), func, global_var);
|
||||
return global_var_symbol;
|
||||
}
|
||||
|
||||
// Recurse into struct members and build the initializer list.
|
||||
std::vector<Symbol> init_value_names;
|
||||
auto* struct_ty = ty->As<sem::Struct>();
|
||||
for (auto* member : struct_ty->Members()) {
|
||||
auto member_var = HoistToInputVariables(
|
||||
ctx, func, member->Type(), member->Declaration()->type(),
|
||||
member->Declaration()->decorations());
|
||||
init_value_names.emplace_back(member_var);
|
||||
}
|
||||
|
||||
auto func_var_symbol = ctx.dst->Sym();
|
||||
if (func->body()->empty()) {
|
||||
// The return value should never get used.
|
||||
return func_var_symbol;
|
||||
}
|
||||
|
||||
ast::ExpressionList init_values;
|
||||
for (auto name : init_value_names) {
|
||||
init_values.push_back(ctx.dst->Expr(name));
|
||||
}
|
||||
|
||||
// Create a function-scope variable for the struct.
|
||||
auto* initializer = ctx.dst->Construct(ctx.Clone(declared_ty), init_values);
|
||||
auto* func_var =
|
||||
ctx.dst->Const(func_var_symbol, ctx.Clone(declared_ty), initializer);
|
||||
ctx.InsertBefore(func->body()->statements(), *func->body()->begin(),
|
||||
ctx.dst->WrapInStatement(func_var));
|
||||
return func_var_symbol;
|
||||
}
|
||||
|
||||
void Spirv::HoistToOutputVariables(CloneContext& ctx,
|
||||
const ast::Function* func,
|
||||
sem::Type* ty,
|
||||
ast::Type* declared_ty,
|
||||
const ast::DecorationList& decorations,
|
||||
std::vector<Symbol> member_accesses,
|
||||
Symbol store_value,
|
||||
ast::StatementList& stores) const {
|
||||
// Base case.
|
||||
if (!ty->Is<sem::Struct>()) {
|
||||
// Create a global variable.
|
||||
ast::DecorationList new_decorations =
|
||||
RemoveDecorations(ctx, decorations, [](const ast::Decoration* deco) {
|
||||
return !deco->IsAnyOf<
|
||||
ast::BuiltinDecoration, ast::InterpolateDecoration,
|
||||
ast::InvariantDecoration, ast::LocationDecoration>();
|
||||
});
|
||||
new_decorations.push_back(
|
||||
ctx.dst->ASTNodes().Create<ast::DisableValidationDecoration>(
|
||||
ctx.dst->ID(), ast::DisabledValidation::kIgnoreStorageClass));
|
||||
if (ty->is_integer_scalar_or_vector() &&
|
||||
ast::HasDecoration<ast::LocationDecoration>(new_decorations) &&
|
||||
func->pipeline_stage() == ast::PipelineStage::kVertex) {
|
||||
// Vulkan requires that integer user-defined vertex outputs are
|
||||
// always decorated with `Flat`.
|
||||
new_decorations.push_back(ctx.dst->Interpolate(
|
||||
ast::InterpolationType::kFlat, ast::InterpolationSampling::kNone));
|
||||
}
|
||||
auto global_var_symbol = ctx.dst->Sym();
|
||||
auto* global_var =
|
||||
ctx.dst->Var(global_var_symbol, ctx.Clone(declared_ty),
|
||||
ast::StorageClass::kOutput, nullptr, new_decorations);
|
||||
ctx.InsertBefore(ctx.src->AST().GlobalDeclarations(), func, global_var);
|
||||
|
||||
// Create the assignment instruction.
|
||||
ast::Expression* rhs = ctx.dst->Expr(store_value);
|
||||
for (auto member : member_accesses) {
|
||||
rhs = ctx.dst->MemberAccessor(rhs, member);
|
||||
}
|
||||
stores.push_back(ctx.dst->Assign(ctx.dst->Expr(global_var_symbol), rhs));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Recurse into struct members.
|
||||
auto* struct_ty = ty->As<sem::Struct>();
|
||||
for (auto* member : struct_ty->Members()) {
|
||||
member_accesses.push_back(ctx.Clone(member->Declaration()->symbol()));
|
||||
HoistToOutputVariables(ctx, func, member->Type(),
|
||||
member->Declaration()->type(),
|
||||
member->Declaration()->decorations(),
|
||||
member_accesses, store_value, stores);
|
||||
member_accesses.pop_back();
|
||||
}
|
||||
}
|
||||
|
||||
Spirv::Config::Config(bool emit_vps, bool disable_wi)
|
||||
: emit_vertex_point_size(emit_vps), disable_workgroup_init(disable_wi) {}
|
||||
|
||||
|
|
|
@ -69,46 +69,10 @@ class Spirv : public Castable<Spirv, Transform> {
|
|||
Output Run(const Program* program, const DataMap& data = {}) override;
|
||||
|
||||
private:
|
||||
/// Hoist entry point parameters, return values, and struct members out to
|
||||
/// global variables.
|
||||
void HandleEntryPointIOTypes(CloneContext& ctx) const;
|
||||
/// Change type of sample mask builtin variables to single element arrays.
|
||||
void HandleSampleMaskBuiltins(CloneContext& ctx) const;
|
||||
/// Add a PointSize builtin output to the module and set it to 1.0 from all
|
||||
/// vertex stage entry points.
|
||||
void EmitVertexPointSize(CloneContext& ctx) const;
|
||||
/// Add an empty shader entry point if none exist in the module.
|
||||
void AddEmptyEntryPoint(CloneContext& ctx) const;
|
||||
|
||||
/// Recursively create module-scope input variables for `ty` and add
|
||||
/// function-scope variables for structs to `func`.
|
||||
///
|
||||
/// For non-structures, create a module-scope input variable.
|
||||
/// For structures, recurse into members and then create a function-scope
|
||||
/// variable initialized using the variables created for its members.
|
||||
/// Return the symbol for the variable that was created.
|
||||
Symbol HoistToInputVariables(CloneContext& ctx,
|
||||
const ast::Function* func,
|
||||
sem::Type* ty,
|
||||
ast::Type* declared_ty,
|
||||
const ast::DecorationList& decorations) const;
|
||||
|
||||
/// Recursively create module-scope output variables for `ty` and build a list
|
||||
/// of assignment instructions to write to them from `store_value`.
|
||||
///
|
||||
/// For non-structures, create a module-scope output variable and generate the
|
||||
/// assignment instruction.
|
||||
/// For structures, recurse into members, tracking the chain of member
|
||||
/// accessors.
|
||||
/// Returns the list of variable assignments in `stores`.
|
||||
void HoistToOutputVariables(CloneContext& ctx,
|
||||
const ast::Function* func,
|
||||
sem::Type* ty,
|
||||
ast::Type* declared_ty,
|
||||
const ast::DecorationList& decorations,
|
||||
std::vector<Symbol> member_accesses,
|
||||
Symbol store_value,
|
||||
ast::StatementList& stores) const;
|
||||
};
|
||||
|
||||
} // namespace transform
|
||||
|
|
|
@ -22,738 +22,6 @@ namespace {
|
|||
|
||||
using SpirvTest = TransformTest;
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_Parameters) {
|
||||
auto* src = R"(
|
||||
[[stage(fragment)]]
|
||||
fn frag_main([[builtin(position)]] coord : vec4<f32>,
|
||||
[[location(1)]] loc1 : f32) {
|
||||
var col : f32 = (coord.x * loc1);
|
||||
}
|
||||
|
||||
[[stage(compute), workgroup_size(8, 1, 1)]]
|
||||
fn compute_main([[builtin(local_invocation_id)]] local_id : vec3<u32>,
|
||||
[[builtin(local_invocation_index)]] local_index : u32) {
|
||||
var id_x : u32 = local_id.x;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : vec4<f32>;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_1 : f32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
var col : f32 = (tint_symbol.x * tint_symbol_1);
|
||||
}
|
||||
|
||||
[[builtin(local_invocation_id), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_2 : vec3<u32>;
|
||||
|
||||
[[builtin(local_invocation_index), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_3 : u32;
|
||||
|
||||
[[stage(compute), workgroup_size(8, 1, 1)]]
|
||||
fn compute_main() {
|
||||
var id_x : u32 = tint_symbol_2.x;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_Parameter_TypeAlias) {
|
||||
auto* src = R"(
|
||||
type myf32 = f32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main([[location(1)]] loc1 : myf32) {
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
type myf32 = f32;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : myf32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_ReturnBuiltin) {
|
||||
auto* src = R"(
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() -> [[builtin(position)]] vec4<f32> {
|
||||
return vec4<f32>(1.0, 2.0, 3.0, 0.0);
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_2(tint_symbol : vec4<f32>) {
|
||||
tint_symbol_1 = tint_symbol;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() {
|
||||
tint_symbol_2(vec4<f32>(1.0, 2.0, 3.0, 0.0));
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_ReturnLocation) {
|
||||
auto* src = R"(
|
||||
[[stage(fragment)]]
|
||||
fn frag_main([[location(0)]] loc_in : u32) -> [[location(0)]] f32 {
|
||||
if (loc_in > 10u) {
|
||||
return 0.5;
|
||||
}
|
||||
return 1.0;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[location(0), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<in> tint_symbol : u32;
|
||||
|
||||
[[location(0), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_2 : f32;
|
||||
|
||||
fn tint_symbol_3(tint_symbol_1 : f32) {
|
||||
tint_symbol_2 = tint_symbol_1;
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
if ((tint_symbol > 10u)) {
|
||||
tint_symbol_3(0.5);
|
||||
return;
|
||||
}
|
||||
tint_symbol_3(1.0);
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_ReturnLocation_TypeAlias) {
|
||||
auto* src = R"(
|
||||
type myf32 = f32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main([[location(0)]] loc_in : u32) -> [[location(0)]] myf32 {
|
||||
if (loc_in > 10u) {
|
||||
return 0.5;
|
||||
}
|
||||
return 1.0;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
type myf32 = f32;
|
||||
|
||||
[[location(0), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<in> tint_symbol : u32;
|
||||
|
||||
[[location(0), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_2 : myf32;
|
||||
|
||||
fn tint_symbol_3(tint_symbol_1 : myf32) {
|
||||
tint_symbol_2 = tint_symbol_1;
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
if ((tint_symbol > 10u)) {
|
||||
tint_symbol_3(0.5);
|
||||
return;
|
||||
}
|
||||
tint_symbol_3(1.0);
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_StructParameters) {
|
||||
auto* src = R"(
|
||||
struct FragmentInput {
|
||||
[[builtin(position)]] coord : vec4<f32>;
|
||||
[[location(1)]] value : f32;
|
||||
};
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main(inputs : FragmentInput) {
|
||||
var col : f32 = inputs.coord.x * inputs.value;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct FragmentInput {
|
||||
coord : vec4<f32>;
|
||||
value : f32;
|
||||
};
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : vec4<f32>;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_1 : f32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
let tint_symbol_2 : FragmentInput = FragmentInput(tint_symbol, tint_symbol_1);
|
||||
var col : f32 = (tint_symbol_2.coord.x * tint_symbol_2.value);
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_StructParameters_EmptyBody) {
|
||||
auto* src = R"(
|
||||
struct FragmentInput {
|
||||
[[location(1)]] value : f32;
|
||||
};
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main(inputs : FragmentInput) {
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct FragmentInput {
|
||||
value : f32;
|
||||
};
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : f32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_ReturnStruct) {
|
||||
auto* src = R"(
|
||||
struct VertexOutput {
|
||||
[[builtin(position)]] pos : vec4<f32>;
|
||||
[[location(1)]] value : f32;
|
||||
};
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() -> VertexOutput {
|
||||
if (false) {
|
||||
return VertexOutput();
|
||||
}
|
||||
var pos : vec4<f32> = vec4<f32>(1.0, 2.0, 3.0, 0.0);
|
||||
return VertexOutput(pos, 2.0);
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct VertexOutput {
|
||||
pos : vec4<f32>;
|
||||
value : f32;
|
||||
};
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_2 : f32;
|
||||
|
||||
fn tint_symbol_3(tint_symbol : VertexOutput) {
|
||||
tint_symbol_1 = tint_symbol.pos;
|
||||
tint_symbol_2 = tint_symbol.value;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() {
|
||||
if (false) {
|
||||
tint_symbol_3(VertexOutput());
|
||||
return;
|
||||
}
|
||||
var pos : vec4<f32> = vec4<f32>(1.0, 2.0, 3.0, 0.0);
|
||||
tint_symbol_3(VertexOutput(pos, 2.0));
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_SharedStruct_SameShader) {
|
||||
auto* src = R"(
|
||||
struct Interface {
|
||||
[[location(1)]] value : f32;
|
||||
};
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main(inputs : Interface) -> Interface {
|
||||
return inputs;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct Interface {
|
||||
value : f32;
|
||||
};
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : f32;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_3 : f32;
|
||||
|
||||
fn tint_symbol_4(tint_symbol_2 : Interface) {
|
||||
tint_symbol_3 = tint_symbol_2.value;
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
let tint_symbol_1 : Interface = Interface(tint_symbol);
|
||||
tint_symbol_4(tint_symbol_1);
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_SharedStruct_DifferentShaders) {
|
||||
auto* src = R"(
|
||||
struct Interface {
|
||||
[[builtin(position)]] pos : vec4<f32>;
|
||||
[[location(1)]] value : f32;
|
||||
};
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() -> Interface {
|
||||
return Interface(vec4<f32>(), 42.0);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main(inputs : Interface) {
|
||||
var x : f32 = inputs.value;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct Interface {
|
||||
pos : vec4<f32>;
|
||||
value : f32;
|
||||
};
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_2 : f32;
|
||||
|
||||
fn tint_symbol_3(tint_symbol : Interface) {
|
||||
tint_symbol_1 = tint_symbol.pos;
|
||||
tint_symbol_2 = tint_symbol.value;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() {
|
||||
tint_symbol_3(Interface(vec4<f32>(), 42.0));
|
||||
return;
|
||||
}
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_4 : vec4<f32>;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_5 : f32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
let tint_symbol_6 : Interface = Interface(tint_symbol_4, tint_symbol_5);
|
||||
var x : f32 = tint_symbol_6.value;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_InterpolateAttributes) {
|
||||
auto* src = R"(
|
||||
struct VertexOut {
|
||||
[[builtin(position)]] pos : vec4<f32>;
|
||||
[[location(1), interpolate(flat)]] loc1: f32;
|
||||
[[location(2), interpolate(linear, sample)]] loc2 : f32;
|
||||
[[location(3), interpolate(perspective, centroid)]] loc3 : f32;
|
||||
};
|
||||
|
||||
struct FragmentIn {
|
||||
[[location(1), interpolate(flat)]] loc1: f32;
|
||||
[[location(2), interpolate(linear, sample)]] loc2 : f32;
|
||||
};
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() -> VertexOut {
|
||||
return VertexOut();
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main(inputs : FragmentIn,
|
||||
[[location(3), interpolate(perspective, centroid)]] loc3 : f32) {
|
||||
let x = inputs.loc1 + inputs.loc2 + loc3;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct VertexOut {
|
||||
pos : vec4<f32>;
|
||||
loc1 : f32;
|
||||
loc2 : f32;
|
||||
loc3 : f32;
|
||||
};
|
||||
|
||||
struct FragmentIn {
|
||||
loc1 : f32;
|
||||
loc2 : f32;
|
||||
};
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
[[location(1), interpolate(flat), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_2 : f32;
|
||||
|
||||
[[location(2), interpolate(linear, sample), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_3 : f32;
|
||||
|
||||
[[location(3), interpolate(perspective, centroid), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_4 : f32;
|
||||
|
||||
fn tint_symbol_5(tint_symbol : VertexOut) {
|
||||
tint_symbol_1 = tint_symbol.pos;
|
||||
tint_symbol_2 = tint_symbol.loc1;
|
||||
tint_symbol_3 = tint_symbol.loc2;
|
||||
tint_symbol_4 = tint_symbol.loc3;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() {
|
||||
tint_symbol_5(VertexOut());
|
||||
return;
|
||||
}
|
||||
|
||||
[[location(1), interpolate(flat), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_6 : f32;
|
||||
|
||||
[[location(2), interpolate(linear, sample), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_7 : f32;
|
||||
|
||||
[[location(3), interpolate(perspective, centroid), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_9 : f32;
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
let tint_symbol_8 : FragmentIn = FragmentIn(tint_symbol_6, tint_symbol_7);
|
||||
let x = ((tint_symbol_8.loc1 + tint_symbol_8.loc2) + tint_symbol_9);
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_InterpolateAttributes_Integers) {
|
||||
// Test that we add a Flat attribute to integers that are vertex outputs and
|
||||
// fragment inputs, but not vertex inputs or fragment outputs.
|
||||
auto* src = R"(
|
||||
struct VertexIn {
|
||||
[[location(0)]] i : i32;
|
||||
[[location(1)]] u : u32;
|
||||
[[location(2)]] vi : vec4<i32>;
|
||||
[[location(3)]] vu : vec4<u32>;
|
||||
};
|
||||
|
||||
struct VertexOut {
|
||||
[[location(0)]] i : i32;
|
||||
[[location(1)]] u : u32;
|
||||
[[location(2)]] vi : vec4<i32>;
|
||||
[[location(3)]] vu : vec4<u32>;
|
||||
[[builtin(position)]] pos : vec4<f32>;
|
||||
};
|
||||
|
||||
struct FragmentInterface {
|
||||
[[location(0)]] i : i32;
|
||||
[[location(1)]] u : u32;
|
||||
[[location(2)]] vi : vec4<i32>;
|
||||
[[location(3)]] vu : vec4<u32>;
|
||||
};
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main(in : VertexIn) -> VertexOut {
|
||||
return VertexOut(in.i, in.u, in.vi, in.vu, vec4<f32>());
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main(inputs : FragmentInterface) -> FragmentInterface {
|
||||
return inputs;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct VertexIn {
|
||||
i : i32;
|
||||
u : u32;
|
||||
vi : vec4<i32>;
|
||||
vu : vec4<u32>;
|
||||
};
|
||||
|
||||
struct VertexOut {
|
||||
i : i32;
|
||||
u : u32;
|
||||
vi : vec4<i32>;
|
||||
vu : vec4<u32>;
|
||||
pos : vec4<f32>;
|
||||
};
|
||||
|
||||
struct FragmentInterface {
|
||||
i : i32;
|
||||
u : u32;
|
||||
vi : vec4<i32>;
|
||||
vu : vec4<u32>;
|
||||
};
|
||||
|
||||
[[location(0), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : i32;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_1 : u32;
|
||||
|
||||
[[location(2), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_2 : vec4<i32>;
|
||||
|
||||
[[location(3), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_3 : vec4<u32>;
|
||||
|
||||
[[location(0), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<out> tint_symbol_6 : i32;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<out> tint_symbol_7 : u32;
|
||||
|
||||
[[location(2), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<out> tint_symbol_8 : vec4<i32>;
|
||||
|
||||
[[location(3), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<out> tint_symbol_9 : vec4<u32>;
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_10 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_11(tint_symbol_5 : VertexOut) {
|
||||
tint_symbol_6 = tint_symbol_5.i;
|
||||
tint_symbol_7 = tint_symbol_5.u;
|
||||
tint_symbol_8 = tint_symbol_5.vi;
|
||||
tint_symbol_9 = tint_symbol_5.vu;
|
||||
tint_symbol_10 = tint_symbol_5.pos;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() {
|
||||
let tint_symbol_4 : VertexIn = VertexIn(tint_symbol, tint_symbol_1, tint_symbol_2, tint_symbol_3);
|
||||
tint_symbol_11(VertexOut(tint_symbol_4.i, tint_symbol_4.u, tint_symbol_4.vi, tint_symbol_4.vu, vec4<f32>()));
|
||||
return;
|
||||
}
|
||||
|
||||
[[location(0), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<in> tint_symbol_12 : i32;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<in> tint_symbol_13 : u32;
|
||||
|
||||
[[location(2), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<in> tint_symbol_14 : vec4<i32>;
|
||||
|
||||
[[location(3), internal(disable_validation__ignore_storage_class), interpolate(flat)]] var<in> tint_symbol_15 : vec4<u32>;
|
||||
|
||||
[[location(0), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_18 : i32;
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_19 : u32;
|
||||
|
||||
[[location(2), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_20 : vec4<i32>;
|
||||
|
||||
[[location(3), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_21 : vec4<u32>;
|
||||
|
||||
fn tint_symbol_22(tint_symbol_17 : FragmentInterface) {
|
||||
tint_symbol_18 = tint_symbol_17.i;
|
||||
tint_symbol_19 = tint_symbol_17.u;
|
||||
tint_symbol_20 = tint_symbol_17.vi;
|
||||
tint_symbol_21 = tint_symbol_17.vu;
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
let tint_symbol_16 : FragmentInterface = FragmentInterface(tint_symbol_12, tint_symbol_13, tint_symbol_14, tint_symbol_15);
|
||||
tint_symbol_22(tint_symbol_16);
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_InvariantAttributes) {
|
||||
auto* src = R"(
|
||||
struct VertexOut {
|
||||
[[builtin(position), invariant]] pos : vec4<f32>;
|
||||
};
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main1() -> VertexOut {
|
||||
return VertexOut();
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main2() -> [[builtin(position), invariant]] vec4<f32> {
|
||||
return vec4<f32>();
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct VertexOut {
|
||||
pos : vec4<f32>;
|
||||
};
|
||||
|
||||
[[builtin(position), invariant, internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_2(tint_symbol : VertexOut) {
|
||||
tint_symbol_1 = tint_symbol.pos;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main1() {
|
||||
tint_symbol_2(VertexOut());
|
||||
return;
|
||||
}
|
||||
|
||||
[[builtin(position), invariant, internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_4 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_5(tint_symbol_3 : vec4<f32>) {
|
||||
tint_symbol_4 = tint_symbol_3;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main2() {
|
||||
tint_symbol_5(vec4<f32>());
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_StructLayoutDecorations) {
|
||||
auto* src = R"(
|
||||
[[block]]
|
||||
struct FragmentInput {
|
||||
[[size(16), location(1)]] value : f32;
|
||||
[[builtin(position)]] [[align(32)]] coord : vec4<f32>;
|
||||
[[location(0), interpolate(linear, sample)]] [[align(128)]] loc0 : f32;
|
||||
};
|
||||
|
||||
struct FragmentOutput {
|
||||
[[size(16), location(1), interpolate(flat)]] value : f32;
|
||||
};
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main(inputs : FragmentInput) -> FragmentOutput {
|
||||
return FragmentOutput(inputs.coord.x * inputs.value + inputs.loc0);
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[block]]
|
||||
struct FragmentInput {
|
||||
[[size(16)]]
|
||||
value : f32;
|
||||
[[align(32)]]
|
||||
coord : vec4<f32>;
|
||||
[[align(128)]]
|
||||
loc0 : f32;
|
||||
};
|
||||
|
||||
struct FragmentOutput {
|
||||
[[size(16)]]
|
||||
value : f32;
|
||||
};
|
||||
|
||||
[[location(1), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : f32;
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
[[location(0), interpolate(linear, sample), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_2 : f32;
|
||||
|
||||
[[location(1), interpolate(flat), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_5 : f32;
|
||||
|
||||
fn tint_symbol_6(tint_symbol_4 : FragmentOutput) {
|
||||
tint_symbol_5 = tint_symbol_4.value;
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
let tint_symbol_3 : FragmentInput = FragmentInput(tint_symbol, tint_symbol_1, tint_symbol_2);
|
||||
tint_symbol_6(FragmentOutput(((tint_symbol_3.coord.x * tint_symbol_3.value) + tint_symbol_3.loc0)));
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleEntryPointIOTypes_WithPrivateGlobalVariable) {
|
||||
// Test with a global variable to ensure that symbols are cloned correctly.
|
||||
// crbug.com/tint/701
|
||||
auto* src = R"(
|
||||
var<private> x : f32;
|
||||
|
||||
struct VertexOutput {
|
||||
[[builtin(position)]] Position : vec4<f32>;
|
||||
};
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main() -> VertexOutput {
|
||||
return VertexOutput(vec4<f32>());
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var<private> x : f32;
|
||||
|
||||
struct VertexOutput {
|
||||
Position : vec4<f32>;
|
||||
};
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_2(tint_symbol : VertexOutput) {
|
||||
tint_symbol_1 = tint_symbol.Position;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main() {
|
||||
tint_symbol_2(VertexOutput(vec4<f32>()));
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Spirv>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, HandleSampleMaskBuiltins_Basic) {
|
||||
auto* src = R"(
|
||||
[[stage(fragment)]]
|
||||
|
@ -765,20 +33,20 @@ fn main([[builtin(sample_index)]] sample_index : u32,
|
|||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[builtin(sample_index), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : u32;
|
||||
[[builtin(sample_index), internal(disable_validation__ignore_storage_class)]] var<in> sample_index_1 : u32;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_1 : array<u32, 1>;
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<in> mask_in_1 : array<u32, 1>;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_3 : array<u32, 1>;
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<out> value : array<u32, 1>;
|
||||
|
||||
fn tint_symbol_4(tint_symbol_2 : u32) {
|
||||
tint_symbol_3[0] = tint_symbol_2;
|
||||
fn main_inner(sample_index : u32, mask_in : u32) -> u32 {
|
||||
return mask_in;
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn main() {
|
||||
tint_symbol_4(tint_symbol_1[0]);
|
||||
return;
|
||||
let inner_result = main_inner(sample_index_1, mask_in_1[0]);
|
||||
value[0] = inner_result;
|
||||
}
|
||||
)";
|
||||
|
||||
|
@ -805,6 +73,10 @@ fn main([[builtin(sample_mask)]] mask_in : u32
|
|||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<in> mask_in_1 : array<u32, 1>;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<out> value : array<u32, 1>;
|
||||
|
||||
fn filter(mask : u32) -> u32 {
|
||||
return (mask & 3u);
|
||||
}
|
||||
|
@ -813,18 +85,14 @@ fn set_mask(input : u32) -> u32 {
|
|||
return input;
|
||||
}
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol : array<u32, 1>;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_2 : array<u32, 1>;
|
||||
|
||||
fn tint_symbol_3(tint_symbol_1 : u32) {
|
||||
tint_symbol_2[0] = tint_symbol_1;
|
||||
fn main_inner(mask_in : u32) -> u32 {
|
||||
return set_mask(filter(mask_in));
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn main() {
|
||||
tint_symbol_3(set_mask(filter(tint_symbol[0])));
|
||||
return;
|
||||
let inner_result = main_inner(mask_in_1[0]);
|
||||
value[0] = inner_result;
|
||||
}
|
||||
)";
|
||||
|
||||
|
@ -833,128 +101,6 @@ fn main() {
|
|||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, EmitVertexPointSize_Basic) {
|
||||
auto* src = R"(
|
||||
fn non_entry_point() {
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main() -> [[builtin(position)]] vec4<f32> {
|
||||
non_entry_point();
|
||||
return vec4<f32>();
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[builtin(pointsize), internal(disable_validation__ignore_storage_class)]] var<out> tint_pointsize : f32;
|
||||
|
||||
fn non_entry_point() {
|
||||
}
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_2(tint_symbol : vec4<f32>) {
|
||||
tint_symbol_1 = tint_symbol;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main() {
|
||||
tint_pointsize = 1.0;
|
||||
non_entry_point();
|
||||
tint_symbol_2(vec4<f32>());
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
DataMap data;
|
||||
data.Add<Spirv::Config>(true);
|
||||
auto got = Run<Spirv>(src, data);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, EmitVertexPointSize_MultipleVertexShaders) {
|
||||
auto* src = R"(
|
||||
[[stage(vertex)]]
|
||||
fn main1() -> [[builtin(position)]] vec4<f32> {
|
||||
return vec4<f32>();
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main2() -> [[builtin(position)]] vec4<f32> {
|
||||
return vec4<f32>();
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main3() -> [[builtin(position)]] vec4<f32> {
|
||||
return vec4<f32>();
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[builtin(pointsize), internal(disable_validation__ignore_storage_class)]] var<out> tint_pointsize : f32;
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_2(tint_symbol : vec4<f32>) {
|
||||
tint_symbol_1 = tint_symbol;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main1() {
|
||||
tint_pointsize = 1.0;
|
||||
tint_symbol_2(vec4<f32>());
|
||||
return;
|
||||
}
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_4 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_5(tint_symbol_3 : vec4<f32>) {
|
||||
tint_symbol_4 = tint_symbol_3;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main2() {
|
||||
tint_pointsize = 1.0;
|
||||
tint_symbol_5(vec4<f32>());
|
||||
return;
|
||||
}
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_7 : vec4<f32>;
|
||||
|
||||
fn tint_symbol_8(tint_symbol_6 : vec4<f32>) {
|
||||
tint_symbol_7 = tint_symbol_6;
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn main3() {
|
||||
tint_pointsize = 1.0;
|
||||
tint_symbol_8(vec4<f32>());
|
||||
return;
|
||||
}
|
||||
)";
|
||||
|
||||
DataMap data;
|
||||
data.Add<Spirv::Config>(true);
|
||||
auto got = Run<Spirv>(src, data);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, EmitVertexPointSize_NoVertexShaders) {
|
||||
auto* src = R"(
|
||||
[[stage(compute), workgroup_size(8, 1, 1)]]
|
||||
fn main() {
|
||||
}
|
||||
)";
|
||||
|
||||
DataMap data;
|
||||
data.Add<Spirv::Config>(true);
|
||||
auto got = Run<Spirv>(src, data);
|
||||
|
||||
EXPECT_EQ(src, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvTest, AddEmptyEntryPoint) {
|
||||
auto* src = R"()";
|
||||
|
||||
|
@ -986,35 +132,35 @@ fn frag_main([[builtin(sample_index)]] sample_index : u32,
|
|||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
[[builtin(pointsize), internal(disable_validation__ignore_storage_class)]] var<out> tint_pointsize : f32;
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> value : vec4<f32>;
|
||||
|
||||
[[builtin(position), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_1 : vec4<f32>;
|
||||
[[builtin(pointsize), internal(disable_validation__ignore_storage_class)]] var<out> vertex_point_size : f32;
|
||||
|
||||
fn tint_symbol_2(tint_symbol : vec4<f32>) {
|
||||
tint_symbol_1 = tint_symbol;
|
||||
[[builtin(sample_index), internal(disable_validation__ignore_storage_class)]] var<in> sample_index_1 : u32;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<in> mask_in_1 : array<u32, 1>;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<out> value_1 : array<u32, 1>;
|
||||
|
||||
fn vert_main_inner() -> vec4<f32> {
|
||||
return vec4<f32>();
|
||||
}
|
||||
|
||||
[[stage(vertex)]]
|
||||
fn vert_main() {
|
||||
tint_pointsize = 1.0;
|
||||
tint_symbol_2(vec4<f32>());
|
||||
return;
|
||||
let inner_result = vert_main_inner();
|
||||
value = inner_result;
|
||||
vertex_point_size = 1.0;
|
||||
}
|
||||
|
||||
[[builtin(sample_index), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_3 : u32;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<in> tint_symbol_4 : array<u32, 1>;
|
||||
|
||||
[[builtin(sample_mask), internal(disable_validation__ignore_storage_class)]] var<out> tint_symbol_6 : array<u32, 1>;
|
||||
|
||||
fn tint_symbol_7(tint_symbol_5 : u32) {
|
||||
tint_symbol_6[0] = tint_symbol_5;
|
||||
fn frag_main_inner(sample_index : u32, mask_in : u32) -> u32 {
|
||||
return mask_in;
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn frag_main() {
|
||||
tint_symbol_7(tint_symbol_4[0]);
|
||||
return;
|
||||
let inner_result_1 = frag_main_inner(sample_index_1, mask_in_1[0]);
|
||||
value_1[0] = inner_result_1;
|
||||
}
|
||||
)";
|
||||
|
||||
|
|
|
@ -61,12 +61,15 @@ TEST_F(BuilderTest, EntryPoint_Parameters) {
|
|||
// Input storage class, retaining their decorations.
|
||||
EXPECT_EQ(DumpBuilder(b), R"(OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %9 "frag_main" %1 %5
|
||||
OpExecutionMode %9 OriginUpperLeft
|
||||
OpName %1 "tint_symbol"
|
||||
OpName %5 "tint_symbol_1"
|
||||
OpName %9 "frag_main"
|
||||
OpName %17 "col"
|
||||
OpEntryPoint Fragment %19 "frag_main" %1 %5
|
||||
OpExecutionMode %19 OriginUpperLeft
|
||||
OpName %1 "coord_1"
|
||||
OpName %5 "loc1_1"
|
||||
OpName %9 "frag_main_inner"
|
||||
OpName %10 "coord"
|
||||
OpName %11 "loc1"
|
||||
OpName %15 "col"
|
||||
OpName %19 "frag_main"
|
||||
OpDecorate %1 BuiltIn FragCoord
|
||||
OpDecorate %5 Location 1
|
||||
%4 = OpTypeFloat 32
|
||||
|
@ -76,19 +79,25 @@ OpDecorate %5 Location 1
|
|||
%6 = OpTypePointer Input %4
|
||||
%5 = OpVariable %6 Input
|
||||
%8 = OpTypeVoid
|
||||
%7 = OpTypeFunction %8
|
||||
%11 = OpTypeInt 32 0
|
||||
%12 = OpConstant %11 0
|
||||
%18 = OpTypePointer Function %4
|
||||
%19 = OpConstantNull %4
|
||||
%7 = OpTypeFunction %8 %3 %4
|
||||
%16 = OpTypePointer Function %4
|
||||
%17 = OpConstantNull %4
|
||||
%18 = OpTypeFunction %8
|
||||
%9 = OpFunction %8 None %7
|
||||
%10 = OpLabel
|
||||
%17 = OpVariable %18 Function %19
|
||||
%13 = OpAccessChain %6 %1 %12
|
||||
%14 = OpLoad %4 %13
|
||||
%15 = OpLoad %4 %5
|
||||
%16 = OpFMul %4 %14 %15
|
||||
OpStore %17 %16
|
||||
%10 = OpFunctionParameter %3
|
||||
%11 = OpFunctionParameter %4
|
||||
%12 = OpLabel
|
||||
%15 = OpVariable %16 Function %17
|
||||
%13 = OpCompositeExtract %4 %10 0
|
||||
%14 = OpFMul %4 %13 %11
|
||||
OpStore %15 %14
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%19 = OpFunction %8 None %18
|
||||
%20 = OpLabel
|
||||
%22 = OpLoad %3 %1
|
||||
%23 = OpLoad %4 %5
|
||||
%21 = OpFunctionCall %8 %9 %22 %23
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
)");
|
||||
|
@ -125,13 +134,13 @@ TEST_F(BuilderTest, EntryPoint_ReturnValue) {
|
|||
// Output storage class, and the return statements are replaced with stores.
|
||||
EXPECT_EQ(DumpBuilder(b), R"(OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %14 "frag_main" %1 %4
|
||||
OpExecutionMode %14 OriginUpperLeft
|
||||
OpName %1 "tint_symbol"
|
||||
OpName %4 "tint_symbol_2"
|
||||
OpName %10 "tint_symbol_3"
|
||||
OpName %11 "tint_symbol_1"
|
||||
OpName %14 "frag_main"
|
||||
OpEntryPoint Fragment %21 "frag_main" %1 %4
|
||||
OpExecutionMode %21 OriginUpperLeft
|
||||
OpName %1 "loc_in_1"
|
||||
OpName %4 "value"
|
||||
OpName %9 "frag_main_inner"
|
||||
OpName %10 "loc_in"
|
||||
OpName %21 "frag_main"
|
||||
OpDecorate %1 Location 0
|
||||
OpDecorate %1 Flat
|
||||
OpDecorate %4 Location 0
|
||||
|
@ -142,30 +151,29 @@ OpDecorate %4 Location 0
|
|||
%5 = OpTypePointer Output %6
|
||||
%7 = OpConstantNull %6
|
||||
%4 = OpVariable %5 Output %7
|
||||
%9 = OpTypeVoid
|
||||
%8 = OpTypeFunction %9 %6
|
||||
%13 = OpTypeFunction %9
|
||||
%17 = OpConstant %3 10
|
||||
%19 = OpTypeBool
|
||||
%23 = OpConstant %6 0.5
|
||||
%25 = OpConstant %6 1
|
||||
%10 = OpFunction %9 None %8
|
||||
%11 = OpFunctionParameter %6
|
||||
%12 = OpLabel
|
||||
OpStore %4 %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%14 = OpFunction %9 None %13
|
||||
%8 = OpTypeFunction %6 %3
|
||||
%12 = OpConstant %3 10
|
||||
%14 = OpTypeBool
|
||||
%17 = OpConstant %6 0.5
|
||||
%18 = OpConstant %6 1
|
||||
%20 = OpTypeVoid
|
||||
%19 = OpTypeFunction %20
|
||||
%9 = OpFunction %6 None %8
|
||||
%10 = OpFunctionParameter %3
|
||||
%11 = OpLabel
|
||||
%13 = OpUGreaterThan %14 %10 %12
|
||||
OpSelectionMerge %15 None
|
||||
OpBranchConditional %13 %16 %15
|
||||
%16 = OpLabel
|
||||
OpReturnValue %17
|
||||
%15 = OpLabel
|
||||
%16 = OpLoad %3 %1
|
||||
%18 = OpUGreaterThan %19 %16 %17
|
||||
OpSelectionMerge %20 None
|
||||
OpBranchConditional %18 %21 %20
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %9 %10 %23
|
||||
OpReturn
|
||||
%20 = OpLabel
|
||||
%24 = OpFunctionCall %9 %10 %25
|
||||
OpReturnValue %18
|
||||
OpFunctionEnd
|
||||
%21 = OpFunction %20 None %19
|
||||
%22 = OpLabel
|
||||
%24 = OpLoad %3 %1
|
||||
%23 = OpFunctionCall %6 %9 %24
|
||||
OpStore %4 %23
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
)");
|
||||
|
@ -214,31 +222,30 @@ TEST_F(BuilderTest, EntryPoint_SharedStruct) {
|
|||
|
||||
EXPECT_EQ(DumpBuilder(b), R"(OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %23 "vert_main" %1 %5
|
||||
OpEntryPoint Vertex %22 "vert_main" %1 %5
|
||||
OpEntryPoint Fragment %32 "frag_main" %9 %11 %13
|
||||
OpExecutionMode %32 OriginUpperLeft
|
||||
OpExecutionMode %32 DepthReplacing
|
||||
OpName %1 "tint_symbol_1"
|
||||
OpName %5 "tint_symbol_2"
|
||||
OpName %9 "tint_symbol_4"
|
||||
OpName %11 "tint_symbol_5"
|
||||
OpName %13 "tint_symbol_8"
|
||||
OpName %16 "Interface"
|
||||
OpMemberName %16 0 "value"
|
||||
OpMemberName %16 1 "pos"
|
||||
OpName %17 "tint_symbol_3"
|
||||
OpName %18 "tint_symbol"
|
||||
OpName %23 "vert_main"
|
||||
OpName %29 "tint_symbol_9"
|
||||
OpName %30 "tint_symbol_7"
|
||||
OpName %1 "value_1"
|
||||
OpName %5 "pos_1"
|
||||
OpName %9 "value_2"
|
||||
OpName %11 "pos_2"
|
||||
OpName %13 "value_3"
|
||||
OpName %15 "Interface"
|
||||
OpMemberName %15 0 "value"
|
||||
OpMemberName %15 1 "pos"
|
||||
OpName %16 "vert_main_inner"
|
||||
OpName %22 "vert_main"
|
||||
OpName %28 "frag_main_inner"
|
||||
OpName %29 "inputs"
|
||||
OpName %32 "frag_main"
|
||||
OpDecorate %1 Location 1
|
||||
OpDecorate %5 BuiltIn Position
|
||||
OpDecorate %9 Location 1
|
||||
OpDecorate %11 BuiltIn FragCoord
|
||||
OpDecorate %13 BuiltIn FragDepth
|
||||
OpMemberDecorate %16 0 Offset 0
|
||||
OpMemberDecorate %16 1 Offset 16
|
||||
OpMemberDecorate %15 0 Offset 0
|
||||
OpMemberDecorate %15 1 Offset 16
|
||||
%3 = OpTypeFloat 32
|
||||
%2 = OpTypePointer Output %3
|
||||
%4 = OpConstantNull %3
|
||||
|
@ -252,40 +259,39 @@ OpMemberDecorate %16 1 Offset 16
|
|||
%12 = OpTypePointer Input %7
|
||||
%11 = OpVariable %12 Input
|
||||
%13 = OpVariable %2 Output %4
|
||||
%15 = OpTypeVoid
|
||||
%16 = OpTypeStruct %3 %7
|
||||
%14 = OpTypeFunction %15 %16
|
||||
%22 = OpTypeFunction %15
|
||||
%26 = OpConstant %3 42
|
||||
%27 = OpConstantComposite %16 %26 %8
|
||||
%28 = OpTypeFunction %15 %3
|
||||
%17 = OpFunction %15 None %14
|
||||
%18 = OpFunctionParameter %16
|
||||
%19 = OpLabel
|
||||
%20 = OpCompositeExtract %3 %18 0
|
||||
OpStore %1 %20
|
||||
%21 = OpCompositeExtract %7 %18 1
|
||||
OpStore %5 %21
|
||||
%15 = OpTypeStruct %3 %7
|
||||
%14 = OpTypeFunction %15
|
||||
%18 = OpConstant %3 42
|
||||
%19 = OpConstantComposite %15 %18 %8
|
||||
%21 = OpTypeVoid
|
||||
%20 = OpTypeFunction %21
|
||||
%27 = OpTypeFunction %3 %15
|
||||
%16 = OpFunction %15 None %14
|
||||
%17 = OpLabel
|
||||
OpReturnValue %19
|
||||
OpFunctionEnd
|
||||
%22 = OpFunction %21 None %20
|
||||
%23 = OpLabel
|
||||
%24 = OpFunctionCall %15 %16
|
||||
%25 = OpCompositeExtract %3 %24 0
|
||||
OpStore %1 %25
|
||||
%26 = OpCompositeExtract %7 %24 1
|
||||
OpStore %5 %26
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%23 = OpFunction %15 None %22
|
||||
%24 = OpLabel
|
||||
%25 = OpFunctionCall %15 %17 %27
|
||||
OpReturn
|
||||
%28 = OpFunction %3 None %27
|
||||
%29 = OpFunctionParameter %15
|
||||
%30 = OpLabel
|
||||
%31 = OpCompositeExtract %3 %29 0
|
||||
OpReturnValue %31
|
||||
OpFunctionEnd
|
||||
%29 = OpFunction %15 None %28
|
||||
%30 = OpFunctionParameter %3
|
||||
%31 = OpLabel
|
||||
OpStore %13 %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%32 = OpFunction %15 None %22
|
||||
%32 = OpFunction %21 None %20
|
||||
%33 = OpLabel
|
||||
%34 = OpLoad %3 %9
|
||||
%35 = OpLoad %7 %11
|
||||
%36 = OpCompositeConstruct %16 %34 %35
|
||||
%38 = OpCompositeExtract %3 %36 0
|
||||
%37 = OpFunctionCall %15 %29 %38
|
||||
%35 = OpLoad %3 %9
|
||||
%36 = OpLoad %7 %11
|
||||
%37 = OpCompositeConstruct %15 %35 %36
|
||||
%34 = OpFunctionCall %3 %28 %37
|
||||
OpStore %13 %34
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
)");
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 68
|
||||
; Bound: 65
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %idx_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %idx_1 "idx_1"
|
||||
OpName %S "S"
|
||||
OpMemberName %S 0 "arr"
|
||||
OpName %Inner "Inner"
|
||||
|
@ -20,8 +21,10 @@
|
|||
OpMemberName %Inner 7 "h"
|
||||
OpMemberName %Inner 8 "i"
|
||||
OpName %s "s"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %idx "idx"
|
||||
OpName %main "main"
|
||||
OpDecorate %idx_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %S Block
|
||||
OpMemberDecorate %S 0 Offset 0
|
||||
OpMemberDecorate %Inner 0 Offset 0
|
||||
|
@ -42,10 +45,11 @@
|
|||
OpDecorate %s NonWritable
|
||||
OpDecorate %s Binding 0
|
||||
OpDecorate %s DescriptorSet 0
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%idx_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%v3int = OpTypeVector %int 3
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%float = OpTypeFloat 32
|
||||
%v3float = OpTypeVector %float 3
|
||||
|
@ -60,10 +64,8 @@
|
|||
%S = OpTypeStruct %_runtimearr_Inner
|
||||
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
|
||||
%s = OpVariable %_ptr_StorageBuffer_S StorageBuffer
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%20 = OpTypeFunction %void
|
||||
%20 = OpTypeFunction %void %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_StorageBuffer_v3int = OpTypePointer StorageBuffer %v3int
|
||||
%uint_1 = OpConstant %uint 1
|
||||
|
@ -81,34 +83,33 @@
|
|||
%_ptr_StorageBuffer_mat3v2float = OpTypePointer StorageBuffer %mat3v2float
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%_ptr_StorageBuffer__arr_v4int_uint_4 = OpTypePointer StorageBuffer %_arr_v4int_uint_4
|
||||
%main = OpFunction %void None %20
|
||||
%23 = OpLabel
|
||||
%25 = OpLoad %uint %tint_symbol
|
||||
%27 = OpAccessChain %_ptr_StorageBuffer_v3int %s %uint_0 %25 %uint_0
|
||||
%60 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %20
|
||||
%idx = OpFunctionParameter %uint
|
||||
%24 = OpLabel
|
||||
%27 = OpAccessChain %_ptr_StorageBuffer_v3int %s %uint_0 %idx %uint_0
|
||||
%28 = OpLoad %v3int %27
|
||||
%29 = OpLoad %uint %tint_symbol
|
||||
%32 = OpAccessChain %_ptr_StorageBuffer_int %s %uint_0 %29 %uint_1
|
||||
%33 = OpLoad %int %32
|
||||
%34 = OpLoad %uint %tint_symbol
|
||||
%37 = OpAccessChain %_ptr_StorageBuffer_v3uint %s %uint_0 %34 %uint_2
|
||||
%38 = OpLoad %v3uint %37
|
||||
%39 = OpLoad %uint %tint_symbol
|
||||
%42 = OpAccessChain %_ptr_StorageBuffer_uint %s %uint_0 %39 %uint_3
|
||||
%43 = OpLoad %uint %42
|
||||
%44 = OpLoad %uint %tint_symbol
|
||||
%46 = OpAccessChain %_ptr_StorageBuffer_v3float %s %uint_0 %44 %uint_4
|
||||
%47 = OpLoad %v3float %46
|
||||
%48 = OpLoad %uint %tint_symbol
|
||||
%51 = OpAccessChain %_ptr_StorageBuffer_float %s %uint_0 %48 %uint_5
|
||||
%52 = OpLoad %float %51
|
||||
%53 = OpLoad %uint %tint_symbol
|
||||
%56 = OpAccessChain %_ptr_StorageBuffer_mat2v3float %s %uint_0 %53 %uint_6
|
||||
%57 = OpLoad %mat2v3float %56
|
||||
%58 = OpLoad %uint %tint_symbol
|
||||
%61 = OpAccessChain %_ptr_StorageBuffer_mat3v2float %s %uint_0 %58 %uint_7
|
||||
%62 = OpLoad %mat3v2float %61
|
||||
%63 = OpLoad %uint %tint_symbol
|
||||
%66 = OpAccessChain %_ptr_StorageBuffer__arr_v4int_uint_4 %s %uint_0 %63 %uint_8
|
||||
%67 = OpLoad %_arr_v4int_uint_4 %66
|
||||
%31 = OpAccessChain %_ptr_StorageBuffer_int %s %uint_0 %idx %uint_1
|
||||
%32 = OpLoad %int %31
|
||||
%35 = OpAccessChain %_ptr_StorageBuffer_v3uint %s %uint_0 %idx %uint_2
|
||||
%36 = OpLoad %v3uint %35
|
||||
%39 = OpAccessChain %_ptr_StorageBuffer_uint %s %uint_0 %idx %uint_3
|
||||
%40 = OpLoad %uint %39
|
||||
%42 = OpAccessChain %_ptr_StorageBuffer_v3float %s %uint_0 %idx %uint_4
|
||||
%43 = OpLoad %v3float %42
|
||||
%46 = OpAccessChain %_ptr_StorageBuffer_float %s %uint_0 %idx %uint_5
|
||||
%47 = OpLoad %float %46
|
||||
%50 = OpAccessChain %_ptr_StorageBuffer_mat2v3float %s %uint_0 %idx %uint_6
|
||||
%51 = OpLoad %mat2v3float %50
|
||||
%54 = OpAccessChain %_ptr_StorageBuffer_mat3v2float %s %uint_0 %idx %uint_7
|
||||
%55 = OpLoad %mat3v2float %54
|
||||
%58 = OpAccessChain %_ptr_StorageBuffer__arr_v4int_uint_4 %s %uint_0 %idx %uint_8
|
||||
%59 = OpLoad %_arr_v4int_uint_4 %58
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %60
|
||||
%62 = OpLabel
|
||||
%64 = OpLoad %uint %idx_1
|
||||
%63 = OpFunctionCall %void %main_inner %64
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 68
|
||||
; Bound: 65
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %idx_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %idx_1 "idx_1"
|
||||
OpName %S "S"
|
||||
OpMemberName %S 0 "arr"
|
||||
OpName %Inner "Inner"
|
||||
|
@ -20,8 +21,10 @@
|
|||
OpMemberName %Inner 7 "h"
|
||||
OpMemberName %Inner 8 "i"
|
||||
OpName %s "s"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %idx "idx"
|
||||
OpName %main "main"
|
||||
OpDecorate %idx_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %S Block
|
||||
OpMemberDecorate %S 0 Offset 0
|
||||
OpMemberDecorate %Inner 0 Offset 0
|
||||
|
@ -41,10 +44,11 @@
|
|||
OpDecorate %_runtimearr_Inner ArrayStride 176
|
||||
OpDecorate %s Binding 0
|
||||
OpDecorate %s DescriptorSet 0
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%idx_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%v3int = OpTypeVector %int 3
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%float = OpTypeFloat 32
|
||||
%v3float = OpTypeVector %float 3
|
||||
|
@ -59,64 +63,61 @@
|
|||
%S = OpTypeStruct %_runtimearr_Inner
|
||||
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
|
||||
%s = OpVariable %_ptr_StorageBuffer_S StorageBuffer
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%20 = OpTypeFunction %void
|
||||
%20 = OpTypeFunction %void %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_StorageBuffer_v3int = OpTypePointer StorageBuffer %v3int
|
||||
%28 = OpConstantNull %v3int
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
|
||||
%33 = OpConstantNull %int
|
||||
%32 = OpConstantNull %int
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%_ptr_StorageBuffer_v3uint = OpTypePointer StorageBuffer %v3uint
|
||||
%38 = OpConstantNull %v3uint
|
||||
%36 = OpConstantNull %v3uint
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
|
||||
%43 = OpConstantNull %uint
|
||||
%40 = OpConstantNull %uint
|
||||
%_ptr_StorageBuffer_v3float = OpTypePointer StorageBuffer %v3float
|
||||
%47 = OpConstantNull %v3float
|
||||
%43 = OpConstantNull %v3float
|
||||
%uint_5 = OpConstant %uint 5
|
||||
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
|
||||
%52 = OpConstantNull %float
|
||||
%47 = OpConstantNull %float
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%_ptr_StorageBuffer_mat2v3float = OpTypePointer StorageBuffer %mat2v3float
|
||||
%57 = OpConstantNull %mat2v3float
|
||||
%51 = OpConstantNull %mat2v3float
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%_ptr_StorageBuffer_mat3v2float = OpTypePointer StorageBuffer %mat3v2float
|
||||
%62 = OpConstantNull %mat3v2float
|
||||
%55 = OpConstantNull %mat3v2float
|
||||
%uint_8 = OpConstant %uint 8
|
||||
%_ptr_StorageBuffer__arr_v4int_uint_4 = OpTypePointer StorageBuffer %_arr_v4int_uint_4
|
||||
%67 = OpConstantNull %_arr_v4int_uint_4
|
||||
%main = OpFunction %void None %20
|
||||
%23 = OpLabel
|
||||
%25 = OpLoad %uint %tint_symbol
|
||||
%27 = OpAccessChain %_ptr_StorageBuffer_v3int %s %uint_0 %25 %uint_0
|
||||
%59 = OpConstantNull %_arr_v4int_uint_4
|
||||
%60 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %20
|
||||
%idx = OpFunctionParameter %uint
|
||||
%24 = OpLabel
|
||||
%27 = OpAccessChain %_ptr_StorageBuffer_v3int %s %uint_0 %idx %uint_0
|
||||
OpStore %27 %28
|
||||
%29 = OpLoad %uint %tint_symbol
|
||||
%32 = OpAccessChain %_ptr_StorageBuffer_int %s %uint_0 %29 %uint_1
|
||||
OpStore %32 %33
|
||||
%34 = OpLoad %uint %tint_symbol
|
||||
%37 = OpAccessChain %_ptr_StorageBuffer_v3uint %s %uint_0 %34 %uint_2
|
||||
OpStore %37 %38
|
||||
%39 = OpLoad %uint %tint_symbol
|
||||
%42 = OpAccessChain %_ptr_StorageBuffer_uint %s %uint_0 %39 %uint_3
|
||||
%31 = OpAccessChain %_ptr_StorageBuffer_int %s %uint_0 %idx %uint_1
|
||||
OpStore %31 %32
|
||||
%35 = OpAccessChain %_ptr_StorageBuffer_v3uint %s %uint_0 %idx %uint_2
|
||||
OpStore %35 %36
|
||||
%39 = OpAccessChain %_ptr_StorageBuffer_uint %s %uint_0 %idx %uint_3
|
||||
OpStore %39 %40
|
||||
%42 = OpAccessChain %_ptr_StorageBuffer_v3float %s %uint_0 %idx %uint_4
|
||||
OpStore %42 %43
|
||||
%44 = OpLoad %uint %tint_symbol
|
||||
%46 = OpAccessChain %_ptr_StorageBuffer_v3float %s %uint_0 %44 %uint_4
|
||||
%46 = OpAccessChain %_ptr_StorageBuffer_float %s %uint_0 %idx %uint_5
|
||||
OpStore %46 %47
|
||||
%48 = OpLoad %uint %tint_symbol
|
||||
%51 = OpAccessChain %_ptr_StorageBuffer_float %s %uint_0 %48 %uint_5
|
||||
OpStore %51 %52
|
||||
%53 = OpLoad %uint %tint_symbol
|
||||
%56 = OpAccessChain %_ptr_StorageBuffer_mat2v3float %s %uint_0 %53 %uint_6
|
||||
OpStore %56 %57
|
||||
%58 = OpLoad %uint %tint_symbol
|
||||
%61 = OpAccessChain %_ptr_StorageBuffer_mat3v2float %s %uint_0 %58 %uint_7
|
||||
OpStore %61 %62
|
||||
%63 = OpLoad %uint %tint_symbol
|
||||
%66 = OpAccessChain %_ptr_StorageBuffer__arr_v4int_uint_4 %s %uint_0 %63 %uint_8
|
||||
OpStore %66 %67
|
||||
%50 = OpAccessChain %_ptr_StorageBuffer_mat2v3float %s %uint_0 %idx %uint_6
|
||||
OpStore %50 %51
|
||||
%54 = OpAccessChain %_ptr_StorageBuffer_mat3v2float %s %uint_0 %idx %uint_7
|
||||
OpStore %54 %55
|
||||
%58 = OpAccessChain %_ptr_StorageBuffer__arr_v4int_uint_4 %s %uint_0 %idx %uint_8
|
||||
OpStore %58 %59
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %60
|
||||
%62 = OpLabel
|
||||
%64 = OpLoad %uint %idx_1
|
||||
%63 = OpFunctionCall %void %main_inner %64
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 68
|
||||
; Bound: 65
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %idx_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %idx_1 "idx_1"
|
||||
OpName %S "S"
|
||||
OpMemberName %S 0 "arr"
|
||||
OpName %Inner "Inner"
|
||||
|
@ -22,8 +23,10 @@
|
|||
OpMemberName %Inner 9 "j"
|
||||
OpMemberName %Inner 10 "k"
|
||||
OpName %s "s"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %idx "idx"
|
||||
OpName %main "main"
|
||||
OpDecorate %idx_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %S Block
|
||||
OpMemberDecorate %S 0 Offset 0
|
||||
OpMemberDecorate %Inner 0 Offset 0
|
||||
|
@ -46,10 +49,11 @@
|
|||
OpDecorate %s NonWritable
|
||||
OpDecorate %s Binding 0
|
||||
OpDecorate %s DescriptorSet 0
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%idx_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%v3int = OpTypeVector %int 3
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%float = OpTypeFloat 32
|
||||
%v3float = OpTypeVector %float 3
|
||||
|
@ -66,10 +70,8 @@
|
|||
%S = OpTypeStruct %_arr_Inner_uint_8
|
||||
%_ptr_Uniform_S = OpTypePointer Uniform %S
|
||||
%s = OpVariable %_ptr_Uniform_S Uniform
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%22 = OpTypeFunction %void
|
||||
%22 = OpTypeFunction %void %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Uniform_v3int = OpTypePointer Uniform %v3int
|
||||
%uint_1 = OpConstant %uint 1
|
||||
|
@ -85,34 +87,33 @@
|
|||
%_ptr_Uniform_v2int = OpTypePointer Uniform %v2int
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%_ptr_Uniform_mat2v3float = OpTypePointer Uniform %mat2v3float
|
||||
%main = OpFunction %void None %22
|
||||
%25 = OpLabel
|
||||
%27 = OpLoad %uint %tint_symbol
|
||||
%29 = OpAccessChain %_ptr_Uniform_v3int %s %uint_0 %27 %uint_0
|
||||
%60 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %22
|
||||
%idx = OpFunctionParameter %uint
|
||||
%26 = OpLabel
|
||||
%29 = OpAccessChain %_ptr_Uniform_v3int %s %uint_0 %idx %uint_0
|
||||
%30 = OpLoad %v3int %29
|
||||
%31 = OpLoad %uint %tint_symbol
|
||||
%34 = OpAccessChain %_ptr_Uniform_int %s %uint_0 %31 %uint_1
|
||||
%35 = OpLoad %int %34
|
||||
%36 = OpLoad %uint %tint_symbol
|
||||
%39 = OpAccessChain %_ptr_Uniform_v3uint %s %uint_0 %36 %uint_2
|
||||
%40 = OpLoad %v3uint %39
|
||||
%41 = OpLoad %uint %tint_symbol
|
||||
%44 = OpAccessChain %_ptr_Uniform_uint %s %uint_0 %41 %uint_3
|
||||
%45 = OpLoad %uint %44
|
||||
%46 = OpLoad %uint %tint_symbol
|
||||
%48 = OpAccessChain %_ptr_Uniform_v3float %s %uint_0 %46 %uint_4
|
||||
%49 = OpLoad %v3float %48
|
||||
%50 = OpLoad %uint %tint_symbol
|
||||
%53 = OpAccessChain %_ptr_Uniform_float %s %uint_0 %50 %uint_5
|
||||
%54 = OpLoad %float %53
|
||||
%55 = OpLoad %uint %tint_symbol
|
||||
%58 = OpAccessChain %_ptr_Uniform_v2int %s %uint_0 %55 %uint_6
|
||||
%59 = OpLoad %v2int %58
|
||||
%60 = OpLoad %uint %tint_symbol
|
||||
%62 = OpAccessChain %_ptr_Uniform_v2int %s %uint_0 %60 %uint_7
|
||||
%63 = OpLoad %v2int %62
|
||||
%64 = OpLoad %uint %tint_symbol
|
||||
%66 = OpAccessChain %_ptr_Uniform_mat2v3float %s %uint_0 %64 %uint_8
|
||||
%67 = OpLoad %mat2v3float %66
|
||||
%33 = OpAccessChain %_ptr_Uniform_int %s %uint_0 %idx %uint_1
|
||||
%34 = OpLoad %int %33
|
||||
%37 = OpAccessChain %_ptr_Uniform_v3uint %s %uint_0 %idx %uint_2
|
||||
%38 = OpLoad %v3uint %37
|
||||
%41 = OpAccessChain %_ptr_Uniform_uint %s %uint_0 %idx %uint_3
|
||||
%42 = OpLoad %uint %41
|
||||
%44 = OpAccessChain %_ptr_Uniform_v3float %s %uint_0 %idx %uint_4
|
||||
%45 = OpLoad %v3float %44
|
||||
%48 = OpAccessChain %_ptr_Uniform_float %s %uint_0 %idx %uint_5
|
||||
%49 = OpLoad %float %48
|
||||
%52 = OpAccessChain %_ptr_Uniform_v2int %s %uint_0 %idx %uint_6
|
||||
%53 = OpLoad %v2int %52
|
||||
%55 = OpAccessChain %_ptr_Uniform_v2int %s %uint_0 %idx %uint_7
|
||||
%56 = OpLoad %v2int %55
|
||||
%58 = OpAccessChain %_ptr_Uniform_mat2v3float %s %uint_0 %idx %uint_8
|
||||
%59 = OpLoad %mat2v3float %58
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %60
|
||||
%62 = OpLabel
|
||||
%64 = OpLoad %uint %idx_1
|
||||
%63 = OpFunctionCall %void %main_inner %64
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,221 +1,217 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 141
|
||||
; Bound: 137
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%120 = OpExtInstImport "GLSL.std.450"
|
||||
%116 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vs_main "vs_main" %tint_pointsize %tint_symbol %tint_symbol_2 %tint_symbol_3
|
||||
OpEntryPoint Fragment %fs_main "fs_main" %tint_symbol_5 %tint_symbol_7
|
||||
OpEntryPoint Vertex %vs_main "vs_main" %VertexIndex_1 %texcoords_1 %position_1 %vertex_point_size
|
||||
OpEntryPoint Fragment %fs_main "fs_main" %texcoord_1 %value
|
||||
OpExecutionMode %fs_main OriginUpperLeft
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %VertexIndex_1 "VertexIndex_1"
|
||||
OpName %texcoords_1 "texcoords_1"
|
||||
OpName %position_1 "position_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %texcoord_1 "texcoord_1"
|
||||
OpName %value "value"
|
||||
OpName %Uniforms "Uniforms"
|
||||
OpMemberName %Uniforms 0 "u_scale"
|
||||
OpMemberName %Uniforms 1 "u_offset"
|
||||
OpName %uniforms "uniforms"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %mySampler "mySampler"
|
||||
OpName %myTexture "myTexture"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %VertexOutputs "VertexOutputs"
|
||||
OpMemberName %VertexOutputs 0 "texcoords"
|
||||
OpMemberName %VertexOutputs 1 "position"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %vs_main "vs_main"
|
||||
OpName %vs_main_inner "vs_main_inner"
|
||||
OpName %VertexIndex "VertexIndex"
|
||||
OpName %texcoord "texcoord"
|
||||
OpName %output "output"
|
||||
OpName %flipY "flipY"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %fs_main "fs_main"
|
||||
OpName %vs_main "vs_main"
|
||||
OpName %fs_main_inner "fs_main_inner"
|
||||
OpName %texcoord_0 "texcoord"
|
||||
OpName %clampedTexcoord "clampedTexcoord"
|
||||
OpName %srcColor "srcColor"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpName %fs_main "fs_main"
|
||||
OpDecorate %VertexIndex_1 BuiltIn VertexIndex
|
||||
OpDecorate %texcoords_1 Location 0
|
||||
OpDecorate %position_1 BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %texcoord_1 Location 0
|
||||
OpDecorate %value Location 0
|
||||
OpDecorate %Uniforms Block
|
||||
OpMemberDecorate %Uniforms 0 Offset 0
|
||||
OpMemberDecorate %Uniforms 1 Offset 8
|
||||
OpDecorate %uniforms NonWritable
|
||||
OpDecorate %uniforms Binding 0
|
||||
OpDecorate %uniforms DescriptorSet 0
|
||||
OpDecorate %tint_symbol BuiltIn VertexIndex
|
||||
OpDecorate %tint_symbol_2 Location 0
|
||||
OpDecorate %tint_symbol_3 BuiltIn Position
|
||||
OpDecorate %mySampler Binding 1
|
||||
OpDecorate %mySampler DescriptorSet 0
|
||||
OpDecorate %myTexture Binding 2
|
||||
OpDecorate %myTexture DescriptorSet 0
|
||||
OpDecorate %tint_symbol_5 Location 0
|
||||
OpDecorate %tint_symbol_7 Location 0
|
||||
OpMemberDecorate %VertexOutputs 0 Offset 0
|
||||
OpMemberDecorate %VertexOutputs 1 Offset 16
|
||||
OpDecorate %_arr_v2float_uint_3 ArrayStride 8
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%VertexIndex_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Output_v2float = OpTypePointer Output %v2float
|
||||
%8 = OpConstantNull %v2float
|
||||
%texcoords_1 = OpVariable %_ptr_Output_v2float Output %8
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%12 = OpConstantNull %v4float
|
||||
%position_1 = OpVariable %_ptr_Output_v4float Output %12
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%15 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %15
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%texcoord_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%value = OpVariable %_ptr_Output_v4float Output %12
|
||||
%Uniforms = OpTypeStruct %v2float %v2float
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%uniforms = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Output_v2float = OpTypePointer Output %v2float
|
||||
%14 = OpConstantNull %v2float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_v2float Output %14
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%18 = OpConstantNull %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_v4float Output %18
|
||||
%21 = OpTypeSampler
|
||||
%_ptr_UniformConstant_21 = OpTypePointer UniformConstant %21
|
||||
%mySampler = OpVariable %_ptr_UniformConstant_21 UniformConstant
|
||||
%24 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%24 = OpTypeSampler
|
||||
%_ptr_UniformConstant_24 = OpTypePointer UniformConstant %24
|
||||
%myTexture = OpVariable %_ptr_UniformConstant_24 UniformConstant
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%tint_symbol_5 = OpVariable %_ptr_Input_v2float Input
|
||||
%tint_symbol_7 = OpVariable %_ptr_Output_v4float Output %18
|
||||
%void = OpTypeVoid
|
||||
%mySampler = OpVariable %_ptr_UniformConstant_24 UniformConstant
|
||||
%27 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_27 = OpTypePointer UniformConstant %27
|
||||
%myTexture = OpVariable %_ptr_UniformConstant_27 UniformConstant
|
||||
%VertexOutputs = OpTypeStruct %v2float %v4float
|
||||
%28 = OpTypeFunction %void %VertexOutputs
|
||||
%36 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%28 = OpTypeFunction %VertexOutputs %uint
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%_arr_v2float_uint_3 = OpTypeArray %v2float %uint_3
|
||||
%float_n0_5 = OpConstant %float -0.5
|
||||
%float_0 = OpConstant %float 0
|
||||
%44 = OpConstantComposite %v2float %float_n0_5 %float_0
|
||||
%37 = OpConstantComposite %v2float %float_n0_5 %float_0
|
||||
%float_1_5 = OpConstant %float 1.5
|
||||
%46 = OpConstantComposite %v2float %float_1_5 %float_0
|
||||
%39 = OpConstantComposite %v2float %float_1_5 %float_0
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%float_2 = OpConstant %float 2
|
||||
%49 = OpConstantComposite %v2float %float_0_5 %float_2
|
||||
%50 = OpConstantComposite %_arr_v2float_uint_3 %44 %46 %49
|
||||
%42 = OpConstantComposite %v2float %float_0_5 %float_2
|
||||
%43 = OpConstantComposite %_arr_v2float_uint_3 %37 %39 %42
|
||||
%_ptr_Function__arr_v2float_uint_3 = OpTypePointer Function %_arr_v2float_uint_3
|
||||
%53 = OpConstantNull %_arr_v2float_uint_3
|
||||
%46 = OpConstantNull %_arr_v2float_uint_3
|
||||
%_ptr_Function_VertexOutputs = OpTypePointer Function %VertexOutputs
|
||||
%56 = OpConstantNull %VertexOutputs
|
||||
%49 = OpConstantNull %VertexOutputs
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%65 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%float_1 = OpConstant %float 1
|
||||
%58 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%78 = OpConstantNull %bool
|
||||
%71 = OpConstantNull %bool
|
||||
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
|
||||
%float_n1 = OpConstant %float -1
|
||||
%95 = OpConstantComposite %v2float %float_1 %float_n1
|
||||
%97 = OpConstantComposite %v2float %float_0 %float_1
|
||||
%113 = OpTypeFunction %void %v4float
|
||||
%122 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%87 = OpConstantComposite %v2float %float_1 %float_n1
|
||||
%89 = OpConstantComposite %v2float %float_0 %float_1
|
||||
%void = OpTypeVoid
|
||||
%103 = OpTypeFunction %void
|
||||
%111 = OpTypeFunction %v4float %v2float
|
||||
%117 = OpConstantComposite %v2float %float_0 %float_0
|
||||
%v2bool = OpTypeVector %bool 2
|
||||
%135 = OpTypeSampledImage %24
|
||||
%tint_symbol_4 = OpFunction %void None %28
|
||||
%tint_symbol_1 = OpFunctionParameter %VertexOutputs
|
||||
%33 = OpLabel
|
||||
%34 = OpCompositeExtract %v2float %tint_symbol_1 0
|
||||
OpStore %tint_symbol_2 %34
|
||||
%35 = OpCompositeExtract %v4float %tint_symbol_1 1
|
||||
OpStore %tint_symbol_3 %35
|
||||
%129 = OpTypeSampledImage %27
|
||||
%vs_main_inner = OpFunction %VertexOutputs None %28
|
||||
%VertexIndex = OpFunctionParameter %uint
|
||||
%32 = OpLabel
|
||||
%texcoord = OpVariable %_ptr_Function__arr_v2float_uint_3 Function %46
|
||||
%output = OpVariable %_ptr_Function_VertexOutputs Function %49
|
||||
%flipY = OpVariable %_ptr_Function_bool Function %71
|
||||
OpStore %texcoord %43
|
||||
%52 = OpAccessChain %_ptr_Function_v4float %output %uint_1
|
||||
%54 = OpAccessChain %_ptr_Function_v2float %texcoord %VertexIndex
|
||||
%55 = OpLoad %v2float %54
|
||||
%56 = OpVectorTimesScalar %v2float %55 %float_2
|
||||
%59 = OpFSub %v2float %56 %58
|
||||
%60 = OpCompositeExtract %float %59 0
|
||||
%61 = OpCompositeExtract %float %59 1
|
||||
%62 = OpCompositeConstruct %v4float %60 %61 %float_0 %float_1
|
||||
OpStore %52 %62
|
||||
%65 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_0 %uint_1
|
||||
%66 = OpLoad %float %65
|
||||
%67 = OpFOrdLessThan %bool %66 %float_0
|
||||
OpStore %flipY %67
|
||||
%72 = OpLoad %bool %flipY
|
||||
OpSelectionMerge %73 None
|
||||
OpBranchConditional %72 %74 %75
|
||||
%74 = OpLabel
|
||||
%76 = OpAccessChain %_ptr_Function_v2float %output %uint_0
|
||||
%77 = OpAccessChain %_ptr_Function_v2float %texcoord %VertexIndex
|
||||
%78 = OpLoad %v2float %77
|
||||
%80 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_0
|
||||
%81 = OpLoad %v2float %80
|
||||
%82 = OpFMul %v2float %78 %81
|
||||
%83 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_1
|
||||
%84 = OpLoad %v2float %83
|
||||
%85 = OpFAdd %v2float %82 %84
|
||||
%88 = OpFMul %v2float %85 %87
|
||||
%90 = OpFAdd %v2float %88 %89
|
||||
OpStore %76 %90
|
||||
OpBranch %73
|
||||
%75 = OpLabel
|
||||
%91 = OpAccessChain %_ptr_Function_v2float %output %uint_0
|
||||
%92 = OpAccessChain %_ptr_Function_v2float %texcoord %VertexIndex
|
||||
%93 = OpLoad %v2float %92
|
||||
%94 = OpFMul %v2float %93 %87
|
||||
%95 = OpFAdd %v2float %94 %89
|
||||
%96 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_0
|
||||
%97 = OpLoad %v2float %96
|
||||
%98 = OpFMul %v2float %95 %97
|
||||
%99 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_1
|
||||
%100 = OpLoad %v2float %99
|
||||
%101 = OpFAdd %v2float %98 %100
|
||||
OpStore %91 %101
|
||||
OpBranch %73
|
||||
%73 = OpLabel
|
||||
%102 = OpLoad %VertexOutputs %output
|
||||
OpReturnValue %102
|
||||
OpFunctionEnd
|
||||
%vs_main = OpFunction %void None %103
|
||||
%106 = OpLabel
|
||||
%108 = OpLoad %uint %VertexIndex_1
|
||||
%107 = OpFunctionCall %VertexOutputs %vs_main_inner %108
|
||||
%109 = OpCompositeExtract %v2float %107 0
|
||||
OpStore %texcoords_1 %109
|
||||
%110 = OpCompositeExtract %v4float %107 1
|
||||
OpStore %position_1 %110
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%vs_main = OpFunction %void None %36
|
||||
%38 = OpLabel
|
||||
%texcoord = OpVariable %_ptr_Function__arr_v2float_uint_3 Function %53
|
||||
%output = OpVariable %_ptr_Function_VertexOutputs Function %56
|
||||
%flipY = OpVariable %_ptr_Function_bool Function %78
|
||||
OpStore %tint_pointsize %float_1
|
||||
OpStore %texcoord %50
|
||||
%59 = OpAccessChain %_ptr_Function_v4float %output %uint_1
|
||||
%60 = OpLoad %uint %tint_symbol
|
||||
%62 = OpAccessChain %_ptr_Function_v2float %texcoord %60
|
||||
%63 = OpLoad %v2float %62
|
||||
%64 = OpVectorTimesScalar %v2float %63 %float_2
|
||||
%66 = OpFSub %v2float %64 %65
|
||||
%67 = OpCompositeExtract %float %66 0
|
||||
%68 = OpCompositeExtract %float %66 1
|
||||
%69 = OpCompositeConstruct %v4float %67 %68 %float_0 %float_1
|
||||
OpStore %59 %69
|
||||
%72 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_0 %uint_1
|
||||
%73 = OpLoad %float %72
|
||||
%74 = OpFOrdLessThan %bool %73 %float_0
|
||||
OpStore %flipY %74
|
||||
%79 = OpLoad %bool %flipY
|
||||
OpSelectionMerge %80 None
|
||||
OpBranchConditional %79 %81 %82
|
||||
%81 = OpLabel
|
||||
%83 = OpAccessChain %_ptr_Function_v2float %output %uint_0
|
||||
%84 = OpLoad %uint %tint_symbol
|
||||
%85 = OpAccessChain %_ptr_Function_v2float %texcoord %84
|
||||
%86 = OpLoad %v2float %85
|
||||
%88 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_0
|
||||
%89 = OpLoad %v2float %88
|
||||
%90 = OpFMul %v2float %86 %89
|
||||
%91 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_1
|
||||
%92 = OpLoad %v2float %91
|
||||
%93 = OpFAdd %v2float %90 %92
|
||||
%96 = OpFMul %v2float %93 %95
|
||||
%98 = OpFAdd %v2float %96 %97
|
||||
OpStore %83 %98
|
||||
OpBranch %80
|
||||
%82 = OpLabel
|
||||
%99 = OpAccessChain %_ptr_Function_v2float %output %uint_0
|
||||
%100 = OpLoad %uint %tint_symbol
|
||||
%101 = OpAccessChain %_ptr_Function_v2float %texcoord %100
|
||||
%102 = OpLoad %v2float %101
|
||||
%103 = OpFMul %v2float %102 %95
|
||||
%104 = OpFAdd %v2float %103 %97
|
||||
%105 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_0
|
||||
%106 = OpLoad %v2float %105
|
||||
%107 = OpFMul %v2float %104 %106
|
||||
%108 = OpAccessChain %_ptr_Uniform_v2float %uniforms %uint_1
|
||||
%109 = OpLoad %v2float %108
|
||||
%110 = OpFAdd %v2float %107 %109
|
||||
OpStore %99 %110
|
||||
OpBranch %80
|
||||
%80 = OpLabel
|
||||
%112 = OpLoad %VertexOutputs %output
|
||||
%111 = OpFunctionCall %void %tint_symbol_4 %112
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_8 = OpFunction %void None %113
|
||||
%tint_symbol_6 = OpFunctionParameter %v4float
|
||||
%116 = OpLabel
|
||||
OpStore %tint_symbol_7 %tint_symbol_6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fs_main = OpFunction %void None %36
|
||||
%118 = OpLabel
|
||||
%clampedTexcoord = OpVariable %_ptr_Function_v2float Function %14
|
||||
%srcColor = OpVariable %_ptr_Function_v4float Function %18
|
||||
%121 = OpLoad %v2float %tint_symbol_5
|
||||
%119 = OpExtInst %v2float %120 NClamp %121 %122 %65
|
||||
OpStore %clampedTexcoord %119
|
||||
%126 = OpLoad %v2float %clampedTexcoord
|
||||
%127 = OpLoad %v2float %tint_symbol_5
|
||||
%128 = OpFOrdEqual %v2bool %126 %127
|
||||
%125 = OpAll %bool %128
|
||||
%124 = OpLogicalNot %bool %125
|
||||
OpSelectionMerge %130 None
|
||||
OpBranchConditional %124 %131 %130
|
||||
%131 = OpLabel
|
||||
%fs_main_inner = OpFunction %v4float None %111
|
||||
%texcoord_0 = OpFunctionParameter %v2float
|
||||
%114 = OpLabel
|
||||
%clampedTexcoord = OpVariable %_ptr_Function_v2float Function %8
|
||||
%srcColor = OpVariable %_ptr_Function_v4float Function %12
|
||||
%115 = OpExtInst %v2float %116 NClamp %texcoord_0 %117 %58
|
||||
OpStore %clampedTexcoord %115
|
||||
%121 = OpLoad %v2float %clampedTexcoord
|
||||
%122 = OpFOrdEqual %v2bool %121 %texcoord_0
|
||||
%120 = OpAll %bool %122
|
||||
%119 = OpLogicalNot %bool %120
|
||||
OpSelectionMerge %124 None
|
||||
OpBranchConditional %119 %125 %124
|
||||
%125 = OpLabel
|
||||
OpKill
|
||||
%130 = OpLabel
|
||||
%133 = OpLoad %21 %mySampler
|
||||
%134 = OpLoad %24 %myTexture
|
||||
%136 = OpSampledImage %135 %134 %133
|
||||
%137 = OpLoad %v2float %tint_symbol_5
|
||||
%132 = OpImageSampleImplicitLod %v4float %136 %137
|
||||
OpStore %srcColor %132
|
||||
%140 = OpLoad %v4float %srcColor
|
||||
%139 = OpFunctionCall %void %tint_symbol_8 %140
|
||||
%124 = OpLabel
|
||||
%127 = OpLoad %24 %mySampler
|
||||
%128 = OpLoad %27 %myTexture
|
||||
%130 = OpSampledImage %129 %128 %127
|
||||
%126 = OpImageSampleImplicitLod %v4float %130 %texcoord_0
|
||||
OpStore %srcColor %126
|
||||
%132 = OpLoad %v4float %srcColor
|
||||
OpReturnValue %132
|
||||
OpFunctionEnd
|
||||
%fs_main = OpFunction %void None %103
|
||||
%134 = OpLabel
|
||||
%136 = OpLoad %v2float %texcoord_1
|
||||
%135 = OpFunctionCall %v4float %fs_main_inner %136
|
||||
OpStore %value %135
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 52
|
||||
; Bound: 57
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %f "f" %tint_symbol
|
||||
OpEntryPoint GLCompute %f "f" %local_invocation_index_1
|
||||
OpExecutionMode %f LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %UBO "UBO"
|
||||
OpMemberName %UBO 0 "dynamic_idx"
|
||||
OpName %ubo "ubo"
|
||||
|
@ -16,9 +17,11 @@
|
|||
OpName %S "S"
|
||||
OpMemberName %S 0 "data"
|
||||
OpName %s "s"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %f "f"
|
||||
OpName %f_inner "f_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %idx "idx"
|
||||
OpName %f "f"
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %UBO Block
|
||||
OpMemberDecorate %UBO 0 Offset 0
|
||||
OpDecorate %ubo NonWritable
|
||||
|
@ -30,7 +33,9 @@
|
|||
OpDecorate %result Binding 1
|
||||
OpMemberDecorate %S 0 Offset 0
|
||||
OpDecorate %_arr_int_uint_64 ArrayStride 4
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%UBO = OpTypeStruct %int
|
||||
%_ptr_Uniform_UBO = OpTypePointer Uniform %UBO
|
||||
|
@ -38,16 +43,13 @@
|
|||
%Result = OpTypeStruct %int
|
||||
%_ptr_StorageBuffer_Result = OpTypePointer StorageBuffer %Result
|
||||
%result = OpVariable %_ptr_StorageBuffer_Result StorageBuffer
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_64 = OpConstant %uint 64
|
||||
%_arr_int_uint_64 = OpTypeArray %int %uint_64
|
||||
%S = OpTypeStruct %_arr_int_uint_64
|
||||
%_ptr_Workgroup_S = OpTypePointer Workgroup %S
|
||||
%s = OpVariable %_ptr_Workgroup_S Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%16 = OpTypeFunction %void
|
||||
%16 = OpTypeFunction %void %uint
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%23 = OpConstantNull %uint
|
||||
%bool = OpTypeBool
|
||||
|
@ -59,11 +61,12 @@
|
|||
%uint_264 = OpConstant %uint 264
|
||||
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
|
||||
%_ptr_Uniform_int = OpTypePointer Uniform %int
|
||||
%f = OpFunction %void None %16
|
||||
%19 = OpLabel
|
||||
%52 = OpTypeFunction %void
|
||||
%f_inner = OpFunction %void None %16
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%20 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %23
|
||||
%20 = OpLoad %uint %tint_symbol
|
||||
OpStore %idx %20
|
||||
OpStore %idx %local_invocation_index
|
||||
OpBranch %24
|
||||
%24 = OpLabel
|
||||
OpLoopMerge %25 %26 None
|
||||
|
@ -96,3 +99,9 @@
|
|||
OpStore %46 %51
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%f = OpFunction %void None %52
|
||||
%54 = OpLabel
|
||||
%56 = OpLoad %uint %local_invocation_index_1
|
||||
%55 = OpFunctionCall %void %f_inner %56
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 55
|
||||
; Bound: 60
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %f "f" %tint_symbol
|
||||
OpEntryPoint GLCompute %f "f" %local_invocation_index_1
|
||||
OpExecutionMode %f LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %UBO "UBO"
|
||||
OpMemberName %UBO 0 "dynamic_idx"
|
||||
OpName %ubo "ubo"
|
||||
|
@ -16,9 +17,11 @@
|
|||
OpName %S "S"
|
||||
OpMemberName %S 0 "data"
|
||||
OpName %s "s"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %f "f"
|
||||
OpName %f_inner "f_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %idx "idx"
|
||||
OpName %f "f"
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %UBO Block
|
||||
OpMemberDecorate %UBO 0 Offset 0
|
||||
OpDecorate %ubo NonWritable
|
||||
|
@ -30,7 +33,9 @@
|
|||
OpDecorate %result Binding 1
|
||||
OpMemberDecorate %S 0 Offset 0
|
||||
OpDecorate %_arr_int_uint_64 ArrayStride 4
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%UBO = OpTypeStruct %int
|
||||
%_ptr_Uniform_UBO = OpTypePointer Uniform %UBO
|
||||
|
@ -38,16 +43,13 @@
|
|||
%Result = OpTypeStruct %int
|
||||
%_ptr_StorageBuffer_Result = OpTypePointer StorageBuffer %Result
|
||||
%result = OpVariable %_ptr_StorageBuffer_Result StorageBuffer
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_64 = OpConstant %uint 64
|
||||
%_arr_int_uint_64 = OpTypeArray %int %uint_64
|
||||
%S = OpTypeStruct %_arr_int_uint_64
|
||||
%_ptr_Workgroup_S = OpTypePointer Workgroup %S
|
||||
%s = OpVariable %_ptr_Workgroup_S Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%16 = OpTypeFunction %void
|
||||
%16 = OpTypeFunction %void %uint
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%23 = OpConstantNull %uint
|
||||
%bool = OpTypeBool
|
||||
|
@ -61,11 +63,12 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
|
||||
%int_3 = OpConstant %int 3
|
||||
%f = OpFunction %void None %16
|
||||
%19 = OpLabel
|
||||
%55 = OpTypeFunction %void
|
||||
%f_inner = OpFunction %void None %16
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%20 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %23
|
||||
%20 = OpLoad %uint %tint_symbol
|
||||
OpStore %idx %20
|
||||
OpStore %idx %local_invocation_index
|
||||
OpBranch %24
|
||||
%24 = OpLabel
|
||||
OpLoopMerge %25 %26 None
|
||||
|
@ -100,3 +103,9 @@
|
|||
OpStore %51 %54
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%f = OpFunction %void None %55
|
||||
%57 = OpLabel
|
||||
%59 = OpLoad %uint %local_invocation_index_1
|
||||
%58 = OpFunctionCall %void %f_inner %59
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -5,8 +5,14 @@
|
|||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_7
|
||||
OpEntryPoint Fragment %main "main" %position_1 %view_position_1 %normal_1 %uv_1 %color_1 %color_2
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %position_1 "position_1"
|
||||
OpName %view_position_1 "view_position_1"
|
||||
OpName %normal_1 "normal_1"
|
||||
OpName %uv_1 "uv_1"
|
||||
OpName %color_1 "color_1"
|
||||
OpName %color_2 "color_2"
|
||||
OpName %Uniforms "Uniforms"
|
||||
OpMemberName %Uniforms 0 "worldView"
|
||||
OpMemberName %Uniforms 1 "proj"
|
||||
|
@ -21,12 +27,6 @@
|
|||
OpName %pointLights "pointLights"
|
||||
OpName %mySampler "mySampler"
|
||||
OpName %myTexture "myTexture"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %FragmentInput "FragmentInput"
|
||||
OpMemberName %FragmentInput 0 "position"
|
||||
OpMemberName %FragmentInput 1 "view_position"
|
||||
|
@ -38,10 +38,16 @@
|
|||
OpName %color "color"
|
||||
OpName %FragmentOutput "FragmentOutput"
|
||||
OpMemberName %FragmentOutput 0 "color"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %fragment_0 "fragment"
|
||||
OpName %output "output"
|
||||
OpName %main "main"
|
||||
OpDecorate %position_1 BuiltIn FragCoord
|
||||
OpDecorate %view_position_1 Location 0
|
||||
OpDecorate %normal_1 Location 1
|
||||
OpDecorate %uv_1 Location 2
|
||||
OpDecorate %color_1 Location 3
|
||||
OpDecorate %color_2 Location 0
|
||||
OpDecorate %Uniforms Block
|
||||
OpMemberDecorate %Uniforms 0 Offset 0
|
||||
OpMemberDecorate %Uniforms 0 ColMajor
|
||||
|
@ -66,12 +72,6 @@
|
|||
OpDecorate %mySampler DescriptorSet 0
|
||||
OpDecorate %myTexture Binding 3
|
||||
OpDecorate %myTexture DescriptorSet 0
|
||||
OpDecorate %tint_symbol BuiltIn FragCoord
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_2 Location 1
|
||||
OpDecorate %tint_symbol_3 Location 2
|
||||
OpDecorate %tint_symbol_4 Location 3
|
||||
OpDecorate %tint_symbol_7 Location 0
|
||||
OpMemberDecorate %FragmentInput 0 Offset 0
|
||||
OpMemberDecorate %FragmentInput 1 Offset 16
|
||||
OpMemberDecorate %FragmentInput 2 Offset 32
|
||||
|
@ -80,6 +80,17 @@
|
|||
OpMemberDecorate %FragmentOutput 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%position_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%view_position_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%normal_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%uv_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%color_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%13 = OpConstantNull %v4float
|
||||
%color_2 = OpVariable %_ptr_Output_v4float Output %13
|
||||
%mat4v4float = OpTypeMatrix %v4float 4
|
||||
%uint = OpTypeInt 32 0
|
||||
%Uniforms = OpTypeStruct %mat4v4float %mat4v4float %uint %uint %v4float
|
||||
|
@ -90,23 +101,12 @@
|
|||
%PointLights = OpTypeStruct %_runtimearr_PointLight
|
||||
%_ptr_StorageBuffer_PointLights = OpTypePointer StorageBuffer %PointLights
|
||||
%pointLights = OpVariable %_ptr_StorageBuffer_PointLights StorageBuffer
|
||||
%15 = OpTypeSampler
|
||||
%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
|
||||
%mySampler = OpVariable %_ptr_UniformConstant_15 UniformConstant
|
||||
%18 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_18 = OpTypePointer UniformConstant %18
|
||||
%myTexture = OpVariable %_ptr_UniformConstant_18 UniformConstant
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v4float Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_v4float Input
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v2float Input
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%29 = OpConstantNull %v4float
|
||||
%tint_symbol_7 = OpVariable %_ptr_Output_v4float Output %29
|
||||
%26 = OpTypeSampler
|
||||
%_ptr_UniformConstant_26 = OpTypePointer UniformConstant %26
|
||||
%mySampler = OpVariable %_ptr_UniformConstant_26 UniformConstant
|
||||
%29 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_29 = OpTypePointer UniformConstant %29
|
||||
%myTexture = OpVariable %_ptr_UniformConstant_29 UniformConstant
|
||||
%FragmentInput = OpTypeStruct %v4float %v4float %v4float %v2float %v4float
|
||||
%30 = OpTypeFunction %v4float %FragmentInput
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
|
@ -120,19 +120,19 @@
|
|||
%uint_2 = OpConstant %uint 2
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
|
||||
%78 = OpTypeSampledImage %18
|
||||
%void = OpTypeVoid
|
||||
%78 = OpTypeSampledImage %29
|
||||
%FragmentOutput = OpTypeStruct %v4float
|
||||
%82 = OpTypeFunction %void %FragmentOutput
|
||||
%89 = OpTypeFunction %void
|
||||
%82 = OpTypeFunction %FragmentOutput %FragmentInput
|
||||
%_ptr_Function_FragmentOutput = OpTypePointer Function %FragmentOutput
|
||||
%100 = OpConstantNull %FragmentOutput
|
||||
%89 = OpConstantNull %FragmentOutput
|
||||
%float_0 = OpConstant %float 0
|
||||
%103 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
|
||||
%92 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
|
||||
%void = OpTypeVoid
|
||||
%103 = OpTypeFunction %void
|
||||
%getColor = OpFunction %v4float None %30
|
||||
%fragment = OpFunctionParameter %FragmentInput
|
||||
%34 = OpLabel
|
||||
%color = OpVariable %_ptr_Function_v4float Function %29
|
||||
%color = OpVariable %_ptr_Function_v4float Function %13
|
||||
%39 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_3
|
||||
%40 = OpLoad %uint %39
|
||||
%42 = OpIEqual %bool %40 %uint_0
|
||||
|
@ -172,8 +172,8 @@
|
|||
OpSelectionMerge %73 None
|
||||
OpBranchConditional %72 %74 %73
|
||||
%74 = OpLabel
|
||||
%76 = OpLoad %15 %mySampler
|
||||
%77 = OpLoad %18 %myTexture
|
||||
%76 = OpLoad %26 %mySampler
|
||||
%77 = OpLoad %29 %myTexture
|
||||
%79 = OpSampledImage %78 %77 %76
|
||||
%80 = OpCompositeExtract %v2float %fragment 3
|
||||
%75 = OpImageSampleImplicitLod %v4float %79 %80
|
||||
|
@ -189,29 +189,29 @@
|
|||
%81 = OpLoad %v4float %color
|
||||
OpReturnValue %81
|
||||
OpFunctionEnd
|
||||
%tint_symbol_8 = OpFunction %void None %82
|
||||
%tint_symbol_6 = OpFunctionParameter %FragmentOutput
|
||||
%87 = OpLabel
|
||||
%88 = OpCompositeExtract %v4float %tint_symbol_6 0
|
||||
OpStore %tint_symbol_7 %88
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %89
|
||||
%91 = OpLabel
|
||||
%output = OpVariable %_ptr_Function_FragmentOutput Function %100
|
||||
%92 = OpLoad %v4float %tint_symbol
|
||||
%93 = OpLoad %v4float %tint_symbol_1
|
||||
%94 = OpLoad %v4float %tint_symbol_2
|
||||
%95 = OpLoad %v2float %tint_symbol_3
|
||||
%96 = OpLoad %v4float %tint_symbol_4
|
||||
%97 = OpCompositeConstruct %FragmentInput %92 %93 %94 %95 %96
|
||||
%101 = OpAccessChain %_ptr_Function_v4float %output %uint_0
|
||||
OpStore %101 %103
|
||||
%105 = OpLoad %Uniforms %uniforms
|
||||
%107 = OpLoad %15 %mySampler
|
||||
%109 = OpLoad %18 %myTexture
|
||||
%111 = OpLoad %PointLights %pointLights
|
||||
%113 = OpLoad %FragmentOutput %output
|
||||
%112 = OpFunctionCall %void %tint_symbol_8 %113
|
||||
%main_inner = OpFunction %FragmentOutput None %82
|
||||
%fragment_0 = OpFunctionParameter %FragmentInput
|
||||
%86 = OpLabel
|
||||
%output = OpVariable %_ptr_Function_FragmentOutput Function %89
|
||||
%90 = OpAccessChain %_ptr_Function_v4float %output %uint_0
|
||||
OpStore %90 %92
|
||||
%95 = OpLoad %Uniforms %uniforms
|
||||
%97 = OpLoad %26 %mySampler
|
||||
%99 = OpLoad %29 %myTexture
|
||||
%101 = OpLoad %PointLights %pointLights
|
||||
%102 = OpLoad %FragmentOutput %output
|
||||
OpReturnValue %102
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %103
|
||||
%105 = OpLabel
|
||||
%107 = OpLoad %v4float %position_1
|
||||
%108 = OpLoad %v4float %view_position_1
|
||||
%109 = OpLoad %v4float %normal_1
|
||||
%110 = OpLoad %v2float %uv_1
|
||||
%111 = OpLoad %v4float %color_1
|
||||
%112 = OpCompositeConstruct %FragmentInput %107 %108 %109 %110 %111
|
||||
%106 = OpFunctionCall %FragmentOutput %main_inner %112
|
||||
%113 = OpCompositeExtract %v4float %106 0
|
||||
OpStore %color_2 %113
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -5,78 +5,79 @@
|
|||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_5 %tint_symbol_6 %tint_symbol_3
|
||||
OpEntryPoint Fragment %main "main" %a_1 %mask_1 %b_1 %a_2 %mask_2
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %a_1 "a_1"
|
||||
OpName %mask_1 "mask_1"
|
||||
OpName %b_1 "b_1"
|
||||
OpName %a_2 "a_2"
|
||||
OpName %mask_2 "mask_2"
|
||||
OpName %FragIn "FragIn"
|
||||
OpMemberName %FragIn 0 "a"
|
||||
OpMemberName %FragIn 1 "mask"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %in "in"
|
||||
OpName %b "b"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %a_1 Location 0
|
||||
OpDecorate %_arr_uint_uint_1 ArrayStride 4
|
||||
OpDecorate %tint_symbol_1 BuiltIn SampleMask
|
||||
OpDecorate %tint_symbol_3 Location 1
|
||||
OpDecorate %tint_symbol_5 Location 0
|
||||
OpDecorate %tint_symbol_6 BuiltIn SampleMask
|
||||
OpDecorate %mask_1 BuiltIn SampleMask
|
||||
OpDecorate %b_1 Location 1
|
||||
OpDecorate %a_2 Location 0
|
||||
OpDecorate %mask_2 BuiltIn SampleMask
|
||||
OpMemberDecorate %FragIn 0 Offset 0
|
||||
OpMemberDecorate %FragIn 1 Offset 4
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol = OpVariable %_ptr_Input_float Input
|
||||
%a_1 = OpVariable %_ptr_Input_float Input
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
|
||||
%_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_float Input
|
||||
%mask_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
|
||||
%b_1 = OpVariable %_ptr_Input_float Input
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%12 = OpConstantNull %float
|
||||
%tint_symbol_5 = OpVariable %_ptr_Output_float Output %12
|
||||
%a_2 = OpVariable %_ptr_Output_float Output %12
|
||||
%_ptr_Output__arr_uint_uint_1 = OpTypePointer Output %_arr_uint_uint_1
|
||||
%15 = OpConstantNull %_arr_uint_uint_1
|
||||
%tint_symbol_6 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %15
|
||||
%void = OpTypeVoid
|
||||
%mask_2 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %15
|
||||
%FragIn = OpTypeStruct %float %uint
|
||||
%16 = OpTypeFunction %void %FragIn
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%28 = OpTypeFunction %void
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%16 = OpTypeFunction %FragIn %FragIn %float
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%bool = OpTypeBool
|
||||
%tint_symbol_7 = OpFunction %void None %16
|
||||
%tint_symbol_4 = OpFunctionParameter %FragIn
|
||||
%void = OpTypeVoid
|
||||
%29 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%_ptr_Output_uint = OpTypePointer Output %uint
|
||||
%main_inner = OpFunction %FragIn None %16
|
||||
%in = OpFunctionParameter %FragIn
|
||||
%b = OpFunctionParameter %float
|
||||
%21 = OpLabel
|
||||
%22 = OpCompositeExtract %float %tint_symbol_4 0
|
||||
OpStore %tint_symbol_5 %22
|
||||
%26 = OpAccessChain %_ptr_Output_uint %tint_symbol_6 %int_0
|
||||
%27 = OpCompositeExtract %uint %tint_symbol_4 1
|
||||
OpStore %26 %27
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %28
|
||||
%30 = OpLabel
|
||||
%31 = OpLoad %float %tint_symbol
|
||||
%33 = OpAccessChain %_ptr_Input_uint %tint_symbol_1 %int_0
|
||||
%34 = OpLoad %uint %33
|
||||
%35 = OpCompositeConstruct %FragIn %31 %34
|
||||
%36 = OpCompositeExtract %uint %35 1
|
||||
%38 = OpIEqual %bool %36 %uint_0
|
||||
OpSelectionMerge %40 None
|
||||
OpBranchConditional %38 %41 %40
|
||||
%41 = OpLabel
|
||||
%42 = OpFunctionCall %void %tint_symbol_7 %35
|
||||
OpReturn
|
||||
%40 = OpLabel
|
||||
%44 = OpLoad %float %tint_symbol_3
|
||||
%45 = OpCompositeConstruct %FragIn %44 %uint_1
|
||||
%43 = OpFunctionCall %void %tint_symbol_7 %45
|
||||
%22 = OpCompositeExtract %uint %in 1
|
||||
%24 = OpIEqual %bool %22 %uint_0
|
||||
OpSelectionMerge %26 None
|
||||
OpBranchConditional %24 %27 %26
|
||||
%27 = OpLabel
|
||||
OpReturnValue %in
|
||||
%26 = OpLabel
|
||||
%28 = OpCompositeConstruct %FragIn %b %uint_1
|
||||
OpReturnValue %28
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %29
|
||||
%32 = OpLabel
|
||||
%34 = OpLoad %float %a_1
|
||||
%38 = OpAccessChain %_ptr_Input_uint %mask_1 %int_0
|
||||
%39 = OpLoad %uint %38
|
||||
%40 = OpCompositeConstruct %FragIn %34 %39
|
||||
%41 = OpLoad %float %b_1
|
||||
%33 = OpFunctionCall %FragIn %main_inner %40 %41
|
||||
%42 = OpCompositeExtract %float %33 0
|
||||
OpStore %a_2 %42
|
||||
%44 = OpAccessChain %_ptr_Output_uint %mask_2 %int_0
|
||||
%45 = OpCompositeExtract %uint %33 1
|
||||
OpStore %44 %45
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,53 +1,51 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 29
|
||||
; Bound: 28
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol_1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main "main"
|
||||
OpEntryPoint Vertex %main "main" %value %vertex_point_size
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %light "light"
|
||||
OpName %negative_light "negative_light"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpName %main "main"
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void %v4float
|
||||
%14 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%9 = OpTypeFunction %v4float
|
||||
%v3float = OpTypeVector %float 3
|
||||
%float_1_20000005 = OpConstant %float 1.20000005
|
||||
%float_1 = OpConstant %float 1
|
||||
%float_2 = OpConstant %float 2
|
||||
%21 = OpConstantComposite %v3float %float_1_20000005 %float_1 %float_2
|
||||
%16 = OpConstantComposite %v3float %float_1_20000005 %float_1 %float_2
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%24 = OpConstantNull %v3float
|
||||
%tint_symbol_2 = OpFunction %void None %9
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%13 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %14
|
||||
%16 = OpLabel
|
||||
%light = OpVariable %_ptr_Function_v3float Function %24
|
||||
%negative_light = OpVariable %_ptr_Function_v3float Function %24
|
||||
OpStore %tint_pointsize %float_1
|
||||
OpStore %light %21
|
||||
%26 = OpLoad %v3float %light
|
||||
%25 = OpFNegate %v3float %26
|
||||
OpStore %negative_light %25
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%19 = OpConstantNull %v3float
|
||||
%void = OpTypeVoid
|
||||
%23 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %v4float None %9
|
||||
%11 = OpLabel
|
||||
%light = OpVariable %_ptr_Function_v3float Function %19
|
||||
%negative_light = OpVariable %_ptr_Function_v3float Function %19
|
||||
OpStore %light %16
|
||||
%21 = OpLoad %v3float %light
|
||||
%20 = OpFNegate %v3float %21
|
||||
OpStore %negative_light %20
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %23
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %v4float %main_inner
|
||||
OpStore %value %27
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -5,21 +5,23 @@
|
|||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol %tint_symbol_2
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpEntryPoint Vertex %main "main" %gl_VertexIndex_1 %value %vertex_point_size
|
||||
OpName %gl_VertexIndex_1 "gl_VertexIndex_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %vertexUniformBuffer1 "vertexUniformBuffer1"
|
||||
OpMemberName %vertexUniformBuffer1 0 "transform1"
|
||||
OpName %x_20 "x_20"
|
||||
OpName %vertexUniformBuffer2 "vertexUniformBuffer2"
|
||||
OpMemberName %vertexUniformBuffer2 0 "transform2"
|
||||
OpName %x_26 "x_26"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %gl_VertexIndex "gl_VertexIndex"
|
||||
OpName %indexable "indexable"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpName %main "main"
|
||||
OpDecorate %gl_VertexIndex_1 BuiltIn VertexIndex
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %vertexUniformBuffer1 Block
|
||||
OpMemberDecorate %vertexUniformBuffer1 0 Offset 0
|
||||
OpMemberDecorate %vertexUniformBuffer1 0 ColMajor
|
||||
|
@ -34,13 +36,18 @@
|
|||
OpDecorate %x_26 NonWritable
|
||||
OpDecorate %x_26 DescriptorSet 1
|
||||
OpDecorate %x_26 Binding 0
|
||||
OpDecorate %tint_symbol BuiltIn VertexIndex
|
||||
OpDecorate %tint_symbol_2 BuiltIn Position
|
||||
OpDecorate %_arr_v2float_uint_3 ArrayStride 8
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%gl_VertexIndex_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %8
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%11 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %11
|
||||
%v2float = OpTypeVector %float 2
|
||||
%mat2v2float = OpTypeMatrix %v2float 2
|
||||
%vertexUniformBuffer1 = OpTypeStruct %mat2v2float
|
||||
|
@ -49,60 +56,53 @@
|
|||
%vertexUniformBuffer2 = OpTypeStruct %mat2v2float
|
||||
%_ptr_Uniform_vertexUniformBuffer2 = OpTypePointer Uniform %vertexUniformBuffer2
|
||||
%x_26 = OpVariable %_ptr_Uniform_vertexUniformBuffer2 Uniform
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%19 = OpConstantNull %v4float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_v4float Output %19
|
||||
%void = OpTypeVoid
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%25 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%20 = OpTypeFunction %v4float %uint
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%_arr_v2float_uint_3 = OpTypeArray %v2float %uint_3
|
||||
%_ptr_Function__arr_v2float_uint_3 = OpTypePointer Function %_arr_v2float_uint_3
|
||||
%33 = OpConstantNull %_arr_v2float_uint_3
|
||||
%28 = OpConstantNull %_arr_v2float_uint_3
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Uniform_mat2v2float = OpTypePointer Uniform %mat2v2float
|
||||
%float_n1 = OpConstant %float -1
|
||||
%42 = OpConstantComposite %v2float %float_n1 %float_1
|
||||
%43 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%44 = OpConstantComposite %v2float %float_n1 %float_n1
|
||||
%45 = OpConstantComposite %_arr_v2float_uint_3 %42 %43 %44
|
||||
%float_1 = OpConstant %float 1
|
||||
%37 = OpConstantComposite %v2float %float_n1 %float_1
|
||||
%38 = OpConstantComposite %v2float %float_1 %float_1
|
||||
%39 = OpConstantComposite %v2float %float_n1 %float_n1
|
||||
%40 = OpConstantComposite %_arr_v2float_uint_3 %37 %38 %39
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%float_0 = OpConstant %float 0
|
||||
%tint_symbol_3 = OpFunction %void None %20
|
||||
%tint_symbol_1 = OpFunctionParameter %v4float
|
||||
%24 = OpLabel
|
||||
OpStore %tint_symbol_2 %tint_symbol_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %25
|
||||
%27 = OpLabel
|
||||
%indexable = OpVariable %_ptr_Function__arr_v2float_uint_3 Function %33
|
||||
OpStore %tint_pointsize %float_1
|
||||
%36 = OpAccessChain %_ptr_Uniform_mat2v2float %x_20 %uint_0
|
||||
%37 = OpLoad %mat2v2float %36
|
||||
%38 = OpAccessChain %_ptr_Uniform_mat2v2float %x_26 %uint_0
|
||||
%39 = OpLoad %mat2v2float %38
|
||||
%40 = OpLoad %uint %tint_symbol
|
||||
OpStore %indexable %45
|
||||
%47 = OpAccessChain %_ptr_Function_v2float %indexable %40
|
||||
%48 = OpLoad %v2float %47
|
||||
%49 = OpCompositeExtract %v2float %37 0
|
||||
%50 = OpCompositeExtract %v2float %39 0
|
||||
%51 = OpFAdd %v2float %49 %50
|
||||
%53 = OpCompositeExtract %v2float %37 1
|
||||
%54 = OpCompositeExtract %v2float %39 1
|
||||
%55 = OpFAdd %v2float %53 %54
|
||||
%56 = OpCompositeConstruct %mat2v2float %51 %55
|
||||
%57 = OpMatrixTimesVector %v2float %56 %48
|
||||
%59 = OpCompositeExtract %float %57 0
|
||||
%60 = OpCompositeExtract %float %57 1
|
||||
%62 = OpCompositeConstruct %v4float %59 %60 %float_0 %float_1
|
||||
%58 = OpFunctionCall %void %tint_symbol_3 %62
|
||||
%void = OpTypeVoid
|
||||
%57 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %v4float None %20
|
||||
%gl_VertexIndex = OpFunctionParameter %uint
|
||||
%23 = OpLabel
|
||||
%indexable = OpVariable %_ptr_Function__arr_v2float_uint_3 Function %28
|
||||
%31 = OpAccessChain %_ptr_Uniform_mat2v2float %x_20 %uint_0
|
||||
%32 = OpLoad %mat2v2float %31
|
||||
%33 = OpAccessChain %_ptr_Uniform_mat2v2float %x_26 %uint_0
|
||||
%34 = OpLoad %mat2v2float %33
|
||||
OpStore %indexable %40
|
||||
%42 = OpAccessChain %_ptr_Function_v2float %indexable %gl_VertexIndex
|
||||
%43 = OpLoad %v2float %42
|
||||
%44 = OpCompositeExtract %v2float %32 0
|
||||
%45 = OpCompositeExtract %v2float %34 0
|
||||
%46 = OpFAdd %v2float %44 %45
|
||||
%48 = OpCompositeExtract %v2float %32 1
|
||||
%49 = OpCompositeExtract %v2float %34 1
|
||||
%50 = OpFAdd %v2float %48 %49
|
||||
%51 = OpCompositeConstruct %mat2v2float %46 %50
|
||||
%52 = OpMatrixTimesVector %v2float %51 %43
|
||||
%53 = OpCompositeExtract %float %52 0
|
||||
%54 = OpCompositeExtract %float %52 1
|
||||
%56 = OpCompositeConstruct %v4float %53 %54 %float_0 %float_1
|
||||
OpReturnValue %56
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %57
|
||||
%60 = OpLabel
|
||||
%62 = OpLoad %uint %gl_VertexIndex_1
|
||||
%61 = OpFunctionCall %v4float %main_inner %62
|
||||
OpStore %value %61
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 135
|
||||
; Bound: 137
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability ImageQuery
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %GlobalInvocationID_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %GlobalInvocationID_1 "GlobalInvocationID_1"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %OutputBuf "OutputBuf"
|
||||
|
@ -19,10 +20,10 @@
|
|||
OpMemberName %Uniforms 2 "isRGB10A2Unorm"
|
||||
OpMemberName %Uniforms 3 "channelCount"
|
||||
OpName %uniforms "uniforms"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %ConvertToFp16FloatValue "ConvertToFp16FloatValue"
|
||||
OpName %fp32 "fp32"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %GlobalInvocationID "GlobalInvocationID"
|
||||
OpName %size "size"
|
||||
OpName %dstTexCoord "dstTexCoord"
|
||||
OpName %srcTexCoord "srcTexCoord"
|
||||
|
@ -33,6 +34,8 @@
|
|||
OpName %dstColorBits "dstColorBits"
|
||||
OpName %i "i"
|
||||
OpName %outputIndex "outputIndex"
|
||||
OpName %main "main"
|
||||
OpDecorate %GlobalInvocationID_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %src DescriptorSet 0
|
||||
OpDecorate %src Binding 0
|
||||
OpDecorate %dst DescriptorSet 0
|
||||
|
@ -50,13 +53,15 @@
|
|||
OpDecorate %uniforms NonWritable
|
||||
OpDecorate %uniforms DescriptorSet 0
|
||||
OpDecorate %uniforms Binding 3
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%float = OpTypeFloat 32
|
||||
%3 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
|
||||
%src = OpVariable %_ptr_UniformConstant_3 UniformConstant
|
||||
%dst = OpVariable %_ptr_UniformConstant_3 UniformConstant
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%GlobalInvocationID_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%7 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
|
||||
%src = OpVariable %_ptr_UniformConstant_7 UniformConstant
|
||||
%dst = OpVariable %_ptr_UniformConstant_7 UniformConstant
|
||||
%_runtimearr_uint = OpTypeRuntimeArray %uint
|
||||
%OutputBuf = OpTypeStruct %_runtimearr_uint
|
||||
%_ptr_StorageBuffer_OutputBuf = OpTypePointer StorageBuffer %OutputBuf
|
||||
|
@ -64,18 +69,15 @@
|
|||
%Uniforms = OpTypeStruct %uint %uint %uint %uint
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%uniforms = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%17 = OpTypeFunction %uint %float
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%void = OpTypeVoid
|
||||
%22 = OpTypeFunction %void
|
||||
%22 = OpTypeFunction %void %v3uint
|
||||
%int = OpTypeInt 32 1
|
||||
%v2int = OpTypeVector %int 2
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
||||
%33 = OpConstantNull %v2int
|
||||
%34 = OpConstantNull %v2int
|
||||
%v2uint = OpTypeVector %uint 2
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
|
||||
|
@ -95,18 +97,19 @@
|
|||
%82 = OpConstantNull %uint
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
|
||||
%132 = OpTypeFunction %void
|
||||
%ConvertToFp16FloatValue = OpFunction %uint None %17
|
||||
%fp32 = OpFunctionParameter %float
|
||||
%20 = OpLabel
|
||||
OpReturnValue %uint_1
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %22
|
||||
%25 = OpLabel
|
||||
%size = OpVariable %_ptr_Function_v2int Function %33
|
||||
%dstTexCoord = OpVariable %_ptr_Function_v2int Function %33
|
||||
%srcTexCoord = OpVariable %_ptr_Function_v2int Function %33
|
||||
%main_inner = OpFunction %void None %22
|
||||
%GlobalInvocationID = OpFunctionParameter %v3uint
|
||||
%26 = OpLabel
|
||||
%size = OpVariable %_ptr_Function_v2int Function %34
|
||||
%dstTexCoord = OpVariable %_ptr_Function_v2int Function %34
|
||||
%srcTexCoord = OpVariable %_ptr_Function_v2int Function %34
|
||||
%srcColor = OpVariable %_ptr_Function_v4float Function %64
|
||||
%dstColor = OpVariable %_ptr_Function_v4float Function %64
|
||||
%success = OpVariable %_ptr_Function_bool Function %72
|
||||
|
@ -114,13 +117,12 @@
|
|||
%dstColorBits = OpVariable %_ptr_Function_v4uint Function %76
|
||||
%i = OpVariable %_ptr_Function_uint Function %82
|
||||
%outputIndex = OpVariable %_ptr_Function_uint Function %82
|
||||
%29 = OpLoad %3 %src
|
||||
%26 = OpImageQuerySizeLod %v2int %29 %int_0
|
||||
OpStore %size %26
|
||||
%36 = OpLoad %v3uint %tint_symbol
|
||||
%37 = OpVectorShuffle %v2uint %36 %36 0 1
|
||||
%34 = OpBitcast %v2int %37
|
||||
OpStore %dstTexCoord %34
|
||||
%30 = OpLoad %7 %src
|
||||
%27 = OpImageQuerySizeLod %v2int %30 %int_0
|
||||
OpStore %size %27
|
||||
%37 = OpVectorShuffle %v2uint %GlobalInvocationID %GlobalInvocationID 0 1
|
||||
%35 = OpBitcast %v2int %37
|
||||
OpStore %dstTexCoord %35
|
||||
%39 = OpLoad %v2int %dstTexCoord
|
||||
OpStore %srcTexCoord %39
|
||||
%43 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_0
|
||||
|
@ -139,11 +141,11 @@
|
|||
OpStore %50 %57
|
||||
OpBranch %47
|
||||
%47 = OpLabel
|
||||
%60 = OpLoad %3 %src
|
||||
%60 = OpLoad %7 %src
|
||||
%61 = OpLoad %v2int %srcTexCoord
|
||||
%58 = OpImageFetch %v4float %60 %61 Lod %int_0
|
||||
OpStore %srcColor %58
|
||||
%66 = OpLoad %3 %dst
|
||||
%66 = OpLoad %7 %dst
|
||||
%67 = OpLoad %v2int %dstTexCoord
|
||||
%65 = OpImageFetch %v4float %66 %67 Lod %int_0
|
||||
OpStore %dstColor %65
|
||||
|
@ -196,29 +198,33 @@
|
|||
OpStore %i %114
|
||||
OpBranch %83
|
||||
%84 = OpLabel
|
||||
%116 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%117 = OpLoad %uint %116
|
||||
%119 = OpAccessChain %_ptr_Function_int %size %uint_0
|
||||
%120 = OpLoad %int %119
|
||||
%118 = OpBitcast %uint %120
|
||||
%121 = OpIMul %uint %117 %118
|
||||
%122 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%123 = OpLoad %uint %122
|
||||
%124 = OpIAdd %uint %121 %123
|
||||
OpStore %outputIndex %124
|
||||
%126 = OpLoad %bool %success
|
||||
OpSelectionMerge %127 None
|
||||
OpBranchConditional %126 %128 %129
|
||||
%128 = OpLabel
|
||||
%115 = OpCompositeExtract %uint %GlobalInvocationID 1
|
||||
%117 = OpAccessChain %_ptr_Function_int %size %uint_0
|
||||
%118 = OpLoad %int %117
|
||||
%116 = OpBitcast %uint %118
|
||||
%119 = OpIMul %uint %115 %116
|
||||
%120 = OpCompositeExtract %uint %GlobalInvocationID 0
|
||||
%121 = OpIAdd %uint %119 %120
|
||||
OpStore %outputIndex %121
|
||||
%123 = OpLoad %bool %success
|
||||
OpSelectionMerge %124 None
|
||||
OpBranchConditional %123 %125 %126
|
||||
%125 = OpLabel
|
||||
%127 = OpLoad %uint %outputIndex
|
||||
%129 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %127
|
||||
OpStore %129 %uint_1
|
||||
OpBranch %124
|
||||
%126 = OpLabel
|
||||
%130 = OpLoad %uint %outputIndex
|
||||
%132 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %130
|
||||
OpStore %132 %uint_1
|
||||
OpBranch %127
|
||||
%129 = OpLabel
|
||||
%133 = OpLoad %uint %outputIndex
|
||||
%134 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %133
|
||||
OpStore %134 %uint_0
|
||||
OpBranch %127
|
||||
%127 = OpLabel
|
||||
%131 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %130
|
||||
OpStore %131 %uint_0
|
||||
OpBranch %124
|
||||
%124 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %132
|
||||
%134 = OpLabel
|
||||
%136 = OpLoad %v3uint %GlobalInvocationID_1
|
||||
%135 = OpFunctionCall %void %main_inner %136
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 71
|
||||
; Bound: 74
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %global_id_1
|
||||
OpExecutionMode %main LocalSize 2 2 1
|
||||
OpName %global_id_1 "global_id_1"
|
||||
OpName %Matrix "Matrix"
|
||||
OpMemberName %Matrix 0 "numbers"
|
||||
OpName %firstMatrix "firstMatrix"
|
||||
|
@ -17,10 +18,12 @@
|
|||
OpMemberName %Uniforms 1 "bShape"
|
||||
OpMemberName %Uniforms 2 "outShape"
|
||||
OpName %uniforms "uniforms"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %global_id "global_id"
|
||||
OpName %result "result"
|
||||
OpName %i "i"
|
||||
OpName %main "main"
|
||||
OpDecorate %global_id_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %Matrix Block
|
||||
OpMemberDecorate %Matrix 0 Offset 0
|
||||
OpDecorate %_runtimearr_uint ArrayStride 4
|
||||
|
@ -40,8 +43,10 @@
|
|||
OpDecorate %uniforms NonWritable
|
||||
OpDecorate %uniforms DescriptorSet 0
|
||||
OpDecorate %uniforms Binding 3
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%global_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_runtimearr_uint = OpTypeRuntimeArray %uint
|
||||
%Matrix = OpTypeStruct %_runtimearr_uint
|
||||
%_ptr_StorageBuffer_Matrix = OpTypePointer StorageBuffer %Matrix
|
||||
|
@ -52,77 +57,79 @@
|
|||
%Uniforms = OpTypeStruct %v2uint %v2uint %v2uint
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%uniforms = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%void = OpTypeVoid
|
||||
%15 = OpTypeFunction %void
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%15 = OpTypeFunction %void %v3uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%35 = OpConstantNull %uint
|
||||
%33 = OpConstantNull %uint
|
||||
%bool = OpTypeBool
|
||||
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
|
||||
%main = OpFunction %void None %15
|
||||
%18 = OpLabel
|
||||
%result = OpVariable %_ptr_Function_uint Function %35
|
||||
%i = OpVariable %_ptr_Function_uint Function %35
|
||||
%21 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%22 = OpLoad %uint %21
|
||||
%24 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%25 = OpLoad %uint %24
|
||||
%26 = OpCompositeConstruct %v2uint %22 %25
|
||||
%28 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_0 %uint_1
|
||||
%29 = OpLoad %uint %28
|
||||
%31 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_2 %uint_1
|
||||
%32 = OpLoad %uint %31
|
||||
%69 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %15
|
||||
%global_id = OpFunctionParameter %v3uint
|
||||
%19 = OpLabel
|
||||
%result = OpVariable %_ptr_Function_uint Function %33
|
||||
%i = OpVariable %_ptr_Function_uint Function %33
|
||||
%20 = OpCompositeExtract %uint %global_id 1
|
||||
%21 = OpCompositeExtract %uint %global_id 0
|
||||
%22 = OpCompositeConstruct %v2uint %20 %21
|
||||
%26 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_0 %uint_1
|
||||
%27 = OpLoad %uint %26
|
||||
%29 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_2 %uint_1
|
||||
%30 = OpLoad %uint %29
|
||||
OpStore %result %uint_0
|
||||
OpStore %i %uint_0
|
||||
OpBranch %35
|
||||
%35 = OpLabel
|
||||
OpLoopMerge %36 %37 None
|
||||
OpBranch %38
|
||||
%38 = OpLabel
|
||||
%40 = OpLoad %uint %i
|
||||
%41 = OpULessThan %bool %40 %27
|
||||
%39 = OpLogicalNot %bool %41
|
||||
OpSelectionMerge %43 None
|
||||
OpBranchConditional %39 %44 %43
|
||||
%44 = OpLabel
|
||||
OpBranch %36
|
||||
%43 = OpLabel
|
||||
%45 = OpLoad %uint %i
|
||||
%46 = OpCompositeExtract %uint %22 0
|
||||
%47 = OpIMul %uint %46 %27
|
||||
%48 = OpIAdd %uint %45 %47
|
||||
%49 = OpCompositeExtract %uint %22 1
|
||||
%50 = OpLoad %uint %i
|
||||
%51 = OpIMul %uint %50 %30
|
||||
%52 = OpIAdd %uint %49 %51
|
||||
%53 = OpLoad %uint %result
|
||||
%55 = OpAccessChain %_ptr_StorageBuffer_uint %firstMatrix %uint_0 %48
|
||||
%56 = OpLoad %uint %55
|
||||
%57 = OpAccessChain %_ptr_StorageBuffer_uint %secondMatrix %uint_0 %52
|
||||
%58 = OpLoad %uint %57
|
||||
%59 = OpIMul %uint %56 %58
|
||||
%60 = OpIAdd %uint %53 %59
|
||||
OpStore %result %60
|
||||
OpBranch %37
|
||||
%37 = OpLabel
|
||||
OpLoopMerge %38 %39 None
|
||||
OpBranch %40
|
||||
%40 = OpLabel
|
||||
%42 = OpLoad %uint %i
|
||||
%43 = OpULessThan %bool %42 %29
|
||||
%41 = OpLogicalNot %bool %43
|
||||
OpSelectionMerge %45 None
|
||||
OpBranchConditional %41 %46 %45
|
||||
%46 = OpLabel
|
||||
OpBranch %38
|
||||
%45 = OpLabel
|
||||
%47 = OpLoad %uint %i
|
||||
%48 = OpCompositeExtract %uint %26 0
|
||||
%49 = OpIMul %uint %48 %29
|
||||
%50 = OpIAdd %uint %47 %49
|
||||
%51 = OpCompositeExtract %uint %26 1
|
||||
%52 = OpLoad %uint %i
|
||||
%53 = OpIMul %uint %52 %32
|
||||
%54 = OpIAdd %uint %51 %53
|
||||
%55 = OpLoad %uint %result
|
||||
%57 = OpAccessChain %_ptr_StorageBuffer_uint %firstMatrix %uint_0 %50
|
||||
%58 = OpLoad %uint %57
|
||||
%59 = OpAccessChain %_ptr_StorageBuffer_uint %secondMatrix %uint_0 %54
|
||||
%60 = OpLoad %uint %59
|
||||
%61 = OpIMul %uint %58 %60
|
||||
%62 = OpIAdd %uint %55 %61
|
||||
OpStore %result %62
|
||||
OpBranch %39
|
||||
%39 = OpLabel
|
||||
%63 = OpLoad %uint %i
|
||||
%64 = OpIAdd %uint %63 %uint_1
|
||||
OpStore %i %64
|
||||
OpBranch %37
|
||||
%38 = OpLabel
|
||||
%65 = OpCompositeExtract %uint %26 1
|
||||
%66 = OpCompositeExtract %uint %26 0
|
||||
%67 = OpIMul %uint %66 %32
|
||||
%68 = OpIAdd %uint %65 %67
|
||||
%69 = OpAccessChain %_ptr_StorageBuffer_uint %resultMatrix %uint_0 %68
|
||||
%70 = OpLoad %uint %result
|
||||
OpStore %69 %70
|
||||
%61 = OpLoad %uint %i
|
||||
%62 = OpIAdd %uint %61 %uint_1
|
||||
OpStore %i %62
|
||||
OpBranch %35
|
||||
%36 = OpLabel
|
||||
%63 = OpCompositeExtract %uint %22 1
|
||||
%64 = OpCompositeExtract %uint %22 0
|
||||
%65 = OpIMul %uint %64 %30
|
||||
%66 = OpIAdd %uint %63 %65
|
||||
%67 = OpAccessChain %_ptr_StorageBuffer_uint %resultMatrix %uint_0 %66
|
||||
%68 = OpLoad %uint %result
|
||||
OpStore %67 %68
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %69
|
||||
%71 = OpLabel
|
||||
%73 = OpLoad %v3uint %global_id_1
|
||||
%72 = OpFunctionCall %void %main_inner %73
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -6,8 +6,10 @@
|
|||
OpCapability Shader
|
||||
%1694 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
|
||||
OpEntryPoint Fragment %main "main" %gl_FragCoord_param_1 %x_GLF_color_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %gl_FragCoord_param_1 "gl_FragCoord_param_1"
|
||||
OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
|
||||
OpName %QuicksortObject "QuicksortObject"
|
||||
OpMemberName %QuicksortObject 0 "numbers"
|
||||
OpName %obj "obj"
|
||||
|
@ -16,8 +18,6 @@
|
|||
OpMemberName %buf0 0 "resolution"
|
||||
OpName %x_188 "x_188"
|
||||
OpName %x_GLF_color "x_GLF_color"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %swap_i1_i1_ "swap_i1_i1_"
|
||||
OpName %i "i"
|
||||
OpName %j "j"
|
||||
|
@ -48,9 +48,11 @@
|
|||
OpName %uv "uv"
|
||||
OpName %main_out "main_out"
|
||||
OpMemberName %main_out 0 "x_GLF_color_1"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %gl_FragCoord_param "gl_FragCoord_param"
|
||||
OpName %main "main"
|
||||
OpDecorate %gl_FragCoord_param_1 BuiltIn FragCoord
|
||||
OpDecorate %x_GLF_color_1_1 Location 0
|
||||
OpMemberDecorate %QuicksortObject 0 Offset 0
|
||||
OpDecorate %_arr_int_uint_10 ArrayStride 4
|
||||
OpDecorate %buf0 Block
|
||||
|
@ -58,31 +60,29 @@
|
|||
OpDecorate %x_188 NonWritable
|
||||
OpDecorate %x_188 DescriptorSet 0
|
||||
OpDecorate %x_188 Binding 0
|
||||
OpDecorate %tint_symbol BuiltIn FragCoord
|
||||
OpDecorate %tint_symbol_2 Location 0
|
||||
OpMemberDecorate %main_out 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%gl_FragCoord_param_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%7 = OpConstantNull %v4float
|
||||
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %7
|
||||
%int = OpTypeInt 32 1
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_10 = OpConstant %uint 10
|
||||
%_arr_int_uint_10 = OpTypeArray %int %uint_10
|
||||
%QuicksortObject = OpTypeStruct %_arr_int_uint_10
|
||||
%_ptr_Private_QuicksortObject = OpTypePointer Private %QuicksortObject
|
||||
%8 = OpConstantNull %QuicksortObject
|
||||
%obj = OpVariable %_ptr_Private_QuicksortObject Private %8
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%15 = OpConstantNull %QuicksortObject
|
||||
%obj = OpVariable %_ptr_Private_QuicksortObject Private %15
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%13 = OpConstantNull %v4float
|
||||
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %13
|
||||
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %7
|
||||
%v2float = OpTypeVector %float 2
|
||||
%buf0 = OpTypeStruct %v2float
|
||||
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
|
||||
%x_188 = OpVariable %_ptr_Uniform_buf0 Uniform
|
||||
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %13
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Output_v4float Output %13
|
||||
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %7
|
||||
%void = OpTypeVoid
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%23 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_int
|
||||
|
@ -129,7 +129,7 @@
|
|||
%int_8 = OpConstant %int 8
|
||||
%uint_9 = OpConstant %uint 9
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%1820 = OpTypeFunction %void %main_out
|
||||
%1820 = OpTypeFunction %main_out %v4float
|
||||
%swap_i1_i1_ = OpFunction %void None %23
|
||||
%i = OpFunctionParameter %_ptr_Function_int
|
||||
%j = OpFunctionParameter %_ptr_Function_int
|
||||
|
@ -2624,20 +2624,20 @@
|
|||
OpStore %1819 %1817
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_3 = OpFunction %void None %1820
|
||||
%tint_symbol_1 = OpFunctionParameter %main_out
|
||||
%main_inner = OpFunction %main_out None %1820
|
||||
%gl_FragCoord_param = OpFunctionParameter %v4float
|
||||
%1824 = OpLabel
|
||||
%1825 = OpCompositeExtract %v4float %tint_symbol_1 0
|
||||
OpStore %tint_symbol_2 %1825
|
||||
OpReturn
|
||||
OpStore %gl_FragCoord %gl_FragCoord_param
|
||||
%1825 = OpFunctionCall %void %main_1
|
||||
%1826 = OpLoad %v4float %x_GLF_color
|
||||
%1827 = OpCompositeConstruct %main_out %1826
|
||||
OpReturnValue %1827
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %419
|
||||
%1827 = OpLabel
|
||||
%1828 = OpLoad %v4float %tint_symbol
|
||||
OpStore %gl_FragCoord %1828
|
||||
%1829 = OpFunctionCall %void %main_1
|
||||
%1831 = OpLoad %v4float %x_GLF_color
|
||||
%1832 = OpCompositeConstruct %main_out %1831
|
||||
%1830 = OpFunctionCall %void %tint_symbol_3 %1832
|
||||
%1829 = OpLabel
|
||||
%1831 = OpLoad %v4float %gl_FragCoord_param_1
|
||||
%1830 = OpFunctionCall %main_out %main_inner %1831
|
||||
%1832 = OpCompositeExtract %v4float %1830 0
|
||||
OpStore %x_GLF_color_1_1 %1832
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 78
|
||||
; Bound: 79
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %GlobalInvocationID_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %GlobalInvocationID_1 "GlobalInvocationID_1"
|
||||
OpName %Constants "Constants"
|
||||
OpMemberName %Constants 0 "level"
|
||||
OpName %constants "constants"
|
||||
|
@ -14,11 +15,13 @@
|
|||
OpName %Result "Result"
|
||||
OpMemberName %Result 0 "values"
|
||||
OpName %result "result"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %GlobalInvocationID "GlobalInvocationID"
|
||||
OpName %flatIndex "flatIndex"
|
||||
OpName %texel "texel"
|
||||
OpName %i "i"
|
||||
OpName %main "main"
|
||||
OpDecorate %GlobalInvocationID_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %Constants Block
|
||||
OpMemberDecorate %Constants 0 Offset 0
|
||||
OpDecorate %constants NonWritable
|
||||
|
@ -31,97 +34,99 @@
|
|||
OpDecorate %_runtimearr_float ArrayStride 4
|
||||
OpDecorate %result DescriptorSet 0
|
||||
OpDecorate %result Binding 3
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%GlobalInvocationID_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%Constants = OpTypeStruct %int
|
||||
%_ptr_Uniform_Constants = OpTypePointer Uniform %Constants
|
||||
%constants = OpVariable %_ptr_Uniform_Constants Uniform
|
||||
%float = OpTypeFloat 32
|
||||
%7 = OpTypeImage %float 2D 0 1 0 1 Unknown
|
||||
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
|
||||
%myTexture = OpVariable %_ptr_UniformConstant_7 UniformConstant
|
||||
%11 = OpTypeImage %float 2D 0 1 0 1 Unknown
|
||||
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
|
||||
%myTexture = OpVariable %_ptr_UniformConstant_11 UniformConstant
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%Result = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_Result = OpTypePointer StorageBuffer %Result
|
||||
%result = OpVariable %_ptr_StorageBuffer_Result StorageBuffer
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%void = OpTypeVoid
|
||||
%17 = OpTypeFunction %void
|
||||
%17 = OpTypeFunction %void %v3uint
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%38 = OpConstantNull %uint
|
||||
%33 = OpConstantNull %uint
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%v4float = OpTypeVector %float 4
|
||||
%v3int = OpTypeVector %int 3
|
||||
%v2int = OpTypeVector %int 2
|
||||
%v2uint = OpTypeVector %uint 2
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%56 = OpConstantNull %v4float
|
||||
%51 = OpConstantNull %v4float
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%bool = OpTypeBool
|
||||
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%main = OpFunction %void None %17
|
||||
%20 = OpLabel
|
||||
%flatIndex = OpVariable %_ptr_Function_uint Function %38
|
||||
%texel = OpVariable %_ptr_Function_v4float Function %56
|
||||
%i = OpVariable %_ptr_Function_uint Function %38
|
||||
%22 = OpIMul %uint %uint_2 %uint_2
|
||||
%24 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_2
|
||||
%25 = OpLoad %uint %24
|
||||
%26 = OpIMul %uint %22 %25
|
||||
%28 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%29 = OpLoad %uint %28
|
||||
%30 = OpIMul %uint %uint_2 %29
|
||||
%31 = OpIAdd %uint %26 %30
|
||||
%33 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%34 = OpLoad %uint %33
|
||||
%35 = OpIAdd %uint %31 %34
|
||||
OpStore %flatIndex %35
|
||||
%39 = OpLoad %uint %flatIndex
|
||||
%40 = OpIMul %uint %39 %uint_1
|
||||
OpStore %flatIndex %40
|
||||
%43 = OpLoad %7 %myTexture
|
||||
%48 = OpLoad %v3uint %tint_symbol
|
||||
%49 = OpVectorShuffle %v2uint %48 %48 0 1
|
||||
%45 = OpBitcast %v2int %49
|
||||
%50 = OpCompositeExtract %int %45 0
|
||||
%51 = OpCompositeExtract %int %45 1
|
||||
%53 = OpCompositeConstruct %v3int %50 %51 %int_0
|
||||
%41 = OpImageFetch %v4float %43 %53 Lod %int_0
|
||||
OpStore %texel %41
|
||||
%74 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %17
|
||||
%GlobalInvocationID = OpFunctionParameter %v3uint
|
||||
%21 = OpLabel
|
||||
%flatIndex = OpVariable %_ptr_Function_uint Function %33
|
||||
%texel = OpVariable %_ptr_Function_v4float Function %51
|
||||
%i = OpVariable %_ptr_Function_uint Function %33
|
||||
%23 = OpIMul %uint %uint_2 %uint_2
|
||||
%24 = OpCompositeExtract %uint %GlobalInvocationID 2
|
||||
%25 = OpIMul %uint %23 %24
|
||||
%26 = OpCompositeExtract %uint %GlobalInvocationID 1
|
||||
%27 = OpIMul %uint %uint_2 %26
|
||||
%28 = OpIAdd %uint %25 %27
|
||||
%29 = OpCompositeExtract %uint %GlobalInvocationID 0
|
||||
%30 = OpIAdd %uint %28 %29
|
||||
OpStore %flatIndex %30
|
||||
%34 = OpLoad %uint %flatIndex
|
||||
%36 = OpIMul %uint %34 %uint_1
|
||||
OpStore %flatIndex %36
|
||||
%39 = OpLoad %11 %myTexture
|
||||
%44 = OpVectorShuffle %v2uint %GlobalInvocationID %GlobalInvocationID 0 1
|
||||
%41 = OpBitcast %v2int %44
|
||||
%45 = OpCompositeExtract %int %41 0
|
||||
%46 = OpCompositeExtract %int %41 1
|
||||
%48 = OpCompositeConstruct %v3int %45 %46 %int_0
|
||||
%37 = OpImageFetch %v4float %39 %48 Lod %int_0
|
||||
OpStore %texel %37
|
||||
OpStore %i %uint_0
|
||||
OpBranch %58
|
||||
%58 = OpLabel
|
||||
OpLoopMerge %59 %60 None
|
||||
OpBranch %61
|
||||
%61 = OpLabel
|
||||
%63 = OpLoad %uint %i
|
||||
%64 = OpULessThan %bool %63 %uint_1
|
||||
%62 = OpLogicalNot %bool %64
|
||||
OpSelectionMerge %66 None
|
||||
OpBranchConditional %62 %67 %66
|
||||
%67 = OpLabel
|
||||
OpBranch %59
|
||||
%66 = OpLabel
|
||||
%68 = OpLoad %uint %flatIndex
|
||||
%69 = OpLoad %uint %i
|
||||
%70 = OpIAdd %uint %68 %69
|
||||
%72 = OpAccessChain %_ptr_StorageBuffer_float %result %uint_0 %70
|
||||
%74 = OpAccessChain %_ptr_Function_float %texel %uint_0
|
||||
%75 = OpLoad %float %74
|
||||
OpStore %72 %75
|
||||
OpBranch %60
|
||||
%60 = OpLabel
|
||||
%76 = OpLoad %uint %i
|
||||
%77 = OpIAdd %uint %76 %uint_1
|
||||
OpStore %i %77
|
||||
OpBranch %58
|
||||
%59 = OpLabel
|
||||
OpBranch %54
|
||||
%54 = OpLabel
|
||||
OpLoopMerge %55 %56 None
|
||||
OpBranch %57
|
||||
%57 = OpLabel
|
||||
%59 = OpLoad %uint %i
|
||||
%60 = OpULessThan %bool %59 %uint_1
|
||||
%58 = OpLogicalNot %bool %60
|
||||
OpSelectionMerge %62 None
|
||||
OpBranchConditional %58 %63 %62
|
||||
%63 = OpLabel
|
||||
OpBranch %55
|
||||
%62 = OpLabel
|
||||
%64 = OpLoad %uint %flatIndex
|
||||
%65 = OpLoad %uint %i
|
||||
%66 = OpIAdd %uint %64 %65
|
||||
%68 = OpAccessChain %_ptr_StorageBuffer_float %result %uint_0 %66
|
||||
%70 = OpAccessChain %_ptr_Function_float %texel %uint_0
|
||||
%71 = OpLoad %float %70
|
||||
OpStore %68 %71
|
||||
OpBranch %56
|
||||
%56 = OpLabel
|
||||
%72 = OpLoad %uint %i
|
||||
%73 = OpIAdd %uint %72 %uint_1
|
||||
OpStore %i %73
|
||||
OpBranch %54
|
||||
%55 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %74
|
||||
%76 = OpLabel
|
||||
%78 = OpLoad %v3uint %GlobalInvocationID_1
|
||||
%77 = OpFunctionCall %void %main_inner %78
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,111 +1,113 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 70
|
||||
; Bound: 71
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol_1 %tint_symbol_3 %tint_symbol_4
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpEntryPoint Vertex %main "main" %VertexIndex_1 %InstanceIndex_1 %Position_1 %color_1 %vertex_point_size
|
||||
OpName %VertexIndex_1 "VertexIndex_1"
|
||||
OpName %InstanceIndex_1 "InstanceIndex_1"
|
||||
OpName %Position_1 "Position_1"
|
||||
OpName %color_1 "color_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %Output "Output"
|
||||
OpMemberName %Output 0 "Position"
|
||||
OpMemberName %Output 1 "color"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %VertexIndex "VertexIndex"
|
||||
OpName %InstanceIndex "InstanceIndex"
|
||||
OpName %zv "zv"
|
||||
OpName %output "output"
|
||||
OpName %colors "colors"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol BuiltIn VertexIndex
|
||||
OpDecorate %tint_symbol_1 BuiltIn InstanceIndex
|
||||
OpDecorate %tint_symbol_3 BuiltIn Position
|
||||
OpDecorate %tint_symbol_4 Location 0
|
||||
OpName %main "main"
|
||||
OpDecorate %VertexIndex_1 BuiltIn VertexIndex
|
||||
OpDecorate %InstanceIndex_1 BuiltIn InstanceIndex
|
||||
OpDecorate %Position_1 BuiltIn Position
|
||||
OpDecorate %color_1 Location 0
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpMemberDecorate %Output 0 Offset 0
|
||||
OpMemberDecorate %Output 1 Offset 16
|
||||
OpDecorate %_arr_v2float_uint_4 ArrayStride 8
|
||||
OpDecorate %_arr_v4float_uint_4 ArrayStride 16
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_uint Input
|
||||
%VertexIndex_1 = OpVariable %_ptr_Input_uint Input
|
||||
%InstanceIndex_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%12 = OpConstantNull %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_v4float Output %12
|
||||
%tint_symbol_4 = OpVariable %_ptr_Output_v4float Output %12
|
||||
%void = OpTypeVoid
|
||||
%9 = OpConstantNull %v4float
|
||||
%Position_1 = OpVariable %_ptr_Output_v4float Output %9
|
||||
%color_1 = OpVariable %_ptr_Output_v4float Output %9
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%13 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %13
|
||||
%Output = OpTypeStruct %v4float %v4float
|
||||
%14 = OpTypeFunction %void %Output
|
||||
%22 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%14 = OpTypeFunction %Output %uint %uint
|
||||
%v2float = OpTypeVector %float 2
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4
|
||||
%float_0_200000003 = OpConstant %float 0.200000003
|
||||
%30 = OpConstantComposite %v2float %float_0_200000003 %float_0_200000003
|
||||
%24 = OpConstantComposite %v2float %float_0_200000003 %float_0_200000003
|
||||
%float_0_300000012 = OpConstant %float 0.300000012
|
||||
%32 = OpConstantComposite %v2float %float_0_300000012 %float_0_300000012
|
||||
%26 = OpConstantComposite %v2float %float_0_300000012 %float_0_300000012
|
||||
%float_n0_100000001 = OpConstant %float -0.100000001
|
||||
%34 = OpConstantComposite %v2float %float_n0_100000001 %float_n0_100000001
|
||||
%28 = OpConstantComposite %v2float %float_n0_100000001 %float_n0_100000001
|
||||
%float_1_10000002 = OpConstant %float 1.10000002
|
||||
%36 = OpConstantComposite %v2float %float_1_10000002 %float_1_10000002
|
||||
%37 = OpConstantComposite %_arr_v2float_uint_4 %30 %32 %34 %36
|
||||
%30 = OpConstantComposite %v2float %float_1_10000002 %float_1_10000002
|
||||
%31 = OpConstantComposite %_arr_v2float_uint_4 %24 %26 %28 %30
|
||||
%_ptr_Function__arr_v2float_uint_4 = OpTypePointer Function %_arr_v2float_uint_4
|
||||
%40 = OpConstantNull %_arr_v2float_uint_4
|
||||
%34 = OpConstantNull %_arr_v2float_uint_4
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%_ptr_Function_Output = OpTypePointer Function %Output
|
||||
%48 = OpConstantNull %Output
|
||||
%41 = OpConstantNull %Output
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%float_1 = OpConstant %float 1
|
||||
%_arr_v4float_uint_4 = OpTypeArray %v4float %uint_4
|
||||
%float_0 = OpConstant %float 0
|
||||
%55 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
|
||||
%56 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
|
||||
%57 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1
|
||||
%58 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%59 = OpConstantComposite %_arr_v4float_uint_4 %55 %56 %57 %58
|
||||
%49 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
|
||||
%50 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
|
||||
%51 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1
|
||||
%52 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
||||
%53 = OpConstantComposite %_arr_v4float_uint_4 %49 %50 %51 %52
|
||||
%_ptr_Function__arr_v4float_uint_4 = OpTypePointer Function %_arr_v4float_uint_4
|
||||
%62 = OpConstantNull %_arr_v4float_uint_4
|
||||
%56 = OpConstantNull %_arr_v4float_uint_4
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%tint_symbol_5 = OpFunction %void None %14
|
||||
%tint_symbol_2 = OpFunctionParameter %Output
|
||||
%void = OpTypeVoid
|
||||
%62 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %Output None %14
|
||||
%VertexIndex = OpFunctionParameter %uint
|
||||
%InstanceIndex = OpFunctionParameter %uint
|
||||
%19 = OpLabel
|
||||
%20 = OpCompositeExtract %v4float %tint_symbol_2 0
|
||||
OpStore %tint_symbol_3 %20
|
||||
%21 = OpCompositeExtract %v4float %tint_symbol_2 1
|
||||
OpStore %tint_symbol_4 %21
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %22
|
||||
%24 = OpLabel
|
||||
%zv = OpVariable %_ptr_Function__arr_v2float_uint_4 Function %40
|
||||
%output = OpVariable %_ptr_Function_Output Function %48
|
||||
%colors = OpVariable %_ptr_Function__arr_v4float_uint_4 Function %62
|
||||
OpStore %tint_pointsize %float_1
|
||||
OpStore %zv %37
|
||||
%41 = OpLoad %uint %tint_symbol_1
|
||||
%44 = OpAccessChain %_ptr_Function_float %zv %41 %uint_0
|
||||
%45 = OpLoad %float %44
|
||||
%50 = OpAccessChain %_ptr_Function_v4float %output %uint_0
|
||||
%52 = OpCompositeConstruct %v4float %float_0_5 %float_0_5 %45 %float_1
|
||||
OpStore %50 %52
|
||||
OpStore %colors %59
|
||||
%64 = OpAccessChain %_ptr_Function_v4float %output %uint_1
|
||||
%65 = OpLoad %uint %tint_symbol_1
|
||||
%66 = OpAccessChain %_ptr_Function_v4float %colors %65
|
||||
%67 = OpLoad %v4float %66
|
||||
OpStore %64 %67
|
||||
%69 = OpLoad %Output %output
|
||||
%68 = OpFunctionCall %void %tint_symbol_5 %69
|
||||
%zv = OpVariable %_ptr_Function__arr_v2float_uint_4 Function %34
|
||||
%output = OpVariable %_ptr_Function_Output Function %41
|
||||
%colors = OpVariable %_ptr_Function__arr_v4float_uint_4 Function %56
|
||||
OpStore %zv %31
|
||||
%37 = OpAccessChain %_ptr_Function_float %zv %InstanceIndex %uint_0
|
||||
%38 = OpLoad %float %37
|
||||
%43 = OpAccessChain %_ptr_Function_v4float %output %uint_0
|
||||
%46 = OpCompositeConstruct %v4float %float_0_5 %float_0_5 %38 %float_1
|
||||
OpStore %43 %46
|
||||
OpStore %colors %53
|
||||
%58 = OpAccessChain %_ptr_Function_v4float %output %uint_1
|
||||
%59 = OpAccessChain %_ptr_Function_v4float %colors %InstanceIndex
|
||||
%60 = OpLoad %v4float %59
|
||||
OpStore %58 %60
|
||||
%61 = OpLoad %Output %output
|
||||
OpReturnValue %61
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %62
|
||||
%65 = OpLabel
|
||||
%67 = OpLoad %uint %VertexIndex_1
|
||||
%68 = OpLoad %uint %InstanceIndex_1
|
||||
%66 = OpFunctionCall %Output %main_inner %67 %68
|
||||
%69 = OpCompositeExtract %v4float %66 0
|
||||
OpStore %Position_1 %69
|
||||
%70 = OpCompositeExtract %v4float %66 1
|
||||
OpStore %color_1 %70
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -5,15 +5,18 @@
|
|||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %GlobalInvocationId_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %GlobalInvocationId_1 "GlobalInvocationId_1"
|
||||
OpName %width "width"
|
||||
OpName %tex "tex"
|
||||
OpName %Result "Result"
|
||||
OpMemberName %Result 0 "values"
|
||||
OpName %result "result"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %GlobalInvocationId "GlobalInvocationId"
|
||||
OpName %main "main"
|
||||
OpDecorate %GlobalInvocationId_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %tex DescriptorSet 0
|
||||
OpDecorate %tex Binding 0
|
||||
OpDecorate %Result Block
|
||||
|
@ -21,49 +24,50 @@
|
|||
OpDecorate %_runtimearr_float ArrayStride 4
|
||||
OpDecorate %result DescriptorSet 0
|
||||
OpDecorate %result Binding 1
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%GlobalInvocationId_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%width = OpConstant %uint 128
|
||||
%float = OpTypeFloat 32
|
||||
%5 = OpTypeImage %float 2D 1 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_5 = OpTypePointer UniformConstant %5
|
||||
%tex = OpVariable %_ptr_UniformConstant_5 UniformConstant
|
||||
%8 = OpTypeImage %float 2D 1 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
|
||||
%tex = OpVariable %_ptr_UniformConstant_8 UniformConstant
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%Result = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_Result = OpTypePointer StorageBuffer %Result
|
||||
%result = OpVariable %_ptr_StorageBuffer_Result StorageBuffer
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%void = OpTypeVoid
|
||||
%14 = OpTypeFunction %void
|
||||
%14 = OpTypeFunction %void %v3uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
|
||||
%v4float = OpTypeVector %float 4
|
||||
%int = OpTypeInt 32 1
|
||||
%v2int = OpTypeVector %int 2
|
||||
%int_0 = OpConstant %int 0
|
||||
%main = OpFunction %void None %14
|
||||
%17 = OpLabel
|
||||
%21 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%22 = OpLoad %uint %21
|
||||
%23 = OpIMul %uint %22 %width
|
||||
%24 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%25 = OpLoad %uint %24
|
||||
%26 = OpIAdd %uint %23 %25
|
||||
%28 = OpAccessChain %_ptr_StorageBuffer_float %result %uint_0 %26
|
||||
%32 = OpLoad %5 %tex
|
||||
%36 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%37 = OpLoad %uint %36
|
||||
%35 = OpBitcast %int %37
|
||||
%39 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%40 = OpLoad %uint %39
|
||||
%38 = OpBitcast %int %40
|
||||
%41 = OpCompositeConstruct %v2int %35 %38
|
||||
%30 = OpImageFetch %v4float %32 %41 Lod %int_0
|
||||
%29 = OpCompositeExtract %float %30 0
|
||||
OpStore %28 %29
|
||||
%38 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %14
|
||||
%GlobalInvocationId = OpFunctionParameter %v3uint
|
||||
%18 = OpLabel
|
||||
%20 = OpCompositeExtract %uint %GlobalInvocationId 1
|
||||
%21 = OpIMul %uint %20 %width
|
||||
%22 = OpCompositeExtract %uint %GlobalInvocationId 0
|
||||
%23 = OpIAdd %uint %21 %22
|
||||
%25 = OpAccessChain %_ptr_StorageBuffer_float %result %uint_0 %23
|
||||
%29 = OpLoad %8 %tex
|
||||
%33 = OpCompositeExtract %uint %GlobalInvocationId 0
|
||||
%32 = OpBitcast %int %33
|
||||
%35 = OpCompositeExtract %uint %GlobalInvocationId 1
|
||||
%34 = OpBitcast %int %35
|
||||
%36 = OpCompositeConstruct %v2int %32 %34
|
||||
%27 = OpImageFetch %v4float %29 %36 Lod %int_0
|
||||
%26 = OpCompositeExtract %float %27 0
|
||||
OpStore %25 %26
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %38
|
||||
%40 = OpLabel
|
||||
%42 = OpLoad %v3uint %GlobalInvocationId_1
|
||||
%41 = OpFunctionCall %void %main_inner %42
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 191
|
||||
; Bound: 193
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability ImageQuery
|
||||
%25 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %GlobalInvocationID_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %GlobalInvocationID_1 "GlobalInvocationID_1"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %OutputBuf "OutputBuf"
|
||||
|
@ -21,13 +22,15 @@
|
|||
OpMemberName %Uniforms 3 "dstCopyOrigin"
|
||||
OpMemberName %Uniforms 4 "copySize"
|
||||
OpName %uniforms "uniforms"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %aboutEqual "aboutEqual"
|
||||
OpName %value "value"
|
||||
OpName %expect "expect"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %GlobalInvocationID "GlobalInvocationID"
|
||||
OpName %success "success"
|
||||
OpName %srcTexCoord "srcTexCoord"
|
||||
OpName %main "main"
|
||||
OpDecorate %GlobalInvocationID_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %src DescriptorSet 0
|
||||
OpDecorate %src Binding 0
|
||||
OpDecorate %dst DescriptorSet 0
|
||||
|
@ -46,13 +49,15 @@
|
|||
OpDecorate %uniforms NonWritable
|
||||
OpDecorate %uniforms DescriptorSet 0
|
||||
OpDecorate %uniforms Binding 3
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%float = OpTypeFloat 32
|
||||
%3 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
|
||||
%src = OpVariable %_ptr_UniformConstant_3 UniformConstant
|
||||
%dst = OpVariable %_ptr_UniformConstant_3 UniformConstant
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%GlobalInvocationID_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%7 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
|
||||
%src = OpVariable %_ptr_UniformConstant_7 UniformConstant
|
||||
%dst = OpVariable %_ptr_UniformConstant_7 UniformConstant
|
||||
%_runtimearr_uint = OpTypeRuntimeArray %uint
|
||||
%OutputBuf = OpTypeStruct %_runtimearr_uint
|
||||
%_ptr_StorageBuffer_OutputBuf = OpTypePointer StorageBuffer %OutputBuf
|
||||
|
@ -61,14 +66,11 @@
|
|||
%Uniforms = OpTypeStruct %uint %uint %v2uint %v2uint %v2uint
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%uniforms = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%bool = OpTypeBool
|
||||
%18 = OpTypeFunction %bool %float %float
|
||||
%float_0_00100000005 = OpConstant %float 0.00100000005
|
||||
%void = OpTypeVoid
|
||||
%29 = OpTypeFunction %void
|
||||
%29 = OpTypeFunction %void %v3uint
|
||||
%int = OpTypeInt 32 1
|
||||
%v2int = OpTypeVector %int 2
|
||||
%int_0 = OpConstant %int 0
|
||||
|
@ -90,8 +92,8 @@
|
|||
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
|
||||
%110 = OpConstantNull %v2uint
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
|
||||
%188 = OpTypeFunction %void
|
||||
%aboutEqual = OpFunction %bool None %18
|
||||
%value = OpFunctionParameter %float
|
||||
%expect = OpFunctionParameter %float
|
||||
|
@ -101,16 +103,16 @@
|
|||
%28 = OpFOrdLessThan %bool %24 %float_0_00100000005
|
||||
OpReturnValue %28
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %29
|
||||
%32 = OpLabel
|
||||
%main_inner = OpFunction %void None %29
|
||||
%GlobalInvocationID = OpFunctionParameter %v3uint
|
||||
%33 = OpLabel
|
||||
%success = OpVariable %_ptr_Function_bool Function %50
|
||||
%srcTexCoord = OpVariable %_ptr_Function_v2uint Function %110
|
||||
%36 = OpLoad %3 %src
|
||||
%33 = OpImageQuerySizeLod %v2int %36 %int_0
|
||||
%39 = OpLoad %3 %dst
|
||||
%38 = OpImageQuerySizeLod %v2int %39 %int_0
|
||||
%41 = OpLoad %v3uint %tint_symbol
|
||||
%42 = OpVectorShuffle %v2uint %41 %41 0 1
|
||||
%37 = OpLoad %7 %src
|
||||
%34 = OpImageQuerySizeLod %v2int %37 %int_0
|
||||
%40 = OpLoad %7 %dst
|
||||
%39 = OpImageQuerySizeLod %v2int %40 %int_0
|
||||
%42 = OpVectorShuffle %v2uint %GlobalInvocationID %GlobalInvocationID 0 1
|
||||
OpStore %success %true
|
||||
%51 = OpCompositeExtract %uint %42 0
|
||||
%55 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_3 %uint_0
|
||||
|
@ -125,7 +127,7 @@
|
|||
%64 = OpULessThan %bool %60 %63
|
||||
OpBranch %58
|
||||
%58 = OpLabel
|
||||
%65 = OpPhi %bool %57 %32 %64 %59
|
||||
%65 = OpPhi %bool %57 %33 %64 %59
|
||||
OpSelectionMerge %66 None
|
||||
OpBranchConditional %65 %66 %67
|
||||
%67 = OpLabel
|
||||
|
@ -159,7 +161,7 @@
|
|||
OpSelectionMerge %91 None
|
||||
OpBranchConditional %90 %92 %91
|
||||
%92 = OpLabel
|
||||
%95 = OpLoad %3 %dst
|
||||
%95 = OpLoad %7 %dst
|
||||
%96 = OpBitcast %v2int %42
|
||||
%94 = OpImageFetch %v4float %95 %96 Lod %int_0
|
||||
%97 = OpFOrdEqual %v4bool %94 %46
|
||||
|
@ -184,7 +186,7 @@
|
|||
OpBranchConditional %113 %115 %114
|
||||
%115 = OpLabel
|
||||
%117 = OpAccessChain %_ptr_Function_uint %srcTexCoord %uint_1
|
||||
%119 = OpCompositeExtract %int %33 1
|
||||
%119 = OpCompositeExtract %int %34 1
|
||||
%118 = OpBitcast %uint %119
|
||||
%120 = OpAccessChain %_ptr_Function_uint %srcTexCoord %uint_1
|
||||
%121 = OpLoad %uint %120
|
||||
|
@ -193,11 +195,11 @@
|
|||
OpStore %117 %123
|
||||
OpBranch %114
|
||||
%114 = OpLabel
|
||||
%125 = OpLoad %3 %src
|
||||
%125 = OpLoad %7 %src
|
||||
%127 = OpLoad %v2uint %srcTexCoord
|
||||
%126 = OpBitcast %v2int %127
|
||||
%124 = OpImageFetch %v4float %125 %126 Lod %int_0
|
||||
%129 = OpLoad %3 %dst
|
||||
%129 = OpLoad %7 %dst
|
||||
%130 = OpBitcast %v2int %42
|
||||
%128 = OpImageFetch %v4float %129 %130 Lod %int_0
|
||||
%131 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_1
|
||||
|
@ -270,25 +272,29 @@
|
|||
%134 = OpLabel
|
||||
OpBranch %87
|
||||
%87 = OpLabel
|
||||
%176 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%177 = OpLoad %uint %176
|
||||
%179 = OpCompositeExtract %int %38 0
|
||||
%178 = OpBitcast %uint %179
|
||||
%180 = OpIMul %uint %177 %178
|
||||
%181 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%182 = OpLoad %uint %181
|
||||
%183 = OpIAdd %uint %180 %182
|
||||
%184 = OpLoad %bool %success
|
||||
OpSelectionMerge %185 None
|
||||
OpBranchConditional %184 %186 %187
|
||||
%186 = OpLabel
|
||||
%189 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %183
|
||||
OpStore %189 %uint_1
|
||||
OpBranch %185
|
||||
%187 = OpLabel
|
||||
%190 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %183
|
||||
OpStore %190 %uint_0
|
||||
OpBranch %185
|
||||
%185 = OpLabel
|
||||
%175 = OpCompositeExtract %uint %GlobalInvocationID 1
|
||||
%177 = OpCompositeExtract %int %39 0
|
||||
%176 = OpBitcast %uint %177
|
||||
%178 = OpIMul %uint %175 %176
|
||||
%179 = OpCompositeExtract %uint %GlobalInvocationID 0
|
||||
%180 = OpIAdd %uint %178 %179
|
||||
%181 = OpLoad %bool %success
|
||||
OpSelectionMerge %182 None
|
||||
OpBranchConditional %181 %183 %184
|
||||
%183 = OpLabel
|
||||
%186 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %180
|
||||
OpStore %186 %uint_1
|
||||
OpBranch %182
|
||||
%184 = OpLabel
|
||||
%187 = OpAccessChain %_ptr_StorageBuffer_uint %output %uint_0 %180
|
||||
OpStore %187 %uint_0
|
||||
OpBranch %182
|
||||
%182 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %188
|
||||
%190 = OpLabel
|
||||
%192 = OpLoad %v3uint %GlobalInvocationID_1
|
||||
%191 = OpFunctionCall %void %main_inner %192
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 372
|
||||
; Bound: 375
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol_2 %tint_symbol %tint_symbol_1
|
||||
OpEntryPoint GLCompute %main "main" %local_id_1 %global_id_1 %local_invocation_index_1
|
||||
OpExecutionMode %main LocalSize 16 16 1
|
||||
OpName %local_id_1 "local_id_1"
|
||||
OpName %global_id_1 "global_id_1"
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %Matrix "Matrix"
|
||||
OpMemberName %Matrix 0 "numbers"
|
||||
OpName %firstMatrix "firstMatrix"
|
||||
|
@ -24,9 +27,6 @@
|
|||
OpName %TileAOuter "TileInner"
|
||||
OpName %mm_Asub "mm_Asub"
|
||||
OpName %mm_Bsub "mm_Bsub"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %mm_readA "mm_readA"
|
||||
OpName %row "row"
|
||||
OpName %col "col"
|
||||
|
@ -37,7 +37,10 @@
|
|||
OpName %row_1 "row"
|
||||
OpName %col_1 "col"
|
||||
OpName %value "value"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %local_id "local_id"
|
||||
OpName %global_id "global_id"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %idx "idx"
|
||||
OpName %acc "acc"
|
||||
OpName %ACached "ACached"
|
||||
|
@ -54,6 +57,10 @@
|
|||
OpName %innerCol_1 "innerCol"
|
||||
OpName %innerRow_2 "innerRow"
|
||||
OpName %innerCol_2 "innerCol"
|
||||
OpName %main "main"
|
||||
OpDecorate %local_id_1 BuiltIn LocalInvocationId
|
||||
OpDecorate %global_id_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %Matrix Block
|
||||
OpMemberDecorate %Matrix 0 Offset 0
|
||||
OpDecorate %_runtimearr_float ArrayStride 4
|
||||
|
@ -75,11 +82,15 @@
|
|||
OpDecorate %uniforms Binding 3
|
||||
OpDecorate %_arr_float_TileAOuter ArrayStride 4
|
||||
OpDecorate %_arr__arr_float_TileAOuter_TileAOuter ArrayStride 256
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationId
|
||||
OpDecorate %tint_symbol_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %tint_symbol_2 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %_arr_float_uint_16 ArrayStride 4
|
||||
OpDecorate %_arr_float_RowPerThread ArrayStride 4
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%local_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%global_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%Matrix = OpTypeStruct %_runtimearr_float
|
||||
|
@ -87,7 +98,6 @@
|
|||
%firstMatrix = OpVariable %_ptr_StorageBuffer_Matrix StorageBuffer
|
||||
%secondMatrix = OpVariable %_ptr_StorageBuffer_Matrix StorageBuffer
|
||||
%resultMatrix = OpVariable %_ptr_StorageBuffer_Matrix StorageBuffer
|
||||
%uint = OpTypeInt 32 0
|
||||
%Uniforms = OpTypeStruct %uint %uint %uint
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%uniforms = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
|
@ -98,12 +108,6 @@
|
|||
%_ptr_Workgroup__arr__arr_float_TileAOuter_TileAOuter = OpTypePointer Workgroup %_arr__arr_float_TileAOuter_TileAOuter
|
||||
%mm_Asub = OpVariable %_ptr_Workgroup__arr__arr_float_TileAOuter_TileAOuter Workgroup
|
||||
%mm_Bsub = OpVariable %_ptr_Workgroup__arr__arr_float_TileAOuter_TileAOuter Workgroup
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_uint Input
|
||||
%25 = OpTypeFunction %float %uint %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
|
||||
|
@ -114,22 +118,23 @@
|
|||
%uint_2 = OpConstant %uint 2
|
||||
%void = OpTypeVoid
|
||||
%75 = OpTypeFunction %void %uint %uint %float
|
||||
%98 = OpTypeFunction %void
|
||||
%98 = OpTypeFunction %void %v3uint %v3uint %uint
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%104 = OpConstantNull %uint
|
||||
%106 = OpConstantNull %uint
|
||||
%uint_4096 = OpConstant %uint 4096
|
||||
%_ptr_Workgroup_float = OpTypePointer Workgroup %float
|
||||
%121 = OpConstantNull %float
|
||||
%123 = OpConstantNull %float
|
||||
%uint_256 = OpConstant %uint 256
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%uint_16 = OpConstant %uint 16
|
||||
%_arr_float_uint_16 = OpTypeArray %float %uint_16
|
||||
%_ptr_Function__arr_float_uint_16 = OpTypePointer Function %_arr_float_uint_16
|
||||
%149 = OpConstantNull %_arr_float_uint_16
|
||||
%147 = OpConstantNull %_arr_float_uint_16
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%_arr_float_RowPerThread = OpTypeArray %float %RowPerThread
|
||||
%_ptr_Function__arr_float_RowPerThread = OpTypePointer Function %_arr_float_RowPerThread
|
||||
%155 = OpConstantNull %_arr_float_RowPerThread
|
||||
%153 = OpConstantNull %_arr_float_RowPerThread
|
||||
%368 = OpTypeFunction %void
|
||||
%mm_readA = OpFunction %float None %25
|
||||
%row = OpFunctionParameter %uint
|
||||
%col = OpFunctionParameter %uint
|
||||
|
@ -218,401 +223,405 @@
|
|||
%91 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %98
|
||||
%100 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %104
|
||||
%acc = OpVariable %_ptr_Function__arr_float_uint_16 Function %149
|
||||
%ACached = OpVariable %_ptr_Function_float Function %121
|
||||
%BCached = OpVariable %_ptr_Function__arr_float_RowPerThread Function %155
|
||||
%index = OpVariable %_ptr_Function_uint Function %104
|
||||
%t = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerRow = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerCol = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerRow_0 = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerCol_0 = OpVariable %_ptr_Function_uint Function %104
|
||||
%k = OpVariable %_ptr_Function_uint Function %104
|
||||
%inner = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerRow_1 = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerCol_1 = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerRow_2 = OpVariable %_ptr_Function_uint Function %104
|
||||
%innerCol_2 = OpVariable %_ptr_Function_uint Function %104
|
||||
%101 = OpLoad %uint %tint_symbol_2
|
||||
OpStore %idx %101
|
||||
OpBranch %105
|
||||
%105 = OpLabel
|
||||
OpLoopMerge %106 %107 None
|
||||
OpBranch %108
|
||||
%108 = OpLabel
|
||||
%110 = OpLoad %uint %idx
|
||||
%112 = OpULessThan %bool %110 %uint_4096
|
||||
%109 = OpLogicalNot %bool %112
|
||||
OpSelectionMerge %113 None
|
||||
OpBranchConditional %109 %114 %113
|
||||
%114 = OpLabel
|
||||
OpBranch %106
|
||||
%113 = OpLabel
|
||||
%115 = OpLoad %uint %idx
|
||||
%116 = OpUDiv %uint %115 %TileAOuter
|
||||
%117 = OpLoad %uint %idx
|
||||
%118 = OpUMod %uint %117 %TileAOuter
|
||||
%120 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %116 %118
|
||||
OpStore %120 %121
|
||||
%122 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %116 %118
|
||||
OpStore %122 %121
|
||||
%main_inner = OpFunction %void None %98
|
||||
%local_id = OpFunctionParameter %v3uint
|
||||
%global_id = OpFunctionParameter %v3uint
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%103 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %106
|
||||
%acc = OpVariable %_ptr_Function__arr_float_uint_16 Function %147
|
||||
%ACached = OpVariable %_ptr_Function_float Function %123
|
||||
%BCached = OpVariable %_ptr_Function__arr_float_RowPerThread Function %153
|
||||
%index = OpVariable %_ptr_Function_uint Function %106
|
||||
%t = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerRow = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerCol = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerRow_0 = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerCol_0 = OpVariable %_ptr_Function_uint Function %106
|
||||
%k = OpVariable %_ptr_Function_uint Function %106
|
||||
%inner = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerRow_1 = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerCol_1 = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerRow_2 = OpVariable %_ptr_Function_uint Function %106
|
||||
%innerCol_2 = OpVariable %_ptr_Function_uint Function %106
|
||||
OpStore %idx %local_invocation_index
|
||||
OpBranch %107
|
||||
%107 = OpLabel
|
||||
%123 = OpLoad %uint %idx
|
||||
%125 = OpIAdd %uint %123 %uint_256
|
||||
OpStore %idx %125
|
||||
OpBranch %105
|
||||
%106 = OpLabel
|
||||
OpLoopMerge %108 %109 None
|
||||
OpBranch %110
|
||||
%110 = OpLabel
|
||||
%112 = OpLoad %uint %idx
|
||||
%114 = OpULessThan %bool %112 %uint_4096
|
||||
%111 = OpLogicalNot %bool %114
|
||||
OpSelectionMerge %115 None
|
||||
OpBranchConditional %111 %116 %115
|
||||
%116 = OpLabel
|
||||
OpBranch %108
|
||||
%115 = OpLabel
|
||||
%117 = OpLoad %uint %idx
|
||||
%118 = OpUDiv %uint %117 %TileAOuter
|
||||
%119 = OpLoad %uint %idx
|
||||
%120 = OpUMod %uint %119 %TileAOuter
|
||||
%122 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %118 %120
|
||||
OpStore %122 %123
|
||||
%124 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %118 %120
|
||||
OpStore %124 %123
|
||||
OpBranch %109
|
||||
%109 = OpLabel
|
||||
%125 = OpLoad %uint %idx
|
||||
%127 = OpIAdd %uint %125 %uint_256
|
||||
OpStore %idx %127
|
||||
OpBranch %107
|
||||
%108 = OpLabel
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%128 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%129 = OpLoad %uint %128
|
||||
%130 = OpIMul %uint %129 %RowPerThread
|
||||
%131 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%132 = OpLoad %uint %131
|
||||
%130 = OpCompositeExtract %uint %local_id 1
|
||||
%131 = OpIMul %uint %130 %RowPerThread
|
||||
%132 = OpCompositeExtract %uint %local_id 0
|
||||
%133 = OpIMul %uint %132 %RowPerThread
|
||||
%134 = OpAccessChain %_ptr_Input_uint %tint_symbol_1 %uint_1
|
||||
%135 = OpLoad %uint %134
|
||||
%136 = OpIMul %uint %135 %RowPerThread
|
||||
%137 = OpAccessChain %_ptr_Input_uint %tint_symbol_1 %uint_0
|
||||
%138 = OpLoad %uint %137
|
||||
%139 = OpIMul %uint %138 %RowPerThread
|
||||
%140 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_1
|
||||
%141 = OpLoad %uint %140
|
||||
%142 = OpISub %uint %141 %uint_1
|
||||
%143 = OpUDiv %uint %142 %TileAOuter
|
||||
%144 = OpIAdd %uint %143 %uint_1
|
||||
%134 = OpCompositeExtract %uint %global_id 1
|
||||
%135 = OpIMul %uint %134 %RowPerThread
|
||||
%136 = OpCompositeExtract %uint %global_id 0
|
||||
%137 = OpIMul %uint %136 %RowPerThread
|
||||
%138 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_1
|
||||
%139 = OpLoad %uint %138
|
||||
%140 = OpISub %uint %139 %uint_1
|
||||
%141 = OpUDiv %uint %140 %TileAOuter
|
||||
%142 = OpIAdd %uint %141 %uint_1
|
||||
OpStore %index %uint_0
|
||||
OpBranch %155
|
||||
%155 = OpLabel
|
||||
OpLoopMerge %156 %157 None
|
||||
OpBranch %158
|
||||
%158 = OpLabel
|
||||
%160 = OpLoad %uint %index
|
||||
%161 = OpIMul %uint %RowPerThread %RowPerThread
|
||||
%162 = OpULessThan %bool %160 %161
|
||||
%159 = OpLogicalNot %bool %162
|
||||
OpSelectionMerge %163 None
|
||||
OpBranchConditional %159 %164 %163
|
||||
%164 = OpLabel
|
||||
OpBranch %156
|
||||
%163 = OpLabel
|
||||
%165 = OpLoad %uint %index
|
||||
%166 = OpAccessChain %_ptr_Function_float %acc %165
|
||||
OpStore %166 %float_0
|
||||
OpBranch %157
|
||||
%157 = OpLabel
|
||||
OpLoopMerge %158 %159 None
|
||||
OpBranch %160
|
||||
%160 = OpLabel
|
||||
%162 = OpLoad %uint %index
|
||||
%163 = OpIMul %uint %RowPerThread %RowPerThread
|
||||
%164 = OpULessThan %bool %162 %163
|
||||
%161 = OpLogicalNot %bool %164
|
||||
OpSelectionMerge %165 None
|
||||
OpBranchConditional %161 %166 %165
|
||||
%166 = OpLabel
|
||||
OpBranch %158
|
||||
%165 = OpLabel
|
||||
%167 = OpLoad %uint %index
|
||||
%168 = OpAccessChain %_ptr_Function_float %acc %167
|
||||
OpStore %168 %float_0
|
||||
OpBranch %159
|
||||
%159 = OpLabel
|
||||
%169 = OpLoad %uint %index
|
||||
%170 = OpIAdd %uint %169 %uint_1
|
||||
OpStore %index %170
|
||||
OpBranch %157
|
||||
%158 = OpLabel
|
||||
%171 = OpUDiv %uint %TileAOuter %uint_16
|
||||
%172 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_0
|
||||
%173 = OpLoad %uint %172
|
||||
%174 = OpIMul %uint %173 %171
|
||||
%175 = OpUDiv %uint %TileAOuter %uint_16
|
||||
%176 = OpAccessChain %_ptr_Input_uint %tint_symbol %uint_1
|
||||
%177 = OpLoad %uint %176
|
||||
%178 = OpIMul %uint %177 %175
|
||||
%168 = OpIAdd %uint %167 %uint_1
|
||||
OpStore %index %168
|
||||
OpBranch %155
|
||||
%156 = OpLabel
|
||||
%169 = OpUDiv %uint %TileAOuter %uint_16
|
||||
%170 = OpCompositeExtract %uint %local_id 0
|
||||
%171 = OpIMul %uint %170 %169
|
||||
%172 = OpUDiv %uint %TileAOuter %uint_16
|
||||
%173 = OpCompositeExtract %uint %local_id 1
|
||||
%174 = OpIMul %uint %173 %172
|
||||
OpStore %t %uint_0
|
||||
OpBranch %180
|
||||
%180 = OpLabel
|
||||
OpLoopMerge %181 %182 None
|
||||
OpBranch %183
|
||||
OpBranch %176
|
||||
%176 = OpLabel
|
||||
OpLoopMerge %177 %178 None
|
||||
OpBranch %179
|
||||
%179 = OpLabel
|
||||
%181 = OpLoad %uint %t
|
||||
%182 = OpULessThan %bool %181 %142
|
||||
%180 = OpLogicalNot %bool %182
|
||||
OpSelectionMerge %183 None
|
||||
OpBranchConditional %180 %184 %183
|
||||
%184 = OpLabel
|
||||
OpBranch %177
|
||||
%183 = OpLabel
|
||||
%185 = OpLoad %uint %t
|
||||
%186 = OpULessThan %bool %185 %144
|
||||
%184 = OpLogicalNot %bool %186
|
||||
OpSelectionMerge %187 None
|
||||
OpBranchConditional %184 %188 %187
|
||||
%188 = OpLabel
|
||||
OpBranch %181
|
||||
%187 = OpLabel
|
||||
OpStore %innerRow %uint_0
|
||||
OpBranch %190
|
||||
%190 = OpLabel
|
||||
OpLoopMerge %191 %192 None
|
||||
OpBranch %193
|
||||
OpBranch %186
|
||||
%186 = OpLabel
|
||||
OpLoopMerge %187 %188 None
|
||||
OpBranch %189
|
||||
%189 = OpLabel
|
||||
%191 = OpLoad %uint %innerRow
|
||||
%192 = OpULessThan %bool %191 %RowPerThread
|
||||
%190 = OpLogicalNot %bool %192
|
||||
OpSelectionMerge %193 None
|
||||
OpBranchConditional %190 %194 %193
|
||||
%194 = OpLabel
|
||||
OpBranch %187
|
||||
%193 = OpLabel
|
||||
%195 = OpLoad %uint %innerRow
|
||||
%196 = OpULessThan %bool %195 %RowPerThread
|
||||
%194 = OpLogicalNot %bool %196
|
||||
OpSelectionMerge %197 None
|
||||
OpBranchConditional %194 %198 %197
|
||||
%198 = OpLabel
|
||||
OpBranch %191
|
||||
%197 = OpLabel
|
||||
OpStore %innerCol %uint_0
|
||||
OpBranch %200
|
||||
%200 = OpLabel
|
||||
OpLoopMerge %201 %202 None
|
||||
OpBranch %203
|
||||
OpBranch %196
|
||||
%196 = OpLabel
|
||||
OpLoopMerge %197 %198 None
|
||||
OpBranch %199
|
||||
%199 = OpLabel
|
||||
%201 = OpLoad %uint %innerCol
|
||||
%202 = OpULessThan %bool %201 %169
|
||||
%200 = OpLogicalNot %bool %202
|
||||
OpSelectionMerge %203 None
|
||||
OpBranchConditional %200 %204 %203
|
||||
%204 = OpLabel
|
||||
OpBranch %197
|
||||
%203 = OpLabel
|
||||
%205 = OpLoad %uint %innerCol
|
||||
%206 = OpULessThan %bool %205 %171
|
||||
%204 = OpLogicalNot %bool %206
|
||||
OpSelectionMerge %207 None
|
||||
OpBranchConditional %204 %208 %207
|
||||
%208 = OpLabel
|
||||
OpBranch %201
|
||||
%207 = OpLabel
|
||||
%209 = OpLoad %uint %innerRow
|
||||
%210 = OpIAdd %uint %130 %209
|
||||
%211 = OpLoad %uint %innerCol
|
||||
%212 = OpIAdd %uint %174 %211
|
||||
%213 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %210 %212
|
||||
%215 = OpLoad %uint %innerRow
|
||||
%216 = OpIAdd %uint %136 %215
|
||||
%217 = OpLoad %uint %t
|
||||
%218 = OpIMul %uint %217 %TileAOuter
|
||||
%219 = OpIAdd %uint %218 %212
|
||||
%214 = OpFunctionCall %float %mm_readA %216 %219
|
||||
OpStore %213 %214
|
||||
OpBranch %202
|
||||
%202 = OpLabel
|
||||
%220 = OpLoad %uint %innerCol
|
||||
%221 = OpIAdd %uint %220 %uint_1
|
||||
OpStore %innerCol %221
|
||||
OpBranch %200
|
||||
%201 = OpLabel
|
||||
OpBranch %192
|
||||
%192 = OpLabel
|
||||
%222 = OpLoad %uint %innerRow
|
||||
%223 = OpIAdd %uint %222 %uint_1
|
||||
OpStore %innerRow %223
|
||||
OpBranch %190
|
||||
%191 = OpLabel
|
||||
%205 = OpLoad %uint %innerRow
|
||||
%206 = OpIAdd %uint %131 %205
|
||||
%207 = OpLoad %uint %innerCol
|
||||
%208 = OpIAdd %uint %171 %207
|
||||
%209 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %206 %208
|
||||
%211 = OpLoad %uint %innerRow
|
||||
%212 = OpIAdd %uint %135 %211
|
||||
%213 = OpLoad %uint %t
|
||||
%214 = OpIMul %uint %213 %TileAOuter
|
||||
%215 = OpIAdd %uint %214 %208
|
||||
%210 = OpFunctionCall %float %mm_readA %212 %215
|
||||
OpStore %209 %210
|
||||
OpBranch %198
|
||||
%198 = OpLabel
|
||||
%216 = OpLoad %uint %innerCol
|
||||
%217 = OpIAdd %uint %216 %uint_1
|
||||
OpStore %innerCol %217
|
||||
OpBranch %196
|
||||
%197 = OpLabel
|
||||
OpBranch %188
|
||||
%188 = OpLabel
|
||||
%218 = OpLoad %uint %innerRow
|
||||
%219 = OpIAdd %uint %218 %uint_1
|
||||
OpStore %innerRow %219
|
||||
OpBranch %186
|
||||
%187 = OpLabel
|
||||
OpStore %innerRow_0 %uint_0
|
||||
OpBranch %225
|
||||
%225 = OpLabel
|
||||
OpLoopMerge %226 %227 None
|
||||
OpBranch %228
|
||||
OpBranch %221
|
||||
%221 = OpLabel
|
||||
OpLoopMerge %222 %223 None
|
||||
OpBranch %224
|
||||
%224 = OpLabel
|
||||
%226 = OpLoad %uint %innerRow_0
|
||||
%227 = OpULessThan %bool %226 %172
|
||||
%225 = OpLogicalNot %bool %227
|
||||
OpSelectionMerge %228 None
|
||||
OpBranchConditional %225 %229 %228
|
||||
%229 = OpLabel
|
||||
OpBranch %222
|
||||
%228 = OpLabel
|
||||
%230 = OpLoad %uint %innerRow_0
|
||||
%231 = OpULessThan %bool %230 %175
|
||||
%229 = OpLogicalNot %bool %231
|
||||
OpSelectionMerge %232 None
|
||||
OpBranchConditional %229 %233 %232
|
||||
%233 = OpLabel
|
||||
OpBranch %226
|
||||
%232 = OpLabel
|
||||
OpStore %innerCol_0 %uint_0
|
||||
OpBranch %235
|
||||
%235 = OpLabel
|
||||
OpLoopMerge %236 %237 None
|
||||
OpBranch %238
|
||||
OpBranch %231
|
||||
%231 = OpLabel
|
||||
OpLoopMerge %232 %233 None
|
||||
OpBranch %234
|
||||
%234 = OpLabel
|
||||
%236 = OpLoad %uint %innerCol_0
|
||||
%237 = OpULessThan %bool %236 %RowPerThread
|
||||
%235 = OpLogicalNot %bool %237
|
||||
OpSelectionMerge %238 None
|
||||
OpBranchConditional %235 %239 %238
|
||||
%239 = OpLabel
|
||||
OpBranch %232
|
||||
%238 = OpLabel
|
||||
%240 = OpLoad %uint %innerCol_0
|
||||
%241 = OpULessThan %bool %240 %RowPerThread
|
||||
%239 = OpLogicalNot %bool %241
|
||||
OpSelectionMerge %242 None
|
||||
OpBranchConditional %239 %243 %242
|
||||
%243 = OpLabel
|
||||
OpBranch %236
|
||||
%242 = OpLabel
|
||||
%244 = OpLoad %uint %innerRow_0
|
||||
%245 = OpIAdd %uint %178 %244
|
||||
%246 = OpLoad %uint %innerCol_0
|
||||
%247 = OpIAdd %uint %133 %246
|
||||
%248 = OpLoad %uint %innerCol_0
|
||||
%249 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %248 %247
|
||||
%251 = OpLoad %uint %t
|
||||
%252 = OpIMul %uint %251 %TileAOuter
|
||||
%253 = OpIAdd %uint %252 %245
|
||||
%254 = OpLoad %uint %innerCol_0
|
||||
%255 = OpIAdd %uint %139 %254
|
||||
%250 = OpFunctionCall %float %mm_readB %253 %255
|
||||
OpStore %249 %250
|
||||
OpBranch %237
|
||||
%237 = OpLabel
|
||||
%256 = OpLoad %uint %innerCol_0
|
||||
%257 = OpIAdd %uint %256 %uint_1
|
||||
OpStore %innerCol_0 %257
|
||||
OpBranch %235
|
||||
%236 = OpLabel
|
||||
OpBranch %227
|
||||
%227 = OpLabel
|
||||
%258 = OpLoad %uint %innerRow_0
|
||||
%259 = OpIAdd %uint %258 %uint_1
|
||||
OpStore %innerRow_0 %259
|
||||
OpBranch %225
|
||||
%226 = OpLabel
|
||||
%240 = OpLoad %uint %innerRow_0
|
||||
%241 = OpIAdd %uint %174 %240
|
||||
%242 = OpLoad %uint %innerCol_0
|
||||
%243 = OpIAdd %uint %133 %242
|
||||
%244 = OpLoad %uint %innerCol_0
|
||||
%245 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %244 %243
|
||||
%247 = OpLoad %uint %t
|
||||
%248 = OpIMul %uint %247 %TileAOuter
|
||||
%249 = OpIAdd %uint %248 %241
|
||||
%250 = OpLoad %uint %innerCol_0
|
||||
%251 = OpIAdd %uint %137 %250
|
||||
%246 = OpFunctionCall %float %mm_readB %249 %251
|
||||
OpStore %245 %246
|
||||
OpBranch %233
|
||||
%233 = OpLabel
|
||||
%252 = OpLoad %uint %innerCol_0
|
||||
%253 = OpIAdd %uint %252 %uint_1
|
||||
OpStore %innerCol_0 %253
|
||||
OpBranch %231
|
||||
%232 = OpLabel
|
||||
OpBranch %223
|
||||
%223 = OpLabel
|
||||
%254 = OpLoad %uint %innerRow_0
|
||||
%255 = OpIAdd %uint %254 %uint_1
|
||||
OpStore %innerRow_0 %255
|
||||
OpBranch %221
|
||||
%222 = OpLabel
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
OpStore %k %uint_0
|
||||
OpBranch %262
|
||||
%262 = OpLabel
|
||||
OpLoopMerge %263 %264 None
|
||||
OpBranch %265
|
||||
OpBranch %258
|
||||
%258 = OpLabel
|
||||
OpLoopMerge %259 %260 None
|
||||
OpBranch %261
|
||||
%261 = OpLabel
|
||||
%263 = OpLoad %uint %k
|
||||
%264 = OpULessThan %bool %263 %TileAOuter
|
||||
%262 = OpLogicalNot %bool %264
|
||||
OpSelectionMerge %265 None
|
||||
OpBranchConditional %262 %266 %265
|
||||
%266 = OpLabel
|
||||
OpBranch %259
|
||||
%265 = OpLabel
|
||||
%267 = OpLoad %uint %k
|
||||
%268 = OpULessThan %bool %267 %TileAOuter
|
||||
%266 = OpLogicalNot %bool %268
|
||||
OpSelectionMerge %269 None
|
||||
OpBranchConditional %266 %270 %269
|
||||
%270 = OpLabel
|
||||
OpBranch %263
|
||||
%269 = OpLabel
|
||||
OpStore %inner %uint_0
|
||||
OpBranch %272
|
||||
%272 = OpLabel
|
||||
OpLoopMerge %273 %274 None
|
||||
OpBranch %275
|
||||
OpBranch %268
|
||||
%268 = OpLabel
|
||||
OpLoopMerge %269 %270 None
|
||||
OpBranch %271
|
||||
%271 = OpLabel
|
||||
%273 = OpLoad %uint %inner
|
||||
%274 = OpULessThan %bool %273 %RowPerThread
|
||||
%272 = OpLogicalNot %bool %274
|
||||
OpSelectionMerge %275 None
|
||||
OpBranchConditional %272 %276 %275
|
||||
%276 = OpLabel
|
||||
OpBranch %269
|
||||
%275 = OpLabel
|
||||
%277 = OpLoad %uint %inner
|
||||
%278 = OpULessThan %bool %277 %RowPerThread
|
||||
%276 = OpLogicalNot %bool %278
|
||||
OpSelectionMerge %279 None
|
||||
OpBranchConditional %276 %280 %279
|
||||
%280 = OpLabel
|
||||
OpBranch %273
|
||||
%279 = OpLabel
|
||||
%281 = OpLoad %uint %inner
|
||||
%282 = OpAccessChain %_ptr_Function_float %BCached %281
|
||||
%283 = OpLoad %uint %k
|
||||
%278 = OpAccessChain %_ptr_Function_float %BCached %277
|
||||
%279 = OpLoad %uint %k
|
||||
%280 = OpLoad %uint %inner
|
||||
%281 = OpIAdd %uint %133 %280
|
||||
%282 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %279 %281
|
||||
%283 = OpLoad %float %282
|
||||
OpStore %278 %283
|
||||
OpBranch %270
|
||||
%270 = OpLabel
|
||||
%284 = OpLoad %uint %inner
|
||||
%285 = OpIAdd %uint %133 %284
|
||||
%286 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %283 %285
|
||||
%287 = OpLoad %float %286
|
||||
OpStore %282 %287
|
||||
OpBranch %274
|
||||
%274 = OpLabel
|
||||
%288 = OpLoad %uint %inner
|
||||
%289 = OpIAdd %uint %288 %uint_1
|
||||
OpStore %inner %289
|
||||
OpBranch %272
|
||||
%273 = OpLabel
|
||||
%285 = OpIAdd %uint %284 %uint_1
|
||||
OpStore %inner %285
|
||||
OpBranch %268
|
||||
%269 = OpLabel
|
||||
OpStore %innerRow_1 %uint_0
|
||||
OpBranch %291
|
||||
%291 = OpLabel
|
||||
OpLoopMerge %292 %293 None
|
||||
OpBranch %294
|
||||
OpBranch %287
|
||||
%287 = OpLabel
|
||||
OpLoopMerge %288 %289 None
|
||||
OpBranch %290
|
||||
%290 = OpLabel
|
||||
%292 = OpLoad %uint %innerRow_1
|
||||
%293 = OpULessThan %bool %292 %RowPerThread
|
||||
%291 = OpLogicalNot %bool %293
|
||||
OpSelectionMerge %294 None
|
||||
OpBranchConditional %291 %295 %294
|
||||
%295 = OpLabel
|
||||
OpBranch %288
|
||||
%294 = OpLabel
|
||||
%296 = OpLoad %uint %innerRow_1
|
||||
%297 = OpULessThan %bool %296 %RowPerThread
|
||||
%295 = OpLogicalNot %bool %297
|
||||
OpSelectionMerge %298 None
|
||||
OpBranchConditional %295 %299 %298
|
||||
%299 = OpLabel
|
||||
OpBranch %292
|
||||
%298 = OpLabel
|
||||
%300 = OpLoad %uint %innerRow_1
|
||||
%301 = OpIAdd %uint %130 %300
|
||||
%302 = OpLoad %uint %k
|
||||
%303 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %301 %302
|
||||
%304 = OpLoad %float %303
|
||||
OpStore %ACached %304
|
||||
%297 = OpIAdd %uint %131 %296
|
||||
%298 = OpLoad %uint %k
|
||||
%299 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %297 %298
|
||||
%300 = OpLoad %float %299
|
||||
OpStore %ACached %300
|
||||
OpStore %innerCol_1 %uint_0
|
||||
OpBranch %306
|
||||
%306 = OpLabel
|
||||
OpLoopMerge %307 %308 None
|
||||
OpBranch %309
|
||||
OpBranch %302
|
||||
%302 = OpLabel
|
||||
OpLoopMerge %303 %304 None
|
||||
OpBranch %305
|
||||
%305 = OpLabel
|
||||
%307 = OpLoad %uint %innerCol_1
|
||||
%308 = OpULessThan %bool %307 %RowPerThread
|
||||
%306 = OpLogicalNot %bool %308
|
||||
OpSelectionMerge %309 None
|
||||
OpBranchConditional %306 %310 %309
|
||||
%310 = OpLabel
|
||||
OpBranch %303
|
||||
%309 = OpLabel
|
||||
%311 = OpLoad %uint %innerCol_1
|
||||
%312 = OpULessThan %bool %311 %RowPerThread
|
||||
%310 = OpLogicalNot %bool %312
|
||||
OpSelectionMerge %313 None
|
||||
OpBranchConditional %310 %314 %313
|
||||
%314 = OpLabel
|
||||
OpBranch %307
|
||||
%313 = OpLabel
|
||||
%315 = OpLoad %uint %innerRow_1
|
||||
%316 = OpIMul %uint %315 %RowPerThread
|
||||
%317 = OpLoad %uint %innerCol_1
|
||||
%318 = OpIAdd %uint %316 %317
|
||||
%319 = OpAccessChain %_ptr_Function_float %acc %318
|
||||
%320 = OpAccessChain %_ptr_Function_float %acc %318
|
||||
%311 = OpLoad %uint %innerRow_1
|
||||
%312 = OpIMul %uint %311 %RowPerThread
|
||||
%313 = OpLoad %uint %innerCol_1
|
||||
%314 = OpIAdd %uint %312 %313
|
||||
%315 = OpAccessChain %_ptr_Function_float %acc %314
|
||||
%316 = OpAccessChain %_ptr_Function_float %acc %314
|
||||
%317 = OpLoad %float %316
|
||||
%318 = OpLoad %float %ACached
|
||||
%319 = OpLoad %uint %innerCol_1
|
||||
%320 = OpAccessChain %_ptr_Function_float %BCached %319
|
||||
%321 = OpLoad %float %320
|
||||
%322 = OpLoad %float %ACached
|
||||
%323 = OpLoad %uint %innerCol_1
|
||||
%324 = OpAccessChain %_ptr_Function_float %BCached %323
|
||||
%325 = OpLoad %float %324
|
||||
%326 = OpFMul %float %322 %325
|
||||
%327 = OpFAdd %float %321 %326
|
||||
OpStore %319 %327
|
||||
OpBranch %308
|
||||
%308 = OpLabel
|
||||
%328 = OpLoad %uint %innerCol_1
|
||||
%322 = OpFMul %float %318 %321
|
||||
%323 = OpFAdd %float %317 %322
|
||||
OpStore %315 %323
|
||||
OpBranch %304
|
||||
%304 = OpLabel
|
||||
%324 = OpLoad %uint %innerCol_1
|
||||
%325 = OpIAdd %uint %324 %uint_1
|
||||
OpStore %innerCol_1 %325
|
||||
OpBranch %302
|
||||
%303 = OpLabel
|
||||
OpBranch %289
|
||||
%289 = OpLabel
|
||||
%326 = OpLoad %uint %innerRow_1
|
||||
%327 = OpIAdd %uint %326 %uint_1
|
||||
OpStore %innerRow_1 %327
|
||||
OpBranch %287
|
||||
%288 = OpLabel
|
||||
OpBranch %260
|
||||
%260 = OpLabel
|
||||
%328 = OpLoad %uint %k
|
||||
%329 = OpIAdd %uint %328 %uint_1
|
||||
OpStore %innerCol_1 %329
|
||||
OpBranch %306
|
||||
%307 = OpLabel
|
||||
OpBranch %293
|
||||
%293 = OpLabel
|
||||
%330 = OpLoad %uint %innerRow_1
|
||||
%331 = OpIAdd %uint %330 %uint_1
|
||||
OpStore %innerRow_1 %331
|
||||
OpBranch %291
|
||||
%292 = OpLabel
|
||||
OpBranch %264
|
||||
%264 = OpLabel
|
||||
%332 = OpLoad %uint %k
|
||||
%333 = OpIAdd %uint %332 %uint_1
|
||||
OpStore %k %333
|
||||
OpBranch %262
|
||||
%263 = OpLabel
|
||||
OpStore %k %329
|
||||
OpBranch %258
|
||||
%259 = OpLabel
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
OpBranch %182
|
||||
%182 = OpLabel
|
||||
%335 = OpLoad %uint %t
|
||||
%336 = OpIAdd %uint %335 %uint_1
|
||||
OpStore %t %336
|
||||
OpBranch %180
|
||||
%181 = OpLabel
|
||||
OpBranch %178
|
||||
%178 = OpLabel
|
||||
%331 = OpLoad %uint %t
|
||||
%332 = OpIAdd %uint %331 %uint_1
|
||||
OpStore %t %332
|
||||
OpBranch %176
|
||||
%177 = OpLabel
|
||||
OpStore %innerRow_2 %uint_0
|
||||
OpBranch %338
|
||||
%338 = OpLabel
|
||||
OpLoopMerge %339 %340 None
|
||||
OpBranch %341
|
||||
OpBranch %334
|
||||
%334 = OpLabel
|
||||
OpLoopMerge %335 %336 None
|
||||
OpBranch %337
|
||||
%337 = OpLabel
|
||||
%339 = OpLoad %uint %innerRow_2
|
||||
%340 = OpULessThan %bool %339 %RowPerThread
|
||||
%338 = OpLogicalNot %bool %340
|
||||
OpSelectionMerge %341 None
|
||||
OpBranchConditional %338 %342 %341
|
||||
%342 = OpLabel
|
||||
OpBranch %335
|
||||
%341 = OpLabel
|
||||
%343 = OpLoad %uint %innerRow_2
|
||||
%344 = OpULessThan %bool %343 %RowPerThread
|
||||
%342 = OpLogicalNot %bool %344
|
||||
OpSelectionMerge %345 None
|
||||
OpBranchConditional %342 %346 %345
|
||||
%346 = OpLabel
|
||||
OpBranch %339
|
||||
%345 = OpLabel
|
||||
OpStore %innerCol_2 %uint_0
|
||||
OpBranch %348
|
||||
%348 = OpLabel
|
||||
OpLoopMerge %349 %350 None
|
||||
OpBranch %351
|
||||
OpBranch %344
|
||||
%344 = OpLabel
|
||||
OpLoopMerge %345 %346 None
|
||||
OpBranch %347
|
||||
%347 = OpLabel
|
||||
%349 = OpLoad %uint %innerCol_2
|
||||
%350 = OpULessThan %bool %349 %RowPerThread
|
||||
%348 = OpLogicalNot %bool %350
|
||||
OpSelectionMerge %351 None
|
||||
OpBranchConditional %348 %352 %351
|
||||
%352 = OpLabel
|
||||
OpBranch %345
|
||||
%351 = OpLabel
|
||||
%353 = OpLoad %uint %innerCol_2
|
||||
%354 = OpULessThan %bool %353 %RowPerThread
|
||||
%352 = OpLogicalNot %bool %354
|
||||
OpSelectionMerge %355 None
|
||||
OpBranchConditional %352 %356 %355
|
||||
%356 = OpLabel
|
||||
OpBranch %349
|
||||
%355 = OpLabel
|
||||
%357 = OpLoad %uint %innerRow_2
|
||||
%358 = OpIMul %uint %357 %RowPerThread
|
||||
%359 = OpLoad %uint %innerCol_2
|
||||
%360 = OpIAdd %uint %358 %359
|
||||
%362 = OpLoad %uint %innerRow_2
|
||||
%363 = OpIAdd %uint %136 %362
|
||||
%353 = OpLoad %uint %innerRow_2
|
||||
%354 = OpIMul %uint %353 %RowPerThread
|
||||
%355 = OpLoad %uint %innerCol_2
|
||||
%356 = OpIAdd %uint %354 %355
|
||||
%358 = OpLoad %uint %innerRow_2
|
||||
%359 = OpIAdd %uint %135 %358
|
||||
%360 = OpLoad %uint %innerCol_2
|
||||
%361 = OpIAdd %uint %137 %360
|
||||
%362 = OpAccessChain %_ptr_Function_float %acc %356
|
||||
%363 = OpLoad %float %362
|
||||
%357 = OpFunctionCall %void %mm_write %359 %361 %363
|
||||
OpBranch %346
|
||||
%346 = OpLabel
|
||||
%364 = OpLoad %uint %innerCol_2
|
||||
%365 = OpIAdd %uint %139 %364
|
||||
%366 = OpAccessChain %_ptr_Function_float %acc %360
|
||||
%367 = OpLoad %float %366
|
||||
%361 = OpFunctionCall %void %mm_write %363 %365 %367
|
||||
OpBranch %350
|
||||
%350 = OpLabel
|
||||
%368 = OpLoad %uint %innerCol_2
|
||||
%369 = OpIAdd %uint %368 %uint_1
|
||||
OpStore %innerCol_2 %369
|
||||
OpBranch %348
|
||||
%349 = OpLabel
|
||||
OpBranch %340
|
||||
%340 = OpLabel
|
||||
%370 = OpLoad %uint %innerRow_2
|
||||
%371 = OpIAdd %uint %370 %uint_1
|
||||
OpStore %innerRow_2 %371
|
||||
OpBranch %338
|
||||
%339 = OpLabel
|
||||
%365 = OpIAdd %uint %364 %uint_1
|
||||
OpStore %innerCol_2 %365
|
||||
OpBranch %344
|
||||
%345 = OpLabel
|
||||
OpBranch %336
|
||||
%336 = OpLabel
|
||||
%366 = OpLoad %uint %innerRow_2
|
||||
%367 = OpIAdd %uint %366 %uint_1
|
||||
OpStore %innerRow_2 %367
|
||||
OpBranch %334
|
||||
%335 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %368
|
||||
%370 = OpLabel
|
||||
%372 = OpLoad %v3uint %local_id_1
|
||||
%373 = OpLoad %v3uint %global_id_1
|
||||
%374 = OpLoad %uint %local_invocation_index_1
|
||||
%371 = OpFunctionCall %void %main_inner %372 %373 %374
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,20 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 383
|
||||
; Bound: 387
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %main "main" %tint_pointsize %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_6 %tint_symbol_7 %tint_symbol_8
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpEntryPoint Vertex %main "main" %a_Position_1 %a_UV_1 %a_Color_1 %a_Normal_1 %a_PosMtxIdx_1 %v_Color_1 %v_TexCoord_1 %member_1 %vertex_point_size
|
||||
OpName %a_Position_1 "a_Position_1"
|
||||
OpName %a_UV_1 "a_UV_1"
|
||||
OpName %a_Color_1 "a_Color_1"
|
||||
OpName %a_Normal_1 "a_Normal_1"
|
||||
OpName %a_PosMtxIdx_1 "a_PosMtxIdx_1"
|
||||
OpName %v_Color_1 "v_Color_1"
|
||||
OpName %v_TexCoord_1 "v_TexCoord_1"
|
||||
OpName %member_1 "member_1"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %ub_SceneParams "ub_SceneParams"
|
||||
OpMemberName %ub_SceneParams 0 "u_Projection"
|
||||
OpName %Mat4x4_ "Mat4x4_"
|
||||
|
@ -37,14 +45,6 @@
|
|||
OpName %v_Color "v_Color"
|
||||
OpName %v_TexCoord "v_TexCoord"
|
||||
OpName %gl_Position "gl_Position"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %Mat4x3GetCol0_ "Mat4x3GetCol0_"
|
||||
OpName %m "m"
|
||||
OpName %m1 "m1"
|
||||
|
@ -104,10 +104,22 @@
|
|||
OpMemberName %VertexOutput 0 "v_Color"
|
||||
OpMemberName %VertexOutput 1 "v_TexCoord"
|
||||
OpMemberName %VertexOutput 2 "member"
|
||||
OpName %tint_symbol_9 "tint_symbol_9"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %a_Position "a_Position"
|
||||
OpName %a_UV "a_UV"
|
||||
OpName %a_Color "a_Color"
|
||||
OpName %a_Normal "a_Normal"
|
||||
OpName %a_PosMtxIdx "a_PosMtxIdx"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %a_Position_1 Location 0
|
||||
OpDecorate %a_UV_1 Location 1
|
||||
OpDecorate %a_Color_1 Location 2
|
||||
OpDecorate %a_Normal_1 Location 3
|
||||
OpDecorate %a_PosMtxIdx_1 Location 4
|
||||
OpDecorate %v_Color_1 Location 0
|
||||
OpDecorate %v_TexCoord_1 Location 1
|
||||
OpDecorate %member_1 BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %ub_SceneParams Block
|
||||
OpMemberDecorate %ub_SceneParams 0 Offset 0
|
||||
OpMemberDecorate %Mat4x4_ 0 Offset 0
|
||||
|
@ -135,22 +147,32 @@
|
|||
OpDecorate %global2 NonWritable
|
||||
OpDecorate %global2 DescriptorSet 0
|
||||
OpDecorate %global2 Binding 2
|
||||
OpDecorate %tint_symbol Location 0
|
||||
OpDecorate %tint_symbol_1 Location 1
|
||||
OpDecorate %tint_symbol_2 Location 2
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %tint_symbol_4 Location 4
|
||||
OpDecorate %tint_symbol_6 Location 0
|
||||
OpDecorate %tint_symbol_7 Location 1
|
||||
OpDecorate %tint_symbol_8 BuiltIn Position
|
||||
OpMemberDecorate %VertexOutput 0 Offset 0
|
||||
OpMemberDecorate %VertexOutput 1 Offset 16
|
||||
OpMemberDecorate %VertexOutput 2 Offset 32
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Input_v3float = OpTypePointer Input %v3float
|
||||
%a_Position_1 = OpVariable %_ptr_Input_v3float Input
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%a_UV_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%a_Color_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%a_Normal_1 = OpVariable %_ptr_Input_v3float Input
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%a_PosMtxIdx_1 = OpVariable %_ptr_Input_float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%16 = OpConstantNull %v4float
|
||||
%v_Color_1 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%_ptr_Output_v2float = OpTypePointer Output %v2float
|
||||
%19 = OpConstantNull %v2float
|
||||
%v_TexCoord_1 = OpVariable %_ptr_Output_v2float Output %19
|
||||
%member_1 = OpVariable %_ptr_Output_v4float Output %16
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%23 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %23
|
||||
%Mat4x4_ = OpTypeStruct %v4float %v4float %v4float %v4float
|
||||
%ub_SceneParams = OpTypeStruct %Mat4x4_
|
||||
%_ptr_Uniform_ub_SceneParams = OpTypePointer Uniform %ub_SceneParams
|
||||
|
@ -168,37 +190,19 @@
|
|||
%ub_PacketParams = OpTypeStruct %_arr_Mat4x3__uint_32
|
||||
%_ptr_Uniform_ub_PacketParams = OpTypePointer Uniform %ub_PacketParams
|
||||
%global2 = OpVariable %_ptr_Uniform_ub_PacketParams Uniform
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Private_v3float = OpTypePointer Private %v3float
|
||||
%26 = OpConstantNull %v3float
|
||||
%a_Position1 = OpVariable %_ptr_Private_v3float Private %26
|
||||
%v2float = OpTypeVector %float 2
|
||||
%43 = OpConstantNull %v3float
|
||||
%a_Position1 = OpVariable %_ptr_Private_v3float Private %43
|
||||
%_ptr_Private_v2float = OpTypePointer Private %v2float
|
||||
%30 = OpConstantNull %v2float
|
||||
%a_UV1 = OpVariable %_ptr_Private_v2float Private %30
|
||||
%a_UV1 = OpVariable %_ptr_Private_v2float Private %19
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%33 = OpConstantNull %v4float
|
||||
%a_Color1 = OpVariable %_ptr_Private_v4float Private %33
|
||||
%a_Normal1 = OpVariable %_ptr_Private_v3float Private %26
|
||||
%a_Color1 = OpVariable %_ptr_Private_v4float Private %16
|
||||
%a_Normal1 = OpVariable %_ptr_Private_v3float Private %43
|
||||
%_ptr_Private_float = OpTypePointer Private %float
|
||||
%a_PosMtxIdx1 = OpVariable %_ptr_Private_float Private %4
|
||||
%v_Color = OpVariable %_ptr_Private_v4float Private %33
|
||||
%v_TexCoord = OpVariable %_ptr_Private_v2float Private %30
|
||||
%gl_Position = OpVariable %_ptr_Private_v4float Private %33
|
||||
%_ptr_Input_v3float = OpTypePointer Input %v3float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3float Input
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_v4float Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v3float Input
|
||||
%_ptr_Input_float = OpTypePointer Input %float
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%tint_symbol_6 = OpVariable %_ptr_Output_v4float Output %33
|
||||
%_ptr_Output_v2float = OpTypePointer Output %v2float
|
||||
%tint_symbol_7 = OpVariable %_ptr_Output_v2float Output %30
|
||||
%tint_symbol_8 = OpVariable %_ptr_Output_v4float Output %33
|
||||
%a_PosMtxIdx1 = OpVariable %_ptr_Private_float Private %23
|
||||
%v_Color = OpVariable %_ptr_Private_v4float Private %16
|
||||
%v_TexCoord = OpVariable %_ptr_Private_v2float Private %19
|
||||
%gl_Position = OpVariable %_ptr_Private_v4float Private %16
|
||||
%54 = OpTypeFunction %v3float %Mat4x3_
|
||||
%_ptr_Function_Mat4x3_ = OpTypePointer Function %Mat4x3_
|
||||
%60 = OpConstantNull %Mat4x3_
|
||||
|
@ -235,7 +239,7 @@
|
|||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Uniform_Mat4x2_ = OpTypePointer Uniform %Mat4x2_
|
||||
%VertexOutput = OpTypeStruct %v4float %v2float %v4float
|
||||
%362 = OpTypeFunction %void %VertexOutput
|
||||
%362 = OpTypeFunction %VertexOutput %v3float %v2float %v4float %v3float %float
|
||||
%Mat4x3GetCol0_ = OpFunction %v3float None %54
|
||||
%m = OpFunctionParameter %Mat4x3_
|
||||
%57 = OpLabel
|
||||
|
@ -309,7 +313,7 @@
|
|||
%v = OpFunctionParameter %v4float
|
||||
%117 = OpLabel
|
||||
%m9 = OpVariable %_ptr_Function_Mat4x4_ Function %120
|
||||
%v1 = OpVariable %_ptr_Function_v4float Function %33
|
||||
%v1 = OpVariable %_ptr_Function_v4float Function %16
|
||||
OpStore %m9 %m8
|
||||
OpStore %v1 %v
|
||||
%123 = OpLoad %Mat4x4_ %m9
|
||||
|
@ -336,7 +340,7 @@
|
|||
%v2 = OpFunctionParameter %v4float
|
||||
%144 = OpLabel
|
||||
%m11 = OpVariable %_ptr_Function_Mat4x3_ Function %60
|
||||
%v3 = OpVariable %_ptr_Function_v4float Function %33
|
||||
%v3 = OpVariable %_ptr_Function_v4float Function %16
|
||||
OpStore %m11 %m10
|
||||
OpStore %v3 %v2
|
||||
%147 = OpLoad %Mat4x3_ %m11
|
||||
|
@ -359,7 +363,7 @@
|
|||
%v4 = OpFunctionParameter %v4float
|
||||
%164 = OpLabel
|
||||
%m13 = OpVariable %_ptr_Function_Mat4x2_ Function %167
|
||||
%v5 = OpVariable %_ptr_Function_v4float Function %33
|
||||
%v5 = OpVariable %_ptr_Function_v4float Function %16
|
||||
OpStore %m13 %m12
|
||||
OpStore %v5 %v4
|
||||
%169 = OpLoad %Mat4x2_ %m13
|
||||
|
@ -377,7 +381,7 @@
|
|||
%v6 = OpFunctionParameter %v3float
|
||||
%m14 = OpFunctionParameter %Mat4x3_
|
||||
%182 = OpLabel
|
||||
%v7 = OpVariable %_ptr_Function_v3float Function %26
|
||||
%v7 = OpVariable %_ptr_Function_v3float Function %43
|
||||
%m15 = OpVariable %_ptr_Function_Mat4x3_ Function %60
|
||||
OpStore %v7 %v6
|
||||
OpStore %m15 %m14
|
||||
|
@ -403,7 +407,7 @@
|
|||
%_Mat4x4_ = OpFunction %Mat4x4_ None %203
|
||||
%n = OpFunctionParameter %float
|
||||
%206 = OpLabel
|
||||
%n1 = OpVariable %_ptr_Function_float Function %4
|
||||
%n1 = OpVariable %_ptr_Function_float Function %23
|
||||
%o = OpVariable %_ptr_Function_Mat4x4_ Function %120
|
||||
OpStore %n1 %n
|
||||
%210 = OpLoad %float %n1
|
||||
|
@ -470,7 +474,7 @@
|
|||
%_Mat4x3_ = OpFunction %Mat4x3_ None %259
|
||||
%n2 = OpFunctionParameter %float
|
||||
%262 = OpLabel
|
||||
%n3 = OpVariable %_ptr_Function_float Function %4
|
||||
%n3 = OpVariable %_ptr_Function_float Function %23
|
||||
%o3 = OpVariable %_ptr_Function_Mat4x3_ Function %60
|
||||
OpStore %n3 %n2
|
||||
%265 = OpLoad %float %n3
|
||||
|
@ -512,7 +516,7 @@
|
|||
%main1 = OpFunction %void None %291
|
||||
%294 = OpLabel
|
||||
%t_PosMtx = OpVariable %_ptr_Function_Mat4x3_ Function %60
|
||||
%t_TexSpaceCoord = OpVariable %_ptr_Function_v2float Function %30
|
||||
%t_TexSpaceCoord = OpVariable %_ptr_Function_v2float Function %19
|
||||
%298 = OpLoad %float %a_PosMtxIdx1
|
||||
%299 = OpConvertFToS %int %298
|
||||
%302 = OpAccessChain %_ptr_Uniform_Mat4x3_ %global2 %uint_0 %299
|
||||
|
@ -580,35 +584,39 @@
|
|||
%338 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_9 = OpFunction %void None %362
|
||||
%tint_symbol_5 = OpFunctionParameter %VertexOutput
|
||||
%366 = OpLabel
|
||||
%367 = OpCompositeExtract %v4float %tint_symbol_5 0
|
||||
OpStore %tint_symbol_6 %367
|
||||
%368 = OpCompositeExtract %v2float %tint_symbol_5 1
|
||||
OpStore %tint_symbol_7 %368
|
||||
%369 = OpCompositeExtract %v4float %tint_symbol_5 2
|
||||
OpStore %tint_symbol_8 %369
|
||||
OpReturn
|
||||
%main_inner = OpFunction %VertexOutput None %362
|
||||
%a_Position = OpFunctionParameter %v3float
|
||||
%a_UV = OpFunctionParameter %v2float
|
||||
%a_Color = OpFunctionParameter %v4float
|
||||
%a_Normal = OpFunctionParameter %v3float
|
||||
%a_PosMtxIdx = OpFunctionParameter %float
|
||||
%370 = OpLabel
|
||||
OpStore %a_Position1 %a_Position
|
||||
OpStore %a_UV1 %a_UV
|
||||
OpStore %a_Color1 %a_Color
|
||||
OpStore %a_Normal1 %a_Normal
|
||||
OpStore %a_PosMtxIdx1 %a_PosMtxIdx
|
||||
%371 = OpFunctionCall %void %main1
|
||||
%372 = OpLoad %v4float %v_Color
|
||||
%373 = OpLoad %v2float %v_TexCoord
|
||||
%374 = OpLoad %v4float %gl_Position
|
||||
%375 = OpCompositeConstruct %VertexOutput %372 %373 %374
|
||||
OpReturnValue %375
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %291
|
||||
%371 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%372 = OpLoad %v3float %tint_symbol
|
||||
OpStore %a_Position1 %372
|
||||
%373 = OpLoad %v2float %tint_symbol_1
|
||||
OpStore %a_UV1 %373
|
||||
%374 = OpLoad %v4float %tint_symbol_2
|
||||
OpStore %a_Color1 %374
|
||||
%375 = OpLoad %v3float %tint_symbol_3
|
||||
OpStore %a_Normal1 %375
|
||||
%376 = OpLoad %float %tint_symbol_4
|
||||
OpStore %a_PosMtxIdx1 %376
|
||||
%377 = OpFunctionCall %void %main1
|
||||
%378 = OpLoad %v4float %v_Color
|
||||
%379 = OpLoad %v2float %v_TexCoord
|
||||
%380 = OpLoad %v4float %gl_Position
|
||||
%382 = OpCompositeConstruct %VertexOutput %378 %379 %380
|
||||
%381 = OpFunctionCall %void %tint_symbol_9 %382
|
||||
%377 = OpLabel
|
||||
%379 = OpLoad %v3float %a_Position_1
|
||||
%380 = OpLoad %v2float %a_UV_1
|
||||
%381 = OpLoad %v4float %a_Color_1
|
||||
%382 = OpLoad %v3float %a_Normal_1
|
||||
%383 = OpLoad %float %a_PosMtxIdx_1
|
||||
%378 = OpFunctionCall %VertexOutput %main_inner %379 %380 %381 %382 %383
|
||||
%384 = OpCompositeExtract %v4float %378 0
|
||||
OpStore %v_Color_1 %384
|
||||
%385 = OpCompositeExtract %v2float %378 1
|
||||
OpStore %v_TexCoord_1 %385
|
||||
%386 = OpCompositeExtract %v4float %378 2
|
||||
OpStore %member_1 %386
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,51 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 21
|
||||
; Bound: 27
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %computeMain "computeMain"
|
||||
OpEntryPoint GLCompute %computeMain "computeMain" %global_id_1
|
||||
OpExecutionMode %computeMain LocalSize 1 1 1
|
||||
OpName %global_id_1 "global_id_1"
|
||||
OpName %DrawIndirectArgs "DrawIndirectArgs"
|
||||
OpMemberName %DrawIndirectArgs 0 "vertexCount"
|
||||
OpName %drawOut "drawOut"
|
||||
OpName %cubeVerts "cubeVerts"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %computeMain_inner "computeMain_inner"
|
||||
OpName %global_id "global_id"
|
||||
OpName %computeMain "computeMain"
|
||||
OpDecorate %global_id_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %DrawIndirectArgs Block
|
||||
OpMemberDecorate %DrawIndirectArgs 0 Offset 0
|
||||
OpDecorate %drawOut DescriptorSet 0
|
||||
OpDecorate %drawOut Binding 5
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%global_id_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%DrawIndirectArgs = OpTypeStruct %uint
|
||||
%_ptr_StorageBuffer_DrawIndirectArgs = OpTypePointer StorageBuffer %DrawIndirectArgs
|
||||
%drawOut = OpVariable %_ptr_StorageBuffer_DrawIndirectArgs StorageBuffer
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
%cubeVerts = OpVariable %_ptr_Private_uint Private %uint_0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%void = OpTypeVoid
|
||||
%11 = OpTypeFunction %void
|
||||
%11 = OpTypeFunction %void %v3uint
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
|
||||
%computeMain = OpFunction %void None %11
|
||||
%14 = OpLabel
|
||||
%19 = OpAccessChain %_ptr_StorageBuffer_uint %drawOut %uint_0
|
||||
%20 = OpLoad %uint %cubeVerts
|
||||
%15 = OpAtomicIAdd %uint %19 %uint_1 %uint_0 %20
|
||||
%22 = OpTypeFunction %void
|
||||
%computeMain_inner = OpFunction %void None %11
|
||||
%global_id = OpFunctionParameter %v3uint
|
||||
%15 = OpLabel
|
||||
%20 = OpAccessChain %_ptr_StorageBuffer_uint %drawOut %uint_0
|
||||
%21 = OpLoad %uint %cubeVerts
|
||||
%16 = OpAtomicIAdd %uint %20 %uint_1 %uint_0 %21
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%computeMain = OpFunction %void None %22
|
||||
%24 = OpLabel
|
||||
%26 = OpLoad %v3uint %global_id_1
|
||||
%25 = OpFunctionCall %void %computeMain_inner %26
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 254
|
||||
; Bound: 259
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpCapability ImageQuery
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol_2 %tint_symbol %tint_symbol_1
|
||||
OpEntryPoint GLCompute %main "main" %WorkGroupID_1 %LocalInvocationID_1 %local_invocation_index_1
|
||||
OpExecutionMode %main LocalSize 64 1 1
|
||||
OpName %WorkGroupID_1 "WorkGroupID_1"
|
||||
OpName %LocalInvocationID_1 "LocalInvocationID_1"
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %samp "samp"
|
||||
OpName %Params "Params"
|
||||
OpMemberName %Params 0 "filterDim"
|
||||
|
@ -19,10 +22,10 @@
|
|||
OpMemberName %Flip 0 "value"
|
||||
OpName %flip "flip"
|
||||
OpName %tile "tile"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %WorkGroupID "WorkGroupID"
|
||||
OpName %LocalInvocationID "LocalInvocationID"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %idx "idx"
|
||||
OpName %r "r"
|
||||
OpName %c "c"
|
||||
|
@ -33,6 +36,10 @@
|
|||
OpName %acc "acc"
|
||||
OpName %f "f"
|
||||
OpName %i "i"
|
||||
OpName %main "main"
|
||||
OpDecorate %WorkGroupID_1 BuiltIn WorkgroupId
|
||||
OpDecorate %LocalInvocationID_1 BuiltIn LocalInvocationId
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %samp DescriptorSet 0
|
||||
OpDecorate %samp Binding 0
|
||||
OpDecorate %Params Block
|
||||
|
@ -53,23 +60,26 @@
|
|||
OpDecorate %flip Binding 3
|
||||
OpDecorate %_arr_v3float_uint_256 ArrayStride 16
|
||||
OpDecorate %_arr__arr_v3float_uint_256_uint_4 ArrayStride 4096
|
||||
OpDecorate %tint_symbol BuiltIn WorkgroupId
|
||||
OpDecorate %tint_symbol_1 BuiltIn LocalInvocationId
|
||||
OpDecorate %tint_symbol_2 BuiltIn LocalInvocationIndex
|
||||
%3 = OpTypeSampler
|
||||
%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
|
||||
%samp = OpVariable %_ptr_UniformConstant_3 UniformConstant
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%WorkGroupID_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%LocalInvocationID_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%10 = OpTypeSampler
|
||||
%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10
|
||||
%samp = OpVariable %_ptr_UniformConstant_10 UniformConstant
|
||||
%Params = OpTypeStruct %uint %uint
|
||||
%_ptr_Uniform_Params = OpTypePointer Uniform %Params
|
||||
%params = OpVariable %_ptr_Uniform_Params Uniform
|
||||
%float = OpTypeFloat 32
|
||||
%10 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10
|
||||
%inputTex = OpVariable %_ptr_UniformConstant_10 UniformConstant
|
||||
%14 = OpTypeImage %float 2D 0 0 0 2 Rgba8
|
||||
%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
|
||||
%outputTex = OpVariable %_ptr_UniformConstant_14 UniformConstant
|
||||
%16 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_16 = OpTypePointer UniformConstant %16
|
||||
%inputTex = OpVariable %_ptr_UniformConstant_16 UniformConstant
|
||||
%20 = OpTypeImage %float 2D 0 0 0 2 Rgba8
|
||||
%_ptr_UniformConstant_20 = OpTypePointer UniformConstant %20
|
||||
%outputTex = OpVariable %_ptr_UniformConstant_20 UniformConstant
|
||||
%Flip = OpTypeStruct %uint
|
||||
%_ptr_Uniform_Flip = OpTypePointer Uniform %Flip
|
||||
%flip = OpVariable %_ptr_Uniform_Flip Uniform
|
||||
|
@ -80,20 +90,14 @@
|
|||
%_arr__arr_v3float_uint_256_uint_4 = OpTypeArray %_arr_v3float_uint_256 %uint_4
|
||||
%_ptr_Workgroup__arr__arr_v3float_uint_256_uint_4 = OpTypePointer Workgroup %_arr__arr_v3float_uint_256_uint_4
|
||||
%tile = OpVariable %_ptr_Workgroup__arr__arr_v3float_uint_256_uint_4 Workgroup
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%31 = OpTypeFunction %void
|
||||
%31 = OpTypeFunction %void %v3uint %v3uint %uint
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%38 = OpConstantNull %uint
|
||||
%40 = OpConstantNull %uint
|
||||
%uint_1024 = OpConstant %uint 1024
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Workgroup_v3float = OpTypePointer Workgroup %v3float
|
||||
%56 = OpConstantNull %v3float
|
||||
%58 = OpConstantNull %v3float
|
||||
%uint_64 = OpConstant %uint 64
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_264 = OpConstant %uint 264
|
||||
|
@ -108,76 +112,77 @@
|
|||
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
||||
%119 = OpConstantNull %v2int
|
||||
%v4float = OpTypeVector %float 4
|
||||
%138 = OpTypeSampledImage %10
|
||||
%137 = OpTypeSampledImage %16
|
||||
%v2float = OpTypeVector %float 2
|
||||
%float_0_25 = OpConstant %float 0.25
|
||||
%144 = OpConstantComposite %v2float %float_0_25 %float_0_25
|
||||
%143 = OpConstantComposite %v2float %float_0_25 %float_0_25
|
||||
%float_0 = OpConstant %float 0
|
||||
%v2bool = OpTypeVector %bool 2
|
||||
%209 = OpConstantComposite %v3float %float_0 %float_0 %float_0
|
||||
%207 = OpConstantComposite %v3float %float_0 %float_0 %float_0
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%float_1 = OpConstant %float 1
|
||||
%main = OpFunction %void None %31
|
||||
%34 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %38
|
||||
%r = OpVariable %_ptr_Function_uint Function %38
|
||||
%c = OpVariable %_ptr_Function_uint Function %38
|
||||
%252 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %void None %31
|
||||
%WorkGroupID = OpFunctionParameter %v3uint
|
||||
%LocalInvocationID = OpFunctionParameter %v3uint
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%37 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %40
|
||||
%r = OpVariable %_ptr_Function_uint Function %40
|
||||
%c = OpVariable %_ptr_Function_uint Function %40
|
||||
%loadIndex = OpVariable %_ptr_Function_v2int Function %119
|
||||
%r_0 = OpVariable %_ptr_Function_uint Function %38
|
||||
%c_0 = OpVariable %_ptr_Function_uint Function %38
|
||||
%r_0 = OpVariable %_ptr_Function_uint Function %40
|
||||
%c_0 = OpVariable %_ptr_Function_uint Function %40
|
||||
%writeIndex = OpVariable %_ptr_Function_v2int Function %119
|
||||
%acc = OpVariable %_ptr_Function_v3float Function %56
|
||||
%f = OpVariable %_ptr_Function_uint Function %38
|
||||
%i = OpVariable %_ptr_Function_uint Function %38
|
||||
%35 = OpLoad %uint %tint_symbol_2
|
||||
OpStore %idx %35
|
||||
OpBranch %39
|
||||
%39 = OpLabel
|
||||
OpLoopMerge %40 %41 None
|
||||
OpBranch %42
|
||||
%42 = OpLabel
|
||||
%44 = OpLoad %uint %idx
|
||||
%46 = OpULessThan %bool %44 %uint_1024
|
||||
%43 = OpLogicalNot %bool %46
|
||||
OpSelectionMerge %48 None
|
||||
OpBranchConditional %43 %49 %48
|
||||
%49 = OpLabel
|
||||
OpBranch %40
|
||||
%48 = OpLabel
|
||||
%50 = OpLoad %uint %idx
|
||||
%51 = OpUDiv %uint %50 %uint_256
|
||||
%52 = OpLoad %uint %idx
|
||||
%53 = OpUMod %uint %52 %uint_256
|
||||
%55 = OpAccessChain %_ptr_Workgroup_v3float %tile %51 %53
|
||||
OpStore %55 %56
|
||||
%acc = OpVariable %_ptr_Function_v3float Function %58
|
||||
%f = OpVariable %_ptr_Function_uint Function %40
|
||||
%i = OpVariable %_ptr_Function_uint Function %40
|
||||
OpStore %idx %local_invocation_index
|
||||
OpBranch %41
|
||||
%41 = OpLabel
|
||||
%57 = OpLoad %uint %idx
|
||||
%59 = OpIAdd %uint %57 %uint_64
|
||||
OpStore %idx %59
|
||||
OpBranch %39
|
||||
%40 = OpLabel
|
||||
OpLoopMerge %42 %43 None
|
||||
OpBranch %44
|
||||
%44 = OpLabel
|
||||
%46 = OpLoad %uint %idx
|
||||
%48 = OpULessThan %bool %46 %uint_1024
|
||||
%45 = OpLogicalNot %bool %48
|
||||
OpSelectionMerge %50 None
|
||||
OpBranchConditional %45 %51 %50
|
||||
%51 = OpLabel
|
||||
OpBranch %42
|
||||
%50 = OpLabel
|
||||
%52 = OpLoad %uint %idx
|
||||
%53 = OpUDiv %uint %52 %uint_256
|
||||
%54 = OpLoad %uint %idx
|
||||
%55 = OpUMod %uint %54 %uint_256
|
||||
%57 = OpAccessChain %_ptr_Workgroup_v3float %tile %53 %55
|
||||
OpStore %57 %58
|
||||
OpBranch %43
|
||||
%43 = OpLabel
|
||||
%59 = OpLoad %uint %idx
|
||||
%61 = OpIAdd %uint %59 %uint_64
|
||||
OpStore %idx %61
|
||||
OpBranch %41
|
||||
%42 = OpLabel
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%65 = OpAccessChain %_ptr_Uniform_uint %params %uint_0
|
||||
%66 = OpLoad %uint %65
|
||||
%68 = OpISub %uint %66 %uint_1
|
||||
%69 = OpUDiv %uint %68 %uint_2
|
||||
%73 = OpLoad %10 %inputTex
|
||||
%70 = OpImageQuerySizeLod %v2int %73 %int_0
|
||||
%77 = OpLoad %v3uint %tint_symbol
|
||||
%78 = OpVectorShuffle %v2uint %77 %77 0 1
|
||||
%79 = OpAccessChain %_ptr_Uniform_uint %params %uint_1
|
||||
%80 = OpLoad %uint %79
|
||||
%81 = OpCompositeConstruct %v2uint %80 %uint_4
|
||||
%82 = OpIMul %v2uint %78 %81
|
||||
%83 = OpLoad %v3uint %tint_symbol_1
|
||||
%84 = OpVectorShuffle %v2uint %83 %83 0 1
|
||||
%67 = OpAccessChain %_ptr_Uniform_uint %params %uint_0
|
||||
%68 = OpLoad %uint %67
|
||||
%70 = OpISub %uint %68 %uint_1
|
||||
%71 = OpUDiv %uint %70 %uint_2
|
||||
%75 = OpLoad %16 %inputTex
|
||||
%72 = OpImageQuerySizeLod %v2int %75 %int_0
|
||||
%79 = OpVectorShuffle %v2uint %WorkGroupID %WorkGroupID 0 1
|
||||
%80 = OpAccessChain %_ptr_Uniform_uint %params %uint_1
|
||||
%81 = OpLoad %uint %80
|
||||
%82 = OpCompositeConstruct %v2uint %81 %uint_4
|
||||
%83 = OpIMul %v2uint %79 %82
|
||||
%84 = OpVectorShuffle %v2uint %LocalInvocationID %LocalInvocationID 0 1
|
||||
%86 = OpIMul %v2uint %84 %85
|
||||
%87 = OpIAdd %v2uint %82 %86
|
||||
%75 = OpBitcast %v2int %87
|
||||
%88 = OpBitcast %int %69
|
||||
%87 = OpIAdd %v2uint %83 %86
|
||||
%77 = OpBitcast %v2int %87
|
||||
%88 = OpBitcast %int %71
|
||||
%89 = OpCompositeConstruct %v2int %88 %int_0
|
||||
%90 = OpISub %v2int %75 %89
|
||||
%90 = OpISub %v2int %77 %89
|
||||
OpStore %r %uint_0
|
||||
OpBranch %92
|
||||
%92 = OpLabel
|
||||
|
@ -225,173 +230,179 @@
|
|||
OpBranch %123
|
||||
%123 = OpLabel
|
||||
%127 = OpLoad %uint %r
|
||||
%128 = OpAccessChain %_ptr_Input_uint %tint_symbol_1 %uint_0
|
||||
%129 = OpLoad %uint %128
|
||||
%130 = OpIMul %uint %uint_4 %129
|
||||
%131 = OpLoad %uint %c
|
||||
%132 = OpIAdd %uint %130 %131
|
||||
%133 = OpAccessChain %_ptr_Workgroup_v3float %tile %127 %132
|
||||
%136 = OpLoad %3 %samp
|
||||
%137 = OpLoad %10 %inputTex
|
||||
%139 = OpSampledImage %138 %137 %136
|
||||
%142 = OpLoad %v2int %loadIndex
|
||||
%140 = OpConvertSToF %v2float %142
|
||||
%145 = OpFAdd %v2float %140 %144
|
||||
%146 = OpConvertSToF %v2float %70
|
||||
%147 = OpFDiv %v2float %145 %146
|
||||
%134 = OpImageSampleExplicitLod %v4float %139 %147 Lod %float_0
|
||||
%149 = OpVectorShuffle %v3float %134 %134 0 1 2
|
||||
OpStore %133 %149
|
||||
%128 = OpCompositeExtract %uint %LocalInvocationID 0
|
||||
%129 = OpIMul %uint %uint_4 %128
|
||||
%130 = OpLoad %uint %c
|
||||
%131 = OpIAdd %uint %129 %130
|
||||
%132 = OpAccessChain %_ptr_Workgroup_v3float %tile %127 %131
|
||||
%135 = OpLoad %10 %samp
|
||||
%136 = OpLoad %16 %inputTex
|
||||
%138 = OpSampledImage %137 %136 %135
|
||||
%141 = OpLoad %v2int %loadIndex
|
||||
%139 = OpConvertSToF %v2float %141
|
||||
%144 = OpFAdd %v2float %139 %143
|
||||
%145 = OpConvertSToF %v2float %72
|
||||
%146 = OpFDiv %v2float %144 %145
|
||||
%133 = OpImageSampleExplicitLod %v4float %138 %146 Lod %float_0
|
||||
%148 = OpVectorShuffle %v3float %133 %133 0 1 2
|
||||
OpStore %132 %148
|
||||
OpBranch %104
|
||||
%104 = OpLabel
|
||||
%150 = OpLoad %uint %c
|
||||
%151 = OpIAdd %uint %150 %uint_1
|
||||
OpStore %c %151
|
||||
%149 = OpLoad %uint %c
|
||||
%150 = OpIAdd %uint %149 %uint_1
|
||||
OpStore %c %150
|
||||
OpBranch %102
|
||||
%103 = OpLabel
|
||||
OpBranch %94
|
||||
%94 = OpLabel
|
||||
%152 = OpLoad %uint %r
|
||||
%153 = OpIAdd %uint %152 %uint_1
|
||||
OpStore %r %153
|
||||
%151 = OpLoad %uint %r
|
||||
%152 = OpIAdd %uint %151 %uint_1
|
||||
OpStore %r %152
|
||||
OpBranch %92
|
||||
%93 = OpLabel
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
OpStore %r_0 %uint_0
|
||||
OpBranch %156
|
||||
%156 = OpLabel
|
||||
OpLoopMerge %157 %158 None
|
||||
OpBranch %159
|
||||
%159 = OpLabel
|
||||
%161 = OpLoad %uint %r_0
|
||||
%162 = OpULessThan %bool %161 %uint_4
|
||||
%160 = OpLogicalNot %bool %162
|
||||
OpSelectionMerge %163 None
|
||||
OpBranchConditional %160 %164 %163
|
||||
%164 = OpLabel
|
||||
OpBranch %157
|
||||
%163 = OpLabel
|
||||
OpStore %c_0 %uint_0
|
||||
OpBranch %166
|
||||
%166 = OpLabel
|
||||
OpLoopMerge %167 %168 None
|
||||
OpBranch %169
|
||||
%169 = OpLabel
|
||||
%171 = OpLoad %uint %c_0
|
||||
%172 = OpULessThan %bool %171 %uint_4
|
||||
%170 = OpLogicalNot %bool %172
|
||||
OpSelectionMerge %173 None
|
||||
OpBranchConditional %170 %174 %173
|
||||
%174 = OpLabel
|
||||
OpBranch %167
|
||||
%173 = OpLabel
|
||||
%176 = OpLoad %uint %c_0
|
||||
%175 = OpBitcast %int %176
|
||||
%178 = OpLoad %uint %r_0
|
||||
%177 = OpBitcast %int %178
|
||||
%179 = OpCompositeConstruct %v2int %175 %177
|
||||
%180 = OpIAdd %v2int %90 %179
|
||||
OpStore %writeIndex %180
|
||||
%182 = OpAccessChain %_ptr_Uniform_uint %flip %uint_0
|
||||
%183 = OpLoad %uint %182
|
||||
%184 = OpINotEqual %bool %183 %uint_0
|
||||
OpSelectionMerge %185 None
|
||||
OpBranchConditional %184 %186 %185
|
||||
%186 = OpLabel
|
||||
%187 = OpLoad %v2int %writeIndex
|
||||
%188 = OpVectorShuffle %v2int %187 %187 1 0
|
||||
OpStore %writeIndex %188
|
||||
OpBranch %185
|
||||
%185 = OpLabel
|
||||
%189 = OpAccessChain %_ptr_Input_uint %tint_symbol_1 %uint_0
|
||||
%190 = OpLoad %uint %189
|
||||
%191 = OpIMul %uint %uint_4 %190
|
||||
%192 = OpLoad %uint %c_0
|
||||
%193 = OpIAdd %uint %191 %192
|
||||
%194 = OpUGreaterThanEqual %bool %193 %69
|
||||
OpSelectionMerge %195 None
|
||||
OpBranchConditional %194 %196 %195
|
||||
%196 = OpLabel
|
||||
%197 = OpISub %uint %uint_256 %69
|
||||
%198 = OpULessThan %bool %193 %197
|
||||
OpBranch %195
|
||||
%195 = OpLabel
|
||||
%199 = OpPhi %bool %194 %185 %198 %196
|
||||
OpSelectionMerge %200 None
|
||||
OpBranchConditional %199 %201 %200
|
||||
%201 = OpLabel
|
||||
%203 = OpLoad %v2int %writeIndex
|
||||
%204 = OpSLessThan %v2bool %203 %70
|
||||
%202 = OpAll %bool %204
|
||||
OpBranch %200
|
||||
%200 = OpLabel
|
||||
%206 = OpPhi %bool %199 %195 %202 %201
|
||||
OpSelectionMerge %207 None
|
||||
OpBranchConditional %206 %208 %207
|
||||
%208 = OpLabel
|
||||
OpStore %acc %209
|
||||
OpStore %f %uint_0
|
||||
OpBranch %213
|
||||
%213 = OpLabel
|
||||
OpLoopMerge %214 %215 None
|
||||
OpBranch %216
|
||||
%216 = OpLabel
|
||||
%218 = OpLoad %uint %f
|
||||
%219 = OpAccessChain %_ptr_Uniform_uint %params %uint_0
|
||||
%220 = OpLoad %uint %219
|
||||
%221 = OpULessThan %bool %218 %220
|
||||
%217 = OpLogicalNot %bool %221
|
||||
OpSelectionMerge %222 None
|
||||
OpBranchConditional %217 %223 %222
|
||||
%223 = OpLabel
|
||||
OpBranch %214
|
||||
%222 = OpLabel
|
||||
%224 = OpLoad %uint %f
|
||||
%225 = OpIAdd %uint %193 %224
|
||||
%226 = OpISub %uint %225 %69
|
||||
OpStore %i %226
|
||||
%228 = OpLoad %v3float %acc
|
||||
%231 = OpAccessChain %_ptr_Uniform_uint %params %uint_0
|
||||
%232 = OpLoad %uint %231
|
||||
%230 = OpConvertUToF %float %232
|
||||
%233 = OpFDiv %float %float_1 %230
|
||||
%234 = OpLoad %uint %r_0
|
||||
%235 = OpLoad %uint %i
|
||||
%236 = OpAccessChain %_ptr_Workgroup_v3float %tile %234 %235
|
||||
%237 = OpLoad %v3float %236
|
||||
%238 = OpVectorTimesScalar %v3float %237 %233
|
||||
%239 = OpFAdd %v3float %228 %238
|
||||
OpStore %acc %239
|
||||
OpBranch %215
|
||||
%215 = OpLabel
|
||||
%240 = OpLoad %uint %f
|
||||
%241 = OpIAdd %uint %240 %uint_1
|
||||
OpStore %f %241
|
||||
OpBranch %213
|
||||
%214 = OpLabel
|
||||
%243 = OpLoad %14 %outputTex
|
||||
%244 = OpLoad %v2int %writeIndex
|
||||
%245 = OpLoad %v3float %acc
|
||||
%246 = OpCompositeExtract %float %245 0
|
||||
%247 = OpCompositeExtract %float %245 1
|
||||
%248 = OpCompositeExtract %float %245 2
|
||||
%249 = OpCompositeConstruct %v4float %246 %247 %248 %float_1
|
||||
OpImageWrite %243 %244 %249
|
||||
OpBranch %207
|
||||
%207 = OpLabel
|
||||
OpBranch %168
|
||||
%168 = OpLabel
|
||||
%250 = OpLoad %uint %c_0
|
||||
%251 = OpIAdd %uint %250 %uint_1
|
||||
OpStore %c_0 %251
|
||||
OpBranch %166
|
||||
%167 = OpLabel
|
||||
OpBranch %155
|
||||
%155 = OpLabel
|
||||
OpLoopMerge %156 %157 None
|
||||
OpBranch %158
|
||||
%158 = OpLabel
|
||||
%252 = OpLoad %uint %r_0
|
||||
%253 = OpIAdd %uint %252 %uint_1
|
||||
OpStore %r_0 %253
|
||||
%160 = OpLoad %uint %r_0
|
||||
%161 = OpULessThan %bool %160 %uint_4
|
||||
%159 = OpLogicalNot %bool %161
|
||||
OpSelectionMerge %162 None
|
||||
OpBranchConditional %159 %163 %162
|
||||
%163 = OpLabel
|
||||
OpBranch %156
|
||||
%162 = OpLabel
|
||||
OpStore %c_0 %uint_0
|
||||
OpBranch %165
|
||||
%165 = OpLabel
|
||||
OpLoopMerge %166 %167 None
|
||||
OpBranch %168
|
||||
%168 = OpLabel
|
||||
%170 = OpLoad %uint %c_0
|
||||
%171 = OpULessThan %bool %170 %uint_4
|
||||
%169 = OpLogicalNot %bool %171
|
||||
OpSelectionMerge %172 None
|
||||
OpBranchConditional %169 %173 %172
|
||||
%173 = OpLabel
|
||||
OpBranch %166
|
||||
%172 = OpLabel
|
||||
%175 = OpLoad %uint %c_0
|
||||
%174 = OpBitcast %int %175
|
||||
%177 = OpLoad %uint %r_0
|
||||
%176 = OpBitcast %int %177
|
||||
%178 = OpCompositeConstruct %v2int %174 %176
|
||||
%179 = OpIAdd %v2int %90 %178
|
||||
OpStore %writeIndex %179
|
||||
%181 = OpAccessChain %_ptr_Uniform_uint %flip %uint_0
|
||||
%182 = OpLoad %uint %181
|
||||
%183 = OpINotEqual %bool %182 %uint_0
|
||||
OpSelectionMerge %184 None
|
||||
OpBranchConditional %183 %185 %184
|
||||
%185 = OpLabel
|
||||
%186 = OpLoad %v2int %writeIndex
|
||||
%187 = OpVectorShuffle %v2int %186 %186 1 0
|
||||
OpStore %writeIndex %187
|
||||
OpBranch %184
|
||||
%184 = OpLabel
|
||||
%188 = OpCompositeExtract %uint %LocalInvocationID 0
|
||||
%189 = OpIMul %uint %uint_4 %188
|
||||
%190 = OpLoad %uint %c_0
|
||||
%191 = OpIAdd %uint %189 %190
|
||||
%192 = OpUGreaterThanEqual %bool %191 %71
|
||||
OpSelectionMerge %193 None
|
||||
OpBranchConditional %192 %194 %193
|
||||
%194 = OpLabel
|
||||
%195 = OpISub %uint %uint_256 %71
|
||||
%196 = OpULessThan %bool %191 %195
|
||||
OpBranch %193
|
||||
%193 = OpLabel
|
||||
%197 = OpPhi %bool %192 %184 %196 %194
|
||||
OpSelectionMerge %198 None
|
||||
OpBranchConditional %197 %199 %198
|
||||
%199 = OpLabel
|
||||
%201 = OpLoad %v2int %writeIndex
|
||||
%202 = OpSLessThan %v2bool %201 %72
|
||||
%200 = OpAll %bool %202
|
||||
OpBranch %198
|
||||
%198 = OpLabel
|
||||
%204 = OpPhi %bool %197 %193 %200 %199
|
||||
OpSelectionMerge %205 None
|
||||
OpBranchConditional %204 %206 %205
|
||||
%206 = OpLabel
|
||||
OpStore %acc %207
|
||||
OpStore %f %uint_0
|
||||
OpBranch %211
|
||||
%211 = OpLabel
|
||||
OpLoopMerge %212 %213 None
|
||||
OpBranch %214
|
||||
%214 = OpLabel
|
||||
%216 = OpLoad %uint %f
|
||||
%217 = OpAccessChain %_ptr_Uniform_uint %params %uint_0
|
||||
%218 = OpLoad %uint %217
|
||||
%219 = OpULessThan %bool %216 %218
|
||||
%215 = OpLogicalNot %bool %219
|
||||
OpSelectionMerge %220 None
|
||||
OpBranchConditional %215 %221 %220
|
||||
%221 = OpLabel
|
||||
OpBranch %212
|
||||
%220 = OpLabel
|
||||
%222 = OpLoad %uint %f
|
||||
%223 = OpIAdd %uint %191 %222
|
||||
%224 = OpISub %uint %223 %71
|
||||
OpStore %i %224
|
||||
%226 = OpLoad %v3float %acc
|
||||
%229 = OpAccessChain %_ptr_Uniform_uint %params %uint_0
|
||||
%230 = OpLoad %uint %229
|
||||
%228 = OpConvertUToF %float %230
|
||||
%231 = OpFDiv %float %float_1 %228
|
||||
%232 = OpLoad %uint %r_0
|
||||
%233 = OpLoad %uint %i
|
||||
%234 = OpAccessChain %_ptr_Workgroup_v3float %tile %232 %233
|
||||
%235 = OpLoad %v3float %234
|
||||
%236 = OpVectorTimesScalar %v3float %235 %231
|
||||
%237 = OpFAdd %v3float %226 %236
|
||||
OpStore %acc %237
|
||||
OpBranch %213
|
||||
%213 = OpLabel
|
||||
%238 = OpLoad %uint %f
|
||||
%239 = OpIAdd %uint %238 %uint_1
|
||||
OpStore %f %239
|
||||
OpBranch %211
|
||||
%212 = OpLabel
|
||||
%241 = OpLoad %20 %outputTex
|
||||
%242 = OpLoad %v2int %writeIndex
|
||||
%243 = OpLoad %v3float %acc
|
||||
%244 = OpCompositeExtract %float %243 0
|
||||
%245 = OpCompositeExtract %float %243 1
|
||||
%246 = OpCompositeExtract %float %243 2
|
||||
%247 = OpCompositeConstruct %v4float %244 %245 %246 %float_1
|
||||
OpImageWrite %241 %242 %247
|
||||
OpBranch %205
|
||||
%205 = OpLabel
|
||||
OpBranch %167
|
||||
%167 = OpLabel
|
||||
%248 = OpLoad %uint %c_0
|
||||
%249 = OpIAdd %uint %248 %uint_1
|
||||
OpStore %c_0 %249
|
||||
OpBranch %165
|
||||
%166 = OpLabel
|
||||
OpBranch %157
|
||||
%157 = OpLabel
|
||||
%250 = OpLoad %uint %r_0
|
||||
%251 = OpIAdd %uint %250 %uint_1
|
||||
OpStore %r_0 %251
|
||||
OpBranch %155
|
||||
%156 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %252
|
||||
%254 = OpLabel
|
||||
%256 = OpLoad %v3uint %WorkGroupID_1
|
||||
%257 = OpLoad %v3uint %LocalInvocationID_1
|
||||
%258 = OpLoad %uint %local_invocation_index_1
|
||||
%255 = OpFunctionCall %void %main_inner %256 %257 %258
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 628
|
||||
; Bound: 633
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol_2 %tint_symbol %tint_symbol_1
|
||||
OpEntryPoint GLCompute %main "main" %gl_LocalInvocationID_param_1 %gl_GlobalInvocationID_param_1 %local_invocation_index_1
|
||||
OpExecutionMode %main LocalSize 1 64 1
|
||||
OpName %gl_LocalInvocationID_param_1 "gl_LocalInvocationID_param_1"
|
||||
OpName %gl_GlobalInvocationID_param_1 "gl_GlobalInvocationID_param_1"
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %dimAOuter_1 "dimAOuter_1"
|
||||
OpName %Uniforms "Uniforms"
|
||||
OpMemberName %Uniforms 0 "NAN"
|
||||
|
@ -31,9 +34,6 @@
|
|||
OpName %ssbB "ssbB"
|
||||
OpMemberName %ssbB 0 "B"
|
||||
OpName %x_185 "x_185"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %coordsInBounds_vi2_vi2_ "coordsInBounds_vi2_vi2_"
|
||||
OpName %coord "coord"
|
||||
OpName %shape "shape"
|
||||
|
@ -120,8 +120,15 @@
|
|||
OpName %param_18 "param_18"
|
||||
OpName %param_19 "param_19"
|
||||
OpName %param_20 "param_20"
|
||||
OpName %main "main"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %gl_LocalInvocationID_param "gl_LocalInvocationID_param"
|
||||
OpName %gl_GlobalInvocationID_param "gl_GlobalInvocationID_param"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %idx "idx"
|
||||
OpName %main "main"
|
||||
OpDecorate %gl_LocalInvocationID_param_1 BuiltIn LocalInvocationId
|
||||
OpDecorate %gl_GlobalInvocationID_param_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %Uniforms Block
|
||||
OpMemberDecorate %Uniforms 0 Offset 0
|
||||
OpMemberDecorate %Uniforms 1 Offset 16
|
||||
|
@ -150,32 +157,34 @@
|
|||
OpDecorate %x_185 NonWritable
|
||||
OpDecorate %x_185 DescriptorSet 0
|
||||
OpDecorate %x_185 Binding 2
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationId
|
||||
OpDecorate %tint_symbol_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %tint_symbol_2 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %_arr__arr_float_uint_1_uint_1 ArrayStride 4
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%gl_LocalInvocationID_param_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%gl_GlobalInvocationID_param_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Private_int = OpTypePointer Private %int
|
||||
%4 = OpConstantNull %int
|
||||
%dimAOuter_1 = OpVariable %_ptr_Private_int Private %4
|
||||
%11 = OpConstantNull %int
|
||||
%dimAOuter_1 = OpVariable %_ptr_Private_int Private %11
|
||||
%float = OpTypeFloat 32
|
||||
%v3int = OpTypeVector %int 3
|
||||
%v2int = OpTypeVector %int 2
|
||||
%Uniforms = OpTypeStruct %float %v3int %v3int %v3int %v2int
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%x_48 = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%dimInner_1 = OpVariable %_ptr_Private_int Private %4
|
||||
%dimBOuter_1 = OpVariable %_ptr_Private_int Private %4
|
||||
%dimInner_1 = OpVariable %_ptr_Private_int Private %11
|
||||
%dimBOuter_1 = OpVariable %_ptr_Private_int Private %11
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%ssbOut = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_ssbOut = OpTypePointer StorageBuffer %ssbOut
|
||||
%x_54 = OpVariable %_ptr_StorageBuffer_ssbOut StorageBuffer
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Private_v3uint = OpTypePointer Private %v3uint
|
||||
%21 = OpConstantNull %v3uint
|
||||
%gl_LocalInvocationID = OpVariable %_ptr_Private_v3uint Private %21
|
||||
%gl_GlobalInvocationID = OpVariable %_ptr_Private_v3uint Private %21
|
||||
%26 = OpConstantNull %v3uint
|
||||
%gl_LocalInvocationID = OpVariable %_ptr_Private_v3uint Private %26
|
||||
%gl_GlobalInvocationID = OpVariable %_ptr_Private_v3uint Private %26
|
||||
%uint_64 = OpConstant %uint 64
|
||||
%_arr_float_uint_64 = OpTypeArray %float %uint_64
|
||||
%_arr__arr_float_uint_64_uint_64 = OpTypeArray %_arr_float_uint_64 %uint_64
|
||||
|
@ -189,15 +198,10 @@
|
|||
%ssbA = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_ssbA = OpTypePointer StorageBuffer %ssbA
|
||||
%x_165 = OpVariable %_ptr_StorageBuffer_ssbA StorageBuffer
|
||||
%batch = OpVariable %_ptr_Private_int Private %4
|
||||
%batch = OpVariable %_ptr_Private_int Private %11
|
||||
%ssbB = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_ssbB = OpTypePointer StorageBuffer %ssbB
|
||||
%x_185 = OpVariable %_ptr_StorageBuffer_ssbB StorageBuffer
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_uint Input
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
||||
%45 = OpTypeFunction %bool %_ptr_Function_v2int %_ptr_Function_v2int
|
||||
|
@ -237,8 +241,9 @@
|
|||
%_ptr_Workgroup_float = OpTypePointer Workgroup %float
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%575 = OpTypeFunction %void
|
||||
%597 = OpTypeFunction %void %v3uint %v3uint %uint
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%606 = OpConstantNull %uint
|
||||
%607 = OpConstantNull %uint
|
||||
%uint_4096 = OpConstant %uint 4096
|
||||
%coordsInBounds_vi2_vi2_ = OpFunction %bool None %45
|
||||
%coord = OpFunctionParameter %_ptr_Function_v2int
|
||||
|
@ -269,7 +274,7 @@
|
|||
%row = OpFunctionParameter %_ptr_Function_int
|
||||
%col = OpFunctionParameter %_ptr_Function_int
|
||||
%78 = OpLabel
|
||||
%batchASize = OpVariable %_ptr_Function_int Function %4
|
||||
%batchASize = OpVariable %_ptr_Function_int Function %11
|
||||
%param_10 = OpVariable %_ptr_Function_v2int Function %81
|
||||
%param_11 = OpVariable %_ptr_Function_v2int Function %81
|
||||
%x_430 = OpVariable %_ptr_Function_float Function %85
|
||||
|
@ -315,7 +320,7 @@
|
|||
%row_1 = OpFunctionParameter %_ptr_Function_int
|
||||
%col_1 = OpFunctionParameter %_ptr_Function_int
|
||||
%127 = OpLabel
|
||||
%batchBSize = OpVariable %_ptr_Function_int Function %4
|
||||
%batchBSize = OpVariable %_ptr_Function_int Function %11
|
||||
%param_12 = OpVariable %_ptr_Function_v2int Function %81
|
||||
%param_13 = OpVariable %_ptr_Function_v2int Function %81
|
||||
%x_468 = OpVariable %_ptr_Function_float Function %85
|
||||
|
@ -388,9 +393,9 @@
|
|||
%d2 = OpFunctionParameter %_ptr_Function_int
|
||||
%value_1 = OpFunctionParameter %_ptr_Function_float
|
||||
%201 = OpLabel
|
||||
%flatIndex_1 = OpVariable %_ptr_Function_int Function %4
|
||||
%flatIndex_1 = OpVariable %_ptr_Function_int Function %11
|
||||
%param = OpVariable %_ptr_Function_v3int Function %204
|
||||
%param_1 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_1 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_2 = OpVariable %_ptr_Function_float Function %85
|
||||
%208 = OpLoad %int %d0
|
||||
%210 = OpLoad %int %d1
|
||||
|
@ -412,9 +417,9 @@
|
|||
%value_2 = OpFunctionParameter %_ptr_Function_float
|
||||
%227 = OpLabel
|
||||
%outCoord = OpVariable %_ptr_Function_v3int Function %204
|
||||
%param_14 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_15 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_16 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_14 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_15 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_16 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_17 = OpVariable %_ptr_Function_float Function %85
|
||||
%233 = OpLoad %int %batch
|
||||
%235 = OpLoad %int %row_2
|
||||
|
@ -437,39 +442,39 @@
|
|||
%dimInner = OpFunctionParameter %_ptr_Function_int
|
||||
%dimBOuter = OpFunctionParameter %_ptr_Function_int
|
||||
%256 = OpLabel
|
||||
%tileRow = OpVariable %_ptr_Function_int Function %4
|
||||
%tileCol = OpVariable %_ptr_Function_int Function %4
|
||||
%globalRow = OpVariable %_ptr_Function_int Function %4
|
||||
%globalCol = OpVariable %_ptr_Function_int Function %4
|
||||
%numTiles = OpVariable %_ptr_Function_int Function %4
|
||||
%innerRow = OpVariable %_ptr_Function_int Function %4
|
||||
%innerCol = OpVariable %_ptr_Function_int Function %4
|
||||
%tileRow = OpVariable %_ptr_Function_int Function %11
|
||||
%tileCol = OpVariable %_ptr_Function_int Function %11
|
||||
%globalRow = OpVariable %_ptr_Function_int Function %11
|
||||
%globalCol = OpVariable %_ptr_Function_int Function %11
|
||||
%numTiles = OpVariable %_ptr_Function_int Function %11
|
||||
%innerRow = OpVariable %_ptr_Function_int Function %11
|
||||
%innerCol = OpVariable %_ptr_Function_int Function %11
|
||||
%acc = OpVariable %_ptr_Function__arr__arr_float_uint_1_uint_1 Function %267
|
||||
%tileColA = OpVariable %_ptr_Function_int Function %4
|
||||
%tileRowB = OpVariable %_ptr_Function_int Function %4
|
||||
%t = OpVariable %_ptr_Function_int Function %4
|
||||
%innerRow_1 = OpVariable %_ptr_Function_int Function %4
|
||||
%innerCol_1 = OpVariable %_ptr_Function_int Function %4
|
||||
%inputRow = OpVariable %_ptr_Function_int Function %4
|
||||
%inputCol = OpVariable %_ptr_Function_int Function %4
|
||||
%param_3 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_4 = OpVariable %_ptr_Function_int Function %4
|
||||
%innerRow_2 = OpVariable %_ptr_Function_int Function %4
|
||||
%innerCol_2 = OpVariable %_ptr_Function_int Function %4
|
||||
%inputRow_1 = OpVariable %_ptr_Function_int Function %4
|
||||
%inputCol_1 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_5 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_6 = OpVariable %_ptr_Function_int Function %4
|
||||
%k = OpVariable %_ptr_Function_int Function %4
|
||||
%inner = OpVariable %_ptr_Function_int Function %4
|
||||
%tileColA = OpVariable %_ptr_Function_int Function %11
|
||||
%tileRowB = OpVariable %_ptr_Function_int Function %11
|
||||
%t = OpVariable %_ptr_Function_int Function %11
|
||||
%innerRow_1 = OpVariable %_ptr_Function_int Function %11
|
||||
%innerCol_1 = OpVariable %_ptr_Function_int Function %11
|
||||
%inputRow = OpVariable %_ptr_Function_int Function %11
|
||||
%inputCol = OpVariable %_ptr_Function_int Function %11
|
||||
%param_3 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_4 = OpVariable %_ptr_Function_int Function %11
|
||||
%innerRow_2 = OpVariable %_ptr_Function_int Function %11
|
||||
%innerCol_2 = OpVariable %_ptr_Function_int Function %11
|
||||
%inputRow_1 = OpVariable %_ptr_Function_int Function %11
|
||||
%inputCol_1 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_5 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_6 = OpVariable %_ptr_Function_int Function %11
|
||||
%k = OpVariable %_ptr_Function_int Function %11
|
||||
%inner = OpVariable %_ptr_Function_int Function %11
|
||||
%BCached = OpVariable %_ptr_Function__arr_float_uint_1 Function %287
|
||||
%innerRow_3 = OpVariable %_ptr_Function_int Function %4
|
||||
%innerRow_3 = OpVariable %_ptr_Function_int Function %11
|
||||
%ACached = OpVariable %_ptr_Function_float Function %85
|
||||
%innerCol_3 = OpVariable %_ptr_Function_int Function %4
|
||||
%innerRow_4 = OpVariable %_ptr_Function_int Function %4
|
||||
%innerCol_4 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_7 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_8 = OpVariable %_ptr_Function_int Function %4
|
||||
%innerCol_3 = OpVariable %_ptr_Function_int Function %11
|
||||
%innerRow_4 = OpVariable %_ptr_Function_int Function %11
|
||||
%innerCol_4 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_7 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_8 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_9 = OpVariable %_ptr_Function_float Function %85
|
||||
%x_393 = OpVariable %_ptr_Function_bool Function %54
|
||||
%x_394_phi = OpVariable %_ptr_Function_bool Function %54
|
||||
|
@ -916,9 +921,9 @@
|
|||
OpFunctionEnd
|
||||
%main_1 = OpFunction %void None %575
|
||||
%577 = OpLabel
|
||||
%param_18 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_19 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_20 = OpVariable %_ptr_Function_int Function %4
|
||||
%param_18 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_19 = OpVariable %_ptr_Function_int Function %11
|
||||
%param_20 = OpVariable %_ptr_Function_int Function %11
|
||||
%581 = OpAccessChain %_ptr_Uniform_int %x_48 %uint_1 %uint_1
|
||||
%582 = OpLoad %int %581
|
||||
OpStore %dimAOuter_1 %582
|
||||
|
@ -941,47 +946,53 @@
|
|||
%593 = OpFunctionCall %void %mm_matMul_i1_i1_i1_ %param_18 %param_19 %param_20
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %575
|
||||
%598 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %606
|
||||
%599 = OpLoad %uint %tint_symbol_2
|
||||
%600 = OpLoad %uint %tint_symbol_2
|
||||
%601 = OpUMod %uint %600 %uint_1
|
||||
%602 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %599 %601
|
||||
OpStore %602 %85
|
||||
%603 = OpLoad %uint %tint_symbol_2
|
||||
OpStore %idx %603
|
||||
OpBranch %607
|
||||
%607 = OpLabel
|
||||
OpLoopMerge %608 %609 None
|
||||
%main_inner = OpFunction %void None %597
|
||||
%gl_LocalInvocationID_param = OpFunctionParameter %v3uint
|
||||
%gl_GlobalInvocationID_param = OpFunctionParameter %v3uint
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%602 = OpLabel
|
||||
%idx = OpVariable %_ptr_Function_uint Function %607
|
||||
%603 = OpUMod %uint %local_invocation_index %uint_1
|
||||
%604 = OpAccessChain %_ptr_Workgroup_float %mm_Bsub %local_invocation_index %603
|
||||
OpStore %604 %85
|
||||
OpStore %idx %local_invocation_index
|
||||
OpBranch %608
|
||||
%608 = OpLabel
|
||||
OpLoopMerge %609 %610 None
|
||||
OpBranch %611
|
||||
%611 = OpLabel
|
||||
%613 = OpLoad %uint %idx
|
||||
%615 = OpULessThan %bool %613 %uint_4096
|
||||
%612 = OpLogicalNot %bool %615
|
||||
OpSelectionMerge %616 None
|
||||
OpBranchConditional %612 %617 %616
|
||||
%617 = OpLabel
|
||||
OpBranch %609
|
||||
%616 = OpLabel
|
||||
%618 = OpLoad %uint %idx
|
||||
%619 = OpUDiv %uint %618 %uint_64
|
||||
%620 = OpLoad %uint %idx
|
||||
%621 = OpUMod %uint %620 %uint_64
|
||||
%622 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %619 %621
|
||||
OpStore %622 %85
|
||||
OpBranch %610
|
||||
%610 = OpLabel
|
||||
%612 = OpLoad %uint %idx
|
||||
%614 = OpULessThan %bool %612 %uint_4096
|
||||
%611 = OpLogicalNot %bool %614
|
||||
OpSelectionMerge %615 None
|
||||
OpBranchConditional %611 %616 %615
|
||||
%616 = OpLabel
|
||||
%623 = OpLoad %uint %idx
|
||||
%624 = OpIAdd %uint %623 %uint_64
|
||||
OpStore %idx %624
|
||||
OpBranch %608
|
||||
%615 = OpLabel
|
||||
%617 = OpLoad %uint %idx
|
||||
%618 = OpUDiv %uint %617 %uint_64
|
||||
%619 = OpLoad %uint %idx
|
||||
%620 = OpUMod %uint %619 %uint_64
|
||||
%621 = OpAccessChain %_ptr_Workgroup_float %mm_Asub %618 %620
|
||||
OpStore %621 %85
|
||||
OpBranch %609
|
||||
%609 = OpLabel
|
||||
%622 = OpLoad %uint %idx
|
||||
%623 = OpIAdd %uint %622 %uint_64
|
||||
OpStore %idx %623
|
||||
OpBranch %607
|
||||
%608 = OpLabel
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%625 = OpLoad %v3uint %tint_symbol
|
||||
OpStore %gl_LocalInvocationID %625
|
||||
%626 = OpLoad %v3uint %tint_symbol_1
|
||||
OpStore %gl_GlobalInvocationID %626
|
||||
%627 = OpFunctionCall %void %main_1
|
||||
OpStore %gl_LocalInvocationID %gl_LocalInvocationID_param
|
||||
OpStore %gl_GlobalInvocationID %gl_GlobalInvocationID_param
|
||||
%626 = OpFunctionCall %void %main_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %575
|
||||
%628 = OpLabel
|
||||
%630 = OpLoad %v3uint %gl_LocalInvocationID_param_1
|
||||
%631 = OpLoad %v3uint %gl_GlobalInvocationID_param_1
|
||||
%632 = OpLoad %uint %local_invocation_index_1
|
||||
%629 = OpFunctionCall %void %main_inner %630 %631 %632
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 381
|
||||
; Bound: 386
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%138 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_5 %tint_symbol_7
|
||||
OpEntryPoint Fragment %main "main" %tUV_param_1 %tileID_1_param_1 %levelUnits_param_1 %stageUnits_1_param_1 %vPosition_param_1 %vUV_param_1 %glFragColor_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %tUV_param_1 "tUV_param_1"
|
||||
OpName %tileID_1_param_1 "tileID_1_param_1"
|
||||
OpName %levelUnits_param_1 "levelUnits_param_1"
|
||||
OpName %stageUnits_1_param_1 "stageUnits_1_param_1"
|
||||
OpName %vPosition_param_1 "vPosition_param_1"
|
||||
OpName %vUV_param_1 "vUV_param_1"
|
||||
OpName %glFragColor_1_1 "glFragColor_1_1"
|
||||
OpName %LeftOver "LeftOver"
|
||||
OpMemberName %LeftOver 0 "time"
|
||||
OpMemberName %LeftOver 1 "padding"
|
||||
|
@ -36,13 +43,6 @@
|
|||
OpName %stageUnits_1 "stageUnits_1"
|
||||
OpName %vPosition "vPosition"
|
||||
OpName %vUV "vUV"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %getFrameData_f1_ "getFrameData_f1_"
|
||||
OpName %frameID "frameID"
|
||||
OpName %fX "fX"
|
||||
|
@ -67,9 +67,21 @@
|
|||
OpName %mixed "mixed"
|
||||
OpName %main_out "main_out"
|
||||
OpMemberName %main_out 0 "glFragColor_1"
|
||||
OpName %tint_symbol_8 "tint_symbol_8"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %tUV_param "tUV_param"
|
||||
OpName %tileID_1_param "tileID_1_param"
|
||||
OpName %levelUnits_param "levelUnits_param"
|
||||
OpName %stageUnits_1_param "stageUnits_1_param"
|
||||
OpName %vPosition_param "vPosition_param"
|
||||
OpName %vUV_param "vUV_param"
|
||||
OpName %main "main"
|
||||
OpDecorate %tUV_param_1 Location 2
|
||||
OpDecorate %tileID_1_param_1 Location 5
|
||||
OpDecorate %levelUnits_param_1 Location 4
|
||||
OpDecorate %stageUnits_1_param_1 Location 3
|
||||
OpDecorate %vPosition_param_1 Location 0
|
||||
OpDecorate %vUV_param_1 Location 1
|
||||
OpDecorate %glFragColor_1_1 Location 0
|
||||
OpDecorate %LeftOver Block
|
||||
OpMemberDecorate %LeftOver 0 Offset 0
|
||||
OpMemberDecorate %LeftOver 1 Offset 4
|
||||
|
@ -103,67 +115,60 @@
|
|||
OpDecorate %spriteSheetTexture Binding 1
|
||||
OpDecorate %spriteSheetSampler DescriptorSet 2
|
||||
OpDecorate %spriteSheetSampler Binding 0
|
||||
OpDecorate %tint_symbol Location 2
|
||||
OpDecorate %tint_symbol_1 Location 5
|
||||
OpDecorate %tint_symbol_2 Location 4
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %tint_symbol_4 Location 0
|
||||
OpDecorate %tint_symbol_5 Location 1
|
||||
OpDecorate %tint_symbol_7 Location 0
|
||||
OpMemberDecorate %main_out 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%uint = OpTypeInt 32 0
|
||||
%v4float = OpTypeVector %float 4
|
||||
%mat4v4float = OpTypeMatrix %v4float 4
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%tUV_param_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%tileID_1_param_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%levelUnits_param_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%stageUnits_1_param_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Input_v3float = OpTypePointer Input %v3float
|
||||
%vPosition_param_1 = OpVariable %_ptr_Input_v3float Input
|
||||
%vUV_param_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%15 = OpConstantNull %v4float
|
||||
%glFragColor_1_1 = OpVariable %_ptr_Output_v4float Output %15
|
||||
%uint = OpTypeInt 32 0
|
||||
%mat4v4float = OpTypeMatrix %v4float 4
|
||||
%LeftOver = OpTypeStruct %float %uint %mat4v4float %v2float %v2float %v2float %float %float %v3float
|
||||
%_ptr_Uniform_LeftOver = OpTypePointer Uniform %LeftOver
|
||||
%x_20 = OpVariable %_ptr_Uniform_LeftOver Uniform
|
||||
%12 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_12 = OpTypePointer UniformConstant %12
|
||||
%frameMapTexture = OpVariable %_ptr_UniformConstant_12 UniformConstant
|
||||
%15 = OpTypeSampler
|
||||
%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
|
||||
%frameMapSampler = OpVariable %_ptr_UniformConstant_15 UniformConstant
|
||||
%23 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_23 = OpTypePointer UniformConstant %23
|
||||
%frameMapTexture = OpVariable %_ptr_UniformConstant_23 UniformConstant
|
||||
%26 = OpTypeSampler
|
||||
%_ptr_UniformConstant_26 = OpTypePointer UniformConstant %26
|
||||
%frameMapSampler = OpVariable %_ptr_UniformConstant_26 UniformConstant
|
||||
%_ptr_Private_v2float = OpTypePointer Private %v2float
|
||||
%18 = OpConstantNull %v2float
|
||||
%tUV = OpVariable %_ptr_Private_v2float Private %18
|
||||
%tileMapsTexture0 = OpVariable %_ptr_UniformConstant_12 UniformConstant
|
||||
%tileMapsSampler = OpVariable %_ptr_UniformConstant_15 UniformConstant
|
||||
%tileMapsTexture1 = OpVariable %_ptr_UniformConstant_12 UniformConstant
|
||||
%animationMapTexture = OpVariable %_ptr_UniformConstant_12 UniformConstant
|
||||
%animationMapSampler = OpVariable %_ptr_UniformConstant_15 UniformConstant
|
||||
%29 = OpConstantNull %v2float
|
||||
%tUV = OpVariable %_ptr_Private_v2float Private %29
|
||||
%tileMapsTexture0 = OpVariable %_ptr_UniformConstant_23 UniformConstant
|
||||
%tileMapsSampler = OpVariable %_ptr_UniformConstant_26 UniformConstant
|
||||
%tileMapsTexture1 = OpVariable %_ptr_UniformConstant_23 UniformConstant
|
||||
%animationMapTexture = OpVariable %_ptr_UniformConstant_23 UniformConstant
|
||||
%animationMapSampler = OpVariable %_ptr_UniformConstant_26 UniformConstant
|
||||
%_ptr_Private_float = OpTypePointer Private %float
|
||||
%26 = OpConstantNull %float
|
||||
%mt = OpVariable %_ptr_Private_float Private %26
|
||||
%spriteSheetTexture = OpVariable %_ptr_UniformConstant_12 UniformConstant
|
||||
%spriteSheetSampler = OpVariable %_ptr_UniformConstant_15 UniformConstant
|
||||
%37 = OpConstantNull %float
|
||||
%mt = OpVariable %_ptr_Private_float Private %37
|
||||
%spriteSheetTexture = OpVariable %_ptr_UniformConstant_23 UniformConstant
|
||||
%spriteSheetSampler = OpVariable %_ptr_UniformConstant_26 UniformConstant
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%31 = OpConstantNull %v4float
|
||||
%glFragColor = OpVariable %_ptr_Private_v4float Private %31
|
||||
%tileID_1 = OpVariable %_ptr_Private_v2float Private %18
|
||||
%levelUnits = OpVariable %_ptr_Private_v2float Private %18
|
||||
%stageUnits_1 = OpVariable %_ptr_Private_v2float Private %18
|
||||
%glFragColor = OpVariable %_ptr_Private_v4float Private %15
|
||||
%tileID_1 = OpVariable %_ptr_Private_v2float Private %29
|
||||
%levelUnits = OpVariable %_ptr_Private_v2float Private %29
|
||||
%stageUnits_1 = OpVariable %_ptr_Private_v2float Private %29
|
||||
%_ptr_Private_v3float = OpTypePointer Private %v3float
|
||||
%37 = OpConstantNull %v3float
|
||||
%vPosition = OpVariable %_ptr_Private_v3float Private %37
|
||||
%vUV = OpVariable %_ptr_Private_v2float Private %18
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v2float Input
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_v2float Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v2float Input
|
||||
%_ptr_Input_v3float = OpTypePointer Input %v3float
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_v3float Input
|
||||
%tint_symbol_5 = OpVariable %_ptr_Input_v2float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%tint_symbol_7 = OpVariable %_ptr_Output_v4float Output %31
|
||||
%47 = OpConstantNull %v3float
|
||||
%vPosition = OpVariable %_ptr_Private_v3float Private %47
|
||||
%vUV = OpVariable %_ptr_Private_v2float Private %29
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%49 = OpTypeFunction %mat4v4float %_ptr_Function_float
|
||||
%uint_7 = OpConstant %uint 7
|
||||
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
||||
%66 = OpTypeSampledImage %12
|
||||
%66 = OpTypeSampledImage %23
|
||||
%float_0 = OpConstant %float 0
|
||||
%float_0_25 = OpConstant %float 0.25
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
|
@ -197,31 +202,31 @@
|
|||
%uint_8 = OpConstant %uint 8
|
||||
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%363 = OpTypeFunction %void %main_out
|
||||
%363 = OpTypeFunction %main_out %v2float %v2float %v2float %v2float %v3float %v2float
|
||||
%getFrameData_f1_ = OpFunction %mat4v4float None %49
|
||||
%frameID = OpFunctionParameter %_ptr_Function_float
|
||||
%53 = OpLabel
|
||||
%fX = OpVariable %_ptr_Function_float Function %26
|
||||
%fX = OpVariable %_ptr_Function_float Function %37
|
||||
%56 = OpLoad %float %frameID
|
||||
%59 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%60 = OpLoad %float %59
|
||||
%61 = OpFDiv %float %56 %60
|
||||
OpStore %fX %61
|
||||
%62 = OpLoad %float %fX
|
||||
%64 = OpLoad %15 %frameMapSampler
|
||||
%65 = OpLoad %12 %frameMapTexture
|
||||
%64 = OpLoad %26 %frameMapSampler
|
||||
%65 = OpLoad %23 %frameMapTexture
|
||||
%67 = OpSampledImage %66 %65 %64
|
||||
%69 = OpCompositeConstruct %v2float %62 %float_0
|
||||
%63 = OpImageSampleImplicitLod %v4float %67 %69 Bias %float_0
|
||||
%70 = OpLoad %float %fX
|
||||
%72 = OpLoad %15 %frameMapSampler
|
||||
%73 = OpLoad %12 %frameMapTexture
|
||||
%72 = OpLoad %26 %frameMapSampler
|
||||
%73 = OpLoad %23 %frameMapTexture
|
||||
%74 = OpSampledImage %66 %73 %72
|
||||
%76 = OpCompositeConstruct %v2float %70 %float_0_25
|
||||
%71 = OpImageSampleImplicitLod %v4float %74 %76 Bias %float_0
|
||||
%77 = OpLoad %float %fX
|
||||
%79 = OpLoad %15 %frameMapSampler
|
||||
%80 = OpLoad %12 %frameMapTexture
|
||||
%79 = OpLoad %26 %frameMapSampler
|
||||
%80 = OpLoad %23 %frameMapTexture
|
||||
%81 = OpSampledImage %66 %80 %79
|
||||
%83 = OpCompositeConstruct %v2float %77 %float_0_5
|
||||
%78 = OpImageSampleImplicitLod %v4float %81 %83 Bias %float_0
|
||||
|
@ -250,24 +255,24 @@
|
|||
OpFunctionEnd
|
||||
%main_1 = OpFunction %void None %106
|
||||
%109 = OpLabel
|
||||
%color = OpVariable %_ptr_Function_v4float Function %31
|
||||
%tileUV = OpVariable %_ptr_Function_v2float Function %18
|
||||
%tileID = OpVariable %_ptr_Function_v2float Function %18
|
||||
%sheetUnits = OpVariable %_ptr_Function_v2float Function %18
|
||||
%spriteUnits = OpVariable %_ptr_Function_float Function %26
|
||||
%stageUnits = OpVariable %_ptr_Function_v2float Function %18
|
||||
%color = OpVariable %_ptr_Function_v4float Function %15
|
||||
%tileUV = OpVariable %_ptr_Function_v2float Function %29
|
||||
%tileID = OpVariable %_ptr_Function_v2float Function %29
|
||||
%sheetUnits = OpVariable %_ptr_Function_v2float Function %29
|
||||
%spriteUnits = OpVariable %_ptr_Function_float Function %37
|
||||
%stageUnits = OpVariable %_ptr_Function_v2float Function %29
|
||||
%i = OpVariable %_ptr_Function_int Function %121
|
||||
%frameID_1 = OpVariable %_ptr_Function_float Function %26
|
||||
%animationData = OpVariable %_ptr_Function_v4float Function %31
|
||||
%f = OpVariable %_ptr_Function_float Function %26
|
||||
%frameID_1 = OpVariable %_ptr_Function_float Function %37
|
||||
%animationData = OpVariable %_ptr_Function_v4float Function %15
|
||||
%f = OpVariable %_ptr_Function_float Function %37
|
||||
%frameData = OpVariable %_ptr_Function_mat4v4float Function %127
|
||||
%param = OpVariable %_ptr_Function_float Function %26
|
||||
%frameSize = OpVariable %_ptr_Function_v2float Function %18
|
||||
%offset_1 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%ratio = OpVariable %_ptr_Function_v2float Function %18
|
||||
%nc = OpVariable %_ptr_Function_v4float Function %31
|
||||
%alpha = OpVariable %_ptr_Function_float Function %26
|
||||
%mixed = OpVariable %_ptr_Function_v3float Function %37
|
||||
%param = OpVariable %_ptr_Function_float Function %37
|
||||
%frameSize = OpVariable %_ptr_Function_v2float Function %29
|
||||
%offset_1 = OpVariable %_ptr_Function_v2float Function %29
|
||||
%ratio = OpVariable %_ptr_Function_v2float Function %29
|
||||
%nc = OpVariable %_ptr_Function_v4float Function %15
|
||||
%alpha = OpVariable %_ptr_Function_float Function %37
|
||||
%mixed = OpVariable %_ptr_Function_v3float Function %47
|
||||
OpStore %color %99
|
||||
%136 = OpLoad %v2float %tUV
|
||||
%137 = OpExtInst %v2float %138 Fract %136
|
||||
|
@ -314,8 +319,8 @@
|
|||
%177 = OpLoad %v2float %tileID
|
||||
%178 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%179 = OpLoad %v2float %178
|
||||
%181 = OpLoad %15 %tileMapsSampler
|
||||
%182 = OpLoad %12 %tileMapsTexture1
|
||||
%181 = OpLoad %26 %tileMapsSampler
|
||||
%182 = OpLoad %23 %tileMapsTexture1
|
||||
%183 = OpSampledImage %66 %182 %181
|
||||
%185 = OpFAdd %v2float %177 %184
|
||||
%186 = OpFDiv %v2float %185 %179
|
||||
|
@ -327,8 +332,8 @@
|
|||
%188 = OpLoad %v2float %tileID
|
||||
%189 = OpAccessChain %_ptr_Uniform_v2float %x_20 %uint_4
|
||||
%190 = OpLoad %v2float %189
|
||||
%192 = OpLoad %15 %tileMapsSampler
|
||||
%193 = OpLoad %12 %tileMapsTexture0
|
||||
%192 = OpLoad %26 %tileMapsSampler
|
||||
%193 = OpLoad %23 %tileMapsTexture0
|
||||
%194 = OpSampledImage %66 %193 %192
|
||||
%195 = OpFAdd %v2float %188 %184
|
||||
%196 = OpFDiv %v2float %195 %190
|
||||
|
@ -342,8 +347,8 @@
|
|||
%198 = OpLoad %float %frameID_1
|
||||
%199 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%200 = OpLoad %float %199
|
||||
%202 = OpLoad %15 %animationMapSampler
|
||||
%203 = OpLoad %12 %animationMapTexture
|
||||
%202 = OpLoad %26 %animationMapSampler
|
||||
%203 = OpLoad %23 %animationMapTexture
|
||||
%204 = OpSampledImage %66 %203 %202
|
||||
%205 = OpFAdd %float %198 %float_0_5
|
||||
%206 = OpFDiv %float %205 %200
|
||||
|
@ -394,8 +399,8 @@
|
|||
%240 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_7
|
||||
%241 = OpLoad %float %240
|
||||
%242 = OpLoad %float %f
|
||||
%244 = OpLoad %15 %animationMapSampler
|
||||
%245 = OpLoad %12 %animationMapTexture
|
||||
%244 = OpLoad %26 %animationMapSampler
|
||||
%245 = OpLoad %23 %animationMapTexture
|
||||
%246 = OpSampledImage %66 %245 %244
|
||||
%247 = OpFAdd %float %239 %float_0_5
|
||||
%248 = OpFDiv %float %247 %241
|
||||
|
@ -467,8 +472,8 @@
|
|||
%298 = OpLoad %v2float %tileUV
|
||||
%299 = OpLoad %v2float %frameSize
|
||||
%300 = OpLoad %v2float %offset_1
|
||||
%302 = OpLoad %15 %spriteSheetSampler
|
||||
%303 = OpLoad %12 %spriteSheetTexture
|
||||
%302 = OpLoad %26 %spriteSheetSampler
|
||||
%303 = OpLoad %23 %spriteSheetTexture
|
||||
%304 = OpSampledImage %66 %303 %302
|
||||
%305 = OpFMul %v2float %298 %299
|
||||
%306 = OpFAdd %v2float %305 %300
|
||||
|
@ -479,8 +484,8 @@
|
|||
%307 = OpLoad %v2float %tileUV
|
||||
%308 = OpLoad %v2float %frameSize
|
||||
%309 = OpLoad %v2float %offset_1
|
||||
%311 = OpLoad %15 %spriteSheetSampler
|
||||
%312 = OpLoad %12 %spriteSheetTexture
|
||||
%311 = OpLoad %26 %spriteSheetSampler
|
||||
%312 = OpLoad %23 %spriteSheetTexture
|
||||
%313 = OpSampledImage %66 %312 %311
|
||||
%314 = OpFMul %v2float %307 %308
|
||||
%315 = OpFAdd %v2float %314 %309
|
||||
|
@ -543,30 +548,35 @@
|
|||
OpStore %glFragColor %362
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_8 = OpFunction %void None %363
|
||||
%tint_symbol_6 = OpFunctionParameter %main_out
|
||||
%367 = OpLabel
|
||||
%368 = OpCompositeExtract %v4float %tint_symbol_6 0
|
||||
OpStore %tint_symbol_7 %368
|
||||
OpReturn
|
||||
%main_inner = OpFunction %main_out None %363
|
||||
%tUV_param = OpFunctionParameter %v2float
|
||||
%tileID_1_param = OpFunctionParameter %v2float
|
||||
%levelUnits_param = OpFunctionParameter %v2float
|
||||
%stageUnits_1_param = OpFunctionParameter %v2float
|
||||
%vPosition_param = OpFunctionParameter %v3float
|
||||
%vUV_param = OpFunctionParameter %v2float
|
||||
%372 = OpLabel
|
||||
OpStore %tUV %tUV_param
|
||||
OpStore %tileID_1 %tileID_1_param
|
||||
OpStore %levelUnits %levelUnits_param
|
||||
OpStore %stageUnits_1 %stageUnits_1_param
|
||||
OpStore %vPosition %vPosition_param
|
||||
OpStore %vUV %vUV_param
|
||||
%373 = OpFunctionCall %void %main_1
|
||||
%374 = OpLoad %v4float %glFragColor
|
||||
%375 = OpCompositeConstruct %main_out %374
|
||||
OpReturnValue %375
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %106
|
||||
%370 = OpLabel
|
||||
%371 = OpLoad %v2float %tint_symbol
|
||||
OpStore %tUV %371
|
||||
%372 = OpLoad %v2float %tint_symbol_1
|
||||
OpStore %tileID_1 %372
|
||||
%373 = OpLoad %v2float %tint_symbol_2
|
||||
OpStore %levelUnits %373
|
||||
%374 = OpLoad %v2float %tint_symbol_3
|
||||
OpStore %stageUnits_1 %374
|
||||
%375 = OpLoad %v3float %tint_symbol_4
|
||||
OpStore %vPosition %375
|
||||
%376 = OpLoad %v2float %tint_symbol_5
|
||||
OpStore %vUV %376
|
||||
%377 = OpFunctionCall %void %main_1
|
||||
%379 = OpLoad %v4float %glFragColor
|
||||
%380 = OpCompositeConstruct %main_out %379
|
||||
%378 = OpFunctionCall %void %tint_symbol_8 %380
|
||||
%377 = OpLabel
|
||||
%379 = OpLoad %v2float %tUV_param_1
|
||||
%380 = OpLoad %v2float %tileID_1_param_1
|
||||
%381 = OpLoad %v2float %levelUnits_param_1
|
||||
%382 = OpLoad %v2float %stageUnits_1_param_1
|
||||
%383 = OpLoad %v3float %vPosition_param_1
|
||||
%384 = OpLoad %v2float %vUV_param_1
|
||||
%378 = OpFunctionCall %main_out %main_inner %379 %380 %381 %382 %383 %384
|
||||
%385 = OpCompositeExtract %v4float %378 0
|
||||
OpStore %glFragColor_1_1 %385
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,13 +1,19 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 671
|
||||
; Bound: 675
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%88 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_2 %tint_symbol_3 %tint_symbol_4 %tint_symbol_6
|
||||
OpEntryPoint Fragment %main "main" %vMainuv_param_1 %v_output1_param_1 %gl_FrontFacing_param_1 %v_uv_param_1 %v_output2_param_1 %glFragColor_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %vMainuv_param_1 "vMainuv_param_1"
|
||||
OpName %v_output1_param_1 "v_output1_param_1"
|
||||
OpName %gl_FrontFacing_param_1 "gl_FrontFacing_param_1"
|
||||
OpName %v_uv_param_1 "v_uv_param_1"
|
||||
OpName %v_output2_param_1 "v_output2_param_1"
|
||||
OpName %glFragColor_1_1 "glFragColor_1_1"
|
||||
OpName %u_Float "u_Float"
|
||||
OpName %u_Color "u_Color"
|
||||
OpName %TextureSamplerTexture "TextureSamplerTexture"
|
||||
|
@ -42,12 +48,6 @@
|
|||
OpName %glFragColor "glFragColor"
|
||||
OpName %bumpSamplerSampler "bumpSamplerSampler"
|
||||
OpName %bumpSamplerTexture "bumpSamplerTexture"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_6 "tint_symbol_6"
|
||||
OpName %cotangent_frame_vf3_vf3_vf2_vf2_ "cotangent_frame_vf3_vf3_vf2_vf2_"
|
||||
OpName %normal_1 "normal_1"
|
||||
OpName %p "p"
|
||||
|
@ -150,9 +150,19 @@
|
|||
OpName %output3 "output3"
|
||||
OpName %main_out "main_out"
|
||||
OpMemberName %main_out 0 "glFragColor_1"
|
||||
OpName %tint_symbol_7 "tint_symbol_7"
|
||||
OpName %tint_symbol_5 "tint_symbol_5"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %vMainuv_param "vMainuv_param"
|
||||
OpName %v_output1_param "v_output1_param"
|
||||
OpName %gl_FrontFacing_param "gl_FrontFacing_param"
|
||||
OpName %v_uv_param "v_uv_param"
|
||||
OpName %v_output2_param "v_output2_param"
|
||||
OpName %main "main"
|
||||
OpDecorate %vMainuv_param_1 Location 1
|
||||
OpDecorate %v_output1_param_1 Location 0
|
||||
OpDecorate %gl_FrontFacing_param_1 BuiltIn FrontFacing
|
||||
OpDecorate %v_uv_param_1 Location 3
|
||||
OpDecorate %v_output2_param_1 Location 2
|
||||
OpDecorate %glFragColor_1_1 Location 0
|
||||
OpDecorate %TextureSamplerTexture DescriptorSet 2
|
||||
OpDecorate %TextureSamplerTexture Binding 1
|
||||
OpDecorate %TextureSamplerSampler DescriptorSet 2
|
||||
|
@ -193,66 +203,60 @@
|
|||
OpDecorate %bumpSamplerSampler Binding 4
|
||||
OpDecorate %bumpSamplerTexture DescriptorSet 2
|
||||
OpDecorate %bumpSamplerTexture Binding 5
|
||||
OpDecorate %tint_symbol Location 1
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %tint_symbol_2 BuiltIn FrontFacing
|
||||
OpDecorate %tint_symbol_3 Location 3
|
||||
OpDecorate %tint_symbol_4 Location 2
|
||||
OpDecorate %tint_symbol_6 Location 0
|
||||
OpMemberDecorate %lightingInfo 0 Offset 0
|
||||
OpMemberDecorate %lightingInfo 1 Offset 16
|
||||
OpMemberDecorate %main_out 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%vMainuv_param_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%v_output1_param_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%bool = OpTypeBool
|
||||
%_ptr_Input_bool = OpTypePointer Input %bool
|
||||
%gl_FrontFacing_param_1 = OpVariable %_ptr_Input_bool Input
|
||||
%v_uv_param_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%v_output2_param_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%15 = OpConstantNull %v4float
|
||||
%glFragColor_1_1 = OpVariable %_ptr_Output_v4float Output %15
|
||||
%_ptr_Private_float = OpTypePointer Private %float
|
||||
%4 = OpConstantNull %float
|
||||
%u_Float = OpVariable %_ptr_Private_float Private %4
|
||||
%18 = OpConstantNull %float
|
||||
%u_Float = OpVariable %_ptr_Private_float Private %18
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Private_v3float = OpTypePointer Private %v3float
|
||||
%8 = OpConstantNull %v3float
|
||||
%u_Color = OpVariable %_ptr_Private_v3float Private %8
|
||||
%11 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
|
||||
%TextureSamplerTexture = OpVariable %_ptr_UniformConstant_11 UniformConstant
|
||||
%14 = OpTypeSampler
|
||||
%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
|
||||
%TextureSamplerSampler = OpVariable %_ptr_UniformConstant_14 UniformConstant
|
||||
%v2float = OpTypeVector %float 2
|
||||
%22 = OpConstantNull %v3float
|
||||
%u_Color = OpVariable %_ptr_Private_v3float Private %22
|
||||
%25 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_25 = OpTypePointer UniformConstant %25
|
||||
%TextureSamplerTexture = OpVariable %_ptr_UniformConstant_25 UniformConstant
|
||||
%28 = OpTypeSampler
|
||||
%_ptr_UniformConstant_28 = OpTypePointer UniformConstant %28
|
||||
%TextureSamplerSampler = OpVariable %_ptr_UniformConstant_28 UniformConstant
|
||||
%_ptr_Private_v2float = OpTypePointer Private %v2float
|
||||
%18 = OpConstantNull %v2float
|
||||
%vMainuv = OpVariable %_ptr_Private_v2float Private %18
|
||||
%v4float = OpTypeVector %float 4
|
||||
%31 = OpConstantNull %v2float
|
||||
%vMainuv = OpVariable %_ptr_Private_v2float Private %31
|
||||
%mat4v4float = OpTypeMatrix %v4float 4
|
||||
%uint = OpTypeInt 32 0
|
||||
%LeftOver = OpTypeStruct %mat4v4float %mat4v4float %float %uint %v3float %float %float %uint %v2float
|
||||
%_ptr_Uniform_LeftOver = OpTypePointer Uniform %LeftOver
|
||||
%x_269 = OpVariable %_ptr_Uniform_LeftOver Uniform
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%27 = OpConstantNull %v4float
|
||||
%v_output1 = OpVariable %_ptr_Private_v4float Private %27
|
||||
%bool = OpTypeBool
|
||||
%v_output1 = OpVariable %_ptr_Private_v4float Private %15
|
||||
%_ptr_Private_bool = OpTypePointer Private %bool
|
||||
%31 = OpConstantNull %bool
|
||||
%gl_FrontFacing = OpVariable %_ptr_Private_bool Private %31
|
||||
%v_uv = OpVariable %_ptr_Private_v2float Private %18
|
||||
%v_output2 = OpVariable %_ptr_Private_v4float Private %27
|
||||
%TextureSampler1Texture = OpVariable %_ptr_UniformConstant_11 UniformConstant
|
||||
%TextureSampler1Sampler = OpVariable %_ptr_UniformConstant_14 UniformConstant
|
||||
%41 = OpConstantNull %bool
|
||||
%gl_FrontFacing = OpVariable %_ptr_Private_bool Private %41
|
||||
%v_uv = OpVariable %_ptr_Private_v2float Private %31
|
||||
%v_output2 = OpVariable %_ptr_Private_v4float Private %15
|
||||
%TextureSampler1Texture = OpVariable %_ptr_UniformConstant_25 UniformConstant
|
||||
%TextureSampler1Sampler = OpVariable %_ptr_UniformConstant_28 UniformConstant
|
||||
%Light0 = OpTypeStruct %v4float %v4float %v4float %v3float %uint %v4float %v2float
|
||||
%_ptr_Uniform_Light0 = OpTypePointer Uniform %Light0
|
||||
%light0 = OpVariable %_ptr_Uniform_Light0 Uniform
|
||||
%glFragColor = OpVariable %_ptr_Private_v4float Private %27
|
||||
%bumpSamplerSampler = OpVariable %_ptr_UniformConstant_14 UniformConstant
|
||||
%bumpSamplerTexture = OpVariable %_ptr_UniformConstant_11 UniformConstant
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v2float Input
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Input_bool = OpTypePointer Input %bool
|
||||
%tint_symbol_2 = OpVariable %_ptr_Input_bool Input
|
||||
%tint_symbol_3 = OpVariable %_ptr_Input_v2float Input
|
||||
%tint_symbol_4 = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%tint_symbol_6 = OpVariable %_ptr_Output_v4float Output %27
|
||||
%glFragColor = OpVariable %_ptr_Private_v4float Private %15
|
||||
%bumpSamplerSampler = OpVariable %_ptr_UniformConstant_28 UniformConstant
|
||||
%bumpSamplerTexture = OpVariable %_ptr_UniformConstant_25 UniformConstant
|
||||
%mat3v3float = OpTypeMatrix %v3float 3
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
|
@ -285,7 +289,7 @@
|
|||
%342 = OpConstantNull %int
|
||||
%float_100 = OpConstant %float 100
|
||||
%371 = OpConstantComposite %v3float %float_0_5 %float_0_5 %float_0_5
|
||||
%376 = OpTypeSampledImage %11
|
||||
%376 = OpTypeSampledImage %25
|
||||
%uint_6 = OpConstant %uint 6
|
||||
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
||||
%uint_4 = OpConstant %uint 4
|
||||
|
@ -302,22 +306,22 @@
|
|||
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
|
||||
%uint_3 = OpConstant %uint 3
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%654 = OpTypeFunction %void %main_out
|
||||
%654 = OpTypeFunction %main_out %v2float %v4float %bool %v2float %v4float
|
||||
%cotangent_frame_vf3_vf3_vf2_vf2_ = OpFunction %mat3v3float None %52
|
||||
%normal_1 = OpFunctionParameter %_ptr_Function_v3float
|
||||
%p = OpFunctionParameter %_ptr_Function_v3float
|
||||
%uv = OpFunctionParameter %_ptr_Function_v2float
|
||||
%tangentSpaceParams = OpFunctionParameter %_ptr_Function_v2float
|
||||
%61 = OpLabel
|
||||
%dp1 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%dp2 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%duv1 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%duv2 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%dp2perp = OpVariable %_ptr_Function_v3float Function %8
|
||||
%dp1perp = OpVariable %_ptr_Function_v3float Function %8
|
||||
%tangent = OpVariable %_ptr_Function_v3float Function %8
|
||||
%bitangent = OpVariable %_ptr_Function_v3float Function %8
|
||||
%invmax = OpVariable %_ptr_Function_float Function %4
|
||||
%dp1 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%dp2 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%duv1 = OpVariable %_ptr_Function_v2float Function %31
|
||||
%duv2 = OpVariable %_ptr_Function_v2float Function %31
|
||||
%dp2perp = OpVariable %_ptr_Function_v3float Function %22
|
||||
%dp1perp = OpVariable %_ptr_Function_v3float Function %22
|
||||
%tangent = OpVariable %_ptr_Function_v3float Function %22
|
||||
%bitangent = OpVariable %_ptr_Function_v3float Function %22
|
||||
%invmax = OpVariable %_ptr_Function_float Function %18
|
||||
%73 = OpLoad %v3float %p
|
||||
%74 = OpDPdx %v3float %73
|
||||
OpStore %dp1 %74
|
||||
|
@ -402,9 +406,9 @@
|
|||
%transposeMat3_mf33_ = OpFunction %mat3v3float None %152
|
||||
%inMatrix = OpFunctionParameter %_ptr_Function_mat3v3float
|
||||
%156 = OpLabel
|
||||
%i0 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%i1 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%i2 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%i0 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%i1 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%i2 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%outMatrix = OpVariable %_ptr_Function_mat3v3float Function %161
|
||||
%165 = OpAccessChain %_ptr_Function_v3float %inMatrix %int_0
|
||||
%166 = OpLoad %v3float %165
|
||||
|
@ -470,8 +474,8 @@
|
|||
%scale_1 = OpFunctionParameter %_ptr_Function_float
|
||||
%227 = OpLabel
|
||||
%param = OpVariable %_ptr_Function_mat3v3float Function %161
|
||||
%param_1 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_2 = OpVariable %_ptr_Function_float Function %4
|
||||
%param_1 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_2 = OpVariable %_ptr_Function_float Function %18
|
||||
%232 = OpLoad %v3float %textureSample
|
||||
%234 = OpLoad %mat3v3float %cotangentFrame_1
|
||||
OpStore %param %234
|
||||
|
@ -492,10 +496,10 @@
|
|||
%groundColor = OpFunctionParameter %_ptr_Function_v3float
|
||||
%glossiness = OpFunctionParameter %_ptr_Function_float
|
||||
%257 = OpLabel
|
||||
%ndl = OpVariable %_ptr_Function_float Function %4
|
||||
%ndl = OpVariable %_ptr_Function_float Function %18
|
||||
%result = OpVariable %_ptr_Function_lightingInfo Function %261
|
||||
%angleW = OpVariable %_ptr_Function_v3float Function %8
|
||||
%specComp = OpVariable %_ptr_Function_float Function %4
|
||||
%angleW = OpVariable %_ptr_Function_v3float Function %22
|
||||
%specComp = OpVariable %_ptr_Function_float Function %18
|
||||
%265 = OpLoad %v3float %vNormal
|
||||
%267 = OpLoad %v4float %lightData
|
||||
%269 = OpCompositeExtract %float %267 0
|
||||
|
@ -542,64 +546,64 @@
|
|||
OpFunctionEnd
|
||||
%main_1 = OpFunction %void None %311
|
||||
%314 = OpLabel
|
||||
%tempTextureRead = OpVariable %_ptr_Function_v4float Function %27
|
||||
%rgb = OpVariable %_ptr_Function_v3float Function %8
|
||||
%output5 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%output4 = OpVariable %_ptr_Function_v4float Function %27
|
||||
%uvOffset = OpVariable %_ptr_Function_v2float Function %18
|
||||
%normalScale = OpVariable %_ptr_Function_float Function %4
|
||||
%TBNUV = OpVariable %_ptr_Function_v2float Function %18
|
||||
%x_299 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%tempTextureRead = OpVariable %_ptr_Function_v4float Function %15
|
||||
%rgb = OpVariable %_ptr_Function_v3float Function %22
|
||||
%output5 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%output4 = OpVariable %_ptr_Function_v4float Function %15
|
||||
%uvOffset = OpVariable %_ptr_Function_v2float Function %31
|
||||
%normalScale = OpVariable %_ptr_Function_float Function %18
|
||||
%TBNUV = OpVariable %_ptr_Function_v2float Function %31
|
||||
%x_299 = OpVariable %_ptr_Function_v2float Function %31
|
||||
%TBN = OpVariable %_ptr_Function_mat3v3float Function %161
|
||||
%param_3 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_4 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_5 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%param_6 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%param_3 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_4 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_5 = OpVariable %_ptr_Function_v2float Function %31
|
||||
%param_6 = OpVariable %_ptr_Function_v2float Function %31
|
||||
%invTBN = OpVariable %_ptr_Function_mat3v3float Function %161
|
||||
%param_7 = OpVariable %_ptr_Function_mat3v3float Function %161
|
||||
%parallaxLimit = OpVariable %_ptr_Function_float Function %4
|
||||
%vOffsetDir = OpVariable %_ptr_Function_v2float Function %18
|
||||
%vMaxOffset = OpVariable %_ptr_Function_v2float Function %18
|
||||
%numSamples = OpVariable %_ptr_Function_float Function %4
|
||||
%stepSize = OpVariable %_ptr_Function_float Function %4
|
||||
%currRayHeight = OpVariable %_ptr_Function_float Function %4
|
||||
%vCurrOffset = OpVariable %_ptr_Function_v2float Function %18
|
||||
%vLastOffset = OpVariable %_ptr_Function_v2float Function %18
|
||||
%lastSampledHeight = OpVariable %_ptr_Function_float Function %4
|
||||
%currSampledHeight = OpVariable %_ptr_Function_float Function %4
|
||||
%parallaxLimit = OpVariable %_ptr_Function_float Function %18
|
||||
%vOffsetDir = OpVariable %_ptr_Function_v2float Function %31
|
||||
%vMaxOffset = OpVariable %_ptr_Function_v2float Function %31
|
||||
%numSamples = OpVariable %_ptr_Function_float Function %18
|
||||
%stepSize = OpVariable %_ptr_Function_float Function %18
|
||||
%currRayHeight = OpVariable %_ptr_Function_float Function %18
|
||||
%vCurrOffset = OpVariable %_ptr_Function_v2float Function %31
|
||||
%vLastOffset = OpVariable %_ptr_Function_v2float Function %31
|
||||
%lastSampledHeight = OpVariable %_ptr_Function_float Function %18
|
||||
%currSampledHeight = OpVariable %_ptr_Function_float Function %18
|
||||
%i = OpVariable %_ptr_Function_int Function %342
|
||||
%delta1 = OpVariable %_ptr_Function_float Function %4
|
||||
%delta2 = OpVariable %_ptr_Function_float Function %4
|
||||
%ratio = OpVariable %_ptr_Function_float Function %4
|
||||
%parallaxOcclusion_0 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%delta1 = OpVariable %_ptr_Function_float Function %18
|
||||
%delta2 = OpVariable %_ptr_Function_float Function %18
|
||||
%ratio = OpVariable %_ptr_Function_float Function %18
|
||||
%parallaxOcclusion_0 = OpVariable %_ptr_Function_v2float Function %31
|
||||
%param_8 = OpVariable %_ptr_Function_mat3v3float Function %161
|
||||
%param_9 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_10 = OpVariable %_ptr_Function_float Function %4
|
||||
%output6 = OpVariable %_ptr_Function_v2float Function %18
|
||||
%tempTextureRead1 = OpVariable %_ptr_Function_v4float Function %27
|
||||
%rgb1 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%viewDirectionW_1 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%shadow = OpVariable %_ptr_Function_float Function %4
|
||||
%glossiness_1 = OpVariable %_ptr_Function_float Function %4
|
||||
%diffuseBase = OpVariable %_ptr_Function_v3float Function %8
|
||||
%specularBase = OpVariable %_ptr_Function_v3float Function %8
|
||||
%normalW = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_9 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_10 = OpVariable %_ptr_Function_float Function %18
|
||||
%output6 = OpVariable %_ptr_Function_v2float Function %31
|
||||
%tempTextureRead1 = OpVariable %_ptr_Function_v4float Function %15
|
||||
%rgb1 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%viewDirectionW_1 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%shadow = OpVariable %_ptr_Function_float Function %18
|
||||
%glossiness_1 = OpVariable %_ptr_Function_float Function %18
|
||||
%diffuseBase = OpVariable %_ptr_Function_v3float Function %22
|
||||
%specularBase = OpVariable %_ptr_Function_v3float Function %22
|
||||
%normalW = OpVariable %_ptr_Function_v3float Function %22
|
||||
%info = OpVariable %_ptr_Function_lightingInfo Function %261
|
||||
%param_11 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_12 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_13 = OpVariable %_ptr_Function_v4float Function %27
|
||||
%param_14 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_15 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_16 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_17 = OpVariable %_ptr_Function_float Function %4
|
||||
%diffuseOutput = OpVariable %_ptr_Function_v3float Function %8
|
||||
%specularOutput = OpVariable %_ptr_Function_v3float Function %8
|
||||
%output3 = OpVariable %_ptr_Function_v3float Function %8
|
||||
%param_11 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_12 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_13 = OpVariable %_ptr_Function_v4float Function %15
|
||||
%param_14 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_15 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_16 = OpVariable %_ptr_Function_v3float Function %22
|
||||
%param_17 = OpVariable %_ptr_Function_float Function %18
|
||||
%diffuseOutput = OpVariable %_ptr_Function_v3float Function %22
|
||||
%specularOutput = OpVariable %_ptr_Function_v3float Function %22
|
||||
%output3 = OpVariable %_ptr_Function_v3float Function %22
|
||||
OpStore %u_Float %float_100
|
||||
OpStore %u_Color %371
|
||||
%372 = OpLoad %v2float %vMainuv
|
||||
%374 = OpLoad %14 %TextureSamplerSampler
|
||||
%375 = OpLoad %11 %TextureSamplerTexture
|
||||
%374 = OpLoad %28 %TextureSamplerSampler
|
||||
%375 = OpLoad %25 %TextureSamplerTexture
|
||||
%377 = OpSampledImage %376 %375 %374
|
||||
%373 = OpImageSampleImplicitLod %v4float %377 %372
|
||||
OpStore %tempTextureRead %373
|
||||
|
@ -741,8 +745,8 @@
|
|||
%492 = OpLabel
|
||||
%495 = OpLoad %v2float %v_uv
|
||||
%496 = OpLoad %v2float %vCurrOffset
|
||||
%498 = OpLoad %14 %TextureSamplerSampler
|
||||
%499 = OpLoad %11 %TextureSamplerTexture
|
||||
%498 = OpLoad %28 %TextureSamplerSampler
|
||||
%499 = OpLoad %25 %TextureSamplerTexture
|
||||
%500 = OpSampledImage %376 %499 %498
|
||||
%501 = OpFAdd %v2float %495 %496
|
||||
%497 = OpImageSampleImplicitLod %v4float %500 %501
|
||||
|
@ -810,8 +814,8 @@
|
|||
OpStore %uvOffset %543
|
||||
%544 = OpLoad %v2float %v_uv
|
||||
%545 = OpLoad %v2float %uvOffset
|
||||
%547 = OpLoad %14 %TextureSamplerSampler
|
||||
%548 = OpLoad %11 %TextureSamplerTexture
|
||||
%547 = OpLoad %28 %TextureSamplerSampler
|
||||
%548 = OpLoad %25 %TextureSamplerTexture
|
||||
%549 = OpSampledImage %376 %548 %547
|
||||
%550 = OpFAdd %v2float %544 %545
|
||||
%546 = OpImageSampleImplicitLod %v4float %549 %550
|
||||
|
@ -839,8 +843,8 @@
|
|||
%571 = OpFAdd %v2float %569 %570
|
||||
OpStore %output6 %571
|
||||
%572 = OpLoad %v2float %output6
|
||||
%574 = OpLoad %14 %TextureSampler1Sampler
|
||||
%575 = OpLoad %11 %TextureSampler1Texture
|
||||
%574 = OpLoad %28 %TextureSampler1Sampler
|
||||
%575 = OpLoad %25 %TextureSampler1Texture
|
||||
%576 = OpSampledImage %376 %575 %574
|
||||
%573 = OpImageSampleImplicitLod %v4float %576 %572
|
||||
OpStore %tempTextureRead1 %573
|
||||
|
@ -935,28 +939,32 @@
|
|||
OpStore %glFragColor %653
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_7 = OpFunction %void None %654
|
||||
%tint_symbol_5 = OpFunctionParameter %main_out
|
||||
%658 = OpLabel
|
||||
%659 = OpCompositeExtract %v4float %tint_symbol_5 0
|
||||
OpStore %tint_symbol_6 %659
|
||||
OpReturn
|
||||
%main_inner = OpFunction %main_out None %654
|
||||
%vMainuv_param = OpFunctionParameter %v2float
|
||||
%v_output1_param = OpFunctionParameter %v4float
|
||||
%gl_FrontFacing_param = OpFunctionParameter %bool
|
||||
%v_uv_param = OpFunctionParameter %v2float
|
||||
%v_output2_param = OpFunctionParameter %v4float
|
||||
%662 = OpLabel
|
||||
OpStore %vMainuv %vMainuv_param
|
||||
OpStore %v_output1 %v_output1_param
|
||||
OpStore %gl_FrontFacing %gl_FrontFacing_param
|
||||
OpStore %v_uv %v_uv_param
|
||||
OpStore %v_output2 %v_output2_param
|
||||
%663 = OpFunctionCall %void %main_1
|
||||
%664 = OpLoad %v4float %glFragColor
|
||||
%665 = OpCompositeConstruct %main_out %664
|
||||
OpReturnValue %665
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %311
|
||||
%661 = OpLabel
|
||||
%662 = OpLoad %v2float %tint_symbol
|
||||
OpStore %vMainuv %662
|
||||
%663 = OpLoad %v4float %tint_symbol_1
|
||||
OpStore %v_output1 %663
|
||||
%664 = OpLoad %bool %tint_symbol_2
|
||||
OpStore %gl_FrontFacing %664
|
||||
%665 = OpLoad %v2float %tint_symbol_3
|
||||
OpStore %v_uv %665
|
||||
%666 = OpLoad %v4float %tint_symbol_4
|
||||
OpStore %v_output2 %666
|
||||
%667 = OpFunctionCall %void %main_1
|
||||
%669 = OpLoad %v4float %glFragColor
|
||||
%670 = OpCompositeConstruct %main_out %669
|
||||
%668 = OpFunctionCall %void %tint_symbol_7 %670
|
||||
%667 = OpLabel
|
||||
%669 = OpLoad %v2float %vMainuv_param_1
|
||||
%670 = OpLoad %v4float %v_output1_param_1
|
||||
%671 = OpLoad %bool %gl_FrontFacing_param_1
|
||||
%672 = OpLoad %v2float %v_uv_param_1
|
||||
%673 = OpLoad %v4float %v_output2_param_1
|
||||
%668 = OpFunctionCall %main_out %main_inner %669 %670 %671 %672 %673
|
||||
%674 = OpCompositeExtract %v4float %668 0
|
||||
OpStore %glFragColor_1_1 %674
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 92
|
||||
; Bound: 97
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%46 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID_param_1
|
||||
OpExecutionMode %main LocalSize 128 1 1
|
||||
OpName %gl_GlobalInvocationID_param_1 "gl_GlobalInvocationID_param_1"
|
||||
OpName %ssbOut "ssbOut"
|
||||
OpMemberName %ssbOut 0 "result"
|
||||
OpName %x_16 "x_16"
|
||||
|
@ -22,7 +23,6 @@
|
|||
OpMemberName %Uniforms 3 "outShapeStrides"
|
||||
OpMemberName %Uniforms 4 "size"
|
||||
OpName %x_24 "x_24"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %getAAtOutCoords_ "getAAtOutCoords_"
|
||||
OpName %unaryOperation_f1_ "unaryOperation_f1_"
|
||||
OpName %a "a"
|
||||
|
@ -35,7 +35,10 @@
|
|||
OpName %param "param"
|
||||
OpName %param_1 "param_1"
|
||||
OpName %param_2 "param_2"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %gl_GlobalInvocationID_param "gl_GlobalInvocationID_param"
|
||||
OpName %main "main"
|
||||
OpDecorate %gl_GlobalInvocationID_param_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %ssbOut Block
|
||||
OpMemberDecorate %ssbOut 0 Offset 0
|
||||
OpDecorate %_runtimearr_float ArrayStride 4
|
||||
|
@ -55,7 +58,10 @@
|
|||
OpDecorate %x_24 NonWritable
|
||||
OpDecorate %x_24 DescriptorSet 0
|
||||
OpDecorate %x_24 Binding 2
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%gl_GlobalInvocationID_param_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%ssbOut = OpTypeStruct %_runtimearr_float
|
||||
|
@ -64,17 +70,13 @@
|
|||
%ssbA = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_ssbA = OpTypePointer StorageBuffer %ssbA
|
||||
%x_20 = OpVariable %_ptr_StorageBuffer_ssbA StorageBuffer
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Private_v3uint = OpTypePointer Private %v3uint
|
||||
%13 = OpConstantNull %v3uint
|
||||
%gl_GlobalInvocationID = OpVariable %_ptr_Private_v3uint Private %13
|
||||
%15 = OpConstantNull %v3uint
|
||||
%gl_GlobalInvocationID = OpVariable %_ptr_Private_v3uint Private %15
|
||||
%int = OpTypeInt 32 1
|
||||
%Uniforms = OpTypeStruct %float %int %int %int %int
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%x_24 = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%20 = OpTypeFunction %float
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Private_uint = OpTypePointer Private %uint
|
||||
|
@ -92,6 +94,7 @@
|
|||
%65 = OpConstantNull %float
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%_ptr_Uniform_int = OpTypePointer Uniform %int
|
||||
%88 = OpTypeFunction %void %v3uint
|
||||
%getAAtOutCoords_ = OpFunction %float None %20
|
||||
%22 = OpLabel
|
||||
%25 = OpAccessChain %_ptr_Private_uint %gl_GlobalInvocationID %uint_0
|
||||
|
@ -155,10 +158,16 @@
|
|||
%78 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %59
|
||||
%89 = OpLabel
|
||||
%90 = OpLoad %v3uint %tint_symbol
|
||||
OpStore %gl_GlobalInvocationID %90
|
||||
%91 = OpFunctionCall %void %main_1
|
||||
%main_inner = OpFunction %void None %88
|
||||
%gl_GlobalInvocationID_param = OpFunctionParameter %v3uint
|
||||
%91 = OpLabel
|
||||
OpStore %gl_GlobalInvocationID %gl_GlobalInvocationID_param
|
||||
%92 = OpFunctionCall %void %main_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %59
|
||||
%94 = OpLabel
|
||||
%96 = OpLoad %v3uint %gl_GlobalInvocationID_param_1
|
||||
%95 = OpFunctionCall %void %main_inner %96
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 98
|
||||
; Bound: 103
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%43 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main" %tint_symbol
|
||||
OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID_param_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %gl_GlobalInvocationID_param_1 "gl_GlobalInvocationID_param_1"
|
||||
OpName %gl_GlobalInvocationID "gl_GlobalInvocationID"
|
||||
OpName %ResultMatrix "ResultMatrix"
|
||||
OpMemberName %ResultMatrix 0 "numbers"
|
||||
|
@ -23,7 +24,6 @@
|
|||
OpMemberName %Uniforms 1 "sizeA"
|
||||
OpMemberName %Uniforms 2 "sizeB"
|
||||
OpName %x_46 "x_46"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %binaryOperation_f1_f1_ "binaryOperation_f1_f1_"
|
||||
OpName %a "a"
|
||||
OpName %b "b"
|
||||
|
@ -33,7 +33,10 @@
|
|||
OpName %a_1 "a_1"
|
||||
OpName %param "param"
|
||||
OpName %param_1 "param_1"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %gl_GlobalInvocationID_param "gl_GlobalInvocationID_param"
|
||||
OpName %main "main"
|
||||
OpDecorate %gl_GlobalInvocationID_param_1 BuiltIn GlobalInvocationId
|
||||
OpDecorate %ResultMatrix Block
|
||||
OpMemberDecorate %ResultMatrix 0 Offset 0
|
||||
OpDecorate %_runtimearr_float ArrayStride 4
|
||||
|
@ -56,12 +59,13 @@
|
|||
OpDecorate %x_46 NonWritable
|
||||
OpDecorate %x_46 DescriptorSet 0
|
||||
OpDecorate %x_46 Binding 3
|
||||
OpDecorate %tint_symbol BuiltIn GlobalInvocationId
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%gl_GlobalInvocationID_param_1 = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Private_v3uint = OpTypePointer Private %v3uint
|
||||
%5 = OpConstantNull %v3uint
|
||||
%gl_GlobalInvocationID = OpVariable %_ptr_Private_v3uint Private %5
|
||||
%7 = OpConstantNull %v3uint
|
||||
%gl_GlobalInvocationID = OpVariable %_ptr_Private_v3uint Private %7
|
||||
%float = OpTypeFloat 32
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%ResultMatrix = OpTypeStruct %_runtimearr_float
|
||||
|
@ -77,8 +81,6 @@
|
|||
%Uniforms = OpTypeStruct %float %int %int
|
||||
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
|
||||
%x_46 = OpVariable %_ptr_Uniform_Uniforms Uniform
|
||||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_v3uint Input
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%23 = OpTypeFunction %float %_ptr_Function_float %_ptr_Function_float
|
||||
%30 = OpConstantNull %float
|
||||
|
@ -96,6 +98,7 @@
|
|||
%float_n4 = OpConstant %float -4
|
||||
%float_n3 = OpConstant %float -3
|
||||
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
|
||||
%94 = OpTypeFunction %void %v3uint
|
||||
%binaryOperation_f1_f1_ = OpFunction %float None %23
|
||||
%a = OpFunctionParameter %_ptr_Function_float
|
||||
%b = OpFunctionParameter %_ptr_Function_float
|
||||
|
@ -158,10 +161,16 @@
|
|||
OpStore %93 %89
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %70
|
||||
%95 = OpLabel
|
||||
%96 = OpLoad %v3uint %tint_symbol
|
||||
OpStore %gl_GlobalInvocationID %96
|
||||
%97 = OpFunctionCall %void %main_1
|
||||
%main_inner = OpFunction %void None %94
|
||||
%gl_GlobalInvocationID_param = OpFunctionParameter %v3uint
|
||||
%97 = OpLabel
|
||||
OpStore %gl_GlobalInvocationID %gl_GlobalInvocationID_param
|
||||
%98 = OpFunctionCall %void %main_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %70
|
||||
%100 = OpLabel
|
||||
%102 = OpLoad %v3uint %gl_GlobalInvocationID_param_1
|
||||
%101 = OpFunctionCall %void %main_inner %102
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -5,81 +5,81 @@
|
|||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_3
|
||||
OpEntryPoint Fragment %main "main" %vUv_1 %color_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %vUv_1 "vUv_1"
|
||||
OpName %color_1 "color_1"
|
||||
OpName %depthMap "depthMap"
|
||||
OpName %texSampler "texSampler"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %tint_symbol_3 "tint_symbol_3"
|
||||
OpName %FragmentOutput "FragmentOutput"
|
||||
OpMemberName %FragmentOutput 0 "color"
|
||||
OpName %tint_symbol_4 "tint_symbol_4"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %main "main"
|
||||
OpName %FragmentInput "FragmentInput"
|
||||
OpMemberName %FragmentInput 0 "vUv"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %fIn "fIn"
|
||||
OpName %fOut "fOut"
|
||||
OpName %main "main"
|
||||
OpDecorate %vUv_1 Location 2
|
||||
OpDecorate %color_1 Location 0
|
||||
OpDecorate %depthMap Binding 5
|
||||
OpDecorate %depthMap DescriptorSet 1
|
||||
OpDecorate %texSampler Binding 3
|
||||
OpDecorate %texSampler DescriptorSet 1
|
||||
OpDecorate %tint_symbol Location 2
|
||||
OpDecorate %tint_symbol_3 Location 0
|
||||
OpMemberDecorate %FragmentOutput 0 Offset 0
|
||||
OpMemberDecorate %FragmentInput 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%3 = OpTypeImage %float 2D 1 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
|
||||
%depthMap = OpVariable %_ptr_UniformConstant_3 UniformConstant
|
||||
%7 = OpTypeSampler
|
||||
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
|
||||
%texSampler = OpVariable %_ptr_UniformConstant_7 UniformConstant
|
||||
%v2float = OpTypeVector %float 2
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%tint_symbol = OpVariable %_ptr_Input_v2float Input
|
||||
%vUv_1 = OpVariable %_ptr_Input_v2float Input
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%14 = OpConstantNull %v4float
|
||||
%tint_symbol_3 = OpVariable %_ptr_Output_v4float Output %14
|
||||
%void = OpTypeVoid
|
||||
%8 = OpConstantNull %v4float
|
||||
%color_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%11 = OpTypeImage %float 2D 1 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
|
||||
%depthMap = OpVariable %_ptr_UniformConstant_11 UniformConstant
|
||||
%14 = OpTypeSampler
|
||||
%_ptr_UniformConstant_14 = OpTypePointer UniformConstant %14
|
||||
%texSampler = OpVariable %_ptr_UniformConstant_14 UniformConstant
|
||||
%FragmentOutput = OpTypeStruct %v4float
|
||||
%15 = OpTypeFunction %void %FragmentOutput
|
||||
%22 = OpTypeFunction %void
|
||||
%FragmentInput = OpTypeStruct %v2float
|
||||
%32 = OpTypeSampledImage %3
|
||||
%15 = OpTypeFunction %FragmentOutput %FragmentInput
|
||||
%25 = OpTypeSampledImage %11
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Function_FragmentOutput = OpTypePointer Function %FragmentOutput
|
||||
%39 = OpConstantNull %FragmentOutput
|
||||
%32 = OpConstantNull %FragmentOutput
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%tint_symbol_4 = OpFunction %void None %15
|
||||
%tint_symbol_2 = OpFunctionParameter %FragmentOutput
|
||||
%void = OpTypeVoid
|
||||
%43 = OpTypeFunction %void
|
||||
%main_inner = OpFunction %FragmentOutput None %15
|
||||
%fIn = OpFunctionParameter %FragmentInput
|
||||
%20 = OpLabel
|
||||
%21 = OpCompositeExtract %v4float %tint_symbol_2 0
|
||||
OpStore %tint_symbol_3 %21
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %22
|
||||
%24 = OpLabel
|
||||
%fOut = OpVariable %_ptr_Function_FragmentOutput Function %39
|
||||
%26 = OpLoad %v2float %tint_symbol
|
||||
%27 = OpCompositeConstruct %FragmentInput %26
|
||||
%30 = OpLoad %7 %texSampler
|
||||
%31 = OpLoad %3 %depthMap
|
||||
%33 = OpSampledImage %32 %31 %30
|
||||
%34 = OpCompositeExtract %v2float %27 0
|
||||
%29 = OpImageSampleImplicitLod %v4float %33 %34
|
||||
%28 = OpCompositeExtract %float %29 0
|
||||
%36 = OpCompositeConstruct %v3float %28 %28 %28
|
||||
%43 = OpAccessChain %_ptr_Function_v4float %fOut %uint_0
|
||||
%44 = OpCompositeExtract %float %36 0
|
||||
%45 = OpCompositeExtract %float %36 1
|
||||
%46 = OpCompositeExtract %float %36 2
|
||||
%48 = OpCompositeConstruct %v4float %44 %45 %46 %float_1
|
||||
OpStore %43 %48
|
||||
%50 = OpLoad %FragmentOutput %fOut
|
||||
%49 = OpFunctionCall %void %tint_symbol_4 %50
|
||||
%fOut = OpVariable %_ptr_Function_FragmentOutput Function %32
|
||||
%23 = OpLoad %14 %texSampler
|
||||
%24 = OpLoad %11 %depthMap
|
||||
%26 = OpSampledImage %25 %24 %23
|
||||
%27 = OpCompositeExtract %v2float %fIn 0
|
||||
%22 = OpImageSampleImplicitLod %v4float %26 %27
|
||||
%21 = OpCompositeExtract %float %22 0
|
||||
%29 = OpCompositeConstruct %v3float %21 %21 %21
|
||||
%36 = OpAccessChain %_ptr_Function_v4float %fOut %uint_0
|
||||
%37 = OpCompositeExtract %float %29 0
|
||||
%38 = OpCompositeExtract %float %29 1
|
||||
%39 = OpCompositeExtract %float %29 2
|
||||
%41 = OpCompositeConstruct %v4float %37 %38 %39 %float_1
|
||||
OpStore %36 %41
|
||||
%42 = OpLoad %FragmentOutput %fOut
|
||||
OpReturnValue %42
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %43
|
||||
%46 = OpLabel
|
||||
%48 = OpLoad %v2float %vUv_1
|
||||
%49 = OpCompositeConstruct %FragmentInput %48
|
||||
%47 = OpFunctionCall %FragmentOutput %main_inner %49
|
||||
%50 = OpCompositeExtract %v4float %47 0
|
||||
OpStore %color_1 %50
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,37 +1,39 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 41
|
||||
; Bound: 47
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%23 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %main "main"
|
||||
OpEntryPoint GLCompute %main "main" %idx_1
|
||||
OpExecutionMode %main LocalSize 1 1 1
|
||||
OpName %idx_1 "idx_1"
|
||||
OpName %S "S"
|
||||
OpMemberName %S 0 "v"
|
||||
OpMemberName %S 1 "i"
|
||||
OpName %io "io"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %Bad "Bad"
|
||||
OpName %index "index"
|
||||
OpName %rd "rd"
|
||||
OpName %normal "normal"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %idx "idx"
|
||||
OpName %main "main"
|
||||
OpDecorate %idx_1 BuiltIn LocalInvocationIndex
|
||||
OpDecorate %S Block
|
||||
OpMemberDecorate %S 0 Offset 0
|
||||
OpMemberDecorate %S 1 Offset 12
|
||||
OpDecorate %io Binding 0
|
||||
OpDecorate %io DescriptorSet 0
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%idx_1 = OpVariable %_ptr_Input_uint Input
|
||||
%float = OpTypeFloat 32
|
||||
%v3float = OpTypeVector %float 3
|
||||
%uint = OpTypeInt 32 0
|
||||
%S = OpTypeStruct %v3float %uint
|
||||
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
|
||||
%io = OpVariable %_ptr_StorageBuffer_S StorageBuffer
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%9 = OpTypeFunction %v3float %uint %v3float
|
||||
%float_0 = OpConstant %float 0
|
||||
%15 = OpConstantComposite %v3float %float_0 %float_0 %float_0
|
||||
|
@ -39,11 +41,12 @@
|
|||
%18 = OpConstantNull %v3float
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%void = OpTypeVoid
|
||||
%27 = OpTypeFunction %void
|
||||
%27 = OpTypeFunction %void %uint
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_StorageBuffer_v3float = OpTypePointer StorageBuffer %v3float
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint
|
||||
%42 = OpTypeFunction %void
|
||||
%Bad = OpFunction %v3float None %9
|
||||
%index = OpFunctionParameter %uint
|
||||
%rd = OpFunctionParameter %v3float
|
||||
|
@ -59,14 +62,21 @@
|
|||
%25 = OpExtInst %v3float %23 Normalize %26
|
||||
OpReturnValue %25
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %27
|
||||
%30 = OpLabel
|
||||
%33 = OpAccessChain %_ptr_StorageBuffer_v3float %io %uint_0
|
||||
%37 = OpAccessChain %_ptr_StorageBuffer_uint %io %uint_1
|
||||
%38 = OpLoad %uint %37
|
||||
%39 = OpAccessChain %_ptr_StorageBuffer_v3float %io %uint_0
|
||||
%40 = OpLoad %v3float %39
|
||||
%34 = OpFunctionCall %v3float %Bad %38 %40
|
||||
OpStore %33 %34
|
||||
%main_inner = OpFunction %void None %27
|
||||
%idx = OpFunctionParameter %uint
|
||||
%31 = OpLabel
|
||||
%34 = OpAccessChain %_ptr_StorageBuffer_v3float %io %uint_0
|
||||
%38 = OpAccessChain %_ptr_StorageBuffer_uint %io %uint_1
|
||||
%39 = OpLoad %uint %38
|
||||
%40 = OpAccessChain %_ptr_StorageBuffer_v3float %io %uint_0
|
||||
%41 = OpLoad %v3float %40
|
||||
%35 = OpFunctionCall %v3float %Bad %39 %41
|
||||
OpStore %34 %35
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %42
|
||||
%44 = OpLabel
|
||||
%46 = OpLoad %uint %idx_1
|
||||
%45 = OpFunctionCall %void %main_inner %46
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,53 +1,51 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 31
|
||||
; Bound: 30
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %tint_symbol_1
|
||||
OpEntryPoint Fragment %frag_main "frag_main" %value
|
||||
OpExecutionMode %frag_main OriginUpperLeft
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %frag_main "frag_main"
|
||||
OpName %value "value"
|
||||
OpName %frag_main_inner "frag_main_inner"
|
||||
OpName %b "b"
|
||||
OpName %v "v"
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpName %frag_main "frag_main"
|
||||
OpDecorate %value Location 0
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void %v4float
|
||||
%11 = OpTypeFunction %void
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%6 = OpTypeFunction %v4float
|
||||
%float_0 = OpConstant %float 0
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%17 = OpConstantNull %float
|
||||
%12 = OpConstantNull %float
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%23 = OpConstantNull %v3float
|
||||
%18 = OpConstantNull %v3float
|
||||
%float_1 = OpConstant %float 1
|
||||
%tint_symbol_2 = OpFunction %void None %6
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%10 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%frag_main = OpFunction %void None %11
|
||||
%13 = OpLabel
|
||||
%b = OpVariable %_ptr_Function_float Function %17
|
||||
%v = OpVariable %_ptr_Function_v3float Function %23
|
||||
%void = OpTypeVoid
|
||||
%25 = OpTypeFunction %void
|
||||
%frag_main_inner = OpFunction %v4float None %6
|
||||
%8 = OpLabel
|
||||
%b = OpVariable %_ptr_Function_float Function %12
|
||||
%v = OpVariable %_ptr_Function_v3float Function %18
|
||||
OpStore %b %float_0
|
||||
%19 = OpLoad %float %b
|
||||
%20 = OpCompositeConstruct %v3float %19 %19 %19
|
||||
OpStore %v %20
|
||||
%25 = OpLoad %v3float %v
|
||||
%26 = OpCompositeExtract %float %25 0
|
||||
%27 = OpCompositeExtract %float %25 1
|
||||
%28 = OpCompositeExtract %float %25 2
|
||||
%30 = OpCompositeConstruct %v4float %26 %27 %28 %float_1
|
||||
%24 = OpFunctionCall %void %tint_symbol_2 %30
|
||||
%14 = OpLoad %float %b
|
||||
%15 = OpCompositeConstruct %v3float %14 %14 %14
|
||||
OpStore %v %15
|
||||
%19 = OpLoad %v3float %v
|
||||
%20 = OpCompositeExtract %float %19 0
|
||||
%21 = OpCompositeExtract %float %19 1
|
||||
%22 = OpCompositeExtract %float %19 2
|
||||
%24 = OpCompositeConstruct %v4float %20 %21 %22 %float_1
|
||||
OpReturnValue %24
|
||||
OpFunctionEnd
|
||||
%frag_main = OpFunction %void None %25
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %v4float %frag_main_inner
|
||||
OpStore %value %29
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,52 +1,50 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 25
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol_1
|
||||
OpEntryPoint Fragment %main "main" %out_var_SV_TARGET_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %out_var_SV_TARGET_1_1 "out_var_SV_TARGET_1_1"
|
||||
OpName %out_var_SV_TARGET "out_var_SV_TARGET"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %main_1 "main_1"
|
||||
OpName %main_out "main_out"
|
||||
OpMemberName %main_out 0 "out_var_SV_TARGET_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %out_var_SV_TARGET_1_1 Location 0
|
||||
OpMemberDecorate %main_out 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%out_var_SV_TARGET = OpVariable %_ptr_Private_v4float Private %5
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%5 = OpConstantNull %v4float
|
||||
%out_var_SV_TARGET_1_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%out_var_SV_TARGET = OpVariable %_ptr_Private_v4float Private %5
|
||||
%void = OpTypeVoid
|
||||
%8 = OpTypeFunction %void
|
||||
%float_n0x1p_128 = OpConstant %float -0x1p+128
|
||||
%13 = OpConstantComposite %v4float %float_n0x1p_128 %float_n0x1p_128 %float_n0x1p_128 %float_n0x1p_128
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%14 = OpTypeFunction %void %main_out
|
||||
%14 = OpTypeFunction %main_out
|
||||
%main_1 = OpFunction %void None %8
|
||||
%11 = OpLabel
|
||||
OpStore %out_var_SV_TARGET %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %14
|
||||
%tint_symbol = OpFunctionParameter %main_out
|
||||
%18 = OpLabel
|
||||
%19 = OpCompositeExtract %v4float %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %19
|
||||
OpReturn
|
||||
%main_inner = OpFunction %main_out None %14
|
||||
%17 = OpLabel
|
||||
%18 = OpFunctionCall %void %main_1
|
||||
%19 = OpLoad %v4float %out_var_SV_TARGET
|
||||
%20 = OpCompositeConstruct %main_out %19
|
||||
OpReturnValue %20
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %8
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %main_1
|
||||
%24 = OpLoad %v4float %out_var_SV_TARGET
|
||||
%25 = OpCompositeConstruct %main_out %24
|
||||
%23 = OpFunctionCall %void %tint_symbol_2 %25
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %main_out %main_inner
|
||||
%24 = OpCompositeExtract %v4float %23 0
|
||||
OpStore %out_var_SV_TARGET_1_1 %24
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,52 +1,50 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 25
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol_1
|
||||
OpEntryPoint Fragment %main "main" %out_var_SV_TARGET_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %out_var_SV_TARGET_1_1 "out_var_SV_TARGET_1_1"
|
||||
OpName %out_var_SV_TARGET "out_var_SV_TARGET"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %main_1 "main_1"
|
||||
OpName %main_out "main_out"
|
||||
OpMemberName %main_out 0 "out_var_SV_TARGET_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %out_var_SV_TARGET_1_1 Location 0
|
||||
OpMemberDecorate %main_out 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%out_var_SV_TARGET = OpVariable %_ptr_Private_v4float Private %5
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%5 = OpConstantNull %v4float
|
||||
%out_var_SV_TARGET_1_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%out_var_SV_TARGET = OpVariable %_ptr_Private_v4float Private %5
|
||||
%void = OpTypeVoid
|
||||
%8 = OpTypeFunction %void
|
||||
%float_0x1p_128 = OpConstant %float 0x1p+128
|
||||
%13 = OpConstantComposite %v4float %float_0x1p_128 %float_0x1p_128 %float_0x1p_128 %float_0x1p_128
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%14 = OpTypeFunction %void %main_out
|
||||
%14 = OpTypeFunction %main_out
|
||||
%main_1 = OpFunction %void None %8
|
||||
%11 = OpLabel
|
||||
OpStore %out_var_SV_TARGET %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %14
|
||||
%tint_symbol = OpFunctionParameter %main_out
|
||||
%18 = OpLabel
|
||||
%19 = OpCompositeExtract %v4float %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %19
|
||||
OpReturn
|
||||
%main_inner = OpFunction %main_out None %14
|
||||
%17 = OpLabel
|
||||
%18 = OpFunctionCall %void %main_1
|
||||
%19 = OpLoad %v4float %out_var_SV_TARGET
|
||||
%20 = OpCompositeConstruct %main_out %19
|
||||
OpReturnValue %20
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %8
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %main_1
|
||||
%24 = OpLoad %v4float %out_var_SV_TARGET
|
||||
%25 = OpCompositeConstruct %main_out %24
|
||||
%23 = OpFunctionCall %void %tint_symbol_2 %25
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %main_out %main_inner
|
||||
%24 = OpCompositeExtract %v4float %23 0
|
||||
OpStore %out_var_SV_TARGET_1_1 %24
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,52 +1,50 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 25
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %tint_symbol_1
|
||||
OpEntryPoint Fragment %main "main" %out_var_SV_TARGET_1_1
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpName %out_var_SV_TARGET_1_1 "out_var_SV_TARGET_1_1"
|
||||
OpName %out_var_SV_TARGET "out_var_SV_TARGET"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %main_1 "main_1"
|
||||
OpName %main_out "main_out"
|
||||
OpMemberName %main_out 0 "out_var_SV_TARGET_1"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %main_inner "main_inner"
|
||||
OpName %main "main"
|
||||
OpDecorate %tint_symbol_1 Location 0
|
||||
OpDecorate %out_var_SV_TARGET_1_1 Location 0
|
||||
OpMemberDecorate %main_out 0 Offset 0
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%out_var_SV_TARGET = OpVariable %_ptr_Private_v4float Private %5
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%5 = OpConstantNull %v4float
|
||||
%out_var_SV_TARGET_1_1 = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
||||
%out_var_SV_TARGET = OpVariable %_ptr_Private_v4float Private %5
|
||||
%void = OpTypeVoid
|
||||
%8 = OpTypeFunction %void
|
||||
%float_0x1_1p_128 = OpConstant %float 0x1.1p+128
|
||||
%13 = OpConstantComposite %v4float %float_0x1_1p_128 %float_0x1_1p_128 %float_0x1_1p_128 %float_0x1_1p_128
|
||||
%main_out = OpTypeStruct %v4float
|
||||
%14 = OpTypeFunction %void %main_out
|
||||
%14 = OpTypeFunction %main_out
|
||||
%main_1 = OpFunction %void None %8
|
||||
%11 = OpLabel
|
||||
OpStore %out_var_SV_TARGET %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %14
|
||||
%tint_symbol = OpFunctionParameter %main_out
|
||||
%18 = OpLabel
|
||||
%19 = OpCompositeExtract %v4float %tint_symbol 0
|
||||
OpStore %tint_symbol_1 %19
|
||||
OpReturn
|
||||
%main_inner = OpFunction %main_out None %14
|
||||
%17 = OpLabel
|
||||
%18 = OpFunctionCall %void %main_1
|
||||
%19 = OpLoad %v4float %out_var_SV_TARGET
|
||||
%20 = OpCompositeConstruct %main_out %19
|
||||
OpReturnValue %20
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %8
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %main_1
|
||||
%24 = OpLoad %v4float %out_var_SV_TARGET
|
||||
%25 = OpCompositeConstruct %main_out %24
|
||||
%23 = OpFunctionCall %void %tint_symbol_2 %25
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %main_out %main_inner
|
||||
%24 = OpCompositeExtract %v4float %23 0
|
||||
OpStore %out_var_SV_TARGET_1_1 %24
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_002533 "abs_002533"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%17 = OpTypeFunction %void %v4float
|
||||
%17 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_002533 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_v4float Function %8
|
||||
%13 = OpExtInst %v4float %14 FAbs %8
|
||||
%res = OpVariable %_ptr_Function_v4float Function %5
|
||||
%13 = OpExtInst %v4float %14 FAbs %5
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%20 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %17
|
||||
%19 = OpLabel
|
||||
%20 = OpFunctionCall %void %abs_002533
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%22 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %abs_002533
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%23 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %23
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %abs_002533
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %abs_002533
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_002533
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_002533
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_005174 "abs_005174"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v3float = OpTypeVector %float 3
|
||||
%16 = OpConstantNull %v3float
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_005174 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %abs_005174
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %abs_005174
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_005174
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %abs_005174
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_005174
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %abs_005174
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%16 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_1ce782 "abs_1ce782"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%v4uint = OpTypeVector %uint 4
|
||||
%17 = OpConstantNull %v4uint
|
||||
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_1ce782 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_1ce782
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_1ce782
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_1ce782
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_1ce782
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_1ce782
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_1ce782
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_1e9d53 "abs_1e9d53"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v2float = OpTypeVector %float 2
|
||||
%16 = OpConstantNull %v2float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_1e9d53 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %abs_1e9d53
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %abs_1e9d53
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_1e9d53
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %abs_1e9d53
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_1e9d53
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %abs_1e9d53
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_467cd1 "abs_467cd1"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%19 = OpConstantNull %uint
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_467cd1 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_467cd1
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_467cd1
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_467cd1
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_467cd1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_467cd1
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_467cd1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_4ad288 "abs_4ad288"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%19 = OpConstantNull %int
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_4ad288 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_4ad288
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_4ad288
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_4ad288
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_4ad288
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_4ad288
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_4ad288
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%16 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_5ad50a "abs_5ad50a"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%v3int = OpTypeVector %int 3
|
||||
%17 = OpConstantNull %v3int
|
||||
%_ptr_Function_v3int = OpTypePointer Function %v3int
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_5ad50a = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_5ad50a
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_5ad50a
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_5ad50a
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_5ad50a
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_5ad50a
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_5ad50a
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%16 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_7326de "abs_7326de"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%v3uint = OpTypeVector %uint 3
|
||||
%17 = OpConstantNull %v3uint
|
||||
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_7326de = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_7326de
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_7326de
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_7326de
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_7326de
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_7326de
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_7326de
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%16 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_7f28e6 "abs_7f28e6"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%v2uint = OpTypeVector %uint 2
|
||||
%17 = OpConstantNull %v2uint
|
||||
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_7f28e6 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_7f28e6
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_7f28e6
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_7f28e6
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_7f28e6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_7f28e6
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_7f28e6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%16 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_7faa9e "abs_7faa9e"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%v2int = OpTypeVector %int 2
|
||||
%17 = OpConstantNull %v2int
|
||||
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_7faa9e = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_7faa9e
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_7faa9e
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_7faa9e
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_7faa9e
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_7faa9e
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_7faa9e
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,42 +1,41 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%16 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_9c80a6 "abs_9c80a6"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%int = OpTypeInt 32 1
|
||||
%v4int = OpTypeVector %int 4
|
||||
%17 = OpConstantNull %v4int
|
||||
%_ptr_Function_v4int = OpTypePointer Function %v4int
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%abs_9c80a6 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %abs_9c80a6
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %abs_9c80a6
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_9c80a6
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_9c80a6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %abs_9c80a6
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %abs_9c80a6
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %abs_b96037 "abs_b96037"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%18 = OpTypeFunction %void %v4float
|
||||
%18 = OpTypeFunction %v4float
|
||||
%abs_b96037 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_float Function %4
|
||||
%res = OpVariable %_ptr_Function_float Function %8
|
||||
%13 = OpExtInst %float %14 FAbs %float_1
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %18
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%21 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %18
|
||||
%20 = OpLabel
|
||||
%21 = OpFunctionCall %void %abs_b96037
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%23 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %abs_b96037
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%24 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %24
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %abs_b96037
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %abs_b96037
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %abs_b96037
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %abs_b96037
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %acos_489247 "acos_489247"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%18 = OpTypeFunction %void %v4float
|
||||
%18 = OpTypeFunction %v4float
|
||||
%acos_489247 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_float Function %4
|
||||
%res = OpVariable %_ptr_Function_float Function %8
|
||||
%13 = OpExtInst %float %14 Acos %float_1
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %18
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%21 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %18
|
||||
%20 = OpLabel
|
||||
%21 = OpFunctionCall %void %acos_489247
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%23 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %acos_489247
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%24 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %24
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %acos_489247
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %acos_489247
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %acos_489247
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %acos_489247
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %acos_8e2acf "acos_8e2acf"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%17 = OpTypeFunction %void %v4float
|
||||
%17 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%acos_8e2acf = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_v4float Function %8
|
||||
%13 = OpExtInst %v4float %14 Acos %8
|
||||
%res = OpVariable %_ptr_Function_v4float Function %5
|
||||
%13 = OpExtInst %v4float %14 Acos %5
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%20 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %17
|
||||
%19 = OpLabel
|
||||
%20 = OpFunctionCall %void %acos_8e2acf
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%22 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %acos_8e2acf
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%23 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %23
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %acos_8e2acf
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %acos_8e2acf
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %acos_8e2acf
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %acos_8e2acf
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %acos_a610c4 "acos_a610c4"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v3float = OpTypeVector %float 3
|
||||
%16 = OpConstantNull %v3float
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%acos_a610c4 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %acos_a610c4
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %acos_a610c4
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %acos_a610c4
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %acos_a610c4
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %acos_a610c4
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %acos_a610c4
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %acos_dfc915 "acos_dfc915"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v2float = OpTypeVector %float 2
|
||||
%16 = OpConstantNull %v2float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%acos_dfc915 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %acos_dfc915
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %acos_dfc915
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %acos_dfc915
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %acos_dfc915
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %acos_dfc915
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %acos_dfc915
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,34 +1,33 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %all_986c7b "all_986c7b"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
|
@ -36,7 +35,7 @@
|
|||
%16 = OpConstantNull %v4bool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%19 = OpConstantNull %bool
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%all_986c7b = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %all_986c7b
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %all_986c7b
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %all_986c7b
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %all_986c7b
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %all_986c7b
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %all_986c7b
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,34 +1,33 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %all_bd2dba "all_bd2dba"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
|
@ -36,7 +35,7 @@
|
|||
%16 = OpConstantNull %v3bool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%19 = OpConstantNull %bool
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%all_bd2dba = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %all_bd2dba
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %all_bd2dba
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %all_bd2dba
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %all_bd2dba
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %all_bd2dba
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %all_bd2dba
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,34 +1,33 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %all_f46790 "all_f46790"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
|
@ -36,7 +35,7 @@
|
|||
%16 = OpConstantNull %v2bool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%19 = OpConstantNull %bool
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%all_f46790 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %all_f46790
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %all_f46790
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %all_f46790
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %all_f46790
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %all_f46790
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %all_f46790
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,34 +1,33 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %any_083428 "any_083428"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
|
@ -36,7 +35,7 @@
|
|||
%16 = OpConstantNull %v4bool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%19 = OpConstantNull %bool
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%any_083428 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %any_083428
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %any_083428
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %any_083428
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %any_083428
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %any_083428
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %any_083428
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,34 +1,33 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %any_0e3e58 "any_0e3e58"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
|
@ -36,7 +35,7 @@
|
|||
%16 = OpConstantNull %v2bool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%19 = OpConstantNull %bool
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%any_0e3e58 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %any_0e3e58
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %any_0e3e58
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %any_0e3e58
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %any_0e3e58
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %any_0e3e58
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %any_0e3e58
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,34 +1,33 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 35
|
||||
; Bound: 34
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %any_e755c1 "any_e755c1"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%bool = OpTypeBool
|
||||
|
@ -36,7 +35,7 @@
|
|||
%16 = OpConstantNull %v3bool
|
||||
%_ptr_Function_bool = OpTypePointer Function %bool
|
||||
%19 = OpConstantNull %bool
|
||||
%20 = OpTypeFunction %void %v4float
|
||||
%20 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%any_e755c1 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -45,26 +44,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %20
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%23 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %20
|
||||
%22 = OpLabel
|
||||
%23 = OpFunctionCall %void %any_e755c1
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%25 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%27 = OpFunctionCall %void %any_e755c1
|
||||
%28 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%26 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %26
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %any_e755c1
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %any_e755c1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %any_e755c1
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %any_e755c1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,54 +1,53 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 38
|
||||
; Bound: 37
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %SB_RO "SB_RO"
|
||||
OpMemberName %SB_RO 0 "arg_0"
|
||||
OpName %sb_ro "sb_ro"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %arrayLength_1588cd "arrayLength_1588cd"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %SB_RO Block
|
||||
OpMemberDecorate %SB_RO 0 Offset 0
|
||||
OpDecorate %_runtimearr_int ArrayStride 4
|
||||
OpDecorate %sb_ro NonWritable
|
||||
OpDecorate %sb_ro DescriptorSet 0
|
||||
OpDecorate %sb_ro Binding 1
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%int = OpTypeInt 32 1
|
||||
%_runtimearr_int = OpTypeRuntimeArray %int
|
||||
%SB_RO = OpTypeStruct %_runtimearr_int
|
||||
%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO
|
||||
%sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%13 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %13
|
||||
%void = OpTypeVoid
|
||||
%14 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%22 = OpConstantNull %uint
|
||||
%23 = OpTypeFunction %void %v4float
|
||||
%23 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%arrayLength_1588cd = OpFunction %void None %14
|
||||
%17 = OpLabel
|
||||
|
@ -57,26 +56,25 @@
|
|||
OpStore %res %18
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %23
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%26 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %23
|
||||
%25 = OpLabel
|
||||
%26 = OpFunctionCall %void %arrayLength_1588cd
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %14
|
||||
%28 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%30 = OpFunctionCall %void %arrayLength_1588cd
|
||||
%31 = OpFunctionCall %void %tint_symbol_2 %13
|
||||
%29 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %29
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %14
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %arrayLength_1588cd
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %arrayLength_1588cd
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %14
|
||||
%36 = OpLabel
|
||||
%37 = OpFunctionCall %void %arrayLength_1588cd
|
||||
%35 = OpLabel
|
||||
%36 = OpFunctionCall %void %arrayLength_1588cd
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,53 +1,52 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 38
|
||||
; Bound: 37
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %SB_RW "SB_RW"
|
||||
OpMemberName %SB_RW 0 "arg_0"
|
||||
OpName %sb_rw "sb_rw"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %arrayLength_61b1c7 "arrayLength_61b1c7"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %SB_RW Block
|
||||
OpMemberDecorate %SB_RW 0 Offset 0
|
||||
OpDecorate %_runtimearr_int ArrayStride 4
|
||||
OpDecorate %sb_rw DescriptorSet 0
|
||||
OpDecorate %sb_rw Binding 0
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%int = OpTypeInt 32 1
|
||||
%_runtimearr_int = OpTypeRuntimeArray %int
|
||||
%SB_RW = OpTypeStruct %_runtimearr_int
|
||||
%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW
|
||||
%sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%13 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %13
|
||||
%void = OpTypeVoid
|
||||
%14 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%22 = OpConstantNull %uint
|
||||
%23 = OpTypeFunction %void %v4float
|
||||
%23 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%arrayLength_61b1c7 = OpFunction %void None %14
|
||||
%17 = OpLabel
|
||||
|
@ -56,26 +55,25 @@
|
|||
OpStore %res %18
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %23
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%26 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %23
|
||||
%25 = OpLabel
|
||||
%26 = OpFunctionCall %void %arrayLength_61b1c7
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %14
|
||||
%28 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%30 = OpFunctionCall %void %arrayLength_61b1c7
|
||||
%31 = OpFunctionCall %void %tint_symbol_2 %13
|
||||
%29 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %29
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %14
|
||||
%33 = OpLabel
|
||||
%34 = OpFunctionCall %void %arrayLength_61b1c7
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %arrayLength_61b1c7
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %14
|
||||
%36 = OpLabel
|
||||
%37 = OpFunctionCall %void %arrayLength_61b1c7
|
||||
%35 = OpLabel
|
||||
%36 = OpFunctionCall %void %arrayLength_61b1c7
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,53 +1,52 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 37
|
||||
; Bound: 36
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %SB_RO "SB_RO"
|
||||
OpMemberName %SB_RO 0 "arg_0"
|
||||
OpName %sb_ro "sb_ro"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %arrayLength_a0f5ca "arrayLength_a0f5ca"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %SB_RO Block
|
||||
OpMemberDecorate %SB_RO 0 Offset 0
|
||||
OpDecorate %_runtimearr_float ArrayStride 4
|
||||
OpDecorate %sb_ro NonWritable
|
||||
OpDecorate %sb_ro DescriptorSet 0
|
||||
OpDecorate %sb_ro Binding 1
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%SB_RO = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO
|
||||
%sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%12 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
|
||||
%void = OpTypeVoid
|
||||
%13 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%21 = OpConstantNull %uint
|
||||
%22 = OpTypeFunction %void %v4float
|
||||
%22 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%arrayLength_a0f5ca = OpFunction %void None %13
|
||||
%16 = OpLabel
|
||||
|
@ -56,26 +55,25 @@
|
|||
OpStore %res %17
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %22
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%25 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %22
|
||||
%24 = OpLabel
|
||||
%25 = OpFunctionCall %void %arrayLength_a0f5ca
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %13
|
||||
%27 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%29 = OpFunctionCall %void %arrayLength_a0f5ca
|
||||
%30 = OpFunctionCall %void %tint_symbol_2 %12
|
||||
%28 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %28
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %13
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %arrayLength_a0f5ca
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %arrayLength_a0f5ca
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %13
|
||||
%35 = OpLabel
|
||||
%36 = OpFunctionCall %void %arrayLength_a0f5ca
|
||||
%34 = OpLabel
|
||||
%35 = OpFunctionCall %void %arrayLength_a0f5ca
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,52 +1,51 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 37
|
||||
; Bound: 36
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %SB_RW "SB_RW"
|
||||
OpMemberName %SB_RW 0 "arg_0"
|
||||
OpName %sb_rw "sb_rw"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %arrayLength_cdd123 "arrayLength_cdd123"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %SB_RW Block
|
||||
OpMemberDecorate %SB_RW 0 Offset 0
|
||||
OpDecorate %_runtimearr_float ArrayStride 4
|
||||
OpDecorate %sb_rw DescriptorSet 0
|
||||
OpDecorate %sb_rw Binding 0
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%_runtimearr_float = OpTypeRuntimeArray %float
|
||||
%SB_RW = OpTypeStruct %_runtimearr_float
|
||||
%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW
|
||||
%sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%12 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
|
||||
%void = OpTypeVoid
|
||||
%13 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%21 = OpConstantNull %uint
|
||||
%22 = OpTypeFunction %void %v4float
|
||||
%22 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%arrayLength_cdd123 = OpFunction %void None %13
|
||||
%16 = OpLabel
|
||||
|
@ -55,26 +54,25 @@
|
|||
OpStore %res %17
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %22
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%25 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %22
|
||||
%24 = OpLabel
|
||||
%25 = OpFunctionCall %void %arrayLength_cdd123
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %13
|
||||
%27 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%29 = OpFunctionCall %void %arrayLength_cdd123
|
||||
%30 = OpFunctionCall %void %tint_symbol_2 %12
|
||||
%28 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %28
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %13
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %arrayLength_cdd123
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %arrayLength_cdd123
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %13
|
||||
%35 = OpLabel
|
||||
%36 = OpFunctionCall %void %arrayLength_cdd123
|
||||
%34 = OpLabel
|
||||
%35 = OpFunctionCall %void %arrayLength_cdd123
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,53 +1,52 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 37
|
||||
; Bound: 36
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %SB_RO "SB_RO"
|
||||
OpMemberName %SB_RO 0 "arg_0"
|
||||
OpName %sb_ro "sb_ro"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %arrayLength_cfca0a "arrayLength_cfca0a"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %SB_RO Block
|
||||
OpMemberDecorate %SB_RO 0 Offset 0
|
||||
OpDecorate %_runtimearr_uint ArrayStride 4
|
||||
OpDecorate %sb_ro NonWritable
|
||||
OpDecorate %sb_ro DescriptorSet 0
|
||||
OpDecorate %sb_ro Binding 1
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%uint = OpTypeInt 32 0
|
||||
%_runtimearr_uint = OpTypeRuntimeArray %uint
|
||||
%SB_RO = OpTypeStruct %_runtimearr_uint
|
||||
%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO
|
||||
%sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%13 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %13
|
||||
%void = OpTypeVoid
|
||||
%14 = OpTypeFunction %void
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%21 = OpConstantNull %uint
|
||||
%22 = OpTypeFunction %void %v4float
|
||||
%22 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%arrayLength_cfca0a = OpFunction %void None %14
|
||||
%17 = OpLabel
|
||||
|
@ -56,26 +55,25 @@
|
|||
OpStore %res %18
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %22
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%25 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %22
|
||||
%24 = OpLabel
|
||||
%25 = OpFunctionCall %void %arrayLength_cfca0a
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %14
|
||||
%27 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%29 = OpFunctionCall %void %arrayLength_cfca0a
|
||||
%30 = OpFunctionCall %void %tint_symbol_2 %13
|
||||
%28 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %28
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %14
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %arrayLength_cfca0a
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %arrayLength_cfca0a
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %14
|
||||
%35 = OpLabel
|
||||
%36 = OpFunctionCall %void %arrayLength_cfca0a
|
||||
%34 = OpLabel
|
||||
%35 = OpFunctionCall %void %arrayLength_cfca0a
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,52 +1,51 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 37
|
||||
; Bound: 36
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %SB_RW "SB_RW"
|
||||
OpMemberName %SB_RW 0 "arg_0"
|
||||
OpName %sb_rw "sb_rw"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %arrayLength_eb510f "arrayLength_eb510f"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
OpDecorate %SB_RW Block
|
||||
OpMemberDecorate %SB_RW 0 Offset 0
|
||||
OpDecorate %_runtimearr_uint ArrayStride 4
|
||||
OpDecorate %sb_rw DescriptorSet 0
|
||||
OpDecorate %sb_rw Binding 0
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%uint = OpTypeInt 32 0
|
||||
%_runtimearr_uint = OpTypeRuntimeArray %uint
|
||||
%SB_RW = OpTypeStruct %_runtimearr_uint
|
||||
%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW
|
||||
%sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%13 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %13
|
||||
%void = OpTypeVoid
|
||||
%14 = OpTypeFunction %void
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%21 = OpConstantNull %uint
|
||||
%22 = OpTypeFunction %void %v4float
|
||||
%22 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%arrayLength_eb510f = OpFunction %void None %14
|
||||
%17 = OpLabel
|
||||
|
@ -55,26 +54,25 @@
|
|||
OpStore %res %18
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %22
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%25 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %22
|
||||
%24 = OpLabel
|
||||
%25 = OpFunctionCall %void %arrayLength_eb510f
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %14
|
||||
%27 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%29 = OpFunctionCall %void %arrayLength_eb510f
|
||||
%30 = OpFunctionCall %void %tint_symbol_2 %13
|
||||
%28 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %28
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %14
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %arrayLength_eb510f
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %arrayLength_eb510f
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %14
|
||||
%35 = OpLabel
|
||||
%36 = OpFunctionCall %void %arrayLength_eb510f
|
||||
%34 = OpLabel
|
||||
%35 = OpFunctionCall %void %arrayLength_eb510f
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %asin_064953 "asin_064953"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%17 = OpTypeFunction %void %v4float
|
||||
%17 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%asin_064953 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_v4float Function %8
|
||||
%13 = OpExtInst %v4float %14 Asin %8
|
||||
%res = OpVariable %_ptr_Function_v4float Function %5
|
||||
%13 = OpExtInst %v4float %14 Asin %5
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%20 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %17
|
||||
%19 = OpLabel
|
||||
%20 = OpFunctionCall %void %asin_064953
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%22 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %asin_064953
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%23 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %23
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %asin_064953
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %asin_064953
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %asin_064953
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %asin_064953
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %asin_7b6a44 "asin_7b6a44"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v2float = OpTypeVector %float 2
|
||||
%16 = OpConstantNull %v2float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%asin_7b6a44 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %asin_7b6a44
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %asin_7b6a44
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %asin_7b6a44
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %asin_7b6a44
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %asin_7b6a44
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %asin_7b6a44
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %asin_8cd9c9 "asin_8cd9c9"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v3float = OpTypeVector %float 3
|
||||
%16 = OpConstantNull %v3float
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%asin_8cd9c9 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %asin_8cd9c9
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %asin_8cd9c9
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %asin_8cd9c9
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %asin_8cd9c9
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %asin_8cd9c9
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %asin_8cd9c9
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %asin_c0c272 "asin_c0c272"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%18 = OpTypeFunction %void %v4float
|
||||
%18 = OpTypeFunction %v4float
|
||||
%asin_c0c272 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_float Function %4
|
||||
%res = OpVariable %_ptr_Function_float Function %8
|
||||
%13 = OpExtInst %float %14 Asin %float_1
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %18
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%21 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %18
|
||||
%20 = OpLabel
|
||||
%21 = OpFunctionCall %void %asin_c0c272
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%23 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %asin_c0c272
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%24 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %24
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %asin_c0c272
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %asin_c0c272
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %asin_c0c272
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %asin_c0c272
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan_02979a "atan_02979a"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%18 = OpTypeFunction %void %v4float
|
||||
%18 = OpTypeFunction %v4float
|
||||
%atan_02979a = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_float Function %4
|
||||
%res = OpVariable %_ptr_Function_float Function %8
|
||||
%13 = OpExtInst %float %14 Atan %float_1
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %18
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%21 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %18
|
||||
%20 = OpLabel
|
||||
%21 = OpFunctionCall %void %atan_02979a
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%23 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %atan_02979a
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%24 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %24
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %atan_02979a
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %atan_02979a
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %atan_02979a
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan_02979a
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan_331e6d "atan_331e6d"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v3float = OpTypeVector %float 3
|
||||
%16 = OpConstantNull %v3float
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%atan_331e6d = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %atan_331e6d
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %atan_331e6d
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan_331e6d
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %atan_331e6d
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %atan_331e6d
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %atan_331e6d
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan_a8b696 "atan_a8b696"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%17 = OpTypeFunction %void %v4float
|
||||
%17 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%atan_a8b696 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_v4float Function %8
|
||||
%13 = OpExtInst %v4float %14 Atan %8
|
||||
%res = OpVariable %_ptr_Function_v4float Function %5
|
||||
%13 = OpExtInst %v4float %14 Atan %5
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%20 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %17
|
||||
%19 = OpLabel
|
||||
%20 = OpFunctionCall %void %atan_a8b696
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%22 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %atan_a8b696
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%23 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %23
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %atan_a8b696
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %atan_a8b696
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %atan_a8b696
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan_a8b696
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan_ad96e4 "atan_ad96e4"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v2float = OpTypeVector %float 2
|
||||
%16 = OpConstantNull %v2float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%atan_ad96e4 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %atan_ad96e4
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %atan_ad96e4
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan_ad96e4
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %atan_ad96e4
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %atan_ad96e4
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %atan_ad96e4
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan2_57fb13 "atan2_57fb13"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v2float = OpTypeVector %float 2
|
||||
%16 = OpConstantNull %v2float
|
||||
%_ptr_Function_v2float = OpTypePointer Function %v2float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%atan2_57fb13 = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %atan2_57fb13
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %atan2_57fb13
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan2_57fb13
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %atan2_57fb13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %atan2_57fb13
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %atan2_57fb13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan2_96057c "atan2_96057c"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%float_1 = OpConstant %float 1
|
||||
%_ptr_Function_float = OpTypePointer Function %float
|
||||
%18 = OpTypeFunction %void %v4float
|
||||
%18 = OpTypeFunction %v4float
|
||||
%atan2_96057c = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_float Function %4
|
||||
%res = OpVariable %_ptr_Function_float Function %8
|
||||
%13 = OpExtInst %float %14 Atan2 %float_1 %float_1
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %18
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%21 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %18
|
||||
%20 = OpLabel
|
||||
%21 = OpFunctionCall %void %atan2_96057c
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%23 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %atan2_96057c
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%24 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %24
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %atan2_96057c
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %atan2_96057c
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %atan2_96057c
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan2_96057c
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 34
|
||||
; Bound: 33
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%15 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan2_a70d0d "atan2_a70d0d"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%v3float = OpTypeVector %float 3
|
||||
%16 = OpConstantNull %v3float
|
||||
%_ptr_Function_v3float = OpTypePointer Function %v3float
|
||||
%19 = OpTypeFunction %void %v4float
|
||||
%19 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%atan2_a70d0d = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
|
@ -44,26 +43,25 @@
|
|||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %19
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%22 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %19
|
||||
%21 = OpLabel
|
||||
%22 = OpFunctionCall %void %atan2_a70d0d
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%24 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%26 = OpFunctionCall %void %atan2_a70d0d
|
||||
%27 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%25 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %25
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan2_a70d0d
|
||||
%28 = OpLabel
|
||||
%29 = OpFunctionCall %void %atan2_a70d0d
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%32 = OpLabel
|
||||
%33 = OpFunctionCall %void %atan2_a70d0d
|
||||
%31 = OpLabel
|
||||
%32 = OpFunctionCall %void %atan2_a70d0d
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,67 +1,65 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 32
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%14 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
|
||||
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
|
||||
OpEntryPoint Fragment %fragment_main "fragment_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpExecutionMode %fragment_main OriginUpperLeft
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %tint_pointsize "tint_pointsize"
|
||||
OpName %tint_symbol_1 "tint_symbol_1"
|
||||
OpName %value "value"
|
||||
OpName %vertex_point_size "vertex_point_size"
|
||||
OpName %atan2_ae713e "atan2_ae713e"
|
||||
OpName %res "res"
|
||||
OpName %tint_symbol_2 "tint_symbol_2"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %vertex_main_inner "vertex_main_inner"
|
||||
OpName %vertex_main "vertex_main"
|
||||
OpName %fragment_main "fragment_main"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_pointsize BuiltIn PointSize
|
||||
OpDecorate %tint_symbol_1 BuiltIn Position
|
||||
OpDecorate %value BuiltIn Position
|
||||
OpDecorate %vertex_point_size BuiltIn PointSize
|
||||
%float = OpTypeFloat 32
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%4 = OpConstantNull %float
|
||||
%tint_pointsize = OpVariable %_ptr_Output_float Output %4
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%8 = OpConstantNull %v4float
|
||||
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8
|
||||
%5 = OpConstantNull %v4float
|
||||
%value = OpVariable %_ptr_Output_v4float Output %5
|
||||
%_ptr_Output_float = OpTypePointer Output %float
|
||||
%8 = OpConstantNull %float
|
||||
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
|
||||
%void = OpTypeVoid
|
||||
%9 = OpTypeFunction %void
|
||||
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
||||
%17 = OpTypeFunction %void %v4float
|
||||
%17 = OpTypeFunction %v4float
|
||||
%float_1 = OpConstant %float 1
|
||||
%atan2_ae713e = OpFunction %void None %9
|
||||
%12 = OpLabel
|
||||
%res = OpVariable %_ptr_Function_v4float Function %8
|
||||
%13 = OpExtInst %v4float %14 Atan2 %8 %8
|
||||
%res = OpVariable %_ptr_Function_v4float Function %5
|
||||
%13 = OpExtInst %v4float %14 Atan2 %5 %5
|
||||
OpStore %res %13
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%tint_symbol_2 = OpFunction %void None %17
|
||||
%tint_symbol = OpFunctionParameter %v4float
|
||||
%20 = OpLabel
|
||||
OpStore %tint_symbol_1 %tint_symbol
|
||||
OpReturn
|
||||
%vertex_main_inner = OpFunction %v4float None %17
|
||||
%19 = OpLabel
|
||||
%20 = OpFunctionCall %void %atan2_ae713e
|
||||
OpReturnValue %5
|
||||
OpFunctionEnd
|
||||
%vertex_main = OpFunction %void None %9
|
||||
%22 = OpLabel
|
||||
OpStore %tint_pointsize %float_1
|
||||
%24 = OpFunctionCall %void %atan2_ae713e
|
||||
%25 = OpFunctionCall %void %tint_symbol_2 %8
|
||||
%23 = OpFunctionCall %v4float %vertex_main_inner
|
||||
OpStore %value %23
|
||||
OpStore %vertex_point_size %float_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%fragment_main = OpFunction %void None %9
|
||||
%27 = OpLabel
|
||||
%28 = OpFunctionCall %void %atan2_ae713e
|
||||
%26 = OpLabel
|
||||
%27 = OpFunctionCall %void %atan2_ae713e
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %9
|
||||
%30 = OpLabel
|
||||
%31 = OpFunctionCall %void %atan2_ae713e
|
||||
%29 = OpLabel
|
||||
%30 = OpFunctionCall %void %atan2_ae713e
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicAdd_794055 "atomicAdd_794055"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -26,6 +28,7 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%18 = OpConstantNull %int
|
||||
%19 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicAdd_794055 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -34,10 +37,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%20 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %19
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %18
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%25 = OpFunctionCall %void %atomicAdd_794055
|
||||
%27 = OpFunctionCall %void %atomicAdd_794055
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %uint %local_invocation_index_1
|
||||
%30 = OpFunctionCall %void %compute_main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 25
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicAdd_d5db1d "atomicAdd_d5db1d"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -25,6 +27,7 @@
|
|||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%17 = OpConstantNull %uint
|
||||
%18 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicAdd_d5db1d = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -33,10 +36,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%19 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %18
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%21 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %17
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%24 = OpFunctionCall %void %atomicAdd_d5db1d
|
||||
%26 = OpFunctionCall %void %atomicAdd_d5db1d
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpFunctionCall %void %compute_main_inner %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 25
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicAnd_34edd3 "atomicAnd_34edd3"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -25,6 +27,7 @@
|
|||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%17 = OpConstantNull %uint
|
||||
%18 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicAnd_34edd3 = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -33,10 +36,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%19 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %18
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%21 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %17
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%24 = OpFunctionCall %void %atomicAnd_34edd3
|
||||
%26 = OpFunctionCall %void %atomicAnd_34edd3
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpFunctionCall %void %compute_main_inner %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicAnd_45a819 "atomicAnd_45a819"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -26,6 +28,7 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%18 = OpConstantNull %int
|
||||
%19 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicAnd_45a819 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -34,10 +37,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%20 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %19
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %18
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%25 = OpFunctionCall %void %atomicAnd_45a819
|
||||
%27 = OpFunctionCall %void %atomicAnd_45a819
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %uint %local_invocation_index_1
|
||||
%30 = OpFunctionCall %void %compute_main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 33
|
||||
; Bound: 39
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicCompareExchangeWeak_89ea3b "atomicCompareExchangeWeak_89ea3b"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%v2int = OpTypeVector %int 2
|
||||
|
@ -29,7 +31,8 @@
|
|||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Function_v2int = OpTypePointer Function %v2int
|
||||
%24 = OpConstantNull %v2int
|
||||
%29 = OpConstantNull %int
|
||||
%25 = OpTypeFunction %void %uint
|
||||
%31 = OpConstantNull %int
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicCompareExchangeWeak_89ea3b = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -41,10 +44,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%26 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %29
|
||||
%compute_main_inner = OpFunction %void None %25
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%28 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %31
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%32 = OpFunctionCall %void %atomicCompareExchangeWeak_89ea3b
|
||||
%34 = OpFunctionCall %void %atomicCompareExchangeWeak_89ea3b
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%36 = OpLabel
|
||||
%38 = OpLoad %uint %local_invocation_index_1
|
||||
%37 = OpFunctionCall %void %compute_main_inner %38
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 31
|
||||
; Bound: 37
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicCompareExchangeWeak_b2ab2c "atomicCompareExchangeWeak_b2ab2c"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%v2uint = OpTypeVector %uint 2
|
||||
|
@ -27,7 +29,8 @@
|
|||
%bool = OpTypeBool
|
||||
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
|
||||
%22 = OpConstantNull %v2uint
|
||||
%27 = OpConstantNull %uint
|
||||
%23 = OpTypeFunction %void %uint
|
||||
%29 = OpConstantNull %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicCompareExchangeWeak_b2ab2c = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -39,10 +42,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%24 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %27
|
||||
%compute_main_inner = OpFunction %void None %23
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%26 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %29
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%30 = OpFunctionCall %void %atomicCompareExchangeWeak_b2ab2c
|
||||
%32 = OpFunctionCall %void %atomicCompareExchangeWeak_b2ab2c
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%34 = OpLabel
|
||||
%36 = OpLoad %uint %local_invocation_index_1
|
||||
%35 = OpFunctionCall %void %compute_main_inner %36
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 25
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicExchange_0a5dca "atomicExchange_0a5dca"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -25,6 +27,7 @@
|
|||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%17 = OpConstantNull %uint
|
||||
%18 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicExchange_0a5dca = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -33,10 +36,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%19 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %18
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%21 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %17
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%24 = OpFunctionCall %void %atomicExchange_0a5dca
|
||||
%26 = OpFunctionCall %void %atomicExchange_0a5dca
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpFunctionCall %void %compute_main_inner %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicExchange_e114ba "atomicExchange_e114ba"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -26,6 +28,7 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%18 = OpConstantNull %int
|
||||
%19 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicExchange_e114ba = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -34,10 +37,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%20 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %19
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %18
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%25 = OpFunctionCall %void %atomicExchange_e114ba
|
||||
%27 = OpFunctionCall %void %atomicExchange_e114ba
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %uint %local_invocation_index_1
|
||||
%30 = OpFunctionCall %void %compute_main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,29 +1,32 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 24
|
||||
; Bound: 30
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicLoad_361bf1 "atomicLoad_361bf1"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%16 = OpConstantNull %uint
|
||||
%17 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicLoad_361bf1 = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -32,10 +35,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%18 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %17
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%20 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %16
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%23 = OpFunctionCall %void %atomicLoad_361bf1
|
||||
%25 = OpFunctionCall %void %atomicLoad_361bf1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%27 = OpLabel
|
||||
%29 = OpLoad %uint %local_invocation_index_1
|
||||
%28 = OpFunctionCall %void %compute_main_inner %29
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,30 +1,33 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 25
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicLoad_afcc03 "atomicLoad_afcc03"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%17 = OpConstantNull %int
|
||||
%18 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicLoad_afcc03 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -33,10 +36,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%19 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %18
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%21 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %17
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%24 = OpFunctionCall %void %atomicLoad_afcc03
|
||||
%26 = OpFunctionCall %void %atomicLoad_afcc03
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpFunctionCall %void %compute_main_inner %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicMax_a89cc3 "atomicMax_a89cc3"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -26,6 +28,7 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%18 = OpConstantNull %int
|
||||
%19 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicMax_a89cc3 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -34,10 +37,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%20 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %19
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %18
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%25 = OpFunctionCall %void %atomicMax_a89cc3
|
||||
%27 = OpFunctionCall %void %atomicMax_a89cc3
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %uint %local_invocation_index_1
|
||||
%30 = OpFunctionCall %void %compute_main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 25
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicMax_beccfc "atomicMax_beccfc"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -25,6 +27,7 @@
|
|||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%17 = OpConstantNull %uint
|
||||
%18 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicMax_beccfc = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -33,10 +36,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%19 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %18
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%21 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %17
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%24 = OpFunctionCall %void %atomicMax_beccfc
|
||||
%26 = OpFunctionCall %void %atomicMax_beccfc
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpFunctionCall %void %compute_main_inner %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicMin_278235 "atomicMin_278235"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -26,6 +28,7 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%18 = OpConstantNull %int
|
||||
%19 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicMin_278235 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -34,10 +37,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%20 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %19
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %18
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%25 = OpFunctionCall %void %atomicMin_278235
|
||||
%27 = OpFunctionCall %void %atomicMin_278235
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %uint %local_invocation_index_1
|
||||
%30 = OpFunctionCall %void %compute_main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 25
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicMin_69d383 "atomicMin_69d383"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -25,6 +27,7 @@
|
|||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%17 = OpConstantNull %uint
|
||||
%18 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicMin_69d383 = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -33,10 +36,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%19 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %18
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%21 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %17
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%24 = OpFunctionCall %void %atomicMin_69d383
|
||||
%26 = OpFunctionCall %void %atomicMin_69d383
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpFunctionCall %void %compute_main_inner %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 25
|
||||
; Bound: 31
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicOr_5e3d61 "atomicOr_5e3d61"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -25,6 +27,7 @@
|
|||
%uint_1 = OpConstant %uint 1
|
||||
%_ptr_Function_uint = OpTypePointer Function %uint
|
||||
%17 = OpConstantNull %uint
|
||||
%18 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicOr_5e3d61 = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
|
@ -33,10 +36,17 @@
|
|||
OpStore %res %10
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%19 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %18
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%21 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %17
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%24 = OpFunctionCall %void %atomicOr_5e3d61
|
||||
%26 = OpFunctionCall %void %atomicOr_5e3d61
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %uint %local_invocation_index_1
|
||||
%29 = OpFunctionCall %void %compute_main_inner %30
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicOr_d09248 "atomicOr_d09248"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -26,6 +28,7 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%18 = OpConstantNull %int
|
||||
%19 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicOr_d09248 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -34,10 +37,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%20 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %19
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %18
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%25 = OpFunctionCall %void %atomicOr_d09248
|
||||
%27 = OpFunctionCall %void %atomicOr_d09248
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %uint %local_invocation_index_1
|
||||
%30 = OpFunctionCall %void %compute_main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,38 +1,48 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 23
|
||||
; Bound: 29
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicStore_726882 "atomicStore_726882"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_uint Workgroup
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%6 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%19 = OpConstantNull %uint
|
||||
%15 = OpTypeFunction %void %uint
|
||||
%21 = OpConstantNull %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicStore_726882 = OpFunction %void None %6
|
||||
%9 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %uint_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%16 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %19
|
||||
%compute_main_inner = OpFunction %void None %15
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%18 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %21
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%22 = OpFunctionCall %void %atomicStore_726882
|
||||
%24 = OpFunctionCall %void %atomicStore_726882
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %6
|
||||
%26 = OpLabel
|
||||
%28 = OpLoad %uint %local_invocation_index_1
|
||||
%27 = OpFunctionCall %void %compute_main_inner %28
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,39 +1,49 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 24
|
||||
; Bound: 30
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicStore_8bea94 "atomicStore_8bea94"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_0 = OpConstant %uint 0
|
||||
%int_1 = OpConstant %int 1
|
||||
%20 = OpConstantNull %int
|
||||
%16 = OpTypeFunction %void %uint
|
||||
%22 = OpConstantNull %int
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicStore_8bea94 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %int_1
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%17 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %20
|
||||
%compute_main_inner = OpFunction %void None %16
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%19 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %22
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%23 = OpFunctionCall %void %atomicStore_8bea94
|
||||
%25 = OpFunctionCall %void %atomicStore_8bea94
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%27 = OpLabel
|
||||
%29 = OpLoad %uint %local_invocation_index_1
|
||||
%28 = OpFunctionCall %void %compute_main_inner %29
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 26
|
||||
; Bound: 32
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %compute_main "compute_main"
|
||||
OpEntryPoint GLCompute %compute_main "compute_main" %local_invocation_index_1
|
||||
OpExecutionMode %compute_main LocalSize 1 1 1
|
||||
OpName %local_invocation_index_1 "local_invocation_index_1"
|
||||
OpName %arg_0 "arg_0"
|
||||
OpName %tint_symbol "tint_symbol"
|
||||
OpName %atomicXor_75dc95 "atomicXor_75dc95"
|
||||
OpName %res "res"
|
||||
OpName %compute_main_inner "compute_main_inner"
|
||||
OpName %local_invocation_index "local_invocation_index"
|
||||
OpName %compute_main "compute_main"
|
||||
OpDecorate %tint_symbol BuiltIn LocalInvocationIndex
|
||||
OpDecorate %local_invocation_index_1 BuiltIn LocalInvocationIndex
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%local_invocation_index_1 = OpVariable %_ptr_Input_uint Input
|
||||
%int = OpTypeInt 32 1
|
||||
%_ptr_Workgroup_int = OpTypePointer Workgroup %int
|
||||
%arg_0 = OpVariable %_ptr_Workgroup_int Workgroup
|
||||
%uint = OpTypeInt 32 0
|
||||
%_ptr_Input_uint = OpTypePointer Input %uint
|
||||
%tint_symbol = OpVariable %_ptr_Input_uint Input
|
||||
%void = OpTypeVoid
|
||||
%7 = OpTypeFunction %void
|
||||
%uint_2 = OpConstant %uint 2
|
||||
|
@ -26,6 +28,7 @@
|
|||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Function_int = OpTypePointer Function %int
|
||||
%18 = OpConstantNull %int
|
||||
%19 = OpTypeFunction %void %uint
|
||||
%uint_264 = OpConstant %uint 264
|
||||
%atomicXor_75dc95 = OpFunction %void None %7
|
||||
%10 = OpLabel
|
||||
|
@ -34,10 +37,17 @@
|
|||
OpStore %res %11
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%20 = OpLabel
|
||||
%compute_main_inner = OpFunction %void None %19
|
||||
%local_invocation_index = OpFunctionParameter %uint
|
||||
%22 = OpLabel
|
||||
OpAtomicStore %arg_0 %uint_2 %uint_0 %18
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_264
|
||||
%25 = OpFunctionCall %void %atomicXor_75dc95
|
||||
%27 = OpFunctionCall %void %atomicXor_75dc95
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %7
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %uint %local_invocation_index_1
|
||||
%30 = OpFunctionCall %void %compute_main_inner %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue