Skip to content

Commit 09a251e

Browse files
authored
[gfx] Inline raytracing fixes in response to code review. (shader-slang#1905)
Co-authored-by: Yong He <yhe@nvidia.com>
1 parent aba2731 commit 09a251e

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

examples/ray-tracing/main.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ Slang::Result initialize()
324324

325325
IBufferResource::Desc transformBufferDesc;
326326
transformBufferDesc.type = IResource::Type::Buffer;
327-
transformBufferDesc.sizeInBytes = sizeof(float) * 16;
327+
transformBufferDesc.sizeInBytes = sizeof(float) * 12;
328328
transformBufferDesc.defaultState = ResourceState::ShaderResource;
329329
float transformData[12] = {
330330
1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f};

slang-gfx.h

+9-1
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,8 @@ class IAccelerationStructure : public IResourceView
520520

521521
struct BuildFlags
522522
{
523+
// The enum values are intentionally consistent with
524+
// D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.
523525
enum Enum
524526
{
525527
None,
@@ -539,6 +541,8 @@ class IAccelerationStructure : public IResourceView
539541

540542
struct GeometryFlags
541543
{
544+
// The enum values are intentionally consistent with
545+
// D3D12_RAYTRACING_GEOMETRY_FLAGS.
542546
enum Enum
543547
{
544548
None,
@@ -571,7 +575,7 @@ class IAccelerationStructure : public IResourceView
571575

572576
struct ProceduralAABBDesc
573577
{
574-
// Number of AABBs.
578+
/// Number of AABBs.
575579
uint64_t count;
576580

577581
/// Pointer to an array of `ProceduralAABB` values in device memory.
@@ -594,6 +598,8 @@ class IAccelerationStructure : public IResourceView
594598

595599
struct GeometryInstanceFlags
596600
{
601+
// The enum values are kept consistent with D3D12_RAYTRACING_INSTANCE_FLAGS
602+
// and VkGeometryInstanceFlagBitsKHR.
597603
enum Enum : uint32_t
598604
{
599605
None = 0,
@@ -604,6 +610,8 @@ class IAccelerationStructure : public IResourceView
604610
};
605611
};
606612

613+
// The layout of this struct is intentionally consistent with D3D12_RAYTRACING_INSTANCE_DESC
614+
// and VkAccelerationStructureInstanceKHR.
607615
struct InstanceDesc
608616
{
609617
float transform[3][4];

tools/gfx/d3d12/render-d3d12.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,6 @@ class D3D12Device : public RendererBase
405405
}
406406

407407
public:
408-
uint32_t m_stride = 0;
409408
Result init(const IQueryPool::Desc& desc, D3D12Device* device, uint32_t stride);
410409

411410
virtual SLANG_NO_THROW Result SLANG_MCALL
@@ -428,6 +427,7 @@ class D3D12Device : public RendererBase
428427
QueryType m_queryType;
429428
RefPtr<BufferResourceImpl> m_bufferResource;
430429
RefPtr<D3D12Device> m_device;
430+
uint32_t m_stride = 0;
431431
};
432432

433433
struct BoundVertexBuffer

tools/render-test/render-test-main.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,7 @@ void RenderTestApp::_initializeAccelerationStructure()
681681

682682
IBufferResource::Desc transformBufferDesc;
683683
transformBufferDesc.type = IResource::Type::Buffer;
684-
transformBufferDesc.sizeInBytes = sizeof(float) * 16;
684+
transformBufferDesc.sizeInBytes = sizeof(float) * 12;
685685
transformBufferDesc.defaultState = ResourceState::ShaderResource;
686686
float transformData[12] = {
687687
1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f};

0 commit comments

Comments
 (0)