mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
anv: Prevent starting a render pass on compute queues
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11564>
This commit is contained in:
parent
075db10a32
commit
7a4f945351
1 changed files with 13 additions and 0 deletions
|
|
@ -78,6 +78,13 @@ convert_pc_to_bits(struct GENX(PIPE_CONTROL) *pc) {
|
|||
fprintf(stderr, ") reason: %s\n", __FUNCTION__); \
|
||||
}
|
||||
|
||||
static bool
|
||||
is_render_queue_cmd_buffer(const struct anv_cmd_buffer *cmd_buffer)
|
||||
{
|
||||
struct anv_queue_family *queue_family = cmd_buffer->pool->queue_family;
|
||||
return (queue_family->queueFlags & VK_QUEUE_GRAPHICS_BIT) != 0;
|
||||
}
|
||||
|
||||
void
|
||||
genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
|
||||
{
|
||||
|
|
@ -6717,6 +6724,12 @@ void genX(CmdBeginRenderPass2)(
|
|||
ANV_FROM_HANDLE(anv_framebuffer, framebuffer, pRenderPassBeginInfo->framebuffer);
|
||||
VkResult result;
|
||||
|
||||
if (!is_render_queue_cmd_buffer(cmd_buffer)) {
|
||||
assert(!"Trying to start a render pass on non-render queue!");
|
||||
anv_batch_set_error(&cmd_buffer->batch, VK_ERROR_UNKNOWN);
|
||||
return;
|
||||
}
|
||||
|
||||
cmd_buffer->state.framebuffer = framebuffer;
|
||||
cmd_buffer->state.pass = pass;
|
||||
cmd_buffer->state.render_area = pRenderPassBeginInfo->renderArea;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue