dawn-cmake/test/tint/builtins/textureLoad/texture_param.wgsl.expected.msl
Ben Clayton cb6ddd2aa6 tint/writer/msl: Inline constant expressions
This is required to handle materialized values, and for constant
expressions.

Bug: tint:1504
Change-Id: Ic3ac62317241fa6f7009360128f222aeb56f62e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92083
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-06-01 10:08:29 +00:00

38 lines
1.0 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
int4 textureLoad2d(texture2d<int, access::sample> tint_symbol, int2 coords, int level) {
return tint_symbol.read(uint2(coords), level);
}
void doTextureLoad(texture2d<int, access::sample> tint_symbol_2) {
int4 res = textureLoad2d(tint_symbol_2, int2(0), 0);
}
struct tint_symbol_1 {
float4 value [[position]];
};
float4 vertex_main_inner(texture2d<int, access::sample> tint_symbol_3) {
doTextureLoad(tint_symbol_3);
return float4(0.0f);
}
vertex tint_symbol_1 vertex_main(texture2d<int, access::sample> tint_symbol_4 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_4);
tint_symbol_1 wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture2d<int, access::sample> tint_symbol_5 [[texture(0)]]) {
doTextureLoad(tint_symbol_5);
return;
}
kernel void compute_main(texture2d<int, access::sample> tint_symbol_6 [[texture(0)]]) {
doTextureLoad(tint_symbol_6);
return;
}