@@ -47,29 +47,34 @@ function global_queue(dev::MTLDevice)
4747 @autoreleasepool begin
4848 # NOTE: MTLCommandQueue itself is manually reference-counted,
4949 # the release pool is for resources used during its construction.
50- log_state_descriptor = MTLLogStateDescriptor ()
51- log_state = MTLLogState (dev, log_state_descriptor)
5250
53- function log_handler (subSystem, category, logLevel, message)
54- println (String (message))
55- return nothing
51+ queue = if macos_version () >= v " 15"
52+ log_state_descriptor = MTLLogStateDescriptor ()
53+ log_state = MTLLogState (dev, log_state_descriptor)
54+
55+ function log_handler (subSystem, category, logLevel, message)
56+ print (String (message))
57+ return nothing
58+ end
59+ function wrapper (subSystem, category, logLevel, message)
60+ log_handler (subSystem == nil ? nothing : NSString (subSystem),
61+ category == nil ? nothing : NSString (category),
62+ logLevel,
63+ message == nil ? nothing : NSString (message)
64+ )
65+ return nothing
66+ end
67+
68+ block = @objcblock (wrapper, Nothing, (id{NSString}, id{NSString}, MTLLogLevel, id{NSString}))
69+
70+ @objc [log_state:: id{MTLLogState} addLogHandler: block:: id{NSBlock} ]:: Nothing
71+
72+ queue_descriptor = MTLCommandQueueDescriptor ()
73+ queue_descriptor. logState = log_state
74+ MTLCommandQueue (dev, queue_descriptor)
75+ else
76+ MTLCommandQueue (dev, queue_descriptor)
5677 end
57- function wrapper (subSystem, category, logLevel, message)
58- log_handler (subSystem == nil ? nothing : NSString (subSystem),
59- category == nil ? nothing : NSString (category),
60- logLevel,
61- message == nil ? nothing : NSString (message)
62- )
63- return nothing
64- end
65-
66- block = @objcblock (wrapper, Nothing, (id{NSString}, id{NSString}, MTLLogLevel, id{NSString}))
67-
68- @objc [log_state:: id{MTLLogState} addLogHandler: block:: id{NSBlock} ]:: Nothing
69-
70- queue_descriptor = MTLCommandQueueDescriptor ()
71- queue_descriptor. logState = log_state
72- queue = MTLCommandQueue (dev, queue_descriptor)
7378 queue. label = " global_queue($(current_task ()) )"
7479 global_queues[queue] = nothing
7580 queue
0 commit comments