Ir para o conteúdo
PS5PCEM
ParcialGráficos

Cargas de imagem de vários texels

IMAGE_LOAD_BY2, BY4, PCK2 e PCK4, inclusive as formas com mip explícito, executam para os formatos 2D nativos medidos. Uma carga BY devolve texels consecutivos. Uma carga PCK empacota os bits brutos deles num registrador.

Notas do repositório até 10 de outubro de 2026

BY e PCK

Uma carga BY escreve texels consecutivos em VGPRs separados, com os canais ordenados dentro de cada texel. Uma carga PCK empacota os bits brutos dos componentes num VGPR de 32 bits, com o primeiro texel nos bits menos significativos. Componentes com sinal são truncados à largura de armazenamento. Componentes UNORM são reconstruídos com conversão por arredondamento para par.

O primeiro texel é alinhado para baixo a um grupo de dois ou de quatro em X. O teste de limites usa a coordenada original, sem alinhamento: o grupo inteiro precisa caber antes do alinhamento, Y precisa estar no intervalo e o mip pedido precisa existir. Um grupo inválido zera todo registrador de resultado e deixa destinos não relacionados intocados. Coordenadas inválidas são substituídas por operandos seguros de busca antes de o Vulkan as ver.

Quais formatos

BY2 com DMASK 0x3 cobre R8 e R16 em UNORM, SNORM, UINT, SINT e R16 FLOAT. BY2 com DMASK 0xF cobre RG8 UNORM, SNORM, UINT e SINT. BY4 com DMASK 0xF cobre R8 nesses quatro tipos numéricos. PCK2 com DMASK 0x1 cobre R8, R16 e RG8 UNORM, UINT e SINT. PCK4 com DMASK 0x1 cobre R8 UNORM, UINT e SINT. As variantes com mip explícito dessas cargas usam as mesmas listas de formato.

O backend entrega à tradução o formato nativo exato. Bancos separados de imagem amostrada UINT e SINT mantêm os resultados inteiros com o tipo correto, ao lado dos bancos de ponto flutuante e de comparação. Coordenadas NSA, registradores de endereço e de destino sobrepostos e a máscara EXEC comum são preservados.

O que a mudança não é

O relatório de 9 de outubro é suporte compartilhado de shader e de backend. Ele não depende de um identificador de jogo nem de um hash de shader. Nenhum resultado de compatibilidade de jogo e nenhuma mudança de taxa de quadros são afirmados a partir destas cargas sozinhas.

Armazenamentos, e combinações de formato ou de descritor que não estavam no conjunto medido, continuam sem suporte. Os gathers horizontais são a família de instruções vizinha e têm página própria.

O que está implementado

  • Cargas 2D medidas BY2, BY4, PCK2 e PCK4, com e sem mip explícito.
  • Alinhamento de grupo, limites verificados e resultados zerados para um grupo inválido.
  • Bancos separados de imagem amostrada inteira, para que UINT e SINT mantenham o tipo.
  • Máscaras EXEC, coordenadas NSA e pares de registradores sobrepostos preservados.

O que ainda falta

  • Armazenamentos de imagem destas formas não estão implementados.
  • Formatos e modos de descritor fora da tabela medida são rejeitados.
  • Os testes não estabelecem um novo número de quadros por segundo para título algum.

Mecanismos relacionados

O que estas páginas descrevem

O texto segue as notas de arquitetura e os relatórios de outubro de 2026 no repositório do PS5PCEM. Um teste pontual que passa não é uma nova taxa de quadros nem uma nova conclusão de jogo.

Todas as tecnologias