msl: Automatically remap binding numbers in exe

Remap all resources into a flat namespace, to allow tests to pass when
multiple resources use the same binding number.

Fixed: tint:959
Change-Id: I58ed07c789e1ea90fc370ceba73b9d8292902549
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/61261
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
James Price 2021-08-12 19:47:20 +00:00 committed by Tint LUCI CQ
parent 080fdf2ac0
commit 8094553c8a
365 changed files with 1249 additions and 496 deletions

View File

@ -686,10 +686,71 @@ bool GenerateWgsl(const tint::Program* program, const Options& options) {
/// @returns true on success
bool GenerateMsl(const tint::Program* program, const Options& options) {
#if TINT_BUILD_MSL_WRITER
const tint::Program* input_program = program;
// Remap resource numbers to a flat namespace.
// TODO(crbug.com/tint/1101): Make this more robust for multiple entry points.
using BindingPoint = tint::transform::BindingPoint;
tint::transform::BindingRemapper::BindingPoints binding_points;
uint32_t next_buffer_idx = 0;
uint32_t next_sampler_idx = 0;
uint32_t next_texture_idx = 0;
tint::inspector::Inspector inspector(program);
auto entry_points = inspector.GetEntryPoints();
for (auto& entry_point : entry_points) {
auto bindings = inspector.GetResourceBindings(entry_point.name);
for (auto& binding : bindings) {
BindingPoint src = {binding.bind_group, binding.binding};
if (binding_points.count(src)) {
continue;
}
switch (binding.resource_type) {
case tint::inspector::ResourceBinding::ResourceType::kUniformBuffer:
case tint::inspector::ResourceBinding::ResourceType::kStorageBuffer:
case tint::inspector::ResourceBinding::ResourceType::
kReadOnlyStorageBuffer:
binding_points.emplace(src, BindingPoint{0, next_buffer_idx++});
break;
case tint::inspector::ResourceBinding::ResourceType::kSampler:
case tint::inspector::ResourceBinding::ResourceType::kComparisonSampler:
binding_points.emplace(src, BindingPoint{0, next_sampler_idx++});
break;
case tint::inspector::ResourceBinding::ResourceType::kSampledTexture:
case tint::inspector::ResourceBinding::ResourceType::
kMultisampledTexture:
case tint::inspector::ResourceBinding::ResourceType::
kReadOnlyStorageTexture:
case tint::inspector::ResourceBinding::ResourceType::
kWriteOnlyStorageTexture:
case tint::inspector::ResourceBinding::ResourceType::kDepthTexture:
case tint::inspector::ResourceBinding::ResourceType::
kDepthMultisampledTexture:
case tint::inspector::ResourceBinding::ResourceType::kExternalTexture:
binding_points.emplace(src, BindingPoint{0, next_texture_idx++});
break;
}
}
}
// Run the binding remapper transform.
tint::transform::Output transform_output;
if (!binding_points.empty()) {
tint::transform::Manager manager;
tint::transform::DataMap inputs;
inputs.Add<tint::transform::BindingRemapper::Remappings>(
std::move(binding_points),
tint::transform::BindingRemapper::AccessControls{},
/* mayCollide */ true);
manager.Add<tint::transform::BindingRemapper>();
transform_output = manager.Run(program, inputs);
input_program = &transform_output.program;
}
// TODO(jrprice): Provide a way for the user to set non-default options.
tint::writer::msl::Options gen_options;
gen_options.disable_workgroup_init = options.disable_workgroup_init;
auto result = tint::writer::msl::Generate(program, gen_options);
auto result = tint::writer::msl::Generate(input_program, gen_options);
if (!result.success) {
PrintWGSL(std::cerr, *program);
std::cerr << "Failed to generate: " << result.error << std::endl;

View File

@ -1599,17 +1599,22 @@ bool GeneratorImpl::EmitEntryPointFunction(ast::Function* func) {
if (type->Is<sem::Struct>()) {
out << " [[stage_in]]";
} else if (var->type()->is_handle()) {
auto* binding =
ast::GetDecoration<ast::BindingDecoration>(var->decorations());
if (binding == nullptr) {
auto bp = var->binding_point();
if (bp.group == nullptr || bp.binding == nullptr) {
TINT_ICE(Writer, diagnostics_)
<< "missing binding attribute for entry point parameter";
<< "missing binding attributes for entry point parameter";
return false;
}
if (bp.group->value() != 0) {
TINT_ICE(Writer, diagnostics_)
<< "encountered non-zero resource group index (use "
"BindingRemapper to fix)";
return false;
}
if (var->type()->Is<ast::Sampler>()) {
out << " [[sampler(" << binding->value() << ")]]";
out << " [[sampler(" << bp.binding->value() << ")]]";
} else if (var->type()->Is<ast::Texture>()) {
out << " [[texture(" << binding->value() << ")]]";
out << " [[texture(" << bp.binding->value() << ")]]";
} else {
TINT_ICE(Writer, diagnostics_)
<< "invalid handle type entry point parameter";

View File

@ -53,7 +53,7 @@ float4 fs_main_inner(float2 texcoord, texture2d<float, access::sample> tint_symb
return srcColor;
}
fragment tint_symbol_3 fs_main(texture2d<float, access::sample> tint_symbol_6 [[texture(2)]], sampler tint_symbol_7 [[sampler(1)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
fragment tint_symbol_3 fs_main(texture2d<float, access::sample> tint_symbol_6 [[texture(0)]], sampler tint_symbol_7 [[sampler(0)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
float4 const inner_result_1 = fs_main_inner(tint_symbol_1.texcoord, tint_symbol_6, tint_symbol_7);
tint_symbol_3 wrapper_result_1 = {};
wrapper_result_1.value = inner_result_1;

View File

@ -14,7 +14,7 @@ struct SSBO {
/* 0x0000 */ tint_array_wrapper data;
};
kernel void f(constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(2)]], device SSBO& ssbo [[buffer(1)]]) {
kernel void f(constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(1)]], device SSBO& ssbo [[buffer(2)]]) {
result.out = ssbo.data.arr[ubo.dynamic_idx];
return;
}

View File

@ -16,7 +16,7 @@ struct Result {
/* 0x0000 */ int out;
};
kernel void f(constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(2)]]) {
kernel void f(constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(1)]]) {
result.out = ubo.data.arr[ubo.dynamic_idx].el;
return;
}

View File

@ -66,7 +66,7 @@ FragmentOutput tint_symbol_1_inner(constant Uniforms& uniforms, const device Poi
return output;
}
fragment tint_symbol_4 tint_symbol_1(sampler tint_symbol_10 [[sampler(2)]], texture2d<float, access::sample> tint_symbol_11 [[texture(3)]], float4 position [[position]], tint_symbol_3 tint_symbol_2 [[stage_in]], constant Uniforms& uniforms [[buffer(0)]], const device PointLights& pointLights [[buffer(1)]]) {
fragment tint_symbol_4 tint_symbol_1(sampler tint_symbol_10 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_11 [[texture(0)]], float4 position [[position]], tint_symbol_3 tint_symbol_2 [[stage_in]], constant Uniforms& uniforms [[buffer(0)]], const device PointLights& pointLights [[buffer(1)]]) {
FragmentInput const tint_symbol_5 = {.position=position, .view_position=tint_symbol_2.view_position, .normal=tint_symbol_2.normal, .uv=tint_symbol_2.uv, .color=tint_symbol_2.color};
FragmentOutput const inner_result = tint_symbol_1_inner(uniforms, pointLights, tint_symbol_5, tint_symbol_10, tint_symbol_11);
tint_symbol_4 wrapper_result = {};

View File

@ -66,7 +66,7 @@ main_out tint_symbol_inner(constant LeftOver& x_14, float3 position_param, float
return tint_symbol_4;
}
vertex tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]], constant LeftOver& x_14 [[buffer(2)]]) {
vertex tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]], constant LeftOver& x_14 [[buffer(0)]]) {
thread float3 tint_symbol_14 = 0.0f;
thread float2 tint_symbol_15 = 0.0f;
thread float3 tint_symbol_16 = 0.0f;

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#include <metal_stdlib>
using namespace metal;
@ -105,7 +103,7 @@ void main_count_inner(constant Uniforms& uniforms, device Dbg& dbg, device AU32s
}
}
kernel void main_count(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(50)]], device AU32s& counters [[buffer(20)]], device U32s& indices [[buffer(10)]], device F32s& positions [[buffer(11)]], device AI32s& LUT [[buffer(21)]]) {
kernel void main_count(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(1)]], device AU32s& counters [[buffer(2)]], device U32s& indices [[buffer(3)]], device F32s& positions [[buffer(4)]], device AI32s& LUT [[buffer(5)]]) {
main_count_inner(uniforms, dbg, counters, indices, positions, LUT, GlobalInvocationID);
return;
}
@ -125,7 +123,7 @@ void main_create_lut_inner(constant Uniforms& uniforms, device Dbg& dbg, device
atomic_store_explicit(&(LUT.values[voxelIndex]), offset, memory_order_relaxed);
}
kernel void main_create_lut(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(50)]], device AU32s& counters [[buffer(20)]], device U32s& indices [[buffer(10)]], device F32s& positions [[buffer(11)]], device AI32s& LUT [[buffer(21)]]) {
kernel void main_create_lut(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(1)]], device AU32s& counters [[buffer(2)]], device U32s& indices [[buffer(3)]], device F32s& positions [[buffer(4)]], device AI32s& LUT [[buffer(5)]]) {
main_create_lut_inner(uniforms, dbg, counters, indices, positions, LUT, GlobalInvocationID);
return;
}
@ -148,54 +146,8 @@ void main_sort_triangles_inner(constant Uniforms& uniforms, device Dbg& dbg, dev
int triangleOffset = atomic_fetch_add_explicit(&(LUT.values[voxelIndex]), 1, memory_order_relaxed);
}
kernel void main_sort_triangles(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(50)]], device AU32s& counters [[buffer(20)]], device U32s& indices [[buffer(10)]], device F32s& positions [[buffer(11)]], device AI32s& LUT [[buffer(21)]]) {
kernel void main_sort_triangles(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(1)]], device AU32s& counters [[buffer(2)]], device U32s& indices [[buffer(3)]], device F32s& positions [[buffer(4)]], device AI32s& LUT [[buffer(5)]]) {
main_sort_triangles_inner(uniforms, dbg, counters, indices, positions, LUT, GlobalInvocationID);
return;
}
Compilation failed:
program_source:75:8: warning: unused variable 'kj6'
uint kj6 = dbg.value1;
^
program_source:78:9: warning: unused variable 'rb5'
float rb5 = positions.values[0];
^
program_source:79:7: warning: unused variable 'g55'
int g55 = atomic_load_explicit(&(LUT.values[0]), memory_order_relaxed);
^
program_source:77:8: warning: unused variable 'rwg'
uint rwg = indices.values[0];
^
program_source:74:8: warning: unused variable 'g42'
uint g42 = uniforms.numTriangles;
^
program_source:76:8: warning: unused variable 'b53'
uint b53 = atomic_load_explicit(&(counters.values[0]), memory_order_relaxed);
^
program_source:98:22: warning: equality comparison with extraneous parentheses
if ((triangleIndex == 0u)) {
~~~~~~~~~~~~~~^~~~~
program_source:98:22: note: remove extraneous parentheses around the comparison to silence this warning
if ((triangleIndex == 0u)) {
~ ^ ~
program_source:98:22: note: use '=' to turn this equality comparison into an assignment
if ((triangleIndex == 0u)) {
^~
=
program_source:97:8: warning: unused variable 'acefg'
uint acefg = atomic_fetch_add_explicit(&(counters.values[voxelIndex]), 1u, memory_order_relaxed);
^
program_source:106:146: error: 'buffer' attribute parameter is out of bounds: must be between 0 and 30
kernel void main_count(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(50)]], device AU32s& counters [[buffer(20)]], device U32s& indices [[buffer(10)]], device F32s& positions [[buffer(11)]], device AI32s& LUT [[buffer(21)]]) {
^
program_source:126:151: error: 'buffer' attribute parameter is out of bounds: must be between 0 and 30
kernel void main_create_lut(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(50)]], device AU32s& counters [[buffer(20)]], device U32s& indices [[buffer(10)]], device F32s& positions [[buffer(11)]], device AI32s& LUT [[buffer(21)]]) {
^
program_source:146:7: warning: unused variable 'triangleOffset'
int triangleOffset = atomic_fetch_add_explicit(&(LUT.values[voxelIndex]), 1, memory_order_relaxed);
^
program_source:149:155: error: 'buffer' attribute parameter is out of bounds: must be between 0 and 30
kernel void main_sort_triangles(uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device Dbg& dbg [[buffer(50)]], device AU32s& counters [[buffer(20)]], device U32s& indices [[buffer(10)]], device F32s& positions [[buffer(11)]], device AI32s& LUT [[buffer(21)]]) {
^

View File

@ -1,19 +1,35 @@
SKIP: FAILED
#include <metal_stdlib>
using namespace metal;
struct vertexUniformBuffer1 {
/* 0x0000 */ float2x2 transform1;
};
struct vertexUniformBuffer2 {
/* 0x0000 */ float2x2 transform2;
};
struct tint_symbol_1 {
float4 value [[position]];
};
struct tint_array_wrapper {
float2 arr[3];
};
float4 tint_symbol_inner(constant vertexUniformBuffer1& x_20, constant vertexUniformBuffer2& x_26, uint gl_VertexIndex) {
tint_array_wrapper indexable = {};
float2x2 const x_23 = x_20.transform1;
float2x2 const x_28 = x_26.transform2;
uint const x_46 = gl_VertexIndex;
tint_array_wrapper const tint_symbol_2 = {.arr={float2(-1.0f, 1.0f), float2(1.0f, 1.0f), float2(-1.0f, -1.0f)}};
indexable = tint_symbol_2;
float2 const x_51 = indexable.arr[x_46];
float2 const x_52 = (float2x2((x_23[0u] + x_28[0u]), (x_23[1u] + x_28[1u])) * x_51);
return float4(x_52.x, x_52.y, 0.0f, 1.0f);
}
Validation Failure:
vertex tint_symbol_1 tint_symbol(uint gl_VertexIndex [[vertex_id]], constant vertexUniformBuffer1& x_20 [[buffer(0)]], constant vertexUniformBuffer2& x_26 [[buffer(1)]]) {
float4 const inner_result = tint_symbol_inner(x_20, x_26, gl_VertexIndex);
tint_symbol_1 wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
Compilation failed:
program_source:17:55: error: type 'int' is not valid for attribute 'vertex_id'
vertex tint_symbol_2 tint_symbol(int gl_VertexIndex [[vertex_id]], constant vertexUniformBuffer1& x_20 [[buffer(0)]], constant vertexUniformBuffer2& x_26 [[buffer(0)]]) {
^~~~~~~~~
program_source:18:37: warning: suggest braces around initialization of subobject
tint_array_wrapper_0 indexable = {0.0f};
^~~~
{ }
program_source:22:47: warning: suggest braces around initialization of subobject
tint_array_wrapper_0 const tint_symbol_3 = {float2(-1.0f, 1.0f), float2(1.0f, 1.0f), float2(-1.0f, -1.0f)};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ }

View File

@ -39,7 +39,7 @@ void tint_symbol_inner(constant Uniforms& uniforms, device OutputBuf& output, ui
}
}
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_3 [[texture(0)]], texture2d<float, access::sample> tint_symbol_4 [[texture(1)]], uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(3)]], device OutputBuf& output [[buffer(2)]]) {
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_3 [[texture(0)]], texture2d<float, access::sample> tint_symbol_4 [[texture(1)]], uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device OutputBuf& output [[buffer(1)]]) {
tint_symbol_inner(uniforms, output, GlobalInvocationID, tint_symbol_3, tint_symbol_4);
return;
}

