AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

[...]
Zum Thema (automatische) Portierung:

"A shorter term approach would be to address known bottlenecks in a Direct3D 11 title; these can be addressed by using the 11on12 or interop techniques enabling the two APIs to work together. This approach minimizes the changes necessary to an existing Direct3D 11 graphics engine, however the performance gains will be limited to the relief of the bottleneck that the Direct3D 12 code addresses."

What is Direct3D 12? (Windows)

Es wird immer enger für Locuza:

"Direct3D 12 does not replace Direct3D 11. The new rendering features of Direct3D 12 are available in Direct3D 11.3. Direct3D 11.3 is a low level graphics engine API, and Direct3D 12 goes even deeper."

Selber Link wie oben. Meine weiteren Recherchen ergeben so allmählich, dass es Adapter-Techniken gibt, so dass man Kompatibilität zwischen 12 und 11.3 herstellen kann. Ich bleibe am Ball und reiche weitere Links nach...
Ich:
https://media.giphy.com/media/cbjj49cDsTBMA/giphy.gif

Die Aussage gegen die ich argumentiert habe war, dass jede DX12 Portierung gleichzeitig DX11.3 Support nach sich zieht und das ist aus unzähligen Gründen nicht der Fall.
Den D3D11on12-Layer habe ich selber schon zuvor verlinkt und mehrmals klar gemacht, dass man die Schnittmenge an neuen Rendering-Features zwischen den beiden APIs sowohl bei der einen, als auch bei der anderen ohne große Mühe verwenden kann.

Es gab keine Behauptung von mir das man nicht Beides umsetzen kann, dass es keine Techniken gibt, in welcher Form auch immer, die Aussage ist aber, dass hier nichts automatisch geschieht und man das selber umsetzen muss.
Es gibt soweit mir bekannt ist kein Spiel mit DX11.3 Support und dabei gehe ich pauschal davon aus das wenn man von DX11.3 redet, eine Unterstützung mit Features meint, welche die API auch zwingend voraussetzen und nicht Windows 10 einfach automatisch DX11.3 bzw. die D3D11.3 Runtime für DX11.0/1/2 Abwärtskompatibilität verwendet, was nichts mit DX12-Arbeiten bzw. Portierungen zu tun hätte.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Gut, kannst du das auch belegen?
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Ich frage sicherheitshalber nach, was genau belegen?
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Dass die Aussage "meaning that you can code for D3D12 and have compatibility carry over to 11.3. " falsch ist. Dann sollten wir uns noch darüber im Klaren sein, was "automatisch" bedeutet. Wenn man einen Adapter explizit aufruft im Code, ist das dann bereits nicht mehr "automatisch" für dich?
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Was meinst Du denn, was die Aussage "meaning that you can code for D3D12 and have compatibility carry over to 11.3" genau bedeutet? Für sich alleine genommen ist dieser Hablsatz keine konkrete Aussage.

Ich habe weiterhin das Gefühl, dass Du API Architektur und Featureset vermischt bzw. verwechselt. Von Anbeginn der Diskussion. Das sind aber zwei verschiedene Dinge.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Dass die Aussage "meaning that you can code for D3D12 and have compatibility carry over to 11.3. " falsch ist. Dann sollten wir uns noch darüber im Klaren sein, was "automatisch" bedeutet. Wenn man einen Adapter explizit aufruft im Code, ist das dann bereits nicht mehr "automatisch" für dich?
Ich habe dir schon darauf geantwortet, in Form einer technischen Ausführung:
http://extreme.pcgameshardware.de/n...ader-und-mehr-haeuft-sich-14.html#post9169636

Automatisch müsste in dem Fall ja wirklich bedeuten, dass alle Methodenaufrufe unter DX12 automatisch in äquivalente DX11-Aufrufe übersetzt werden und in eine bisherige DX11-Codebasis eingepflegt.
So etwas steht eben nicht im Angebot bereit, denn selbst wenn das Feature-Set und die verwendeten Objekte gleich sind, ein paar API-Calls werden untereinander etwas anders referenziert und benannt, man könnte einen Automatismus für viele Sachen leicht umsetzen, aber wenn man unter DX12 dann z.B. viel mehr Objekte verwendet, als DX11.3 erlaubt, was soll dann genau passieren, außer das ein Error-Code zurückgeworfen wird oder eine kaputte Anwendung daraus entsteht?
Entsprechend hat man als Entwickler immer manuell selber dafür zu sorgen, dass man seinen Code in DX11.X zurückportiert, wenn man Features für Beides umsetzen möchte, automatisch läuft kein Codegenerator durch.
 
