ir3: Allow tesselation to use all 32 varying slots

POS, PSIZE, CLIP_DIST0, and CLIP_DIST1 have their own predefined
indices, map's size should take this into account.

Fixes: 9e063b01 "ir3: Switch tess lowering to use location"

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7917>
This commit is contained in:
Danylo Piliaiev 2020-12-10 19:18:18 +02:00
parent 4b208fa36b
commit 22180137e9
2 changed files with 2 additions and 2 deletions

View File

@ -29,7 +29,7 @@ struct state {
uint32_t topology;
struct primitive_map {
unsigned loc[32];
unsigned loc[32 + 4]; /* +POSITION +PSIZE +CLIP_DIST0 +CLIP_DIST1 */
unsigned stride;
} map;

View File

@ -597,7 +597,7 @@ struct ir3_shader_variant {
* HS, where varyings are read in the next stage via ldg with a dword
* offset, and in bytes for all other stages.
*/
unsigned output_loc[32];
unsigned output_loc[32 + 4]; /* +POSITION +PSIZE +CLIP_DIST0 +CLIP_DIST1 */
/* attributes (VS) / varyings (FS):
* Note that sysval's should come *after* normal inputs.