summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/intel/vulkan/anv_entrypoints_gen.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py
index b33460f8f7b..8769886e91b 100644
--- a/src/intel/vulkan/anv_entrypoints_gen.py
+++ b/src/intel/vulkan/anv_entrypoints_gen.py
@@ -266,14 +266,18 @@ anv_entrypoint_is_enabled(int index, uint32_t core_version,
switch (index) {
% for e in entrypoints:
case ${e.num}:
+ /* ${e.name} */
% if e.core_version:
return ${e.core_version.c_vk_version()} <= core_version;
- % elif e.extension:
- % if e.extension.type == 'instance':
- return !device && instance->${e.extension.name[3:]};
- % else:
- return !device || device->${e.extension.name[3:]};
- % endif
+ % elif e.extensions:
+ % for ext in e.extensions:
+ % if ext.type == 'instance':
+ if (!device && instance->${ext.name[3:]}) return true;
+ % else:
+ if (!device || device->${ext.name[3:]}) return true;
+ % endif
+ % endfor
+ return false;
% else:
return true;
% endif
@@ -404,7 +408,7 @@ class Entrypoint(object):
self.num = None
# Extensions which require this entrypoint
self.core_version = None
- self.extension = None
+ self.extensions = []
def is_device_entrypoint(self):
return self.params[0].type in ('VkDevice', 'VkCommandBuffer')
@@ -465,8 +469,7 @@ def get_entrypoints(doc, entrypoints_to_defines, start_index):
e = entrypoints[command.attrib['name']]
e.enabled = True
assert e.core_version is None
- assert e.extension is None
- e.extension = ext
+ e.extensions.append(ext)
return [e for e in entrypoints.itervalues() if e.enabled]