Commit ee21162
[ir] Validate intermediate workgroup size products
When checking that the total workgroup size is less that UINT32_MAX,
we were only checking the final x*y*z product. This may overflow a
uint64_t and wrap around to be a valid uint32_t value, so we need to
check the intermediate products instead.
Fixed: 463283605
Change-Id: Ie4cb2354bc6693230b5b591d152ec3d95b0469c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/277935
Reviewed-by: Peter McNeeley <petermcneeley@google.com>
Commit-Queue: James Price <jrprice@google.com>
Commit-Queue: Peter McNeeley <petermcneeley@google.com>
Auto-Submit: James Price <jrprice@google.com>1 parent b06bb48 commit ee21162
2 files changed
Lines changed: 24 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2970 | 2970 | | |
2971 | 2971 | | |
2972 | 2972 | | |
| 2973 | + | |
| 2974 | + | |
| 2975 | + | |
| 2976 | + | |
| 2977 | + | |
| 2978 | + | |
2973 | 2979 | | |
2974 | 2980 | | |
2975 | 2981 | | |
| |||
3007 | 3013 | | |
3008 | 3014 | | |
3009 | 3015 | | |
3010 | | - | |
3011 | | - | |
3012 | | - | |
3013 | | - | |
3014 | | - | |
3015 | 3016 | | |
3016 | 3017 | | |
3017 | 3018 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2498 | 2498 | | |
2499 | 2499 | | |
2500 | 2500 | | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
| 2517 | + | |
| 2518 | + | |
2501 | 2519 | | |
2502 | 2520 | | |
2503 | 2521 | | |
| |||
0 commit comments