PCSX2 SVN r5715 is compiled. PCSX2 is an open source PlayStation 2 (PS2) emulator for the Microsoft Windows and Linux operating systems. With the most recent versions, many PS2 games are playable (although speed limitations have made play-to-completion tests for many games impractical), and several games are claimed to have full functionality.
PCSX2 SVN Changelog:
r5715
gsdx ogl: Test the ARB_shader_subroutine GL4.0 extension
The idea was to replace shader program swith by pointer function calls inside
shaders. At least parameters that are often changed between draw call. So far
I only ported atst and colclip. Unfortunately code is "slower" (on GSdx standalone).
For the moment keep the code but disabled.
If I understand well the validation of program is done in the "driver thread"
but the additional call are done in the overloaded MTGS thread. Apitrace
profiling shows faster GPU draw calls. Another possibility is that the driver still
need to validate the draw call because of others state change.
Here some stats on colin3 (90 frames):
without subroutine: UseProgram 125246
with subroutine: UseProgram 2906, subroutine 125945 => 3605 extra calls overhead (not
all parameters are ported to subroutine)