MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / OpticalFlowHelper

Class OpticalFlowHelper

tests/framework/data_graph_objects.h:142–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

140};
141
142class OpticalFlowHelper {
143 private:
144 static constexpr uint32_t kResourceCount = 5u;
145 HelperParameters params_ = HelperParameters();
146
147 public:
148 std::vector<VkDataGraphPipelineSingleNodeConnectionARM> connections_;
149 VkDataGraphPipelineSingleNodeCreateInfoARM single_node_ci_ = {};
150 VkDataGraphPipelineOpticalFlowCreateInfoARM optical_flow_ci_ = {};
151 VkDataGraphOpticalFlowGridSizeFlagsARM optical_flow_grid_size_ = VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_ARM;
152 std::vector<vkt::Image> images_;
153 std::vector<vkt::ImageView> image_views_;
154 std::vector<VkDataGraphPipelineResourceInfoImageLayoutARM> image_layouts_;
155 DataGraphPipelineHelper dg_pipeline_;
156
157 VkLayerTest &layer_test_;
158 vkt::Device *device_ = nullptr;
159
160 explicit OpticalFlowHelper(VkLayerTest &test, const HelperParameters &params = HelperParameters());
161
162 void QueryOpticalFlowProperties();
163 std::vector<VkFormat> GetAllOpticalFlowFormats(VkDataGraphOpticalFlowImageUsageFlagsARM usage);
164 VkFormat GetAnyOpticalFlowFormat(VkDataGraphOpticalFlowImageUsageFlagsARM usage);
165 void CreateOpticalFlow();
166 void SetupImageDescriptors();
167 void InitDataGraphPipeline();
168 VkResult CreateDataGraphPipeline();
169
170 VkPipelineLayout PipelineLayout() const { return dg_pipeline_.pipeline_layout_; };
171 const VkDescriptorSet* DescriptorSet() const { return &dg_pipeline_.descriptor_set_.get()->set_; };
172};
173} // namespace of
174} // namespace dg
175} // namespace vkt

Callers

nothing calls this directly

Calls 1

HelperParametersClass · 0.85

Tested by

no test coverage detected