KhronosGroup / KhronosGroup/Vulkan-Docs

Device buffer address operations (rather than ray tracing)

Open
#1,451 1 comment 0 reactions 0 assignees View on GitHub
Feature Request
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

I would like to offer the ability to use device address for rasterization operations. I suggest something similar to DirectX 12.

```cpp
//
void vkCmdBindVertexBuffers3EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkDeviceAddress* pAddresses);

// with VK_EXT_extended_dynamic_state extension
void vkCmdBindVertexBuffers4EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkDeviceAddress* pAddresses, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);

//
void vkCmdDrawIndexedIndirect2EXT(VkCommandBuffer commandBuffer, VkDeviceAddress deviceAddress, uint32_t drawCount, uint32_t stride);

//
void vkCmdDrawIndirect2EXT(VkCommandBuffer commandBuffer, VkDeviceAddress deviceAddress, uint32_t drawCount, uint32_t stride);

//
void vkCmdDrawIndexedIndirectCount2EXT(VkCommandBuffer commandBuffer, VkDeviceAddress deviceAddress, VkDeviceAddress countDeviceAddress, uint32_t maxDrawCount, uint32_t stride);

//
void vkCmdBindIndexBuffer2EXT(VkCommandBuffer commandBuffer, VkDeviceAddress deviceAddress, VkIndexType indexType);
```

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the proposed command signatures and the DirectX 12 behavior referenced in the issue. Identify the Vulkan specification entry points and feature interactions that would need definition. Done means reaching an agreed design for device-address rasterization operations, not merely adding the declarations.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api, computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.