View File

@ -24,7 +24,7 @@ void tint_symbol_inner(constant Uniforms& uniforms, const device Matrix& firstMa
resultMatrix.numbers[index] = result;
}
kernel void tint_symbol(uint3 global_id [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(3)]], const device Matrix& firstMatrix [[buffer(0)]], const device Matrix& secondMatrix [[buffer(1)]], device Matrix& resultMatrix [[buffer(2)]]) {
kernel void tint_symbol(uint3 global_id [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], const device Matrix& firstMatrix [[buffer(2)]], const device Matrix& secondMatrix [[buffer(3)]], device Matrix& resultMatrix [[buffer(1)]]) {
tint_symbol_inner(uniforms, firstMatrix, secondMatrix, resultMatrix, global_id);
return;
}

View File

@ -17,7 +17,7 @@ void tint_symbol_inner(device Result& result, uint3 GlobalInvocationID, texture2
}
}
kernel void tint_symbol(texture2d_array<float, access::sample> tint_symbol_2 [[texture(1)]], uint3 GlobalInvocationID [[thread_position_in_grid]], device Result& result [[buffer(3)]]) {
kernel void tint_symbol(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], uint3 GlobalInvocationID [[thread_position_in_grid]], device Result& result [[buffer(0)]]) {
tint_symbol_inner(result, GlobalInvocationID, tint_symbol_2);
return;
}

View File

@ -10,7 +10,7 @@ void tint_symbol_inner(device Result& result, uint3 GlobalInvocationId, depth2d<
result.values[((GlobalInvocationId.y * width) + GlobalInvocationId.x)] = tint_symbol_1.read(uint2(int2(int(GlobalInvocationId.x), int(GlobalInvocationId.y))), 0);
}
kernel void tint_symbol(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], uint3 GlobalInvocationId [[thread_position_in_grid]], device Result& result [[buffer(1)]]) {
kernel void tint_symbol(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], uint3 GlobalInvocationId [[thread_position_in_grid]], device Result& result [[buffer(0)]]) {
tint_symbol_inner(result, GlobalInvocationId, tint_symbol_2);
return;
}

View File

@ -26,7 +26,7 @@ void main_1(const device x_B4_BuildInformation& sspp962805860buildInformation) {
return;
}
fragment void tint_symbol(const device x_B4_BuildInformation& sspp962805860buildInformation [[buffer(2)]]) {
fragment void tint_symbol(const device x_B4_BuildInformation& sspp962805860buildInformation [[buffer(0)]]) {
main_1(sspp962805860buildInformation);
return;
}

View File

@ -45,7 +45,7 @@ void tint_symbol_inner(constant Uniforms& uniforms, device OutputBuf& output, ui
}
}
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_3 [[texture(0)]], texture2d<float, access::sample> tint_symbol_4 [[texture(1)]], uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(3)]], device OutputBuf& output [[buffer(2)]]) {
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_3 [[texture(0)]], texture2d<float, access::sample> tint_symbol_4 [[texture(1)]], uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(0)]], device OutputBuf& output [[buffer(1)]]) {
tint_symbol_inner(uniforms, output, GlobalInvocationID, tint_symbol_3, tint_symbol_4);
return;
}

View File

