anv: move last compute command pointers to the state structure
Makes it easier to clear. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29438>
This commit is contained in:

committed by
Marge Bot

parent
1d4e56d22a
commit
265b2b1255
@@ -79,9 +79,6 @@ anv_cmd_state_reset(struct anv_cmd_buffer *cmd_buffer)
|
||||
{
|
||||
anv_cmd_state_finish(cmd_buffer);
|
||||
anv_cmd_state_init(cmd_buffer);
|
||||
|
||||
cmd_buffer->last_compute_walker = NULL;
|
||||
cmd_buffer->last_indirect_dispatch = NULL;
|
||||
}
|
||||
|
||||
VkResult
|
||||
@@ -175,9 +172,6 @@ anv_create_cmd_buffer(struct vk_command_pool *pool,
|
||||
cmd_buffer->generation.jump_addr = ANV_NULL_ADDRESS;
|
||||
cmd_buffer->generation.return_addr = ANV_NULL_ADDRESS;
|
||||
|
||||
cmd_buffer->last_compute_walker = NULL;
|
||||
cmd_buffer->last_indirect_dispatch = NULL;
|
||||
|
||||
memset(&cmd_buffer->generation.shader_state, 0,
|
||||
sizeof(cmd_buffer->generation.shader_state));
|
||||
|
||||
|
@@ -3907,6 +3907,20 @@ struct anv_cmd_state {
|
||||
* A buffer used for spill/fill of ray queries.
|
||||
*/
|
||||
struct anv_bo * ray_query_shadow_bo;
|
||||
|
||||
/** Pointer to the last emitted COMPUTE_WALKER.
|
||||
*
|
||||
* This is used to edit the instruction post emission to replace the "Post
|
||||
* Sync" field for utrace timestamp emission.
|
||||
*/
|
||||
void *last_compute_walker;
|
||||
|
||||
/** Pointer to the last emitted EXECUTE_INDIRECT_DISPATCH.
|
||||
*
|
||||
* This is used to edit the instruction post emission to replace the "Post
|
||||
* Sync" field for utrace timestamp emission.
|
||||
*/
|
||||
void *last_indirect_dispatch;
|
||||
};
|
||||
|
||||
#define ANV_MIN_CMD_BUFFER_BATCH_SIZE 8192
|
||||
@@ -4057,20 +4071,6 @@ struct anv_cmd_buffer {
|
||||
*/
|
||||
struct u_trace trace;
|
||||
|
||||
/** Pointer to the last emitted COMPUTE_WALKER.
|
||||
*
|
||||
* This is used to edit the instruction post emission to replace the "Post
|
||||
* Sync" field for utrace timestamp emission.
|
||||
*/
|
||||
void *last_compute_walker;
|
||||
|
||||
/** Pointer to the last emitted EXECUTE_INDIRECT_DISPATCH.
|
||||
*
|
||||
* This is used to edit the instruction post emission to replace the "Post
|
||||
* Sync" field for utrace timestamp emission.
|
||||
*/
|
||||
void *last_indirect_dispatch;
|
||||
|
||||
struct {
|
||||
struct anv_video_session *vid;
|
||||
struct anv_video_session_params *params;
|
||||
|
@@ -425,16 +425,16 @@ anv_utrace_record_ts(struct u_trace *ut, void *cs,
|
||||
ANV_TIMESTAMP_CAPTURE_END_OF_PIPE) : ANV_TIMESTAMP_CAPTURE_TOP_OF_PIPE;
|
||||
|
||||
void *addr = capture_type == ANV_TIMESTAMP_REWRITE_INDIRECT_DISPATCH ?
|
||||
cmd_buffer->last_indirect_dispatch :
|
||||
cmd_buffer->state.last_indirect_dispatch :
|
||||
capture_type == ANV_TIMESTAMP_REWRITE_COMPUTE_WALKER ?
|
||||
cmd_buffer->last_compute_walker : NULL;
|
||||
cmd_buffer->state.last_compute_walker : NULL;
|
||||
|
||||
device->physical->cmd_emit_timestamp(batch, device, ts_address,
|
||||
capture_type,
|
||||
addr);
|
||||
if (is_end_compute) {
|
||||
cmd_buffer->last_compute_walker = NULL;
|
||||
cmd_buffer->last_indirect_dispatch = NULL;
|
||||
cmd_buffer->state.last_compute_walker = NULL;
|
||||
cmd_buffer->state.last_indirect_dispatch = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -320,7 +320,7 @@ emit_indirect_compute_walker(struct anv_cmd_buffer *cmd_buffer,
|
||||
&dispatch),
|
||||
};
|
||||
|
||||
cmd_buffer->last_indirect_dispatch =
|
||||
cmd_buffer->state.last_indirect_dispatch =
|
||||
anv_batch_emitn(
|
||||
&cmd_buffer->batch,
|
||||
GENX(EXECUTE_INDIRECT_DISPATCH_length),
|
||||
@@ -348,7 +348,7 @@ emit_compute_walker(struct anv_cmd_buffer *cmd_buffer,
|
||||
const struct intel_cs_dispatch_info dispatch =
|
||||
brw_cs_get_dispatch_info(devinfo, prog_data, NULL);
|
||||
|
||||
cmd_buffer->last_compute_walker =
|
||||
cmd_buffer->state.last_compute_walker =
|
||||
anv_batch_emitn(
|
||||
&cmd_buffer->batch,
|
||||
GENX(COMPUTE_WALKER_length),
|
||||
|
Reference in New Issue
Block a user