19 resources.add_image(image,
false);
20 resources.add_buffer(buffer);
25 {image, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, {}});
28 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
45 clear_attachments.
attachments[0].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
46 clear_attachments.
attachments[0].clearValue.color.float32[0] = 0.2;
47 clear_attachments.
attachments[0].clearValue.color.float32[1] = 0.4;
48 clear_attachments.
attachments[0].clearValue.color.float32[2] = 0.6;
49 clear_attachments.
attachments[0].clearValue.color.float32[3] = 1.0;
50 clear_attachments.
attachments[0].colorAttachment = 0;
67 copy_image_to_buffer.
node_data.
region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
76 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
77 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
79 " - image_barrier(src_access_mask=, "
80 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
81 "old_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
83 color_attachment_layout_str() +
85 "subresource_range=" +
87 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
88 "base_array_layer=0, layer_count=4294967295 )" +
91 EXPECT_EQ(
"begin_rendering(p_rendering_info=flags=, render_area=" +
endl() +
92 " offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
93 " width=0, height=0 , layer_count=1, view_mask=0, color_attachment_count=1, "
94 "p_color_attachments=" +
95 endl() +
" image_view=0x2, image_layout=" + color_attachment_layout_str() +
97 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
98 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
99 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
103 "clear_attachments( - attachment(aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, "
104 "color_attachment=0)" +
105 endl() +
" - rect(rect=" +
endl() +
" offset=" +
endl() +
106 " x=0, y=0 , extent=" +
endl() +
107 " width=1920, height=1080 , base_array_layer=0, layer_count=1)" +
endl() +
")",
111 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "
112 "dst_stage_mask=VK_PIPELINE_STAGE_TRANSFER_BIT" +
114 " - image_barrier(src_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
115 "dst_access_mask=VK_ACCESS_TRANSFER_READ_BIT, "
117 color_attachment_layout_str() +
119 "new_layout=VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, image=0x1, subresource_range=" +
121 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
122 "base_array_layer=0, layer_count=4294967295 )" +
126 "copy_image_to_buffer(src_image=0x1, src_image_layout=VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, "
129 " - region(buffer_offset=0, buffer_row_length=0, buffer_image_height=0, "
130 "image_subresource=" +
132 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, mip_level=0, base_array_layer=0, "
133 "layer_count=0 , image_offset=" +
134 endl() +
" x=0, y=0, z=0 , image_extent=" +
endl() +
135 " width=0, height=0, depth=0 )" +
endl() +
")",
146 resources.add_image(image,
false);
150 access_info.
images.append(
151 {image, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_ASPECT_COLOR_BIT, {}});
154 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
171 draw.node_data.first_instance = 0;
172 draw.node_data.first_vertex = 0;
173 draw.node_data.instance_count = 1;
174 draw.node_data.vertex_count = 4;
175 draw.node_data.graphics.pipeline_data.push_constants_data =
nullptr;
176 draw.node_data.graphics.pipeline_data.push_constants_size = 0;
177 draw.node_data.graphics.pipeline_data.vk_descriptor_set = VK_NULL_HANDLE;
178 draw.node_data.graphics.pipeline_data.vk_pipeline = pipeline;
179 draw.node_data.graphics.pipeline_data.vk_pipeline_layout = pipeline_layout;
180 draw.node_data.graphics.viewport.viewports.append(VkViewport{});
181 draw.node_data.graphics.viewport.scissors.append(VkRect2D{});
193 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
194 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
196 " - image_barrier(src_access_mask=, "
197 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
198 "old_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
200 color_attachment_layout_str() +
", image=0x1, subresource_range=" +
endl() +
201 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, "
202 "level_count=4294967295, base_array_layer=0, layer_count=4294967295 )" +
205 EXPECT_EQ(
"begin_rendering(p_rendering_info=flags=, render_area=" +
endl() +
206 " offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
207 " width=0, height=0 , layer_count=1, view_mask=0, "
208 "color_attachment_count=1, p_color_attachments=" +
209 endl() +
" image_view=0x2, image_layout=" + color_attachment_layout_str() +
211 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
212 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
213 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
218 EXPECT_EQ(
"bind_pipeline(pipeline_bind_point=VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline=0x3)",
220 EXPECT_EQ(
"draw(vertex_count=4, instance_count=1, first_vertex=0, first_instance=0)",
log[5]);
231 resources.add_image(image,
true);
235 access_info.
images.append({image,
236 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
237 VK_IMAGE_ASPECT_COLOR_BIT,
238 {0, VK_REMAINING_MIP_LEVELS, 0, VK_REMAINING_ARRAY_LAYERS}});
241 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
257 access_info.
images.append({image,
258 VK_ACCESS_SHADER_READ_BIT,
259 VK_IMAGE_ASPECT_COLOR_BIT,
260 {0, VK_REMAINING_MIP_LEVELS, 1, VK_REMAINING_ARRAY_LAYERS}});
262 draw.node_data.first_instance = 0;
263 draw.node_data.first_vertex = 0;
264 draw.node_data.instance_count = 1;
265 draw.node_data.vertex_count = 4;
266 draw.node_data.graphics.pipeline_data.push_constants_data =
nullptr;
267 draw.node_data.graphics.pipeline_data.push_constants_size = 0;
268 draw.node_data.graphics.pipeline_data.vk_descriptor_set = VK_NULL_HANDLE;
269 draw.node_data.graphics.pipeline_data.vk_pipeline = pipeline;
270 draw.node_data.graphics.pipeline_data.vk_pipeline_layout = pipeline_layout;
271 draw.node_data.graphics.viewport.viewports.append(VkViewport{});
272 draw.node_data.graphics.viewport.scissors.append(VkRect2D{});
284 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "
285 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT" +
287 " - image_barrier(src_access_mask=, "
288 "dst_access_mask=VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
289 "old_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
291 color_attachment_layout_str() +
", image=0x1, subresource_range=" +
endl() +
292 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, "
293 "level_count=4294967295, base_array_layer=0, layer_count=4294967295 )" +
297 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, "
298 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_COMMANDS_BIT" +
300 " - image_barrier(src_access_mask=VK_ACCESS_TRANSFER_WRITE_BIT, "
301 "dst_access_mask=VK_ACCESS_SHADER_READ_BIT, VK_ACCESS_SHADER_WRITE_BIT, "
302 "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "
303 "VK_ACCESS_TRANSFER_READ_BIT, VK_ACCESS_TRANSFER_WRITE_BIT, "
305 color_attachment_layout_str() +
307 "new_layout=VK_IMAGE_LAYOUT_GENERAL, "
308 "image=0x1, subresource_range=" +
310 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
311 "base_array_layer=1, layer_count=4294967295 )" +
314 EXPECT_EQ(
"begin_rendering(p_rendering_info=flags=, render_area=" +
endl() +
315 " offset=" +
endl() +
" x=0, y=0 , extent=" +
endl() +
316 " width=0, height=0 , layer_count=1, view_mask=0, "
317 "color_attachment_count=1, p_color_attachments=" +
318 endl() +
" image_view=0x2, image_layout=" + color_attachment_layout_str() +
320 "resolve_mode=VK_RESOLVE_MODE_NONE, resolve_image_view=0, "
321 "resolve_image_layout=VK_IMAGE_LAYOUT_UNDEFINED, "
322 "load_op=VK_ATTACHMENT_LOAD_OP_DONT_CARE, store_op=VK_ATTACHMENT_STORE_OP_STORE" +
327 EXPECT_EQ(
"bind_pipeline(pipeline_bind_point=VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline=0x3)",
329 EXPECT_EQ(
"draw(vertex_count=4, instance_count=1, first_vertex=0, first_instance=0)",
log[6]);
332 "pipeline_barrier(src_stage_mask=VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, "
333 "dst_stage_mask=VK_PIPELINE_STAGE_ALL_COMMANDS_BIT" +
335 " - image_barrier(src_access_mask=VK_ACCESS_SHADER_READ_BIT, "
336 "VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, "
337 "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, "
338 "VK_ACCESS_TRANSFER_WRITE_BIT, dst_access_mask=VK_ACCESS_SHADER_READ_BIT, "
339 "VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, "
340 "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, "
341 "VK_ACCESS_TRANSFER_WRITE_BIT, old_layout=VK_IMAGE_LAYOUT_GENERAL, "
343 color_attachment_layout_str() +
", image=0x1, subresource_range=" +
endl() +
344 " aspect_mask=VK_IMAGE_ASPECT_COLOR_BIT, base_mip_level=0, level_count=4294967295, "
345 "base_array_layer=1, layer_count=4294967295 )" +
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)