MCPcopy Create free account
hub / github.com/DragonJoker/RenderGraph / createBufferView

Method createBufferView

source/RenderGraph/ResourceHandler.cpp:224–254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

222 }
223
224 ResourceHandler::CreatedViewT< VkBufferView > ResourceHandler::createBufferView( GraphContext & context
225 , BufferViewId view )
226 {
227 ResourceHandler::CreatedViewT< VkBufferView > result{};
228
229 if ( context.vkCreateBufferView )
230 {
231 lock_type lock( m_bufferViewsMutex );
232 auto [it, ins] = m_bufferViews.try_emplace( view, VkBufferView{} );
233
234 if ( ins )
235 {
236 auto buffer = createBuffer( context, view.data->buffer ).resource;
237 auto createInfo = reshdl::convert( *view.data, buffer );
238 auto res = context.vkCreateBufferView( context.device
239 , &createInfo
240 , context.allocator
241 , &it->second );
242 checkVkResult( res, "BufferView creation" );
243 crgRegisterObjectName( context, view.data->name, it->second );
244 result.view = it->second;
245 result.created = true;
246 }
247 else
248 {
249 result.view = it->second;
250 }
251 }
252
253 return result;
254 }
255
256 ImageId ResourceHandler::createImageId( ImageData const & img )
257 {

Callers

nothing calls this directly

Calls 3

createBufferFunction · 0.85
checkVkResultFunction · 0.85
convertFunction · 0.70

Tested by

no test coverage detected