be4cb17a14
Add to suite of MSL tests and references any existing GLSL tests that successfully convert GLSL->SPIRV->MSL and compile as MSL. test_shaders_helper() ignores hidden files that start with '.', to avoid accidentally finding hidden OSX files such as .DS_Store. Use xcrun to compile MSL shaders instead of hard-coded path to Metal compiler. Wrap calls to xcrun in exception handling to ignore if Xcode not installed. For MSL tests, move call to validate_shader_msl() to after call to regression_check() to allow a converted MSL shader to be saved for manual review even if it doesn't successfully compile as MSL.
30 lines
437 B
Plaintext
30 lines
437 B
Plaintext
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using namespace metal;
|
|
|
|
struct SSBO2
|
|
{
|
|
float4 data4;
|
|
float4 data5;
|
|
};
|
|
|
|
struct SSBO0
|
|
{
|
|
float4 data0;
|
|
float4 data1;
|
|
};
|
|
|
|
struct SSBO1
|
|
{
|
|
float4 data2;
|
|
float4 data3;
|
|
};
|
|
|
|
kernel void main0(device SSBO2& _10 [[buffer(0)]], device SSBO0& _15 [[buffer(1)]], device SSBO1& _21 [[buffer(2)]])
|
|
{
|
|
_10.data4 = _15.data0 + _21.data2;
|
|
_10.data5 = _15.data1 + _21.data3;
|
|
}
|
|
|