-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
I have noticed an inconsistency in the stride values of m_GBuffer
used in the following files:
m_GBuffer = graphics::resources::create_graphics_buffer(m_Device, numPixels * sizeof(uint16_t) * numChannels, sizeof(uint16_t), GraphicsBufferType::Default); |
create_graphics_buffer
is written as sizeof(uint16_t) = 2 bytes.RWStructuredBuffer<uint4> _OutputBufferRW: register(OUTPUT_BUFFER_BINDING); |
m_GBuffer
as outputBuffer
in Inference shader is uint4, and its stride is 16 bytes.https://microsoft.github.io/DirectX-Specs/d3d/ResourceBinding.html#unordered-access-view Spec requires StructureByteStride for UAV.
The stride values in those places are different, which might lead to unexpected behavior or quality issues.
Could you please verify if this is intentional or if it needs to be corrected?
How about using RWByteAddressBuffer instead, like Cooperative Vector does?
Thank you for your attention to this matter.
Metadata
Metadata
Assignees
Labels
No labels