MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / FillBuffer

Method FillBuffer

deps/LLGL/sources/Renderer/Vulkan/VKCommandBuffer.cpp:229–259  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

227}
228
229void VKCommandBuffer::FillBuffer(
230 Buffer& dstBuffer,
231 std::uint64_t dstOffset,
232 std::uint32_t value,
233 std::uint64_t fillSize)
234{
235 auto& dstBufferVK = LLGL_CAST(VKBuffer&, dstBuffer);
236
237 /* Determine destination buffer range and ignore <dstOffset> if the whole buffer is meant to be filled */
238 VkDeviceSize offset, size;
239 if (fillSize == Constants::wholeSize)
240 {
241 offset = 0;
242 size = VK_WHOLE_SIZE;
243 }
244 else
245 {
246 offset = static_cast<VkDeviceSize>(dstOffset);
247 size = static_cast<VkDeviceSize>(fillSize);
248 }
249
250 /* Encode fill buffer command */
251 if (IsInsideRenderPass())
252 {
253 PauseRenderPass();
254 vkCmdFillBuffer(commandBuffer_, dstBufferVK.GetVkBuffer(), offset, size, value);
255 ResumeRenderPass();
256 }
257 else
258 vkCmdFillBuffer(commandBuffer_, dstBufferVK.GetVkBuffer(), offset, size, value);
259}
260
261void VKCommandBuffer::CopyTexture(
262 Texture& dstTexture,

Callers 2

Calls 1

GetVkBufferMethod · 0.45

Tested by

no test coverage detected