frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

No Graphics API

https://www.sebastianaaltonen.com/blog/no-graphics-api
171•ryandrake•1h ago

Comments

vblanco•1h ago
This is a fantastic article that demonstrates how many parts of vulkan and DX12 are no longer needed.

I hope the IHVs have a look at it because current DX12 seems semi abandoned, with it not supporting buffer pointers even when every gpu made on the last 10 (or more!) years can do pointers just fine, and while Vulkan doesnt do a 2.0 release that cleans things, so it carries a lot of baggage, and specially, tons of drivers that dont implement the extensions that really improve things.

If this api existed, you could emulate openGL on top of this faster than current opengl to vulkan layers, and something like SDL3 gpu would get a 3x/4x boost too.

tadfisher•1h ago
Isn't this all because PCI resizable BAR is not required to run any GPU besides Intel Arc? As in, maybe it's mostly down to Microsoft/Intel mandating reBAR in UEFI so we can start using stuff like bindless textures without thousands of support tickets and negative reviews.

I think this puts a floor on supported hardware though, like Nvidia 30xx and Radeon 5xxx. And of course motherboard support is a crapshoot until 2020 or so.

vblanco•1h ago
This is not really directly about resizable BAR. you could do mostly the same api without it. Resizable bar simplifies it a little bit because you skip manual transfer operations, but its not completely required as you can write things to a cpu-writeable buffer and then begin your frame with a transfer command.

Bindless textures never needed any kind of resizable BAR, you have been able to use them since early 2010s on opengl through an extension. Buffer pointers also have never needed it.

pjmlp•1h ago
DirectX documentation is on a bad state currently, you have the Frank Lunas's books, which don't cover the latest improvements, and then is hunting through Learn, Github samples and reference docs.

Vulkan is another mess, even if there was a 2.0, how are devs supposed to actually use it, especially on Android, the biggest consumer Vulkan platform?

henning•1h ago
This looks very similar to the SDL3 GPU API and other RHI libraries that have been created at first glance.
thescriptkiddie•1h ago
the article talks a lot about PSOs but never defines the term
flohofwoe•1h ago
"Pipeline State Objects" (immutable state objects which define most of the rendering state needed for a draw/dispatch call). Tbf, it's a very common term in rendering since around 2015 when the modern 3D APIs showed up.
CrossVR•1h ago
PSOs are Pipeline State Objects, they encapsulate the entire state of the rendering pipeline.
ksec•1h ago
I wonder why M$ stopped putting out new Direct X? Direct X Ultimate or 12.1 or 12.2 is largely the same as Direct X 12.

Or has the use of Middleware like Unreal Engine largely made them irrelevant? Or should EPIC put out a new Graphics API proposal?

reactordev•1h ago
Both-ish.

Yes, the centralization of engines to Unreal, Unity, etc makes it so there’s less interest in pushing the boundaries, they are still pushed just on the GPU side.

From a CPU API perspective, it’s very close to just plain old buffer mapping and go. We would need a hardware shift that would add something more to the pipeline than what we currently do. Like when tesselation shaders came about from geometry shader practices.

pjmlp•59m ago
That has always been the case, it is mostly FOSS circles that argue about APIs.

Game developers create a RHI (rendering hardware interface) like discussed on the article, and go on with game development.

Because the greatest innovation thus far has been ray tracing and mesh shaders, and still they are largely ignored, so why keep on pushing forward?

yieldcrv•1h ago
what level of performance improvements would this represent?
flohofwoe•1h ago
It's mostly not about performance, but about getting rid of legacy cruft that still exists in modern 3D APIs to support older GPU architectures.
vblanco•1h ago
There is no implementation of it but this is how i see it, at least comparing with how things with fully extensioned vulkan work, which uses a few similar mechanics.

Per-drawcall cost goes to nanosecond scale. Assuming you do drawcalls of course, this makes bindless and indirect rendering a bit easier so you could drop CPU cost to near-0 in a renderer.

It would also highly mitigate shader compiler hitches due to having a split pipeline instead of a monolythic one.

The simplification on barriers could improve performance a significant amount because currently, most engines that deal with Vulkan and DX12 need to keep track of individual texture layouts and transitions, and this completely removes such a thing.

