mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-16 12:21:35 +00:00
Textures as function parameters should not have the "uniform" qualifier. Fixed by handling StorageClass::kUniformConstant the same as StorageClass::kUniform, and removing the unconditional "uniform" qualifier output. (Global texture variables have StorageClass::kUniformConstant set, while function parameters don't.) Change-Id: I9d380550ac4554917527ff330171a76a90a290e8 Bug: tint:1492 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/85820 Reviewed-by: Antonio Maiorano <amaiorano@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com>
38 lines
1.0 KiB
Plaintext
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);
|
|
}
|
|
|
|
struct tint_symbol_1 {
|
|
float4 value [[position]];
|
|
};
|
|
|
|
float4 vertex_main_inner(texture2d<int, access::sample> tint_symbol_3) {
|
|
doTextureLoad(tint_symbol_3);
|
|
return float4();
|
|
}
|
|
|
|
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;
|
|
}
|
|
|