Lines Matching defs:cmdbuf

43    VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
45 panvk_cmd_get_desc_state(cmdbuf, GRAPHICS);
52 cmdbuf->state.vb.bufs[firstBinding + i].address =
54 cmdbuf->state.vb.bufs[firstBinding + i].size =
58 cmdbuf->state.vb.count = MAX2(cmdbuf->state.vb.count, firstBinding + bindingCount);
68 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
71 cmdbuf->state.ib.buffer = buf;
72 cmdbuf->state.ib.offset = offset;
75 cmdbuf->state.ib.index_size = 16;
78 cmdbuf->state.ib.index_size = 32;
81 cmdbuf->state.ib.index_size = 0;
84 cmdbuf->state.ib.index_size = 8;
121 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
125 &cmdbuf->bind_points[pipelineBindPoint].desc_state;
193 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
195 memcpy(cmdbuf->push_constants + offset, pValues, size);
199 panvk_cmd_get_desc_state(cmdbuf, GRAPHICS);
207 panvk_cmd_get_desc_state(cmdbuf, COMPUTE);
219 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
222 cmdbuf->bind_points[pipelineBindPoint].pipeline = pipeline;
223 cmdbuf->state.fs_rsd = 0;
226 cmdbuf->state.varyings = pipeline->varyings;
229 cmdbuf->state.viewport = pipeline->viewport;
230 cmdbuf->state.dirty |= PANVK_DYNAMIC_VIEWPORT;
233 cmdbuf->state.scissor = pipeline->scissor;
234 cmdbuf->state.dirty |= PANVK_DYNAMIC_SCISSOR;
241 cmdbuf->bind_points[pipelineBindPoint].desc_state.ubos = 0;
250 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
254 cmdbuf->state.viewport = pViewports[0];
255 cmdbuf->state.vpd = 0;
256 cmdbuf->state.dirty |= PANVK_DYNAMIC_VIEWPORT;
265 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
269 cmdbuf->state.scissor = pScissors[0];
270 cmdbuf->state.vpd = 0;
271 cmdbuf->state.dirty |= PANVK_DYNAMIC_SCISSOR;
277 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
279 cmdbuf->state.rast.line_width = lineWidth;
280 cmdbuf->state.dirty |= PANVK_DYNAMIC_LINE_WIDTH;
289 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
291 cmdbuf->state.rast.depth_bias.constant_factor = depthBiasConstantFactor;
292 cmdbuf->state.rast.depth_bias.clamp = depthBiasClamp;
293 cmdbuf->state.rast.depth_bias.slope_factor = depthBiasSlopeFactor;
294 cmdbuf->state.dirty |= PANVK_DYNAMIC_DEPTH_BIAS;
295 cmdbuf->state.fs_rsd = 0;
302 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
305 cmdbuf->state.blend.constants[i] = CLAMP(blendConstants[i], 0.0f, 1.0f);
307 cmdbuf->state.dirty |= PANVK_DYNAMIC_BLEND_CONSTANTS;
308 cmdbuf->state.fs_rsd = 0;
324 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
327 cmdbuf->state.zs.s_front.compare_mask = compareMask;
330 cmdbuf->state.zs.s_back.compare_mask = compareMask;
332 cmdbuf->state.dirty |= PANVK_DYNAMIC_STENCIL_COMPARE_MASK;
333 cmdbuf->state.fs_rsd = 0;
341 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
344 cmdbuf->state.zs.s_front.write_mask = writeMask;
347 cmdbuf->state.zs.s_back.write_mask = writeMask;
349 cmdbuf->state.dirty |= PANVK_DYNAMIC_STENCIL_WRITE_MASK;
350 cmdbuf->state.fs_rsd = 0;
358 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
361 cmdbuf->state.zs.s_front.ref = reference;
364 cmdbuf->state.zs.s_back.ref = reference;
366 cmdbuf->state.dirty |= PANVK_DYNAMIC_STENCIL_REFERENCE;
367 cmdbuf->state.fs_rsd = 0;
402 panvk_cmd_prepare_clear_values(struct panvk_cmd_buffer *cmdbuf,
405 for (unsigned i = 0; i < cmdbuf->state.pass->attachment_count; i++) {
407 &cmdbuf->state.pass->attachments[i];
413 cmdbuf->state.clear[i].depth = in[i].depthStencil.depth;
414 cmdbuf->state.clear[i].stencil = in[i].depthStencil.stencil;
416 cmdbuf->state.clear[i].depth = 0;
417 cmdbuf->state.clear[i].stencil = 0;
422 pan_pack_color(cmdbuf->state.clear[i].color, col, fmt, false);
424 memset(cmdbuf->state.clear[i].color, 0, sizeof(cmdbuf->state.clear[0].color));
431 panvk_cmd_fb_info_set_subpass(struct panvk_cmd_buffer *cmdbuf)
433 const struct panvk_subpass *subpass = cmdbuf->state.subpass;
434 struct pan_fb_info *fbinfo = &cmdbuf->state.fb.info;
435 const struct panvk_framebuffer *fb = cmdbuf->state.framebuffer;
436 const struct panvk_clear_value *clears = cmdbuf->state.clear;
452 fbinfo->rts[cb].crc_valid = &cmdbuf->state.fb.crc_valid[cb];
484 panvk_cmd_fb_info_init(struct panvk_cmd_buffer *cmdbuf)
486 struct pan_fb_info *fbinfo = &cmdbuf->state.fb.info;
487 const struct panvk_framebuffer *fb = cmdbuf->state.framebuffer;
489 memset(cmdbuf->state.fb.crc_valid, 0, sizeof(cmdbuf->state.fb.crc_valid));
504 VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
508 cmdbuf->state.pass = pass;
509 cmdbuf->state.subpass = pass->subpasses;
510 cmdbuf->state.framebuffer = fb;
511 cmdbuf->state.render_area = pRenderPassBegin->renderArea;
512 cmdbuf->state.batch = vk_zalloc(&cmdbuf->pool->vk.alloc,
513 sizeof(*cmdbuf->state.batch), 8,
515 util_dynarray_init(&cmdbuf->state.batch->jobs, NULL);
516 util_dynarray_init(&cmdbuf->state.batch->event_ops, NULL);
518 cmdbuf->state.clear =
519 vk_zalloc(&cmdbuf->pool->vk.alloc,
520 sizeof(*cmdbuf->state.clear) * pass->attachment_count,
522 panvk_cmd_prepare_clear_values(cmdbuf, pRenderPassBegin->pClearValues);
523 panvk_cmd_fb_info_init(cmdbuf);
524 panvk_cmd_fb_info_set_subpass(cmdbuf);
528 panvk_cmd_preload_fb_after_batch_split(struct panvk_cmd_buffer *cmdbuf)
530 for (unsigned i = 0; i < cmdbuf->state.fb.info.rt_count; i++) {
531 if (cmdbuf->state.fb.info.rts[i].view) {
532 cmdbuf->state.fb.info.rts[i].clear = false;
533 cmdbuf->state.fb.info.rts[i].preload = true;
537 if (cmdbuf->state.fb.info.zs.view.zs) {
538 cmdbuf->state.fb.info.zs.clear.z = false;
539 cmdbuf->state.fb.info.zs.preload.z = true;
542 if (cmdbuf->state.fb.info.zs.view.s ||
543 (cmdbuf->state.fb.info.zs.view.zs &&
544 util_format_is_depth_and_stencil(cmdbuf->state.fb.info.zs.view.zs->format))) {
545 cmdbuf->state.fb.info.zs.clear.s = false;
546 cmdbuf->state.fb.info.zs.preload.s = true;
551 panvk_cmd_open_batch(struct panvk_cmd_buffer *cmdbuf)
553 assert(!cmdbuf->state.batch);
554 cmdbuf->state.batch = vk_zalloc(&cmdbuf->pool->vk.alloc,
555 sizeof(*cmdbuf->state.batch), 8,
557 assert(cmdbuf->state.batch);
558 return cmdbuf->state.batch;