skia2/tests/sksl/shared/golden/DeadStripFunctions.metal
John Stiles ade695ea4a Add unit test for function dead-stripping.
This test verifies that dead-stripping works on both built-in and user
functions, if their function call is optimized away.

Change-Id: I3125a34640c69de43c383343cd00d97e5a32ac60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338836
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-11-30 15:16:44 +00:00

26 lines
636 B
Metal

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct Inputs {
};
struct Outputs {
float4 sk_FragColor [[color(0)]];
};
float4 blend_dst(float4 src, float4 dst) {
return dst;
}
float4 live_fn(float4 a, float4 b) {
return a + b;
}
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
Outputs _outputStruct;
thread Outputs* _out = &_outputStruct;
{
_out->sk_FragColor = live_fn(float4(3.0), float4(-3.0));
}
{
_out->sk_FragColor = blend_dst(float4(7.0), float4(-7.0));
}
return *_out;
}