Commit Graph

65 Commits

Author SHA1 Message Date
nE0sIghT e1272dc2f9 Use global compiler optimization flags instead of defining them for every plugin/binary 2015-08-08 16:25:17 +03:00
Gregory Hainaut 66d7aa75e2 cmake: move -DNDEBUG to global option 2014-12-20 13:43:25 +01:00
Gregory Hainaut a99f3ea321 cmake: remove duplicate flags
also use the lighter elseif structure to reduce a bit the size of cmakefile
2014-12-20 13:43:25 +01:00
Gregory Hainaut a52f598369 spu2x:zzogl: disable TLS
builds an Utilies_NO_TLS.a archive of the common Utilities code. It replaces native TLS by a slower reimplementation

Rational: number of TLS slot is very limited by the GLIBc on linux. I hope it doesn't impact performance.
* Zzogl don't requires TLS AFAIK
* spu2x will likely use it for assertions only.

TLS exhaustion creates issue to dlopen plugins
    issue #384 : https://github.com/PCSX2/pcsx2/issues/384

But also for profiled build (-fprofile-generate)
    http://forums.pcsx2.net/Thread-WORKAROUND-build-with-fprofile-generate

If someone have a better idea, please raise your hand!
2014-12-08 22:26:46 +01:00
Johannes Obermayr 7b1d3ba7ea Do commits 2bc2047 and f287754 the right way ... 2014-09-16 19:11:11 +02:00
Johannes Obermayr 2bc2047770 cmake: Fix RPATH/RUNPATH issue with openSuse wxWidgets libdir.
Gregory: Add an if clause to only change the rpath on openSuse

For me it doesn't follow the FHS => http://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/fhs.html
2014-09-14 13:12:26 +02:00
uyjulian f3a50a01a7 cmake: Use previous macros in CMakeLists.txt files
Gregory: add a c lib for zzogl-pg-cg replayer
2014-09-05 20:16:23 +02:00
Forrest McDonald b24d4cce8d Clang doesn't support some flags that GCC does, so conditionally check the compiler and add them if we are doing a GCC build 2014-07-14 13:54:31 +02:00
Gregory Hainaut 390245806a cmake: sed /PROJECT_SOURCE_DIR/CMAKE_SOURCE_DIR/
The former depends on the project command. Whereas the latter is the true absolute path
of the project
2014-03-30 16:36:02 +02:00
gregory.hainaut f22b366cea gsdx:
* redo glsl2h.pl script to generate only one big glsl headers.
* fix gcc warning in GSVector.h
* fix memory leak of GSDeviceOGL.m_shader
* clean shader compilation function => split generation header & drop malloc stuff
cmake:
* only rebuild shader when asked by the use. Avoid perl dependency to build pcsx2


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5698 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-07 16:13:11 +00:00
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 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 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
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 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 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 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 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
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 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
arcum42 b3e7bea66e GregsMisc: zzogl-pg: Rename ZZKick.{cpp,h} to ZZoglDrawing.{cpp,h}, to make syncing with zzogl easier.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@4046 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-23 03:35:01 +00:00
arcum42 5c4512c5a9 GregMiscellaneous: zzogl-pg: Start gathering the hack code in one place.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@4005 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-11-07 04:45:10 +00:00
arcum42 465dd47bde GregMiscellaneous: zzogl-pg: Give VB its own header. Some changes to the Kick functions.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3961 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-23 08:15:39 +00:00
gregory.hainaut@gmail.com e353292caf GregMiscellaneous:zzogl-pg:
* rename filename (Clut to ZZClut)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3949 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-20 09:09:31 +00:00
gregory.hainaut@gmail.com 97cd280684 GregMiscellaneous: zzogl-pg:
* regroup clut core function into one big files

Note: codeblock need to be updated. And I hope template are ms friendly :)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3931 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-17 15:49:34 +00:00
arcum42 01c171e9e7 GregMiscellaneous: zzogl-pg: Add a header for HostMemory.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3930 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-17 10:03:12 +00:00
arcum42 d114ae7e93 GregMiscellaneous: zzogl-pg: Create ZZKick.cpp & ZZKick.h, and move appropriate code there.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3929 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-17 09:42:49 +00:00
arcum42 9bde4de02a GregMiscellaneous: zzogl-pg: Add a new header. More work on zerogs.h.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3928 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-17 09:07:16 +00:00
gregory.hainaut@gmail.com d84d8e8a2a GregMiscellaneous: sync with trunk (3805-3918)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3919 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-15 09:32:41 +00:00
arcum42 0a832acabb GregMiscellaneous: Sync against trunk. (3768:3804)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3805 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-19 08:01:48 +00:00
gregory.hainaut@gmail.com 888a309e1a GregMiscellaneous: sync and refresh the branch (3728:3768)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3769 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-15 16:54:19 +00:00
gregory.hainaut@gmail.com dc49a995d6 GregMiscellaneous: zzogl: Fix fullscreen setting & remove useless library
Major issue left: widescreen.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3734 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 22:08:55 +00:00
gregory.hainaut@gmail.com fbdf7521e5 GregMiscellaneous: Try to remove blur from some games. Gets the code from GSdx.
note: it is not working for the moment.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3653 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 13:38:57 +00:00
gregory.hainaut fa793cca25 cmake:
* move machine optimization in the global setup. In same time use i686 instead of i486
* Also build the debug with fvisibility=hidden No reason to use it only on devel. (actually same as codeblock)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3628 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 19:05:02 +00:00
gregory.hainaut 83604ec59d cmake: properly separate ldflags from cflags
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3567 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-25 14:20:03 +00:00
gregory.hainaut 4e90b10c76 cmake: Use same variable name for output. Allow easier copy-paste between files. Do not know why I did not do it earlier.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3566 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-25 13:54:26 +00:00
gregory.hainaut b326504054 [cmake]
* Major rework of the linker flags. Use some globals flags for -s and -m32
  Add a USER_CMAKE_LD_FLAGS variable. Easier to play with advanced link flags for future gcc version (>=4.5)
* Remove useless stub file
[debian]
* minor dependency fix


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3475 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 09:16:13 +00:00
arcum42 4c6dc19aa0 zzogl-pg: Here I go, splitting code into separate files again...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3446 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-10 08:08:36 +00:00
gregory.hainaut 8864c8bbaf [cmake] Move flags clean in the build modules. Next step allow user to control them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3416 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 11:08:05 +00:00
arcum42 83adf0f0d4 zzogl-pg: Add -fno-strict-aliasing to zzogl-pg's compiler flags. (Fixes FF X-2.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3415 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 10:41:17 +00:00