v3dv/cmd_buffer: missing updates due PrimitiveTopology being dynamic now
There were some pending places to update after PrimitiveTopology
become dynamic. FWIW, this was not catched by any CTS test.
As we are here we add a comment to explain why we still use the
topology on the pipeline.
Fixes: 2526f74ade ("v3dv: PrimitiveTopology is now dynamic")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
This commit is contained in:
committed by
Marge Bot
parent
6bcc300e00
commit
ef5697a884
@@ -2707,7 +2707,9 @@ v3dX(cmd_buffer_emit_draw_indexed)(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
assert(job);
|
||||
|
||||
const struct v3dv_pipeline *pipeline = cmd_buffer->state.gfx.pipeline;
|
||||
uint32_t hw_prim_type = v3d_hw_prim_type(pipeline->topology);
|
||||
const struct vk_dynamic_graphics_state *dyn =
|
||||
&cmd_buffer->vk.dynamic_graphics_state;
|
||||
uint32_t hw_prim_type = v3dv_pipeline_primitive(dyn->ia.primitive_topology);
|
||||
uint8_t index_type = ffs(cmd_buffer->state.index_buffer.index_size) - 1;
|
||||
uint32_t index_offset = firstIndex * cmd_buffer->state.index_buffer.index_size;
|
||||
|
||||
@@ -2760,8 +2762,9 @@ v3dX(cmd_buffer_emit_draw_indirect)(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_job *job = cmd_buffer->state.job;
|
||||
assert(job);
|
||||
|
||||
const struct v3dv_pipeline *pipeline = cmd_buffer->state.gfx.pipeline;
|
||||
uint32_t hw_prim_type = v3d_hw_prim_type(pipeline->topology);
|
||||
const struct vk_dynamic_graphics_state *dyn =
|
||||
&cmd_buffer->vk.dynamic_graphics_state;
|
||||
uint32_t hw_prim_type = v3dv_pipeline_primitive(dyn->ia.primitive_topology);
|
||||
|
||||
v3dv_cl_ensure_space_with_branch(
|
||||
&job->bcl, cl_packet_length(INDIRECT_VERTEX_ARRAY_INSTANCED_PRIMS));
|
||||
|
||||
Reference in New Issue
Block a user