Post

Replies

Boosts

Views

Activity

Reply to Clarification of Tier 2 Argument Buffer limits
Thanks for the clarification! The origin of the question is because some members of the community claim that Metal cannot effectively emulate Vulkan or DX12 binding model since DX12 guarantees that you can have at least a million attachment points. This has apparently prompted a popular programming technique in DX12 world where one would just allocate a million attachment points for textures and then use dynamic indexing to pick the relevant one's. There were concerns that you can't do it with Metal (in the context of frameworks such as MoltenVK), but it seems like you indeed can.
Topic: Graphics & Games SubTopic: General Tags:
Jun ’22
Reply to Why aren't the Metal Feature Set Tables up to date?
I am also very confused by the absence of A15 in the feature tables. Note that MTLGPUFamily.apple8 (that probably refers to A15) is also undocumented. Come on, Apple, you can do better. Regarding M1, that one shares the capabilities with A14 (same GPU), so it does not really need a separate feature entry. Would still be nice if they put in M1/A14 for clarity.
Topic: Graphics & Games SubTopic: General Tags:
Jan ’22
Reply to How to draw a thick line in metal ?
Hardware does not support drawing thick lines and so this functionality has no business in being in a GPU API. Not to mention that there are a lot of choices that have to be done (how to handle line caps, how to handle aliasing etc.). I am surprised that some people think this is basic functionality, it clearly is not. Drawing lines either involves non-trivial shaders that interpolate SDFs or constructing geometry on the fly. This could be a task for an auxiliary library, but definitely not for the core API.
Topic: Graphics & Games SubTopic: General Tags:
May ’21
Reply to Will Metal Performance Shaders Framework Support Float64?
Apple GPUs do not support FP64 and neither does Metal.
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jul ’22
Reply to Clarification of Tier 2 Argument Buffer limits
Thanks for the clarification! The origin of the question is because some members of the community claim that Metal cannot effectively emulate Vulkan or DX12 binding model since DX12 guarantees that you can have at least a million attachment points. This has apparently prompted a popular programming technique in DX12 world where one would just allocate a million attachment points for textures and then use dynamic indexing to pick the relevant one's. There were concerns that you can't do it with Metal (in the context of frameworks such as MoltenVK), but it seems like you indeed can.
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jun ’22
Reply to Metal 3: GPU addresses and argument buffer encoding
Thanks, I also just happened to watch the relevant WWDC session. Great work! Metal is shaping up to be an incredible API, with unmatched power and ergonomy.
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jun ’22
Reply to What is System Level Cache?Where is it?
It's inside the SoC and this is the large cache that is shared by all the processors on an Apple Silicon chip. Why do you need to have information about this cache? It's not like you can do anything with it directly...
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jun ’22
Reply to Why aren't the Metal Feature Set Tables up to date?
I am also very confused by the absence of A15 in the feature tables. Note that MTLGPUFamily.apple8 (that probably refers to A15) is also undocumented. Come on, Apple, you can do better. Regarding M1, that one shares the capabilities with A14 (same GPU), so it does not really need a separate feature entry. Would still be nice if they put in M1/A14 for clarity.
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jan ’22
Reply to How to draw a thick line in metal ?
Hardware does not support drawing thick lines and so this functionality has no business in being in a GPU API. Not to mention that there are a lot of choices that have to be done (how to handle line caps, how to handle aliasing etc.). I am surprised that some people think this is basic functionality, it clearly is not. Drawing lines either involves non-trivial shaders that interpolate SDFs or constructing geometry on the fly. This could be a task for an auxiliary library, but definitely not for the core API.
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
May ’21