mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
panvk: Make sure RUN_IDVS has a valid tiler descriptor
As soon as we call RUN_IDVS, we need a valid tiler descriptor. Let's kill the needs_tiling optimization until we have a proper way of knowing when draws can be skipped or when IDVS jobs can be replaced by plain compute. 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/31462>
This commit is contained in:
parent
5b25784df7
commit
e489a92c33
1 changed files with 7 additions and 13 deletions
|
|
@ -1269,8 +1269,6 @@ prepare_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_info *draw)
|
|||
const struct panvk_shader *vs = cmdbuf->state.gfx.vs.shader;
|
||||
const struct panvk_shader *fs = cmdbuf->state.gfx.fs.shader;
|
||||
struct panvk_descriptor_state *desc_state = &cmdbuf->state.gfx.desc_state;
|
||||
const struct vk_rasterization_state *rs =
|
||||
&cmdbuf->vk.dynamic_graphics_state.rs;
|
||||
bool idvs = vs->info.vs.idvs;
|
||||
VkResult result;
|
||||
|
||||
|
|
@ -1291,17 +1289,13 @@ prepare_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_info *draw)
|
|||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
bool needs_tiling = !rs->rasterizer_discard_enable;
|
||||
result = get_tiler_desc(cmdbuf);
|
||||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
if (needs_tiling) {
|
||||
result = get_tiler_desc(cmdbuf);
|
||||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
result = get_fb_descs(cmdbuf);
|
||||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
}
|
||||
result = get_fb_descs(cmdbuf);
|
||||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
struct cs_builder *b =
|
||||
panvk_get_cs_builder(cmdbuf, PANVK_SUBQUEUE_VERTEX_TILER);
|
||||
|
|
@ -1325,7 +1319,7 @@ prepare_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_info *draw)
|
|||
return result;
|
||||
|
||||
/* No need to setup the FS desc tables if the FS is not executed. */
|
||||
if (needs_tiling && fs_required(cmdbuf)) {
|
||||
if (fs_required(cmdbuf)) {
|
||||
result = prepare_fs(cmdbuf);
|
||||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue