mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
ilo: flush before setting SOL_RESET
SOL_RESET happens before bo execution. It should not be observed by the commands that are already in the bo. Move the code out of the pipeline now that it submits.
This commit is contained in:
parent
17e7582465
commit
672592de7e
2 changed files with 8 additions and 5 deletions
|
|
@ -360,6 +360,14 @@ draw_vbo(struct ilo_3d *hw3d, const struct ilo_state_vector *vec)
|
|||
bool success;
|
||||
int max_len, before_space;
|
||||
|
||||
/* on GEN7+, we need SOL_RESET to reset the SO write offsets */
|
||||
if (ilo_dev_gen(hw3d->pipeline->dev) >= ILO_GEN(7) &&
|
||||
(vec->dirty & ILO_DIRTY_SO) && vec->so.enabled &&
|
||||
!vec->so.append_bitmask) {
|
||||
ilo_cp_submit(hw3d->cp, "SOL_RESET");
|
||||
ilo_cp_set_one_off_flags(hw3d->cp, INTEL_EXEC_GEN7_SOL_RESET);
|
||||
}
|
||||
|
||||
ilo_3d_own_render_ring(hw3d);
|
||||
|
||||
if (!hw3d->new_batch) {
|
||||
|
|
|
|||
|
|
@ -154,11 +154,6 @@ ilo_3d_pipeline_emit_draw(struct ilo_3d_pipeline *p,
|
|||
{
|
||||
bool success;
|
||||
|
||||
/* on GEN7+, we need SOL_RESET to reset the SO write offsets */
|
||||
if (ilo_dev_gen(p->dev) >= ILO_GEN(7) && (vec->dirty & ILO_DIRTY_SO) &&
|
||||
vec->so.enabled && !vec->so.append_bitmask)
|
||||
ilo_cp_set_one_off_flags(p->cp, INTEL_EXEC_GEN7_SOL_RESET);
|
||||
|
||||
while (true) {
|
||||
struct ilo_builder_snapshot snapshot;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue