mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-25 00:40:40 +01:00
freedreno/a6xx: Add VPC hardware workaround for a750
Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31534>
This commit is contained in:
parent
ecc8d271e1
commit
a1f2a8ebb9
1 changed files with 10 additions and 0 deletions
|
|
@ -730,6 +730,16 @@ emit_vpc(struct fd_ringbuffer *ring, const struct program_builder *b)
|
|||
setup_stream_out_disable(b->ctx);
|
||||
}
|
||||
|
||||
/* There is a hardware bug on a750 where STRIDE_IN_VPC of 5 to 8 in GS with
|
||||
* an input primitive type with adjacency, an output primitive type of
|
||||
* points, and a high enough vertex count causes a hang.
|
||||
*/
|
||||
if (b->ctx->screen->info->a7xx.gs_vpc_adjacency_quirk &&
|
||||
b->gs && b->gs->gs.output_primitive == MESA_PRIM_POINTS &&
|
||||
linkage.max_loc > 4) {
|
||||
linkage.max_loc = MAX2(linkage.max_loc, 9);
|
||||
}
|
||||
|
||||
/* The GPU hangs on some models when there are no outputs (xs_pack::CNT),
|
||||
* at least when a DS is the last stage, so add a dummy output to keep it
|
||||
* happy if there aren't any. We do this late in order to avoid emitting
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue