Ben Clayton d03dceebf3 tint: Add bgra8unorm storage texture support
Polyfill this for the SPIR-V, HLSL and GLSL backends by replacing bgra8unorm with rgba8unorm, and swizzling.

Bug: tint:1804
Change-Id: I36638202840d7313001dff6c5b60dcb948988c34
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117204
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-18 19:42:03 +00:00

34 lines
952 B
Plaintext

#include <metal_stdlib>
using namespace metal;
void textureNumLayers_1f858a(texture2d_array<float, access::write> tint_symbol_1) {
uint res = tint_symbol_1.get_array_size();
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture2d_array<float, access::write> tint_symbol_2) {
textureNumLayers_1f858a(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture2d_array<float, access::write> 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(texture2d_array<float, access::write> tint_symbol_4 [[texture(0)]]) {
textureNumLayers_1f858a(tint_symbol_4);
return;
}
kernel void compute_main(texture2d_array<float, access::write> tint_symbol_5 [[texture(0)]]) {
textureNumLayers_1f858a(tint_symbol_5);
return;
}