Skip to content

V6 Changes#75

Merged
SpinnerX merged 131 commits into
mainfrom
v6
May 25, 2026
Merged

V6 Changes#75
SpinnerX merged 131 commits into
mainfrom
v6

Conversation

@SpinnerX
Copy link
Copy Markdown
Member

@SpinnerX SpinnerX commented May 25, 2026

This PR resolves #46. Involving migrating to V6 API changes.

Changelogs

  • Add compile-time checks towards range of bytes of the push constant data.
  • Enforce vk::command_buffer to be passed into vk::renderpass::begin and vk::renderpass::end.
  • Introduces vk::device_features to automate feature pointer chains.
  • Remove VkPhysicalDeviceMemoryProperties in replacing to pass uint32_t to select specific memory heaps.
  • Add VK_KHR_dynamic_rendering to replace managing vk::renderpass.
  • Add VK_KHR_descriptor_indexing support to index to large storage buffers of textures.
  • Add VK_KHR_buffer_device_address support.
  • Enforce enumerating through vk::instance to request for specific VkPhysicalDevice.
  • Add vk::image interfaces for representation varied approaches for loading images.

SpinnerX and others added 30 commits March 6, 2026 12:30
…re utilities functions for span<const uint8_t>
## Changelogs
* Changed `.write` to `.transfer` for clarity in performing data transfers for GPU access.
* Explicit size of bytes to the buffer_stream handles.
* Explicit vertices and indices to `vk::vertex_buffer` and `vk::index_buffer`.
* Explicit API specification for setting filepath for `vk::texture`.
* Added `as_bytes<T>` utility function.
* Added `to_bytes<T>` utility function.
* Fixed additional logic for `vk::texture` to loading image data.
* Additional cleanup to remove of unused code.
SpinnerX and others added 25 commits April 18, 2026 16:48
New API: vk::command_buffer::begin_rendering, vk::command_buffer::end_rendering
Update switch case lookup for memory barriers
Added API for setting viewport and scissor parameters.
Added demo 15 for demonstrating dynamic rendering.
… source code for this demo using clang-format
Adding API's to support for performing descriptor indexing.

Additional Changes:
* Fixes push constant parameter specifications in `vk::pipeline`.
* Added descriptor indexing parameters to `vk::descriptor_resource`.
* Added additional push constant parameters to `vk::pipeline_params`.
* Added `shader_samples/sample8-descriptor-indexing` that uses unbound texture arrays for demo.
Fixed demos to conform to V6 changes and made some updates to the vulkan-cpp main README for rewording context.
- Added Vulkan buffer device address API support
- Added two additional device features support for feature_trait
  - vk::buffer_device_feature
  - vk::physical_device_features2
- Add demo 17 to demonstrate using buffer device addresses.
- Added README instructions for using vulkan-cpp API to get buffer device addresses to work.
…stance` (#71)

## Changelogs
- Enumerating physical devices responsible to `vk::instance`.
- Added more APIs to `vk::physical_device`
  - `properties` to query `VkPhysicalDeviceProperties`.
  - `queue_family_properties` queries contiguous array of VkQueueFamilyProperties.
  - `is_present_supported(VkSurfaceKHR)` queries if the given surface has presentation supported.
- Minor code cleanup in `vk::swapchain` removing `std::println` statement.
…mplementations (#72)

## Changelogs
- Add `vk::image` interface.
- Removed `stbi_image` from being included in `vk::texture`.
- Removed stb_image as dependency from vulkan-cpp.
- Including fixes to `vk::texture` for better supporting supplying texture data.
- Migrated inline namespace from v1 to v6.
- Additional API fixes to the vk::buffer_usage and vk::image_usage.
- Additional fixes to the CI to use matrix to concurrently execute multiple GitHub workflow jobs.
@SpinnerX SpinnerX self-assigned this May 25, 2026
@SpinnerX SpinnerX added 📐design Tasks that involve the core systems. Highly involve in API design. 💠core Critical tasks are reserved for maintainers during fundamental architectural changes. labels May 25, 2026
@SpinnerX SpinnerX merged commit 003b07e into main May 25, 2026
5 checks passed
@SpinnerX SpinnerX deleted the v6 branch May 25, 2026 07:02
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. 📐design Tasks that involve the core systems. Highly involve in API design.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

⚡vulkan-cpp V6

1 participant