Join Apple at GDC Festival of Gaming. March 11 2026, San Francisco in person
Heading to GDC next week as part of Appleβs GDC presentations on Wednesday!
Join Apple at GDC Festival of Gaming. March 11 2026, San Francisco in person
Heading to GDC next week as part of Appleβs GDC presentations on Wednesday!
Good luck with the presentation, Rich!
That was a solid investment. Probably like a 1000X ROI.
Chinese food ground truth?
Yeah, exactly. Some elements could be wired though top and bottom of the studs, so not all blocks would have bluetooth. The LEDs could be more easily composable into more granular patterns. I am excited to see where they take the idea of the smart brick next. There is definitely a lot of potential.
I like the potential for meshing the light projection with many blocks. I would have preferred a short range distance sensor instead of the color sensor. The tiny form factor is amazing, but I wish it was subdivided into small bricks that can connect different sets of components together.
The tag based positional system is interesting to provide scene understanding. Each tag can programmatically carry context, so an area in the physical world can be locally well defined. Using just the accelerometer in the existing Spike Hub can only produce a relative position with drift.
The biggest limitation with the existing Spike hub API is the singular beep function with mono speaker. The function does have some control over the waveform, but it can't do most realistic sound effects. It really is just meant to produce some programmatic musical tones.
I like your default error buffer suggestion. It both leverages and validates the feature.
One other modern aspect that is a bit of a pain point at the moment is the state object addition flow. The only content is wrt to RT, but that feature is independent of RT, and it was a bit painful to get set up for sparse nodes with work graphs without existing explicit references to follow.
The main problem as you implied is that the correct root flags need to be defined in shader land, as well as the correct buffer indexing. As part of the header, some simple golden reference high level shader examples could be provided in combination with the client side header.
It can also be challenging (mainly due to the lack of references) to extract the layout from the compiled binary through the compiler functions and feed it into the root signature API. Having a helper header for that specifically sounds like a great idea. This removes so much potential for error.
I don't think that going bindless is overly opinionated, as having to manually define the layouts is very burdensome and creates a canyon of potential discrepancy between the CPU side layouts and the shader definitions is the biggest pain point especially for new devs.
I completely agree with vfig about how the heavy abstractions in most reference samples and frameworks make it very hard to learn about the API or customize the sample, which is true across almost all APIs even console reference examples.
I think you could refer to it as a minimal abstraction golden reference helper header, where the correct modern paths are used. One awful pain point with existing DX sample references is the lack of Compiler3 entrypoint usage, and the older paths are actually already deprecated. π
Separately, I want to experiment more with Halide. I spent a few months over a year ago toying with Triton for some basic computational fluids, but the lack of array indexing made it limited for general purpose compute. I want to explore Halide more, but the declarative style is a shift for me.
"I'm not saying it outperforms all experts, but that it can in future, with enough compute." This is exactly what I disagree with, the idea that if we just throw more compute at the problem, then it will get better, which is a fallacy. I don't disagree with everything you have said though.
I'm on a train with spotty logic with a 5 year old sleeping on me, and this is a bit hard to debate with such a limited amount of characters.
I'm just not convinced that our future contributions will be exclusive to high level logic, as LLMs desperately struggle to understand basic logic. It barely understands positional logic (up versus down, left versus right). Hardware complexity is too complex, proprietary, and continuously evolving.
I'm not dismissing using AI for autotuning, as I think that is a hero use case for AI. At the moment, I still feel that I spend more time building the context for an AI prompt and fixing the output than I do writing the code myself. I do agree that there will be a shift as we are already seeing.
There is almost always a human in the loop with agentic flows and pretty much all metrics used in research are pure self bias. Any metrics struggle to properly represent any actual reality (perception distortion paradox).
Production environments are a completely different beast.
Autotuning existing generic kernels with explicit constraints compared with designing new sota compute algorithms. Conditioned agentic flow for autotuning (CudaForge) is interesting, but implying it outperforms all experts on all problems is dangerous nonsense. GenAI == GenericAI
As explicit examples of significant weaknesses, even the latest world models do not understand the mapping between high level shader code and the intermediate representation. They also inject imaginary intrinsics that do not exist when it doesn't understand how to solve a specific compute fragment.
Specialized compute is also the backend of GenAI.
As you point out, it is unlikely that world models get access to proper RTL designs, which is also true for the ever increasing complexity from the continuous development of proprietary compute algorithms which are software houses' core IP. Specialized compute still remains out of reach for GenAI.
This is such a tease for me right now. Hard to find decent mincemeat tarts in Copenhagen. I did not realize it is possible to get the mix in a jar.
We have open positions across Europe with Cambridge, Lund, and Trondheim being the main locations focused on graphics: careers.arm.com
My "No Graphics API" blog post is live! Please repost :)
www.sebastianaaltonen.com/blog/no-grap...
I spend 1.5 years doing this. Full rewrite last summer and another partial rewrite last month. As Hemingway said: "First draft of everything is always shit".
That's cool. Are you doing the light binning pass on the GPU or the CPU side?
I really miss the internal yearly Christmas clearance sale. I think my wife is glad that I don't come home each December with more t-shirts and other merchandise anymore...