@ -111,7 +111,7 @@ void tint_symbol_inner(constant Uniforms& uniforms, const device Matrix& firstMa
}
}
kernel void tint_symbol(uint3 local_id [[thread_position_in_threadgroup]], uint3 global_id [[thread_position_in_grid]], uint local_invocation_index [[thread_index_in_threadgroup]], constant Uniforms& uniforms [[buffer(3)]], const device Matrix& firstMatrix [[buffer(0)]], const device Matrix& secondMatrix [[buffer(1)]], device Matrix& resultMatrix [[buffer(2)]]) {
kernel void tint_symbol(uint3 local_id [[thread_position_in_threadgroup]], uint3 global_id [[thread_position_in_grid]], uint local_invocation_index [[thread_index_in_threadgroup]], constant Uniforms& uniforms [[buffer(0)]], const device Matrix& firstMatrix [[buffer(2)]], const device Matrix& secondMatrix [[buffer(3)]], device Matrix& resultMatrix [[buffer(1)]]) {
threadgroup tint_array_wrapper tint_symbol_3;
threadgroup tint_array_wrapper tint_symbol_4;
tint_symbol_inner(uniforms, firstMatrix, secondMatrix, resultMatrix, local_id, global_id, local_invocation_index, &(tint_symbol_3), &(tint_symbol_4));

View File

@ -283,7 +283,7 @@ VertexOutput tint_symbol_inner(constant ub_PacketParams& global2, constant ub_Sc
return tint_symbol_4;
}
vertex tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]], constant ub_PacketParams& global2 [[buffer(2)]], constant ub_SceneParams& global [[buffer(0)]], constant ub_MaterialParams& global1 [[buffer(1)]]) {
vertex tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]], constant ub_PacketParams& global2 [[buffer(0)]], constant ub_SceneParams& global [[buffer(1)]], constant ub_MaterialParams& global1 [[buffer(2)]]) {
thread float3 tint_symbol_21 = 0.0f;
thread float2 tint_symbol_22 = 0.0f;
thread float4 tint_symbol_23 = 0.0f;

View File

@ -9,7 +9,7 @@ void computeMain_inner(device DrawIndirectArgs& drawOut, uint3 global_id, thread
uint const firstVertex = atomic_fetch_add_explicit(&(drawOut.vertexCount), *(tint_symbol), memory_order_relaxed);
}
kernel void computeMain(uint3 global_id [[thread_position_in_grid]], device DrawIndirectArgs& drawOut [[buffer(5)]]) {
kernel void computeMain(uint3 global_id [[thread_position_in_grid]], device DrawIndirectArgs& drawOut [[buffer(0)]]) {
thread uint tint_symbol_1 = 0u;
computeMain_inner(drawOut, global_id, &(tint_symbol_1));
return;

View File

@ -54,7 +54,7 @@ void tint_symbol_inner(constant Params& params, constant Flip& flip, uint3 WorkG
}
}
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_6 [[texture(1)]], sampler tint_symbol_7 [[sampler(0)]], texture2d<float, access::write> tint_symbol_8 [[texture(2)]], uint3 WorkGroupID [[threadgroup_position_in_grid]], uint3 LocalInvocationID [[thread_position_in_threadgroup]], uint local_invocation_index [[thread_index_in_threadgroup]], constant Params& params [[buffer(1)]], constant Flip& flip [[buffer(3)]]) {
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_6 [[texture(0)]], sampler tint_symbol_7 [[sampler(0)]], texture2d<float, access::write> tint_symbol_8 [[texture(1)]], uint3 WorkGroupID [[threadgroup_position_in_grid]], uint3 LocalInvocationID [[thread_position_in_threadgroup]], uint local_invocation_index [[thread_index_in_threadgroup]], constant Params& params [[buffer(0)]], constant Flip& flip [[buffer(1)]]) {
threadgroup tint_array_wrapper tint_symbol_5;
tint_symbol_inner(params, flip, WorkGroupID, LocalInvocationID, local_invocation_index, &(tint_symbol_5), tint_symbol_6, tint_symbol_7, tint_symbol_8);
return;

View File

@ -499,7 +499,7 @@ void tint_symbol_1_inner(constant Uniforms& x_48, const device ssbA& x_165, cons
main_1(x_48, x_165, x_185, x_54, tint_symbol_29, tint_symbol_30, tint_symbol_31, tint_symbol_28, tint_symbol_32, tint_symbol_27, tint_symbol_26, tint_symbol_25);
}
kernel void tint_symbol_1(uint3 gl_LocalInvocationID_param [[thread_position_in_threadgroup]], uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], uint local_invocation_index [[thread_index_in_threadgroup]], constant Uniforms& x_48 [[buffer(3)]], const device ssbA& x_165 [[buffer(1)]], const device ssbB& x_185 [[buffer(2)]], device ssbOut& x_54 [[buffer(0)]]) {
kernel void tint_symbol_1(uint3 gl_LocalInvocationID_param [[thread_position_in_threadgroup]], uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], uint local_invocation_index [[thread_index_in_threadgroup]], constant Uniforms& x_48 [[buffer(0)]], const device ssbA& x_165 [[buffer(2)]], const device ssbB& x_185 [[buffer(3)]], device ssbOut& x_54 [[buffer(1)]]) {
threadgroup tint_array_wrapper_2 tint_symbol_33;
threadgroup tint_array_wrapper tint_symbol_34;
thread uint3 tint_symbol_35 = 0u;

View File

@ -205,7 +205,7 @@ main_out tint_symbol_inner(constant LeftOver& x_20, float2 tUV_param, float2 til
return tint_symbol_4;
}
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_42 [[texture(6)]], sampler tint_symbol_43 [[sampler(4)]], texture2d<float, access::sample> tint_symbol_44 [[texture(5)]], texture2d<float, access::sample> tint_symbol_45 [[texture(8)]], sampler tint_symbol_46 [[sampler(7)]], texture2d<float, access::sample> tint_symbol_48 [[texture(3)]], sampler tint_symbol_49 [[sampler(2)]], texture2d<float, access::sample> tint_symbol_50 [[texture(1)]], sampler tint_symbol_51 [[sampler(0)]], tint_symbol_2 tint_symbol_1 [[stage_in]], constant LeftOver& x_20 [[buffer(9)]]) {
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_42 [[texture(0)]], sampler tint_symbol_43 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_44 [[texture(1)]], texture2d<float, access::sample> tint_symbol_45 [[texture(2)]], sampler tint_symbol_46 [[sampler(1)]], texture2d<float, access::sample> tint_symbol_48 [[texture(3)]], sampler tint_symbol_49 [[sampler(2)]], texture2d<float, access::sample> tint_symbol_50 [[texture(4)]], sampler tint_symbol_51 [[sampler(3)]], tint_symbol_2 tint_symbol_1 [[stage_in]], constant LeftOver& x_20 [[buffer(0)]]) {
thread float2 tint_symbol_36 = 0.0f;
thread float2 tint_symbol_37 = 0.0f;
thread float2 tint_symbol_38 = 0.0f;

View File

@ -425,7 +425,7 @@ main_out tint_symbol_inner(constant LeftOver& x_269, constant Light0& light0, fl
return tint_symbol_4;
}
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_36 [[texture(1)]], sampler tint_symbol_37 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_38 [[texture(3)]], sampler tint_symbol_39 [[sampler(2)]], bool gl_FrontFacing_param [[front_facing]], tint_symbol_2 tint_symbol_1 [[stage_in]], constant LeftOver& x_269 [[buffer(6)]], constant Light0& light0 [[buffer(5)]]) {
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_36 [[texture(0)]], sampler tint_symbol_37 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_38 [[texture(1)]], sampler tint_symbol_39 [[sampler(1)]], bool gl_FrontFacing_param [[front_facing]], tint_symbol_2 tint_symbol_1 [[stage_in]], constant LeftOver& x_269 [[buffer(0)]], constant Light0& light0 [[buffer(1)]]) {
thread float2 tint_symbol_29 = 0.0f;
thread float4 tint_symbol_30 = 0.0f;
thread bool tint_symbol_31 = false;

View File

@ -66,7 +66,7 @@ void tint_symbol_1_inner(constant Uniforms& x_24, const device ssbA& x_20, devic
main_1(x_24, x_20, x_16, tint_symbol_4);
}
kernel void tint_symbol_1(uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], constant Uniforms& x_24 [[buffer(2)]], const device ssbA& x_20 [[buffer(1)]], device ssbOut& x_16 [[buffer(0)]]) {
kernel void tint_symbol_1(uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], constant Uniforms& x_24 [[buffer(0)]], const device ssbA& x_20 [[buffer(2)]], device ssbOut& x_16 [[buffer(1)]]) {
thread uint3 tint_symbol_5 = 0u;
tint_symbol_1_inner(x_24, x_20, x_16, gl_GlobalInvocationID_param, &(tint_symbol_5));
return;

114
test/bug/tint/959.wgsl Normal file
View File

@ -0,0 +1,114 @@
// crbug.com/tint/959
// Test that we automatically remap resource numbers into a flat namespace for
// MSL. Use some high binding numbers to also test that the remapped numbers are
// densely packed starting at 0.
[[block]]
struct S {
a : f32;
};
[[group(0), binding(0)]] var<storage> b0 : S;
[[group(1), binding(0)]] var<storage> b1 : S;
[[group(2), binding(0)]] var<storage> b2 : S;
[[group(3), binding(0)]] var<storage> b3 : S;
[[group(4), binding(0)]] var<storage> b4 : S;
[[group(5), binding(0)]] var<storage> b5 : S;
[[group(6), binding(0)]] var<storage> b6 : S;
[[group(7), binding(0)]] var<storage> b7 : S;
[[group(9), binding(1)]] var<uniform> b8 : S;
[[group(8), binding(1)]] var<uniform> b9 : S;
[[group(10), binding(1)]] var<uniform> b10 : S;
[[group(11), binding(1)]] var<uniform> b11 : S;
[[group(12), binding(1)]] var<uniform> b12 : S;
[[group(13), binding(1)]] var<uniform> b13 : S;
[[group(14), binding(1)]] var<uniform> b14 : S;
[[group(15), binding(1)]] var<uniform> b15 : S;
[[group(0), binding(1)]] var t0 : texture_2d<f32>;
[[group(1), binding(1)]] var t1 : texture_2d<f32>;
[[group(2), binding(1)]] var t2 : texture_2d<f32>;
[[group(3), binding(1)]] var t3 : texture_2d<f32>;
[[group(4), binding(1)]] var t4 : texture_2d<f32>;
[[group(5), binding(1)]] var t5 : texture_2d<f32>;
[[group(6), binding(1)]] var t6 : texture_2d<f32>;
[[group(7), binding(1)]] var t7 : texture_2d<f32>;
[[group(8), binding(200)]] var t8 : texture_depth_2d;
[[group(9), binding(200)]] var t9 : texture_depth_2d;
[[group(10), binding(200)]] var t10 : texture_depth_2d;
[[group(11), binding(200)]] var t11 : texture_depth_2d;
[[group(12), binding(200)]] var t12 : texture_depth_2d;
[[group(13), binding(200)]] var t13 : texture_depth_2d;
[[group(14), binding(200)]] var t14 : texture_depth_2d;
[[group(15), binding(200)]] var t15 : texture_depth_2d;
[[group(0), binding(200)]] var s0 : sampler;
[[group(1), binding(200)]] var s1 : sampler;
[[group(2), binding(200)]] var s2 : sampler;
[[group(3), binding(200)]] var s3 : sampler;
[[group(4), binding(200)]] var s4 : sampler;
[[group(5), binding(200)]] var s5 : sampler;
[[group(6), binding(200)]] var s6 : sampler;
[[group(7), binding(200)]] var s7 : sampler;
[[group(8), binding(300)]] var s8 : sampler_comparison;
[[group(9), binding(300)]] var s9 : sampler_comparison;
[[group(10), binding(300)]] var s10 : sampler_comparison;
[[group(11), binding(300)]] var s11 : sampler_comparison;
[[group(12), binding(300)]] var s12 : sampler_comparison;
[[group(13), binding(300)]] var s13 : sampler_comparison;
[[group(14), binding(300)]] var s14 : sampler_comparison;
[[group(15), binding(300)]] var s15 : sampler_comparison;
[[stage(fragment)]]
fn main() {
ignore(b0);
ignore(b1);
ignore(b2);
ignore(b3);
ignore(b4);
ignore(b5);
ignore(b6);
ignore(b7);
ignore(b8);
ignore(b9);
ignore(b10);
ignore(b11);
ignore(b12);
ignore(b13);
ignore(b14);
ignore(b15);
ignore(t0);
ignore(t1);
ignore(t2);
ignore(t3);
ignore(t4);
ignore(t5);
ignore(t6);
ignore(t7);
ignore(t8);
ignore(t9);
ignore(t10);
ignore(t11);
ignore(t12);
ignore(t13);
ignore(t14);
ignore(t15);
ignore(s0);
ignore(s1);
ignore(s2);
ignore(s3);
ignore(s4);
ignore(s5);
ignore(s6);
ignore(s7);
ignore(s8);
ignore(s9);
ignore(s10);
ignore(s11);
ignore(s12);
ignore(s13);
ignore(s14);
ignore(s15);
}

View File

@ -0,0 +1,116 @@
ByteAddressBuffer b0 : register(t0, space0);
ByteAddressBuffer b1 : register(t0, space1);
ByteAddressBuffer b2 : register(t0, space2);
ByteAddressBuffer b3 : register(t0, space3);
ByteAddressBuffer b4 : register(t0, space4);
ByteAddressBuffer b5 : register(t0, space5);
ByteAddressBuffer b6 : register(t0, space6);
ByteAddressBuffer b7 : register(t0, space7);
cbuffer cbuffer_b8 : register(b1, space9) {
uint4 b8[1];
};
cbuffer cbuffer_b9 : register(b1, space8) {
uint4 b9[1];
};
cbuffer cbuffer_b10 : register(b1, space10) {
uint4 b10[1];
};
cbuffer cbuffer_b11 : register(b1, space11) {
uint4 b11[1];
};
cbuffer cbuffer_b12 : register(b1, space12) {
uint4 b12[1];
};
cbuffer cbuffer_b13 : register(b1, space13) {
uint4 b13[1];
};
cbuffer cbuffer_b14 : register(b1, space14) {
uint4 b14[1];
};
cbuffer cbuffer_b15 : register(b1, space15) {
uint4 b15[1];
};
Texture2D<float4> t0 : register(t1, space0);
Texture2D<float4> t1 : register(t1, space1);
Texture2D<float4> t2 : register(t1, space2);
Texture2D<float4> t3 : register(t1, space3);
Texture2D<float4> t4 : register(t1, space4);
Texture2D<float4> t5 : register(t1, space5);
Texture2D<float4> t6 : register(t1, space6);
Texture2D<float4> t7 : register(t1, space7);
Texture2D t8 : register(t200, space8);
Texture2D t9 : register(t200, space9);
Texture2D t10 : register(t200, space10);
Texture2D t11 : register(t200, space11);
Texture2D t12 : register(t200, space12);
Texture2D t13 : register(t200, space13);
Texture2D t14 : register(t200, space14);
Texture2D t15 : register(t200, space15);
SamplerState s0 : register(s200, space0);
SamplerState s1 : register(s200, space1);
SamplerState s2 : register(s200, space2);
SamplerState s3 : register(s200, space3);
SamplerState s4 : register(s200, space4);
SamplerState s5 : register(s200, space5);
SamplerState s6 : register(s200, space6);
SamplerState s7 : register(s200, space7);
SamplerComparisonState s8 : register(s300, space8);
SamplerComparisonState s9 : register(s300, space9);
SamplerComparisonState s10 : register(s300, space10);
SamplerComparisonState s11 : register(s300, space11);
SamplerComparisonState s12 : register(s300, space12);
SamplerComparisonState s13 : register(s300, space13);
SamplerComparisonState s14 : register(s300, space14);
SamplerComparisonState s15 : register(s300, space15);
void main() {
b0;
b1;
b2;
b3;
b4;
b5;
b6;
b7;
b8;
b9;
b10;
b11;
b12;
b13;
b14;
b15;
t0;
t1;
t2;
t3;
t4;
t5;
t6;
t7;
t8;
t9;
t10;
t11;
t12;
t13;
t14;
t15;
s0;
s1;
s2;
s3;
s4;
s5;
s6;
s7;
s8;
s9;
s10;
s11;
s12;
s13;
s14;
s15;
return;
}

View File

@ -0,0 +1,59 @@
#include <metal_stdlib>
using namespace metal;
struct S {
/* 0x0000 */ float a;
};
fragment void tint_symbol(texture2d<float, access::sample> tint_symbol_1 [[texture(0)]], texture2d<float, access::sample> tint_symbol_2 [[texture(1)]], texture2d<float, access::sample> tint_symbol_3 [[texture(2)]], texture2d<float, access::sample> tint_symbol_4 [[texture(3)]], texture2d<float, access::sample> tint_symbol_5 [[texture(4)]], texture2d<float, access::sample> tint_symbol_6 [[texture(5)]], texture2d<float, access::sample> tint_symbol_7 [[texture(6)]], texture2d<float, access::sample> tint_symbol_8 [[texture(7)]], depth2d<float, access::sample> tint_symbol_9 [[texture(8)]], depth2d<float, access::sample> tint_symbol_10 [[texture(9)]], depth2d<float, access::sample> tint_symbol_11 [[texture(10)]], depth2d<float, access::sample> tint_symbol_12 [[texture(11)]], depth2d<float, access::sample> tint_symbol_13 [[texture(12)]], depth2d<float, access::sample> tint_symbol_14 [[texture(13)]], depth2d<float, access::sample> tint_symbol_15 [[texture(14)]], depth2d<float, access::sample> tint_symbol_16 [[texture(15)]], sampler tint_symbol_17 [[sampler(0)]], sampler tint_symbol_18 [[sampler(1)]], sampler tint_symbol_19 [[sampler(2)]], sampler tint_symbol_20 [[sampler(3)]], sampler tint_symbol_21 [[sampler(4)]], sampler tint_symbol_22 [[sampler(5)]], sampler tint_symbol_23 [[sampler(6)]], sampler tint_symbol_24 [[sampler(7)]], sampler tint_symbol_25 [[sampler(8)]], sampler tint_symbol_26 [[sampler(9)]], sampler tint_symbol_27 [[sampler(10)]], sampler tint_symbol_28 [[sampler(11)]], sampler tint_symbol_29 [[sampler(12)]], sampler tint_symbol_30 [[sampler(13)]], sampler tint_symbol_31 [[sampler(14)]], sampler tint_symbol_32 [[sampler(15)]], constant S& b8 [[buffer(0)]], constant S& b9 [[buffer(1)]], constant S& b10 [[buffer(2)]], constant S& b11 [[buffer(3)]], constant S& b12 [[buffer(4)]], constant S& b13 [[buffer(5)]], constant S& b14 [[buffer(6)]], constant S& b15 [[buffer(7)]], const device S& b0 [[buffer(8)]], const device S& b1 [[buffer(9)]], const device S& b2 [[buffer(10)]], const device S& b3 [[buffer(11)]], const device S& b4 [[buffer(12)]], const device S& b5 [[buffer(13)]], const device S& b6 [[buffer(14)]], const device S& b7 [[buffer(15)]]) {
(void) b0;
(void) b1;
(void) b2;
(void) b3;
(void) b4;
(void) b5;
(void) b6;
(void) b7;
(void) b8;
(void) b9;
(void) b10;
(void) b11;
(void) b12;
(void) b13;
(void) b14;
(void) b15;
(void) tint_symbol_1;
(void) tint_symbol_2;
(void) tint_symbol_3;
(void) tint_symbol_4;
(void) tint_symbol_5;
(void) tint_symbol_6;
(void) tint_symbol_7;
(void) tint_symbol_8;
(void) tint_symbol_9;
(void) tint_symbol_10;
(void) tint_symbol_11;
(void) tint_symbol_12;
(void) tint_symbol_13;
(void) tint_symbol_14;
(void) tint_symbol_15;
(void) tint_symbol_16;
(void) tint_symbol_17;
(void) tint_symbol_18;
(void) tint_symbol_19;
(void) tint_symbol_20;
(void) tint_symbol_21;
(void) tint_symbol_22;
(void) tint_symbol_23;
(void) tint_symbol_24;
(void) tint_symbol_25;
(void) tint_symbol_26;
(void) tint_symbol_27;
(void) tint_symbol_28;
(void) tint_symbol_29;
(void) tint_symbol_30;
(void) tint_symbol_31;
(void) tint_symbol_32;
return;
}

View File

@ -0,0 +1,287 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 160
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main"
OpExecutionMode %main OriginUpperLeft
OpName %S "S"
OpMemberName %S 0 "a"
OpName %b0 "b0"
OpName %b1 "b1"
OpName %b2 "b2"
OpName %b3 "b3"
OpName %b4 "b4"
OpName %b5 "b5"
OpName %b6 "b6"
OpName %b7 "b7"
OpName %b8 "b8"
OpName %b9 "b9"
OpName %b10 "b10"
OpName %b11 "b11"
OpName %b12 "b12"
OpName %b13 "b13"
OpName %b14 "b14"
OpName %b15 "b15"
OpName %t0 "t0"
OpName %t1 "t1"
OpName %t2 "t2"
OpName %t3 "t3"
OpName %t4 "t4"
OpName %t5 "t5"
OpName %t6 "t6"
OpName %t7 "t7"
OpName %t8 "t8"
OpName %t9 "t9"
OpName %t10 "t10"
OpName %t11 "t11"
OpName %t12 "t12"
OpName %t13 "t13"
OpName %t14 "t14"
OpName %t15 "t15"
OpName %s0 "s0"
OpName %s1 "s1"
OpName %s2 "s2"
OpName %s3 "s3"
OpName %s4 "s4"
OpName %s5 "s5"
OpName %s6 "s6"
OpName %s7 "s7"
OpName %s8 "s8"
OpName %s9 "s9"
OpName %s10 "s10"
OpName %s11 "s11"
OpName %s12 "s12"
OpName %s13 "s13"
OpName %s14 "s14"
OpName %s15 "s15"
OpName %main "main"
OpDecorate %S Block
OpMemberDecorate %S 0 Offset 0
OpDecorate %b0 NonWritable
OpDecorate %b0 DescriptorSet 0
OpDecorate %b0 Binding 0
OpDecorate %b1 NonWritable
OpDecorate %b1 DescriptorSet 1
OpDecorate %b1 Binding 0
OpDecorate %b2 NonWritable
OpDecorate %b2 DescriptorSet 2
OpDecorate %b2 Binding 0
OpDecorate %b3 NonWritable
OpDecorate %b3 DescriptorSet 3
OpDecorate %b3 Binding 0
OpDecorate %b4 NonWritable
OpDecorate %b4 DescriptorSet 4
OpDecorate %b4 Binding 0
OpDecorate %b5 NonWritable
OpDecorate %b5 DescriptorSet 5
OpDecorate %b5 Binding 0
OpDecorate %b6 NonWritable
OpDecorate %b6 DescriptorSet 6
OpDecorate %b6 Binding 0
OpDecorate %b7 NonWritable
OpDecorate %b7 DescriptorSet 7
OpDecorate %b7 Binding 0
OpDecorate %b8 NonWritable
OpDecorate %b8 DescriptorSet 9
OpDecorate %b8 Binding 1
OpDecorate %b9 NonWritable
OpDecorate %b9 DescriptorSet 8
OpDecorate %b9 Binding 1
OpDecorate %b10 NonWritable
OpDecorate %b10 DescriptorSet 10
OpDecorate %b10 Binding 1
OpDecorate %b11 NonWritable
OpDecorate %b11 DescriptorSet 11
OpDecorate %b11 Binding 1
OpDecorate %b12 NonWritable
OpDecorate %b12 DescriptorSet 12
OpDecorate %b12 Binding 1
OpDecorate %b13 NonWritable
OpDecorate %b13 DescriptorSet 13
OpDecorate %b13 Binding 1
OpDecorate %b14 NonWritable
OpDecorate %b14 DescriptorSet 14
OpDecorate %b14 Binding 1
OpDecorate %b15 NonWritable
OpDecorate %b15 DescriptorSet 15
OpDecorate %b15 Binding 1
OpDecorate %t0 DescriptorSet 0
OpDecorate %t0 Binding 1
OpDecorate %t1 DescriptorSet 1
OpDecorate %t1 Binding 1
OpDecorate %t2 DescriptorSet 2
OpDecorate %t2 Binding 1
OpDecorate %t3 DescriptorSet 3
OpDecorate %t3 Binding 1
OpDecorate %t4 DescriptorSet 4
OpDecorate %t4 Binding 1
OpDecorate %t5 DescriptorSet 5
OpDecorate %t5 Binding 1
OpDecorate %t6 DescriptorSet 6
OpDecorate %t6 Binding 1
OpDecorate %t7 DescriptorSet 7
OpDecorate %t7 Binding 1
OpDecorate %t8 DescriptorSet 8
OpDecorate %t8 Binding 200
OpDecorate %t9 DescriptorSet 9
OpDecorate %t9 Binding 200
OpDecorate %t10 DescriptorSet 10
OpDecorate %t10 Binding 200
OpDecorate %t11 DescriptorSet 11
OpDecorate %t11 Binding 200
OpDecorate %t12 DescriptorSet 12
OpDecorate %t12 Binding 200
OpDecorate %t13 DescriptorSet 13
OpDecorate %t13 Binding 200
OpDecorate %t14 DescriptorSet 14
OpDecorate %t14 Binding 200
OpDecorate %t15 DescriptorSet 15
OpDecorate %t15 Binding 200
OpDecorate %s0 DescriptorSet 0
OpDecorate %s0 Binding 200
OpDecorate %s1 DescriptorSet 1
OpDecorate %s1 Binding 200
OpDecorate %s2 DescriptorSet 2
OpDecorate %s2 Binding 200
OpDecorate %s3 DescriptorSet 3
OpDecorate %s3 Binding 200
OpDecorate %s4 DescriptorSet 4
OpDecorate %s4 Binding 200
OpDecorate %s5 DescriptorSet 5
OpDecorate %s5 Binding 200
OpDecorate %s6 DescriptorSet 6
OpDecorate %s6 Binding 200
OpDecorate %s7 DescriptorSet 7
OpDecorate %s7 Binding 200
OpDecorate %s8 DescriptorSet 8
OpDecorate %s8 Binding 300
OpDecorate %s9 DescriptorSet 9
OpDecorate %s9 Binding 300
OpDecorate %s10 DescriptorSet 10
OpDecorate %s10 Binding 300
OpDecorate %s11 DescriptorSet 11
OpDecorate %s11 Binding 300
OpDecorate %s12 DescriptorSet 12
OpDecorate %s12 Binding 300
OpDecorate %s13 DescriptorSet 13
OpDecorate %s13 Binding 300
OpDecorate %s14 DescriptorSet 14
OpDecorate %s14 Binding 300
OpDecorate %s15 DescriptorSet 15
OpDecorate %s15 Binding 300
%float = OpTypeFloat 32
%S = OpTypeStruct %float
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
%b0 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%b1 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%b2 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%b3 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%b4 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%b5 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%b6 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%b7 = OpVariable %_ptr_StorageBuffer_S StorageBuffer
%_ptr_Uniform_S = OpTypePointer Uniform %S
%b8 = OpVariable %_ptr_Uniform_S Uniform
%b9 = OpVariable %_ptr_Uniform_S Uniform
%b10 = OpVariable %_ptr_Uniform_S Uniform
%b11 = OpVariable %_ptr_Uniform_S Uniform
%b12 = OpVariable %_ptr_Uniform_S Uniform
%b13 = OpVariable %_ptr_Uniform_S Uniform
%b14 = OpVariable %_ptr_Uniform_S Uniform
%b15 = OpVariable %_ptr_Uniform_S Uniform
%23 = OpTypeImage %float 2D 0 0 0 1 Unknown
%_ptr_UniformConstant_23 = OpTypePointer UniformConstant %23
%t0 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%t1 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%t2 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%t3 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%t4 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%t5 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%t6 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%t7 = OpVariable %_ptr_UniformConstant_23 UniformConstant
%33 = OpTypeImage %float 2D 1 0 0 1 Unknown
%_ptr_UniformConstant_33 = OpTypePointer UniformConstant %33
%t8 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%t9 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%t10 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%t11 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%t12 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%t13 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%t14 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%t15 = OpVariable %_ptr_UniformConstant_33 UniformConstant
%43 = OpTypeSampler
%_ptr_UniformConstant_43 = OpTypePointer UniformConstant %43
%s0 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%s1 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%s2 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%s3 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%s4 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%s5 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%s6 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%s7 = OpVariable %_ptr_UniformConstant_43 UniformConstant
%_ptr_UniformConstant_43_0 = OpTypePointer UniformConstant %43
%s8 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%s9 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%s10 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%s11 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%s12 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%s13 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%s14 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%s15 = OpVariable %_ptr_UniformConstant_43_0 UniformConstant
%void = OpTypeVoid
%60 = OpTypeFunction %void
%main = OpFunction %void None %60
%63 = OpLabel
%65 = OpLoad %S %b0
%67 = OpLoad %S %b1
%69 = OpLoad %S %b2
%71 = OpLoad %S %b3
%73 = OpLoad %S %b4
%75 = OpLoad %S %b5
%77 = OpLoad %S %b6
%79 = OpLoad %S %b7
%81 = OpLoad %S %b8
%83 = OpLoad %S %b9
%85 = OpLoad %S %b10
%87 = OpLoad %S %b11
%89 = OpLoad %S %b12
%91 = OpLoad %S %b13
%93 = OpLoad %S %b14
%95 = OpLoad %S %b15
%97 = OpLoad %23 %t0
%99 = OpLoad %23 %t1
%101 = OpLoad %23 %t2
%103 = OpLoad %23 %t3
%105 = OpLoad %23 %t4
%107 = OpLoad %23 %t5
%109 = OpLoad %23 %t6
%111 = OpLoad %23 %t7
%113 = OpLoad %33 %t8
%115 = OpLoad %33 %t9
%117 = OpLoad %33 %t10
%119 = OpLoad %33 %t11
%121 = OpLoad %33 %t12
%123 = OpLoad %33 %t13
%125 = OpLoad %33 %t14
%127 = OpLoad %33 %t15
%129 = OpLoad %43 %s0
%131 = OpLoad %43 %s1
%133 = OpLoad %43 %s2
%135 = OpLoad %43 %s3
%137 = OpLoad %43 %s4
%139 = OpLoad %43 %s5
%141 = OpLoad %43 %s6
%143 = OpLoad %43 %s7
%145 = OpLoad %43 %s8
%147 = OpLoad %43 %s9
%149 = OpLoad %43 %s10
%151 = OpLoad %43 %s11
%153 = OpLoad %43 %s12
%155 = OpLoad %43 %s13
%157 = OpLoad %43 %s14
%159 = OpLoad %43 %s15
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,152 @@
[[block]]
struct S {
a : f32;
};
[[group(0), binding(0)]] var<storage> b0 : S;
[[group(1), binding(0)]] var<storage> b1 : S;
[[group(2), binding(0)]] var<storage> b2 : S;
[[group(3), binding(0)]] var<storage> b3 : S;
[[group(4), binding(0)]] var<storage> b4 : S;
[[group(5), binding(0)]] var<storage> b5 : S;
[[group(6), binding(0)]] var<storage> b6 : S;
[[group(7), binding(0)]] var<storage> b7 : S;
[[group(9), binding(1)]] var<uniform> b8 : S;
[[group(8), binding(1)]] var<uniform> b9 : S;
[[group(10), binding(1)]] var<uniform> b10 : S;
[[group(11), binding(1)]] var<uniform> b11 : S;
[[group(12), binding(1)]] var<uniform> b12 : S;
[[group(13), binding(1)]] var<uniform> b13 : S;
[[group(14), binding(1)]] var<uniform> b14 : S;
[[group(15), binding(1)]] var<uniform> b15 : S;
[[group(0), binding(1)]] var t0 : texture_2d<f32>;
[[group(1), binding(1)]] var t1 : texture_2d<f32>;
[[group(2), binding(1)]] var t2 : texture_2d<f32>;
[[group(3), binding(1)]] var t3 : texture_2d<f32>;
[[group(4), binding(1)]] var t4 : texture_2d<f32>;
[[group(5), binding(1)]] var t5 : texture_2d<f32>;
[[group(6), binding(1)]] var t6 : texture_2d<f32>;
[[group(7), binding(1)]] var t7 : texture_2d<f32>;
[[group(8), binding(200)]] var t8 : texture_depth_2d;
[[group(9), binding(200)]] var t9 : texture_depth_2d;
[[group(10), binding(200)]] var t10 : texture_depth_2d;
[[group(11), binding(200)]] var t11 : texture_depth_2d;
[[group(12), binding(200)]] var t12 : texture_depth_2d;
[[group(13), binding(200)]] var t13 : texture_depth_2d;
[[group(14), binding(200)]] var t14 : texture_depth_2d;
[[group(15), binding(200)]] var t15 : texture_depth_2d;
[[group(0), binding(200)]] var s0 : sampler;
[[group(1), binding(200)]] var s1 : sampler;
[[group(2), binding(200)]] var s2 : sampler;
[[group(3), binding(200)]] var s3 : sampler;
[[group(4), binding(200)]] var s4 : sampler;
[[group(5), binding(200)]] var s5 : sampler;
[[group(6), binding(200)]] var s6 : sampler;
[[group(7), binding(200)]] var s7 : sampler;
[[group(8), binding(300)]] var s8 : sampler_comparison;
[[group(9), binding(300)]] var s9 : sampler_comparison;
[[group(10), binding(300)]] var s10 : sampler_comparison;
[[group(11), binding(300)]] var s11 : sampler_comparison;
[[group(12), binding(300)]] var s12 : sampler_comparison;
[[group(13), binding(300)]] var s13 : sampler_comparison;
[[group(14), binding(300)]] var s14 : sampler_comparison;
[[group(15), binding(300)]] var s15 : sampler_comparison;
[[stage(fragment)]]
fn main() {
ignore(b0);
ignore(b1);
ignore(b2);
ignore(b3);
ignore(b4);
ignore(b5);
ignore(b6);
ignore(b7);
ignore(b8);
ignore(b9);
ignore(b10);
ignore(b11);
ignore(b12);
ignore(b13);
ignore(b14);
ignore(b15);
ignore(t0);
ignore(t1);
ignore(t2);
ignore(t3);
ignore(t4);
ignore(t5);
ignore(t6);
ignore(t7);
ignore(t8);
ignore(t9);
ignore(t10);
ignore(t11);
ignore(t12);
ignore(t13);
ignore(t14);
ignore(t15);
ignore(s0);
ignore(s1);
ignore(s2);
ignore(s3);
ignore(s4);
ignore(s5);
ignore(s6);
ignore(s7);
ignore(s8);
ignore(s9);
ignore(s10);
ignore(s11);
ignore(s12);
ignore(s13);
ignore(s14);
ignore(s15);
}

View File

@ -58,7 +58,7 @@ void tint_symbol_1_inner(device ResultMatrix& resultMatrix, uint3 gl_GlobalInvoc
main_1(resultMatrix, tint_symbol_3);
}
kernel void tint_symbol_1(uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], device ResultMatrix& resultMatrix [[buffer(2)]]) {
kernel void tint_symbol_1(uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], device ResultMatrix& resultMatrix [[buffer(0)]]) {
thread uint3 tint_symbol_4 = 0u;
tint_symbol_1_inner(resultMatrix, gl_GlobalInvocationID_param, &(tint_symbol_4));
return;

View File

@ -22,7 +22,7 @@ FragmentOutput tint_symbol_inner(FragmentInput fIn, depth2d<float, access::sampl
return fOut;
}
fragment tint_symbol_3 tint_symbol(depth2d<float, access::sample> tint_symbol_7 [[texture(5)]], sampler tint_symbol_8 [[sampler(3)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
fragment tint_symbol_3 tint_symbol(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
FragmentInput const tint_symbol_4 = {.vUv=tint_symbol_1.vUv};
FragmentOutput const inner_result = tint_symbol_inner(tint_symbol_4, tint_symbol_7, tint_symbol_8);
tint_symbol_3 wrapper_result = {};

View File

@ -1,5 +1,3 @@
SKIP: FAILED
#include <metal_stdlib>
using namespace metal;
@ -20,15 +18,8 @@ int runTest(constant Constants& constants, device TestData& s) {
return atomic_load_explicit(&(s.data.arr[(0u + uint(constants.zero))]), memory_order_relaxed);
}
kernel void tint_symbol(constant Constants& constants [[buffer(0)]], device Result& result [[buffer(1)]], device TestData& s [[buffer(0)]]) {
kernel void tint_symbol(constant Constants& constants [[buffer(0)]], device Result& result [[buffer(1)]], device TestData& s [[buffer(2)]]) {
result.value = uint(runTest(constants, s));
return;
}
Compilation failed:
program_source:21:124: error: cannot reserve 'buffer' resource location at index 0
kernel void tint_symbol(constant Constants& constants [[buffer(0)]], device Result& result [[buffer(1)]], device TestData& s [[buffer(0)]]) {
^

View File

@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_1588cd(constant tint_symbol_1& tint_symbol_2) {
uint res = ((tint_symbol_2.buffer_size[0u][1u] - 0u) / 4u);
uint res = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
}
float4 vertex_main_inner(constant tint_symbol_1& tint_symbol_2) {

View File

@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_a0f5ca(constant tint_symbol_1& tint_symbol_2) {
uint res = ((tint_symbol_2.buffer_size[0u][1u] - 0u) / 4u);
uint res = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
}
float4 vertex_main_inner(constant tint_symbol_1& tint_symbol_2) {

View File

@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_cfca0a(constant tint_symbol_1& tint_symbol_2) {
uint res = ((tint_symbol_2.buffer_size[0u][1u] - 0u) / 4u);
uint res = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
}
float4 vertex_main_inner(constant tint_symbol_1& tint_symbol_2) {

View File

@ -5,7 +5,7 @@ void textureSample_02aa9b(texture2d_array<float, access::sample> tint_symbol, sa
float4 res = tint_symbol.sample(tint_symbol_1, float2(), 1, int2());
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_02aa9b(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_100dc0(texture3d<float, access::sample> tint_symbol, sampler
float4 res = tint_symbol.sample(tint_symbol_1, float3(), int3());
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_100dc0(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_38bbb9(depth2d<float, access::sample> tint_symbol, sampler ti
float res = tint_symbol.sample(tint_symbol_1, float2());
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_38bbb9(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_3b50bd(texture3d<float, access::sample> tint_symbol, sampler
float4 res = tint_symbol.sample(tint_symbol_1, float3());
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_3b50bd(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_4dd1bf(texturecube_array<float, access::sample> tint_symbol,
float4 res = tint_symbol.sample(tint_symbol_1, float3(), 1);
}
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_4dd1bf(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_51b514(texture2d<float, access::sample> tint_symbol, sampler
float4 res = tint_symbol.sample(tint_symbol_1, float2());
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_51b514(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_667d76(depth2d<float, access::sample> tint_symbol, sampler ti
float res = tint_symbol.sample(tint_symbol_1, float2(), int2());
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_667d76(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_6717ca(texture2d_array<float, access::sample> tint_symbol, sa
float4 res = tint_symbol.sample(tint_symbol_1, float2(), 1);
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_6717ca(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_6e64fb(texture1d<float, access::sample> tint_symbol, sampler
float4 res = tint_symbol.sample(tint_symbol_1, 1.0f);
}
fragment void fragment_main(texture1d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture1d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_6e64fb(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_7c3baa(texture2d<float, access::sample> tint_symbol, sampler
float4 res = tint_symbol.sample(tint_symbol_1, float2(), int2());
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_7c3baa(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_7e9ffd(depth2d_array<float, access::sample> tint_symbol, samp
float res = tint_symbol.sample(tint_symbol_1, float2(), 1);
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_7e9ffd(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_8522e7(depth2d_array<float, access::sample> tint_symbol, samp
float res = tint_symbol.sample(tint_symbol_1, float2(), 1, int2());
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_8522e7(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_c2f4e8(depthcube_array<float, access::sample> tint_symbol, sa
float res = tint_symbol.sample(tint_symbol_1, float3(), 1);
}
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_c2f4e8(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_e53267(texturecube<float, access::sample> tint_symbol, sample
float4 res = tint_symbol.sample(tint_symbol_1, float3());
}
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_e53267(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSample_ea7030(depthcube<float, access::sample> tint_symbol, sampler
float res = tint_symbol.sample(tint_symbol_1, float3());
}
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSample_ea7030(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_53b9f7(texturecube<float, access::sample> tint_symbol, sa
float4 res = tint_symbol.sample(tint_symbol_1, float3(), bias(1.0f));
}
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_53b9f7(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_65ac50(texture2d_array<float, access::sample> tint_symbol
float4 res = tint_symbol.sample(tint_symbol_1, float2(), 1, bias(1.0f), int2());
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_65ac50(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_6a9113(texture2d<float, access::sample> tint_symbol, samp
float4 res = tint_symbol.sample(tint_symbol_1, float2(), bias(1.0f));
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_6a9113(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_80e579(texture2d_array<float, access::sample> tint_symbol
float4 res = tint_symbol.sample(tint_symbol_1, float2(), 1, bias(1.0f));
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_80e579(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_81c19a(texture2d<float, access::sample> tint_symbol, samp
float4 res = tint_symbol.sample(tint_symbol_1, float2(), bias(1.0f), int2());
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_81c19a(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_d3fa1b(texture3d<float, access::sample> tint_symbol, samp
float4 res = tint_symbol.sample(tint_symbol_1, float3(), bias(1.0f));
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_d3fa1b(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_df91bb(texture3d<float, access::sample> tint_symbol, samp
float4 res = tint_symbol.sample(tint_symbol_1, float3(), bias(1.0f), int3());
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_df91bb(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleBias_eed7c4(texturecube_array<float, access::sample> tint_symb
float4 res = tint_symbol.sample(tint_symbol_1, float3(), 1, bias(1.0f));
}
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleBias_eed7c4(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleCompare_25fcd1(depth2d<float, access::sample> tint_symbol, sam
float res = tint_symbol.sample_compare(tint_symbol_1, float2(), 1.0f, int2());
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleCompare_25fcd1(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleCompare_3a5923(depth2d<float, access::sample> tint_symbol, sam
float res = tint_symbol.sample_compare(tint_symbol_1, float2(), 1.0f);
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleCompare_3a5923(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleCompare_63fb83(depthcube<float, access::sample> tint_symbol, s
float res = tint_symbol.sample_compare(tint_symbol_1, float3(), 1.0f);
}
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleCompare_63fb83(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleCompare_98b85c(depth2d_array<float, access::sample> tint_symbo
float res = tint_symbol.sample_compare(tint_symbol_1, float2(), 1, 1.0f, int2());
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleCompare_98b85c(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleCompare_a3ca7e(depthcube_array<float, access::sample> tint_sym
float res = tint_symbol.sample_compare(tint_symbol_1, float3(), 1, 1.0f);
}
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleCompare_a3ca7e(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -5,7 +5,7 @@ void textureSampleCompare_dd431d(depth2d_array<float, access::sample> tint_symbo
float res = tint_symbol.sample_compare(tint_symbol_1, float2(), 1, 1.0f);
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
textureSampleCompare_dd431d(tint_symbol_2, tint_symbol_3);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d_array<float, access::sample> tint_symbol_3, sam
return float4();
}
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleCompareLevel_011a8f(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleCompareLevel_011a8f(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d_array<float, access::sample> tint_symbol_3, sam
return float4();
}
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleCompareLevel_1116ed(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleCompareLevel_1116ed(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depthcube<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(depthcube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depthcube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleCompareLevel_1568e3(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depthcube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depthcube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleCompareLevel_1568e3(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d<float, access::sample> tint_symbol_3, sampler t
return float4();
}
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleCompareLevel_2ad2b1(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleCompareLevel_2ad2b1(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depthcube_array<float, access::sample> tint_symbol_3, s
return float4();
}
vertex tint_symbol vertex_main(depthcube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depthcube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleCompareLevel_4cf3a2(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depthcube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depthcube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleCompareLevel_4cf3a2(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d<float, access::sample> tint_symbol_3, sampler t
return float4();
}
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleCompareLevel_f8121c(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleCompareLevel_f8121c(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture3d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_21402b(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_21402b(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d_array<float, access::sample> tint_symbol_3, s
return float4();
}
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_2ecd8f(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_2ecd8f(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_468f88(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_468f88(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_521263(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_521263(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texturecube<float, access::sample> tint_symbol_3, sampl
return float4();
}
vertex tint_symbol vertex_main(texturecube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texturecube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_5312f4(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texturecube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texturecube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_5312f4(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d_array<float, access::sample> tint_symbol_3, s
return float4();
}
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_872f00(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_872f00(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texturecube_array<float, access::sample> tint_symbol_3,
return float4();
}
vertex tint_symbol vertex_main(texturecube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texturecube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_e383db(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texturecube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texturecube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_e383db(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture3d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleGrad_e9a2f7(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleGrad_e9a2f7(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d<float, access::sample> tint_symbol_3, sampler t
return float4();
}
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_02be59(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_02be59(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texturecube_array<float, access::sample> tint_symbol_3,
return float4();
}
vertex tint_symbol vertex_main(texturecube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texturecube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texturecube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_0bdd9a(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texturecube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texturecube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_0bdd9a(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depthcube<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(depthcube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depthcube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depthcube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_1b0291(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depthcube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depthcube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_1b0291(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d_array<float, access::sample> tint_symbol_3, sam
return float4();
}
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_1bf73e(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_1bf73e(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d_array<float, access::sample> tint_symbol_3, s
return float4();
}
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_302be4(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_302be4(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d<float, access::sample> tint_symbol_3, sampler t
return float4();
}
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_47daa4(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_47daa4(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_690d95(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_690d95(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_979816(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_979816(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture3d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_9bd37b(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_9bd37b(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d_array<float, access::sample> tint_symbol_3, s
return float4();
}
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_a4af26(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_a4af26(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture3d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture3d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture3d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_abfcc0(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture3d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_abfcc0(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depthcube_array<float, access::sample> tint_symbol_3, s
return float4();
}
vertex tint_symbol vertex_main(depthcube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depthcube_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depthcube_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_ae5e39(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depthcube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depthcube_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_ae5e39(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(depth2d_array<float, access::sample> tint_symbol_3, sam
return float4();
}
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(depth2d_array<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_ba93b3(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(depth2d_array<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_ba93b3(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texturecube<float, access::sample> tint_symbol_3, sampl
return float4();
}
vertex tint_symbol vertex_main(texturecube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texturecube<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_c32df7(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texturecube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texturecube<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_c32df7(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -14,19 +14,19 @@ float4 vertex_main_inner(texture2d<float, access::sample> tint_symbol_3, sampler
return float4();
}
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(1)]]) {
vertex tint_symbol vertex_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]], sampler tint_symbol_6 [[sampler(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_5, tint_symbol_6);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(1)]]) {
fragment void fragment_main(texture2d<float, access::sample> tint_symbol_7 [[texture(0)]], sampler tint_symbol_8 [[sampler(0)]]) {
textureSampleLevel_c6aca6(tint_symbol_7, tint_symbol_8);
return;
}
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(1)]]) {
kernel void compute_main(texture2d<float, access::sample> tint_symbol_9 [[texture(0)]], sampler tint_symbol_10 [[sampler(0)]]) {
textureSampleLevel_c6aca6(tint_symbol_9, tint_symbol_10);
return;
}

View File

@ -1,7 +1,7 @@
#include <metal_stdlib>
using namespace metal;
kernel void tint_symbol(texture1d<float, access::read> tint_symbol_1 [[texture(0)]], texture1d<float, access::read> tint_symbol_2 [[texture(1)]], texture1d<uint, access::read> tint_symbol_3 [[texture(2)]], texture1d<int, access::read> tint_symbol_4 [[texture(3)]], texture1d<uint, access::read> tint_symbol_5 [[texture(4)]], texture1d<int, access::read> tint_symbol_6 [[texture(5)]], texture1d<float, access::read> tint_symbol_7 [[texture(6)]], texture1d<uint, access::read> tint_symbol_8 [[texture(7)]], texture1d<int, access::read> tint_symbol_9 [[texture(8)]], texture1d<float, access::read> tint_symbol_10 [[texture(9)]], texture1d<uint, access::read> tint_symbol_11 [[texture(10)]], texture1d<int, access::read> tint_symbol_12 [[texture(11)]], texture1d<float, access::read> tint_symbol_13 [[texture(12)]], texture1d<uint, access::read> tint_symbol_14 [[texture(13)]], texture1d<int, access::read> tint_symbol_15 [[texture(14)]], texture1d<float, access::read> tint_symbol_16 [[texture(15)]], texture1d<float, access::write> tint_symbol_17 [[texture(50)]], texture1d<float, access::write> tint_symbol_18 [[texture(51)]], texture1d<uint, access::write> tint_symbol_19 [[texture(52)]], texture1d<int, access::write> tint_symbol_20 [[texture(53)]], texture1d<uint, access::write> tint_symbol_21 [[texture(54)]], texture1d<int, access::write> tint_symbol_22 [[texture(55)]], texture1d<float, access::write> tint_symbol_23 [[texture(56)]], texture1d<uint, access::write> tint_symbol_24 [[texture(57)]], texture1d<int, access::write> tint_symbol_25 [[texture(58)]], texture1d<float, access::write> tint_symbol_26 [[texture(59)]], texture1d<uint, access::write> tint_symbol_27 [[texture(60)]], texture1d<int, access::write> tint_symbol_28 [[texture(61)]], texture1d<float, access::write> tint_symbol_29 [[texture(62)]], texture1d<uint, access::write> tint_symbol_30 [[texture(63)]], texture1d<int, access::write> tint_symbol_31 [[texture(64)]], texture1d<float, access::write> tint_symbol_32 [[texture(65)]]) {
kernel void tint_symbol(texture1d<float, access::read> tint_symbol_1 [[texture(0)]], texture1d<float, access::read> tint_symbol_2 [[texture(1)]], texture1d<uint, access::read> tint_symbol_3 [[texture(2)]], texture1d<int, access::read> tint_symbol_4 [[texture(3)]], texture1d<uint, access::read> tint_symbol_5 [[texture(4)]], texture1d<int, access::read> tint_symbol_6 [[texture(5)]], texture1d<float, access::read> tint_symbol_7 [[texture(6)]], texture1d<uint, access::read> tint_symbol_8 [[texture(7)]], texture1d<int, access::read> tint_symbol_9 [[texture(8)]], texture1d<float, access::read> tint_symbol_10 [[texture(9)]], texture1d<uint, access::read> tint_symbol_11 [[texture(10)]], texture1d<int, access::read> tint_symbol_12 [[texture(11)]], texture1d<float, access::read> tint_symbol_13 [[texture(12)]], texture1d<uint, access::read> tint_symbol_14 [[texture(13)]], texture1d<int, access::read> tint_symbol_15 [[texture(14)]], texture1d<float, access::read> tint_symbol_16 [[texture(15)]], texture1d<float, access::write> tint_symbol_17 [[texture(16)]], texture1d<float, access::write> tint_symbol_18 [[texture(17)]], texture1d<uint, access::write> tint_symbol_19 [[texture(18)]], texture1d<int, access::write> tint_symbol_20 [[texture(19)]], texture1d<uint, access::write> tint_symbol_21 [[texture(20)]], texture1d<int, access::write> tint_symbol_22 [[texture(21)]], texture1d<float, access::write> tint_symbol_23 [[texture(22)]], texture1d<uint, access::write> tint_symbol_24 [[texture(23)]], texture1d<int, access::write> tint_symbol_25 [[texture(24)]], texture1d<float, access::write> tint_symbol_26 [[texture(25)]], texture1d<uint, access::write> tint_symbol_27 [[texture(26)]], texture1d<int, access::write> tint_symbol_28 [[texture(27)]], texture1d<float, access::write> tint_symbol_29 [[texture(28)]], texture1d<uint, access::write> tint_symbol_30 [[texture(29)]], texture1d<int, access::write> tint_symbol_31 [[texture(30)]], texture1d<float, access::write> tint_symbol_32 [[texture(31)]]) {
(void) tint_symbol_1;
(void) tint_symbol_2;
(void) tint_symbol_3;

View File

@ -1,7 +1,7 @@
#include <metal_stdlib>
using namespace metal;
kernel void tint_symbol(texture2d<float, access::read> tint_symbol_1 [[texture(0)]], texture2d<float, access::read> tint_symbol_2 [[texture(1)]], texture2d<uint, access::read> tint_symbol_3 [[texture(2)]], texture2d<int, access::read> tint_symbol_4 [[texture(3)]], texture2d<uint, access::read> tint_symbol_5 [[texture(4)]], texture2d<int, access::read> tint_symbol_6 [[texture(5)]], texture2d<float, access::read> tint_symbol_7 [[texture(6)]], texture2d<uint, access::read> tint_symbol_8 [[texture(7)]], texture2d<int, access::read> tint_symbol_9 [[texture(8)]], texture2d<float, access::read> tint_symbol_10 [[texture(9)]], texture2d<uint, access::read> tint_symbol_11 [[texture(10)]], texture2d<int, access::read> tint_symbol_12 [[texture(11)]], texture2d<float, access::read> tint_symbol_13 [[texture(12)]], texture2d<uint, access::read> tint_symbol_14 [[texture(13)]], texture2d<int, access::read> tint_symbol_15 [[texture(14)]], texture2d<float, access::read> tint_symbol_16 [[texture(15)]], texture2d<float, access::write> tint_symbol_17 [[texture(50)]], texture2d<float, access::write> tint_symbol_18 [[texture(51)]], texture2d<uint, access::write> tint_symbol_19 [[texture(52)]], texture2d<int, access::write> tint_symbol_20 [[texture(53)]], texture2d<uint, access::write> tint_symbol_21 [[texture(54)]], texture2d<int, access::write> tint_symbol_22 [[texture(55)]], texture2d<float, access::write> tint_symbol_23 [[texture(56)]], texture2d<uint, access::write> tint_symbol_24 [[texture(57)]], texture2d<int, access::write> tint_symbol_25 [[texture(58)]], texture2d<float, access::write> tint_symbol_26 [[texture(59)]], texture2d<uint, access::write> tint_symbol_27 [[texture(60)]], texture2d<int, access::write> tint_symbol_28 [[texture(61)]], texture2d<float, access::write> tint_symbol_29 [[texture(62)]], texture2d<uint, access::write> tint_symbol_30 [[texture(63)]], texture2d<int, access::write> tint_symbol_31 [[texture(64)]], texture2d<float, access::write> tint_symbol_32 [[texture(65)]]) {
kernel void tint_symbol(texture2d<float, access::read> tint_symbol_1 [[texture(0)]], texture2d<float, access::read> tint_symbol_2 [[texture(1)]], texture2d<uint, access::read> tint_symbol_3 [[texture(2)]], texture2d<int, access::read> tint_symbol_4 [[texture(3)]], texture2d<uint, access::read> tint_symbol_5 [[texture(4)]], texture2d<int, access::read> tint_symbol_6 [[texture(5)]], texture2d<float, access::read> tint_symbol_7 [[texture(6)]], texture2d<uint, access::read> tint_symbol_8 [[texture(7)]], texture2d<int, access::read> tint_symbol_9 [[texture(8)]], texture2d<float, access::read> tint_symbol_10 [[texture(9)]], texture2d<uint, access::read> tint_symbol_11 [[texture(10)]], texture2d<int, access::read> tint_symbol_12 [[texture(11)]], texture2d<float, access::read> tint_symbol_13 [[texture(12)]], texture2d<uint, access::read> tint_symbol_14 [[texture(13)]], texture2d<int, access::read> tint_symbol_15 [[texture(14)]], texture2d<float, access::read> tint_symbol_16 [[texture(15)]], texture2d<float, access::write> tint_symbol_17 [[texture(16)]], texture2d<float, access::write> tint_symbol_18 [[texture(17)]], texture2d<uint, access::write> tint_symbol_19 [[texture(18)]], texture2d<int, access::write> tint_symbol_20 [[texture(19)]], texture2d<uint, access::write> tint_symbol_21 [[texture(20)]], texture2d<int, access::write> tint_symbol_22 [[texture(21)]], texture2d<float, access::write> tint_symbol_23 [[texture(22)]], texture2d<uint, access::write> tint_symbol_24 [[texture(23)]], texture2d<int, access::write> tint_symbol_25 [[texture(24)]], texture2d<float, access::write> tint_symbol_26 [[texture(25)]], texture2d<uint, access::write> tint_symbol_27 [[texture(26)]], texture2d<int, access::write> tint_symbol_28 [[texture(27)]], texture2d<float, access::write> tint_symbol_29 [[texture(28)]], texture2d<uint, access::write> tint_symbol_30 [[texture(29)]], texture2d<int, access::write> tint_symbol_31 [[texture(30)]], texture2d<float, access::write> tint_symbol_32 [[texture(31)]]) {
(void) tint_symbol_1;
(void) tint_symbol_2;
(void) tint_symbol_3;

View File

@ -1,7 +1,7 @@
#include <metal_stdlib>
using namespace metal;
kernel void tint_symbol(texture2d_array<float, access::read> tint_symbol_1 [[texture(0)]], texture2d_array<float, access::read> tint_symbol_2 [[texture(1)]], texture2d_array<uint, access::read> tint_symbol_3 [[texture(2)]], texture2d_array<int, access::read> tint_symbol_4 [[texture(3)]], texture2d_array<uint, access::read> tint_symbol_5 [[texture(4)]], texture2d_array<int, access::read> tint_symbol_6 [[texture(5)]], texture2d_array<float, access::read> tint_symbol_7 [[texture(6)]], texture2d_array<uint, access::read> tint_symbol_8 [[texture(7)]], texture2d_array<int, access::read> tint_symbol_9 [[texture(8)]], texture2d_array<float, access::read> tint_symbol_10 [[texture(9)]], texture2d_array<uint, access::read> tint_symbol_11 [[texture(10)]], texture2d_array<int, access::read> tint_symbol_12 [[texture(11)]], texture2d_array<float, access::read> tint_symbol_13 [[texture(12)]], texture2d_array<uint, access::read> tint_symbol_14 [[texture(13)]], texture2d_array<int, access::read> tint_symbol_15 [[texture(14)]], texture2d_array<float, access::read> tint_symbol_16 [[texture(15)]], texture2d_array<float, access::write> tint_symbol_17 [[texture(50)]], texture2d_array<float, access::write> tint_symbol_18 [[texture(51)]], texture2d_array<uint, access::write> tint_symbol_19 [[texture(52)]], texture2d_array<int, access::write> tint_symbol_20 [[texture(53)]], texture2d_array<uint, access::write> tint_symbol_21 [[texture(54)]], texture2d_array<int, access::write> tint_symbol_22 [[texture(55)]], texture2d_array<float, access::write> tint_symbol_23 [[texture(56)]], texture2d_array<uint, access::write> tint_symbol_24 [[texture(57)]], texture2d_array<int, access::write> tint_symbol_25 [[texture(58)]], texture2d_array<float, access::write> tint_symbol_26 [[texture(59)]], texture2d_array<uint, access::write> tint_symbol_27 [[texture(60)]], texture2d_array<int, access::write> tint_symbol_28 [[texture(61)]], texture2d_array<float, access::write> tint_symbol_29 [[texture(62)]], texture2d_array<uint, access::write> tint_symbol_30 [[texture(63)]], texture2d_array<int, access::write> tint_symbol_31 [[texture(64)]], texture2d_array<float, access::write> tint_symbol_32 [[texture(65)]]) {
kernel void tint_symbol(texture2d_array<float, access::read> tint_symbol_1 [[texture(0)]], texture2d_array<float, access::read> tint_symbol_2 [[texture(1)]], texture2d_array<uint, access::read> tint_symbol_3 [[texture(2)]], texture2d_array<int, access::read> tint_symbol_4 [[texture(3)]], texture2d_array<uint, access::read> tint_symbol_5 [[texture(4)]], texture2d_array<int, access::read> tint_symbol_6 [[texture(5)]], texture2d_array<float, access::read> tint_symbol_7 [[texture(6)]], texture2d_array<uint, access::read> tint_symbol_8 [[texture(7)]], texture2d_array<int, access::read> tint_symbol_9 [[texture(8)]], texture2d_array<float, access::read> tint_symbol_10 [[texture(9)]], texture2d_array<uint, access::read> tint_symbol_11 [[texture(10)]], texture2d_array<int, access::read> tint_symbol_12 [[texture(11)]], texture2d_array<float, access::read> tint_symbol_13 [[texture(12)]], texture2d_array<uint, access::read> tint_symbol_14 [[texture(13)]], texture2d_array<int, access::read> tint_symbol_15 [[texture(14)]], texture2d_array<float, access::read> tint_symbol_16 [[texture(15)]], texture2d_array<float, access::write> tint_symbol_17 [[texture(16)]], texture2d_array<float, access::write> tint_symbol_18 [[texture(17)]], texture2d_array<uint, access::write> tint_symbol_19 [[texture(18)]], texture2d_array<int, access::write> tint_symbol_20 [[texture(19)]], texture2d_array<uint, access::write> tint_symbol_21 [[texture(20)]], texture2d_array<int, access::write> tint_symbol_22 [[texture(21)]], texture2d_array<float, access::write> tint_symbol_23 [[texture(22)]], texture2d_array<uint, access::write> tint_symbol_24 [[texture(23)]], texture2d_array<int, access::write> tint_symbol_25 [[texture(24)]], texture2d_array<float, access::write> tint_symbol_26 [[texture(25)]], texture2d_array<uint, access::write> tint_symbol_27 [[texture(26)]], texture2d_array<int, access::write> tint_symbol_28 [[texture(27)]], texture2d_array<float, access::write> tint_symbol_29 [[texture(28)]], texture2d_array<uint, access::write> tint_symbol_30 [[texture(29)]], texture2d_array<int, access::write> tint_symbol_31 [[texture(30)]], texture2d_array<float, access::write> tint_symbol_32 [[texture(31)]]) {
(void) tint_symbol_1;
(void) tint_symbol_2;
(void) tint_symbol_3;

View File

@ -1,7 +1,7 @@
#include <metal_stdlib>
using namespace metal;
kernel void tint_symbol(texture3d<float, access::read> tint_symbol_1 [[texture(0)]], texture3d<float, access::read> tint_symbol_2 [[texture(1)]], texture3d<uint, access::read> tint_symbol_3 [[texture(2)]], texture3d<int, access::read> tint_symbol_4 [[texture(3)]], texture3d<uint, access::read> tint_symbol_5 [[texture(4)]], texture3d<int, access::read> tint_symbol_6 [[texture(5)]], texture3d<float, access::read> tint_symbol_7 [[texture(6)]], texture3d<uint, access::read> tint_symbol_8 [[texture(7)]], texture3d<int, access::read> tint_symbol_9 [[texture(8)]], texture3d<float, access::read> tint_symbol_10 [[texture(9)]], texture3d<uint, access::read> tint_symbol_11 [[texture(10)]], texture3d<int, access::read> tint_symbol_12 [[texture(11)]], texture3d<float, access::read> tint_symbol_13 [[texture(12)]], texture3d<uint, access::read> tint_symbol_14 [[texture(13)]], texture3d<int, access::read> tint_symbol_15 [[texture(14)]], texture3d<float, access::read> tint_symbol_16 [[texture(15)]], texture3d<float, access::write> tint_symbol_17 [[texture(50)]], texture3d<float, access::write> tint_symbol_18 [[texture(51)]], texture3d<uint, access::write> tint_symbol_19 [[texture(52)]], texture3d<int, access::write> tint_symbol_20 [[texture(53)]], texture3d<uint, access::write> tint_symbol_21 [[texture(54)]], texture3d<int, access::write> tint_symbol_22 [[texture(55)]], texture3d<float, access::write> tint_symbol_23 [[texture(56)]], texture3d<uint, access::write> tint_symbol_24 [[texture(57)]], texture3d<int, access::write> tint_symbol_25 [[texture(58)]], texture3d<float, access::write> tint_symbol_26 [[texture(59)]], texture3d<uint, access::write> tint_symbol_27 [[texture(60)]], texture3d<int, access::write> tint_symbol_28 [[texture(61)]], texture3d<float, access::write> tint_symbol_29 [[texture(62)]], texture3d<uint, access::write> tint_symbol_30 [[texture(63)]], texture3d<int, access::write> tint_symbol_31 [[texture(64)]], texture3d<float, access::write> tint_symbol_32 [[texture(65)]]) {
kernel void tint_symbol(texture3d<float, access::read> tint_symbol_1 [[texture(0)]], texture3d<float, access::read> tint_symbol_2 [[texture(1)]], texture3d<uint, access::read> tint_symbol_3 [[texture(2)]], texture3d<int, access::read> tint_symbol_4 [[texture(3)]], texture3d<uint, access::read> tint_symbol_5 [[texture(4)]], texture3d<int, access::read> tint_symbol_6 [[texture(5)]], texture3d<float, access::read> tint_symbol_7 [[texture(6)]], texture3d<uint, access::read> tint_symbol_8 [[texture(7)]], texture3d<int, access::read> tint_symbol_9 [[texture(8)]], texture3d<float, access::read> tint_symbol_10 [[texture(9)]], texture3d<uint, access::read> tint_symbol_11 [[texture(10)]], texture3d<int, access::read> tint_symbol_12 [[texture(11)]], texture3d<float, access::read> tint_symbol_13 [[texture(12)]], texture3d<uint, access::read> tint_symbol_14 [[texture(13)]], texture3d<int, access::read> tint_symbol_15 [[texture(14)]], texture3d<float, access::read> tint_symbol_16 [[texture(15)]], texture3d<float, access::write> tint_symbol_17 [[texture(16)]], texture3d<float, access::write> tint_symbol_18 [[texture(17)]], texture3d<uint, access::write> tint_symbol_19 [[texture(18)]], texture3d<int, access::write> tint_symbol_20 [[texture(19)]], texture3d<uint, access::write> tint_symbol_21 [[texture(20)]], texture3d<int, access::write> tint_symbol_22 [[texture(21)]], texture3d<float, access::write> tint_symbol_23 [[texture(22)]], texture3d<uint, access::write> tint_symbol_24 [[texture(23)]], texture3d<int, access::write> tint_symbol_25 [[texture(24)]], texture3d<float, access::write> tint_symbol_26 [[texture(25)]], texture3d<uint, access::write> tint_symbol_27 [[texture(26)]], texture3d<int, access::write> tint_symbol_28 [[texture(27)]], texture3d<float, access::write> tint_symbol_29 [[texture(28)]], texture3d<uint, access::write> tint_symbol_30 [[texture(29)]], texture3d<int, access::write> tint_symbol_31 [[texture(30)]], texture3d<float, access::write> tint_symbol_32 [[texture(31)]]) {
(void) tint_symbol_1;
(void) tint_symbol_2;
(void) tint_symbol_3;

View File

@ -23,7 +23,7 @@ void main_1(texture2d<float, access::sample> tint_symbol_1) {
return;
}
fragment void tint_symbol(texture2d<float, access::sample> tint_symbol_2 [[texture(1)]]) {
fragment void tint_symbol(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]]) {
main_1(tint_symbol_2);
return;
}

View File

@ -23,7 +23,7 @@ void main_1(texture2d<uint, access::sample> tint_symbol_1) {
return;
}
fragment void tint_symbol(texture2d<uint, access::sample> tint_symbol_2 [[texture(1)]]) {
fragment void tint_symbol(texture2d<uint, access::sample> tint_symbol_2 [[texture(0)]]) {
main_1(tint_symbol_2);
return;
}

View File

@ -23,7 +23,7 @@ void main_1(texture2d<int, access::sample> tint_symbol_1) {
return;
}
fragment void tint_symbol(texture2d<int, access::sample> tint_symbol_2 [[texture(1)]]) {
fragment void tint_symbol(texture2d<int, access::sample> tint_symbol_2 [[texture(0)]]) {
main_1(tint_symbol_2);
return;
}

View File

@ -24,7 +24,7 @@ void main_1(texture2d<float, access::read> tint_symbol_1) {
return;
}
fragment void tint_symbol(texture2d<float, access::read> tint_symbol_2 [[texture(1)]]) {
fragment void tint_symbol(texture2d<float, access::read> tint_symbol_2 [[texture(0)]]) {
main_1(tint_symbol_2);
return;
}

Some files were not shown because too many files have changed in this diff Show More