AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich
[...]
Die Pipeline muss zwingend programmiert werden, sonst sind diese Shadertypen überhaupt nicht nutzbar. Das funkioniert doch nicht einfach so von selbst! In den verfügbaren Benchmarks zeigt Vega doch das es unterstützt wird!
YouTube
Die Diskussion darüber, ob Primitive Shader im Hintergrund automatisch arbeiten können oder explizite Entwicklerunterstützung benötigen hat sich bis zum Launch viele Monate hingezogen, bis Rys Sommefeldt von AMD öffentlich klar gestellt hat, dass es keinen expliziten Entwicklersupport benötigt:
"
@ryszu Any idea when Vega's primitive shaders are likely to be exposed via a Vulkan extension? A ball park estimate would be good to have
"
Rys Sommefeldt: "No plans to expose them programatically today, but we do review the state of play periodically so that might change. No plans rn though"
"So there's no way for a game developer to use them right now? Or am I mistaken?"
Rys Sommefeldt: "The driver takes care of it for you. Just render as normal."
"What about the NGG Fast Path culling? To my understanding it needs primitive shaders, do the devs have control to use it instead of native?"
Rys Sommefeldt: "No control, it's all transparent"
"So, basically, devs can think of it as 'vertex shaders + rasterization is faster' and get on with their lives, at least right now, yeah?
"
Rys Sommefeldt: "Yep. From your perspective we made a more efficient GPU and you don't do anything different. Might change later but no promises."
"Is it still culling primitives this way, or you have to redesign the pipeline to fully utilize this feature?"
Rys Sommefeldt: "You don't have to redesign anything. The idea is that you just draw as normal"
"Wait so primitive shaders just work automatically from a developer's point of view? It's done in driver?"
Rys Sommefeldt: "Yup!"
https://mobile.twitter.com/ryszu/status/896304786307469313
Vermutlich schaltet man die Featurelist dann nicht mal mehr im Treiber an und aus, sondern im Spiel wie in Wolfenstein 2.
Sein wir doch mal ehrlich, es gibt einen guten Grund warum nVidia so lange an DX11 basierenden FL-Modellen festhält, eine flexibelere Programmierung hätte ja auch zur Folge, dass serielle Modelle eben nicht mehr oben auf wären und auch nVidia mehr in Neuentwicklungen investieren müsste. Vielleicht nicht mal so schnell, ein grundlegend neues Modell (Re-Design) zur Hand hätte.
[...]
Nichts was man in Wolfenstein 2 einstellen kann, hat mit Vegas Featureset zu tun.
Und von welchem seriellen Modell redest du? Egal welches FL man unter DX12 verwendet, auch das niedrigste FL11_0, Command-Lists können von jedem CPU-Thread erstellt werden und MultiEngine für gesonderte Compute- und Copy-Queues steht auch immer zur Verfügung.
Du liest zu wenig zwischen den Zeilen Matty, was hat nVidia davon den CPU Overhead zu reduzieren? Sie haben doch gar kein DX11-Treiber-Overhead-Problem (damit) und können mit ihrem Treiber weiter frickeln. Genau das ist es was sie brauchen, DX11.3 als partielles DX12 unterstützen sie doch, plus LL-Implementationen aus Gameworks.
Weiterhin hätte das zur Folge das CPU Leistung nicht mehr so arg im Mittelpunkt steht und AMDs RTG wohl mehr Geld bekommen würde um gezielt Konkurrenz zu entwickeln. Jensen ist das tapfere Schneiderlein, 2 mit einem Streich.
Jeder Destkop-IHV hat Treiber, welche DX11.3 unterstützen und aktuell gibt es noch kein einziges Spiel, welches DX11.3 verwendet.
Im Vergleich zur Konkurrenz steht man aktuell besonders gut da, wegen dem besseren DX11-Treiber, aber man hat mit den selben Designproblemen von DX11 zu kämpfen, wie jeder andere auch.
Aktuell ist es zwar kein großes Problem, aber bei schwachen CPUs und zukünftigen Spielen wird die Situation nicht für immer so bleiben, ganz abgesehen davon das DX11 viele Features fehlen, um das maximale aus der CPU und GPU heraus zu holen.
Der Wandel kommt natürlich und Nvidia wird es nicht aufhalten können.