Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/metal/mtl_command_buffer.mm
| Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | [active_command_buffer_ encodeSignalEvent:MTLCommandBufferManager::sync_event | ||||
| value:MTLCommandBufferManager::event_signal_val]; | value:MTLCommandBufferManager::event_signal_val]; | ||||
| /* Command buffer lifetime tracking. */ | /* Command buffer lifetime tracking. */ | ||||
| /* Increment current MTLSafeFreeList reference counter to flag MTLBuffers freed within | /* Increment current MTLSafeFreeList reference counter to flag MTLBuffers freed within | ||||
| * the current command buffer lifetime as used. | * the current command buffer lifetime as used. | ||||
| * This ensures that in-use resources are not prematurely de-referenced and returned to the | * This ensures that in-use resources are not prematurely de-referenced and returned to the | ||||
| * available buffer pool while they are in-use by the GPU. */ | * available buffer pool while they are in-use by the GPU. */ | ||||
| MTLSafeFreeList *cmd_free_buffer_list = | MTLSafeFreeList *cmd_free_buffer_list = | ||||
| MTLContext::get_global_memory_manager().get_current_safe_list(); | MTLContext::get_global_memory_manager()->get_current_safe_list(); | ||||
| BLI_assert(cmd_free_buffer_list); | BLI_assert(cmd_free_buffer_list); | ||||
| cmd_free_buffer_list->increment_reference(); | cmd_free_buffer_list->increment_reference(); | ||||
| id<MTLCommandBuffer> cmd_buffer_ref = active_command_buffer_; | id<MTLCommandBuffer> cmd_buffer_ref = active_command_buffer_; | ||||
| [cmd_buffer_ref retain]; | [cmd_buffer_ref retain]; | ||||
| [cmd_buffer_ref addCompletedHandler:^(id<MTLCommandBuffer> cb) { | [cmd_buffer_ref addCompletedHandler:^(id<MTLCommandBuffer> cb) { | ||||
| /* Upon command buffer completion, decrement MTLSafeFreeList reference count | /* Upon command buffer completion, decrement MTLSafeFreeList reference count | ||||
| ▲ Show 20 Lines • Show All 692 Lines • Show Last 20 Lines | |||||