Zuletzt bearbeitet:
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Hm, passiert wohl, wenn vom Hundertsten ins Tausendste kommt. Ich spreche nicht von DirectX 11.X, sondern von DirectX 11.3. Es stehen die Aussagen im Raum, belegt durch mich, dass die Features (Featuresets), die in 11.3 sind, auch in 12 enthalten sind. Außerdem ist 11.3 auch eine LL API (Architektur). Zusätzlich wird behauptet, dass beim Übergang von 12 nach 11.3 Kompatibilität vorliegt. Soweit ich verstanden habe, soll das aber nur funktionieren, wenn weitreichende manuelle/explizite Änderungen (es wird sogar von zig tausend Zeilen Code gesprochen) vorgenommen werden, weil 11.3 und 12 grundsätzlich anders funktionieren und aufgebaut sind. Was stimmt nun und gibt es, völlig unabhängig von irgendeiner Behauptung, Quellen dafür, wie sich die beiden APIs gegeneinander verhalten?

Wenn darauf jetzt wieder nur Rückfragen kommen, vermeintliche Diskontinuitäten dargelegt werden und die Diskussionspartner ihre genervte Haltung mit GIFs demonstrieren, dann sollten wir es dabei belassen. Mir geht es darum, Dinge zu verstehen und was dabei zu lernen. Meine Haltung hierbei ist durchweg positiv und unvoreingenommen. Nur mal zur Info.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Niemand hat je bestritten, dass die Features von FL 11.3 auch in DX 12 angeboten werden. Wie kommst Du überhaupt darauf, dass hätte irgendjemand in Zweifel gezogen?

Es geht nur darum, dass jemand, der DX12 nutzt, deswegen noch lange nicht die Features nutzen muss, die ab FL 11.3 verfügbar sind.

Nochmal: Du verwechselst FL und API. Das wird immer deutlicher.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Ich denke, wir sollten es dabei belassen. Das Thema ist auch komplex. Ich wollte mich eh demnächst damit beschäftigen. Dann werde ich meine Fragen selbst beantworten können. :)
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

[1] Hm, passiert wohl, wenn vom Hundertsten ins Tausendste kommt. Ich spreche nicht von DirectX 11.X, sondern von DirectX 11.3. Es stehen die Aussagen im Raum, belegt durch mich, dass die Features (Featuresets), die in 11.3 sind, auch in 12 enthalten sind. Außerdem ist 11.3 auch eine LL API (Architektur). Zusätzlich wird behauptet, dass beim Übergang von 12 nach 11.3 Kompatibilität vorliegt. Soweit ich verstanden habe, soll das aber nur funktionieren, wenn weitreichende manuelle/explizite Änderungen (es wird sogar von zig tausend Zeilen Code gesprochen) vorgenommen werden, weil 11.3 und 12 grundsätzlich anders funktionieren und aufgebaut sind. Was stimmt nun und gibt es, völlig unabhängig von irgendeiner Behauptung, Quellen dafür, wie sich die beiden APIs gegeneinander verhalten?

[2] Wenn darauf jetzt wieder nur Rückfragen kommen, vermeintliche Diskontinuitäten dargelegt werden und die Diskussionspartner ihre genervte Haltung mit GIFs demonstrieren, dann sollten wir es dabei belassen. Mir geht es darum, Dinge zu verstehen und was dabei zu lernen. Meine Haltung hierbei ist durchweg positiv und unvoreingenommen. Nur mal zur Info.
[1] Hier liegt ein Problem mit der Ableitung der Begrifflichkeiten zusammen, die zu pauschal sind.
DX11.3 wäre der Aussage nach genauso eine LL-API wie DX11.0, denn der Kern ist identisch zwischen beiden APIs.
Low-Level-API hat sich im Mainstream für Vulkan und DX12 eingebürgert und als konzeptionelles Gegenstück werden neuerdings DX11/OGL auch mal als High-Level-APIs bezeichnet, dass führt aber zu Widersprüchen wenn man wie MS auch bezüglich DX11.(3) von einer LL-API spricht oder man das früher getan hat.
Es gibt auch Vertreter die mögen den Begriff Low-Level-API bezüglich DX12 und Vulkan nicht, Tobias Hector, welcher bei der Khronos Group die Leitung für die Working-Group bezüglich OGL ES übernommen hat, bei Imagination aber auch an Vulkan und der Spezifizierung arbeitet, meinte in einem Panel ausdrücklich selber das Vulkan keine Low-Level-API ist, sondern eine explicit API.

