Skip to content
Open
Show file tree
Hide file tree
Changes from 6 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
1 change: 1 addition & 0 deletions antora/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
** xref:samples/extensions/debug_utils/README.adoc[Debug utils]
** xref:samples/extensions/descriptor_buffer_basic/README.adoc[Descriptor buffer basic]
** xref:samples/extensions/descriptor_indexing/README.adoc[Descriptor indexing]
** xref:samples/extensions/device_address_commands/README.adoc[Device address commands]
** xref:samples/extensions/dynamic_line_rasterization/README.adoc[Dynamic line rasterization]
** xref:samples/extensions/dynamic_primitive_clipping/README.adoc[Dynamic primitive clipping]
** xref:samples/extensions/dynamic_rendering/README.adoc[Dynamic rendering]
Expand Down
1 change: 1 addition & 0 deletions samples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ set(ORDER_LIST
"shader_debugprintf"
"synchronization_2"
"buffer_device_address"
"device_address_commands"
"descriptor_indexing"
"portability"
"vertex_dynamic_state"
Expand Down
6 changes: 6 additions & 0 deletions samples/extensions/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,12 @@ The sample implements "Game of Life" in an esoteric way, using out-of-order sign

Demonstrates how to use the buffer device address feature, which enables extreme flexibility in how buffer memory is accessed.

=== xref:./{extension_samplespath}device_address_commands/README.adoc[Device address commands]

*Extension*: https://www.khronos.org/registry/vulkan/specs/latest/man/html/VK_KHR_device_address_commands.html[`VK_KHR_device_address_commands`]

GPU-driven galaxy rendering that demonstrates address-based variants of bind, draw, fill, update, and memory-range barrier commands — no `VkBuffer` handles required at record time.

=== xref:./{extension_samplespath}synchronization_2/README.adoc[Synchronization2]

*Extension* https://www.khronos.org/registry/vulkan/specs/latest/html/vkspec.html#VK_KHR_synchronization2[`VK_KHR_synchronization2`]
Expand Down
35 changes: 35 additions & 0 deletions samples/extensions/device_address_commands/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright (c) 2026, Holochip Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 the "License";
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

get_filename_component(FOLDER_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
get_filename_component(PARENT_DIR ${CMAKE_CURRENT_LIST_DIR} PATH)
get_filename_component(CATEGORY_NAME ${PARENT_DIR} NAME)

add_sample_with_tags(
ID ${FOLDER_NAME}
CATEGORY ${CATEGORY_NAME}
AUTHOR "Holochip"
NAME "Device address commands"
DESCRIPTION "GPU-driven galaxy rendering demonstrating VK_KHR_device_address_commands: address-based bind, draw, fill, update, and memory-range barriers without buffer handles"
SHADER_FILES_GLSL
"device_address_commands/glsl/update_objects.comp"
"device_address_commands/glsl/render.vert"
"device_address_commands/glsl/render.frag"
SHADER_FILES_SLANG
"device_address_commands/slang/update_objects.comp.slang"
"device_address_commands/slang/render.vert.slang"
"device_address_commands/slang/render.frag.slang")
Loading
Loading