Skip to content

Commit c429893

Browse files
authored
Merge pull request #28 from GPUOpen-LibrariesAndSDKs/next-release-6
Update to 2.5.a21e075
2 parents 0d40036 + f07598f commit c429893

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

hiprt/impl/BvhBuilderKernels.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,22 @@ SingletonConstruction( uint32_t index, PrimitiveContainer& primitives, BoxNode*
191191
primNodes[0].m_mask = primitives.fetchMask( 0 );
192192
primNodes[0].m_type = instance.type;
193193
primNodes[0].m_static = primitives.getCount() == primitives.getFrameCount() ? 1 : 0;
194+
194195
if ( instance.type == hiprtInstanceTypeScene )
195196
primNodes[0].m_scene = reinterpret_cast<SceneHeader*>( instance.scene );
196197
else
197198
primNodes[0].m_geometry = reinterpret_cast<GeomHeader*>( instance.geometry );
199+
198200
if ( primitives.getFrameCount() == 1 )
201+
{
199202
primNodes[0].m_identity = primitives.copyInvTransformMatrix( 0, primNodes[0].m_matrix ) ? 1 : 0;
203+
}
200204
else
205+
{
201206
primNodes[0].m_transform = primitives.fetchTransformHeader( 0 );
207+
primNodes[0].m_identity = 0;
208+
}
209+
202210
leafType = InstanceType;
203211
}
204212

@@ -440,6 +448,8 @@ __device__ void ResetCountersAndUpdateLeaves(
440448
if ( transform.frameCount == 1 )
441449
primNodes[index].m_identity =
442450
primitives.copyInvTransformMatrix( transform.frameIndex, primNodes[index].m_matrix ) ? 1 : 0;
451+
else
452+
primNodes[index].m_identity = 0;
443453
}
444454
}
445455
}
@@ -650,15 +660,22 @@ __device__ void Collapse(
650660
primNodes[nodeAddr].m_mask = primitives.fetchMask( reference.m_primIndex );
651661
primNodes[nodeAddr].m_type = instance.type;
652662
primNodes[nodeAddr].m_static = transform.frameCount == 1 ? 1 : 0;
663+
653664
if ( instance.type == hiprtInstanceTypeScene )
654665
primNodes[nodeAddr].m_scene = reinterpret_cast<SceneHeader*>( instance.scene );
655666
else
656667
primNodes[nodeAddr].m_geometry = reinterpret_cast<GeomHeader*>( instance.geometry );
668+
657669
if ( transform.frameCount == 1 )
670+
{
658671
primNodes[nodeAddr].m_identity =
659672
primitives.copyInvTransformMatrix( transform.frameIndex, primNodes[nodeAddr].m_matrix ) ? 1 : 0;
673+
}
660674
else
675+
{
661676
primNodes[nodeAddr].m_transform = transform;
677+
primNodes[nodeAddr].m_identity = 0;
678+
}
662679
}
663680
done = true;
664681
}

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
2
22
5
3-
4e650d5
3+
a21e075

0 commit comments

Comments
 (0)