VideoCommon: Use std::span for BoundingBox::Write()

Crosses off a lingering TODO.

Also amends a few nearby cases where a u32 cast was being repromoted to
size_t.
This commit is contained in:
Lioncash
2023-12-09 14:54:17 -05:00
parent dd227fea5a
commit 5f6c76af51
15 changed files with 19 additions and 20 deletions

View File

@ -77,7 +77,7 @@ std::vector<BBoxType> VKBoundingBox::Read(u32 index, u32 length)
return values;
}
void VKBoundingBox::Write(u32 index, const std::vector<BBoxType>& values)
void VKBoundingBox::Write(u32 index, std::span<const BBoxType> values)
{
// We can't issue vkCmdUpdateBuffer within a render pass.
// However, the writes must be serialized, so we can't put it in the init buffer.
@ -91,8 +91,7 @@ void VKBoundingBox::Write(u32 index, const std::vector<BBoxType>& values)
// Write the values to the GPU buffer
vkCmdUpdateBuffer(g_command_buffer_mgr->GetCurrentCommandBuffer(), m_gpu_buffer,
index * sizeof(BBoxType), values.size() * sizeof(BBoxType),
reinterpret_cast<const BBoxType*>(values.data()));
index * sizeof(BBoxType), values.size() * sizeof(BBoxType), values.data());
// Restore fragment shader access to the buffer.
StagingBuffer::BufferMemoryBarrier(