@@ -49,12 +49,15 @@ void init_pso(HAL::Device& device, enum_array<PSO, PSOBase::ptr>& pso)
4949{% - endif %}
5050{% - endfor %}
5151
52- {% for v in parsed .workgraph_pso -%}
53- {% - set t = parsed .workgraph_pso [v ] -%}
52+ if (device.get_properties().work_graph)
53+ {
54+ {% - for v in parsed .workgraph_pso %}
55+ {% - set t = parsed .workgraph_pso [v ] %}
5456{% - if t .options .ExcludeVulkan is undefined %}
55- tasks.emplace_back(PSOBase::create<PSOS:: {{t.name}} >(device, pso[PSO::{{t.name}}]));
57+ tasks.emplace_back(PSOBase::create<PSOS:: {{t.name}} >(device, pso[PSO::{{t.name}}]));
5658{% - endif %}
5759{% - endfor %}
60+ }
5861
5962#ifndef HAL_BACKEND_VULKAN
6063{% for v in parsed .compute_pso -%}
@@ -71,12 +74,15 @@ void init_pso(HAL::Device& device, enum_array<PSO, PSOBase::ptr>& pso)
7174{% - endif %}
7275{% - endfor %}
7376
74- {% for v in parsed .workgraph_pso -%}
75- {% - set t = parsed .workgraph_pso [v ] -%}
77+ if (device.get_properties().work_graph)
78+ {
79+ {% - for v in parsed .workgraph_pso %}
80+ {% - set t = parsed .workgraph_pso [v ] %}
7681{% - if t .options .ExcludeVulkan is defined %}
77- tasks.emplace_back(PSOBase::create<PSOS:: {{t.name}} >(device, pso[PSO::{{t.name}}]));
82+ tasks.emplace_back(PSOBase::create<PSOS:: {{t.name}} >(device, pso[PSO::{{t.name}}]));
7883{% - endif %}
7984{% - endfor %}
85+ }
8086#endif // !HAL_BACKEND_VULKAN
8187
8288 when_all(begin(tasks), end(tasks)).wait();
0 commit comments