12TEST(vk_render_graph, begin_rendering_copy_buffer_end_rendering)
21 VKRenderGraph render_graph(std::make_unique<CommandBufferLog>(
log), resources);
29 {
image, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, 0});
32 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
34 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
44 render_graph.add_node(begin_rendering);
51 render_graph.add_node(copy_buffer);
56 render_graph.add_node(end_rendering);
63 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
64 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
66 " - image_barrier(src_access_mask=, "
67 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
68 "old_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, "
69 "new_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, image=0x1, subresource_range=" +
71 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
72 "base_array_layer=0, layer_count=4294967295 )" +
76 EXPECT_EQ(
"begin_rendering(p_rendering_info=flags=, render_area=" +
endl() +
77 " offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
78 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
79 "p_color_attachments=" +
81 " image_view=0x2, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
82 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
83 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
84 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
89 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
90 "dst_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT" +
92 " - buffer_barrier(src_access_mask=, dst_access_mask=VK_ACCESS_TRANSFER_READ_BIT, "
93 "buffer=0x3, offset=0, size=18446744073709551615)" +
96 EXPECT_EQ(
"copy_buffer(src_buffer=0x3, dst_buffer=0x4" +
endl() +
97 " - region(src_offset=0, dst_offset=0, size=0)" +
endl() +
")",
100 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "
101 "dst_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT" +
103 " - image_barrier(src_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
105 "old_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
106 "new_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, image=0x1, subresource_range=" +
108 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
109 "base_array_layer=0, layer_count=4294967295 )" +
114TEST(vk_render_graph, begin_clear_attachments_copy_buffer_end)
123 VKRenderGraph render_graph(std::make_unique<CommandBufferLog>(
log), resources);
130 access_info.
images.append(
131 {
image, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, 0});
134 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
136 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
146 render_graph.add_node(begin_rendering);
152 clear_attachments.
attachments[0].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
153 clear_attachments.
attachments[0].clearValue.color.float32[0] = 0.2;
154 clear_attachments.
attachments[0].clearValue.color.float32[1] = 0.4;
155 clear_attachments.
attachments[0].clearValue.color.float32[2] = 0.6;
156 clear_attachments.
attachments[0].clearValue.color.float32[3] = 1.0;
157 clear_attachments.
attachments[0].colorAttachment = 0;
162 render_graph.add_node(clear_attachments);
169 render_graph.add_node(copy_buffer);
174 render_graph.add_node(end_rendering);
180 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
181 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
183 " - image_barrier(src_access_mask=, "
184 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
185 "old_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, "
186 "new_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, image=0x1, subresource_range=" +
188 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
189 "base_array_layer=0, layer_count=4294967295 )" +
192 EXPECT_EQ(
"begin_rendering(p_rendering_info=flags=, render_area=" +
endl() +
193 " offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
194 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
195 "p_color_attachments=" +
197 " image_view=0x2, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
198 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
199 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
200 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
204 "clear_attachments( - attachment(aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, "
205 "color_attachment=0)" +
206 endl() +
" - rect(rect=" +
endl() +
" offset=" +
endl() +
207 " x=0, y=0 , extent=" +
endl() +
208 " width=1920, height=1080 , base_array_layer=0, layer_count=1)" +
endl() +
")",
212 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
213 "dst_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT" +
215 " - buffer_barrier(src_access_mask=, dst_access_mask=VK_ACCESS_TRANSFER_READ_BIT, "
216 "buffer=0x3, offset=0, size=18446744073709551615)" +
219 EXPECT_EQ(
"copy_buffer(src_buffer=0x3, dst_buffer=0x4" +
endl() +
220 " - region(src_offset=0, dst_offset=0, size=0)" +
endl() +
")",
223 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "
224 "dst_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT" +
226 " - image_barrier(src_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
228 "old_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
229 "new_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, image=0x1, subresource_range=" +
231 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
232 "base_array_layer=0, layer_count=4294967295 )" +
237TEST(vk_render_graph, begin_copy_buffer_clear_attachments_end)
246 VKRenderGraph render_graph(std::make_unique<CommandBufferLog>(
log), resources);
253 access_info.
images.append(
254 {
image, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, 0});
257 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
259 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
269 render_graph.add_node(begin_rendering);
276 render_graph.add_node(copy_buffer);
282 clear_attachments.
attachments[0].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
283 clear_attachments.
attachments[0].clearValue.color.float32[0] = 0.2;
284 clear_attachments.
attachments[0].clearValue.color.float32[1] = 0.4;
285 clear_attachments.
attachments[0].clearValue.color.float32[2] = 0.6;
286 clear_attachments.
attachments[0].clearValue.color.float32[3] = 1.0;
287 clear_attachments.
attachments[0].colorAttachment = 0;
292 render_graph.add_node(clear_attachments);
297 render_graph.add_node(end_rendering);
303 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
304 "dst_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT" +
306 " - buffer_barrier(src_access_mask=, dst_access_mask=VK_ACCESS_TRANSFER_READ_BIT, "
307 "buffer=0x3, offset=0, size=18446744073709551615)" +
310 EXPECT_EQ(
"copy_buffer(src_buffer=0x3, dst_buffer=0x4" +
endl() +
311 " - region(src_offset=0, dst_offset=0, size=0)" +
endl() +
")",
314 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
315 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
317 " - image_barrier(src_access_mask=, "
318 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
319 "old_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, "
320 "new_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, image=0x1, subresource_range=" +
322 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
323 "base_array_layer=0, layer_count=4294967295 )" +
326 EXPECT_EQ(
"begin_rendering(p_rendering_info=flags=, render_area=" +
endl() +
327 " offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
328 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
329 "p_color_attachments=" +
331 " image_view=0x2, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
332 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
333 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
334 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
338 "clear_attachments( - attachment(aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, "
339 "color_attachment=0)" +
340 endl() +
" - rect(rect=" +
endl() +
" offset=" +
endl() +
341 " x=0, y=0 , extent=" +
endl() +
342 " width=1920, height=1080 , base_array_layer=0, layer_count=1)" +
endl() +
")",
346 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "
347 "dst_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT" +
349 " - image_barrier(src_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
351 "old_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
352 "new_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, image=0x1, subresource_range=" +
354 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
355 "base_array_layer=0, layer_count=4294967295 )" +
360TEST(vk_render_graph, begin_clear_attachments_copy_buffer_clear_attachments_end)
369 VKRenderGraph render_graph(std::make_unique<CommandBufferLog>(
log), resources);
376 access_info.
images.append(
377 {
image, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, 0});
380 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
382 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
392 render_graph.add_node(begin_rendering);
398 clear_attachments.
attachments[0].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
399 clear_attachments.
attachments[0].clearValue.color.float32[0] = 0.2;
400 clear_attachments.
attachments[0].clearValue.color.float32[1] = 0.4;
401 clear_attachments.
attachments[0].clearValue.color.float32[2] = 0.6;
402 clear_attachments.
attachments[0].clearValue.color.float32[3] = 1.0;
403 clear_attachments.
attachments[0].colorAttachment = 0;
408 render_graph.add_node(clear_attachments);
415 render_graph.add_node(copy_buffer);
421 clear_attachments.
attachments[0].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
422 clear_attachments.
attachments[0].clearValue.color.float32[0] = 0.2;
423 clear_attachments.
attachments[0].clearValue.color.float32[1] = 0.4;
424 clear_attachments.
attachments[0].clearValue.color.float32[2] = 0.6;
425 clear_attachments.
attachments[0].clearValue.color.float32[3] = 1.0;
426 clear_attachments.
attachments[0].colorAttachment = 0;
431 render_graph.add_node(clear_attachments);
436 render_graph.add_node(end_rendering);
443 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
444 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
446 " - image_barrier(src_access_mask=, "
447 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
448 "old_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, "
449 "new_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, image=0x1, subresource_range=" +
451 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
452 "base_array_layer=0, layer_count=4294967295 )" +
456 "begin_rendering(p_rendering_info=flags=VK_RENDERING_SUSPENDING_BIT, "
457 "VK_RENDERING_SUSPENDING_BIT_KHR, render_area=" +
458 endl() +
" offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
459 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
460 "p_color_attachments=" +
462 " image_view=0x2, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
463 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
464 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
465 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
469 "clear_attachments( - attachment(aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, "
470 "color_attachment=0)" +
471 endl() +
" - rect(rect=" +
endl() +
" offset=" +
endl() +
472 " x=0, y=0 , extent=" +
endl() +
473 " width=1920, height=1080 , base_array_layer=0, layer_count=1)" +
endl() +
")",
477 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
478 "dst_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT" +
480 " - buffer_barrier(src_access_mask=, dst_access_mask=VK_ACCESS_TRANSFER_READ_BIT, "
481 "buffer=0x3, offset=0, size=18446744073709551615)" +
484 EXPECT_EQ(
"copy_buffer(src_buffer=0x3, dst_buffer=0x4" +
endl() +
485 " - region(src_offset=0, dst_offset=0, size=0)" +
endl() +
")",
488 "begin_rendering(p_rendering_info=flags=VK_RENDERING_RESUMING_BIT, "
489 "VK_RENDERING_RESUMING_BIT_KHR, render_area=" +
490 endl() +
" offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
491 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
492 "p_color_attachments=" +
494 " image_view=0x2, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
495 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
496 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
497 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
501 "clear_attachments( - attachment(aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, "
502 "color_attachment=0)" +
503 endl() +
" - rect(rect=" +
endl() +
" offset=" +
endl() +
504 " x=0, y=0 , extent=" +
endl() +
505 " width=1920, height=1080 , base_array_layer=0, layer_count=1)" +
endl() +
")",
509 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "
510 "dst_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT" +
512 " - image_barrier(src_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
514 "old_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
515 "new_layout=VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, image=0x1, subresource_range=" +
517 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
518 "base_array_layer=0, layer_count=4294967295 )" +
529TEST(vk_render_graph, begin_draw_copy_framebuffer_draw_end)
541 VKRenderGraph render_graph(std::make_unique<CommandBufferLog>(
log), resources);
549 access_info.
images.append(
550 {image_attachment, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, 0});
553 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
555 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
565 render_graph.add_node(begin_rendering);
580 render_graph.add_node(draw);
591 copy_image.
node_data.
region.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
595 render_graph.add_node(copy_image);
610 render_graph.add_node(draw);
615 render_graph.add_node(end_rendering);
619 ASSERT_EQ(11,
log.size());
622 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
623 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
625 " - image_barrier(src_access_mask=, "
626 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
627 "old_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
628 "new_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, image=0x1, subresource_range=" +
630 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
631 "base_array_layer=0, layer_count=4294967295 )" +
635 "begin_rendering(p_rendering_info=flags=VK_RENDERING_SUSPENDING_BIT, "
636 "VK_RENDERING_SUSPENDING_BIT_KHR, render_area=" +
637 endl() +
" offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
638 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
639 "p_color_attachments=" +
641 " image_view=0x3, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
642 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
643 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
644 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
647 EXPECT_EQ(
"bind_pipeline(pipeline_bind_point=VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline=0x5)",
649 EXPECT_EQ(
"draw(vertex_count=4, instance_count=1, first_vertex=0, first_instance=0)",
log[3]);
652 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "
653 "dst_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT" +
655 " - image_barrier(src_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
656 "dst_access_mask=VK_ACCESS_TRANSFER_READ_BIT, "
657 "old_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
658 "new_layout=VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, image=0x1, subresource_range=" +
660 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
661 "base_array_layer=0, layer_count=4294967295 )" +
663 " - image_barrier(src_access_mask=, dst_access_mask=VK_ACCESS_TRANSFER_WRITE_BIT, "
664 "old_layout=VK_IMAGE_LAYOUT_UNDEFINED, new_layout=VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, "
665 "image=0x2, subresource_range=" +
667 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
668 "base_array_layer=0, layer_count=4294967295 )" +
672 "copy_image(src_image=0x1, src_image_layout=VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, "
673 "dst_image=0x2, dst_image_layout=VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL" +
674 endl() +
" - region(src_subresource=" +
endl() +
675 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, mip_level=0, base_array_layer=0, "
676 "layer_count=1 , src_offset=" +
677 endl() +
" x=0, y=0, z=0 , dst_subresource=" +
endl() +
678 " aspect_mask=, mip_level=0, base_array_layer=0, layer_count=0 , dst_offset=" +
679 endl() +
" x=0, y=0, z=0 , extent=" +
endl() +
680 " width=1920, height=1080, depth=1 )" +
endl() +
")",
683 "begin_rendering(p_rendering_info=flags=VK_RENDERING_RESUMING_BIT, "
684 "VK_RENDERING_RESUMING_BIT_KHR, render_area=" +
685 endl() +
" offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
686 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
687 "p_color_attachments=" +
689 " image_view=0x3, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
690 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
691 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
692 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
695 EXPECT_EQ(
"bind_pipeline(pipeline_bind_point=VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline=0x7)",
697 EXPECT_EQ(
"draw(vertex_count=4, instance_count=1, first_vertex=0, first_instance=0)",
log[9]);
705TEST(vk_render_graph, begin_update_draw_update_draw_update_draw_end)
716 VKRenderGraph render_graph(std::make_unique<CommandBufferLog>(
log), resources);
724 access_info.
images.append(
725 {
image, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, 0});
728 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
730 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
740 render_graph.add_node(begin_rendering);
749 render_graph.add_node(update_buffer);
754 access_info.
buffers.append({buffer_a, VK_ACCESS_UNIFORM_READ_BIT});
765 render_graph.add_node(draw);
774 render_graph.add_node(update_buffer);
779 access_info.
buffers.append({buffer_b, VK_ACCESS_UNIFORM_READ_BIT});
790 render_graph.add_node(draw);
799 render_graph.add_node(update_buffer);
804 access_info.
buffers.append({buffer_a, VK_ACCESS_UNIFORM_READ_BIT});
815 render_graph.add_node(draw);
820 render_graph.add_node(end_rendering);
824 ASSERT_EQ(16,
log.size());
825 EXPECT_EQ(
"update_buffer(dst_buffer=0x1, dst_offset=0, data_size=16)",
log[0]);
826 EXPECT_EQ(
"update_buffer(dst_buffer=0x2, dst_offset=0, data_size=24)",
log[1]);
828 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
829 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
831 " - image_barrier(src_access_mask=, "
832 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
833 "old_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
834 "new_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
835 "image=0x3, subresource_range=" +
837 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, "
838 "base_mip_level=0, level_count=4294967295, base_array_layer=0, layer_count=4294967295 "
843 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT, "
844 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
847 "buffer_barrier(src_access_mask=VK_ACCESS_TRANSFER_WRITE_BIT, "
848 "dst_access_mask=VK_ACCESS_UNIFORM_READ_BIT, buffer=0x1, offset=0, "
849 "size=18446744073709551615)" +
853 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT, "
854 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
857 "buffer_barrier(src_access_mask=VK_ACCESS_TRANSFER_WRITE_BIT, "
858 "dst_access_mask=VK_ACCESS_UNIFORM_READ_BIT, buffer=0x2, offset=0, "
859 "size=18446744073709551615)" +
863 "begin_rendering(p_rendering_info=flags=VK_RENDERING_SUSPENDING_BIT, "
864 "VK_RENDERING_SUSPENDING_BIT_KHR, render_area=" +
865 endl() +
" offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
866 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
867 "p_color_attachments=" +
869 " image_view=0x4, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
870 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
871 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
872 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
875 EXPECT_EQ(
"bind_pipeline(pipeline_bind_point=VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline=0x6)",
877 EXPECT_EQ(
"draw(vertex_count=1, instance_count=1, first_vertex=0, first_instance=0)",
log[7]);
878 EXPECT_EQ(
"draw(vertex_count=2, instance_count=1, first_vertex=0, first_instance=0)",
log[8]);
881 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "
882 "dst_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT" +
884 " - buffer_barrier(src_access_mask=VK_ACCESS_UNIFORM_READ_BIT, "
885 "dst_access_mask=VK_ACCESS_TRANSFER_WRITE_BIT, buffer=0x1, offset=0, "
886 "size=18446744073709551615)" +
889 EXPECT_EQ(
"update_buffer(dst_buffer=0x1, dst_offset=0, data_size=16)",
log[11]);
891 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT, "
892 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
894 " - buffer_barrier(src_access_mask=VK_ACCESS_TRANSFER_WRITE_BIT, "
895 "dst_access_mask=VK_ACCESS_UNIFORM_READ_BIT, buffer=0x1, offset=0, "
896 "size=18446744073709551615)" +
900 "begin_rendering(p_rendering_info=flags=VK_RENDERING_RESUMING_BIT, "
901 "VK_RENDERING_RESUMING_BIT_KHR, render_area=" +
902 endl() +
" offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
903 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
904 "p_color_attachments=" +
906 " image_view=0x4, image_layout=VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, "
907 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
908 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
909 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
912 EXPECT_EQ(
"draw(vertex_count=3, instance_count=1, first_vertex=0, first_instance=0)",
log[14]);
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
input_tx image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "preview_img") .compute_source("compositor_compute_preview.glsl") .do_static_compilation(true)