Objective-C D metal binding
Steven Schveighoffer
schveiguy at gmail.com
Sat Mar 11 13:08:49 UTC 2023
On 3/10/23 4:10 PM, ryuukk_ wrote:
> On Friday, 10 March 2023 at 20:53:23 UTC, Hipreme wrote:
>> Hello guys. I have been working for some time into binding Metal to D.
>> This has been quite an interesting journey and today I've reached a
>> point where it is usable.
>> It is far from complete, but I included a lot of comments from Apple's
>> documentation, and also have tested and got an entire Metal hello
>> world working in D.
>>
>> The API I worked on is really nice, I manually put the opIndex,
>> opIndexAssign, wrapped Objective C Runtime Arrays to a strongly typed
>> array in D. The main point into this binding is getting Metal to run
>> on Hipreme Engine, so, I don't plan into supporting what I don't use.
>> That said, I still welcome any contribution to make this a standard
>> way to program using Apple's Metal.
>>
>> I'll put an example folder the moment I get a dub fix for macOS.
>>
>> 
>>
>> https://code.dlang.org/packages/d-metal-binding
>
> Congrats!
>
> But metal obj-c? do you mean DMD support only? so no Apple Silicon
> (intel only)?
>
> I don't think Intel stuff on mac ecosystem will be a thing for too long,
> PPC era already vanished from history
>
> There is the official C++ headers that you can use to make things easier
>
> https://developer.apple.com/metal/cpp/
From that page:
No measurable overhead compared to calling Metal Objective-C
headers, due to inlining of C++ function calls.
D will not inline C++ function calls. So there will be overhead.
Objective-C support is better. Getting Obj-C support into LDC is the
right path. And I'm with you too -- we need ARM support for Metal.
Looking forward to it!
-Steve
More information about the Digitalmars-d-announce
mailing list