mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
nv50: VP_RESULT_MAP_SIZE has to be positive
Make sure that we never try to use a 0-sized map. This can happen when using a gp, so add a dummy mapping when computing vp_gp_mapping in that case. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
c4adbd5a57
commit
006095b38a
1 changed files with 4 additions and 0 deletions
|
|
@ -461,6 +461,7 @@ nv50_fp_linkage_validate(struct nv50_context *nv50)
|
|||
BEGIN_NV04(push, NV50_3D(SEMANTIC_PRIM_ID), 1);
|
||||
PUSH_DATA (push, primid);
|
||||
|
||||
assert(m > 0);
|
||||
BEGIN_NV04(push, NV50_3D(VP_RESULT_MAP_SIZE), 1);
|
||||
PUSH_DATA (push, m);
|
||||
BEGIN_NV04(push, NV50_3D(VP_RESULT_MAP(0)), n);
|
||||
|
|
@ -523,6 +524,8 @@ nv50_vp_gp_mapping(uint8_t *map, int m,
|
|||
oid += mv & 1;
|
||||
}
|
||||
}
|
||||
if (!m)
|
||||
map[m++] = 0;
|
||||
return m;
|
||||
}
|
||||
|
||||
|
|
@ -547,6 +550,7 @@ nv50_gp_linkage_validate(struct nv50_context *nv50)
|
|||
BEGIN_NV04(push, NV50_3D(VP_GP_BUILTIN_ATTR_EN), 1);
|
||||
PUSH_DATA (push, vp->vp.attrs[2] | gp->vp.attrs[2]);
|
||||
|
||||
assert(m > 0);
|
||||
BEGIN_NV04(push, NV50_3D(VP_RESULT_MAP_SIZE), 1);
|
||||
PUSH_DATA (push, m);
|
||||
BEGIN_NV04(push, NV50_3D(VP_RESULT_MAP(0)), n);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue