blob: ec347b19f246170f87ce825781f668396d891bb8 [file] [log] [blame]
James Price456cf282024-06-11 18:24:06 +00001#include <metal_stdlib>
2using namespace metal;
3struct tint_module_vars_struct {
4 depthcube<float, access::sample> arg_0;
5 device uint2* prevent_dce;
6};
James Price2cc6b3c2024-06-13 20:31:41 +00007struct VertexOutput {
8 float4 pos;
9 uint2 prevent_dce;
10};
James Price456cf282024-06-11 18:24:06 +000011struct vertex_main_outputs {
James Price2cc6b3c2024-06-13 20:31:41 +000012 float4 VertexOutput_pos [[position]];
13 uint2 VertexOutput_prevent_dce [[user(locn0)]] [[flat]];
James Price456cf282024-06-11 18:24:06 +000014};
dan sinclairf1f381a2023-11-22 09:44:15 +000015
James Price2cc6b3c2024-06-13 20:31:41 +000016uint2 textureDimensions_c5a36e(tint_module_vars_struct tint_module_vars) {
James Price456cf282024-06-11 18:24:06 +000017 uint const v = tint_module_vars.arg_0.get_width(0u);
18 uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
James Price2cc6b3c2024-06-13 20:31:41 +000019 return res;
dan sinclairf1f381a2023-11-22 09:44:15 +000020}
James Price456cf282024-06-11 18:24:06 +000021fragment void fragment_main(depthcube<float, access::sample> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
22 tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
James Price2cc6b3c2024-06-13 20:31:41 +000023 (*tint_module_vars.prevent_dce) = textureDimensions_c5a36e(tint_module_vars);
dan sinclairf1f381a2023-11-22 09:44:15 +000024}
James Price456cf282024-06-11 18:24:06 +000025kernel void compute_main(depthcube<float, access::sample> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
26 tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
James Price2cc6b3c2024-06-13 20:31:41 +000027 (*tint_module_vars.prevent_dce) = textureDimensions_c5a36e(tint_module_vars);
dan sinclairf1f381a2023-11-22 09:44:15 +000028}
James Price2cc6b3c2024-06-13 20:31:41 +000029VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) {
30 VertexOutput out = {};
31 out.pos = float4(0.0f);
32 out.prevent_dce = textureDimensions_c5a36e(tint_module_vars);
33 return out;
34}
35vertex vertex_main_outputs vertex_main(depthcube<float, access::sample> arg_0 [[texture(0)]]) {
36 tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0};
37 VertexOutput const v_1 = vertex_main_inner(tint_module_vars);
38 return vertex_main_outputs{.VertexOutput_pos=v_1.pos, .VertexOutput_prevent_dce=v_1.prevent_dce};
dan sinclairf1f381a2023-11-22 09:44:15 +000039}