Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/historical-registry-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ jobs:
grep -F '#flag -DVK_USE_PLATFORM_XLIB_KHR' src/vulkan.v
grep -F '$if vulkan_win32 ? {' src/vulkan.v

grep -E '^pub type PFN_vkCmdSetFragmentShadingRateKHR = fn ?\(.*const_combinerOps &FragmentShadingRateCombinerOpKHR' \
src/vulkan.v
grep -E '^pub type PFN_vkCmdSetFragmentShadingRateEnumNV = fn ?\(.*const_combinerOps &FragmentShadingRateCombinerOpKHR' \
src/vulkan.v
grep -F 'pub type StdVideoH264ScalingListsScalingList4x4Array' \
src/vulkan_video.v
if grep -E '^[[:space:]]+[A-Z][A-Za-z0-9_]*[[:space:]]+\[' \
Expand Down
8 changes: 6 additions & 2 deletions src/vgenerator.py
Original file line number Diff line number Diff line change
Expand Up @@ -1398,7 +1398,7 @@ def get_member_comment(self, opt, noauto):
# NOTE Anton: the oiginal method comes from vulkandocs/scripts/generator.py
# This handles one function parameter and usually returns the paramdecl string.
# Parameter comment is returned as a tuple (paramdecl, comment) if do_comment=True and comment_inline=False
def makeVParamDecl(self, typeName, param, aligncol, do_c_func_params=False, do_c_to_v_func_call_params=False, do_struct_members=False, do_base_type=False, keep_vk_member_name=False, do_array_voidptr=False, do_comment=False, comment_inline=False):
def makeVParamDecl(self, typeName, param, aligncol, do_c_func_params=False, do_c_to_v_func_call_params=False, do_struct_members=False, do_base_type=False, keep_vk_member_name=False, do_array_voidptr=False, do_comment=False, comment_inline=False, do_function_pointer_param=False):
"""Return a string which is an indented, formatted
declaration for a `<param>` or `<member>` block (e.g. function parameter
or structure/union member).
Expand Down Expand Up @@ -1498,6 +1498,10 @@ def makeVParamDecl(self, typeName, param, aligncol, do_c_func_params=False, do_c
v_type = v_type[:last_index_of_arr] + '[' + self.removeVk(array_match.group(1).lower().replace('[', '').replace(']', '')) + ']' + v_type[last_index_of_arr:]
if do_array_voidptr:
v_type = 'voidptr'
elif do_function_pointer_param:
# C array parameters decay to pointers. V3 cannot lower a
# fixed array parameter inside a function-pointer typedef.
v_type = '&' + v_type[v_type.find(']') + 1:]

# Vulkan Video exposes several PascalCase C fields whose types are
# inline fixed arrays. V3 parses `FieldName [N]T` as an embedded
Expand Down Expand Up @@ -1995,7 +1999,7 @@ def makeVDecls(self, cmd):
if n > 0:
v_pub_type_pfn_param_names = '('
for p in params:
cur_type = self.makeVParamDecl(v_name, p, self.genOpts.alignFuncParam, do_c_func_params=True, do_c_to_v_func_call_params=False, do_struct_members=False, do_base_type=False, do_array_voidptr=False, keep_vk_member_name=False).lstrip()
cur_type = self.makeVParamDecl(v_name, p, self.genOpts.alignFuncParam, do_c_func_params=True, do_c_to_v_func_call_params=False, do_struct_members=False, do_base_type=False, do_array_voidptr=False, keep_vk_member_name=False, do_function_pointer_param=True).lstrip()
v_pub_type_pfn_param_names += '{}, '.format(cur_type)
v_pub_type_pfn_param_names = v_pub_type_pfn_param_names.rstrip(', ')
v_pub_type_pfn_param_names += ')'
Expand Down
Loading