blob: f2bb297c83899dc7f266955f1b2dbcd6629d8a59 [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.pointerToPointer = async () =>
{
let program = `
int foo()
{
int x;
thread int* p = &x;
thread int** pp = &p;
int*thread*thread qq = pp;
int result = 0;
x = 42;
*p = 76;
result += x;
**pp = 39;
result += x;
**qq = 83;
result += x;
return result;
}
`;;
assert_equals(await callIntFunction(program, "foo", []), 76 + 39 + 83);
}
whlslTests.pointerToMember = async () =>
{
await checkFail(
`
void foo()
{
float3 x;
thread float* y = &x[1];
}
`);
await checkFail(
`
void foo()
{
float3x3 x;
thread float3* y = &x[1];
}
`);
}
runTests(whlslTests);
</script>
</html>