Commit Graph

423 Commits

Author SHA1 Message Date
gregory.hainaut 544c84a344 gsdx:
* try to setup advance gl context attribute. If driver doesn't support it fallback to the default.

zzogl:
* use glsl2h to generate an header shader as GSdx. Much easier to install
* Get GSUniformBufferOGL & GSVertexArrayOGL speed improvement from GSdx

cmake:
* detect current gcc version. Yield  a warning if < 4.7 or an error if < 4.5

glsl2h:
* support zzogl too
* compute md5sum to avoid useless relink


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5696 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-06 09:42:46 +00:00
gregory.hainaut ba2ec6fe59 all: gcc warning clean round 4
* remove unused variable
* move static function from h into cpp
* Initialized hw_by_page to 0xFFFFFFFF instead of -1 (number must be a positive integer)
* Use a s32 fore m_current_lsn instead of u32 (use -1 as error code)
Bonus: a couple of fix for clang compiler (doesn't mean that it fully compile with clang)
* remove useless __debugbreak on linux
* use short for 16bits atomic function


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5695 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-03 18:42:05 +00:00
gabest11 ddaa892726 Removed ATL/MFC dependencies from every project, the free version of visual studio does not have those. It compiles with vs2012 express now, will fix others later, in case they are broken.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5692 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-01 21:28:58 +00:00
gregory.hainaut 40e26648c6 all: gcc warning clean (round 2)
* reorder static initialization list
* Add missing virtual desctrutor to virtual object
* int -> uint/u32/uint32 cast of for loop index
* add a missing return in pxTrySetFocus
* fix size parameter of memset m_clut
* disable missing-field-initializers warning
* disable unused-local-typedefs warning


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5685 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:32:37 +00:00
gregory.hainaut 3c7167be50 clean (some) gdb warning: round 1
* use svnrev.h on linux too
* replace sprintf_s with snprintf (hope it still compile on Windows)
* init integer with 0 instead of NULL
* various int -> u32/uint32/uint on for loop index
* remove a couple of unused variable
* init few variable
* disable unused warning results


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5683 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 10:43:50 +00:00
gregory.hainaut 9cc306c74f zzogl-pg:
* bump minimal requirement to  opengl 2! Basically any Dx9 class hardware. On intel you will need a gen4+ GPU.
* remove the bad quality integer texture to use only texture float. Again need an gen4+ Intel GPU. Opensource users: Mesa must be built with support of texture float (stupid patents)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5603 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-25 18:49:29 +00:00
gregory.hainaut 2769fe7e32 revert previous commit r5578. Didn't work as expected on CG and didn't solve radeon driver issue neither.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5579 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-01 17:37:05 +00:00
gregory.hainaut 2157fb4907 zzogl-pg: use the red channel instead of the alpha channel for the block data. Alpha channel isn't supported (normally) in OGL3 and later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5578 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-28 18:24:27 +00:00
ramapcsx2 fae268b269 One more patch by KrossX:
Should fix the VS2012 project files for when only VS2012 (and not VS2010) is installed.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5557 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 11:46:36 +00:00
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