diff options
author | Konstantin Seurer <konstantin.seurer@gmail.com> | 2022-05-26 13:24:45 +0200 |
---|---|---|
committer | Dylan Baker <dylan.c.baker@intel.com> | 2022-06-01 14:10:28 -0700 |
commit | 7c337f851c50963e0656d131ed134ef4d89ecd01 (patch) | |
tree | 721038d0477e29a6bd6df149008ec73799654a68 /.pick_status.json | |
parent | 901d5b861718937acf315555b314118178c56743 (diff) |
radv: Fix handling of primitiveOffset
VkAccelerationStructureBuildRangeInfoKHR spec:
If the geometry uses indices, primitiveCount × 3 indices are consumed from VkAccelerationStructureGeometryTrianglesDataKHR::indexData, starting at an offset of primitiveOffset. The value of firstVertex is added to the index values before fetching vertices.
If the geometry does not use indices, primitiveCount × 3 vertices are consumed from VkAccelerationStructureGeometryTrianglesDataKHR::vertexData, starting at an offset of primitiveOffset + VkAccelerationStructureGeometryTrianglesDataKHR::vertexStride × firstVertex.
Meaning: We always add firstVertex * vertexStride
to the vertex address and add primitiveOffset
either to the vertex address or the index address,
depending on wether indices are used.
Also add missing handling with instances.
Fixes: 0dad88b ("radv: Implement device-side BVH building.")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16719>
(cherry picked from commit 9be00573c4cc04614e902a11fe9128191c70d280)
Conflicts:
src/amd/vulkan/radv_acceleration_structure.c
Diffstat (limited to '.pick_status.json')
-rw-r--r-- | .pick_status.json | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index 0b0810c57f8..cb2c527cf35 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1480,7 +1480,7 @@ "description": "radv: Fix handling of primitiveOffset", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "0dad88b4694cf82664f633187442ec65c14f3812" }, |