vulkan/util: Use str.removeprefix() from Python 3.9

Signed-off-by: Ernst Persson <ernstp@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36398>
This commit is contained in:
Ernst Persson
2025-07-27 13:25:42 +02:00
committed by Marge Bot
parent 7d7591b37c
commit 2bdbc72d27
3 changed files with 8 additions and 18 deletions
@@ -34,11 +34,6 @@ import mako
from mako.template import Template
from vk_extensions import Requirements, get_all_required, filter_api
def str_removeprefix(s, prefix):
if s.startswith(prefix):
return s[len(prefix):]
return s
RENAMED_FEATURES = {
# See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17272#note_1446477 for details
('BufferDeviceAddressFeaturesEXT', 'bufferDeviceAddressCaptureReplay'): 'bufferDeviceAddressCaptureReplayEXT',
@@ -154,7 +149,7 @@ for (feature_structs, features) in KNOWN_ALIASES:
RENAMED_FEATURES[rename] = flag
def get_renamed_feature(c_type, feature):
return RENAMED_FEATURES.get((str_removeprefix(c_type, 'VkPhysicalDevice'), feature), feature)
return RENAMED_FEATURES.get((c_type.removeprefix('VkPhysicalDevice'), feature), feature)
@dataclass
class FeatureStruct:
@@ -485,12 +480,12 @@ def get_feature_structs_from_xml(xml_files, beta, api='vulkan'):
if renamed_flag not in features:
features[renamed_flag] = f.c_type
else:
a = str_removeprefix(features[renamed_flag], 'VkPhysicalDevice')
b = str_removeprefix(f.c_type, 'VkPhysicalDevice')
a = features[renamed_flag].removeprefix('VkPhysicalDevice')
b = f.c_type.removeprefix('VkPhysicalDevice')
if (a, flag) not in RENAMED_FEATURES or (b, flag) not in RENAMED_FEATURES:
diagnostics.append(f'{a} and {b} both define {flag}')
unused_renames.pop((str_removeprefix(f.c_type, 'VkPhysicalDevice'), flag), None)
unused_renames.pop((f.c_type.removeprefix('VkPhysicalDevice'), flag), None)
for rename in unused_renames:
diagnostics.append(f'unused rename {rename}')
@@ -36,11 +36,6 @@ from mako.template import Template
from vk_extensions import get_all_required, filter_api
def str_removeprefix(s, prefix):
if s.startswith(prefix):
return s[len(prefix):]
return s
# Some extensions have been promoted to core, their properties are renamed
# in the following hashtable.
# The hashtable takes the form:
@@ -320,7 +315,7 @@ def get_property_structs(doc, api, beta):
if "STRUCTURE_TYPE" in str(elem.attrib):
s_type = elem.attrib.get("values")
name = str_removeprefix(full_name, "VkPhysicalDevice")
name = full_name.removeprefix("VkPhysicalDevice")
# collect a list of properties
properties = []
@@ -6,7 +6,7 @@ COPYRIGHT=u"""
"""
import argparse
from vk_physical_device_features_gen import get_renamed_feature, str_removeprefix
from vk_physical_device_features_gen import get_renamed_feature
import os
import sys
import xml.etree.ElementTree as et
@@ -71,13 +71,13 @@ def process_enable(enab):
else:
return f"(p->{attrib['member']} & {attrib['value']})"
elif 'extension' in attrib:
return f"e->{str_removeprefix(attrib['extension'], 'VK_')}"
return f"e->{attrib['extension'].removeprefix('VK_')}"
elif 'feature' in attrib:
feat = get_renamed_feature(attrib['struct'], attrib['feature'])
return f"f->{feat}"
else:
version = attrib['version']
return f"(api_version >= VK_API_{str_removeprefix(version, 'VK_')})"
return f"(api_version >= VK_API_{version.removeprefix('VK_')})"
def get_capabilities(doc, beta):
caps = {}