SPIRV-Cross/reference/shaders-msl/asm/frag/switch-different-sizes.asm.frag
Sebastián Aedo 6d8302ef14 MSL: Add 64 bit switch support
Add 64 bit switch support for MSL version 2.2.

* Also fixes a wrong endianness conversion.

Signed-off-by: Sebastián Aedo <saedo@codeweavers.com>
2021-11-26 15:54:56 -03:00

79 lines
1.1 KiB
JavaScript

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
fragment void main0()
{
int sw0 = 42;
int result = 0;
switch (sw0)
{
case -42:
{
result = 42;
}
case 420:
{
result = 420;
}
case -1234:
{
result = 420;
break;
}
}
char sw1 = char(10);
switch (sw1)
{
case -42:
{
result = 42;
}
case 42:
{
result = 420;
}
case -123:
{
result = 512;
break;
}
}
short sw2 = short(10);
switch (sw2)
{
case -42:
{
result = 42;
}
case 42:
{
result = 420;
}
case -1234:
{
result = 512;
break;
}
}
short sw3 = short(10);
switch (sw3)
{
case -42:
{
result = 42;
}
case 42:
{
result = 420;
}
case -1234:
{
result = 512;
break;
}
}
}