Lines Matching refs:pass

284    assert(state->pass);
301 /* Each render pass starts a new job */
311 struct v3dv_subpass *prev_subpass = &state->pass->subpasses[state->subpass_idx];
312 struct v3dv_subpass *subpass = &state->pass->subpasses[subpass_idx];
579 * recorded something into it: if the job was started in a render pass, it
582 * inside a render pass.
589 * Any rendering that happens outside a render pass is never merged, so
592 assert(v3dv_cl_offset(&job->rcl) != 0 || cmd_buffer->state.pass);
594 /* If we are finishing a job inside a render pass we have two scenarios:
605 if (cmd_buffer->state.pass) {
619 * exception is secondary command buffers inside a render pass, because in
624 !cmd_buffer->state.pass) {
743 if (cmd_buffer->state.pass)
762 if (cmd_buffer->state.pass &&
844 assert(cmd_buffer->state.subpass_idx < cmd_buffer->state.pass->subpass_count);
845 const struct v3dv_render_pass *pass = cmd_buffer->state.pass;
847 &pass->subpasses[cmd_buffer->state.subpass_idx];
856 * vkCmdResolveImage is not supposed to be called inside a render pass so
859 * resetting the framebuffer and render pass state temporarily and then
865 struct v3dv_render_pass *restore_pass = cmd_buffer->state.pass;
868 cmd_buffer->state.pass = NULL;
929 cmd_buffer->state.pass = restore_pass;
942 cmd_buffer->state.pass =
944 assert(cmd_buffer->state.pass);
949 assert(inheritance_info->subpass < cmd_buffer->state.pass->subpass_count);
955 /* Secondaries that execute inside a render pass won't start subpasses
1033 assert(cmd_buffer->state.pass);
1043 cmd_buffer->state.pass,
1047 perf_debug("Render area for subpass %d of render pass %p doesn't "
1048 "match render pass granularity.\n",
1049 cmd_buffer->state.subpass_idx, cmd_buffer->state.pass);
1060 const struct v3dv_render_pass *pass = state->pass;
1061 const struct v3dv_subpass *subpass = &pass->subpasses[state->subpass_idx];
1075 pass->attachments[attachment_idx].try_tlb_resolve;
1091 pass->attachments[ds_attachment_idx].try_tlb_resolve;
1100 assert(attachment_idx < cmd_buffer->state.pass->attachment_count);
1103 &cmd_buffer->state.pass->attachments[attachment_idx];
1147 const struct v3dv_render_pass *pass = state->pass;
1149 /* There could be less clear values than attachments in the render pass, in
1154 count = MIN2(count, pass->attachment_count);
1157 &pass->attachments[i];
1181 V3DV_FROM_HANDLE(v3dv_render_pass, pass, pRenderPassBegin->renderPass);
1189 for (uint32_t i = 0; i < pass->attachment_count; i++) {
1217 const struct v3dv_render_pass *pass = state->pass;
1219 if (state->attachment_alloc_count < pass->attachment_count) {
1226 pass->attachment_count;
1233 state->attachment_alloc_count = pass->attachment_count;
1236 assert(state->attachment_alloc_count >= pass->attachment_count);
1245 V3DV_FROM_HANDLE(v3dv_render_pass, pass, pRenderPassBegin->renderPass);
1249 state->pass = pass;
1287 assert(state->subpass_idx < state->pass->subpass_count - 1);
1302 assert(cmd_buffer->state.pass);
1303 assert(cmd_buffer->state.subpass_idx < cmd_buffer->state.pass->subpass_count);
1305 const struct v3dv_render_pass *pass = state->pass;
1306 const struct v3dv_subpass *subpass = &pass->subpasses[state->subpass_idx];
1329 struct v3dv_render_pass_attachment *att = &pass->attachments[att_idx];
1346 struct v3dv_render_pass_attachment *att = &pass->attachments[ds_att_idx];
1373 perf_debug("Render area doesn't match render pass granularity, falling "
1387 * when a render pass instance is begun."
1411 assert(subpass_idx < state->pass->subpass_count);
1432 &state->pass->subpasses[state->subpass_idx];
1443 * "If the render pass uses multiview, then layers must be one and
1474 assert(cmd_buffer->state.pass);
1475 assert(subpass_idx < cmd_buffer->state.pass->subpass_count);
1498 * record a meta operation (with its own render pass) that relies on
1512 assert(cmd_buffer->state.pass);
1513 assert(subpass_idx < cmd_buffer->state.pass->subpass_count);
1554 assert(state->subpass_idx == state->pass->subpass_count - 1);
1560 /* We are no longer inside a render pass */
1562 state->pass = NULL;
1575 * vkEndRenderPass (if we are inside a render pass). Commands outside
1576 * a render pass instance (for both primaries and secondaries) spawn
1579 * inside a render pass.
1583 cmd_buffer->state.pass);
1677 /* Secondary command buffers that execute outside a render pass create
1692 /* These can only happen inside a render pass */
1736 if (primary->state.pass != NULL) {
2187 state->meta.pass = v3dv_render_pass_to_handle(state->pass);
2251 state->pass = v3dv_render_pass_from_handle(state->meta.pass);
2314 state->meta.pass = VK_NULL_HANDLE;
2330 assert(cmd_buffer->state.pass);
2639 struct v3dv_render_pass *pass = cmd_buffer->state.pass;
2640 if (likely(!pass->multiview_enabled)) {
2646 uint32_t view_mask = pass->subpasses[cmd_buffer->state.subpass_idx].view_mask;
2687 struct v3dv_render_pass *pass = cmd_buffer->state.pass;
2688 if (likely(!pass->multiview_enabled)) {
2696 uint32_t view_mask = pass->subpasses[cmd_buffer->state.subpass_idx].view_mask;
2720 struct v3dv_render_pass *pass = cmd_buffer->state.pass;
2721 if (likely(!pass->multiview_enabled)) {
2728 uint32_t view_mask = pass->subpasses[cmd_buffer->state.subpass_idx].view_mask;
2751 struct v3dv_render_pass *pass = cmd_buffer->state.pass;
2752 if (likely(!pass->multiview_enabled)) {
2759 uint32_t view_mask = pass->subpasses[cmd_buffer->state.subpass_idx].view_mask;
3155 /* Resets can only happen outside a render pass instance so we should not
3158 assert(cmd_buffer->state.pass == NULL);
3222 if (cmd_buffer->state.pass)
3228 if (cmd_buffer->state.pass) {
3246 if (cmd_buffer->state.pass &&
3250 * render pass job in which they have been recorded.
3268 * "If queries are used while executing a render pass instance that has
3279 struct v3dv_render_pass *pass = cmd_buffer->state.pass;
3280 if (!pass->multiview_enabled) {
3283 struct v3dv_subpass *subpass = &pass->subpasses[state->subpass_idx];
3326 if (cmd_buffer->state.pass)
3333 if (cmd_buffer->state.pass)
3363 /* Copies can only happen outside a render pass instance so we should not
3366 assert(cmd_buffer->state.pass == NULL);
3415 /* Event (re)sets can only happen outside a render pass instance so we
3418 assert(cmd_buffer->state.pass == NULL);
3441 /* Event (re)sets can only happen outside a render pass instance so we
3444 assert(cmd_buffer->state.pass == NULL);
3496 /* vkCmdWaitEvents can be recorded inside a render pass, so we might have
3499 * If we are inside a render pass, because we vkCmd(Re)SetEvent can't happen
3500 * inside a render pass, it is safe to move the wait job so it happens right
3503 * the start of the render pass).
3505 * If we are outside a render pass then we should not have any on-going job
3508 assert(cmd_buffer->state.pass || !cmd_buffer->state.job);
3521 /* If this is called inside a render pass we need to finish the current
3524 struct v3dv_render_pass *pass = cmd_buffer->state.pass;
3525 if (pass)
3537 if (!pass || !pass->multiview_enabled) {
3541 &pass->subpasses[cmd_buffer->state.subpass_idx];
3549 if (cmd_buffer->state.pass)