Hace unos días AMD publico el código fuente en GitHub de su FidelityFX Super Resolution, en el cual han sacado un set de diapositivas como repaso general, donde se confirma de manera oficial que se puede utilizar en Vulkan.

Lo que significa que se puede utilizar en PlayStation 5, el motivo es que la API principal de la nueva consola es un superset de la de PS4. Una versión mejorada para añadirle soporte para las nuevas tecnologías que utiliza. SONY no es Microsoft y no tiene los procesos y habilidades de Microsoft para crear una API gráfica, de ahí a que cojan Vulkan y creen una versión optimizada y curada para sus consolas de la API del grupo Khronos. Es lo mismo que hace Nintendo en Switch, donde su situación es la misma.

Por lo que SONY lo que hace con Vulkan es lo siguiente:

  • Cambia la nomenclàtura de de las instrucciones de Vulkan, si una de ellas se llama VK_drawline() entonces crean una PS_drawline().
  • Todas las instrucciones que no aprovechan el hardware de PlayStation 5 son eliminadas de su versión de la API. De la misma manera se crean nuevas bibliotecas para aprovechar dichas carácterísticas.
  • El PlayStation Shader Language, es el lenguaje shader propietario de SONY, no afecta al hardware, sino la forma en la que se escriben. Es más parecido al HLSL de Microsoft para DirectX que al GLSL que se utiliza en OpenGL y Vulkan en sus versiones estándar.

Ahora bien, SONY en una maniobra de marketing ha renombrado lo que seria GNM++ y les ha dicho a los desarrolladores que la API de PlayStation 5 es totalmente nueva. En realidad los desarrolladores saben que se trata de la vieja API pero con añadidos.

El propio Mark Cerny, quien se suponer que es el arquitecto de la consola, dijo lo siguiente en la presentación Road to PS5:

AMD ha llevado a cabo magistralmente el manejo de la compatibilidad hacía atrás y la trataron como una necesidad clave durante todo el proceso de de diseño.

Como nuestra solución es agregar nuevas funciones sin confundir a los desarrolladores, nos aseguramos de que si había nuevas funciones significativas, sería opcional usarlas.

La GPU admite el trazado de rayos, pero no es necesario que utilices el trazado de rayos para crear tu juego. La GPU admite Primitive Shaders, pero puedes lanzar tu primer juego en PlayStation 5 sin hacer ningún uso de ellos.

Es decir, la API Gráfica de PlayStation 4 y PlayStation 5 son la misma exactamente, pero una tiene ciertos añadidos que la otra no tiene. Claro esta que para entender el motivo por el cual hay juegos en PlayStation 5 que tienen soporte para el AMD FSR hemos de entender lo siguiente:

El código fuente esta en abierto, cualquiera lo puede tomar e implementar en su juego y esto incluye las versiones de PlayStation 5 de los juegos. Esto no es cosa de SONY, sino de los propios desarrolladores, así que cuando me pongás respuestas como esta:

Tened en cuenta el contexto en el que nos encontramos y noe s otro que oficialmente SONY no ha anunciado soporte oficial para el AMD FSR en sus consolas por el momento.

Ahora bien, ¿por qué funciona? Por dos motivos, el primero es que el AMD FSR trabaja en FP16 y todas las RDNA, incluso las que no tienen extensiones para otros formatos como con BF16, Int8 e Int4 tienen soporte para FP32 y FP16.

Hay que tener en cuenta que la potencia de las unidades shader que se utiliza para computación y no solo para gráficos es conjunta y compartida y que en ese aspecto PlayStation 5 esta por debajo de Xbox Series X, algo que no es para rasgarse las vestiduras en ningún momento. Ya os comenté entradas atrás como PlayStation 5 ajusta la velocidad de reloj y la potencia según si los juegos cumplen ciertos requisitos de funcionamiento marcados por el desarrollador. Con tal de no subir el consumo por encima de lo necesario. Siendo dichos requisitos la resolución y la tasa de fotogramas.

Dado que la gran mayoría de la gente esta con televisores 4K a 60 Hz, el FSR en PlayStation 5 no será para aumentar la potencia máxima de la consola, sino para conseguir que una mayor cantidad de juegos llegan al 4K 60 Hz sin colocar la velocidad de reloj muy arriba. Por el momento pocos juegos lo utilizarán, pero su adopción será masiva si tenemos en cuenta que el optar por 36 CUs en vez de una cifra mayor les ha llevado a aumentar la velocidad de reloj.

Por lo que es una pena que SONY no le de soporte oficial, y tengan que ser los desarrolladores los que lo tengan que implementar. Es una ayuda enorma para la consola. Es más, por lo que os he comentado antes no todos los juegos aprovechan el 100% de la potencia de la máquina y lo sabemos porque se autoajusta hacia abajo.

PlayStation 5 se turbo-alimenta con AMD FSR

Ya para terminar tengamos en cuenta estas dos diapositivas:

En modo rendimiento, la resolución en origen es la mitad por dimensión, esto significa que se puede renderizar de 1080p a 4K en 1 ms con una RX 5700 de 36 Compute Units, una GPU muy parecida a de PlayStation 5, en realidad podemos decir que la de PS5 esta a medio camino entre la RX 5700 con 36 Compute Units y la RX 6700 con la misma cantidad. Dado que la GPU de PlayStation 5 tiene soporte para Ray Tracing pero no soporta los formatos BF16, Int8 e Int4. Pero se trata de formatos que no son necesarios para ejecutar el FSR en PlayStation 5.

Ahora bien, en cuanto a calidad de imagen esta por debajo de otras soluciones cómo el DLSS e incluso el Checkerboard Rendering, por suerte se puede combinar con técnicas de antialiasing temporal. Claro esta que dependerá de cada juego.