Commit Graph

401 Commits

Author SHA1 Message Date
gregory.hainaut 27a4110256 zzogl glsl: remove a bad optimization that lost track of some textures. Fix potential black-screen
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5308 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 22:13:22 +00:00
gregory.hainaut d72a64b9cf zzogl: autocompletion typo. Interlace texture was attached to the wrong shader program
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5307 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 21:38:41 +00:00
gregory.hainaut b8b451340c zzogl: use the EXT version of fbo (fix the build on windows)
gsdx:
* add some parenthesis to shup up very verbose gcc warning
* adapt ogl to latest sudonim change


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5290 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 10:43:04 +00:00
gregory.hainaut 3b22f0fb0c zzogl glsl4:
* properly delete program and vertex array. Avoid a crash on plugin reload
* reset shader state. Avoid to reuse invalid data on plugin reload
gsdx:
* add an hack to unattach/attach the gl context from different thread. Help to solve some crashes. The best will be to move gpu operation out of gsreadfifo but it would need more works
* implement logz for test purpose (don't seem to help)
gsdx replay:
* use default xdg location


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5289 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-12 18:14:01 +00:00
gregory.hainaut b534fcc1bc zzogl:
* add a script to run cg compiler on glsl file:
  + handy to check the syntax
  + output the asm of the shader
  - unfortunately don't support latest glsl construct but better than nothing
* really delete resources before context destruction
* wanted to play with opengl3 timer for profiling but not conclusive, just keeping code around for future use


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5278 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-08 18:14:47 +00:00
gregory.hainaut d79186fafe zzogl replayer:
* I miss some ending bit. 
* Use a full int for GSvsync
* fix a small memory link


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5269 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-05 06:46:52 +00:00
gregory.hainaut 0fff99f4f3 zzogl: gl resources must be deleted before the destruction of the GL context
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5264 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-02 09:33:40 +00:00
gregory.hainaut 333b74c2a5 zzogl glsl: used the fog parameter correctly...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5256 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 14:26:37 +00:00
gregory.hainaut 85bfc2ed66 zzogl:
* Fix context code for the common shader and set the indices for the uniform... (will fix most of GLSL-related  black screen issue)
* some memory improvements were not merged from zzogl-dev branch


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5252 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 08:21:31 +00:00
gregory.hainaut 0154639e19 zzogl glsl: optimize state change. With luck it would be less slower. At least GL trace is much smaller (Gow menu go down from 4600 to 3000!)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5237 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-27 15:34:48 +00:00
gregory.hainaut 8e2469d2b7 zzogl: fix compilation failure because of a wrongly refreshed patch
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5236 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-27 12:51:48 +00:00
gregory.hainaut f8875f12dc zzogl: rework dump test, to avoid bad mix between u32/u8
glsl4: Replace some define with function (ogl4 support function pointer). Explain how depth is computed in vertex shader


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5233 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-27 08:13:27 +00:00
gregory.hainaut c6d8af0c7f gsdx-ogl: only enable AMD hack when linking ps2 related shader. Otherwise SV_Target1 in convert is wrongly remapped
zzogl: check harder that the previous primitive exist.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5232 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-26 09:58:37 +00:00
gregory.hainaut b594b3bd51 zzogl: revert a change of the zzogl-dev branch. Avoid to compute an empty frame in Persona 4 & tale of abyss (if someone can check the latter)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5227 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-25 06:44:22 +00:00
gregory.hainaut e4e2366bce zzogl glsl:
* clean macro selection and redundant code
* Request GLSL Core profile instead of the compatibility profile


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5223 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-24 06:39:39 +00:00
gregory.hainaut cdeaa5e03c zzogl: GLSL is working again for AMD gpu. Nvidia test is welcome
* properly release shader in release mode
* set stream format every time an array buffer is bound


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5219 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-21 06:43:28 +00:00
gregory.hainaut 05fc11daf5 zzogl:
* some parameters was set after the shader setup. Extend the API to do the shader setup before the draw
* remove the useless shader compatibility bits


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5212 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-15 06:45:26 +00:00
gregory.hainaut d062ca1727 zzogl:
* fix properly context, directly save the state in the shader
* replace the last deprecated variable in the shader. Remain the issue that host enable 1 output and the shader write 2 outputs
* It seems that VBO does't depends on the VAO but vertex format depends on both VBO/VAO so I set the format multiple time. Not sure the behavior is fully correct


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5211 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-15 06:40:45 +00:00
gregory.hainaut e7de58c3e2 zzogl: plug vertex array object and remove most deprecated variable from shader. Only remains gl_FragData
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5210 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-13 20:22:15 +00:00
gregory.hainaut 7d7ca41187 gsdx, zzogl: avoid nested class inside GSVertexArrayOGL.h
zzogl: rework the shader interface to use struct like CG. Shader are still broken because some variables (gl_color & gl_secondary_color) are not supported in vertex shader...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5209 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-13 17:22:36 +00:00
gregory.hainaut 36181d35bb zzogl:
* use 128 vertex buffer instead of 512 that will avoid to fill the GPU vram
* Use separate shader infrastructure for GLSL 4 as Nvidia cg. Beside code is much easier to understand


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5208 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-13 17:14:05 +00:00
gregory.hainaut b665499a6b gsdx ogl:
* split GSDeviceOGl header. Will allow easy sharing with zzogl.
* fix some gcc warning
zzogl:
* import Uniform buffer and Vertex array from GSdx



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5207 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-13 17:09:18 +00:00
gregory.hainaut 5dc57ace33 zzogl: fix visual studio...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5202 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-08 07:32:15 +00:00
gregory.hainaut a8209d610b zzogl: Try to use opengl3/4 feature for GLSL api. The API is easier and I had a better experience with GSdx-ogl
* Clean the zzsetparameter API to always use the program for uniform that depends on the program. Future goal is to use a nice OO interface
* Use uniform buffer. Would allow future optimization and remove most initialization stuff. Don't support yet the 2 zzogl contexts.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5201 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-07 19:51:58 +00:00
gregory.hainaut bce948d820 cmake: add a bunch of Micove patch. Thanks.
* Add 2 new dev options: REBUILD_SHADER (nvidia cg) & BUILD_REPLAY_LOADERS
* zzogl-pg-cg will use the shader of zzogl-pg.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5190 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-01 10:54:52 +00:00
gregory.hainaut 8396c49eb5 zzogl:
* add some code to support OGL4 debugging. Not enable on CmakeList.txt by default
* LOAD_PS/LOAD_VS were using a "std" argument instead of a reference.
* reuse the opengl context creation developed for GSdx. For the moment only enable OGL2
* Add some documentation for the zzShader API


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5188 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-29 18:50:07 +00:00
gregory.hainaut 86ff5185b7 zzogl & VS: thanks Micove for the patch.
* fix failure with VS2008 & 2010


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5169 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-21 16:13:45 +00:00
gregory.hainaut d487c57f11 zzogl & cmake: fix build failure of previous heavy change
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5168 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-20 16:48:03 +00:00
gregory.hainaut fa4b9cb1a8 zzogl: bump the version to 0.4 because of the previous merge
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5167 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-19 21:53:00 +00:00
gregory.hainaut e3c741bb2a zzogl: painfully merge the zzogl-dev branch
* new memory management
* asm was replaced by intrinsic
* new GLSL backend (AMD only) Cmake is probably broken anyway with the 2 plugins...
* and lots of others stuff that I forgot about it ;)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5166 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-19 21:22:08 +00:00
gregory.hainaut fc5dd5a180 zzogl: fix Visual studio build. thank Miseru for the patch
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5163 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-18 17:01:24 +00:00
gregory.hainaut 5936caa2fe cmake:
* build the utility to prebuilt cg shader (zzogl-shader)
* build the shader (ps2hw_cmake.dat) that would avoid copyright issue for debian/ubuntu


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5159 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-17 17:06:58 +00:00
gregory.hainaut d75da041f6 copyright: soundtouch was LGPL2.1 not LGPL2.1+, add an header to launch_pcsx2_linux.sh
cmake: keep all library for the linking of plugins
hex2h.pl: add svn:executable


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5157 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-16 15:36:16 +00:00
gregory.hainaut 5627b4dfaf copyright:
* change the man page to gpl3
* add missing copyrigh for zerogsshader
* re write bin2cpp tool (in perl) to avoid any copyright issue => hex2h.pl


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5155 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-12 17:52:43 +00:00
gregory.hainaut 72d47d547e copyright:
* update missing copyright on
 + plugins/GSdx/config.h
 + pcsx2/MTVU.h
 + plugins/zzogl-pg/opengl/ZZHacks.h
 + plugins/spu2-x/src/DplIIdecoder.cpp
