Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
5 changes: 3 additions & 2 deletions antora/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
////
- Copyright (c) 2023-2025, Holochip Inc
- Copyright (c) 2023-2025, Sascha Willems
- Copyright (c) 2023-2026, Holochip Inc
- Copyright (c) 2023-2026, Sascha Willems
- Copyright (c) 2025, Arm Limited and Contributors
-
- SPDX-License-Identifier: Apache-2.0
Expand Down Expand Up @@ -84,6 +84,7 @@
*** xref:samples/extensions/hpp_push_descriptors/README.adoc[Push descriptors (Vulkan-Hpp)]
** xref:samples/extensions/ray_tracing_basic/README.adoc[Raytracing basic]
** xref:samples/extensions/ray_tracing_extended/README.adoc[Raytracing extended]
** xref:samples/extensions/ray_tracing_invocation_reorder/README.adoc[Ray tracing invocation reorder (SER)]
** xref:samples/extensions/ray_queries/README.adoc[Ray queries]
** xref:samples/extensions/ray_tracing_reflection/README.adoc[Ray tracing reflection]
** xref:samples/extensions/ray_tracing_position_fetch/README.adoc[Ray tracing position fetch]
Expand Down
16 changes: 15 additions & 1 deletion framework/vulkan_type_mapping.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Copyright (c) 2025, Arm Limited and Contributors
* Copyright (c) 2024-2025, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2024-2026, NVIDIA CORPORATION. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
Expand Down Expand Up @@ -243,6 +243,20 @@ struct HPPType<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>
using Type = vk::PhysicalDeviceRayTracingPipelineFeaturesKHR;
};

#ifdef VK_EXT_ray_tracing_invocation_reorder
template <>
struct HPPType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT>
{
using Type = vk::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
};
#endif

template <>
struct HPPType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV>
{
using Type = vk::PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
};

template <>
struct HPPType<VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR>
{
Expand Down
3 changes: 2 additions & 1 deletion samples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019-2025, Arm Limited and Contributors
# Copyright (c) 2019-2026, Arm Limited and Contributors
#
# SPDX-License-Identifier: Apache-2.0
#
Expand Down Expand Up @@ -75,6 +75,7 @@ set(ORDER_LIST
"ray_tracing_basic"
"ray_tracing_extended"
"ray_tracing_reflection"
"ray_tracing_invocation_reorder"
"timeline_semaphore"
"shader_object"
"shader_debugprintf"
Expand Down
8 changes: 7 additions & 1 deletion samples/extensions/README.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
////
- Copyright (c) 2025, Arm Limited and Contributors
- Copyright (c) 2021-2025, The Khronos Group
- Copyright (c) 2021-2026, The Khronos Group
-
- SPDX-License-Identifier: Apache-2.0
-
Expand Down Expand Up @@ -312,3 +312,9 @@ Demonstrate how to build data graph pipelines and execute neural networks:

* xref:./{extension_samplespath}tensor_and_data_graph/simple_tensor_and_data_graph/README.adoc[simple_tensor_and_data_graph]
- Explains how to set up and execute a simple neural network using a data graph pipeline.

=== xref:./{extension_samplespath}ray_tracing_invocation_reorder/README.adoc[Ray Tracing Invocation Reorder]

*Extensions:* https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_ray_tracing_invocation_reorder.html[`VK_EXT_ray_tracing_invocation_reorder`]

Demonstrate how to optimize ray tracing pipelines by reordering the invocation order.
40 changes: 40 additions & 0 deletions samples/extensions/ray_tracing_invocation_reorder/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Copyright (c) 2025-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 Inc."
NAME "Ray tracing invocation reorder"
DESCRIPTION "Demonstrates Shader Execution Reordering (SER) using VK_EXT_ray_tracing_invocation_reorder to reduce divergence"
SHADER_FILES_GLSL
# Note: We do not compile GLSL here because glslc may lack GL_EXT_shader_invocation_reorder (current public SDK doesn't support it).
# "ray_tracing_invocation_reorder/glsl/raygen.rgen"
# "ray_tracing_invocation_reorder/glsl//miss.rmiss"
# "ray_tracing_invocation_reorder/glsl//closesthit_flame.rchit"
# "ray_tracing_invocation_reorder/glsl//closesthit_normal.rchit"
# "ray_tracing_invocation_reorder/glsl//closesthit_refraction.rchit"
SHADER_FILES_SLANG
"ray_tracing_invocation_reorder/slang/raygen.rgen.slang"
"ray_tracing_invocation_reorder/slang/miss.rmiss.slang"
"ray_tracing_invocation_reorder/slang/closesthit_normal.rchit.slang"
"ray_tracing_invocation_reorder/slang/closesthit_refraction.rchit.slang"
"ray_tracing_invocation_reorder/slang/closesthit_flame.rchit.slang"
)
Loading
Loading