Browse Source

Fix a serious bug in traceRays

Panagiotis Christopoulos Charitos 4 years ago
parent
commit
b2c06195c7
1 changed files with 3 additions and 2 deletions
  1. 3 2
      AnKi/Gr/Vulkan/CommandBufferImpl.inl.h

+ 3 - 2
AnKi/Gr/Vulkan/CommandBufferImpl.inl.h

@@ -441,10 +441,11 @@ inline void CommandBufferImpl::traceRaysInternal(BufferPtr& sbtBuffer, PtrSize s
 	}
 
 	Array<VkStridedDeviceAddressRegionKHR, 4> regions;
-	const U64 stbFufferAddress = sbtBuffer->getGpuAddress();
+	const U64 stbBufferAddress = sbtBuffer->getGpuAddress() + sbtBufferOffset;
+	ANKI_ASSERT(isAligned(getGrManagerImpl().getDeviceCapabilities().m_sbtRecordAlignment, stbBufferAddress));
 
 	// Rgen
-	regions[0].deviceAddress = stbFufferAddress;
+	regions[0].deviceAddress = stbBufferAddress;
 	regions[0].stride = sbtRecordSize;
 	regions[0].size = sbtRecordSize;