Bug 199197

Summary: [WHLSL] Issues with nested arrays
Product: WebKit Reporter: Saam Barati <sbarati>
Component: WebGPUAssignee: Saam Barati <sbarati>
Status: RESOLVED WONTFIX    
Severity: Normal CC: dino, fpizlo, jonlee, justin_fan, mmaxfield, rmorisset
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 198414    
Bug Blocks:    

Description Saam Barati 2019-06-25 11:34:42 PDT
This only works if I change memsetZero to be "value = { 0 };":
```
bool test1(device int[] buffer) {
    thread int*[30] ptrs;
    if (ptrs.length != 30)
        return false;

    for (uint i = 0; i < ptrs.length; ++i) {
        thread int* ptr = ptrs[i];
        if (ptr != null) {
            buffer[0] = 4242;
            return false;
        }
    }

    int x = 42;
    //ptrs[28] = &x;

    return true;
}
```


However, this always fails, even with above change. And it fails in the loop, even though the store is below the loop. Weird.
```
bool test1(device int[] buffer) {
    thread int*[30] ptrs;
    if (ptrs.length != 30)
        return false;

    for (uint i = 0; i < ptrs.length; ++i) {
        thread int* ptr = ptrs[i];
        if (ptr != null) {
            buffer[0] = 4242;
            return false;
        }
    }

    int x = 42;
    ptrs[28] = &x;

    return true;
}
```
Comment 1 Myles C. Maxfield 2020-05-05 00:42:39 PDT
WHLSL is no longer relevant.