blob: 70107c8de1cb431c0d9762e39064f684a1f9a81f [file] [log] [blame]
<!DOCTYPE html>
<html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Test structs.</title>
<script src="js/whlsl-test-harness.js"></script>
<script src="js/webgpu-functions.js"></script>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
const whlslTests = {};
whlslTests.emptyStruct = async () =>
{
let program = `
struct Thingy { }
int foo()
{
Thingy thingy;
return 46;
}
`;
assert_equals(await callIntFunction(program, "foo", []), 46);
};
whlslTests.settingAnArrayInsideAStruct = async () =>
{
let program = `
struct Foo {
int[1] array;
}
int foo()
{
Foo foo;
thread Foo* bar = &foo;
bar->array[0] = 21;
return foo.array[0];
}
`;
assert_equals(await callIntFunction(program, "foo", []), 21);
};
runTests(whlslTests);
</script>
</html>