* put a copyright for trivial script file
 + pcsx2/gui/Resources/rebuild.sh
 + tools/bin2app.sh
 + plugins/zzogl-pg/opengl/shaders.sh
* remove autotool from zzogl
* apply the patch for issue 1257. Thanks very much Micove for the hard work.




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5154 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-12 06:30:35 +00:00
gregory.hainaut 49f4168974 zzogl-pg: import GSdump feature from GSdx
* Only available on debug build
* ctrl F9 -> dump a couple of frames
* ctrl shift F9 -> start/stop a stream of frames.
* Build a replayer too, called pcsx2_ZZReplayLoader

Note: dump are saved in /tmp.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5152 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-07 21:23:01 +00:00
gregory.hainaut c9b1e3c1aa cmake:
* new dev option CMAKE_BUILD_PO: control regeneration of po file. By default true in release build
* Add a hack for multiarch version of wxwidget 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4951 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-31 10:25:24 +00:00
arcum42 5306b13472 More work on the compiler warnings. Removed the warning flags that are now set by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4949 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-30 00:32:22 +00:00
arcum42 251382aefe Change a few compiler options in Linux to remove a few warnings during compilation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4947 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-29 07:57:06 +00:00
cottonvibes a4059b45b5 Bring back GSnull, zzogl, and old plugins from the dead!
(they were crashing with the new Gif rewrite... shouldn't anymore)

Although Jake had added the new "GSgifTransfer" callback to these plugins in the past, he forgot to modify the .def files so pcsx2 can actually use them :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4832 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-27 08:16:51 +00:00
cottonvibes c05dc759e3 Big gif transfer code rewrite!
Pcsx2 now has a gifUnit class which acts like the ps2's gif and executes a single gif transfer at a time (and performs path arbitration according to priority and path3 slicing).

This new code is generally a speedup for most games. Particularly VU heavy games like GoW.
This revision breaks old saved state compatibility so don't update if you wish to keep playing with your old saved states.
Leave comments if this revision fixes or breaks anything...

Message to GS Plugin authors:
This new code now uses only 1 gif callback to transfer data to the gs plugin (GSgifTransfer).
pcsx2 also is garaunteed to send full GS primitives to the plugin. So you don't have to account for partial-transfers anymore.

Thanks goes out to shadowlady who tested around 500 games for me :D

Note 1: The old gif code is still in this revision, and can be enabled by the USE_OLD_GIF macro. The old code will be deleted soon.
Note 2: This revision also enables assertion dialogs in devel builds, and changed a lot of assume cases into assertions.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4821 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-24 13:02:50 +00:00
gregory.hainaut@gmail.com 6b8a605845 zzogl-pg: open the dat file...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4817 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-19 18:33:22 +00:00
gregory.hainaut@gmail.com 3f8d07572b cmake: fix install directory of shader file in package mode
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4815 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-18 20:02:17 +00:00
gregory.hainaut@gmail.com 5adba505e7 pcsx2, zzogl-pg: allow to change some default path with compilation flags.
cmake: Add PLUGIN_DIR and GAMEINDEX_DIR options to easily select install directory. Install GameIndex.dbt during install phase.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4811 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-17 11:25:17 +00:00
gregory.hainaut@gmail.com 83b3ac85d3 cmake:
* use the standard 3 step flow: cmake, make, make install
* Remove L10N_PORTABLE option, superseeded by PACKAGE_MODE
* Extend PACKAGE_MODE to select the install directory (FHS or local bin)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4805 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-14 09:02:37 +00:00
gregory.hainaut@gmail.com 7ecd913a7d onepad: remove deadcode
zzogl-pg: disable opengl3 context creation for the moment (crash with geforce7)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4789 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-01 09:01:50 +00:00
gregory.hainaut@gmail.com d968362961 cmake: * improve gtk hack to be compatible with previous cmake version.
* Add some number to the plugin .so file.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4751 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-20 18:09:32 +00:00
shadowladyngemu 6a364aa444 GSdx: Better hackfix for Dragon Ball Z Budokai Tenkaichi 3, missing body parts still happened sometimes. Thanks to miseru99 for the initial patch and testing.
zzogl-pg win: Patch by Kosmos in the forums, corrects a typo that was causing window size to appear as height x height instead of width x height in windows OS (was breaking fullscreen at it too). Thanks :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4734 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-12 22:07:59 +00:00
gregory.hainaut@gmail.com 35b9dfce3f pcsx2: zzogl:onepad: gsdx: merge linux-gsopen2 branch (4730) into trunk
* Gsopen2 support for GS plugins => Support of the PCSX2 GS window configuration panel. Support of all PCSX2 shortcut.
* new shortcut: shift-f12 to stole the input. ZZogl shortcut must be prefixed with ctrl
* onepad: Support/fix/improve of configuration gui, multiple key, mouse/wiimote for analog joystick, dualshock3/sixaxis (basic), dual pad and experimental forcefeedback

Note: it is advices to delete OnePAD.ini


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4731 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-12 14:48:36 +00:00
gregory.hainaut@gmail.com db2f16b985 zzogl: Replace a function by a macro. fix gcc-4.6 issue.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4602 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-27 17:49:34 +00:00