blob: addbf45a0d8c5d2ebec8992fa10737de35cf81b4 [file] [log] [blame]
<!DOCTYPE html>
<html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Test the WHLSL test harness.</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.makeArrayRefFromArrayRef = async () => {
await checkFail(
`
int bar(thread int[] ref)
{
return ref[0];
}
int baz(thread int[] ptr)
{
return bar(@ptr);
}
int foo()
{
int x = 48;
return baz(@x);
}
`);
}
whlslTests.makeArrayRefFromLocal = async () =>
{
let program = `
int bar(thread int[] ref)
{
return ref[0];
}
int foo()
{
int x = 48;
return bar(@x);
}
`;
assert_equals(await callIntFunction(program, "foo", []), 48);
}
whlslTests.makeArrayRefFromPointer = async () =>
{
let program = `
int bar(thread int[] ref)
{
return ref[0];
}
int baz(thread int* ptr)
{
return bar(@ptr);
}
int foo()
{
int x = 48;
return baz(&x);
}
`;
assert_equals(await callIntFunction(program, "foo", []), 48);
}
runTests(whlslTests);
</script>
</html>