sna/gen3: Disable fences associated with vertex buffers
Could gen3 actually be trying to read these through a fence? References: https://bugs.freedesktop.org/show_bug.cgi?id=89334 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
f6ba71ac19
commit
cb2269d130
|
|
@ -2251,7 +2251,7 @@ static int gen3_vertex_finish(struct sna *sna)
|
|||
if (sna->render.vertex_reloc[0]) {
|
||||
sna->kgem.batch[sna->render.vertex_reloc[0]] =
|
||||
kgem_add_reloc(&sna->kgem, sna->render.vertex_reloc[0],
|
||||
bo, I915_GEM_DOMAIN_VERTEX << 16, 0);
|
||||
bo, I915_GEM_DOMAIN_VERTEX << 16 | KGEM_RELOC_FENCED, 0);
|
||||
|
||||
sna->render.vertex_reloc[0] = 0;
|
||||
}
|
||||
|
|
@ -2345,7 +2345,7 @@ static void gen3_vertex_close(struct sna *sna)
|
|||
DBG(("%s: reloc = %d\n", __FUNCTION__, sna->render.vertex_reloc[0]));
|
||||
sna->kgem.batch[sna->render.vertex_reloc[0]] =
|
||||
kgem_add_reloc(&sna->kgem, sna->render.vertex_reloc[0],
|
||||
bo, I915_GEM_DOMAIN_VERTEX << 16, delta);
|
||||
bo, I915_GEM_DOMAIN_VERTEX << 16 | KGEM_RELOC_FENCED, delta);
|
||||
sna->render.vertex_reloc[0] = 0;
|
||||
|
||||
if (sna->render.vbo == NULL) {
|
||||
|
|
|
|||
|
|
@ -3648,7 +3648,8 @@ void _kgem_submit(struct kgem *kgem)
|
|||
kgem->exec[i].relocs_ptr = (uintptr_t)kgem->reloc;
|
||||
kgem->exec[i].alignment = 0;
|
||||
kgem->exec[i].offset = rq->bo->presumed_offset;
|
||||
kgem->exec[i].flags = 0;
|
||||
/* Make sure the kernel releases any fence, ignored if gen4+ */
|
||||
kgem->exec[i].flags = EXEC_OBJECT_NEEDS_FENCE;
|
||||
kgem->exec[i].rsvd1 = 0;
|
||||
kgem->exec[i].rsvd2 = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue