mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 04:00:10 +01:00
freedreno/a4xx: invalidate cache when vbo's change
Otherwise vertex shader can see stale cache data. This in particular happens when the same vbo is updated and reused. Not sure yet if vbo's at differing addresses but bound to same vertex buffer slot could have issues, but seems safest to flush whenever new vertex buffers are bound. Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
parent
ebbd34a468
commit
bb19f2c3c4
1 changed files with 7 additions and 0 deletions
|
|
@ -328,6 +328,13 @@ fd4_emit_vertex_bufs(struct fd_ringbuffer *ring, struct fd4_emit *emit)
|
|||
OUT_RING(ring, 0x00000000); /* XXX VFD_CONTROL_2 */
|
||||
OUT_RING(ring, 0x0000fc00); /* XXX VFD_CONTROL_3 */
|
||||
OUT_RING(ring, 0x00000000); /* XXX VFD_CONTROL_4 */
|
||||
|
||||
/* cache invalidate, otherwise vertex fetch could see
|
||||
* stale vbo contents:
|
||||
*/
|
||||
OUT_PKT0(ring, REG_A4XX_UCHE_INVALIDATE0, 2);
|
||||
OUT_RING(ring, 0x00000000);
|
||||
OUT_RING(ring, 0x00000012);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue