| 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 | { |
nothing calls this directly
no test coverage detected