MCPcopy
hub / github.com/KhronosGroup/Vulkan-Docs / pipelineOrdering

Method pipelineOrdering

scripts/syncgenerator.py:233–259  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

231 self.writeBlock(f'supportedAccessTypes{self.file_suffix}', output)
232
233 def pipelineOrdering(self):
234 for pipelineinfo in self.pipeline_order_info:
235 output = []
236 name = pipelineinfo.elem.get('name')
237 depends = pipelineinfo.elem.get('depends')
238 syncPipelineStages = pipelineinfo.elem.findall('syncpipelinestage')
239
240 for stageElem in syncPipelineStages:
241 stage = stageElem.text
242 order = stageElem.get('order')
243 before = stageElem.get('before')
244 after = stageElem.get('after')
245 if order == 'None':
246 continue
247
248 if not self.isSameConditionPipeline(depends, stage):
249 (condition, result) = self.evaluatePipelineIfdef(stage)
250 else:
251 result = True
252
253 if result:
254 output.append(f' * ename:{stage}')
255 else:
256 output.append(f'// {condition} -> {result}, not emitting * ename:{stage}')
257
258 file_name = name.replace(' ', '_')
259 self.writeBlock(f'pipelineOrders/{file_name}{self.file_suffix}', output)

Callers 1

endFileMethod · 0.95

Calls 5

evaluatePipelineIfdefMethod · 0.95
writeBlockMethod · 0.95
appendMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected