mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
panvk: Fix ordering in prepare_draw()
panvk_draw_prepare_attributes() depends on VS descriptors sets being up-to-date which implies calling cmd_prepare_shader_desc_tables() before. panvk_draw_prepare_vs_copy_desc_job() depends on img_attrib_table, which can be set in panvk_draw_prepare_vs_attributes(). Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37501>
This commit is contained in:
parent
f011e5707d
commit
971e068762
1 changed files with 5 additions and 4 deletions
|
|
@ -1362,8 +1362,6 @@ prepare_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_data *draw)
|
|||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
panvk_draw_prepare_attributes(cmdbuf, draw);
|
||||
|
||||
uint32_t used_set_mask =
|
||||
vs->desc_info.used_set_mask | (fs ? fs->desc_info.used_set_mask : 0);
|
||||
|
||||
|
|
@ -1380,8 +1378,6 @@ prepare_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_data *draw)
|
|||
cmdbuf, desc_state, vs, vs_desc_state);
|
||||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
panvk_draw_prepare_vs_copy_desc_job(cmdbuf, draw);
|
||||
}
|
||||
|
||||
/* No need to setup the FS desc tables if the FS is not executed. */
|
||||
|
|
@ -1397,6 +1393,11 @@ prepare_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_data *draw)
|
|||
return result;
|
||||
}
|
||||
|
||||
panvk_draw_prepare_attributes(cmdbuf, draw);
|
||||
|
||||
if (gfx_state_dirty(cmdbuf, DESC_STATE) || gfx_state_dirty(cmdbuf, VS))
|
||||
panvk_draw_prepare_vs_copy_desc_job(cmdbuf, draw);
|
||||
|
||||
draw->tls = batch->tls.gpu;
|
||||
draw->fb = batch->fb.desc.gpu;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue