Zum Inhalt springen
PS5PCEM
TeilweiseGrafik

Bildladevorgänge über mehrere Texel

IMAGE_LOAD_BY2, BY4, PCK2 und PCK4, einschließlich der Formen mit explizitem Mip, werden für die gemessenen nativen 2D-Formate ausgeführt. Ein BY-Ladevorgang liefert aufeinanderfolgende Texel. Ein PCK-Ladevorgang packt ihre Rohbits in ein Register.

Repository-Notizen bis 10. Oktober 2026

BY und PCK

Ein BY-Ladevorgang schreibt aufeinanderfolgende Texel in getrennte VGPRs, die Kanäle innerhalb jedes Texels geordnet. Ein PCK-Ladevorgang packt die rohen Komponentenbits in ein 32-Bit-VGPR, mit dem ersten Texel in den niederwertigsten Bits. Vorzeichenbehaftete Komponenten werden auf ihre Speicherbreite gekürzt. UNORM-Komponenten werden mit Rundung auf gerade wiederhergestellt.

Das erste Texel wird in X nach unten auf eine Gruppe von zwei oder vier ausgerichtet. Die Grenzprüfung nutzt die ursprüngliche, nicht ausgerichtete Koordinate: Die ganze Gruppe muss vor der Ausrichtung hineinpassen, Y muss im Bereich liegen, und das angeforderte Mip muss existieren. Eine ungültige Gruppe setzt jedes Ergebnisregister auf null und lässt unabhängige Ziele unangetastet. Ungültige Koordinaten werden durch sichere Fetch-Operanden ersetzt, bevor Vulkan sie sieht.

Welche Formate

BY2 mit DMASK 0x3 deckt R8 und R16 in UNORM, SNORM, UINT, SINT und R16 FLOAT ab. BY2 mit DMASK 0xF deckt RG8 in UNORM, SNORM, UINT und SINT ab. BY4 mit DMASK 0xF deckt R8 in diesen vier Zahlentypen ab. PCK2 mit DMASK 0x1 deckt R8, R16 und RG8 in UNORM, UINT und SINT ab. PCK4 mit DMASK 0x1 deckt R8 in UNORM, UINT und SINT ab. Varianten dieser Ladevorgänge mit explizitem Mip nutzen dieselben Formatlisten.

Das Backend gibt der Übersetzung das genaue native Format. Getrennte Sampled-Image-Bänke für UINT und SINT halten Ganzzahlergebnisse neben den Bänken für Gleitkomma und Vergleich korrekt typisiert. NSA-Koordinaten, überlappende Adress- und Zielregister und die gewöhnliche EXEC-Maske bleiben erhalten.

Was die Änderung nicht ist

Der Bericht vom 9. Oktober ist gemeinsame Unterstützung von Shader und Backend. Er hängt nicht von einer Spielkennung oder einem Shader-Hash ab. Aus diesen Ladevorgängen allein wird kein Kompatibilitätsergebnis für ein Spiel und keine Änderung der Bildrate beansprucht.

Stores sowie Format- oder Deskriptorkombinationen, die nicht in der gemessenen Menge lagen, bleiben nicht unterstützt. Horizontale Gathers sind die benachbarte Befehlsfamilie und haben eine eigene Seite.

Was umgesetzt ist

  • Gemessene 2D-Ladevorgänge BY2, BY4, PCK2 und PCK4, mit und ohne explizites Mip.
  • Gruppenausrichtung, geprüfte Grenzen und auf null gesetzte Ergebnisse für eine ungültige Gruppe.
  • Getrennte ganzzahlige Sampled-Image-Bänke, sodass UINT und SINT typisiert bleiben.
  • EXEC-Masken, NSA-Koordinaten und überlappende Registerpaare bleiben erhalten.

Was noch fehlt

  • Image-Stores dieser Formen sind nicht implementiert.
  • Formate und Deskriptormodi außerhalb der gemessenen Tabelle werden abgelehnt.
  • Die Tests belegen für keinen Titel eine neue Angabe in Bildern pro Sekunde.

Verwandte Mechanismen

Worum es auf diesen Seiten geht

Der Text folgt den Architektur-Notizen und den Berichten vom Oktober 2026 im PS5PCEM-Repository. Ein bestandener Einzeltest ist keine neue Bildrate und kein neuer Durchspielstand.

Alle Techniken