Lines Matching refs:structure
5 [[acceleration-structure]]
9 [[acceleration-structure-def]]
15 The application is responsible for managing acceleration structure objects
23 An acceleration structure is considered to be constructed if an
24 <<acceleration-structure-building,acceleration structure build command>> or
25 <<acceleration-structure-copying,copy command>> has been executed with the
26 given acceleration structure as the destination.
38 [[acceleration-structure-geometry]]
44 [[acceleration-structure-top-level]]
47 Opaque acceleration structure for an array of instances.
51 The top level acceleration structure takes a reference to any bottom level
52 acceleration structure referenced by its instances.
53 Those bottom level acceleration structure objects must: be valid when the
54 top level acceleration structure is accessed.
57 [[acceleration-structure-bottom-level]]
60 Opaque acceleration structure for an array of geometries.
63 [[acceleration-structure-update]]
69 * A _build_ operation is used to construct an acceleration structure.
71 structure.
76 description of the acceleration structure, but is prohibited from changing
86 versa (as defined in <<acceleration-structure-inactive-prims>>).
90 * Change the number of geometries or instances in the structure.
91 * Change the geometry flags for any geometry in the structure.
93 structure.
97 If the original acceleration structure was built using opacity micromaps and
112 associated with any acceleration-structure triangle.
114 If the original acceleration structure was built using opacity micromaps and
119 If the original acceleration structure was built using opacity micromaps and
126 If the original acceleration structure was built using displacement
132 If the original acceleration structure was built using displacement
137 [[acceleration-structure-inactive-prims]]
150 An _inactive_ instance is one whose acceleration structure reference is `0`.
160 represented in the acceleration structure.
172 acceleration structure rebuild.
173 Applications must: not perform an acceleration structure update where an
174 object is active in the source acceleration structure but would be inactive
178 [[acceleration-structure-building]]
182 [open,refpage='vkCmdBuildAccelerationStructureNV',desc='Build an acceleration structure',type='prot…
186 To build an acceleration structure call:
193 structure's structure.
201 structure with the data in pname:src.
202 * pname:dst is a pointer to the target acceleration structure for the
204 * pname:src is a pointer to an existing acceleration structure that is to
205 be used to update the pname:dst acceleration structure.
244 slink:VkMemoryRequirements structure returned from a call to
254 slink:VkMemoryRequirements structure returned from a call to
277 <<acceleration-structure-inactive-prims>>
281 <<acceleration-structure-inactive-prims>>
298 [open,refpage='vkCmdBuildAccelerationStructuresKHR',desc='Build an acceleration structure',type='pr…
313 the geometry used to build each acceleration structure.
326 acceleration structure builds.
332 structure in the same flink:vkCmdBuildAccelerationStructuresKHR call as the
334 There also cannot: be any memory aliasing between any acceleration structure
338 [[acceleration-structure-scratch]]
339 Accesses to the acceleration structure scratch buffers as identified by the
390 [open,refpage='vkCmdBuildAccelerationStructuresIndirectKHR',desc='Build an acceleration structure w…
404 the geometry used to build each acceleration structure.
420 <<acceleration-structure-scratch,vkCmdBuildAccelerationStructuresKHR>>.
462 Each slink:VkAccelerationStructureBuildRangeInfoKHR structure referenced
464 slink:VkAccelerationStructureBuildRangeInfoKHR structure
475 slink:VkAccelerationStructureBuildRangeInfoKHR structure located at
484 …sc='Structure specifying the geometry data used to build an acceleration structure',type='structs']
488 The sname:VkAccelerationStructureBuildGeometryInfoKHR structure is defined
493 * pname:sType is a elink:VkStructureType value identifying this structure.
494 * pname:pNext is `NULL` or a pointer to a structure extending this
495 structure.
497 the type of acceleration structure being built.
500 parameters of the acceleration structure.
504 structure that is to be used to update the pname:dst acceleration
505 structure when pname:mode is
508 structure for the build.
521 acceleration structure geometry.
524 [[acceleration-structure-geometry-index]]
541 [[acceleration-structure-motion-instances]]
543 indicates that this build is a motion top level acceleration structure.
554 pointer identifying the type of structure at the pointer.
557 The structure at the pointer is one of
563 A top level acceleration structure with either motion instances or vertex
572 Otherwise, the target acceleration structure is updated and the source is
656 destination acceleration structure will be built using the specified
659 destination acceleration structure will be built using data in a source
660 acceleration structure, updated by the specified geometries.
693 …',desc='Structure specifying geometries to be built into an acceleration structure',type='structs']
697 The sname:VkAccelerationStructureGeometryKHR structure is defined as:
701 * pname:sType is a elink:VkStructureType value identifying this structure.
702 * pname:pNext is `NULL` or a pointer to a structure extending this
703 structure.
714 …celerationStructureGeometryDataKHR',desc='Union specifying acceleration structure geometry data',t…
723 slink:VkAccelerationStructureGeometryTrianglesDataKHR structure.
725 structure.
727 slink:VkAccelerationStructureGeometryInstancesDataKHR structure.
732 …'Structure specifying a triangle geometry in a bottom-level acceleration structure',type='structs']
736 The sname:VkAccelerationStructureGeometryTrianglesDataKHR structure is
741 * pname:sType is a elink:VkStructureType value identifying this structure.
742 * pname:pNext is `NULL` or a pointer to a structure extending this
743 structure.
748 by a build command using this structure.
754 optional reference to a slink:VkTransformMatrixKHR structure describing
756 are described to the space in which the acceleration structure is
765 acceleration structure geometry is instead restricted to being a 32-bit
789 …,desc='Structure specifying vertex motion in a bottom-level acceleration structure',type='structs']
793 The sname:VkAccelerationStructureGeometryMotionTrianglesDataNV structure is
798 * pname:sType is a elink:VkStructureType value identifying this structure.
799 * pname:pNext is `NULL` or a pointer to a structure extending this
800 structure.
806 slink:VkAccelerationStructureGeometryTrianglesDataKHR structure, the basic
821 …'Structure specifying an opacity micromap in a bottom-level acceleration structure',type='structs']
825 The sname:VkAccelerationStructureTrianglesOpacityMicromapEXT structure is
830 * pname:sType is a elink:VkStructureType value identifying this structure.
831 * pname:pNext is `NULL` or a pointer to a structure extending this
832 structure.
850 slink:VkAccelerationStructureGeometryTrianglesDataKHR structure, that
853 For each triangle in the geometry, the acceleration structure build fetches
905 …ucture specifying a displacement micromap in a bottom-level acceleration structure',type='structs']
909 The sname:VkAccelerationStructureTrianglesDisplacementMicromapNV structure
914 * pname:sType is a elink:VkStructureType value identifying this structure.
915 * pname:pNext is `NULL` or a pointer to a structure extending this
916 structure.
950 slink:VkAccelerationStructureGeometryTrianglesDataKHR structure, that
953 For each triangle in the geometry, the acceleration structure build fetches
982 The sname:VkTransformMatrixKHR structure is defined as:
1005 …ifying axis-aligned bounding box geometry in a bottom-level acceleration structure',type='structs']
1009 The sname:VkAccelerationStructureGeometryAabbsDataKHR structure is defined
1014 * pname:sType is a elink:VkStructureType value identifying this structure.
1015 * pname:pNext is `NULL` or a pointer to a structure extending this
1016 structure.
1039 The sname:VkAabbPositionsKHR structure is defined as:
1078 The sname:VkAccelerationStructureGeometryInstancesDataKHR structure is
1083 * pname:sType is a elink:VkStructureType value identifying this structure.
1084 * pname:pNext is `NULL` or a pointer to a structure extending this
1085 structure.
1093 <<acceleration-structure-motion-instances, motion instances>>
1112 …='Structure specifying a single acceleration structure instance for building into an acceleration …
1116 _Acceleration structure instances_ can: be built into top-level acceleration
1118 Each acceleration structure instance is a separate entry in the top-level
1119 acceleration structure which includes all the geometry of a bottom-level
1120 acceleration structure at a transformed location.
1122 structure.
1124 An acceleration structure instance is defined by the structure:
1134 * pname:transform is a slink:VkTransformMatrixKHR structure describing a
1135 transformation to be applied to the acceleration structure.
1230 …tructure specifying a single acceleration structure motion instance for building into an accelerat…
1234 _Acceleration structure motion instances_ can: be built into top-level
1236 Each acceleration structure instance is a separate entry in the top-level
1237 acceleration structure which includes all the geometry of a bottom-level
1238 acceleration structure at a transformed location including a type of motion
1241 An acceleration structure motion instance is defined by the structure:
1257 structure should be 152 bytes in size.
1263 …,desc='Union specifying a acceleration structure motion instance data for building into an acceler…
1267 Acceleration structure motion instance is defined by the union:
1272 structure containing data for a static instance.
1274 slink:VkAccelerationStructureMatrixMotionInstanceNV structure containing
1277 slink:VkAccelerationStructureSRTMotionInstanceNV structure containing
1291 …Enum specifying a type of acceleration structure motion instance data for building into an acceler…
1310 …ture specifying a single acceleration structure matrix motion instance for building into an accele…
1314 An acceleration structure matrix motion instance is defined by the
1315 structure:
1319 * pname:transformT0 is a slink:VkTransformMatrixKHR structure describing a
1320 transformation to be applied to the acceleration structure at time 0.
1321 * pname:transformT1 is a slink:VkTransformMatrixKHR structure describing a
1322 transformation to be applied to the acceleration structure at time 1.
1370 …ucture specifying a single acceleration structure SRT motion instance for building into an acceler…
1374 An acceleration structure SRT motion instance is defined by the structure:
1378 * pname:transformT0 is a slink:VkSRTDataNV structure describing a
1379 transformation to be applied to the acceleration structure at time 0.
1380 * pname:transformT1 is a slink:VkSRTDataNV structure describing a
1381 transformation to be applied to the acceleration structure at time 1.
1433 An acceleration structure SRT transform is defined by the structure:
1509 …R',desc='Structure specifying build offsets and counts for acceleration structure builds',type='st…
1518 corresponding acceleration structure geometry.
1546 is not `NULL`, a single slink:VkTransformMatrixKHR structure is
1552 in which the acceleration structure is defined.
1604 [[acceleration-structure-copying]]
1609 The acceleration structure object can: be compacted in order to improve
1612 acceleration structure.
1614 [open,refpage='vkCmdWriteAccelerationStructuresPropertiesKHR',desc='Write acceleration structure re…
1618 To query acceleration structure size parameters call:
1652 acceleration structure.
1656 acceleration structure.
1671 The pname:buffer used to create each acceleration structure in
1683 [open,refpage='vkCmdWriteAccelerationStructuresPropertiesNV',desc='Write acceleration structure res…
1687 To query acceleration structure size parameters call:
1742 [open,refpage='vkCmdCopyAccelerationStructureNV',desc='Copy an acceleration structure',type='protos…
1746 To copy an acceleration structure call:
1752 * pname:dst is the target acceleration structure for the copy.
1753 * pname:src is the source acceleration structure for the copy.
1779 [open,refpage='vkCmdCopyAccelerationStructureKHR',desc='Copy an acceleration structure',type='proto…
1783 To copy an acceleration structure call:
1790 structure defining the copy operation.
1792 This command copies the pname:pInfo->src acceleration structure to the
1793 pname:pInfo->dst acceleration structure in the manner specified by
1825 …celerationStructureInfoKHR',desc='Parameters for copying an acceleration structure',type='structs']
1829 The sname:VkCopyAccelerationStructureInfoKHR structure is defined as:
1833 * pname:sType is a elink:VkStructureType value identifying this structure.
1834 * pname:pNext is `NULL` or a pointer to a structure extending this
1835 structure.
1836 * pname:src is the source acceleration structure for the copy.
1837 * pname:dst is the target acceleration structure for the copy.
1850 [open,refpage='VkCopyAccelerationStructureModeKHR',desc='Acceleration structure copy mode',type='en…
1866 copy of the acceleration structure specified in pname:src into the one
1868 The pname:dst acceleration structure must: have been created with the
1873 compact version of an acceleration structure pname:src into pname:dst.
1874 The acceleration structure pname:dst must: have been created with a size
1880 after the build of the acceleration structure specified by pname:src.
1884 acceleration structure to a semi-opaque format which can be reloaded on
1888 structure.
1891 [open,refpage='vkCmdCopyAccelerationStructureToMemoryKHR',desc='Copy an acceleration structure to d…
1895 To copy an acceleration structure to device memory call:
1902 slink:VkCopyAccelerationStructureToMemoryInfoKHR structure defining the
1933 The defined header structure for the serialized data consists of:
1943 * A 64-bit integer of the count of the number of acceleration structure
1949 This will be zero for a bottom-level acceleration structure.
1953 acceleration structure.
1989 …ructureToMemoryInfoKHR',desc='Parameters for serializing an acceleration structure',type='structs']
1995 * pname:sType is a elink:VkStructureType value identifying this structure.
1996 * pname:pNext is `NULL` or a pointer to a structure extending this
1997 structure.
1998 * pname:src is the source acceleration structure for the copy
2007 The source acceleration structure pname:src must: have been constructed
2023 …ryToAccelerationStructureKHR',desc='Copy device memory to an acceleration structure',type='protos']
2027 To copy device memory to an acceleration structure call:
2034 slink:VkCopyMemoryToAccelerationStructureInfoKHR structure defining the
2061 The structure provided as input to deserialize is as described in
2063 structure handles filled in with the newly-queried handles to bottom level
2090 …tionStructureInfoKHR',desc='Parameters for deserializing an acceleration structure',type='structs']
2094 The sname:VkCopyMemoryToAccelerationStructureInfoKHR structure is defined
2099 * pname:sType is a elink:VkStructureType value identifying this structure.
2100 * pname:pNext is `NULL` or a pointer to a structure extending this
2101 structure.
2104 * pname:dst is the target acceleration structure for the copy.
2113 potentially modified to relocate acceleration structure references as
2130 …tionStructureCompatibilityKHR',desc='Check if a serialized acceleration structure is compatible wi…
2134 To check if a serialized acceleration structure is compatible with the
2141 slink:VkAccelerationStructureVersionInfoKHR structure specifying version
2158 [open,refpage='VkAccelerationStructureVersionInfoKHR',desc='Acceleration structure version informat…
2162 The sname:VkAccelerationStructureVersionInfoKHR structure is defined as:
2166 * pname:sType is a elink:VkStructureType value identifying this structure.
2167 * pname:pNext is `NULL` or a pointer to a structure extending this
2168 structure.
2170 structure as defined in flink:vkCmdCopyAccelerationStructureToMemoryKHR
2178 serialized acceleration structure (via
2187 [open,refpage='VkAccelerationStructureCompatibilityKHR',desc='Acceleration structure compatibility'…
2195 pname:pVersionData version acceleration structure is compatible with
2198 pname:pVersionData version acceleration structure is not compatible with
2203 [[host-acceleration-structure]]
2207 acceleration structure operations if the
2227 host-visible memory, and all input data for acceleration structure builds
2229 Applications are not required to map acceleration structure memory when
2246 to build a structure, compact it on the device using
2260 [open,refpage='vkBuildAccelerationStructuresKHR',desc='Build an acceleration structure on the host'…
2278 the geometry used to build each acceleration structure.
2294 acceleration structure builds.
2300 structure in the same flink:vkBuildAccelerationStructuresKHR call as the
2302 There also cannot: be any memory aliasing between any acceleration structure
2328 acceleration structure referenced by the pname:geometry.instances.data
2338 the slink:VkAccelerationStructureBuildSizesInfoKHR structure returned
2340 identical slink:VkAccelerationStructureBuildGeometryInfoKHR structure
2348 the slink:VkAccelerationStructureBuildSizesInfoKHR structure returned
2350 identical slink:VkAccelerationStructureBuildGeometryInfoKHR structure
2388 acceleration structure referenced by the pname:geometry.instances.data
2411 pname:accelerationStructureReference in any structure in
2421 [open,refpage='vkCopyAccelerationStructureKHR',desc='Copy an acceleration structure on the host',ty…
2425 To copy or compact an acceleration structure on the host, call:
2434 structure defining the copy operation.
2464 [open,refpage='vkCopyMemoryToAccelerationStructureKHR',desc='Deserialize an acceleration structure …
2468 To copy host accessible memory to an acceleration structure, call:
2477 slink:VkCopyMemoryToAccelerationStructureInfoKHR structure defining the
2511 [open,refpage='vkCopyAccelerationStructureToMemoryKHR',desc='Serialize an acceleration structure on…
2515 To copy an acceleration structure to host accessible memory, call:
2524 slink:VkCopyAccelerationStructureToMemoryInfoKHR structure defining the
2562 [open,refpage='vkWriteAccelerationStructuresPropertiesKHR',desc='Query acceleration structure meta-…
2566 To query acceleration structure size parameters on the host, call:
2635 The pname:buffer used to create each acceleration structure in
2640 The pname:buffer used to create each acceleration structure in