m-schuetz•55m ago
Probably mostly about quality of life. Legacy graphics APIs like Vulkan have abysmal developer UX for no good reason.
reactordev•1h ago
I miss Mantle. It had its quirks but you felt as if you were literally programming hardware using a pretty straight forward API. The most fun I’ve had programming was for the Xbox 360.
MaximilianEmel•1h ago
I wonder if Valve might put out their own graphics API for SteamOS.
m-schuetz•1h ago
Valve seems to be substantially responsible for the mess that is Vulkan. They were one of its pioneers from what I heard in chats with Vulkan people.
jsheard•58m ago
There's plenty of blame to go around, but if any one faction is responsible for the Vulkan mess it's the mobile GPU vendors and Khronos' willingness to compromise for their sake at every turn. Huge amounts of API surface was dedicated to addressing problems that only existed on mobile, and earlier versions of Vulkan insisted on doing things the mobile way even if you knew your software was only ever going to run on desktop.

Thankfully later versions have added escape hatches which cut out much of the mobile-specific bureaucracy, but it was grim for a while, and all that early API cruft is still there to confuse newcomers.

pjmlp•58m ago
Samsung and Google also have their share, see who does most of Vulkanised talks.
opminion•1h ago
The article is missing this motivation paragraph, taken from the blog index:

> Graphics APIs and shader languages have significantly increased in complexity over the past decade. It’s time to start discussing how to strip down the abstractions to simplify development, improve performance, and prepare for future GPU workloads.

alberth•58m ago
Would this be analogous to NVMe?

Meaning ... SSDs initially reused IDE/SATA interfaces, which had inherent bottlenecks because those standards were designed for spinning disks.

To fully realize SSD performance, a new transport had to be built from the ground up, one that eliminated those legacy assumptions, constraints and complexities.

rnewme•31m ago
...and introduced new ones.
pjmlp•1h ago
I have followed Sebastian Aaltonen's work for quite a while now, so maybe I am a bit biased, this is however a great article.

I also think that the way forward is to go back to software rendering, however this time around those algorithms and data structures are actually hardware accelerated as he points out.

Note that this is an ongoing trend on VFX industry already, about 5 years ago OTOY ported their OctaneRender into CUDA as the main rendering API.

mrec•29m ago
Isn't this already happening to some degree? E.g. UE's Nanite uses a software rasterizer for small triangles, albeit running on the GPU via a compute shader.
aarroyoc•53m ago
Impressive post, so many details. I could only understand some parts of it, but I think this article will probably be a reference for future graphics API.

I think it's fair to say that for most gamers, Vulkan/DX12 hasn't really been a net positive, the PSO problem affected many popular games and while Vulkan has been trying to improve, WebGPU is tricky as it has is roots on the first versions of Vulkan.

Perhaps it was a bad idea to go all in to a low level API that exposes many details when the hardware underneath is evolving so fast. Maybe CUDA, as the post says in some places, with its more generic computing support is the right way after all.

blakepelton•33m ago
Great post, it brings back a lot of memories. Two additional factors that designers of these APIs consider are:

* GPU virtualization (e.g., the D3D residency APIs), to allow many applications to share GPU resources (e.g., HBM).

* Undefined behavior: how easy is it for applications to accidentally or intentionally take a dependency on undefined behavior? This can make it harder to translate this new API to an even newer API in the future.

ginko•3m ago
I mean sure, this should be nice and easy.

But then game/engine devs want to use the vertex shader producing a uv coordinate and a normal together with a pixel shader that only reads the uv coordinate (or neither for shadow mapping) and don't want to pay for the bandwidth of the unused vertex outputs (or the cost of calculating them).

Or they want to be able to randomly enable any other pipeline stage like tessellation or geometry and the same shader should just work without any performance overhead.

The new ChatGPT Images is here

https://chatgptimages.pro/
1•nanobanana•1m ago•0 comments

Reverse-Engineering the RK3588 NPU: Hacking Limits to Run Vision Transformers

https://amohan.dev/blog/2025/shard-optimizing-vision-transformers-edge-npu/
1•rcarmo•1m ago•0 comments

Chat-tails: Throwback terminal chat, built on Tailscale

https://tailscale.com/blog/chat-tails-terminal-chat
2•nulbyte•3m ago•0 comments

Prediction: AI will make formal verification go mainstream

https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html
1•evankhoury•5m ago•0 comments

Naming is hard: Google's PubSubHubbub

https://pubsubhubbub.appspot.com/
2•hedayet•6m ago•0 comments

The persistent need for general knowledge and subject-matter expertise with LLMs

https://graphthinking.blogspot.com/2025/12/the-persistent-need-for-general.html
1•physicsgraph•6m ago•0 comments

