From: Alejandro PiƱeiro Date: Tue, 8 Oct 2019 13:44:19 +0000 (+0200) Subject: v3d: take into account prim_counts_offset X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa41a51891e5a207da831fa7c4564a413159f221;p=mesa.git v3d: take into account prim_counts_offset Specifically when reading the primitive counters. This fixed ~700 CTS tests using this pattern: dEQP-GLES3.functional.transform_feedback.* when run after tests like dEQP-GLES3.functional.prerequisite.read_pixels on the same caselist. When run individually those tests were passing because prim_counts_offset was zero. Fixes: 0f2d1dfe65bfe1ee8f02ce45f100a5508debdfd4 ("v3d: use the GPU to record primitives written to transform feedback") Reviewed-by: Jose Maria Casanova Crespo Reviewed-by: Iago Toral Quiroga --- diff --git a/src/gallium/drivers/v3d/v3d_job.c b/src/gallium/drivers/v3d/v3d_job.c index db2ce0a85be..c5abfa7edb2 100644 --- a/src/gallium/drivers/v3d/v3d_job.c +++ b/src/gallium/drivers/v3d/v3d_job.c @@ -457,7 +457,7 @@ v3d_read_and_accumulate_primitive_counters(struct v3d_context *v3d) perf_debug("stalling on TF counts readback\n"); struct v3d_resource *rsc = v3d_resource(v3d->prim_counts); if (v3d_bo_wait(rsc->bo, PIPE_TIMEOUT_INFINITE, "prim-counts")) { - uint32_t *map = v3d_bo_map(rsc->bo); + uint32_t *map = v3d_bo_map(rsc->bo) + v3d->prim_counts_offset; v3d->tf_prims_generated += map[V3D_PRIM_COUNTS_TF_WRITTEN]; } }