| { | |
| "commands": [ | |
| { | |
| "mark_boundary": { | |
| "frame_id": "0", | |
| "resources": [] | |
| } | |
| }, | |
| { | |
| "dispatch_compute": { | |
| "shader_ref": "0_pre_process", | |
| "push_data_ref": "push_data_1", | |
| "rangeND": [ | |
| 60, | |
| 34, | |
| 1 | |
| ], | |
| "implicit_barrier": false, | |
| "bindings": [ | |
| { | |
| "set": 0, | |
| "id": 2, | |
| "resource_ref": "in_motion" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 0, | |
| "resource_ref": "in_colour" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 7, | |
| "resource_ref": "in_nearest_offset_tm1" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 5, | |
| "resource_ref": "in_depth_tm1" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 3, | |
| "resource_ref": "in_history" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 4, | |
| "resource_ref": "in_feedback_tm1" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 6, | |
| "resource_ref": "in_derivative_tm1" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 1, | |
| "resource_ref": "in_depth" | |
| }, | |
| { | |
| "set": 1, | |
| "id": 1, | |
| "resource_ref": "out_derivative", | |
| "descriptor_type": "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE" | |
| }, | |
| { | |
| "set": 1, | |
| "id": 3, | |
| "resource_ref": "out_nearest_offset", | |
| "descriptor_type": "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE" | |
| }, | |
| { | |
| "set": 1, | |
| "id": 0, | |
| "resource_ref": "out_input_tensor" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "dispatch_barrier": { | |
| "image_barrier_refs": [], | |
| "tensor_barrier_refs": [ | |
| "barrier_14" | |
| ], | |
| "memory_barrier_refs": [], | |
| "buffer_barrier_refs": [] | |
| } | |
| }, | |
| { | |
| "dispatch_graph": { | |
| "graph_ref": "1_nss", | |
| "implicit_barrier": false, | |
| "bindings": [ | |
| { | |
| "set": 0, | |
| "id": 0, | |
| "resource_ref": "out_input_tensor" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 1, | |
| "resource_ref": "out_feedback" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 2, | |
| "resource_ref": "out_tp_aliaser" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 3, | |
| "resource_ref": "out_k3_aliaser" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 4, | |
| "resource_ref": "out_k2_aliaser" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 5, | |
| "resource_ref": "out_k1_aliaser" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 6, | |
| "resource_ref": "out_k0_aliaser" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "dispatch_barrier": { | |
| "image_barrier_refs": [ | |
| "barrier_23", | |
| "barrier_25", | |
| "barrier_27", | |
| "barrier_29", | |
| "barrier_31", | |
| "barrier_33" | |
| ], | |
| "tensor_barrier_refs": [], | |
| "memory_barrier_refs": [], | |
| "buffer_barrier_refs": [] | |
| } | |
| }, | |
| { | |
| "dispatch_compute": { | |
| "shader_ref": "2_post_process", | |
| "push_data_ref": "push_data_22", | |
| "rangeND": [ | |
| 120, | |
| 68, | |
| 1 | |
| ], | |
| "implicit_barrier": false, | |
| "bindings": [ | |
| { | |
| "set": 0, | |
| "id": 1, | |
| "resource_ref": "in_motion" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 2, | |
| "resource_ref": "in_history" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 8, | |
| "resource_ref": "out_nearest_offset" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 3, | |
| "resource_ref": "out_k0" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 4, | |
| "resource_ref": "out_k1" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 5, | |
| "resource_ref": "out_k2" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 6, | |
| "resource_ref": "out_k3" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 0, | |
| "resource_ref": "in_colour" | |
| }, | |
| { | |
| "set": 0, | |
| "id": 7, | |
| "resource_ref": "out_tp" | |
| }, | |
| { | |
| "set": 1, | |
| "id": 0, | |
| "resource_ref": "out_colour", | |
| "descriptor_type": "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "mark_boundary": { | |
| "frame_id": "1", | |
| "resources": [ | |
| "out_colour" | |
| ] | |
| } | |
| } | |
| ], | |
| "resources": [ | |
| { | |
| "shader": { | |
| "uid": "0_pre_process", | |
| "src": "./0_pre_process.spv", | |
| "entry": "main", | |
| "type": "SPIR-V", | |
| "push_constants_size": 128, | |
| "specialization_constants": [] | |
| } | |
| }, | |
| { | |
| "raw_data": { | |
| "uid": "push_data_1", | |
| "src": "./0_pre_process_push_consts.npy" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_motion", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "src": "./in_motion.dds", | |
| "format": "VK_FORMAT_R16G16_SFLOAT", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_TRANSPARENT_BLACK", | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_colour", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "src": "./in_colour.dds", | |
| "format": "VK_FORMAT_B10G11R11_UFLOAT_PACK32", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_TRANSPARENT_BLACK", | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_nearest_offset_tm1", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "src": "./in_nearest_offset_tm1.dds", | |
| "format": "VK_FORMAT_R8_UNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_CUSTOM_EXT", | |
| "custom_border_color": [ | |
| 0.0, | |
| 0.0, | |
| 0.0, | |
| 0.0 | |
| ], | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_depth_tm1", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "src": "./in_depth_tm1.dds", | |
| "format": "VK_FORMAT_R32_SFLOAT", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_CUSTOM_EXT", | |
| "custom_border_color": [ | |
| 0.0, | |
| 0.0, | |
| 0.0, | |
| 0.0 | |
| ], | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_history", | |
| "dims": [ | |
| 1, | |
| 1920, | |
| 1088, | |
| 1 | |
| ], | |
| "src": "./in_history.dds", | |
| "format": "VK_FORMAT_B10G11R11_UFLOAT_PACK32", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_EDGE", | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_feedback_tm1", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "src": "./in_feedback_tm1.dds", | |
| "format": "VK_FORMAT_R8G8B8A8_SNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_CUSTOM_EXT", | |
| "custom_border_color": [ | |
| -1.0, | |
| -1.0, | |
| -1.0, | |
| -1.0 | |
| ], | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_derivative_tm1", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "src": "./in_derivative_tm1.dds", | |
| "format": "VK_FORMAT_R8G8_UNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_TRANSPARENT_BLACK", | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "in_depth", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "src": "./in_depth.dds", | |
| "format": "VK_FORMAT_R32_SFLOAT", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_TRANSPARENT_BLACK", | |
| "tiling": "OPTIMAL" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_derivative", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "dst": "./out_derivative.dds", | |
| "format": "VK_FORMAT_R8G8_UNORM", | |
| "shader_access": "writeonly", | |
| "mips": 1, | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_nearest_offset", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "dst": "./out_nearest_offset.dds", | |
| "format": "VK_FORMAT_R8_UNORM", | |
| "shader_access": "readwrite", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_TRANSPARENT_BLACK", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "tensor": { | |
| "uid": "out_input_tensor", | |
| "dims": [ | |
| 1, | |
| 544, | |
| 960, | |
| 12 | |
| ], | |
| "dst": "./out_input_tensor.npy", | |
| "format": "VK_FORMAT_R8_SINT", | |
| "shader_access": "readwrite", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "graph": { | |
| "uid": "1_nss", | |
| "src": "./1_nss.vgf" | |
| } | |
| }, | |
| { | |
| "tensor_barrier": { | |
| "uid": "barrier_14", | |
| "src_access": "compute_shader_write", | |
| "dst_access": "graph_read", | |
| "src_stage": [ | |
| "compute" | |
| ], | |
| "dst_stage": [ | |
| "graph" | |
| ], | |
| "tensor_resource": "out_input_tensor" | |
| } | |
| }, | |
| { | |
| "tensor": { | |
| "uid": "out_feedback", | |
| "dims": [ | |
| 1, | |
| 544, | |
| 960, | |
| 4 | |
| ], | |
| "dst": "./out_feedback.npy", | |
| "format": "VK_FORMAT_R8_SINT", | |
| "shader_access": "writeonly", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_tp", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "format": "VK_FORMAT_R8G8B8A8_SNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_BORDER", | |
| "border_color": "FLOAT_TRANSPARENT_BLACK", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "tensor": { | |
| "uid": "out_tp_aliaser", | |
| "dims": [ | |
| 1, | |
| 544, | |
| 960, | |
| 4 | |
| ], | |
| "format": "VK_FORMAT_R8_SINT", | |
| "shader_access": "readwrite", | |
| "alias_target": { | |
| "resource_ref": "out_tp" | |
| }, | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_k3", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "format": "VK_FORMAT_R8G8B8A8_SNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_EDGE", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "tensor": { | |
| "uid": "out_k3_aliaser", | |
| "dims": [ | |
| 1, | |
| 544, | |
| 960, | |
| 4 | |
| ], | |
| "format": "VK_FORMAT_R8_SINT", | |
| "shader_access": "readwrite", | |
| "alias_target": { | |
| "resource_ref": "out_k3" | |
| }, | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_k2", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "format": "VK_FORMAT_R8G8B8A8_SNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_EDGE", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "tensor": { | |
| "uid": "out_k2_aliaser", | |
| "dims": [ | |
| 1, | |
| 544, | |
| 960, | |
| 4 | |
| ], | |
| "format": "VK_FORMAT_R8_SINT", | |
| "shader_access": "readwrite", | |
| "alias_target": { | |
| "resource_ref": "out_k2" | |
| }, | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_k1", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "format": "VK_FORMAT_R8G8B8A8_SNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_EDGE", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "tensor": { | |
| "uid": "out_k1_aliaser", | |
| "dims": [ | |
| 1, | |
| 544, | |
| 960, | |
| 4 | |
| ], | |
| "format": "VK_FORMAT_R8_SINT", | |
| "shader_access": "readwrite", | |
| "alias_target": { | |
| "resource_ref": "out_k1" | |
| }, | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_k0", | |
| "dims": [ | |
| 1, | |
| 960, | |
| 544, | |
| 1 | |
| ], | |
| "format": "VK_FORMAT_R8G8B8A8_SNORM", | |
| "shader_access": "readonly", | |
| "mips": 1, | |
| "min_filter": "LINEAR", | |
| "mag_filter": "LINEAR", | |
| "mip_filter": "NEAREST", | |
| "border_address_mode": "CLAMP_EDGE", | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "tensor": { | |
| "uid": "out_k0_aliaser", | |
| "dims": [ | |
| 1, | |
| 544, | |
| 960, | |
| 4 | |
| ], | |
| "format": "VK_FORMAT_R8_SINT", | |
| "shader_access": "readwrite", | |
| "alias_target": { | |
| "resource_ref": "out_k0" | |
| }, | |
| "tiling": "LINEAR" | |
| } | |
| }, | |
| { | |
| "shader": { | |
| "uid": "2_post_process", | |
| "src": "./2_post_process.spv", | |
| "entry": "main", | |
| "type": "SPIR-V", | |
| "push_constants_size": 76, | |
| "specialization_constants": [] | |
| } | |
| }, | |
| { | |
| "raw_data": { | |
| "uid": "push_data_22", | |
| "src": "./2_post_process_push_consts.npy" | |
| } | |
| }, | |
| { | |
| "image_barrier": { | |
| "uid": "barrier_23", | |
| "src_access": "compute_shader_write", | |
| "dst_access": "compute_shader_read", | |
| "old_layout": "general", | |
| "new_layout": "general", | |
| "src_stage": [ | |
| "compute" | |
| ], | |
| "dst_stage": [ | |
| "compute" | |
| ], | |
| "image_resource": "out_nearest_offset" | |
| } | |
| }, | |
| { | |
| "image_barrier": { | |
| "uid": "barrier_25", | |
| "src_access": "graph_write", | |
| "dst_access": "compute_shader_read", | |
| "old_layout": "general", | |
| "new_layout": "general", | |
| "src_stage": [ | |
| "graph" | |
| ], | |
| "dst_stage": [ | |
| "compute" | |
| ], | |
| "image_resource": "out_k0" | |
| } | |
| }, | |
| { | |
| "image_barrier": { | |
| "uid": "barrier_27", | |
| "src_access": "graph_write", | |
| "dst_access": "compute_shader_read", | |
| "old_layout": "general", | |
| "new_layout": "general", | |
| "src_stage": [ | |
| "graph" | |
| ], | |
| "dst_stage": [ | |
| "compute" | |
| ], | |
| "image_resource": "out_k1" | |
| } | |
| }, | |
| { | |
| "image_barrier": { | |
| "uid": "barrier_29", | |
| "src_access": "graph_write", | |
| "dst_access": "compute_shader_read", | |
| "old_layout": "general", | |
| "new_layout": "general", | |
| "src_stage": [ | |
| "graph" | |
| ], | |
| "dst_stage": [ | |
| "compute" | |
| ], | |
| "image_resource": "out_k2" | |
| } | |
| }, | |
| { | |
| "image_barrier": { | |
| "uid": "barrier_31", | |
| "src_access": "graph_write", | |
| "dst_access": "compute_shader_read", | |
| "old_layout": "general", | |
| "new_layout": "general", | |
| "src_stage": [ | |
| "graph" | |
| ], | |
| "dst_stage": [ | |
| "compute" | |
| ], | |
| "image_resource": "out_k3" | |
| } | |
| }, | |
| { | |
| "image_barrier": { | |
| "uid": "barrier_33", | |
| "src_access": "graph_write", | |
| "dst_access": "compute_shader_read", | |
| "old_layout": "general", | |
| "new_layout": "general", | |
| "src_stage": [ | |
| "graph" | |
| ], | |
| "dst_stage": [ | |
| "compute" | |
| ], | |
| "image_resource": "out_tp" | |
| } | |
| }, | |
| { | |
| "image": { | |
| "uid": "out_colour", | |
| "dims": [ | |
| 1, | |
| 1920, | |
| 1088, | |
| 1 | |
| ], | |
| "dst": "./out_colour.dds", | |
| "format": "VK_FORMAT_B10G11R11_UFLOAT_PACK32", | |
| "shader_access": "writeonly", | |
| "mips": 1, | |
| "tiling": "LINEAR" | |
| } | |
| } | |
| ] | |
| } |