Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ray Tracing Pipeline (NV and KHR extensions) #1350

Draft
wants to merge 15 commits into
base: master
Choose a base branch
from
Draft
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
285 changes: 285 additions & 0 deletions CHANGELOG_VK_SYS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,290 @@
# Unreleased

- Added support for `NV_ray_tracing` and `KHR_ray_tracing`
+ type `DeviceAddress`
+ type `AccelerationStructureKHR`
+ type `AccelerationStructureNV`
+ type `RayTracingShaderGroupTypeKHR`
+ type `RayTracingShaderGroupTypeNV`
+ type `GeometryTypeKHR`
+ type `GeometryTypeNV`
+ type `AccelerationStructureTypeKHR`
+ type `AccelerationStructureTypeNV`
+ type `CopyAccelerationStructureModeKHR`
+ type `CopyAccelerationStructureModeNV`
+ type `AccelerationStructureMemoryRequirementsTypeKHR`
+ type `AccelerationStructureMemoryRequirementsTypeNV`
+ type `GeometryFlagBitsKHR`
+ type `GeometryFlagsKHR`
+ type `GeometryFlagsNV`
+ type `GeometryFlagBitsNV`
+ type `GeometryInstanceFlagBitsKHR`
+ type `GeometryInstanceFlagsKHR`
+ type `GeometryInstanceFlagsNV`
+ type `GeometryInstanceFlagBitsNV`
+ type `BuildAccelerationStructureFlagBitsKHR`
+ type `BuildAccelerationStructureFlagsKHR`
+ type `BuildAccelerationStructureFlagsNV`
+ type `BuildAccelerationStructureFlagBitsNV`
+ type `AccelerationStructureBuildTypeKHR`
+ const `SHADER_UNUSED`
+ const `STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2`
+ const `STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES`
+ const `STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR`
+ const `STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR`
+ const `STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR`
+ const `STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR`
+ const `STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR`
+ const `STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR`
+ const `STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR`
+ const `STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR`
+ const `STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR`
+ const `STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR`
+ const `STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR`
+ const `STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV`
+ const `STRUCTURE_TYPE_GEOMETRY_NV`
+ const `STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV`
+ const `STRUCTURE_TYPE_GEOMETRY_AABB_NV`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV`
+ const `STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV`
+ const `STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV`
+ const `STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV`
+ const `STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO`
+ const `STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR`
+ const `STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV`
+ const `STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV`
+ const `DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT`
+ const `DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR`
+ const `DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV`
+ const `PIPELINE_BIND_POINT_RAY_TRACING_KHR`
+ const `PIPELINE_BIND_POINT_RAY_TRACING_NV`
+ const `INDEX_TYPE_NONE_KHR`
+ const `INDEX_TYPE_UINT8_EXT`
+ const `INDEX_TYPE_NONE_NV`
+ const `PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT`
+ const `PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT`
+ const `PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR`
+ const `PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR`
+ const `PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV`
+ const `PIPELINE_STAGE_TASK_SHADER_BIT_NV`
+ const `PIPELINE_STAGE_MESH_SHADER_BIT_NV`
+ const `PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT`
+ const `PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV`
+ const `PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV`
+ const `PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV`
+ const `BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT`
+ const `BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT`
+ const `BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT`
+ const `BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT`
+ const `BUFFER_USAGE_RAY_TRACING_BIT_KHR`
+ const `BUFFER_USAGE_RAY_TRACING_BIT_NV`
+ const `BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT`
+ const `BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR`
+ const `SHADER_STAGE_RAYGEN_BIT_KHR`
+ const `SHADER_STAGE_ANY_HIT_BIT_KHR`
+ const `SHADER_STAGE_CLOSEST_HIT_BIT_KHR`
+ const `SHADER_STAGE_MISS_BIT_KHR`
+ const `SHADER_STAGE_INTERSECTION_BIT_KHR`
+ const `SHADER_STAGE_CALLABLE_BIT_KHR`
+ const `SHADER_STAGE_TASK_BIT_NV`
+ const `SHADER_STAGE_MESH_BIT_NV`
+ const `SHADER_STAGE_RAYGEN_BIT_NV`
+ const `SHADER_STAGE_ANY_HIT_BIT_NV`
+ const `SHADER_STAGE_CLOSEST_HIT_BIT_NV`
+ const `SHADER_STAGE_MISS_BIT_NV`
+ const `SHADER_STAGE_INTERSECTION_BIT_NV`
+ const `SHADER_STAGE_CALLABLE_BIT_NV`
+ const `ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT`
+ const `ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT`
+ const `ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT`
+ const `ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT`
+ const `ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT`
+ const `ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR`
+ const `ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR`
+ const `ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV`
+ const `ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT`
+ const `ACCESS_COMMAND_PREPROCESS_READ_BIT_NV`
+ const `ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV`
+ const `ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV`
+ const `ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV`
+ const `OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_KHR`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_KHR`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_KHR`
+ const `RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR`
+ const `GEOMETRY_TYPE_TRIANGLES_KHR`
+ const `GEOMETRY_TYPE_AABBS_KHR`
+ const `GEOMETRY_TYPE_INSTANCES_KHR`
+ const `GEOMETRY_TYPE_TRIANGLES_NV`
+ const `GEOMETRY_TYPE_AABBS_NV`
+ const `GEOMETRY_TYPE_BEGIN_RANGE_KHR`
+ const `GEOMETRY_TYPE_END_RANGE_KHR`
+ const `GEOMETRY_TYPE_RANGE_SIZE_KHR`
+ const `GEOMETRY_TYPE_MAX_ENUM_KHR`
+ const `ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR`
+ const `ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR`
+ const `ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV`
+ const `ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV`
+ const `ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_KHR`
+ const `ACCELERATION_STRUCTURE_TYPE_END_RANGE_KHR`
+ const `ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_KHR`
+ const `ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_KHR`
+ const `COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_KHR`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_KHR`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_KHR`
+ const `ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR`
+ const `GEOMETRY_OPAQUE_BIT_KHR`
+ const `GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR`
+ const `GEOMETRY_OPAQUE_BIT_NV`
+ const `GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV`
+ const `GEOMETRY_FLAG_BITS_MAX_ENUM_KHR`
+ const `GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR`
+ const `GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR`
+ const `GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR`
+ const `GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR`
+ const `GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV`
+ const `GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV`
+ const `GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV`
+ const `GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV`
+ const `GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR`
+ const `BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR`
+ const `BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR`
+ const `BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR`
+ const `BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR`
+ const `BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR`
+ const `BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV`
+ const `BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV`
+ const `BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV`
+ const `BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV`
+ const `BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV`
+ const `BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR`
+ const `ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR`
+ const `ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR`
+ const `ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR`
+ const `ACCELERATION_STRUCTURE_BUILD_TYPE_BEGIN_RANGE_KHR`
+ const `ACCELERATION_STRUCTURE_BUILD_TYPE_END_RANGE_KHR`
+ const `ACCELERATION_STRUCTURE_BUILD_TYPE_RANGE_SIZE_KHR`
+ const `ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR`
+ union `DeviceOrHostAddressKHR`
+ union `DeviceOrHostAddressConstKHR`
+ struct `PhysicalDeviceFeatures2`
+ struct `PhysicalDeviceBufferDeviceAddressFeatures`
+ struct `BufferMemoryRequirementsInfo2`
+ struct `ImageMemoryRequirementsInfo2`
+ struct `MemoryRequirements2`
+ struct `PipelineLibraryCreateInfoKHR`
+ struct `AccelerationStructureBuildOffsetInfoKHR`
+ struct `RayTracingShaderGroupCreateInfoNV`
+ struct `RayTracingShaderGroupCreateInfoKHR`
+ struct `RayTracingPipelineCreateInfoNV`
+ struct `RayTracingPipelineInterfaceCreateInfoKHR`
+ struct `RayTracingPipelineCreateInfoKHR`
+ struct `GeometryTrianglesNV`
+ struct `GeometryAABBNV`
+ struct `GeometryDataNV`
+ struct `GeometryNV`
+ struct `AccelerationStructureInfoNV`
+ struct `AccelerationStructureCreateInfoNV`
+ struct `AccelerationStructureCreateGeometryTypeInfoKHR`
+ struct `AccelerationStructureCreateInfoKHR`
+ struct `BindAccelerationStructureMemoryInfoKHR`
+ struct `BindAccelerationStructureMemoryInfoNV`
+ struct `WriteDescriptorSetAccelerationStructureKHR`
+ struct `WriteDescriptorSetAccelerationStructureNV`
+ struct `AccelerationStructureMemoryRequirementsInfoNV`
+ struct `AccelerationStructureMemoryRequirementsInfoKHR`
+ struct `PhysicalDeviceRayTracingFeaturesKHR`
+ struct `PhysicalDeviceRayTracingPropertiesNV`
+ struct `PhysicalDeviceRayTracingPropertiesKHR`
+ struct `TransformMatrixKHR`
+ struct `TransformMatrixNV`
+ struct `AabbPositionsKHR`
+ struct `AabbPositionsNV`
+ struct `AccelerationStructureInstanceKHR`
+ struct `AccelerationStructureInstanceNV`
+ struct `AccelerationStructureGeometryTrianglesDataKHR`
+ struct `AccelerationStructureGeometryAabbsDataKHR`
+ struct `AccelerationStructureGeometryInstancesDataKHR`
+ struct `AccelerationStructureGeometryDataKHR`
+ struct `AccelerationStructureGeometryKHR`
+ struct `AccelerationStructureBuildGeometryInfoKHR`
+ struct `BufferDeviceAddressInfo`
+ struct `BufferDeviceAddressInfoKHR`
+ struct `AccelerationStructureDeviceAddressInfoKHR`
+ struct `AccelerationStructureVersionKHR`
+ struct `StridedBufferRegionKHR`
+ struct `TraceRaysIndirectCommandKHR`
+ struct `CopyAccelerationStructureToMemoryInfoKHR`
+ struct `CopyMemoryToAccelerationStructureInfoKHR`
+ struct `CopyAccelerationStructureInfoKHR`
+ function `GetPhysicalDeviceFeatures2`
+ function `CreateAccelerationStructureNV`
+ function `DestroyAccelerationStructureKHR`
+ function `DestroyAccelerationStructureNV`
+ function `GetAccelerationStructureMemoryRequirementsNV`
+ function `BindAccelerationStructureMemoryKHR`
+ function `BindAccelerationStructureMemoryNV`
+ function `CmdBuildAccelerationStructureNV`
+ function `CmdCopyAccelerationStructureNV`
+ function `CmdTraceRaysNV`
+ function `CreateRayTracingPipelinesNV`
+ function `GetRayTracingShaderGroupHandlesKHR`
+ function `GetRayTracingShaderGroupHandlesNV`
+ function `GetAccelerationStructureHandleNV`
+ function `CmdWriteAccelerationStructuresPropertiesNV`
+ function `CompileDeferredNV`
+ function `CreateAccelerationStructureKHR`
+ function `GetAccelerationStructureMemoryRequirementsKHR`
+ function `CmdBuildAccelerationStructureIndirectKHR`
+ function `BuildAccelerationStructureKHR`
+ function `CopyAccelerationStructureKHR`
+ function `CopyAccelerationStructureToMemoryKHR`
+ function `CopyMemoryToAccelerationStructureKHR`
+ function `WriteAccelerationStructuresPropertiesKHR`
+ function `CmdCopyAccelerationStructureKHR`
+ function `CmdCopyAccelerationStructureToMemoryKHR`
+ function `CmdCopyMemoryToAccelerationStructureKHR`
+ function `CmdTraceRaysKHR`
+ function `CreateRayTracingPipelinesKHR`
+ function `GetBufferDeviceAddressKHR`
+ function `GetAccelerationStructureDeviceAddressKHR`
+ function `GetRayTracingCaptureReplayShaderGroupHandlesKHR`
+ function `CmdTraceRaysIndirectKHR`
+ function `GetDeviceAccelerationStructureCompatibilityKHR`

# Version 0.5.1 (2020-02-09)

- Added support for `VK_EXT_full_screen_exclusive`
Expand Down
Loading