Skip to content

Memory properties refactor#59

Merged
mrparmesan01 merged 17 commits into
v6from
memory_properties_refactor
Mar 26, 2026
Merged

Memory properties refactor#59
mrparmesan01 merged 17 commits into
v6from
memory_properties_refactor

Conversation

@mrparmesan01

@mrparmesan01 mrparmesan01 commented Mar 25, 2026

Copy link
Copy Markdown
Member

This resolves #57

This PR simplifies automated memory property to explicit user-defined memory heap indexes.

Previously, the API attempted at automating memory property configuration to simplify handle creation. However, this proved to be quite restrictive to non-standard use-cases and forced users to provide additional, two mandatory parameters for every buffer and image handles.

These changes bring in the newer API for removing passing in the full memory properties struct and replacing with a uint32_t bit mask of the memory heap index that is being targeted.

Changelogs

Memory Property Handle Configurations

  • Removed VkPhysicalDeviceMemoryProperties as mandatory dependency for object construction.
  • Replaced full memory properties struct with a uint32_t bit mask. This allows for more direct memory type index retrieval based on the specific handle type.
  • Removed vk::vertex_params and vk::index_params. Centralizing all buffer handles construction to using vl::buffer_parameters to reduce redundancy.
  • Major parameters cleanup by stripping away the property_flag from vk::buffer_parameters.

Utilities API

  • Removing select_depth_format and select_compatible_format API's from utilities.cppm.
  • Removed enumerate_surface from utilities.cppm

Physical Device API

  • New API to request formats using physical_device::request_depth_format and physical_device::request_format.
  • Added request_surface with additional parameter for request the specific surface properties.

@mrparmesan01 mrparmesan01 added 💠core Critical tasks are reserved for maintainers during fundamental architectural changes. 💳 Tech Debt Tasks that have some kind of user API tech debt labels Mar 26, 2026
@mrparmesan01 mrparmesan01 merged commit d572e9d into v6 Mar 26, 2026
5 checks passed
@mrparmesan01 mrparmesan01 deleted the memory_properties_refactor branch March 26, 2026 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💠core Critical tasks are reserved for maintainers during fundamental architectural changes. 💳 Tech Debt Tasks that have some kind of user API tech debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Removing VkPhysicalDeviceMemoryProperties as a dependency of object construction

1 participant