transform/shader_io: Generate a wrapper function

This is a major reworking of this transform. The old transform code
was getting unwieldy, with part of the complication coming from the
handling of multiple return statements. By generating a wrapper
function instead, we can avoid a lot of this complexity.

The original entry point function is stripped of all shader IO
attributes (as well as `stage` and `workgroup_size`), but the body is
left unmodified. A new entry point wrapper function is introduced
which calls the original function, packing/unpacking the shader inputs
as necessary, and propagates the result to the corresponding shader
outputs.

The new code has been refactored to use a state object with the
different parts of the transform split into separate functions, which
makes it much more manageable.

Fixed: tint:1076
Bug: tint:920
Change-Id: I3490a0ea7a3509a4e198ce730e476516649d8d96
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60521
Auto-Submit: James Price <jrprice@google.com>
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-04 22:15:28 +00:00
committed by Tint LUCI CQ
parent 3e92e9f8ba
commit a5d73ce965
3866 changed files with 49323 additions and 26508 deletions

View File

@@ -23,9 +23,7 @@ tint_symbol_11_ret tint_symbol_11(ByteAddressBuffer buffer, uint offset) {
return arr_1;
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint idx = tint_symbol.idx;
void main_inner(uint idx) {
const int3 a = asint(s.Load3((176u * idx)));
const int b = asint(s.Load(((176u * idx) + 12u)));
const uint3 c = s.Load3(((176u * idx) + 16u));
@@ -35,5 +33,10 @@ void main(tint_symbol_1 tint_symbol) {
const float2x3 g = tint_symbol_8(s, ((176u * idx) + 48u));
const float3x2 h = tint_symbol_9(s, ((176u * idx) + 80u));
const int4 i[4] = tint_symbol_11(s, ((176u * idx) + 112u));
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.idx);
return;
}

View File

@@ -20,7 +20,7 @@ struct S {
/* 0x0000 */ Inner arr[1];
};
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], const device S& s [[buffer(0)]]) {
void tint_symbol_inner(const device S& s, uint idx) {
int3 const a = s.arr[idx].a;
int const b = s.arr[idx].b;
uint3 const c = s.arr[idx].c;
@@ -30,6 +30,10 @@ kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], const device S
float2x3 const g = s.arr[idx].g;
float3x2 const h = s.arr[idx].h;
tint_array_wrapper const i = s.arr[idx].i;
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], const device S& s [[buffer(0)]]) {
tint_symbol_inner(s, idx);
return;
}

View File

@@ -24,9 +24,7 @@ void tint_symbol_11(RWByteAddressBuffer buffer, uint offset, int4 value[4]) {
}
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint idx = tint_symbol.idx;
void main_inner(uint idx) {
s.Store3((176u * idx), asuint(int3(0, 0, 0)));
s.Store(((176u * idx) + 12u), asuint(0));
s.Store3(((176u * idx) + 16u), asuint(uint3(0u, 0u, 0u)));
@@ -37,5 +35,10 @@ void main(tint_symbol_1 tint_symbol) {
tint_symbol_9(s, ((176u * idx) + 80u), float3x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f));
const int4 tint_symbol_13[4] = (int4[4])0;
tint_symbol_11(s, ((176u * idx) + 112u), tint_symbol_13);
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.idx);
return;
}

View File

@@ -20,7 +20,7 @@ struct S {
/* 0x0000 */ Inner arr[1];
};
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], device S& s [[buffer(0)]]) {
void tint_symbol_inner(device S& s, uint idx) {
s.arr[idx].a = int3();
s.arr[idx].b = int();
s.arr[idx].c = uint3();
@@ -29,8 +29,12 @@ kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], device S& s [[
s.arr[idx].f = float();
s.arr[idx].g = float2x3();
s.arr[idx].h = float3x2();
tint_array_wrapper const tint_symbol_2 = {.arr={}};
s.arr[idx].i = tint_symbol_2;
tint_array_wrapper const tint_symbol_1 = {.arr={}};
s.arr[idx].i = tint_symbol_1;
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], device S& s [[buffer(0)]]) {
tint_symbol_inner(s, idx);
return;
}

View File

@@ -12,9 +12,7 @@ float2x3 tint_symbol_9(uint4 buffer[96], uint offset) {
return float2x3(asfloat(buffer[scalar_offset / 4].xyz), asfloat(buffer[scalar_offset_1 / 4].xyz));
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint idx = tint_symbol.idx;
void main_inner(uint idx) {
const uint scalar_offset_2 = ((192u * idx)) / 4;
const int3 a = asint(s[scalar_offset_2 / 4].xyz);
const uint scalar_offset_3 = (((192u * idx) + 12u)) / 4;
@@ -34,5 +32,10 @@ void main(tint_symbol_1 tint_symbol) {
uint4 ubo_load_1 = s[scalar_offset_9 / 4];
const int2 h = asint(((scalar_offset_9 & 2) ? ubo_load_1.zw : ubo_load_1.xy));
const float2x3 i = tint_symbol_9(s, ((192u * idx) + 64u));
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.idx);
return;
}

View File

@@ -25,7 +25,7 @@ struct S {
/* 0x0000 */ tint_array_wrapper_1 arr;
};
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], constant S& s [[buffer(0)]]) {
void tint_symbol_inner(constant S& s, uint idx) {
int3 const a = s.arr.arr[idx].a;
int const b = s.arr.arr[idx].b;
uint3 const c = s.arr.arr[idx].c;
@@ -35,6 +35,10 @@ kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], constant S& s
int2 const g = s.arr.arr[idx].g;
int2 const h = s.arr.arr[idx].h;
float2x3 const i = s.arr.arr[idx].i;
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], constant S& s [[buffer(0)]]) {
tint_symbol_inner(s, idx);
return;
}

View File

@@ -14,8 +14,7 @@ struct tint_symbol_2 {
float4 position : SV_Position;
};
tint_symbol_2 vs_main(tint_symbol_1 tint_symbol) {
const uint VertexIndex = tint_symbol.VertexIndex;
VertexOutputs vs_main_inner(uint VertexIndex) {
float2 texcoord[3] = {float2(-0.5f, 0.0f), float2(1.5f, 0.0f), float2(0.5f, 2.0f)};
VertexOutputs output = (VertexOutputs)0;
output.position = float4(((texcoord[VertexIndex] * 2.0f) - float2(1.0f, 1.0f)), 0.0f, 1.0f);
@@ -25,8 +24,15 @@ tint_symbol_2 vs_main(tint_symbol_1 tint_symbol) {
} else {
output.texcoords = ((((texcoord[VertexIndex] * float2(1.0f, -1.0f)) + float2(0.0f, 1.0f)) * asfloat(uniforms[0].xy)) + asfloat(uniforms[0].zw));
}
const tint_symbol_2 tint_symbol_8 = {output.texcoords, output.position};
return tint_symbol_8;
return output;
}
tint_symbol_2 vs_main(tint_symbol_1 tint_symbol) {
const VertexOutputs inner_result = vs_main_inner(tint_symbol.VertexIndex);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.texcoords = inner_result.texcoords;
wrapper_result.position = inner_result.position;
return wrapper_result;
}
SamplerState mySampler : register(s1, space0);
@@ -39,13 +45,18 @@ struct tint_symbol_5 {
float4 value : SV_Target0;
};
tint_symbol_5 fs_main(tint_symbol_4 tint_symbol_3) {
const float2 texcoord = tint_symbol_3.texcoord;
float4 fs_main_inner(float2 texcoord) {
float2 clampedTexcoord = clamp(texcoord, float2(0.0f, 0.0f), float2(1.0f, 1.0f));
if (!(all((clampedTexcoord == texcoord)))) {
discard;
}
float4 srcColor = myTexture.Sample(mySampler, texcoord);
const tint_symbol_5 tint_symbol_9 = {srcColor};
return tint_symbol_9;
return srcColor;
}
tint_symbol_5 fs_main(tint_symbol_4 tint_symbol_3) {
const float4 inner_result_1 = fs_main_inner(tint_symbol_3.texcoord);
tint_symbol_5 wrapper_result_1 = (tint_symbol_5)0;
wrapper_result_1.value = inner_result_1;
return wrapper_result_1;
}

View File

@@ -9,21 +9,21 @@ struct VertexOutputs {
float2 texcoords;
float4 position;
};
struct tint_symbol_1 {
struct tint_symbol {
float2 texcoords [[user(locn0)]];
float4 position [[position]];
};
struct tint_array_wrapper {
float2 arr[3];
};
struct tint_symbol_3 {
struct tint_symbol_2 {
float2 texcoord [[user(locn0)]];
};
struct tint_symbol_4 {
struct tint_symbol_3 {
float4 value [[color(0)]];
};
vertex tint_symbol_1 vs_main(uint VertexIndex [[vertex_id]], constant Uniforms& uniforms [[buffer(0)]]) {
VertexOutputs vs_main_inner(constant Uniforms& uniforms, uint VertexIndex) {
tint_array_wrapper texcoord = {.arr={float2(-0.5f, 0.0f), float2(1.5f, 0.0f), float2(0.5f, 2.0f)}};
VertexOutputs output = {};
output.position = float4(((texcoord.arr[VertexIndex] * 2.0f) - float2(1.0f, 1.0f)), 0.0f, 1.0f);
@@ -33,18 +33,30 @@ vertex tint_symbol_1 vs_main(uint VertexIndex [[vertex_id]], constant Uniforms&
} else {
output.texcoords = ((((texcoord.arr[VertexIndex] * float2(1.0f, -1.0f)) + float2(0.0f, 1.0f)) * uniforms.u_scale) + uniforms.u_offset);
}
tint_symbol_1 const tint_symbol_5 = {.texcoords=output.texcoords, .position=output.position};
return tint_symbol_5;
return output;
}
fragment tint_symbol_4 fs_main(texture2d<float, access::sample> tint_symbol_7 [[texture(2)]], sampler tint_symbol_8 [[sampler(1)]], tint_symbol_3 tint_symbol_2 [[stage_in]]) {
float2 const texcoord = tint_symbol_2.texcoord;
vertex tint_symbol vs_main(uint VertexIndex [[vertex_id]], constant Uniforms& uniforms [[buffer(0)]]) {
VertexOutputs const inner_result = vs_main_inner(uniforms, VertexIndex);
tint_symbol wrapper_result = {};
wrapper_result.texcoords = inner_result.texcoords;
wrapper_result.position = inner_result.position;
return wrapper_result;
}
float4 fs_main_inner(float2 texcoord, texture2d<float, access::sample> tint_symbol_4, sampler tint_symbol_5) {
float2 clampedTexcoord = clamp(texcoord, float2(0.0f, 0.0f), float2(1.0f, 1.0f));
if (!(all((clampedTexcoord == texcoord)))) {
discard_fragment();
}
float4 srcColor = tint_symbol_7.sample(tint_symbol_8, texcoord);
tint_symbol_4 const tint_symbol_6 = {.value=srcColor};
return tint_symbol_6;
float4 srcColor = tint_symbol_4.sample(tint_symbol_5, texcoord);
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]]) {
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;
return wrapper_result_1;
}

View File

@@ -13,9 +13,7 @@ struct tint_symbol_2 {
uint local_invocation_index : SV_GroupIndex;
};
[numthreads(1, 1, 1)]
void f(tint_symbol_2 tint_symbol_1) {
const uint local_invocation_index = tint_symbol_1.local_invocation_index;
void f_inner(uint local_invocation_index) {
{
for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
const uint i = idx;
@@ -24,5 +22,10 @@ void f(tint_symbol_2 tint_symbol_1) {
}
GroupMemoryBarrierWithGroupSync();
result.Store(0u, asuint(s.data[asint(ubo[0].x)]));
}
[numthreads(1, 1, 1)]
void f(tint_symbol_2 tint_symbol_1) {
f_inner(tint_symbol_1.local_invocation_index);
return;
}

View File

@@ -14,14 +14,18 @@ struct Result {
/* 0x0000 */ int out;
};
kernel void f(uint local_invocation_index [[thread_index_in_threadgroup]], constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(1)]]) {
threadgroup S tint_symbol_1;
void f_inner(constant UBO& ubo, device Result& result, uint local_invocation_index, threadgroup S* const tint_symbol) {
for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
uint const i = idx;
tint_symbol_1.data.arr[i] = int();
(*(tint_symbol)).data.arr[i] = int();
}
threadgroup_barrier(mem_flags::mem_threadgroup);
result.out = tint_symbol_1.data.arr[ubo.dynamic_idx];
result.out = (*(tint_symbol)).data.arr[ubo.dynamic_idx];
}
kernel void f(uint local_invocation_index [[thread_index_in_threadgroup]], constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(1)]]) {
threadgroup S tint_symbol_1;
f_inner(ubo, result, local_invocation_index, &(tint_symbol_1));
return;
}

View File

@@ -13,9 +13,7 @@ struct tint_symbol_2 {
uint local_invocation_index : SV_GroupIndex;
};
[numthreads(1, 1, 1)]
void f(tint_symbol_2 tint_symbol_1) {
const uint local_invocation_index = tint_symbol_1.local_invocation_index;
void f_inner(uint local_invocation_index) {
{
for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
const uint i = idx;
@@ -25,5 +23,10 @@ void f(tint_symbol_2 tint_symbol_1) {
GroupMemoryBarrierWithGroupSync();
s.data[asint(ubo[0].x)] = 1;
result.Store(0u, asuint(s.data[3]));
}
[numthreads(1, 1, 1)]
void f(tint_symbol_2 tint_symbol_1) {
f_inner(tint_symbol_1.local_invocation_index);
return;
}

View File

@@ -14,15 +14,19 @@ struct Result {
/* 0x0000 */ int out;
};
kernel void f(uint local_invocation_index [[thread_index_in_threadgroup]], constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(1)]]) {
threadgroup S tint_symbol_1;
void f_inner(constant UBO& ubo, device Result& result, uint local_invocation_index, threadgroup S* const tint_symbol) {
for(uint idx = local_invocation_index; (idx < 64u); idx = (idx + 1u)) {
uint const i = idx;
tint_symbol_1.data.arr[i] = int();
(*(tint_symbol)).data.arr[i] = int();
}
threadgroup_barrier(mem_flags::mem_threadgroup);
tint_symbol_1.data.arr[ubo.dynamic_idx] = 1;
result.out = tint_symbol_1.data.arr[3];
(*(tint_symbol)).data.arr[ubo.dynamic_idx] = 1;
result.out = (*(tint_symbol)).data.arr[3];
}
kernel void f(uint local_invocation_index [[thread_index_in_threadgroup]], constant UBO& ubo [[buffer(0)]], device Result& result [[buffer(1)]]) {
threadgroup S tint_symbol_1;
f_inner(ubo, result, local_invocation_index, &(tint_symbol_1));
return;
}

View File

@@ -48,14 +48,20 @@ struct tint_symbol_2 {
float4 color : SV_Target0;
};
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const FragmentInput fragment = {tint_symbol.position, tint_symbol.view_position, tint_symbol.normal, tint_symbol.uv, tint_symbol.color};
FragmentOutput main_inner(FragmentInput fragment) {
FragmentOutput output = (FragmentOutput)0;
output.color = float4(1.0f, 0.0f, 0.0f, 1.0f);
uniforms;
mySampler;
myTexture;
pointLights;
const tint_symbol_2 tint_symbol_5 = {output.color};
return tint_symbol_5;
return output;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const FragmentInput tint_symbol_5 = {tint_symbol.position, tint_symbol.view_position, tint_symbol.normal, tint_symbol.uv, tint_symbol.color};
const FragmentOutput inner_result = main_inner(tint_symbol_5);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.color = inner_result.color;
return wrapper_result;
}

View File

@@ -25,17 +25,17 @@ struct FragmentInput {
struct FragmentOutput {
float4 color;
};
struct tint_symbol_4 {
struct tint_symbol_3 {
float4 view_position [[user(locn0)]];
float4 normal [[user(locn1)]];
float2 uv [[user(locn2)]];
float4 color [[user(locn3)]];
};
struct tint_symbol_5 {
struct tint_symbol_4 {
float4 color [[color(0)]];
};
float4 getColor(constant Uniforms& uniforms, FragmentInput tint_symbol, texture2d<float, access::sample> tint_symbol_7, sampler tint_symbol_8) {
float4 getColor(constant Uniforms& uniforms, FragmentInput tint_symbol, texture2d<float, access::sample> tint_symbol_6, sampler tint_symbol_7) {
float4 color = 0.0f;
if ((uniforms.color_source == 0u)) {
color = tint_symbol.color;
@@ -48,7 +48,7 @@ float4 getColor(constant Uniforms& uniforms, FragmentInput tint_symbol, texture2
color = uniforms.color;
} else {
if ((uniforms.color_source == 3u)) {
color = tint_symbol_7.sample(tint_symbol_8, tint_symbol.uv);
color = tint_symbol_6.sample(tint_symbol_7, tint_symbol.uv);
}
}
}
@@ -56,15 +56,21 @@ float4 getColor(constant Uniforms& uniforms, FragmentInput tint_symbol, texture2
return color;
}
fragment tint_symbol_5 tint_symbol_1(sampler tint_symbol_9 [[sampler(2)]], texture2d<float, access::sample> tint_symbol_10 [[texture(3)]], float4 tint_symbol_3 [[position]], tint_symbol_4 tint_symbol_2 [[stage_in]], constant Uniforms& uniforms [[buffer(0)]], const device PointLights& pointLights [[buffer(1)]]) {
FragmentInput const tint_symbol = {.position=tint_symbol_3, .view_position=tint_symbol_2.view_position, .normal=tint_symbol_2.normal, .uv=tint_symbol_2.uv, .color=tint_symbol_2.color};
FragmentOutput tint_symbol_1_inner(constant Uniforms& uniforms, const device PointLights& pointLights, FragmentInput tint_symbol, sampler tint_symbol_8, texture2d<float, access::sample> tint_symbol_9) {
FragmentOutput output = {};
output.color = float4(1.0f, 0.0f, 0.0f, 1.0f);
(void) uniforms;
(void) tint_symbol_8;
(void) tint_symbol_9;
(void) tint_symbol_10;
(void) pointLights;
tint_symbol_5 const tint_symbol_6 = {.color=output.color};
return tint_symbol_6;
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)]]) {
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 = {};
wrapper_result.color = inner_result.color;
return wrapper_result;
}

12
test/bug/tint/1076.wgsl Normal file
View File

@@ -0,0 +1,12 @@
struct FragIn {
[[location(0)]] a : f32;
[[builtin(sample_mask)]] mask : u32;
};
[[stage(fragment)]]
fn main(in : FragIn, [[location(1)]] b : f32) -> FragIn {
if (in.mask == 0u) {
return in;
}
return FragIn(b, 1u);
}

View File

@@ -0,0 +1,30 @@
struct FragIn {
float a;
uint mask;
};
struct tint_symbol_2 {
float a : TEXCOORD0;
float b : TEXCOORD1;
uint mask : SV_Coverage;
};
struct tint_symbol_3 {
float a : SV_Target0;
uint mask : SV_Coverage;
};
FragIn main_inner(FragIn tint_symbol, float b) {
if ((tint_symbol.mask == 0u)) {
return tint_symbol;
}
const FragIn tint_symbol_4 = {b, 1u};
return tint_symbol_4;
}
tint_symbol_3 main(tint_symbol_2 tint_symbol_1) {
const FragIn tint_symbol_5 = {tint_symbol_1.a, tint_symbol_1.mask};
const FragIn inner_result = main_inner(tint_symbol_5, tint_symbol_1.b);
tint_symbol_3 wrapper_result = (tint_symbol_3)0;
wrapper_result.a = inner_result.a;
wrapper_result.mask = inner_result.mask;
return wrapper_result;
}

View File

@@ -0,0 +1,33 @@
#include <metal_stdlib>
using namespace metal;
struct FragIn {
float a;
uint mask;
};
struct tint_symbol_2 {
float a [[user(locn0)]];
float b [[user(locn1)]];
};
struct tint_symbol_3 {
float a [[color(0)]];
uint mask [[sample_mask]];
};
FragIn tint_symbol_inner(FragIn in, float b) {
if ((in.mask == 0u)) {
return in;
}
FragIn const tint_symbol_4 = {.a=b, .mask=1u};
return tint_symbol_4;
}
fragment tint_symbol_3 tint_symbol(uint mask [[sample_mask]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
FragIn const tint_symbol_5 = {.a=tint_symbol_1.a, .mask=mask};
FragIn const inner_result = tint_symbol_inner(tint_symbol_5, tint_symbol_1.b);
tint_symbol_3 wrapper_result = {};
wrapper_result.a = inner_result.a;
wrapper_result.mask = inner_result.mask;
return wrapper_result;
}

View File

@@ -0,0 +1,82 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_1 %tint_symbol_5 %tint_symbol_6 %tint_symbol_3
OpExecutionMode %main OriginUpperLeft
OpName %tint_symbol "tint_symbol"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %tint_symbol_3 "tint_symbol_3"
OpName %tint_symbol_5 "tint_symbol_5"
OpName %tint_symbol_6 "tint_symbol_6"
OpName %FragIn "FragIn"
OpMemberName %FragIn 0 "a"
OpMemberName %FragIn 1 "mask"
OpName %tint_symbol_7 "tint_symbol_7"
OpName %tint_symbol_4 "tint_symbol_4"
OpName %main "main"
OpDecorate %tint_symbol Location 0
OpDecorate %_arr_uint_uint_1 ArrayStride 4
OpDecorate %tint_symbol_1 BuiltIn SampleMask
OpDecorate %tint_symbol_3 Location 1
OpDecorate %tint_symbol_5 Location 0
OpDecorate %tint_symbol_6 BuiltIn SampleMask
OpMemberDecorate %FragIn 0 Offset 0
OpMemberDecorate %FragIn 1 Offset 4
%float = OpTypeFloat 32
%_ptr_Input_float = OpTypePointer Input %float
%tint_symbol = OpVariable %_ptr_Input_float Input
%uint = OpTypeInt 32 0
%uint_1 = OpConstant %uint 1
%_arr_uint_uint_1 = OpTypeArray %uint %uint_1
%_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1
%tint_symbol_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
%tint_symbol_3 = OpVariable %_ptr_Input_float Input
%_ptr_Output_float = OpTypePointer Output %float
%12 = OpConstantNull %float
%tint_symbol_5 = OpVariable %_ptr_Output_float Output %12
%_ptr_Output__arr_uint_uint_1 = OpTypePointer Output %_arr_uint_uint_1
%15 = OpConstantNull %_arr_uint_uint_1
%tint_symbol_6 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %15
%void = OpTypeVoid
%FragIn = OpTypeStruct %float %uint
%16 = OpTypeFunction %void %FragIn
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%_ptr_Output_uint = OpTypePointer Output %uint
%28 = OpTypeFunction %void
%_ptr_Input_uint = OpTypePointer Input %uint
%uint_0 = OpConstant %uint 0
%bool = OpTypeBool
%tint_symbol_7 = OpFunction %void None %16
%tint_symbol_4 = OpFunctionParameter %FragIn
%21 = OpLabel
%22 = OpCompositeExtract %float %tint_symbol_4 0
OpStore %tint_symbol_5 %22
%26 = OpAccessChain %_ptr_Output_uint %tint_symbol_6 %int_0
%27 = OpCompositeExtract %uint %tint_symbol_4 1
OpStore %26 %27
OpReturn
OpFunctionEnd
%main = OpFunction %void None %28
%30 = OpLabel
%31 = OpLoad %float %tint_symbol
%33 = OpAccessChain %_ptr_Input_uint %tint_symbol_1 %int_0
%34 = OpLoad %uint %33
%35 = OpCompositeConstruct %FragIn %31 %34
%36 = OpCompositeExtract %uint %35 1
%38 = OpIEqual %bool %36 %uint_0
OpSelectionMerge %40 None
OpBranchConditional %38 %41 %40
%41 = OpLabel
%42 = OpFunctionCall %void %tint_symbol_7 %35
OpReturn
%40 = OpLabel
%44 = OpLoad %float %tint_symbol_3
%45 = OpCompositeConstruct %FragIn %44 %uint_1
%43 = OpFunctionCall %void %tint_symbol_7 %45
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,14 @@
struct FragIn {
[[location(0)]]
a : f32;
[[builtin(sample_mask)]]
mask : u32;
};
[[stage(fragment)]]
fn main(in : FragIn, [[location(1)]] b : f32) -> FragIn {
if ((in.mask == 0u)) {
return in;
}
return FragIn(b, 1u);
}

View File

@@ -2,9 +2,15 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol main() {
float4 main_inner() {
float3 light = float3(1.200000048f, 1.0f, 2.0f);
float3 negative_light = -(light);
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol main() {
const float4 inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}

View File

@@ -5,10 +5,16 @@ struct tint_symbol_1 {
float4 value [[position]];
};
vertex tint_symbol_1 tint_symbol() {
float4 tint_symbol_inner() {
float3 light = float3(1.200000048f, 1.0f, 2.0f);
float3 negative_light = -(light);
tint_symbol_1 const tint_symbol_2 = {.value=float4()};
return tint_symbol_2;
return float4();
}
vertex tint_symbol_1 tint_symbol() {
float4 const inner_result = tint_symbol_inner();
tint_symbol_1 wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}

View File

@@ -28,8 +28,7 @@ float2x2 tint_symbol_5(uint4 buffer[1], uint offset) {
return float2x2(asfloat(((scalar_offset_2 & 2) ? ubo_load_2.zw : ubo_load_2.xy)), asfloat(((scalar_offset_3 & 2) ? ubo_load_3.zw : ubo_load_3.xy)));
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const uint gl_VertexIndex = tint_symbol.gl_VertexIndex;
float4 main_inner(uint gl_VertexIndex) {
float2 indexable[3] = (float2[3])0;
const float2x2 x_23 = tint_symbol_3(x_20, 0u);
const float2x2 x_28 = tint_symbol_5(x_26, 0u);
@@ -38,6 +37,12 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
indexable = tint_symbol_7;
const float2 x_51 = indexable[x_46];
const float2 x_52 = mul(x_51, float2x2((x_23[0u] + x_28[0u]), (x_23[1u] + x_28[1u])));
const tint_symbol_2 tint_symbol_8 = {float4(x_52.x, x_52.y, 0.0f, 1.0f)};
return tint_symbol_8;
return float4(x_52.x, x_52.y, 0.0f, 1.0f);
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const float4 inner_result = main_inner(tint_symbol.gl_VertexIndex);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.value = inner_result;
return wrapper_result;
}

View File

@@ -17,9 +17,7 @@ struct tint_symbol_2 {
uint3 GlobalInvocationID : SV_DispatchThreadID;
};
[numthreads(1, 1, 1)]
void main(tint_symbol_2 tint_symbol_1) {
const uint3 GlobalInvocationID = tint_symbol_1.GlobalInvocationID;
void main_inner(uint3 GlobalInvocationID) {
int2 tint_tmp;
src.GetDimensions(tint_tmp.x, tint_tmp.y);
int2 size = tint_tmp;
@@ -49,5 +47,10 @@ void main(tint_symbol_2 tint_symbol_1) {
} else {
output.Store((4u * outputIndex), asuint(uint(0)));
}
}
[numthreads(1, 1, 1)]
void main(tint_symbol_2 tint_symbol_1) {
main_inner(tint_symbol_1.GlobalInvocationID);
return;
}

View File

@@ -15,15 +15,15 @@ uint ConvertToFp16FloatValue(float fp32) {
return 1u;
}
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], texture2d<float, access::sample> tint_symbol_3 [[texture(1)]], uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(3)]], device OutputBuf& output [[buffer(2)]]) {
int2 size = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
void tint_symbol_inner(constant Uniforms& uniforms, device OutputBuf& output, uint3 GlobalInvocationID, texture2d<float, access::sample> tint_symbol_1, texture2d<float, access::sample> tint_symbol_2) {
int2 size = int2(tint_symbol_1.get_width(), tint_symbol_1.get_height());
int2 dstTexCoord = int2(GlobalInvocationID.xy);
int2 srcTexCoord = dstTexCoord;
if ((uniforms.dstTextureFlipY == 1u)) {
srcTexCoord.y = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(size.y) - as_type<uint>(dstTexCoord.y)))) - as_type<uint>(1)));
}
float4 srcColor = tint_symbol_2.read(uint2(srcTexCoord), 0);
float4 dstColor = tint_symbol_3.read(uint2(dstTexCoord), 0);
float4 srcColor = tint_symbol_1.read(uint2(srcTexCoord), 0);
float4 dstColor = tint_symbol_2.read(uint2(dstTexCoord), 0);
bool success = true;
uint4 srcColorBits = 0u;
uint4 dstColorBits = uint4(dstColor);
@@ -37,6 +37,10 @@ kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_2 [[texture
} else {
output.result[outputIndex] = uint(0);
}
}
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)]]) {
tint_symbol_inner(uniforms, output, GlobalInvocationID, tint_symbol_3, tint_symbol_4);
return;
}

View File

@@ -9,9 +9,7 @@ struct tint_symbol_1 {
uint3 global_id : SV_DispatchThreadID;
};
[numthreads(2, 2, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 global_id = tint_symbol.global_id;
void main_inner(uint3 global_id) {
const uint2 resultCell = uint2(global_id.y, global_id.x);
const uint dimInner = uniforms[0].y;
const uint dimOutter = uniforms[1].y;
@@ -25,5 +23,10 @@ void main(tint_symbol_1 tint_symbol) {
}
const uint index = (resultCell.y + (resultCell.x * dimOutter));
resultMatrix.Store((4u * index), asuint(result));
}
[numthreads(2, 2, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.global_id);
return;
}

View File

@@ -10,7 +10,7 @@ struct Matrix {
/* 0x0000 */ uint numbers[1];
};
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)]]) {
void tint_symbol_inner(constant Uniforms& uniforms, const device Matrix& firstMatrix, const device Matrix& secondMatrix, device Matrix& resultMatrix, uint3 global_id) {
uint2 const resultCell = uint2(global_id.y, global_id.x);
uint const dimInner = uniforms.aShape.y;
uint const dimOutter = uniforms.outShape.y;
@@ -22,6 +22,10 @@ kernel void tint_symbol(uint3 global_id [[thread_position_in_grid]], constant Un
}
uint const index = (resultCell.y + (resultCell.x * dimOutter));
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)]]) {
tint_symbol_inner(uniforms, firstMatrix, secondMatrix, resultMatrix, global_id);
return;
}

View File

@@ -57,18 +57,18 @@ void swap_i1_i1_(inout int i, inout int j) {
const int x_34_save = x_33;
const int x_35 = obj.numbers[x_34_save];
const QuicksortObject x_943 = obj;
const int tint_symbol_5[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_6 = {tint_symbol_5};
obj = tint_symbol_6;
const int tint_symbol_4[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_5 = {tint_symbol_4};
obj = tint_symbol_5;
obj = x_943;
const float2 x_527 = float2(x_526.x, x_526.x);
const int x_36_save = x_32;
const float3 x_528 = float3(x_524.x, x_524.z, x_524.x);
obj.numbers[x_36_save] = x_35;
const QuicksortObject x_944 = obj;
const int tint_symbol_7[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_8 = {tint_symbol_7};
obj = tint_symbol_8;
const int tint_symbol_6[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_7 = {tint_symbol_6};
obj = tint_symbol_7;
obj = x_944;
const float3 x_529 = float3(x_526.y, x_526.z, x_526.x);
const int x_945 = i;
@@ -91,9 +91,9 @@ void swap_i1_i1_(inout int i, inout int j) {
obj.numbers[x_36_save] = 0;
obj.numbers[x_36_save] = x_949;
const QuicksortObject x_950 = obj;
const int tint_symbol_9[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_10 = {tint_symbol_9};
obj = tint_symbol_10;
const int tint_symbol_8[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_9 = {tint_symbol_8};
obj = tint_symbol_9;
obj = x_950;
const float3 x_532 = float3(x_528.x, x_528.y, x_528.x);
const int x_951 = obj.numbers[x_34_save];
@@ -149,9 +149,9 @@ int performPartition_i1_i1_(inout int l, inout int h) {
const float3 x_536 = float3(x_534.x, x_534.z, x_535.x);
j_1 = 10;
const QuicksortObject x_960 = obj;
const int tint_symbol_11[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_12 = {tint_symbol_11};
obj = tint_symbol_12;
const int tint_symbol_10[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_11 = {tint_symbol_10};
obj = tint_symbol_11;
obj = x_960;
while (true) {
const int x_961 = pivot;
@@ -166,9 +166,9 @@ int performPartition_i1_i1_(inout int l, inout int h) {
pivot = x_963;
x_537 = float2(float3(1.0f, 2.0f, 3.0f).y, float3(1.0f, 2.0f, 3.0f).z);
const QuicksortObject x_964 = obj;
const int tint_symbol_13[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_14 = {tint_symbol_13};
obj = tint_symbol_14;
const int tint_symbol_12[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_13 = {tint_symbol_12};
obj = tint_symbol_13;
obj = x_964;
const int x_56 = h;
const int x_965 = h;
@@ -202,9 +202,9 @@ int performPartition_i1_i1_(inout int l, inout int h) {
param_1 = x_971;
const int x_62 = obj.numbers[x_61_save];
const QuicksortObject x_972 = obj;
const int tint_symbol_15[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_16 = {tint_symbol_15};
obj = tint_symbol_16;
const int tint_symbol_14[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_15 = {tint_symbol_14};
obj = tint_symbol_15;
obj = x_972;
const int x_63 = pivot;
const float2 x_540 = float2(float3(1.0f, 2.0f, 3.0f).y, x_534.z);
@@ -262,9 +262,9 @@ int performPartition_i1_i1_(inout int l, inout int h) {
param_1 = x_985;
}
const QuicksortObject x_986 = obj;
const int tint_symbol_17[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_18 = {tint_symbol_17};
obj = tint_symbol_18;
const int tint_symbol_16[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_17 = {tint_symbol_16};
obj = tint_symbol_17;
obj = x_986;
{
const int x_987 = h;
@@ -297,9 +297,9 @@ int performPartition_i1_i1_(inout int l, inout int h) {
obj.numbers[x_42_save] = x_993;
const float2 x_549 = float2(x_534.x, x_534.y);
const QuicksortObject x_994 = obj;
const int tint_symbol_19[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_20 = {tint_symbol_19};
obj = tint_symbol_20;
const int tint_symbol_18[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_19 = {tint_symbol_18};
obj = tint_symbol_19;
obj = x_994;
const int x_995 = h;
h = 0;
@@ -367,8 +367,8 @@ void quicksort_() {
param_5 = x_1007;
h_1 = 9;
const int x_1008[10] = stack;
const int tint_symbol_21[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_21;
const int tint_symbol_20[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_20;
stack = x_1008;
const float2 x_556 = float2(float3(1.0f, 2.0f, 3.0f).y, float3(1.0f, 2.0f, 3.0f).y);
const int x_1009 = param_5;
@@ -401,15 +401,15 @@ void quicksort_() {
param_4 = x_1015;
const int x_95 = l_1;
const QuicksortObject x_1016 = obj;
const int tint_symbol_22[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_23 = {tint_symbol_22};
obj = tint_symbol_23;
const int tint_symbol_21[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_22 = {tint_symbol_21};
obj = tint_symbol_22;
obj = x_1016;
const float3 x_560 = float3(x_559.y, x_559.x, x_557.x);
const int x_96_save = x_94;
const int x_1017[10] = stack;
const int tint_symbol_24[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_24;
const int tint_symbol_23[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_23;
stack = x_1017;
const float3 x_561 = float3(x_556.y, x_556.y, x_556.y);
const int x_1018 = l_1;
@@ -459,13 +459,13 @@ void quicksort_() {
h_1 = 0;
h_1 = x_1028;
const int x_1029[10] = stack;
const int tint_symbol_25[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_25;
const int tint_symbol_24[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_24;
stack = x_1029;
const int x_106 = top;
const int x_1030[10] = stack;
const int tint_symbol_26[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_26;
const int tint_symbol_25[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_25;
stack = x_1030;
const float2 x_567 = float2(x_558.x, x_564.z);
const int x_1031 = param_4;
@@ -476,9 +476,9 @@ void quicksort_() {
break;
}
const QuicksortObject x_1032 = obj;
const int tint_symbol_27[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_28 = {tint_symbol_27};
obj = tint_symbol_28;
const int tint_symbol_26[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_27 = {tint_symbol_26};
obj = tint_symbol_27;
obj = x_1032;
const float3 x_568 = float3(x_559.y, x_559.x, x_563.y);
const int x_1033 = param_4;
@@ -503,8 +503,8 @@ void quicksort_() {
stack[x_96_save] = x_1037;
const int x_111 = stack[x_110_save];
const int x_1038[10] = stack;
const int tint_symbol_29[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_29;
const int tint_symbol_28[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_28;
stack = x_1038;
const float3 x_571 = float3(x_559.y, x_559.x, x_564.y);
const int x_1039 = l_1;
@@ -512,8 +512,8 @@ void quicksort_() {
l_1 = x_1039;
h_1 = x_111;
const int x_1040[10] = stack;
const int tint_symbol_30[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_30;
const int tint_symbol_29[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_29;
stack = x_1040;
const float2 x_572 = float2(x_562.y, x_561.y);
const int x_1041 = p;
@@ -604,8 +604,8 @@ void quicksort_() {
stack[x_100_save] = 0;
stack[x_100_save] = x_1061;
const int x_1062[10] = stack;
const int tint_symbol_31[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_31;
const int tint_symbol_30[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_30;
stack = x_1062;
const float2 x_584 = float2(x_569.z, x_569.y);
const float3 x_585 = float3(x_580.y, x_577.x, x_577.x);
@@ -644,8 +644,8 @@ void quicksort_() {
h_1 = x_1070;
top = x_133;
const int x_1071[10] = stack;
const int tint_symbol_32[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_32;
const int tint_symbol_31[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_31;
stack = x_1071;
const int x_134 = p;
const float2 x_590 = float2(x_576.x, x_573.y);
@@ -670,9 +670,9 @@ void quicksort_() {
stack[x_96_save] = x_1076;
const float2 x_592 = float2(float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).y);
const QuicksortObject x_1077 = obj;
const int tint_symbol_33[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_34 = {tint_symbol_33};
obj = tint_symbol_34;
const int tint_symbol_32[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_33 = {tint_symbol_32};
obj = tint_symbol_33;
obj = x_1077;
const int x_137 = p;
const int x_1078 = stack[x_114_save];
@@ -737,8 +737,8 @@ void quicksort_() {
const float2 x_601 = float2(x_563.x, x_563.y);
stack[x_147_save] = asint((1u + asuint(x_145)));
const int x_1093[10] = stack;
const int tint_symbol_35[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_35;
const int tint_symbol_34[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_34;
stack = x_1093;
const int x_148 = top;
const int x_1094 = stack[x_114_save];
@@ -746,8 +746,8 @@ void quicksort_() {
stack[x_114_save] = x_1094;
const float2 x_602 = float2(x_565.y, x_599.y);
const int x_1095[10] = stack;
const int tint_symbol_36[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_36;
const int tint_symbol_35[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
stack = tint_symbol_35;
stack = x_1095;
const int x_149 = (x_148 + asint(1u));
const int x_1096 = stack[x_147_save];
@@ -782,9 +782,9 @@ void quicksort_() {
l_1 = x_1103;
const float2 x_604 = float2(x_563.z, x_564.x);
const QuicksortObject x_1104 = obj;
const int tint_symbol_37[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_38 = {tint_symbol_37};
obj = tint_symbol_38;
const int tint_symbol_36[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_37 = {tint_symbol_36};
obj = tint_symbol_37;
obj = x_1104;
}
}
@@ -803,15 +803,15 @@ void main_1() {
uv = x_717;
i_2 = 0;
const QuicksortObject x_721 = obj;
const int tint_symbol_39[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_40 = {tint_symbol_39};
obj = tint_symbol_40;
const int tint_symbol_38[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_39 = {tint_symbol_38};
obj = tint_symbol_39;
obj = x_721;
if (true) {
const QuicksortObject x_722 = obj;
const int tint_symbol_41[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_42 = {tint_symbol_41};
obj = tint_symbol_42;
const int tint_symbol_40[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_41 = {tint_symbol_40};
obj = tint_symbol_41;
obj = x_722;
const float2 x_431 = float2(float3(1.0f, 2.0f, 3.0f).x, float3(1.0f, 2.0f, 3.0f).x);
const int x_158 = i_2;
@@ -823,15 +823,15 @@ void main_1() {
color = x_725;
const float2 x_432 = float2(x_431.y, x_431.y);
const QuicksortObject x_726 = obj;
const int tint_symbol_43[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_44 = {tint_symbol_43};
obj = tint_symbol_44;
const int tint_symbol_42[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_43 = {tint_symbol_42};
obj = tint_symbol_43;
obj = x_726;
}
const QuicksortObject x_756 = obj;
const int tint_symbol_45[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_46 = {tint_symbol_45};
obj = tint_symbol_46;
const int tint_symbol_44[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_45 = {tint_symbol_44};
obj = tint_symbol_45;
obj = x_756;
const float2 x_446 = float2(float2(0.0f, 0.0f).x, float2(0.0f, 0.0f).x);
const int x_757 = i_2;
@@ -839,9 +839,9 @@ void main_1() {
i_2 = x_757;
quicksort_();
const QuicksortObject x_758 = obj;
const int tint_symbol_47[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_48 = {tint_symbol_47};
obj = tint_symbol_48;
const int tint_symbol_46[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_47 = {tint_symbol_46};
obj = tint_symbol_47;
obj = x_758;
const float4 x_184 = gl_FragCoord;
const float2 x_759 = uv;
@@ -854,18 +854,18 @@ void main_1() {
const float2 x_185 = float2(x_184.x, x_184.y);
const float3 x_448 = float3(x_185.y, x_446.y, x_446.y);
const QuicksortObject x_761 = obj;
const int tint_symbol_49[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_50 = {tint_symbol_49};
obj = tint_symbol_50;
const int tint_symbol_48[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_49 = {tint_symbol_48};
obj = tint_symbol_49;
obj = x_761;
const float2 x_762 = uv;
uv = float2(0.0f, 0.0f);
uv = x_762;
const float2 x_191 = asfloat(x_188[0].xy);
const QuicksortObject x_763 = obj;
const int tint_symbol_51[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_52 = {tint_symbol_51};
obj = tint_symbol_52;
const int tint_symbol_50[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_51 = {tint_symbol_50};
obj = tint_symbol_51;
obj = x_763;
const float3 x_449 = float3(x_184.y, float3(1.0f, 2.0f, 3.0f).z, x_184.w);
const float3 x_764 = color;
@@ -873,9 +873,9 @@ void main_1() {
color = x_764;
const float2 x_192 = (x_185 / x_191);
const QuicksortObject x_765 = obj;
const int tint_symbol_53[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_54 = {tint_symbol_53};
obj = tint_symbol_54;
const int tint_symbol_52[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_53 = {tint_symbol_52};
obj = tint_symbol_53;
obj = x_765;
const float2 x_450 = float2(x_447.x, x_185.y);
const float3 x_766 = color;
@@ -891,18 +891,18 @@ void main_1() {
color = x_768;
const float3 x_451 = float3(x_185.x, x_185.y, x_446.y);
const QuicksortObject x_769 = obj;
const int tint_symbol_55[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_56 = {tint_symbol_55};
obj = tint_symbol_56;
const int tint_symbol_54[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_55 = {tint_symbol_54};
obj = tint_symbol_55;
obj = x_769;
const int x_770 = obj.numbers[0u];
obj.numbers[0u] = 0;
obj.numbers[0u] = x_770;
const int x_201 = obj.numbers[0u];
const QuicksortObject x_771 = obj;
const int tint_symbol_57[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_58 = {tint_symbol_57};
obj = tint_symbol_58;
const int tint_symbol_56[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_57 = {tint_symbol_56};
obj = tint_symbol_57;
obj = x_771;
const int x_772 = obj.numbers[0u];
obj.numbers[0u] = 0;
@@ -916,9 +916,9 @@ void main_1() {
i_2 = 0;
i_2 = x_774;
const QuicksortObject x_775 = obj;
const int tint_symbol_59[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_60 = {tint_symbol_59};
obj = tint_symbol_60;
const int tint_symbol_58[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_59 = {tint_symbol_58};
obj = tint_symbol_59;
obj = x_775;
const float3 x_453 = float3(x_451.x, x_450.x, x_450.y);
color.x = (x_206 + float(x_201));
@@ -935,9 +935,9 @@ void main_1() {
uv.x = 0.0f;
uv.x = x_778;
const QuicksortObject x_779 = obj;
const int tint_symbol_61[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_62 = {tint_symbol_61};
obj = tint_symbol_62;
const int tint_symbol_60[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_61 = {tint_symbol_60};
obj = tint_symbol_61;
obj = x_779;
if ((x_210 > 0.25f)) {
const int x_780 = i_2;
@@ -952,18 +952,18 @@ void main_1() {
uv.x = x_782;
const int x_216 = obj.numbers[1];
const QuicksortObject x_783 = obj;
const int tint_symbol_63[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_64 = {tint_symbol_63};
obj = tint_symbol_64;
const int tint_symbol_62[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_63 = {tint_symbol_62};
obj = tint_symbol_63;
obj = x_783;
const float2 x_457 = float2(x_454.x, x_454.x);
const float2 x_784 = uv;
uv = float2(0.0f, 0.0f);
uv = x_784;
const QuicksortObject x_785 = obj;
const int tint_symbol_65[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_66 = {tint_symbol_65};
obj = tint_symbol_66;
const int tint_symbol_64[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_65 = {tint_symbol_64};
obj = tint_symbol_65;
obj = x_785;
const float2 x_458 = float2(float3(1.0f, 2.0f, 3.0f).z, float2(0.0f, 0.0f).y);
const int x_786 = i_2;
@@ -1081,9 +1081,9 @@ void main_1() {
color.x = 0.0f;
color.x = x_816;
const QuicksortObject x_817 = obj;
const int tint_symbol_67[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_68 = {tint_symbol_67};
obj = tint_symbol_68;
const int tint_symbol_66[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_67 = {tint_symbol_66};
obj = tint_symbol_67;
obj = x_817;
const float3 x_468 = float3(x_467.x, x_467.x, x_467.x);
const float x_818 = uv[0];
@@ -1192,9 +1192,9 @@ void main_1() {
uv[0] = x_844;
const float3 x_482 = float3(x_455.x, x_475.y, x_455.y);
const QuicksortObject x_845 = obj;
const int tint_symbol_69[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_70 = {tint_symbol_69};
obj = tint_symbol_70;
const int tint_symbol_68[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_69 = {tint_symbol_68};
obj = tint_symbol_69;
obj = x_845;
const float x_846 = uv.y;
uv.y = 0.0f;
@@ -1265,9 +1265,9 @@ void main_1() {
obj.numbers[6u] = x_863;
const float2 x_490 = float2(x_480.z, x_480.z);
const QuicksortObject x_864 = obj;
const int tint_symbol_71[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_72 = {tint_symbol_71};
obj = tint_symbol_72;
const int tint_symbol_70[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_71 = {tint_symbol_70};
obj = tint_symbol_71;
obj = x_864;
color.y = (float(x_280) + x_283);
const float x_865 = color.x;
@@ -1284,9 +1284,9 @@ void main_1() {
color.x = x_867;
const float x_287 = uv.y;
const QuicksortObject x_868 = obj;
const int tint_symbol_73[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_74 = {tint_symbol_73};
obj = tint_symbol_74;
const int tint_symbol_72[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_73 = {tint_symbol_72};
obj = tint_symbol_73;
obj = x_868;
const float2 x_493 = float2(x_475.x, x_475.y);
const float x_869 = uv[0];
@@ -1446,9 +1446,9 @@ void main_1() {
uv.x = 0.0f;
uv.x = x_910;
const QuicksortObject x_911 = obj;
const int tint_symbol_75[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_76 = {tint_symbol_75};
obj = tint_symbol_76;
const int tint_symbol_74[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_75 = {tint_symbol_74};
obj = tint_symbol_75;
obj = x_911;
const float3 x_513 = float3(x_505.z, x_505.x, x_448.x);
const int x_912 = obj.numbers[8];
@@ -1500,14 +1500,14 @@ void main_1() {
uv.x = 0.0f;
uv.x = x_923;
const QuicksortObject x_924 = obj;
const int tint_symbol_77[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_78 = {tint_symbol_77};
obj = tint_symbol_78;
const int tint_symbol_76[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_77 = {tint_symbol_76};
obj = tint_symbol_77;
obj = x_924;
const QuicksortObject x_925 = obj;
const int tint_symbol_79[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_80 = {tint_symbol_79};
obj = tint_symbol_80;
const int tint_symbol_78[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_79 = {tint_symbol_78};
obj = tint_symbol_79;
obj = x_925;
const float x_926 = color.y;
color.y = 0.0f;
@@ -1526,9 +1526,9 @@ void main_1() {
uv.x = x_929;
x_GLF_color = x_330;
const QuicksortObject x_930 = obj;
const int tint_symbol_81[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_82 = {tint_symbol_81};
obj = tint_symbol_82;
const int tint_symbol_80[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const QuicksortObject tint_symbol_81 = {tint_symbol_80};
obj = tint_symbol_81;
obj = x_930;
const float3 x_522 = float3(x_330.w, x_330.y, x_493.x);
const float x_931 = color.x;
@@ -1547,11 +1547,16 @@ struct tint_symbol_2 {
float4 x_GLF_color_1 : SV_Target0;
};
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const float4 gl_FragCoord_param = tint_symbol.gl_FragCoord_param;
main_out main_inner(float4 gl_FragCoord_param) {
gl_FragCoord = gl_FragCoord_param;
main_1();
const main_out tint_symbol_3 = {x_GLF_color};
const tint_symbol_2 tint_symbol_83 = {tint_symbol_3.x_GLF_color_1};
return tint_symbol_83;
const main_out tint_symbol_82 = {x_GLF_color};
return tint_symbol_82;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

File diff suppressed because it is too large Load Diff

View File

@@ -9,9 +9,7 @@ struct tint_symbol_1 {
uint3 GlobalInvocationID : SV_DispatchThreadID;
};
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 GlobalInvocationID = tint_symbol.GlobalInvocationID;
void main_inner(uint3 GlobalInvocationID) {
uint flatIndex = ((((2u * 2u) * GlobalInvocationID.z) + (2u * GlobalInvocationID.y)) + GlobalInvocationID.x);
flatIndex = (flatIndex * 1u);
float4 texel = myTexture.Load(int4(int3(int2(GlobalInvocationID.xy), 0), 0));
@@ -20,5 +18,10 @@ void main(tint_symbol_1 tint_symbol) {
result.Store((4u * (flatIndex + i)), asuint(texel.r));
}
}
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.GlobalInvocationID);
return;
}

View File

@@ -8,13 +8,17 @@ struct Result {
/* 0x0000 */ float values[1];
};
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)]]) {
void tint_symbol_inner(device Result& result, uint3 GlobalInvocationID, texture2d_array<float, access::sample> tint_symbol_1) {
uint flatIndex = ((((2u * 2u) * GlobalInvocationID.z) + (2u * GlobalInvocationID.y)) + GlobalInvocationID.x);
flatIndex = (flatIndex * 1u);
float4 texel = tint_symbol_2.read(uint2(int2(GlobalInvocationID.xy)), 0, 0);
float4 texel = tint_symbol_1.read(uint2(int2(GlobalInvocationID.xy)), 0, 0);
for(uint i = 0u; (i < 1u); i = (i + 1u)) {
result.values[(flatIndex + i)] = texel.r;
}
}
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)]]) {
tint_symbol_inner(result, GlobalInvocationID, tint_symbol_2);
return;
}

View File

@@ -11,15 +11,20 @@ struct tint_symbol_2 {
float4 Position : SV_Position;
};
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const uint VertexIndex = tint_symbol.VertexIndex;
const uint InstanceIndex = tint_symbol.InstanceIndex;
Output main_inner(uint VertexIndex, uint InstanceIndex) {
float2 zv[4] = {float2(0.200000003f, 0.200000003f), float2(0.300000012f, 0.300000012f), float2(-0.100000001f, -0.100000001f), float2(1.100000024f, 1.100000024f)};
const float z = zv[InstanceIndex].x;
Output output = (Output)0;
output.Position = float4(0.5f, 0.5f, z, 1.0f);
float4 colors[4] = {float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), float4(1.0f, 1.0f, 1.0f, 1.0f)};
output.color = colors[InstanceIndex];
const tint_symbol_2 tint_symbol_3 = {output.color, output.Position};
return tint_symbol_3;
return output;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const Output inner_result = main_inner(tint_symbol.VertexIndex, tint_symbol.InstanceIndex);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.Position = inner_result.Position;
wrapper_result.color = inner_result.color;
return wrapper_result;
}

View File

@@ -5,7 +5,7 @@ struct Output {
float4 Position;
float4 color;
};
struct tint_symbol_2 {
struct tint_symbol_1 {
float4 color [[user(locn0)]];
float4 Position [[position]];
};
@@ -16,14 +16,21 @@ struct tint_array_wrapper_1 {
float4 arr[4];
};
vertex tint_symbol_2 tint_symbol(uint VertexIndex [[vertex_id]], uint InstanceIndex [[instance_id]]) {
Output tint_symbol_inner(uint VertexIndex, uint InstanceIndex) {
tint_array_wrapper zv = {.arr={float2(0.200000003f, 0.200000003f), float2(0.300000012f, 0.300000012f), float2(-0.100000001f, -0.100000001f), float2(1.100000024f, 1.100000024f)}};
float const z = zv.arr[InstanceIndex].x;
Output output = {};
output.Position = float4(0.5f, 0.5f, z, 1.0f);
tint_array_wrapper_1 colors = {.arr={float4(1.0f, 0.0f, 0.0f, 1.0f), float4(0.0f, 1.0f, 0.0f, 1.0f), float4(0.0f, 0.0f, 1.0f, 1.0f), float4(1.0f, 1.0f, 1.0f, 1.0f)}};
output.color = colors.arr[InstanceIndex];
tint_symbol_2 const tint_symbol_3 = {.color=output.color, .Position=output.Position};
return tint_symbol_3;
return output;
}
vertex tint_symbol_1 tint_symbol(uint VertexIndex [[vertex_id]], uint InstanceIndex [[instance_id]]) {
Output const inner_result = tint_symbol_inner(VertexIndex, InstanceIndex);
tint_symbol_1 wrapper_result = {};
wrapper_result.Position = inner_result.Position;
wrapper_result.color = inner_result.color;
return wrapper_result;
}

View File

@@ -6,9 +6,12 @@ struct tint_symbol_1 {
uint3 GlobalInvocationId : SV_DispatchThreadID;
};
void main_inner(uint3 GlobalInvocationId) {
result.Store((4u * ((GlobalInvocationId.y * width) + GlobalInvocationId.x)), asuint(tex.Load(int3(int(GlobalInvocationId.x), int(GlobalInvocationId.y), 0)).x));
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 GlobalInvocationId = tint_symbol.GlobalInvocationId;
result.Store((4u * ((GlobalInvocationId.y * width) + GlobalInvocationId.x)), asuint(tex.Load(int3(int(GlobalInvocationId.x), int(GlobalInvocationId.y), 0)).x));
main_inner(tint_symbol.GlobalInvocationId);
return;
}

View File

@@ -6,8 +6,12 @@ struct Result {
};
constant uint width = 128u;
void tint_symbol_inner(device Result& result, uint3 GlobalInvocationId, depth2d<float, access::sample> tint_symbol_1) {
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)]]) {
result.values[((GlobalInvocationId.y * width) + GlobalInvocationId.x)] = tint_symbol_2.read(uint2(int2(int(GlobalInvocationId.x), int(GlobalInvocationId.y))), 0);
tint_symbol_inner(result, GlobalInvocationId, tint_symbol_2);
return;
}

View File

@@ -13,9 +13,7 @@ struct tint_symbol_2 {
uint3 GlobalInvocationID : SV_DispatchThreadID;
};
[numthreads(1, 1, 1)]
void main(tint_symbol_2 tint_symbol_1) {
const uint3 GlobalInvocationID = tint_symbol_1.GlobalInvocationID;
void main_inner(uint3 GlobalInvocationID) {
int2 tint_tmp;
src.GetDimensions(tint_tmp.x, tint_tmp.y);
const int2 srcSize = tint_tmp;
@@ -86,5 +84,10 @@ void main(tint_symbol_2 tint_symbol_1) {
} else {
output.Store((4u * outputIndex), asuint(0u));
}
}
[numthreads(1, 1, 1)]
void main(tint_symbol_2 tint_symbol_1) {
main_inner(tint_symbol_1.GlobalInvocationID);
return;
}

View File

@@ -16,21 +16,21 @@ bool aboutEqual(float value, float expect) {
return (fabs((value - expect)) < 0.001f);
}
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_2 [[texture(0)]], texture2d<float, access::sample> tint_symbol_3 [[texture(1)]], uint3 GlobalInvocationID [[thread_position_in_grid]], constant Uniforms& uniforms [[buffer(3)]], device OutputBuf& output [[buffer(2)]]) {
int2 const srcSize = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
int2 const dstSize = int2(tint_symbol_3.get_width(), tint_symbol_3.get_height());
void tint_symbol_inner(constant Uniforms& uniforms, device OutputBuf& output, uint3 GlobalInvocationID, texture2d<float, access::sample> tint_symbol_1, texture2d<float, access::sample> tint_symbol_2) {
int2 const srcSize = int2(tint_symbol_1.get_width(), tint_symbol_1.get_height());
int2 const dstSize = int2(tint_symbol_2.get_width(), tint_symbol_2.get_height());
uint2 const dstTexCoord = uint2(GlobalInvocationID.xy);
float4 const nonCoveredColor = float4(0.0f, 1.0f, 0.0f, 1.0f);
bool success = true;
if (((((dstTexCoord.x < uniforms.dstCopyOrigin.x) || (dstTexCoord.y < uniforms.dstCopyOrigin.y)) || (dstTexCoord.x >= (uniforms.dstCopyOrigin.x + uniforms.copySize.x))) || (dstTexCoord.y >= (uniforms.dstCopyOrigin.y + uniforms.copySize.y)))) {
success = (success && all((tint_symbol_3.read(uint2(int2(dstTexCoord)), 0) == nonCoveredColor)));
success = (success && all((tint_symbol_2.read(uint2(int2(dstTexCoord)), 0) == nonCoveredColor)));
} else {
uint2 srcTexCoord = ((dstTexCoord - uniforms.dstCopyOrigin) + uniforms.srcCopyOrigin);
if ((uniforms.dstTextureFlipY == 1u)) {
srcTexCoord.y = ((uint(srcSize.y) - srcTexCoord.y) - 1u);
}
float4 const srcColor = tint_symbol_2.read(uint2(int2(srcTexCoord)), 0);
float4 const dstColor = tint_symbol_3.read(uint2(int2(dstTexCoord)), 0);
float4 const srcColor = tint_symbol_1.read(uint2(int2(srcTexCoord)), 0);
float4 const dstColor = tint_symbol_2.read(uint2(int2(dstTexCoord)), 0);
if ((uniforms.channelCount == 2u)) {
success = ((success && aboutEqual(dstColor.r, srcColor.r)) && aboutEqual(dstColor.g, srcColor.g));
} else {
@@ -43,6 +43,10 @@ kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_2 [[texture
} else {
output.result[outputIndex] = 0u;
}
}
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)]]) {
tint_symbol_inner(uniforms, output, GlobalInvocationID, tint_symbol_3, tint_symbol_4);
return;
}

View File

@@ -54,11 +54,7 @@ struct tint_symbol_1 {
uint3 global_id : SV_DispatchThreadID;
};
[numthreads(16, 16, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 local_id = tint_symbol.local_id;
const uint3 global_id = tint_symbol.global_id;
const uint local_invocation_index = tint_symbol.local_invocation_index;
void main_inner(uint3 local_id, uint3 global_id, uint local_invocation_index) {
{
for(uint idx = local_invocation_index; (idx < 4096u); idx = (idx + 256u)) {
const uint i = (idx / 64u);
@@ -143,5 +139,10 @@ void main(tint_symbol_1 tint_symbol) {
}
}
}
}
[numthreads(16, 16, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.local_id, tint_symbol.global_id, tint_symbol.local_invocation_index);
return;
}

View File

@@ -50,14 +50,12 @@ void mm_write(constant Uniforms& uniforms, device Matrix& resultMatrix, uint row
}
}
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)]]) {
threadgroup tint_array_wrapper tint_symbol_2;
threadgroup tint_array_wrapper tint_symbol_3;
void tint_symbol_inner(constant Uniforms& uniforms, const device Matrix& firstMatrix, const device Matrix& secondMatrix, device Matrix& resultMatrix, uint3 local_id, uint3 global_id, uint local_invocation_index, threadgroup tint_array_wrapper* const tint_symbol_1, threadgroup tint_array_wrapper* const tint_symbol_2) {
for(uint idx = local_invocation_index; (idx < 4096u); idx = (idx + 256u)) {
uint const i = (idx / 64u);
uint const i_1 = (idx % 64u);
tint_symbol_2.arr[i].arr[i_1] = float();
tint_symbol_3.arr[i].arr[i_1] = float();
(*(tint_symbol_1)).arr[i].arr[i_1] = float();
(*(tint_symbol_2)).arr[i].arr[i_1] = float();
}
threadgroup_barrier(mem_flags::mem_threadgroup);
uint const tileRow = (local_id.y * RowPerThread);
@@ -80,23 +78,23 @@ kernel void tint_symbol(uint3 local_id [[thread_position_in_threadgroup]], uint3
for(uint innerCol = 0u; (innerCol < ColPerThreadA); innerCol = (innerCol + 1u)) {
uint const inputRow = (tileRow + innerRow);
uint const inputCol = (tileColA + innerCol);
tint_symbol_2.arr[inputRow].arr[inputCol] = mm_readA(uniforms, firstMatrix, (globalRow + innerRow), ((t * TileInner) + inputCol));
(*(tint_symbol_1)).arr[inputRow].arr[inputCol] = mm_readA(uniforms, firstMatrix, (globalRow + innerRow), ((t * TileInner) + inputCol));
}
}
for(uint innerRow = 0u; (innerRow < RowPerThreadB); innerRow = (innerRow + 1u)) {
for(uint innerCol = 0u; (innerCol < ColPerThread); innerCol = (innerCol + 1u)) {
uint const inputRow = (tileRowB + innerRow);
uint const inputCol = (tileCol + innerCol);
tint_symbol_3.arr[innerCol].arr[inputCol] = mm_readB(uniforms, secondMatrix, ((t * TileInner) + inputRow), (globalCol + innerCol));
(*(tint_symbol_2)).arr[innerCol].arr[inputCol] = mm_readB(uniforms, secondMatrix, ((t * TileInner) + inputRow), (globalCol + innerCol));
}
}
threadgroup_barrier(mem_flags::mem_threadgroup);
for(uint k = 0u; (k < TileInner); k = (k + 1u)) {
for(uint inner = 0u; (inner < ColPerThread); inner = (inner + 1u)) {
BCached.arr[inner] = tint_symbol_3.arr[k].arr[(tileCol + inner)];
BCached.arr[inner] = (*(tint_symbol_2)).arr[k].arr[(tileCol + inner)];
}
for(uint innerRow = 0u; (innerRow < RowPerThread); innerRow = (innerRow + 1u)) {
ACached = tint_symbol_2.arr[(tileRow + innerRow)].arr[k];
ACached = (*(tint_symbol_1)).arr[(tileRow + innerRow)].arr[k];
for(uint innerCol = 0u; (innerCol < ColPerThread); innerCol = (innerCol + 1u)) {
uint const index = ((innerRow * ColPerThread) + innerCol);
acc.arr[index] = (acc.arr[index] + (ACached * BCached.arr[innerCol]));
@@ -111,6 +109,12 @@ kernel void tint_symbol(uint3 local_id [[thread_position_in_threadgroup]], uint3
mm_write(uniforms, resultMatrix, (globalRow + innerRow), (globalCol + innerCol), acc.arr[index]);
}
}
}
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)]]) {
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));
return;
}

View File

@@ -154,40 +154,40 @@ Mat4x3_ _Mat4x3_1(Mat4x4_ m20) {
return o4;
}
Mat4x3_ tint_symbol_4(uint4 buffer[96], uint offset) {
Mat4x3_ tint_symbol_3(uint4 buffer[96], uint offset) {
const uint scalar_offset = ((offset + 0u)) / 4;
const uint scalar_offset_1 = ((offset + 16u)) / 4;
const uint scalar_offset_2 = ((offset + 32u)) / 4;
const Mat4x3_ tint_symbol_10 = {asfloat(buffer[scalar_offset / 4]), asfloat(buffer[scalar_offset_1 / 4]), asfloat(buffer[scalar_offset_2 / 4])};
return tint_symbol_10;
const Mat4x3_ tint_symbol_9 = {asfloat(buffer[scalar_offset / 4]), asfloat(buffer[scalar_offset_1 / 4]), asfloat(buffer[scalar_offset_2 / 4])};
return tint_symbol_9;
}
Mat4x4_ tint_symbol_6(uint4 buffer[4], uint offset) {
Mat4x4_ tint_symbol_5(uint4 buffer[4], uint offset) {
const uint scalar_offset_3 = ((offset + 0u)) / 4;
const uint scalar_offset_4 = ((offset + 16u)) / 4;
const uint scalar_offset_5 = ((offset + 32u)) / 4;
const uint scalar_offset_6 = ((offset + 48u)) / 4;
const Mat4x4_ tint_symbol_11 = {asfloat(buffer[scalar_offset_3 / 4]), asfloat(buffer[scalar_offset_4 / 4]), asfloat(buffer[scalar_offset_5 / 4]), asfloat(buffer[scalar_offset_6 / 4])};
return tint_symbol_11;
const Mat4x4_ tint_symbol_10 = {asfloat(buffer[scalar_offset_3 / 4]), asfloat(buffer[scalar_offset_4 / 4]), asfloat(buffer[scalar_offset_5 / 4]), asfloat(buffer[scalar_offset_6 / 4])};
return tint_symbol_10;
}
Mat4x2_ tint_symbol_9(uint4 buffer[3], uint offset) {
Mat4x2_ tint_symbol_8(uint4 buffer[3], uint offset) {
const uint scalar_offset_7 = ((offset + 0u)) / 4;
const uint scalar_offset_8 = ((offset + 16u)) / 4;
const Mat4x2_ tint_symbol_12 = {asfloat(buffer[scalar_offset_7 / 4]), asfloat(buffer[scalar_offset_8 / 4])};
return tint_symbol_12;
const Mat4x2_ tint_symbol_11 = {asfloat(buffer[scalar_offset_7 / 4]), asfloat(buffer[scalar_offset_8 / 4])};
return tint_symbol_11;
}
void main1() {
Mat4x3_ t_PosMtx = (Mat4x3_)0;
float2 t_TexSpaceCoord = float2(0.0f, 0.0f);
const Mat4x3_ _e18 = tint_symbol_4(global2, (48u * uint(int(a_PosMtxIdx1))));
const Mat4x3_ _e18 = tint_symbol_3(global2, (48u * uint(int(a_PosMtxIdx1))));
t_PosMtx = _e18;
const Mat4x4_ _e24 = _Mat4x4_1(t_PosMtx);
const float3 _e25 = a_Position1;
const Mat4x4_ _e30 = _Mat4x4_1(t_PosMtx);
const float4 _e34 = Mul(_e30, float4(a_Position1, 1.0f));
const Mat4x4_ _e35 = tint_symbol_6(global, 0u);
const Mat4x4_ _e35 = tint_symbol_5(global, 0u);
const Mat4x4_ _e38 = _Mat4x4_1(t_PosMtx);
const float3 _e39 = a_Position1;
const Mat4x4_ _e44 = _Mat4x4_1(t_PosMtx);
@@ -199,7 +199,7 @@ void main1() {
if ((_e52.x == 2.0f)) {
{
const float3 _e59 = a_Normal1;
const Mat4x2_ _e64 = tint_symbol_9(global1, (32u * uint(0)));
const Mat4x2_ _e64 = tint_symbol_8(global1, (32u * uint(0)));
const float2 _e68 = Mul2(_e64, float4(a_Normal1, 1.0f));
v_TexCoord = _e68.xy;
return;
@@ -207,7 +207,7 @@ void main1() {
} else {
{
const float2 _e73 = a_UV1;
const Mat4x2_ _e79 = tint_symbol_9(global1, (32u * uint(0)));
const Mat4x2_ _e79 = tint_symbol_8(global1, (32u * uint(0)));
const float2 _e84 = Mul2(_e79, float4(a_UV1, 1.0f, 1.0f));
v_TexCoord = _e84.xy;
return;
@@ -228,19 +228,22 @@ struct tint_symbol_2 {
float4 member : SV_Position;
};
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const float3 a_Position = tint_symbol.a_Position;
const float2 a_UV = tint_symbol.a_UV;
const float4 a_Color = tint_symbol.a_Color;
const float3 a_Normal = tint_symbol.a_Normal;
const float a_PosMtxIdx = tint_symbol.a_PosMtxIdx;
VertexOutput main_inner(float3 a_Position, float2 a_UV, float4 a_Color, float3 a_Normal, float a_PosMtxIdx) {
a_Position1 = a_Position;
a_UV1 = a_UV;
a_Color1 = a_Color;
a_Normal1 = a_Normal;
a_PosMtxIdx1 = a_PosMtxIdx;
main1();
const VertexOutput tint_symbol_3 = {v_Color, v_TexCoord, gl_Position};
const tint_symbol_2 tint_symbol_13 = {tint_symbol_3.v_Color, tint_symbol_3.v_TexCoord, tint_symbol_3.member};
return tint_symbol_13;
const VertexOutput tint_symbol_12 = {v_Color, v_TexCoord, gl_Position};
return tint_symbol_12;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const VertexOutput inner_result = main_inner(tint_symbol.a_Position, tint_symbol.a_UV, tint_symbol.a_Color, tint_symbol.a_Normal, tint_symbol.a_PosMtxIdx);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.v_Color = inner_result.v_Color;
wrapper_result.v_TexCoord = inner_result.v_TexCoord;
wrapper_result.member = inner_result.member;
return wrapper_result;
}

View File

@@ -222,78 +222,81 @@ Mat4x3_ _Mat4x3_1(Mat4x4_ m20) {
return _e12;
}
void main1(constant ub_PacketParams& global2, constant ub_SceneParams& global, constant ub_MaterialParams& global1, thread float* const tint_symbol_6, thread float3* const tint_symbol_7, thread float4* const tint_symbol_8, thread float4* const tint_symbol_9, thread float4* const tint_symbol_10, thread float3* const tint_symbol_11, thread float2* const tint_symbol_12, thread float2* const tint_symbol_13) {
void main1(constant ub_PacketParams& global2, constant ub_SceneParams& global, constant ub_MaterialParams& global1, thread float* const tint_symbol_5, thread float3* const tint_symbol_6, thread float4* const tint_symbol_7, thread float4* const tint_symbol_8, thread float4* const tint_symbol_9, thread float3* const tint_symbol_10, thread float2* const tint_symbol_11, thread float2* const tint_symbol_12) {
Mat4x3_ t_PosMtx = {};
float2 t_TexSpaceCoord = 0.0f;
float const _e15 = *(tint_symbol_6);
float const _e15 = *(tint_symbol_5);
Mat4x3_ const _e18 = global2.u_PosMtx.arr[int(_e15)];
t_PosMtx = _e18;
Mat4x3_ const _e23 = t_PosMtx;
Mat4x4_ const _e24 = _Mat4x4_1(_e23);
float3 const _e25 = *(tint_symbol_7);
float3 const _e25 = *(tint_symbol_6);
Mat4x3_ const _e29 = t_PosMtx;
Mat4x4_ const _e30 = _Mat4x4_1(_e29);
float3 const _e31 = *(tint_symbol_7);
float3 const _e31 = *(tint_symbol_6);
float4 const _e34 = Mul(_e30, float4(_e31, 1.0f));
Mat4x4_ const _e35 = global.u_Projection;
Mat4x3_ const _e37 = t_PosMtx;
Mat4x4_ const _e38 = _Mat4x4_1(_e37);
float3 const _e39 = *(tint_symbol_7);
float3 const _e39 = *(tint_symbol_6);
Mat4x3_ const _e43 = t_PosMtx;
Mat4x4_ const _e44 = _Mat4x4_1(_e43);
float3 const _e45 = *(tint_symbol_7);
float3 const _e45 = *(tint_symbol_6);
float4 const _e48 = Mul(_e44, float4(_e45, 1.0f));
float4 const _e49 = Mul(_e35, _e48);
*(tint_symbol_8) = _e49;
float4 const _e50 = *(tint_symbol_9);
*(tint_symbol_10) = _e50;
*(tint_symbol_7) = _e49;
float4 const _e50 = *(tint_symbol_8);
*(tint_symbol_9) = _e50;
float4 const _e52 = global1.u_Misc0_;
if ((_e52.x == 2.0f)) {
{
float3 const _e59 = *(tint_symbol_11);
float3 const _e59 = *(tint_symbol_10);
Mat4x2_ const _e64 = global1.u_TexMtx.arr[0];
float3 const _e65 = *(tint_symbol_11);
float3 const _e65 = *(tint_symbol_10);
float2 const _e68 = Mul2(_e64, float4(_e65, 1.0f));
*(tint_symbol_12) = _e68.xy;
*(tint_symbol_11) = _e68.xy;
return;
}
} else {
{
float2 const _e73 = *(tint_symbol_13);
float2 const _e73 = *(tint_symbol_12);
Mat4x2_ const _e79 = global1.u_TexMtx.arr[0];
float2 const _e80 = *(tint_symbol_13);
float2 const _e80 = *(tint_symbol_12);
float2 const _e84 = Mul2(_e79, float4(_e80, 1.0f, 1.0f));
*(tint_symbol_12) = _e84.xy;
*(tint_symbol_11) = _e84.xy;
return;
}
}
}
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)]]) {
thread float3 tint_symbol_14 = 0.0f;
thread float2 tint_symbol_15 = 0.0f;
thread float4 tint_symbol_16 = 0.0f;
thread float3 tint_symbol_17 = 0.0f;
thread float tint_symbol_18 = 0.0f;
thread float4 tint_symbol_19 = 0.0f;
thread float4 tint_symbol_20 = 0.0f;
thread float2 tint_symbol_21 = 0.0f;
float3 const a_Position = tint_symbol_1.a_Position;
float2 const a_UV = tint_symbol_1.a_UV;
float4 const a_Color = tint_symbol_1.a_Color;
float3 const a_Normal = tint_symbol_1.a_Normal;
float const a_PosMtxIdx = tint_symbol_1.a_PosMtxIdx;
tint_symbol_14 = a_Position;
tint_symbol_15 = a_UV;
tint_symbol_16 = a_Color;
tint_symbol_17 = a_Normal;
tint_symbol_18 = a_PosMtxIdx;
main1(global2, global, global1, &(tint_symbol_18), &(tint_symbol_14), &(tint_symbol_19), &(tint_symbol_16), &(tint_symbol_20), &(tint_symbol_17), &(tint_symbol_21), &(tint_symbol_15));
float4 const _e11 = tint_symbol_20;
float2 const _e13 = tint_symbol_21;
float4 const _e15 = tint_symbol_19;
VertexOutput tint_symbol_inner(constant ub_PacketParams& global2, constant ub_SceneParams& global, constant ub_MaterialParams& global1, float3 a_Position, float2 a_UV, float4 a_Color, float3 a_Normal, float a_PosMtxIdx, thread float3* const tint_symbol_13, thread float2* const tint_symbol_14, thread float4* const tint_symbol_15, thread float3* const tint_symbol_16, thread float* const tint_symbol_17, thread float4* const tint_symbol_18, thread float4* const tint_symbol_19, thread float2* const tint_symbol_20) {
*(tint_symbol_13) = a_Position;
*(tint_symbol_14) = a_UV;
*(tint_symbol_15) = a_Color;
*(tint_symbol_16) = a_Normal;
*(tint_symbol_17) = a_PosMtxIdx;
main1(global2, global, global1, tint_symbol_17, tint_symbol_13, tint_symbol_18, tint_symbol_15, tint_symbol_19, tint_symbol_16, tint_symbol_20, tint_symbol_14);
float4 const _e11 = *(tint_symbol_19);
float2 const _e13 = *(tint_symbol_20);
float4 const _e15 = *(tint_symbol_18);
VertexOutput const tint_symbol_4 = {.v_Color=_e11, .v_TexCoord=_e13, .member=_e15};
tint_symbol_3 const tint_symbol_5 = {.v_Color=tint_symbol_4.v_Color, .v_TexCoord=tint_symbol_4.v_TexCoord, .member=tint_symbol_4.member};
return tint_symbol_5;
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)]]) {
thread float3 tint_symbol_21 = 0.0f;
thread float2 tint_symbol_22 = 0.0f;
thread float4 tint_symbol_23 = 0.0f;
thread float3 tint_symbol_24 = 0.0f;
thread float tint_symbol_25 = 0.0f;
thread float4 tint_symbol_26 = 0.0f;
thread float4 tint_symbol_27 = 0.0f;
thread float2 tint_symbol_28 = 0.0f;
VertexOutput const inner_result = tint_symbol_inner(global2, global, global1, tint_symbol_1.a_Position, tint_symbol_1.a_UV, tint_symbol_1.a_Color, tint_symbol_1.a_Normal, tint_symbol_1.a_PosMtxIdx, &(tint_symbol_21), &(tint_symbol_22), &(tint_symbol_23), &(tint_symbol_24), &(tint_symbol_25), &(tint_symbol_26), &(tint_symbol_27), &(tint_symbol_28));
tint_symbol_3 wrapper_result = {};
wrapper_result.v_Color = inner_result.v_Color;
wrapper_result.v_TexCoord = inner_result.v_TexCoord;
wrapper_result.member = inner_result.member;
return wrapper_result;
}

View File

@@ -11,9 +11,12 @@ struct tint_symbol_1 {
uint3 global_id : SV_DispatchThreadID;
};
void computeMain_inner(uint3 global_id) {
const uint firstVertex = atomicAdd_1(drawOut, 0u, cubeVerts);
}
[numthreads(1, 1, 1)]
void computeMain(tint_symbol_1 tint_symbol) {
const uint3 global_id = tint_symbol.global_id;
const uint firstVertex = atomicAdd_1(drawOut, 0u, cubeVerts);
computeMain_inner(tint_symbol.global_id);
return;
}

View File

@@ -5,9 +5,13 @@ struct DrawIndirectArgs {
/* 0x0000 */ atomic_uint vertexCount;
};
void computeMain_inner(device DrawIndirectArgs& drawOut, uint3 global_id, thread uint* const tint_symbol) {
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)]]) {
thread uint tint_symbol_1 = 0u;
uint const firstVertex = atomic_fetch_add_explicit(&(drawOut.vertexCount), tint_symbol_1, memory_order_relaxed);
computeMain_inner(drawOut, global_id, &(tint_symbol_1));
return;
}

View File

@@ -16,11 +16,7 @@ struct tint_symbol_1 {
uint3 WorkGroupID : SV_GroupID;
};
[numthreads(64, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 WorkGroupID = tint_symbol.WorkGroupID;
const uint3 LocalInvocationID = tint_symbol.LocalInvocationID;
const uint local_invocation_index = tint_symbol.local_invocation_index;
void main_inner(uint3 WorkGroupID, uint3 LocalInvocationID, uint local_invocation_index) {
{
for(uint idx = local_invocation_index; (idx < 1024u); idx = (idx + 64u)) {
const uint i_1 = (idx / 256u);
@@ -79,5 +75,10 @@ void main(tint_symbol_1 tint_symbol) {
}
}
}
}
[numthreads(64, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.WorkGroupID, tint_symbol.LocalInvocationID, tint_symbol.local_invocation_index);
return;
}

View File

@@ -15,16 +15,15 @@ struct tint_array_wrapper {
tint_array_wrapper_1 arr[4];
};
kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_3 [[texture(1)]], sampler tint_symbol_4 [[sampler(0)]], texture2d<float, access::write> tint_symbol_5 [[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)]]) {
threadgroup tint_array_wrapper tint_symbol_2;
void tint_symbol_inner(constant Params& params, constant Flip& flip, uint3 WorkGroupID, uint3 LocalInvocationID, uint local_invocation_index, threadgroup tint_array_wrapper* const tint_symbol_1, texture2d<float, access::sample> tint_symbol_2, sampler tint_symbol_3, texture2d<float, access::write> tint_symbol_4) {
for(uint idx = local_invocation_index; (idx < 1024u); idx = (idx + 64u)) {
uint const i_1 = (idx / 256u);
uint const i_2 = (idx % 256u);
tint_symbol_2.arr[i_1].arr[i_2] = float3();
(*(tint_symbol_1)).arr[i_1].arr[i_2] = float3();
}
threadgroup_barrier(mem_flags::mem_threadgroup);
uint const filterOffset = ((params.filterDim - 1u) / 2u);
int2 const dims = int2(tint_symbol_3.get_width(0), tint_symbol_3.get_height(0));
int2 const dims = int2(tint_symbol_2.get_width(0), tint_symbol_2.get_height(0));
int2 const baseIndex = as_type<int2>((as_type<uint2>(int2(((WorkGroupID.xy * uint2(params.blockDim, 4u)) + (LocalInvocationID.xy * uint2(4u, 1u))))) - as_type<uint2>(int2(int(filterOffset), 0))));
for(uint r = 0u; (r < 4u); r = (r + 1u)) {
for(uint c = 0u; (c < 4u); c = (c + 1u)) {
@@ -32,7 +31,7 @@ kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_3 [[texture
if ((flip.value != 0u)) {
loadIndex = loadIndex.yx;
}
tint_symbol_2.arr[r].arr[((4u * LocalInvocationID.x) + c)] = tint_symbol_3.sample(tint_symbol_4, ((float2(loadIndex) + float2(0.25f, 0.25f)) / float2(dims)), level(0.0f)).rgb;
(*(tint_symbol_1)).arr[r].arr[((4u * LocalInvocationID.x) + c)] = tint_symbol_2.sample(tint_symbol_3, ((float2(loadIndex) + float2(0.25f, 0.25f)) / float2(dims)), level(0.0f)).rgb;
}
}
threadgroup_barrier(mem_flags::mem_threadgroup);
@@ -47,12 +46,17 @@ kernel void tint_symbol(texture2d<float, access::sample> tint_symbol_3 [[texture
float3 acc = float3(0.0f, 0.0f, 0.0f);
for(uint f = 0u; (f < params.filterDim); f = (f + 1u)) {
uint i = ((center + f) - filterOffset);
acc = (acc + ((1.0f / float(params.filterDim)) * tint_symbol_2.arr[r].arr[i]));
acc = (acc + ((1.0f / float(params.filterDim)) * (*(tint_symbol_1)).arr[r].arr[i]));
}
tint_symbol_5.write(float4(acc, 1.0f), uint2(writeIndex));
tint_symbol_4.write(float4(acc, 1.0f), uint2(writeIndex));
}
}
}
}
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)]]) {
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

@@ -345,11 +345,7 @@ struct tint_symbol_1 {
uint3 gl_GlobalInvocationID_param : SV_DispatchThreadID;
};
[numthreads(1, 64, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 gl_LocalInvocationID_param = tint_symbol.gl_LocalInvocationID_param;
const uint3 gl_GlobalInvocationID_param = tint_symbol.gl_GlobalInvocationID_param;
const uint local_invocation_index = tint_symbol.local_invocation_index;
void main_inner(uint3 gl_LocalInvocationID_param, uint3 gl_GlobalInvocationID_param, uint local_invocation_index) {
{
const uint i_1 = local_invocation_index;
const uint i_2 = (local_invocation_index % 1u);
@@ -366,5 +362,10 @@ void main(tint_symbol_1 tint_symbol) {
gl_LocalInvocationID = gl_LocalInvocationID_param;
gl_GlobalInvocationID = gl_GlobalInvocationID_param;
main_1();
}
[numthreads(1, 64, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.gl_LocalInvocationID_param, tint_symbol.gl_GlobalInvocationID_param, tint_symbol.local_invocation_index);
return;
}

View File

@@ -53,7 +53,7 @@ bool coordsInBounds_vi2_vi2_(thread int2* const coord, thread int2* const shape)
return x_88;
}
float mm_readA_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, thread int* const row, thread int* const col, thread int* const tint_symbol_3, thread int* const tint_symbol_4, thread int* const tint_symbol_5) {
float mm_readA_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, thread int* const row, thread int* const col, thread int* const tint_symbol_2, thread int* const tint_symbol_3, thread int* const tint_symbol_4) {
int batchASize = 0;
int2 param_10 = 0;
int2 param_11 = 0;
@@ -63,16 +63,16 @@ float mm_readA_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, thread
batchASize = as_type<int>((as_type<uint>(x_417) * as_type<uint>(x_419)));
int const x_421 = *(row);
int const x_422 = *(col);
int const x_424 = *(tint_symbol_3);
int const x_425 = *(tint_symbol_4);
int const x_424 = *(tint_symbol_2);
int const x_425 = *(tint_symbol_3);
param_10 = int2(x_421, x_422);
param_11 = int2(x_424, x_425);
bool const x_429 = coordsInBounds_vi2_vi2_(&(param_10), &(param_11));
if (x_429) {
int const x_438 = *(tint_symbol_5);
int const x_438 = *(tint_symbol_4);
int const x_439 = batchASize;
int const x_441 = *(row);
int const x_442 = *(tint_symbol_4);
int const x_442 = *(tint_symbol_3);
int const x_445 = *(col);
float const x_448 = x_165.A[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_438) * as_type<uint>(x_439)))) + as_type<uint>(as_type<int>((as_type<uint>(x_441) * as_type<uint>(x_442))))))) + as_type<uint>(x_445)))];
x_430 = x_448;
@@ -83,7 +83,7 @@ float mm_readA_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, thread
return x_450;
}
float mm_readB_i1_i1_(constant Uniforms& x_48, const device ssbB& x_185, thread int* const row_1, thread int* const col_1, thread int* const tint_symbol_6, thread int* const tint_symbol_7, thread int* const tint_symbol_8) {
float mm_readB_i1_i1_(constant Uniforms& x_48, const device ssbB& x_185, thread int* const row_1, thread int* const col_1, thread int* const tint_symbol_5, thread int* const tint_symbol_6, thread int* const tint_symbol_7) {
int batchBSize = 0;
int2 param_12 = 0;
int2 param_13 = 0;
@@ -93,16 +93,16 @@ float mm_readB_i1_i1_(constant Uniforms& x_48, const device ssbB& x_185, thread
batchBSize = as_type<int>((as_type<uint>(x_455) * as_type<uint>(x_457)));
int const x_459 = *(row_1);
int const x_460 = *(col_1);
int const x_462 = *(tint_symbol_6);
int const x_463 = *(tint_symbol_7);
int const x_462 = *(tint_symbol_5);
int const x_463 = *(tint_symbol_6);
param_12 = int2(x_459, x_460);
param_13 = int2(x_462, x_463);
bool const x_467 = coordsInBounds_vi2_vi2_(&(param_12), &(param_13));
if (x_467) {
int const x_475 = *(tint_symbol_8);
int const x_475 = *(tint_symbol_7);
int const x_476 = batchBSize;
int const x_478 = *(row_1);
int const x_479 = *(tint_symbol_7);
int const x_479 = *(tint_symbol_6);
int const x_482 = *(col_1);
float const x_485 = x_185.B[as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_475) * as_type<uint>(x_476)))) + as_type<uint>(as_type<int>((as_type<uint>(x_478) * as_type<uint>(x_479))))))) + as_type<uint>(x_482)))];
x_468 = x_485;
@@ -146,17 +146,17 @@ void setOutput_i1_i1_i1_f1_(constant Uniforms& x_48, device ssbOut& x_54, thread
return;
}
void mm_write_i1_i1_f1_(constant Uniforms& x_48, device ssbOut& x_54, thread int* const row_2, thread int* const col_2, thread float* const value_2, thread int* const tint_symbol_9) {
void mm_write_i1_i1_f1_(constant Uniforms& x_48, device ssbOut& x_54, thread int* const row_2, thread int* const col_2, thread float* const value_2, thread int* const tint_symbol_8) {
int3 outCoord = 0;
int param_14 = 0;
int param_15 = 0;
int param_16 = 0;
float param_17 = 0.0f;
int const x_491 = *(tint_symbol_9);
int const x_491 = *(tint_symbol_8);
int const x_492 = *(row_2);
int const x_493 = *(col_2);
outCoord = int3(x_491, x_492, x_493);
int const x_496 = *(tint_symbol_9);
int const x_496 = *(tint_symbol_8);
param_14 = x_496;
int const x_498 = *(row_2);
param_15 = x_498;
@@ -168,7 +168,7 @@ void mm_write_i1_i1_f1_(constant Uniforms& x_48, device ssbOut& x_54, thread int
return;
}
void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, const device ssbB& x_185, device ssbOut& x_54, thread int* const dimAOuter, thread int* const dimInner, thread int* const dimBOuter, thread uint3* const tint_symbol_10, thread uint3* const tint_symbol_11, thread int* const tint_symbol_12, thread int* const tint_symbol_13, thread int* const tint_symbol_14, threadgroup tint_array_wrapper* const tint_symbol_15, thread int* const tint_symbol_16, threadgroup tint_array_wrapper_2* const tint_symbol_17) {
void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, const device ssbB& x_185, device ssbOut& x_54, thread int* const dimAOuter, thread int* const dimInner, thread int* const dimBOuter, thread uint3* const tint_symbol_9, thread uint3* const tint_symbol_10, thread int* const tint_symbol_11, thread int* const tint_symbol_12, thread int* const tint_symbol_13, threadgroup tint_array_wrapper* const tint_symbol_14, thread int* const tint_symbol_15, threadgroup tint_array_wrapper_2* const tint_symbol_16) {
int tileRow = 0;
int tileCol = 0;
int globalRow = 0;
@@ -203,13 +203,13 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
int param_7 = 0;
int param_8 = 0;
float param_9 = 0.0f;
uint const x_132 = (*(tint_symbol_10)).y;
uint const x_132 = (*(tint_symbol_9)).y;
tileRow = as_type<int>((as_type<uint>(as_type<int>(x_132)) * as_type<uint>(1)));
uint const x_137 = (*(tint_symbol_10)).x;
uint const x_137 = (*(tint_symbol_9)).x;
tileCol = as_type<int>((as_type<uint>(as_type<int>(x_137)) * as_type<uint>(1)));
uint const x_143 = (*(tint_symbol_11)).y;
uint const x_143 = (*(tint_symbol_10)).y;
globalRow = as_type<int>((as_type<uint>(as_type<int>(x_143)) * as_type<uint>(1)));
uint const x_148 = (*(tint_symbol_11)).x;
uint const x_148 = (*(tint_symbol_10)).x;
globalCol = as_type<int>((as_type<uint>(as_type<int>(x_148)) * as_type<uint>(1)));
int const x_152 = *(dimInner);
numTiles = as_type<int>((as_type<uint>((as_type<int>((as_type<uint>(x_152) - as_type<uint>(1))) / 64)) + as_type<uint>(1)));
@@ -240,9 +240,9 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
innerRow = as_type<int>((as_type<uint>(x_183) + as_type<uint>(1)));
}
}
uint const x_187 = (*(tint_symbol_10)).x;
uint const x_187 = (*(tint_symbol_9)).x;
tileColA = as_type<int>((as_type<uint>(as_type<int>(x_187)) * as_type<uint>(64)));
uint const x_192 = (*(tint_symbol_10)).y;
uint const x_192 = (*(tint_symbol_9)).y;
tileRowB = as_type<int>((as_type<uint>(as_type<int>(x_192)) * as_type<uint>(1)));
t = 0;
while (true) {
@@ -280,8 +280,8 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
int const x_240 = inputCol;
param_3 = as_type<int>((as_type<uint>(x_235) + as_type<uint>(x_236)));
param_4 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_238) * as_type<uint>(64)))) + as_type<uint>(x_240)));
float const x_244 = mm_readA_i1_i1_(x_48, x_165, &(param_3), &(param_4), tint_symbol_12, tint_symbol_13, tint_symbol_14);
(*(tint_symbol_15)).arr[x_233].arr[x_234] = x_244;
float const x_244 = mm_readA_i1_i1_(x_48, x_165, &(param_3), &(param_4), tint_symbol_11, tint_symbol_12, tint_symbol_13);
(*(tint_symbol_14)).arr[x_233].arr[x_234] = x_244;
{
int const x_247 = innerCol_1;
innerCol_1 = as_type<int>((as_type<uint>(x_247) + as_type<uint>(1)));
@@ -320,8 +320,8 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
int const x_285 = innerCol_2;
param_5 = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(x_280) * as_type<uint>(64)))) + as_type<uint>(x_282)));
param_6 = as_type<int>((as_type<uint>(x_284) + as_type<uint>(x_285)));
float const x_289 = mm_readB_i1_i1_(x_48, x_185, &(param_5), &(param_6), tint_symbol_13, tint_symbol_16, tint_symbol_14);
(*(tint_symbol_17)).arr[x_278].arr[x_279] = x_289;
float const x_289 = mm_readB_i1_i1_(x_48, x_185, &(param_5), &(param_6), tint_symbol_12, tint_symbol_15, tint_symbol_13);
(*(tint_symbol_16)).arr[x_278].arr[x_279] = x_289;
{
int const x_291 = innerCol_2;
innerCol_2 = as_type<int>((as_type<uint>(x_291) + as_type<uint>(1)));
@@ -351,7 +351,7 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
int const x_315 = k;
int const x_316 = tileCol;
int const x_317 = inner;
float const x_320 = (*(tint_symbol_17)).arr[x_315].arr[as_type<int>((as_type<uint>(x_316) + as_type<uint>(x_317)))];
float const x_320 = (*(tint_symbol_16)).arr[x_315].arr[as_type<int>((as_type<uint>(x_316) + as_type<uint>(x_317)))];
BCached.arr[x_314] = x_320;
{
int const x_322 = inner;
@@ -368,7 +368,7 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
int const x_333 = tileRow;
int const x_334 = innerRow_3;
int const x_336 = k;
float const x_338 = (*(tint_symbol_15)).arr[as_type<int>((as_type<uint>(x_333) + as_type<uint>(x_334)))].arr[x_336];
float const x_338 = (*(tint_symbol_14)).arr[as_type<int>((as_type<uint>(x_333) + as_type<uint>(x_334)))].arr[x_336];
ACached = x_338;
innerCol_3 = 0;
while (true) {
@@ -445,7 +445,7 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
param_8 = as_type<int>((as_type<uint>(x_400) + as_type<uint>(x_401)));
float const x_409 = acc.arr[x_403].arr[x_404];
param_9 = x_409;
mm_write_i1_i1_f1_(x_48, x_54, &(param_7), &(param_8), &(param_9), tint_symbol_14);
mm_write_i1_i1_f1_(x_48, x_54, &(param_7), &(param_8), &(param_9), tint_symbol_13);
}
{
int const x_411 = innerCol_4;
@@ -460,51 +460,55 @@ void mm_matMul_i1_i1_i1_(constant Uniforms& x_48, const device ssbA& x_165, cons
return;
}
void main_1(constant Uniforms& x_48, const device ssbA& x_165, const device ssbB& x_185, device ssbOut& x_54, thread int* const tint_symbol_18, thread int* const tint_symbol_19, thread int* const tint_symbol_20, thread uint3* const tint_symbol_21, thread int* const tint_symbol_22, thread uint3* const tint_symbol_23, threadgroup tint_array_wrapper* const tint_symbol_24, threadgroup tint_array_wrapper_2* const tint_symbol_25) {
void main_1(constant Uniforms& x_48, const device ssbA& x_165, const device ssbB& x_185, device ssbOut& x_54, thread int* const tint_symbol_17, thread int* const tint_symbol_18, thread int* const tint_symbol_19, thread uint3* const tint_symbol_20, thread int* const tint_symbol_21, thread uint3* const tint_symbol_22, threadgroup tint_array_wrapper* const tint_symbol_23, threadgroup tint_array_wrapper_2* const tint_symbol_24) {
int param_18 = 0;
int param_19 = 0;
int param_20 = 0;
int const x_67 = x_48.aShape.y;
*(tint_symbol_18) = x_67;
*(tint_symbol_17) = x_67;
int const x_71 = x_48.aShape.z;
*(tint_symbol_19) = x_71;
*(tint_symbol_18) = x_71;
int const x_75 = x_48.bShape.z;
*(tint_symbol_20) = x_75;
uint const x_505 = (*(tint_symbol_21)).z;
*(tint_symbol_22) = as_type<int>(x_505);
int const x_508 = *(tint_symbol_18);
*(tint_symbol_19) = x_75;
uint const x_505 = (*(tint_symbol_20)).z;
*(tint_symbol_21) = as_type<int>(x_505);
int const x_508 = *(tint_symbol_17);
param_18 = x_508;
int const x_510 = *(tint_symbol_19);
int const x_510 = *(tint_symbol_18);
param_19 = x_510;
int const x_512 = *(tint_symbol_20);
int const x_512 = *(tint_symbol_19);
param_20 = x_512;
mm_matMul_i1_i1_i1_(x_48, x_165, x_185, x_54, &(param_18), &(param_19), &(param_20), tint_symbol_23, tint_symbol_21, tint_symbol_18, tint_symbol_19, tint_symbol_22, tint_symbol_24, tint_symbol_20, tint_symbol_25);
mm_matMul_i1_i1_i1_(x_48, x_165, x_185, x_54, &(param_18), &(param_19), &(param_20), tint_symbol_22, tint_symbol_20, tint_symbol_17, tint_symbol_18, tint_symbol_21, tint_symbol_23, tint_symbol_19, tint_symbol_24);
return;
}
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)]]) {
threadgroup tint_array_wrapper_2 tint_symbol_26;
threadgroup tint_array_wrapper tint_symbol_27;
thread uint3 tint_symbol_28 = 0u;
thread uint3 tint_symbol_29 = 0u;
thread int tint_symbol_30 = 0;
thread int tint_symbol_31 = 0;
thread int tint_symbol_32 = 0;
thread int tint_symbol_33 = 0;
void tint_symbol_1_inner(constant Uniforms& x_48, const device ssbA& x_165, const device ssbB& x_185, device ssbOut& x_54, uint3 gl_LocalInvocationID_param, uint3 gl_GlobalInvocationID_param, uint local_invocation_index, threadgroup tint_array_wrapper_2* const tint_symbol_25, threadgroup tint_array_wrapper* const tint_symbol_26, thread uint3* const tint_symbol_27, thread uint3* const tint_symbol_28, thread int* const tint_symbol_29, thread int* const tint_symbol_30, thread int* const tint_symbol_31, thread int* const tint_symbol_32) {
{
uint const i_1 = local_invocation_index;
uint const i_2 = (local_invocation_index % 1u);
tint_symbol_26.arr[i_1].arr[i_2] = float();
(*(tint_symbol_25)).arr[i_1].arr[i_2] = float();
}
for(uint idx = local_invocation_index; (idx < 4096u); idx = (idx + 64u)) {
uint const i = (idx / 64u);
uint const i_1 = (idx % 64u);
tint_symbol_27.arr[i].arr[i_1] = float();
(*(tint_symbol_26)).arr[i].arr[i_1] = float();
}
threadgroup_barrier(mem_flags::mem_threadgroup);
tint_symbol_28 = gl_LocalInvocationID_param;
tint_symbol_29 = gl_GlobalInvocationID_param;
main_1(x_48, x_165, x_185, x_54, &(tint_symbol_30), &(tint_symbol_31), &(tint_symbol_32), &(tint_symbol_29), &(tint_symbol_33), &(tint_symbol_28), &(tint_symbol_27), &(tint_symbol_26));
*(tint_symbol_27) = gl_LocalInvocationID_param;
*(tint_symbol_28) = gl_GlobalInvocationID_param;
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)]]) {
threadgroup tint_array_wrapper_2 tint_symbol_33;
threadgroup tint_array_wrapper tint_symbol_34;
thread uint3 tint_symbol_35 = 0u;
thread uint3 tint_symbol_36 = 0u;
thread int tint_symbol_37 = 0;
thread int tint_symbol_38 = 0;
thread int tint_symbol_39 = 0;
thread int tint_symbol_40 = 0;
tint_symbol_1_inner(x_48, x_165, x_185, x_54, gl_LocalInvocationID_param, gl_GlobalInvocationID_param, local_invocation_index, &(tint_symbol_33), &(tint_symbol_34), &(tint_symbol_35), &(tint_symbol_36), &(tint_symbol_37), &(tint_symbol_38), &(tint_symbol_39), &(tint_symbol_40));
return;
}

View File

@@ -164,13 +164,7 @@ struct tint_symbol_2 {
float4 glFragColor_1 : SV_Target0;
};
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const float2 tUV_param = tint_symbol.tUV_param;
const float2 tileID_1_param = tint_symbol.tileID_1_param;
const float2 levelUnits_param = tint_symbol.levelUnits_param;
const float2 stageUnits_1_param = tint_symbol.stageUnits_1_param;
const float3 vPosition_param = tint_symbol.vPosition_param;
const float2 vUV_param = tint_symbol.vUV_param;
main_out main_inner(float2 tUV_param, float2 tileID_1_param, float2 levelUnits_param, float2 stageUnits_1_param, float3 vPosition_param, float2 vUV_param) {
tUV = tUV_param;
tileID_1 = tileID_1_param;
levelUnits = levelUnits_param;
@@ -178,7 +172,13 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
vPosition = vPosition_param;
vUV = vUV_param;
main_1();
const main_out tint_symbol_3 = {glFragColor};
const tint_symbol_2 tint_symbol_7 = {tint_symbol_3.glFragColor_1};
return tint_symbol_7;
const main_out tint_symbol_6 = {glFragColor};
return tint_symbol_6;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const main_out inner_result = main_inner(tint_symbol.tUV_param, tint_symbol.tileID_1_param, tint_symbol.levelUnits_param, tint_symbol.stageUnits_1_param, tint_symbol.vPosition_param, tint_symbol.vUV_param);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.glFragColor_1 = inner_result.glFragColor_1;
return wrapper_result;
}

View File

@@ -29,21 +29,21 @@ struct tint_symbol_3 {
float4 glFragColor_1 [[color(0)]];
};
float4x4 getFrameData_f1_(constant LeftOver& x_20, thread float* const frameID, texture2d<float, access::sample> tint_symbol_6, sampler tint_symbol_7) {
float4x4 getFrameData_f1_(constant LeftOver& x_20, thread float* const frameID, texture2d<float, access::sample> tint_symbol_5, sampler tint_symbol_6) {
float fX = 0.0f;
float const x_15 = *(frameID);
float const x_25 = x_20.spriteCount;
fX = (x_15 / x_25);
float const x_37 = fX;
float4 const x_40 = tint_symbol_6.sample(tint_symbol_7, float2(x_37, 0.0f), bias(0.0f));
float4 const x_40 = tint_symbol_5.sample(tint_symbol_6, float2(x_37, 0.0f), bias(0.0f));
float const x_44 = fX;
float4 const x_47 = tint_symbol_6.sample(tint_symbol_7, float2(x_44, 0.25f), bias(0.0f));
float4 const x_47 = tint_symbol_5.sample(tint_symbol_6, float2(x_44, 0.25f), bias(0.0f));
float const x_51 = fX;
float4 const x_54 = tint_symbol_6.sample(tint_symbol_7, float2(x_51, 0.5f), bias(0.0f));
float4 const x_54 = tint_symbol_5.sample(tint_symbol_6, float2(x_51, 0.5f), bias(0.0f));
return float4x4(float4(x_40.x, x_40.y, x_40.z, x_40.w), float4(x_47.x, x_47.y, x_47.z, x_47.w), float4(x_54.x, x_54.y, x_54.z, x_54.w), float4(float4(0.0f, 0.0f, 0.0f, 0.0f).x, float4(0.0f, 0.0f, 0.0f, 0.0f).y, float4(0.0f, 0.0f, 0.0f, 0.0f).z, float4(0.0f, 0.0f, 0.0f, 0.0f).w));
}
void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture2d<float, access::sample> tint_symbol_9, sampler tint_symbol_10, texture2d<float, access::sample> tint_symbol_11, texture2d<float, access::sample> tint_symbol_12, sampler tint_symbol_13, thread float* const tint_symbol_14, texture2d<float, access::sample> tint_symbol_15, sampler tint_symbol_16, texture2d<float, access::sample> tint_symbol_17, sampler tint_symbol_18, thread float4* const tint_symbol_19) {
void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_7, texture2d<float, access::sample> tint_symbol_8, sampler tint_symbol_9, texture2d<float, access::sample> tint_symbol_10, texture2d<float, access::sample> tint_symbol_11, sampler tint_symbol_12, thread float* const tint_symbol_13, texture2d<float, access::sample> tint_symbol_14, sampler tint_symbol_15, texture2d<float, access::sample> tint_symbol_16, sampler tint_symbol_17, thread float4* const tint_symbol_18) {
float4 color = 0.0f;
float2 tileUV = 0.0f;
float2 tileID = 0.0f;
@@ -63,11 +63,11 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
float alpha = 0.0f;
float3 mixed = 0.0f;
color = float4(0.0f, 0.0f, 0.0f, 0.0f);
float2 const x_86 = *(tint_symbol_8);
float2 const x_86 = *(tint_symbol_7);
tileUV = fract(x_86);
float const x_91 = tileUV.y;
tileUV.y = (1.0f - x_91);
float2 const x_95 = *(tint_symbol_8);
float2 const x_95 = *(tint_symbol_7);
tileID = floor(x_95);
float2 const x_101 = x_20.spriteMapSize;
sheetUnits = (float2(1.0f, 1.0f) / x_101);
@@ -87,14 +87,14 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
case 1: {
float2 const x_150 = tileID;
float2 const x_154 = x_20.stageSize;
float4 const x_156 = tint_symbol_9.sample(tint_symbol_10, ((x_150 + float2(0.5f, 0.5f)) / x_154), bias(0.0f));
float4 const x_156 = tint_symbol_8.sample(tint_symbol_9, ((x_150 + float2(0.5f, 0.5f)) / x_154), bias(0.0f));
frameID_1 = x_156.x;
break;
}
case 0: {
float2 const x_136 = tileID;
float2 const x_140 = x_20.stageSize;
float4 const x_142 = tint_symbol_11.sample(tint_symbol_10, ((x_136 + float2(0.5f, 0.5f)) / x_140), bias(0.0f));
float4 const x_142 = tint_symbol_10.sample(tint_symbol_9, ((x_136 + float2(0.5f, 0.5f)) / x_140), bias(0.0f));
frameID_1 = x_142.x;
break;
}
@@ -104,13 +104,13 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
}
float const x_166 = frameID_1;
float const x_169 = x_20.spriteCount;
float4 const x_172 = tint_symbol_12.sample(tint_symbol_13, float2(((x_166 + 0.5f) / x_169), 0.0f), bias(0.0f));
float4 const x_172 = tint_symbol_11.sample(tint_symbol_12, float2(((x_166 + 0.5f) / x_169), 0.0f), bias(0.0f));
animationData = x_172;
float const x_174 = animationData.y;
if ((x_174 > 0.0f)) {
float const x_181 = x_20.time;
float const x_184 = animationData.z;
*(tint_symbol_14) = fmod((x_181 * x_184), 1.0f);
*(tint_symbol_13) = fmod((x_181 * x_184), 1.0f);
f = 0.0f;
while (true) {
float const x_193 = f;
@@ -119,7 +119,7 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
break;
}
float const x_197 = animationData.y;
float const x_198 = *(tint_symbol_14);
float const x_198 = *(tint_symbol_13);
if ((x_197 > x_198)) {
float const x_203 = animationData.x;
frameID_1 = x_203;
@@ -128,7 +128,7 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
float const x_208 = frameID_1;
float const x_211 = x_20.spriteCount;
float const x_214 = f;
float4 const x_217 = tint_symbol_12.sample(tint_symbol_13, float2(((x_208 + 0.5f) / x_211), (0.125f * x_214)), bias(0.0f));
float4 const x_217 = tint_symbol_11.sample(tint_symbol_12, float2(((x_208 + 0.5f) / x_211), (0.125f * x_214)), bias(0.0f));
animationData = x_217;
{
float const x_218 = f;
@@ -138,7 +138,7 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
}
float const x_222 = frameID_1;
param = (x_222 + 0.5f);
float4x4 const x_225 = getFrameData_f1_(x_20, &(param), tint_symbol_15, tint_symbol_16);
float4x4 const x_225 = getFrameData_f1_(x_20, &(param), tint_symbol_14, tint_symbol_15);
frameData = x_225;
float4 const x_228 = frameData[0];
float2 const x_231 = x_20.spriteMapSize;
@@ -159,13 +159,13 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
float2 const x_263 = tileUV;
float2 const x_264 = frameSize;
float2 const x_266 = offset_1;
float4 const x_268 = tint_symbol_17.sample(tint_symbol_18, ((x_263 * x_264) + x_266));
float4 const x_268 = tint_symbol_16.sample(tint_symbol_17, ((x_263 * x_264) + x_266));
color = x_268;
} else {
float2 const x_274 = tileUV;
float2 const x_275 = frameSize;
float2 const x_277 = offset_1;
float4 const x_279 = tint_symbol_17.sample(tint_symbol_18, ((x_274 * x_275) + x_277));
float4 const x_279 = tint_symbol_16.sample(tint_symbol_17, ((x_274 * x_275) + x_277));
nc = x_279;
float const x_283 = color.w;
float const x_285 = nc.w;
@@ -189,34 +189,34 @@ void main_1(constant LeftOver& x_20, thread float2* const tint_symbol_8, texture
float4 const x_314 = color;
color = float4(x_313.x, x_313.y, x_313.z, x_314.w);
float4 const x_318 = color;
*(tint_symbol_19) = x_318;
*(tint_symbol_18) = x_318;
return;
}
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_26 [[texture(6)]], sampler tint_symbol_27 [[sampler(4)]], texture2d<float, access::sample> tint_symbol_28 [[texture(5)]], texture2d<float, access::sample> tint_symbol_29 [[texture(8)]], sampler tint_symbol_30 [[sampler(7)]], texture2d<float, access::sample> tint_symbol_32 [[texture(3)]], sampler tint_symbol_33 [[sampler(2)]], texture2d<float, access::sample> tint_symbol_34 [[texture(1)]], sampler tint_symbol_35 [[sampler(0)]], tint_symbol_2 tint_symbol_1 [[stage_in]], constant LeftOver& x_20 [[buffer(9)]]) {
thread float2 tint_symbol_20 = 0.0f;
thread float2 tint_symbol_21 = 0.0f;
thread float2 tint_symbol_22 = 0.0f;
thread float2 tint_symbol_23 = 0.0f;
thread float3 tint_symbol_24 = 0.0f;
thread float2 tint_symbol_25 = 0.0f;
thread float tint_symbol_31 = 0.0f;
thread float4 tint_symbol_36 = 0.0f;
float2 const tUV_param = tint_symbol_1.tUV_param;
float2 const tileID_1_param = tint_symbol_1.tileID_1_param;
float2 const levelUnits_param = tint_symbol_1.levelUnits_param;
float2 const stageUnits_1_param = tint_symbol_1.stageUnits_1_param;
float3 const vPosition_param = tint_symbol_1.vPosition_param;
float2 const vUV_param = tint_symbol_1.vUV_param;
tint_symbol_20 = tUV_param;
tint_symbol_21 = tileID_1_param;
tint_symbol_22 = levelUnits_param;
tint_symbol_23 = stageUnits_1_param;
tint_symbol_24 = vPosition_param;
tint_symbol_25 = vUV_param;
main_1(x_20, &(tint_symbol_20), tint_symbol_26, tint_symbol_27, tint_symbol_28, tint_symbol_29, tint_symbol_30, &(tint_symbol_31), tint_symbol_32, tint_symbol_33, tint_symbol_34, tint_symbol_35, &(tint_symbol_36));
main_out const tint_symbol_4 = {.glFragColor_1=tint_symbol_36};
tint_symbol_3 const tint_symbol_5 = {.glFragColor_1=tint_symbol_4.glFragColor_1};
return tint_symbol_5;
main_out tint_symbol_inner(constant LeftOver& x_20, float2 tUV_param, float2 tileID_1_param, float2 levelUnits_param, float2 stageUnits_1_param, float3 vPosition_param, float2 vUV_param, thread float2* const tint_symbol_19, thread float2* const tint_symbol_20, thread float2* const tint_symbol_21, thread float2* const tint_symbol_22, thread float3* const tint_symbol_23, thread float2* const tint_symbol_24, texture2d<float, access::sample> tint_symbol_25, sampler tint_symbol_26, texture2d<float, access::sample> tint_symbol_27, texture2d<float, access::sample> tint_symbol_28, sampler tint_symbol_29, thread float* const tint_symbol_30, texture2d<float, access::sample> tint_symbol_31, sampler tint_symbol_32, texture2d<float, access::sample> tint_symbol_33, sampler tint_symbol_34, thread float4* const tint_symbol_35) {
*(tint_symbol_19) = tUV_param;
*(tint_symbol_20) = tileID_1_param;
*(tint_symbol_21) = levelUnits_param;
*(tint_symbol_22) = stageUnits_1_param;
*(tint_symbol_23) = vPosition_param;
*(tint_symbol_24) = vUV_param;
main_1(x_20, tint_symbol_19, tint_symbol_25, tint_symbol_26, tint_symbol_27, tint_symbol_28, tint_symbol_29, tint_symbol_30, tint_symbol_31, tint_symbol_32, tint_symbol_33, tint_symbol_34, tint_symbol_35);
main_out const tint_symbol_4 = {.glFragColor_1=*(tint_symbol_35)};
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)]]) {
thread float2 tint_symbol_36 = 0.0f;
thread float2 tint_symbol_37 = 0.0f;
thread float2 tint_symbol_38 = 0.0f;
thread float2 tint_symbol_39 = 0.0f;
thread float3 tint_symbol_40 = 0.0f;
thread float2 tint_symbol_41 = 0.0f;
thread float tint_symbol_47 = 0.0f;
thread float4 tint_symbol_52 = 0.0f;
main_out const inner_result = tint_symbol_inner(x_20, tint_symbol_1.tUV_param, tint_symbol_1.tileID_1_param, tint_symbol_1.levelUnits_param, tint_symbol_1.stageUnits_1_param, tint_symbol_1.vPosition_param, tint_symbol_1.vUV_param, &(tint_symbol_36), &(tint_symbol_37), &(tint_symbol_38), &(tint_symbol_39), &(tint_symbol_40), &(tint_symbol_41), tint_symbol_42, tint_symbol_43, tint_symbol_44, tint_symbol_45, tint_symbol_46, &(tint_symbol_47), tint_symbol_48, tint_symbol_49, tint_symbol_50, tint_symbol_51, &(tint_symbol_52));
tint_symbol_3 wrapper_result = {};
wrapper_result.glFragColor_1 = inner_result.glFragColor_1;
return wrapper_result;
}

View File

@@ -324,19 +324,20 @@ struct tint_symbol_2 {
float4 glFragColor_1 : SV_Target0;
};
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const float2 vMainuv_param = tint_symbol.vMainuv_param;
const float4 v_output1_param = tint_symbol.v_output1_param;
const bool gl_FrontFacing_param = tint_symbol.gl_FrontFacing_param;
const float2 v_uv_param = tint_symbol.v_uv_param;
const float4 v_output2_param = tint_symbol.v_output2_param;
main_out main_inner(float2 vMainuv_param, float4 v_output1_param, bool gl_FrontFacing_param, float2 v_uv_param, float4 v_output2_param) {
vMainuv = vMainuv_param;
v_output1 = v_output1_param;
gl_FrontFacing = gl_FrontFacing_param;
v_uv = v_uv_param;
v_output2 = v_output2_param;
main_1();
const main_out tint_symbol_3 = {glFragColor};
const tint_symbol_2 tint_symbol_9 = {tint_symbol_3.glFragColor_1};
return tint_symbol_9;
const main_out tint_symbol_8 = {glFragColor};
return tint_symbol_8;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const main_out inner_result = main_inner(tint_symbol.vMainuv_param, tint_symbol.v_output1_param, tint_symbol.gl_FrontFacing_param, tint_symbol.v_uv_param, tint_symbol.v_output2_param);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.glFragColor_1 = inner_result.glFragColor_1;
return wrapper_result;
}

View File

@@ -171,7 +171,7 @@ lightingInfo computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(thread float
return x_245;
}
void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* const tint_symbol_6, thread float3* const tint_symbol_7, thread float2* const tint_symbol_8, texture2d<float, access::sample> tint_symbol_9, sampler tint_symbol_10, thread float4* const tint_symbol_11, thread bool* const tint_symbol_12, thread float2* const tint_symbol_13, thread float4* const tint_symbol_14, texture2d<float, access::sample> tint_symbol_15, sampler tint_symbol_16, thread float4* const tint_symbol_17) {
void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* const tint_symbol_5, thread float3* const tint_symbol_6, thread float2* const tint_symbol_7, texture2d<float, access::sample> tint_symbol_8, sampler tint_symbol_9, thread float4* const tint_symbol_10, thread bool* const tint_symbol_11, thread float2* const tint_symbol_12, thread float4* const tint_symbol_13, texture2d<float, access::sample> tint_symbol_14, sampler tint_symbol_15, thread float4* const tint_symbol_16) {
float4 tempTextureRead = 0.0f;
float3 rgb = 0.0f;
float3 output5 = 0.0f;
@@ -225,35 +225,35 @@ void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* con
float3 diffuseOutput = 0.0f;
float3 specularOutput = 0.0f;
float3 output3 = 0.0f;
*(tint_symbol_6) = 100.0f;
*(tint_symbol_7) = float3(0.5f, 0.5f, 0.5f);
float2 const x_261 = *(tint_symbol_8);
float4 const x_262 = tint_symbol_9.sample(tint_symbol_10, x_261);
*(tint_symbol_5) = 100.0f;
*(tint_symbol_6) = float3(0.5f, 0.5f, 0.5f);
float2 const x_261 = *(tint_symbol_7);
float4 const x_262 = tint_symbol_8.sample(tint_symbol_9, x_261);
tempTextureRead = x_262;
float4 const x_264 = tempTextureRead;
float const x_273 = x_269.textureInfoName;
rgb = (float3(x_264.x, x_264.y, x_264.z) * x_273);
float3 const x_279 = x_269.u_cameraPosition;
float4 const x_282 = *(tint_symbol_11);
float4 const x_282 = *(tint_symbol_10);
output5 = normalize((x_279 - float3(x_282.x, x_282.y, x_282.z)));
output4 = float4(0.0f, 0.0f, 0.0f, 0.0f);
uvOffset = float2(0.0f, 0.0f);
float const x_292 = x_269.u_bumpStrength;
normalScale = (1.0f / x_292);
bool const x_298 = *(tint_symbol_12);
bool const x_298 = *(tint_symbol_11);
if (x_298) {
float2 const x_303 = *(tint_symbol_13);
float2 const x_303 = *(tint_symbol_12);
x_299 = x_303;
} else {
float2 const x_305 = *(tint_symbol_13);
float2 const x_305 = *(tint_symbol_12);
x_299 = -(x_305);
}
float2 const x_307 = x_299;
TBNUV = x_307;
float4 const x_310 = *(tint_symbol_14);
float4 const x_310 = *(tint_symbol_13);
float const x_312 = normalScale;
param_3 = (float3(x_310.x, x_310.y, x_310.z) * x_312);
float4 const x_317 = *(tint_symbol_11);
float4 const x_317 = *(tint_symbol_10);
param_4 = float3(x_317.x, x_317.y, x_317.z);
float2 const x_320 = TBNUV;
param_5 = x_320;
@@ -284,7 +284,7 @@ void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* con
float3x3 const x_361 = invTBN;
float3 const x_362 = output5;
float3x3 const x_365 = invTBN;
float4 const x_366 = *(tint_symbol_14);
float4 const x_366 = *(tint_symbol_13);
numSamples = (15.0f + (dot((x_361 * -(x_362)), (x_365 * float3(x_366.x, x_366.y, x_366.z))) * -11.0f));
float const x_374 = numSamples;
stepSize = (1.0f / x_374);
@@ -300,9 +300,9 @@ void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* con
} else {
break;
}
float2 const x_394 = *(tint_symbol_13);
float2 const x_394 = *(tint_symbol_12);
float2 const x_395 = vCurrOffset;
float4 const x_397 = tint_symbol_9.sample(tint_symbol_10, (x_394 + x_395));
float4 const x_397 = tint_symbol_8.sample(tint_symbol_9, (x_394 + x_395));
currSampledHeight = x_397.w;
float const x_400 = currSampledHeight;
float const x_401 = currRayHeight;
@@ -346,9 +346,9 @@ void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* con
parallaxOcclusion_0 = x_444;
float2 const x_445 = parallaxOcclusion_0;
uvOffset = x_445;
float2 const x_449 = *(tint_symbol_13);
float2 const x_449 = *(tint_symbol_12);
float2 const x_450 = uvOffset;
float4 const x_452 = tint_symbol_9.sample(tint_symbol_10, (x_449 + x_450));
float4 const x_452 = tint_symbol_8.sample(tint_symbol_9, (x_449 + x_450));
float const x_454 = x_269.u_bumpStrength;
float3x3 const x_457 = TBN;
param_8 = x_457;
@@ -357,19 +357,19 @@ void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* con
float3 const x_461 = perturbNormal_mf33_vf3_f1_(&(param_8), &(param_9), &(param_10));
float4 const x_462 = output4;
output4 = float4(x_461.x, x_461.y, x_461.z, x_462.w);
float2 const x_465 = *(tint_symbol_13);
float2 const x_465 = *(tint_symbol_12);
float2 const x_466 = uvOffset;
output6 = (x_465 + x_466);
float2 const x_474 = output6;
float4 const x_475 = tint_symbol_15.sample(tint_symbol_16, x_474);
float4 const x_475 = tint_symbol_14.sample(tint_symbol_15, x_474);
tempTextureRead1 = x_475;
float4 const x_477 = tempTextureRead1;
rgb1 = float3(x_477.x, x_477.y, x_477.z);
float3 const x_481 = x_269.u_cameraPosition;
float4 const x_482 = *(tint_symbol_11);
float4 const x_482 = *(tint_symbol_10);
viewDirectionW_1 = normalize((x_481 - float3(x_482.x, x_482.y, x_482.z)));
shadow = 1.0f;
float const x_488 = *(tint_symbol_6);
float const x_488 = *(tint_symbol_5);
glossiness_1 = (1.0f * x_488);
diffuseBase = float3(0.0f, 0.0f, 0.0f);
specularBase = float3(0.0f, 0.0f, 0.0f);
@@ -404,37 +404,39 @@ void main_1(constant LeftOver& x_269, constant Light0& light0, thread float* con
float3 const x_536 = rgb1;
diffuseOutput = (x_535 * x_536);
float3 const x_539 = specularBase;
float3 const x_540 = *(tint_symbol_7);
float3 const x_540 = *(tint_symbol_6);
specularOutput = (x_539 * x_540);
float3 const x_543 = diffuseOutput;
float3 const x_544 = specularOutput;
output3 = (x_543 + x_544);
float3 const x_548 = output3;
*(tint_symbol_17) = float4(x_548.x, x_548.y, x_548.z, 1.0f);
*(tint_symbol_16) = float4(x_548.x, x_548.y, x_548.z, 1.0f);
return;
}
fragment tint_symbol_3 tint_symbol(texture2d<float, access::sample> tint_symbol_25 [[texture(1)]], sampler tint_symbol_26 [[sampler(0)]], texture2d<float, access::sample> tint_symbol_27 [[texture(3)]], sampler tint_symbol_28 [[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)]]) {
thread float2 tint_symbol_18 = 0.0f;
thread float4 tint_symbol_19 = 0.0f;
thread bool tint_symbol_20 = false;
thread float2 tint_symbol_21 = 0.0f;
thread float4 tint_symbol_22 = 0.0f;
thread float tint_symbol_23 = 0.0f;
thread float3 tint_symbol_24 = 0.0f;
thread float4 tint_symbol_29 = 0.0f;
float2 const vMainuv_param = tint_symbol_1.vMainuv_param;
float4 const v_output1_param = tint_symbol_1.v_output1_param;
float2 const v_uv_param = tint_symbol_1.v_uv_param;
float4 const v_output2_param = tint_symbol_1.v_output2_param;
tint_symbol_18 = vMainuv_param;
tint_symbol_19 = v_output1_param;
tint_symbol_20 = gl_FrontFacing_param;
tint_symbol_21 = v_uv_param;
tint_symbol_22 = v_output2_param;
main_1(x_269, light0, &(tint_symbol_23), &(tint_symbol_24), &(tint_symbol_18), tint_symbol_25, tint_symbol_26, &(tint_symbol_19), &(tint_symbol_20), &(tint_symbol_21), &(tint_symbol_22), tint_symbol_27, tint_symbol_28, &(tint_symbol_29));
main_out const tint_symbol_4 = {.glFragColor_1=tint_symbol_29};
tint_symbol_3 const tint_symbol_5 = {.glFragColor_1=tint_symbol_4.glFragColor_1};
return tint_symbol_5;
main_out tint_symbol_inner(constant LeftOver& x_269, constant Light0& light0, float2 vMainuv_param, float4 v_output1_param, bool gl_FrontFacing_param, float2 v_uv_param, float4 v_output2_param, thread float2* const tint_symbol_17, thread float4* const tint_symbol_18, thread bool* const tint_symbol_19, thread float2* const tint_symbol_20, thread float4* const tint_symbol_21, thread float* const tint_symbol_22, thread float3* const tint_symbol_23, texture2d<float, access::sample> tint_symbol_24, sampler tint_symbol_25, texture2d<float, access::sample> tint_symbol_26, sampler tint_symbol_27, thread float4* const tint_symbol_28) {
*(tint_symbol_17) = vMainuv_param;
*(tint_symbol_18) = v_output1_param;
*(tint_symbol_19) = gl_FrontFacing_param;
*(tint_symbol_20) = v_uv_param;
*(tint_symbol_21) = v_output2_param;
main_1(x_269, light0, tint_symbol_22, tint_symbol_23, tint_symbol_17, tint_symbol_24, tint_symbol_25, tint_symbol_18, tint_symbol_19, tint_symbol_20, tint_symbol_21, tint_symbol_26, tint_symbol_27, tint_symbol_28);
main_out const tint_symbol_4 = {.glFragColor_1=*(tint_symbol_28)};
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)]]) {
thread float2 tint_symbol_29 = 0.0f;
thread float4 tint_symbol_30 = 0.0f;
thread bool tint_symbol_31 = false;
thread float2 tint_symbol_32 = 0.0f;
thread float4 tint_symbol_33 = 0.0f;
thread float tint_symbol_34 = 0.0f;
thread float3 tint_symbol_35 = 0.0f;
thread float4 tint_symbol_40 = 0.0f;
main_out const inner_result = tint_symbol_inner(x_269, light0, tint_symbol_1.vMainuv_param, tint_symbol_1.v_output1_param, gl_FrontFacing_param, tint_symbol_1.v_uv_param, tint_symbol_1.v_output2_param, &(tint_symbol_29), &(tint_symbol_30), &(tint_symbol_31), &(tint_symbol_32), &(tint_symbol_33), &(tint_symbol_34), &(tint_symbol_35), tint_symbol_36, tint_symbol_37, tint_symbol_38, tint_symbol_39, &(tint_symbol_40));
tint_symbol_3 wrapper_result = {};
wrapper_result.glFragColor_1 = inner_result.glFragColor_1;
return wrapper_result;
}

View File

@@ -53,10 +53,13 @@ struct tint_symbol_1 {
uint3 gl_GlobalInvocationID_param : SV_DispatchThreadID;
};
[numthreads(128, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 gl_GlobalInvocationID_param = tint_symbol.gl_GlobalInvocationID_param;
void main_inner(uint3 gl_GlobalInvocationID_param) {
gl_GlobalInvocationID = gl_GlobalInvocationID_param;
main_1();
}
[numthreads(128, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.gl_GlobalInvocationID_param);
return;
}

View File

@@ -15,8 +15,8 @@ struct Uniforms {
/* 0x0010 */ int size;
};
float getAAtOutCoords_(const device ssbA& x_20, thread uint3* const tint_symbol_3) {
uint const x_42 = (*(tint_symbol_3)).x;
float getAAtOutCoords_(const device ssbA& x_20, thread uint3* const tint_symbol_2) {
uint const x_42 = (*(tint_symbol_2)).x;
float const x_44 = x_20.A[x_42];
return x_44;
}
@@ -37,18 +37,18 @@ void setOutput_i1_f1_(device ssbOut& x_16, thread int* const flatIndex, thread f
return;
}
void main_1(constant Uniforms& x_24, const device ssbA& x_20, device ssbOut& x_16, thread uint3* const tint_symbol_4) {
void main_1(constant Uniforms& x_24, const device ssbA& x_20, device ssbOut& x_16, thread uint3* const tint_symbol_3) {
int index = 0;
float a_1 = 0.0f;
float param = 0.0f;
int param_1 = 0;
float param_2 = 0.0f;
uint const x_61 = (*(tint_symbol_4)).x;
uint const x_61 = (*(tint_symbol_3)).x;
index = as_type<int>(x_61);
int const x_63 = index;
int const x_70 = x_24.size;
if ((x_63 < x_70)) {
float const x_75 = getAAtOutCoords_(x_20, tint_symbol_4);
float const x_75 = getAAtOutCoords_(x_20, tint_symbol_3);
a_1 = x_75;
float const x_77 = a_1;
param = x_77;
@@ -61,10 +61,14 @@ void main_1(constant Uniforms& x_24, const device ssbA& x_20, device ssbOut& x_1
return;
}
void tint_symbol_1_inner(constant Uniforms& x_24, const device ssbA& x_20, device ssbOut& x_16, uint3 gl_GlobalInvocationID_param, thread uint3* const tint_symbol_4) {
*(tint_symbol_4) = gl_GlobalInvocationID_param;
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)]]) {
thread uint3 tint_symbol_5 = 0u;
tint_symbol_5 = gl_GlobalInvocationID_param;
main_1(x_24, x_20, x_16, &(tint_symbol_5));
tint_symbol_1_inner(x_24, x_20, x_16, gl_GlobalInvocationID_param, &(tint_symbol_5));
return;
}

View File

@@ -46,10 +46,13 @@ struct tint_symbol_1 {
uint3 gl_GlobalInvocationID_param : SV_DispatchThreadID;
};
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint3 gl_GlobalInvocationID_param = tint_symbol.gl_GlobalInvocationID_param;
void main_inner(uint3 gl_GlobalInvocationID_param) {
gl_GlobalInvocationID = gl_GlobalInvocationID_param;
main_1();
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.gl_GlobalInvocationID_param);
return;
}

View File

@@ -37,12 +37,12 @@ float binaryOperation_f1_f1_(thread float* const a, thread float* const b) {
return x_41;
}
void main_1(device ResultMatrix& resultMatrix, thread uint3* const tint_symbol_3) {
void main_1(device ResultMatrix& resultMatrix, thread uint3* const tint_symbol_2) {
int index = 0;
int a_1 = 0;
float param = 0.0f;
float param_1 = 0.0f;
uint const x_54 = (*(tint_symbol_3)).x;
uint const x_54 = (*(tint_symbol_2)).x;
index = as_type<int>(x_54);
a_1 = -10;
int const x_63 = index;
@@ -53,10 +53,14 @@ void main_1(device ResultMatrix& resultMatrix, thread uint3* const tint_symbol_3
return;
}
void tint_symbol_1_inner(device ResultMatrix& resultMatrix, uint3 gl_GlobalInvocationID_param, thread uint3* const tint_symbol_3) {
*(tint_symbol_3) = gl_GlobalInvocationID_param;
main_1(resultMatrix, tint_symbol_3);
}
kernel void tint_symbol_1(uint3 gl_GlobalInvocationID_param [[thread_position_in_grid]], device ResultMatrix& resultMatrix [[buffer(2)]]) {
thread uint3 tint_symbol_4 = 0u;
tint_symbol_4 = gl_GlobalInvocationID_param;
main_1(resultMatrix, &(tint_symbol_4));
tint_symbol_1_inner(resultMatrix, gl_GlobalInvocationID_param, &(tint_symbol_4));
return;
}

View File

@@ -15,12 +15,18 @@ struct tint_symbol_3 {
float4 color : SV_Target0;
};
tint_symbol_3 main(tint_symbol_2 tint_symbol_1) {
const FragmentInput fIn = {tint_symbol_1.vUv};
FragmentOutput main_inner(FragmentInput fIn) {
const float tint_symbol = depthMap.Sample(texSampler, fIn.vUv).x;
const float3 color = float3(tint_symbol, tint_symbol, tint_symbol);
FragmentOutput fOut = (FragmentOutput)0;
fOut.color = float4(color, 1.0f);
const tint_symbol_3 tint_symbol_4 = {fOut.color};
return tint_symbol_4;
return fOut;
}
tint_symbol_3 main(tint_symbol_2 tint_symbol_1) {
const FragmentInput tint_symbol_4 = {tint_symbol_1.vUv};
const FragmentOutput inner_result = main_inner(tint_symbol_4);
tint_symbol_3 wrapper_result = (tint_symbol_3)0;
wrapper_result.color = inner_result.color;
return wrapper_result;
}

View File

@@ -14,13 +14,19 @@ struct tint_symbol_3 {
float4 color [[color(0)]];
};
fragment tint_symbol_3 tint_symbol(depth2d<float, access::sample> tint_symbol_5 [[texture(5)]], sampler tint_symbol_6 [[sampler(3)]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
FragmentInput const fIn = {.vUv=tint_symbol_1.vUv};
FragmentOutput tint_symbol_inner(FragmentInput fIn, depth2d<float, access::sample> tint_symbol_5, sampler tint_symbol_6) {
float const sample = tint_symbol_5.sample(tint_symbol_6, fIn.vUv);
float3 const color = float3(sample, sample, sample);
FragmentOutput fOut = {};
fOut.color = float4(color, 1.0f);
tint_symbol_3 const tint_symbol_4 = {.color=fOut.color};
return tint_symbol_4;
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]]) {
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 = {};
wrapper_result.color = inner_result.color;
return wrapper_result;
}

View File

@@ -14,9 +14,12 @@ struct tint_symbol_1 {
uint idx : SV_GroupIndex;
};
void main_inner(uint idx) {
io.Store3(0u, asuint(Bad(io.Load(12u), asfloat(io.Load3(0u)))));
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
const uint idx = tint_symbol.idx;
io.Store3(0u, asuint(Bad(io.Load(12u), asfloat(io.Load3(0u)))));
main_inner(tint_symbol.idx);
return;
}

View File

@@ -12,8 +12,12 @@ float3 Bad(uint index, float3 rd) {
return normalize(normal);
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], device S& io [[buffer(0)]]) {
void tint_symbol_inner(device S& io, uint idx) {
io.v = Bad(io.i, io.v);
}
kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], device S& io [[buffer(0)]]) {
tint_symbol_inner(io, idx);
return;
}

View File

@@ -2,9 +2,15 @@ struct tint_symbol {
float4 value : SV_Target0;
};
tint_symbol frag_main() {
float4 frag_main_inner() {
float b = 0.0f;
float3 v = float3((b).xxx);
const tint_symbol tint_symbol_1 = {float4(v, 1.0f)};
return tint_symbol_1;
return float4(v, 1.0f);
}
tint_symbol frag_main() {
const float4 inner_result = frag_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}

View File

@@ -5,10 +5,16 @@ struct tint_symbol {
float4 value [[color(0)]];
};
fragment tint_symbol frag_main() {
float4 frag_main_inner() {
float b = 0.0f;
float3 v = float3(b);
tint_symbol const tint_symbol_1 = {.value=float4(v, 1.0f)};
return tint_symbol_1;
return float4(v, 1.0f);
}
fragment tint_symbol frag_main() {
float4 const inner_result = frag_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}

View File

@@ -12,9 +12,15 @@ struct tint_symbol {
float4 out_var_SV_TARGET_1 : SV_Target0;
};
tint_symbol main() {
main_out main_inner() {
main_1();
const main_out tint_symbol_1 = {out_var_SV_TARGET};
const tint_symbol tint_symbol_2 = {tint_symbol_1.out_var_SV_TARGET_1};
return tint_symbol_2;
return tint_symbol_1;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.out_var_SV_TARGET_1 = inner_result.out_var_SV_TARGET_1;
return wrapper_result;
}

View File

@@ -8,16 +8,22 @@ struct tint_symbol_1 {
float4 out_var_SV_TARGET_1 [[color(0)]];
};
void main_1(thread float4* const tint_symbol_4) {
*(tint_symbol_4) = float4(-INFINITY, -INFINITY, -INFINITY, -INFINITY);
void main_1(thread float4* const tint_symbol_3) {
*(tint_symbol_3) = float4(-INFINITY, -INFINITY, -INFINITY, -INFINITY);
return;
}
main_out tint_symbol_inner(thread float4* const tint_symbol_4) {
main_1(tint_symbol_4);
main_out const tint_symbol_2 = {.out_var_SV_TARGET_1=*(tint_symbol_4)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol() {
thread float4 tint_symbol_5 = 0.0f;
main_1(&(tint_symbol_5));
main_out const tint_symbol_2 = {.out_var_SV_TARGET_1=tint_symbol_5};
tint_symbol_1 const tint_symbol_3 = {.out_var_SV_TARGET_1=tint_symbol_2.out_var_SV_TARGET_1};
return tint_symbol_3;
main_out const inner_result = tint_symbol_inner(&(tint_symbol_5));
tint_symbol_1 wrapper_result = {};
wrapper_result.out_var_SV_TARGET_1 = inner_result.out_var_SV_TARGET_1;
return wrapper_result;
}

View File

@@ -12,9 +12,15 @@ struct tint_symbol {
float4 out_var_SV_TARGET_1 : SV_Target0;
};
tint_symbol main() {
main_out main_inner() {
main_1();
const main_out tint_symbol_1 = {out_var_SV_TARGET};
const tint_symbol tint_symbol_2 = {tint_symbol_1.out_var_SV_TARGET_1};
return tint_symbol_2;
return tint_symbol_1;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.out_var_SV_TARGET_1 = inner_result.out_var_SV_TARGET_1;
return wrapper_result;
}

View File

@@ -8,16 +8,22 @@ struct tint_symbol_1 {
float4 out_var_SV_TARGET_1 [[color(0)]];
};
void main_1(thread float4* const tint_symbol_4) {
*(tint_symbol_4) = float4(INFINITY, INFINITY, INFINITY, INFINITY);
void main_1(thread float4* const tint_symbol_3) {
*(tint_symbol_3) = float4(INFINITY, INFINITY, INFINITY, INFINITY);
return;
}
main_out tint_symbol_inner(thread float4* const tint_symbol_4) {
main_1(tint_symbol_4);
main_out const tint_symbol_2 = {.out_var_SV_TARGET_1=*(tint_symbol_4)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol() {
thread float4 tint_symbol_5 = 0.0f;
main_1(&(tint_symbol_5));
main_out const tint_symbol_2 = {.out_var_SV_TARGET_1=tint_symbol_5};
tint_symbol_1 const tint_symbol_3 = {.out_var_SV_TARGET_1=tint_symbol_2.out_var_SV_TARGET_1};
return tint_symbol_3;
main_out const inner_result = tint_symbol_inner(&(tint_symbol_5));
tint_symbol_1 wrapper_result = {};
wrapper_result.out_var_SV_TARGET_1 = inner_result.out_var_SV_TARGET_1;
return wrapper_result;
}

View File

@@ -12,9 +12,15 @@ struct tint_symbol {
float4 out_var_SV_TARGET_1 : SV_Target0;
};
tint_symbol main() {
main_out main_inner() {
main_1();
const main_out tint_symbol_1 = {out_var_SV_TARGET};
const tint_symbol tint_symbol_2 = {tint_symbol_1.out_var_SV_TARGET_1};
return tint_symbol_2;
return tint_symbol_1;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.out_var_SV_TARGET_1 = inner_result.out_var_SV_TARGET_1;
return wrapper_result;
}

View File

@@ -8,16 +8,22 @@ struct tint_symbol_1 {
float4 out_var_SV_TARGET_1 [[color(0)]];
};
void main_1(thread float4* const tint_symbol_4) {
*(tint_symbol_4) = float4(NAN, NAN, NAN, NAN);
void main_1(thread float4* const tint_symbol_3) {
*(tint_symbol_3) = float4(NAN, NAN, NAN, NAN);
return;
}
main_out tint_symbol_inner(thread float4* const tint_symbol_4) {
main_1(tint_symbol_4);
main_out const tint_symbol_2 = {.out_var_SV_TARGET_1=*(tint_symbol_4)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol() {
thread float4 tint_symbol_5 = 0.0f;
main_1(&(tint_symbol_5));
main_out const tint_symbol_2 = {.out_var_SV_TARGET_1=tint_symbol_5};
tint_symbol_1 const tint_symbol_3 = {.out_var_SV_TARGET_1=tint_symbol_2.out_var_SV_TARGET_1};
return tint_symbol_3;
main_out const inner_result = tint_symbol_inner(&(tint_symbol_5));
tint_symbol_1 wrapper_result = {};
wrapper_result.out_var_SV_TARGET_1 = inner_result.out_var_SV_TARGET_1;
return wrapper_result;
}

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_002533();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_002533() {
float4 res = fabs(float4());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_002533();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_005174();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_005174() {
float3 res = fabs(float3());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_005174();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_1ce782();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_1ce782() {
uint4 res = abs(uint4());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_1ce782();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_1e9d53();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_1e9d53() {
float2 res = fabs(float2());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_1e9d53();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_467cd1();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_467cd1() {
uint res = abs(1u);
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_467cd1();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_4ad288();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_4ad288() {
int res = abs(1);
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_4ad288();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_5ad50a();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_5ad50a() {
int3 res = abs(int3());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_5ad50a();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_7326de();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_7326de() {
uint3 res = abs(uint3());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_7326de();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_7f28e6();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_7f28e6() {
uint2 res = abs(uint2());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_7f28e6();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_7faa9e();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_7faa9e() {
int2 res = abs(int2());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_7faa9e();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_9c80a6();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_9c80a6() {
int4 res = abs(int4());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_9c80a6();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_b96037();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void abs_b96037() {
float res = fabs(1.0f);
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
abs_b96037();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_489247();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void acos_489247() {
float res = acos(1.0f);
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_489247();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_8e2acf();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void acos_8e2acf() {
float4 res = acos(float4());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_8e2acf();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_a610c4();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void acos_a610c4() {
float3 res = acos(float3());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_a610c4();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_dfc915();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void acos_dfc915() {
float2 res = acos(float2());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
acos_dfc915();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

View File

@@ -6,10 +6,16 @@ struct tint_symbol {
float4 value : SV_Position;
};
tint_symbol vertex_main() {
float4 vertex_main_inner() {
all_986c7b();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
return tint_symbol_1;
return float4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {

View File

@@ -9,10 +9,16 @@ void all_986c7b() {
bool res = all(bool4());
}
vertex tint_symbol vertex_main() {
float4 vertex_main_inner() {
all_986c7b();
tint_symbol const tint_symbol_1 = {.value=float4()};
return tint_symbol_1;
return float4();
}
vertex tint_symbol vertex_main() {
float4 const inner_result = vertex_main_inner();
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main() {

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