PCSX2 - The Playstation 2 Emulator
Go to file
gregory.hainaut 0f603a98d5 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)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5715 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-10 19:43:59 +00:00
3rdparty gsdx-ogl-wnd: update GL extension file. 2013-05-20 06:42:17 +00:00
bin i18n: refresh string translation 2013-06-16 09:55:37 +00:00
cmake gsdx ogl: GLes 2013-07-13 11:39:45 +00:00
common (Patch by KrossX): Fixed multitap - Part 2 - (e.g. Timesplitters), New: support raw PSX 2013-07-19 13:43:33 +00:00
debian-unstable-upstream debian: update Control with latest GSdx requirement. Update Readme with latest openGL extensions 2013-06-29 10:30:50 +00:00
fps2bios Removed all trailing whitespace in *.c *.cpp *.h because it irritates me. 2010-04-25 00:31:27 +00:00
linux_various gsdx: 2013-07-07 16:13:11 +00:00
locales i18n: refresh string translation 2013-06-16 09:55:37 +00:00
nsis Update installer version string. 2012-08-04 16:22:05 +00:00
pcsx2 Memcard patch #3 (KrossX): Should help Metal Gear Solid 3. 2013-07-29 17:23:13 +00:00
plugins gsdx ogl: Test the ARB_shader_subroutine GL4.0 extension 2013-08-10 19:43:59 +00:00
tools [VS2012] For some reason when I made the conversion I totally forgot to copy these, and I didn't notice that until yesterday. 2012-09-05 18:04:09 +00:00
CMakeLists.txt gsdx: 2013-07-06 09:42:46 +00:00
COPYING.GPLv2 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.GPLv3 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.LGPLv2.1 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.LGPLv3 copyright again: 2012-04-18 14:09:18 +00:00
build.sh zzogl: 2012-10-21 18:10:13 +00:00
clean_msvc.cmd Minor fixes to selecting isos and changing cdvd source types. 2010-04-27 16:20:49 +00:00
pcsx2-codeblocks.workspace zzogl: painfully merge the zzogl-dev branch 2012-04-19 21:22:08 +00:00
pcsx2_suite_2008.sln Missed one reference in he vs2008 sln 2012-08-19 21:10:48 +00:00
pcsx2_suite_2010.sln Include dev9ghzdrk into the main plugins folder, and integrate it into the build system (windows only). 2013-03-19 22:01:41 +00:00
pcsx2_suite_2012.sln GSdx: Added a vector class for AVX2 and upgraded a few functions to use it, still a lot to do. New project config AVX2, _M_SSE = 0x501, only use it if you have haswell. Might break GCC or older MSVC, please test it. 2013-06-10 15:56:11 +00:00
rebuild.sh copyright again: 2012-04-18 14:09:18 +00:00