Commit Graph

414 Commits

Author SHA1 Message Date
gregory.hainaut c4af005f0b gsdx ogl:
* retry compilation when driver failed to compile with a static 'index' constraint. Replace previous AMD hack.
* clean context default attribute value
zzogl 4: clean context default attribute value too.
zzogl 3: backport texture size fix


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5442 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-29 21:35:47 +00:00
gregory.hainaut a9020c6065 GSdx: only enable AMD hack for AMD GPU. Remove the older geometry shader hack fixed since 6 monthes
ZZogl: support xdg for the replayer


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5441 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-28 10:14:42 +00:00
gregory.hainaut 059346b5f2 zzogl: fixed crash at startup for Intel (and probably nvidia too). Opengl3 and 2 don't support the same set of attributes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5440 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-27 16:52:51 +00:00
gregory.hainaut 41a5578097 zzogl: Check the size of both rectangle and 2D textures. Hopefully will fix Sandybridge system. Tests are welcome.
cmake: be sure that EGL is supported


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5438 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-23 19:59:00 +00:00
gregory.hainaut d5b318b990 zzogl:
* move all remaining glx into the dedicated GLwin object
* rework a bit WGL to separate opengl context and window creation (like linux actually)

gsdx: Allow to control vsync. Not sure I used the good extension.

cmake: 
* check that EGL opengl context creation
* Shut up gcc warning when force inline might not work...



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5437 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-21 18:10:13 +00:00
gregory.hainaut f53a062063 license: update the copyrigh address to please linux distribution
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5436 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-19 20:27:50 +00:00
gregory.hainaut 1cc654e9bf zzogl: some experiences to EGL (on linux). It can be enabled with -DEGL_API=TRUE
* EGL is the interface between the window and opengl. The purpose is to replace GLX/WGL in a crossplatform way.
  Unfortunately so far only opensource driver use it (need not yet released mesa 9.0)
* clean most of the legacy GSopen1 window management. Only keep a basic window for debug with replayer.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5422 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-23 18:52:44 +00:00
gigaherz 31f685c490 [VS2012] For some reason when I made the conversion I totally forgot to copy these, and I didn't notice that until yesterday.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5403 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-05 18:04:09 +00:00
gigaherz 801867ab95 [vs2012] ZeroGS/ZZogl: Also disable SAFESEH for the other targets, not just Debug.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5389 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-20 13:01:47 +00:00
gigaherz f724e6fa07 Turn off SAFESEH for ZeroGS and ZZogl.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5386 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 20:52:19 +00:00
gigaherz a21c85266c Make PCSX2 compile with Visual Studio 2012 (3/3): Upgrade the project files and fix a few project names. Update the .sln to point to the right project files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5384 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 19:54:12 +00:00
gigaherz 027b7a8b98 Make PCSX2 compile with Visual Studio 2012 (2/3): Copy project files and solution from their vs2010 originals. Not updated yet!
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5383 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-19 19:45:56 +00:00
gregory.hainaut 7ff8abe376 zzogl-pg:
* properry separate both GLSL implementation
* glsl4: Use a define for logz instead of extra math computation. Much more easier to understand


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5364 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-08 17:44:03 +00:00
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