Skip to content

Commit df88b29

Browse files
committed
add MTLLogStateDescriptor and MTLLogState
1 parent c200171 commit df88b29

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

lib/mtl/MTL.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ include("events.jl")
3434
include("fences.jl")
3535
include("heap.jl")
3636
include("buffer.jl")
37+
include("log_state.jl")
3738
include("command_queue.jl")
3839
include("command_buf.jl")
3940
include("compute_pipeline.jl")

lib/mtl/log_state.jl

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
export MTLLogLevel
2+
3+
@cenum MTLLogLevel::NSInteger begin
4+
MTLLogLevelUndefined = 0
5+
MTLLogLevelDebug = 1
6+
MTLLogLevelInfo = 2
7+
MTLLogLevelNotice = 3
8+
MTLLogLevelError = 4
9+
MTLLogLevelFault = 5
10+
end
11+
12+
export MTLLogStateDescriptor
13+
14+
@objcwrapper immutable=false MTLLogStateDescriptor <: NSObject
15+
16+
@objcproperties MTLLogStateDescriptor begin
17+
@autoproperty level::MTLLogLevel setter=setLevel
18+
@autoproperty bufferSize::NSInteger setter=setBufferSize
19+
end
20+
21+
function MTLLogStateDescriptor()
22+
handle = @objc [MTLLogStateDescriptor alloc]::id{MTLLogStateDescriptor}
23+
obj = MTLLogStateDescriptor(handle)
24+
finalizer(release, obj)
25+
@objc [obj::id{MTLLogStateDescriptor} init]::id{MTLLogStateDescriptor}
26+
return obj
27+
end
28+
29+
30+
export MTLLogState
31+
32+
@objcwrapper MTLLogState <: NSObject
33+
34+
function MTLLogState(dev::MTLDevice, descriptor::MTLLogStateDescriptor)
35+
err = Ref{id{NSError}}(nil)
36+
handle = @objc [dev::id{MTLDevice} newLogStateWithDescriptor:descriptor::id{MTLLogStateDescriptor}
37+
error:err::Ptr{id{NSError}}]::id{MTLLogState}
38+
MTLLogState(handle)
39+
end

0 commit comments

Comments
 (0)