TruffleHog now detects public-key JWTs and verifies them for liveness

https://trufflesecurity.com/blog/trufflehog-now-detects-jwts-with-public-key-signatures-and-verif...
1•SnowflakeOnIce•7m ago•0 comments

Is the Poisson distribution useful for modeling goals?

https://blog.engora.com/2025/12/poisson-to-predict-football-results.html
1•Vermin2000•7m ago•0 comments

MIT [nuclear science] professor shot and killed in his Brookline home

https://www.boston.com/news/crime/2025/12/16/mit-professor-shot-and-killed-in-his-brookline-home/
1•dctoedt•8m ago•1 comments

Intel Discontinues Its Open-Source User-Space Gaudi Driver Code

https://www.phoronix.com/news/Intel-SynapseAI-Stops
1•BeetleB•8m ago•0 comments

Questions and Answers on the European Grids Package

https://ec.europa.eu/commission/presscorner/detail/en/qanda_25_2946
1•doener•12m ago•0 comments

Basketball Player Tracking, Team Detection, and Number Recognition with Python

https://www.youtube.com/watch?v=yGQb9KkvQ1Q
1•SkalskiP•12m ago•1 comments

Texas is suing all of the big TV makers for spying on what you watch

https://www.theverge.com/news/845400/texas-tv-makers-lawsuit-samsung-sony-lg-hisense-tcl-spying
7•tortilla•15m ago•1 comments

Show HN: A24z – AI Engineering Ops Platform

https://www.a24z.ai/
2•brandonin•15m ago•1 comments

Show HN: Deterministic PCIe Diagnostics for GPUs on Linux

https://github.com/parallelArchitect/gpu-pcie-diagnostic
1•gpu_systems•16m ago•0 comments

LG TVs Get Unremovable Microsoft Copilot App

https://gizmodo.com/lg-tvs-get-unremovable-microsoft-copilot-app-2000699870
3•stalfosknight•18m ago•1 comments

Rolldown: Fast Rust Bundler for JavaScript/TypeScript with Rollup-Compatible API

https://github.com/rolldown/rolldown
1•nateb2022•19m ago•0 comments

The success of 'natural language programming'

https://brooker.co.za/blog/2025/12/16/natural-language.html
1•qianli_cs•20m ago•0 comments

Most US Teens Use YouTube and TikTok Daily–Some 'Almost Constantly,' Survey Says

https://www.nytimes.com/2025/12/09/well/family/tik-tok-you-tube-teen-use-pew-study.html
2•bookofjoe•20m ago•2 comments

Sway-displays: interactive output setup with profiles (+ zero-copy mirroring)

https://github.com/pescheckit/sway-displays
1•botw44•21m ago•1 comments

Neuromodulatory control of energy reserves in dopaminergic neurons

https://www.pnas.org/doi/10.1073/pnas.2523019122
1•bikenaga•21m ago•1 comments

Academic Doping – Are Cognitive Enhancers Real? [video]

https://www.youtube.com/watch?v=S9DBzebu0r8
1•msuniverse2026•21m ago•0 comments

Chicago95: Windows 95 for Linux

https://github.com/grassmunk/Chicago95
1•doener•24m ago•1 comments

George Osborne Joins OpenAI

https://www.bbc.co.uk/news/articles/cd6xz1jv4ezo
4•oncallthrow•25m ago•0 comments

Ty: A fast Python type checker and LSP

https://astral.sh/blog/ty
13•gavide•27m ago•0 comments

Letta Code

https://www.letta.com/blog/letta-code
1•ascorbic•28m ago•0 comments

Go 1.26 Release Candidate 1 is released

https://groups.google.com/g/golang-nuts/c/LcB-3xh5o68
1•typical182•29m ago•1 comments

Linux computer with 843 components designed by AI boots on first attempt

https://www.tomshardware.com/tech-industry/artificial-intelligence/dual-pcb-linux-computer-with-8...
6•whynotmaybe•29m ago•0 comments

React2Shell Side Quest: Tracking Down Malicious MeshCentral Nodes

https://www.labs.greynoise.io/grimoire/2025-12-09-react2shell-meshcentral/
2•a_morris•31m ago•0 comments

Mark Carney criticised for using British spellings in Canadian documents

https://www.theguardian.com/world/2025/dec/16/mark-carney-british-spellings-canada
2•n1b0m•32m ago•1 comments