Skip to content

Introduce vk::debug_extension_loader for Instance Debug Proc Addresses #70

@SpinnerX

Description

@SpinnerX

Brief Task

Rather then having this debug utils object names be contained within vk::instance, I think having these be external allow for optional opt-in moments for the users if they want to include these into their code.

As we integrate more debug utility for labels and objects naming, managing these optional function pointers can be come quite a bit to be handled by vk::instance.

Responsibilities solely for resolving and storing instance-level debugging function pointers. Isolating from vk::instance, which allows for being opt-in if needed.

These objects would be instantiated as the following:

PFN_vkSetDebugUtilsObjectNameEXT vk_set_debug_utils_object_name_ext =
        reinterpret_cast<PFN_vkSetDebugUtilsObjectNameEXT>(
         vkGetInstanceProcAddr(m_instance,
        "vkSetDebugUtilsObjectNameEXT"));

Task Completion

vk::instance api_instance = ...;
vk::debug_extension_loader debug_extension(api_instance);

// Returns function pointer to vkSetDebugUtilsObjectNameEXT that is usable
const auto vkSetDebugUtilsObjectNameEXT = debug_extension.debug_utils_object_name_ext();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions