mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-06 20:25:44 +00:00
Changes Dawn and Tint to use a 3x3 matrix for external texture YUV-to-RGB conversions. This will allow us to use standard matrices as they exist in SkYuvMath. Bugs: dawn::1082 Change-Id: I8e0c7c3dc1c085d8f336da956aea9496913b70fa Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86847 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct ExternalTextureParams {
|
|
uint numPlanes;
|
|
float3x4 yuvToRgbConversionMatrix;
|
|
};
|
|
|
|
void textureDimensions_ba1481(texture2d<float, access::sample> tint_symbol_1) {
|
|
int2 res = int2(tint_symbol_1.get_width(), tint_symbol_1.get_height());
|
|
}
|
|
|
|
struct tint_symbol {
|
|
float4 value [[position]];
|
|
};
|
|
|
|
float4 vertex_main_inner(texture2d<float, access::sample> tint_symbol_2) {
|
|
textureDimensions_ba1481(tint_symbol_2);
|
|
return float4();
|
|
}
|
|
|
|
vertex tint_symbol vertex_main(texture2d<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(texture2d<float, access::sample> tint_symbol_4 [[texture(0)]]) {
|
|
textureDimensions_ba1481(tint_symbol_4);
|
|
return;
|
|
}
|
|
|
|
kernel void compute_main(texture2d<float, access::sample> tint_symbol_5 [[texture(0)]]) {
|
|
textureDimensions_ba1481(tint_symbol_5);
|
|
return;
|
|
}
|
|
|