nv50: avoid segfault with enabled but unbound vertex attrib
Before validating vertex arrays we need to check if a VBO is present. Checking if vb->buffer is not NULL fixes the issue. Fixes the following piglit test: gl-3.1-vao-broken-attrib Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
ec151e2f72
commit
adc816a1e4
|
@ -382,6 +382,11 @@ nv50_vertex_arrays_validate(struct nv50_context *nv50)
|
|||
if (nv50->vbo_user & (1 << b)) {
|
||||
address = addrs[b] + ve->pipe.src_offset;
|
||||
limit = addrs[b] + limits[b];
|
||||
} else
|
||||
if (!vb->buffer) {
|
||||
BEGIN_NV04(push, NV50_3D(VERTEX_ARRAY_FETCH(i)), 1);
|
||||
PUSH_DATA (push, 0);
|
||||
continue;
|
||||
} else {
|
||||
struct nv04_resource *buf = nv04_resource(vb->buffer);
|
||||
if (!(refd & (1 << b))) {
|
||||
|
|
Loading…
Reference in New Issue