pvr: Add basic skeleton for event sub cmd.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com> Reviewed-by: Sarah Walker <Sarah.Walker@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18612>
This commit is contained in:
@@ -104,6 +104,9 @@ static void pvr_cmd_buffer_free_sub_cmd(struct pvr_cmd_buffer *cmd_buffer,
|
||||
}
|
||||
break;
|
||||
|
||||
case PVR_SUB_CMD_TYPE_EVENT:
|
||||
break;
|
||||
|
||||
default:
|
||||
pvr_finishme("Unsupported sub-command type %d", sub_cmd->type);
|
||||
break;
|
||||
@@ -263,6 +266,10 @@ static void pvr_cmd_buffer_update_barriers(struct pvr_cmd_buffer *cmd_buffer,
|
||||
barriers = PVR_PIPELINE_STAGE_TRANSFER_BIT;
|
||||
break;
|
||||
|
||||
case PVR_SUB_CMD_TYPE_EVENT:
|
||||
barriers = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
barriers = 0;
|
||||
pvr_finishme("Unsupported sub-command type %d", type);
|
||||
@@ -1563,6 +1570,9 @@ static VkResult pvr_cmd_buffer_end_sub_cmd(struct pvr_cmd_buffer *cmd_buffer)
|
||||
case PVR_SUB_CMD_TYPE_TRANSFER:
|
||||
break;
|
||||
|
||||
case PVR_SUB_CMD_TYPE_EVENT:
|
||||
break;
|
||||
|
||||
default:
|
||||
pvr_finishme("Unsupported sub-command type %d", sub_cmd->type);
|
||||
break;
|
||||
@@ -1713,6 +1723,10 @@ static VkResult pvr_cmd_buffer_start_sub_cmd(struct pvr_cmd_buffer *cmd_buffer,
|
||||
list_inithead(&sub_cmd->transfer.transfer_cmds);
|
||||
break;
|
||||
|
||||
case PVR_SUB_CMD_TYPE_EVENT:
|
||||
/* TODO: Add support for joining consecutive event sub_cmd? */
|
||||
break;
|
||||
|
||||
default:
|
||||
pvr_finishme("Unsupported sub-command type %d", type);
|
||||
break;
|
||||
|
@@ -111,6 +111,14 @@ enum pvr_sub_cmd_type {
|
||||
PVR_SUB_CMD_TYPE_GRAPHICS,
|
||||
PVR_SUB_CMD_TYPE_COMPUTE,
|
||||
PVR_SUB_CMD_TYPE_TRANSFER,
|
||||
PVR_SUB_CMD_TYPE_EVENT,
|
||||
};
|
||||
|
||||
enum pvr_event_type {
|
||||
PVR_EVENT_TYPE_SET,
|
||||
PVR_EVENT_TYPE_RESET,
|
||||
PVR_EVENT_TYPE_WAIT,
|
||||
PVR_EVENT_TYPE_BARRIER,
|
||||
};
|
||||
|
||||
enum pvr_depth_stencil_usage {
|
||||
@@ -710,6 +718,10 @@ struct pvr_sub_cmd_transfer {
|
||||
struct list_head transfer_cmds;
|
||||
};
|
||||
|
||||
struct pvr_sub_cmd_event {
|
||||
enum pvr_event_type type;
|
||||
};
|
||||
|
||||
struct pvr_sub_cmd {
|
||||
/* This links the subcommand in pvr_cmd_buffer:sub_cmds list. */
|
||||
struct list_head link;
|
||||
@@ -720,6 +732,7 @@ struct pvr_sub_cmd {
|
||||
struct pvr_sub_cmd_gfx gfx;
|
||||
struct pvr_sub_cmd_compute compute;
|
||||
struct pvr_sub_cmd_transfer transfer;
|
||||
struct pvr_sub_cmd_event event;
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -509,9 +509,14 @@ pvr_process_cmd_buffer(struct pvr_device *device,
|
||||
completions);
|
||||
break;
|
||||
|
||||
case PVR_SUB_CMD_TYPE_EVENT:
|
||||
pvr_finishme("Add support to process event sub cmds.");
|
||||
result = vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
break;
|
||||
|
||||
default:
|
||||
pvr_finishme("Unsupported sub-command type %d", sub_cmd->type);
|
||||
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
mesa_loge("Unsupported sub-command type %d", sub_cmd->type);
|
||||
result = vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
}
|
||||
|
||||
if (result != VK_SUCCESS) {
|
||||
|
Reference in New Issue
Block a user