Saltar al contenido
PS5PCEM
ParcialGráficos

Cargas de imagen de varios texels

IMAGE_LOAD_BY2, BY4, PCK2 y PCK4, incluidas las formas con mip explícito, se ejecutan para los formatos 2D nativos medidos. Una carga BY devuelve texels consecutivos. Una carga PCK empaqueta sus bits en crudo en un registro.

Notas del repositorio hasta el 10 de octubre de 2026

BY y PCK

Una carga BY escribe texels consecutivos en VGPR distintos, con los canales ordenados dentro de cada texel. Una carga PCK empaqueta los bits en crudo de los componentes en un VGPR de 32 bits, con el primer texel en los bits menos significativos. Los componentes con signo se truncan a su ancho de almacenamiento. Los componentes UNORM se reconstruyen con conversión de redondeo al par.

El primer texel se alinea hacia abajo a un grupo de dos o cuatro en X. La prueba de límites usa la coordenada original, sin alinear: el grupo entero debe caber antes de la alineación, Y debe estar en rango y el mip pedido debe existir. Un grupo no válido pone a cero todos los registros de resultado y deja en paz los destinos que no le corresponden. Las coordenadas no válidas se sustituyen por operandos de fetch seguros antes de que Vulkan las vea.

Qué formatos

BY2 con DMASK 0x3 cubre R8 y R16 en UNORM, SNORM, UINT, SINT, y R16 FLOAT. BY2 con DMASK 0xF cubre RG8 UNORM, SNORM, UINT y SINT. BY4 con DMASK 0xF cubre R8 en esos cuatro tipos numéricos. PCK2 con DMASK 0x1 cubre R8, R16 y RG8 UNORM, UINT y SINT. PCK4 con DMASK 0x1 cubre R8 UNORM, UINT y SINT. Las variantes con mip explícito de esas cargas usan las mismas listas de formatos.

El backend entrega a la traducción el formato nativo exacto. Bancos distintos de imagen muestreada UINT y SINT mantienen los resultados enteros bien tipados junto a los bancos de coma flotante y de comparación. Se conservan las coordenadas NSA, los registros solapados de dirección y de destino, y la máscara EXEC ordinaria.

Qué no es este cambio

El informe del 9 de octubre es soporte compartido de shader y de backend. No depende de un identificador de juego ni de un hash de shader. No se afirma ningún resultado de compatibilidad de un juego ni ningún cambio de tasa de fotogramas a partir de estas cargas solas.

Los stores, y las combinaciones de formato o de descriptor que no estaban en el conjunto medido, siguen sin admitirse. Los gathers horizontales son la familia de instrucciones vecina y tienen su propia página.

Qué está implementado

  • Cargas 2D medidas BY2, BY4, PCK2 y PCK4, con y sin un mip explícito.
  • Alineación de grupo, límites comprobados y resultados a cero para un grupo no válido.
  • Bancos distintos de imagen muestreada entera para que UINT y SINT sigan tipados.
  • Máscaras EXEC, coordenadas NSA y pares de registros solapados conservados.

Qué falta todavía

  • Los stores de imagen de estas formas no están implementados.
  • Los formatos y los modos de descriptor fuera de la tabla medida se rechazan.
  • Las pruebas no establecen una cifra nueva de fotogramas por segundo para ningún título.

Mecanismos relacionados

Qué describen estas páginas

El texto sigue las notas de arquitectura y los informes de octubre de 2026 del repositorio PS5PCEM. Un test concreto que pasa no es una tasa de fotogramas nueva ni una partida terminada nueva.

Todas las tecnologías