
For now we only have an OpenGL backend, so this code is translated to GLSL from SPIR-V. The shader translator emits SPIR-V code, as the final target API of the emulator is Vulkan.

The shader translator is also one of the big challenges facing us, due to the fact that there’s very little in the way of information around it online. This ranges from low level features like GPU memory which can be mapped to CPU, so the texture data and framebuffer data can be modified at any time, to features that are a burden to port to PC overall: two-sided graphics rendering, and programmable blending. However, there are also a lot of parts that provide difficulties and challenges to map to the emulator. Only a small chunk of the Vita library utilizes this powerful part of the API. It includes a powerful ability to do threading with two types of graphics context a) Immediate, which submits drawing commands to driver directly, and b) Deferred, which lets you record commands from another thread, then execute them in the immediate context. The GXM API from a high-level view is similar to DirectX 11, with a few additional low level features. Most GXM features map directly to modern desktop graphics APIs. While unfortunately it’s not yet perfect, it’s good enough for the majority of the Vita’s library. Over the last 2 years, the graphics backend of the emulator has gradually improved. Ingame scene from Akiba’s Trip it’s one of the most sophisticated 3d graphics scenes that vita3k can render perfectly.

Ingame scene from Persona 4 Golden the foundational works on our renderer and shader recompiler was pushed forward by adjusting to this game. The answer to the question above, will be answered later in the report, with an announcement following… Graphic library (GXM) changes It’s obvious everyone wants to hear more about what has improved over the last three years.

So what happened between this long gap?įirst, let’s get to the report. Many people thought the project was dead, many came to the communication channels like Discord server for an answer. Since the last report, three years have passed, however, from there, no more reports were submitted.
