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.
18 lines
433 B
GLSL
18 lines
433 B
GLSL
#version 310 es
|
|
|
|
layout(push_constant, std430) uniform PushMe
|
|
{
|
|
mat4 MVP;
|
|
mat2 Rot; // The MatrixStride will be 8 here.
|
|
float Arr[4];
|
|
} registers;
|
|
|
|
layout(location = 0) in vec2 Rot;
|
|
layout(location = 1) in vec4 Pos;
|
|
layout(location = 0) out vec2 vRot;
|
|
void main()
|
|
{
|
|
gl_Position = registers.MVP * Pos;
|
|
vRot = registers.Rot * Rot + registers.Arr[2]; // Constant access should work even if array stride is just 4 here.
|
|
}
|