mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
r600: bind geometry shader ring to the correct place
When tess/gs are enabled, the geom shader ring needs to bind to the tess eval not the vertex shader. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
e3ecc28e99
commit
7933ba4d9c
1 changed files with 9 additions and 2 deletions
|
|
@ -1354,13 +1354,20 @@ static void update_gs_block_state(struct r600_context *rctx, unsigned enable)
|
|||
if (enable) {
|
||||
r600_set_constant_buffer(&rctx->b.b, PIPE_SHADER_GEOMETRY,
|
||||
R600_GS_RING_CONST_BUFFER, &rctx->gs_rings.esgs_ring);
|
||||
r600_set_constant_buffer(&rctx->b.b, PIPE_SHADER_VERTEX,
|
||||
R600_GS_RING_CONST_BUFFER, &rctx->gs_rings.gsvs_ring);
|
||||
if (rctx->tes_shader) {
|
||||
r600_set_constant_buffer(&rctx->b.b, PIPE_SHADER_TESS_EVAL,
|
||||
R600_GS_RING_CONST_BUFFER, &rctx->gs_rings.gsvs_ring);
|
||||
} else {
|
||||
r600_set_constant_buffer(&rctx->b.b, PIPE_SHADER_VERTEX,
|
||||
R600_GS_RING_CONST_BUFFER, &rctx->gs_rings.gsvs_ring);
|
||||
}
|
||||
} else {
|
||||
r600_set_constant_buffer(&rctx->b.b, PIPE_SHADER_GEOMETRY,
|
||||
R600_GS_RING_CONST_BUFFER, NULL);
|
||||
r600_set_constant_buffer(&rctx->b.b, PIPE_SHADER_VERTEX,
|
||||
R600_GS_RING_CONST_BUFFER, NULL);
|
||||
r600_set_constant_buffer(&rctx->b.b, PIPE_SHADER_TESS_EVAL,
|
||||
R600_GS_RING_CONST_BUFFER, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue