34de5cb57b
Metal-specific tests are pretty thin on the ground here, and some of the remaining tests no longer added value as they were already covered pretty well by existing tests in Shared. The majority of remaining tests were specific to Metal's lack of flexible matrix casting (and SkSL's ability to paper over this with helper functions). Change-Id: I7b3c445268b95320e7f46ec88d793c315d43ee8a Bug: skia:10694 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334956 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
18 lines
610 B
Metal
18 lines
610 B
Metal
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
using namespace metal;
|
|
struct Inputs {
|
|
};
|
|
struct Outputs {
|
|
float4 sk_FragColor [[color(0)]];
|
|
};
|
|
float3x3 float3x3_from_float2x2(float2x2 x0) {
|
|
return float3x3(float3(x0[0].xy, 0.0), float3(x0[1].xy, 0.0), float3(0.0, 0.0, 1.0));
|
|
}
|
|
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
|
Outputs _outputStruct;
|
|
thread Outputs* _out = &_outputStruct;
|
|
_out->sk_FragColor.x = float(all(float3x3(1.0)[0] == float3x3_from_float2x2(float2x2(1.0))[0]) ? 0 : 1);
|
|
return *_out;
|
|
}
|