pvr: Implement vkCmdResetEvent2 API.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18612>
This commit is contained in:
Rajnesh Kanwal
2022-09-08 15:40:56 +01:00
committed by Marge Bot
parent de1da8fa76
commit 1c68620782
2 changed files with 27 additions and 4 deletions
+21 -4
View File
@@ -5703,11 +5703,28 @@ void pvr_CmdPipelineBarrier2(VkCommandBuffer commandBuffer,
}
}
void pvr_CmdResetEvent2KHR(VkCommandBuffer commandBuffer,
VkEvent _event,
VkPipelineStageFlags2 stageMask)
void pvr_CmdResetEvent2(VkCommandBuffer commandBuffer,
VkEvent _event,
VkPipelineStageFlags2 stageMask)
{
assert(!"Unimplemented");
PVR_FROM_HANDLE(pvr_cmd_buffer, cmd_buffer, commandBuffer);
PVR_FROM_HANDLE(pvr_event, event, _event);
struct pvr_sub_cmd_event *sub_cmd;
VkResult result;
PVR_CHECK_COMMAND_BUFFER_BUILDING_STATE(cmd_buffer);
result = pvr_cmd_buffer_start_sub_cmd(cmd_buffer, PVR_SUB_CMD_TYPE_EVENT);
if (result != VK_SUCCESS)
return;
sub_cmd = &cmd_buffer->state.current_sub_cmd->event;
sub_cmd->type = PVR_EVENT_TYPE_RESET;
sub_cmd->reset.event = event;
sub_cmd->reset.wait_for_stage_mask = pvr_stage_mask_src(stageMask);
pvr_cmd_buffer_end_sub_cmd(cmd_buffer);
}
void pvr_CmdSetEvent2(VkCommandBuffer commandBuffer,
+6
View File
@@ -741,6 +741,12 @@ struct pvr_sub_cmd_event {
/* Stages to wait for until the event is set. */
uint32_t wait_for_stage_mask;
} set;
struct {
struct pvr_event *event;
/* Stages to wait for until the event is reset. */
uint32_t wait_for_stage_mask;
} reset;
};
};