Bug 199037 - [WHLSL] Property resolver needs to recurse on newValueExpression for RMW operations
Summary: [WHLSL] Property resolver needs to recurse on newValueExpression for RMW oper...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGPU (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P1 Normal
Assignee: Saam Barati
URL:
Keywords: InRadar
Depends on:
Blocks: 195864
  Show dependency treegraph
 
Reported: 2019-06-19 15:54 PDT by Saam Barati
Modified: 2019-06-20 13:11 PDT (History)
8 users (show)

See Also:


Attachments
patch (20.10 KB, patch)
2019-06-20 12:23 PDT, Saam Barati
mmaxfield: review+
Details | Formatted Diff | Diff
patch for landing (19.54 KB, patch)
2019-06-20 12:38 PDT, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2019-06-19 15:54:31 PDT
```
float4x4 mul(float4x4 x, float4x4 y) {
    float4x4 result;
    result[0][0] = 0;
    result[0][0] += x[0][0] * y[0][0];
    result[0][0] += x[0][1] * y[1][0];
    result[0][0] += x[0][2] * y[2][0];
    result[0][0] += x[0][3] * y[3][0];
    result[0][1] = 0;
    result[0][1] += x[0][0] * y[0][1];
    result[0][1] += x[0][1] * y[1][1];
    result[0][1] += x[0][2] * y[2][1];
    result[0][1] += x[0][3] * y[3][1];
    result[0][2] = 0;
    result[0][2] += x[0][0] * y[0][2];
    result[0][2] += x[0][1] * y[1][2];
    result[0][2] += x[0][2] * y[2][2];
    result[0][2] += x[0][3] * y[3][2];
    result[0][3] = 0;
    result[0][3] += x[0][0] * y[0][3];
    result[0][3] += x[0][1] * y[1][3];
    result[0][3] += x[0][2] * y[2][3];
    result[0][3] += x[0][3] * y[3][3];
    result[1][0] = 0;
    result[1][0] += x[1][0] * y[0][0];
    result[1][0] += x[1][1] * y[1][0];
    result[1][0] += x[1][2] * y[2][0];
    result[1][0] += x[1][3] * y[3][0];
    result[1][1] = 0;
    result[1][1] += x[1][0] * y[0][1];
    result[1][1] += x[1][1] * y[1][1];
    result[1][1] += x[1][2] * y[2][1];
    result[1][1] += x[1][3] * y[3][1];
    result[1][2] = 0;
    result[1][2] += x[1][0] * y[0][2];
    result[1][2] += x[1][1] * y[1][2];
    result[1][2] += x[1][2] * y[2][2];
    result[1][2] += x[1][3] * y[3][2];
    result[1][3] = 0;
    result[1][3] += x[1][0] * y[0][3];
    result[1][3] += x[1][1] * y[1][3];
    result[1][3] += x[1][2] * y[2][3];
    result[1][3] += x[1][3] * y[3][3];
    result[2][0] = 0;
    result[2][0] += x[2][0] * y[0][0];
    result[2][0] += x[2][1] * y[1][0];
    result[2][0] += x[2][2] * y[2][0];
    result[2][0] += x[2][3] * y[3][0];
    result[2][1] = 0;
    result[2][1] += x[2][0] * y[0][1];
    result[2][1] += x[2][1] * y[1][1];
    result[2][1] += x[2][2] * y[2][1];
    result[2][1] += x[2][3] * y[3][1];
    result[2][2] = 0;
    result[2][2] += x[2][0] * y[0][2];
    result[2][2] += x[2][1] * y[1][2];
    result[2][2] += x[2][2] * y[2][2];
    result[2][2] += x[2][3] * y[3][2];
    result[2][3] = 0;
    result[2][3] += x[2][0] * y[0][3];
    result[2][3] += x[2][1] * y[1][3];
    result[2][3] += x[2][2] * y[2][3];
    result[2][3] += x[2][3] * y[3][3];
    result[3][0] = 0;
    result[3][0] += x[3][0] * y[0][0];
    result[3][0] += x[3][1] * y[1][0];
    result[3][0] += x[3][2] * y[2][0];
    result[3][0] += x[3][3] * y[3][0];
    result[3][1] = 0;
    result[3][1] += x[3][0] * y[0][1];
    result[3][1] += x[3][1] * y[1][1];
    result[3][1] += x[3][2] * y[2][1];
    result[3][1] += x[3][3] * y[3][1];
    result[3][2] = 0;
    result[3][2] += x[3][0] * y[0][2];
    result[3][2] += x[3][1] * y[1][2];
    result[3][2] += x[3][2] * y[2][2];
    result[3][2] += x[3][3] * y[3][2];
    result[3][3] = 0;
    result[3][3] += x[3][0] * y[0][3];
    result[3][3] += x[3][1] * y[1][3];
    result[3][3] += x[3][2] * y[2][3];
    result[3][3] += x[3][3] * y[3][3];
    return result;
}
```

Makes High Zombie Finder fail
Comment 1 Saam Barati 2019-06-20 10:55:37 PDT
Looking at this now
Comment 2 Saam Barati 2019-06-20 12:23:25 PDT
Created attachment 372577 [details]
patch
Comment 3 Saam Barati 2019-06-20 12:38:52 PDT
Created attachment 372578 [details]
patch for landing
Comment 4 WebKit Commit Bot 2019-06-20 13:10:12 PDT
Comment on attachment 372578 [details]
patch for landing

Clearing flags on attachment: 372578

Committed r246649: <https://trac.webkit.org/changeset/246649>
Comment 5 WebKit Commit Bot 2019-06-20 13:10:13 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2019-06-20 13:11:43 PDT
<rdar://problem/51956598>