Ich persönlich spreche aufgrund der Widersprüche und möglichen Verwirrungen auch lieber von explicit APIs, was ein Kernunterschied auf breiter Front darstellt, zwischen den alten und neuen APIs.
Pauschal ist der Begriff natürlich auch, was wären denn Konsolen APIs welche noch expliziter ausfallen, super explicit APIs?
Inflationär wurde auch die Aussage to-the-metal verwendet, obwohl weiterhin fette Abstraktionsschichten existieren.

DX11.3 setzt jedenfalls absolut auf DX11.0-11.2 auf, dass erkennst du auch schnell bei der DX-Dokumentation, es gibt dort keine extra Programmierrubrik für DX11.3, weil das alles identisch zu DX11.0/1/2 ausfällt.
Was unter DX11.3 als Update auf Grundlage von DX11 dazu gekommen ist, wird hier gelistet:
Direct3D 11.3 Features (Windows)

Eben diese Features sind auch unter DX12 verfügbar, aber das stellt nur eine Schnittmenge dar und wie sich das in bestehenden Code eingliedert, dass kann man nicht automatisieren.

Wenn du eine Übersicht über die Kernunterschiede von DX12 und DX11 haben möchtest, findest du eine Menge Präsentationen auf Slideshare, hier als Beispiel von MS selber:
Introduction to Direct 3D 12 by Ivan Nevraev

Und bezüglich der FeatureLevels.
Unter DX11 wurde zum ersten mal das FL11.0 spezifiziert, Windows 8 brachte DX11.1 und MS hat ein neues FeatureLevel 11.1 spezifiziert.
Mit Windows 8.1 kam DX11.2 dazu, aber kein FL11.2, FL11.1 blieb weiterhin das Maximum, welches man als Set vorschreiben konnte, dennoch gab es neue Funktionen die man dann einfach gesondert aufruft.
DX11.3 bietet vier Levels an, die Gleichen wie unter DX12, FL11.0, FL11.1, FL12.0 und FL12.1.
FL12.0 schreibt vor das Tiled Ressources Tier 2 unterstützt werden müssen und Typed UAVs.
FL12.1 setzt ROVs und Conservative Rasterization Tier 1 voraus.

DX12 bietet ebenso die vier Feature-Levels FL11.0, FL11.1, FL12.0 und FL12.1 an.

Die Feature-Levels unter DX12 sind auch fast identisch zu den unter DX11(.3), hier versucht MS so viele Gemeinsamkeiten wie möglich beizubehalten.
Für FL11.0/1 ist das nützlich, da MS es soviel leichter hatte DX12 Support für alte Hardware möglich zu machen, indem man sich in vielen Aspekten an die Funktionen und Limits der älteren DX11 API gehalten hat.
Aber das Arbeitsmodell unter der Haube ist eben massiv anders, dass neue Resource-Binding-Model gibt es eben nur unter DX12.
Bei FL12.0 gibt es unter DX12 die zwingende Vorschrift Resource Binding Tier 2 unterstützen zu müssen, dass kann DX11.3 eben nicht, entsprechend gibt es dort die Anforderung nicht und die höchsten DX11 Limits bleiben bestehen.

Zwar sind die Feature-Levels sehr ähnlich, aber sie beinhalten nicht alle Inhaltsstoffe und Möglichkeiten der jeweiligen APIs.
Entsprechend funktioniert auch kein automatischer Portvorgang, selbst wenn man die gleichen FeatureLevels unter DX11 und DX12 verwendet.


[2] Ich bin hier, weil mich das Thema auch interessiert und ich die Diskussionsplattform entsprechend nutzen möchte.
Aber bezüglich des DX11.3 vs. DX12 Themas habe ich gestern Stunden damit verbracht mit Danuj zu diskutieren, ich habe auch dir eine ausführlichere Antwort geschrieben, worauf du gar nicht eingegangen bist und mir einfach erneut nur die Behauptung von WCCFTech vor die Nase gehalten hast.
Ich weiß das es schon 16 Seiten gibt und man nicht erwarten kann, dass jeder Teilnehmer alle Beiträge davor liest, vielleicht hast du auch meine Antwort gar nicht gelesen, aber ich habe das Gefühl mehrere Stunden bei der Argumentation investiert zu haben, nur um zum siebten mal von der gleichen Startposition Anlauf nehmen zu müssen.
Es ist vielleicht verständlich woher mein Katzenseufzer kommt.

Niemand hat je bestritten, dass die Features von FL 11.3 auch in DX 12 angeboten werden. Wie kommst Du überhaupt darauf, dass hätte irgendjemand in Zweifel gezogen?
Es geht nur darum, dass jemand, der DX12 nutzt, deswegen noch lange nicht die Features nutzen muss, die ab FL 11.3 verfügbar sind.
[...]
*Hust* (Seit 3 Jahren), es gibt kein FL11.3. :D
 
