Saltar al contenido
PS5PCEM
FuncionaGráficos

Renderizador Vulkan

El backend de Vulkan carga el controlador en tiempo de ejecución, exige Vulkan 1.2 y presenta los fotogramas del invitado a través de un swapchain. Los destinos de render, las imágenes de almacenamiento y los pipelines permanecen residentes entre dibujos.

Notas del repositorio hasta el 10 de octubre de 2026

Dispositivo y memoria

El renderizador carga él mismo el cargador Vulkan de la plataforma, así que la compilación no necesita las cabeceras del Vulkan SDK. La inicialización pide Vulkan 1.2, la versión que acepta el SPIR-V 1.5 del traductor, y prefiere un dispositivo discreto con una familia de colas que pueda hacer gráficos y cómputo. Las capas de validación se piden en las compilaciones de depuración cuando están instaladas.

Un único layout de descriptores contiene 64 búferes de almacenamiento, arrays distintos de 64 entradas de imágenes muestreadas 2D y 3D, e imágenes de almacenamiento tipadas. Un anillo de 512 conjuntos, una arena de subida de 128 MiB y destinos de render persistentes del invitado mantienen en el dispositivo los recursos de un fotograma. Las traducciones de gráficos usan una caché de 256 MiB y 1,024 entradas. Una escena en streaming había superado el antiguo presupuesto de 64 MiB y volvía a traducir los mismos módulos en cada fotograma.

Pipelines y timelines

La compilación de pipelines usa dos workers de forma predeterminada. PS5_GPU_COMPILER_WORKERS puede fijar de uno a cuatro. PS5_GPU_ASYNC_PIPELINES=0 vuelve a la compilación síncrona y apaga el calentamiento de cómputo. El calentamiento reproduce en la caché del controlador, en el siguiente arranque, los módulos de cómputo ya compilados. Nunca los despacha, y destruye los pipelines temporales. La caché del controlador también se guarda en vulkan_pipeline_cache.bin, hasta 4 GiB. Un archivo corrupto se descarta. Solo puede afectar al tiempo de arranque.

El perfil de compatibilidad predeterminado espera a cada lote enviado. El planificador timeline, elegido con PS5_GPU_TIMELINE_SCHEDULER=1, deja varios lotes en vuelo y espera en una lectura de vuelta real, un punto de sincronización del invitado o un anillo de recursos agotado. Un título, PPSA25872, activa por su cuenta ese planificador y la escritura de vuelta diferida de almacenamiento pequeño tras comparaciones medidas. El layout de imagen se sigue por aspecto, mip y capa de array, y las barreras salen del uso anterior de ese subrecurso.

Formatos y residencia

Se puede llegar a cincuenta y seis formatos del anfitrión, incluidos BC1 a BC7, canales enteros y normalizados, R16 y RG16, half-float y RGBA32_FLOAT. Las asignaciones de imagen del invitado comparten un registro de alias entre usos de color, profundidad, almacenamiento y muestreo. Un pase posterior puede muestrear un destino de profundidad que escribió un pase anterior, sin un viaje de ida y vuelta por la memoria del invitado, cuando las firmas coinciden. Las reinterpretaciones y los solapes parciales vuelven a pasar por la memoria del invitado.

El desentramado de cómputo en la GPU cubre superficies Standard y PRT de 2D y 3D de 4, 8 y 16 bytes. El desentramado de RB+ y de MSAA sigue ejecutándose en la CPU. Los destinos UNORM empaquetados 11/11/10 de una sola muestra se mezclan mediante una copia a búfer de almacenamiento y un desempaquetado, una mezcla y un reempaquetado en el fragmento. VideoOut es el swapchain encima de estas imágenes.

Qué está implementado

  • Selección en tiempo de ejecución de un dispositivo Vulkan 1.2, un swapchain y destinos de render residentes.
  • Cincuenta y seis formatos del anfitrión, seguimiento de layout por subrecurso y un registro de alias de imagen.
  • Dos workers de compilación, una caché persistente del controlador y un calentamiento de cómputo opcional.
  • Un planificador timeline de activación explícita, con un título que lo activa de forma predeterminada.

Qué falta todavía

  • El perfil predeterminado sigue esperando a cada lote. El envío timeline es de activación explícita.
  • El desentramado de RB+ y de MSAA usa la CPU.
  • La iluminación de los juegos y cada ruta de metadatos comprimidos no se deducen de la lista de formatos.

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