A mesh-stage program reads its draw parameters from the end of the pipeline's push block (MeshDrawPushOffsetBytes), so its SPIR-V always declares the push-constant variable. When its user data do not fit the push range it has no push data of its own and RecompileResult::pushConstants is empty, and validation refused the draw with "invalid push constant interface". Validation now expects the push block of every mesh-stage program and still requires it to match the recompiler's metadata for the other stages. agc_driver_mesh_tests draws the triangle list with a geometry program given no push range for its own data. |
||
|---|---|---|
| .. | ||
| Decoder/Jpeg | ||
| libs | ||
| relinker | ||
| shader/recompiler | ||