Open atynagano opened 1 year ago
ByteAddressableBuffer
requires for the data to be aligned to 4 bytes, so the current condition is fine IMO; the naming could be better (word_index: u32
), but the comment above explains it's inherited from HLSL.
Note that buffer_load_intrinsic()
ends up doing 4 * byte_index
:
So does the left side size_of<T>
needs to be divided by 4? Or does size_of
returns dword size?
Oh, yeah - I think it should say mem::size_of::<T>() / 4
then 🤔
https://github.com/EmbarkStudios/rust-gpu/blob/e87c324bfda6bea144fe2635586281c4ef144f0d/crates/spirv-std/src/byte_addressable_buffer.rs#L73-L78
Isn't the right-hand side multiplied by 4 because
data
is&[u32]
?