Zuletzt bearbeitet:
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Danke für deine Ausführungen. Ja ich weiß, das kostet viel Zeit.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Du hättest eigentlich in drei vier Sätzen, wie Grestorn das versucht hat zu beantworten, antworten können, oder gar nicht müssen sondern einfach nur verstehen was sich hinter bestimmten Anspielungen verbirgt.
[...]
M$ ging es dabei darum Mantle und Vulkan etwas entgegen zu setzen und Abstractionsmodelle anzubieten, die alle Windowsversionen sogut wie möglich bedienen. Wenn du darauf eingangen wärst, hättest du meine und deine Zeit massiv geschont.
Ich bin auf das eingegangen, was ich zitiert habe und was dort auch direkt stand.
Ich diskutiere doch nicht Themen, welche einfach so aufploppen und von dir aus dem Nichts eingeworfen werden, obwohl ich mich die ganze Zeit konkret auf andere Dinge bezogen habe.

Vielmehr kommst du mit vielfältigen Ouput dazu und forderst den nötigen Input. Natürlich ist das zeitaufwendig, aber wie du siehst kann man das Ganze in ein paar Sätzen zu einem logischen Schluss bringen, nur weil Du das nicht weisst ist es damit unrichtig.
Ich fordere passenden Output auf entsprechenden Input.
Bei dir kann man "3 + 2" als Input eingeben und es kommt "Grünkohl" als Output heraus, wo gar kein logischer Zusammenhang existiert.

Und nochmal ja, M$ wollte das die Entwickler wenn sie für DX11.3 entwickeln, sich automatisch auch mit DX12 Leveln beschäftigen und portieren kann man alles unabhängig vom Renderingverfahren, ob zeitaufwenig, komplex oder eben nicht, war ja gar nicht die grundlegende Aussage.
Deine erste Aussage war, dass jedes Spiel welches nach DX12 portiert wurde auch DX11.3 unterstützt, was nicht stimmt.
Ich kann nur das aufgreifen was du ins Forum schreibst, nicht was du gedanklich meinst.
Hättest du gesagt das du etwas anderes meinst und die Ursprungsbehauptung einfach falsch formuliert war und es dir eig. um XYZ geht, dann wäre ich auch entsprechend darauf eingegangen.
Stattdessen gibt es das wirre Rumgeeiere, weil du keine konkrete Stellung zu deiner Ursprungsbehauptung beziehst und konfuses Zeug ständig nachwirfst.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

was hatn das alles mit dem Unmut zu den weiterhin fehlenden primitive shadern zu tun, bitte?
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

das Vega z.Z. die am weiten entwickelte directX GPU im Comsumer-Markt ist, weil du gerade vorher deinem Weltbild fröntest wie toll nVidia doch alles weiterentwicklet hat.
[....]
Das war jetzt mein letztes Posting dazu, weil mich das "Mimimi" drumherum einfach nervt, denn das größte Problem damit nicht mal die AMD fans oder besitzer einer Vega sondern alle anderen!
Wenn man solche subjektiven Bewertungen wie im 1. Satz raus haut, dann ergibt der 2. Satz keinen Sinn.

Da sind wohl doch eher die "AMD fans" das Problem, wenn man einen Fail wie Vega ständig schön reden muss.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Nun es ist etwas auf dem Locuza ja umhergeritten ist, ja Vega kann directX in höchster Versionnummer ausführen...
Ich glaube du hast die Aussagen von Locuza nicht korrekt verstanden.

Was soll das gehate, geflame und gebashe daher?
Was ist daran bitte gehate? Du verstehst eine Aussage von Locuza nicht und behauptest dann solch einen Unfug um dann zu behaupten, nur die Anderen wären das Problem. Dabei sind es genau solche Aussagen, die das Problem sind :daumen:
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Es gibt noch kein Game was primitive shader von AMD in voller Ausprägung verwenden kann. Es liegt an den Entwicklern das feature zu implementieren. Und da DX12 so schleppend vorrangeht, geht es eben auch nur langsam mit dem PS voran.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Es gibt noch kein Game was primitive shader von AMD in voller Ausprägung verwenden kann. Es liegt an den Entwicklern das feature zu implementieren.
Es gibt noch keinen Treiber von AMD, der primitive shader unterstützt, das Feature ist und bleibt bis auf Weiteres deaktiviert.

Das weißt du aber auch, netter Trollversuch :daumen:
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Ist auch ähnlich dem DX_12 feature "conservative rasterization Tier 3" mit dem "InnerCoverage interaction"

Zurzeit gibt kein einziges Game, welches dieses feature bisher verwendet, weil es bis Vega keine leistungsfähige Hardware gab, die das kann.
 
Zurück