in benchmarks/JetStream2/WSL/Test.js [3827:3956]
tests.shaderTypes = function()
{
checkFail(
() => doPrep(`
struct Foo {
float4 x;
}
vertex Foo bar()
{
Foo result;
result.x = float4();
return result;
}
Foo foo() {
return bar();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
vertex float bar()
{
return 4.;
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Foo {
float4 x;
}
vertex Foo bar(device Foo* x)
{
return Foo();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Boo {
float4 x;
}
struct Foo {
float4 x;
device Boo* y;
}
vertex Foo bar()
{
return Foo();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Foo {
float4 x;
}
struct Boo {
device Foo* y;
}
vertex Foo bar(Boo b)
{
return Foo();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Foo {
float4 x;
}
vertex Foo bar(device Foo* x)
{
return Foo();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Foo {
float4 x;
}
fragment Foo bar(Foo foo)
{
return Foo();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Foo {
float4 x;
}
fragment Foo bar(device Foo* stageIn)
{
return Foo();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Boo {
float4 x;
}
struct Foo {
float4 x;
device Boo* y;
}
fragment Boo bar(Foo stageIn)
{
return boo();
}
`),
(e) => e instanceof WTypeError);
checkFail(
() => doPrep(`
struct Boo {
float4 x;
}
struct Foo {
float4 x;
device Boo* y;
}
fragment Foo bar(Boo stageIn)
{
return Foo();
}
`),
(e) => e instanceof WTypeError);
}