Ben Clayton 13f089095f tint/intrinsics: Texture queries now return unsigned integer / vectors
To match the spec.

Also add a bunch of missing texture test cases to
src/tint/ast/builtin_texture_helper_test.cc. Fix all the tests that were
broken because these were not being exercised.

Fixed: tint:1526
Change-Id: I207b51d307bbdc054b595e0e0e0fd3330607e171
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/106681
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-10-26 18:36:44 +00:00

34 lines
941 B
Plaintext

#include <metal_stdlib>
using namespace metal;
void textureNumLevels_2df1ab(texturecube<float, access::sample> tint_symbol_1) {
uint res = tint_symbol_1.get_num_mip_levels();
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texturecube<float, access::sample> tint_symbol_2) {
textureNumLevels_2df1ab(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texturecube<float, access::sample> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texturecube<float, access::sample> tint_symbol_4 [[texture(0)]]) {
textureNumLevels_2df1ab(tint_symbol_4);
return;
}
kernel void compute_main(texturecube<float, access::sample> tint_symbol_5 [[texture(0)]]) {
textureNumLevels_2df1ab(tint_symbol_5);
return;
}