MCPcopy Create free account
hub / github.com/defold/defold / WebGPUWriteBuffer

Function WebGPUWriteBuffer

engine/graphics/src/webgpu/graphics_webgpu.cpp:1970–1992  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1968}
1969
1970static void WebGPUWriteBuffer(WebGPUContext* context, WebGPUBuffer* buffer, size_t offset, void const* data, size_t size)
1971{
1972 TRACE_CALL;
1973 assert(size);
1974 if (!buffer->m_Buffer) // create it
1975 {
1976#if defined(DM_GRAPHICS_WEBGPU2)
1977 WGPUBufferDescriptor desc = WGPU_BUFFER_DESCRIPTOR_INIT;
1978#else
1979 WGPUBufferDescriptor desc = {};
1980#endif
1981 desc.usage = buffer->m_Usage;
1982 desc.size = size;
1983 buffer->m_Buffer = wgpuDeviceCreateBuffer(context->m_Device, &desc);
1984 buffer->m_Used = buffer->m_Size = desc.size;
1985 }
1986 else if (buffer->m_LastRenderPass && buffer->m_LastRenderPass > context->m_LastSubmittedRenderPass) // flush pipeline
1987 {
1988 //dmLogWarning("Deoptimization: Forcing pipeline flush due to buffer write");
1989 WebGPUSubmitCommandEncoder(context);
1990 }
1991 wgpuQueueWriteBuffer(context->m_Queue, buffer->m_Buffer, offset, data, size);
1992}
1993
1994static HUniformBuffer WebGPUNewUniformBuffer(HContext _context, const UniformBufferLayout& layout)
1995{

Callers 6

WebGPUNewVertexBufferFunction · 0.85
WebGPUNewIndexBufferFunction · 0.85
WebGPUSetIndexBufferDataFunction · 0.85

Calls 2

assertFunction · 0.50

Tested by

no test coverage detected