Commit Graph

359 Commits

Author SHA1 Message Date
Kojin 51253193e0 msbuild: fix libchdr include directory
I don't know what PublicIncludeDirectories is, it's not documented anywhere by MS.
Even if it doesn't fix the bot, it's at least consistent now.
2021-03-25 19:28:56 -04:00
TellowKrinkle 4a55f7b845 Upgrade libchdr
Fixes things getting built as dylibs
2021-03-25 17:12:55 -04:00
Romain TISSERAND 742b829c82 MSVC: fix libchdr integration 2021-03-23 11:06:48 +00:00
Romain TISSERAND c5196b4ebf cmake: Fix libchdr clang CI faliure 2021-03-23 11:06:48 +00:00
SleepyMan 0599e675a0 CDVD: Add support for CHD format 2021-03-23 11:06:48 +00:00
Tyler Wilding 501a714b98 deps: Update {fmt} to 7.1.3 2021-03-20 04:20:43 +01:00
refractionpcsx2 f2525acedf LibSampleRate: Fix configs so Singstar mic works 2021-03-11 10:14:49 +00:00
refractionpcsx2 ec09699fb0 3rd Party: Update Libsamplerate to 0.2.1 2021-03-11 10:14:49 +00:00
TheLastRar e01bba4525 Deps: Add pcap includes
From Npcap SDK 1.06
2021-02-17 20:06:54 +00:00
refractionpcsx2 95e7045db7 PortAudio: Upgrade PortAudio to latest master 2021-01-07 08:55:13 +00:00
Timothy O'Barr bfdfc495a3
Add GHC Filesystem (#3999)
Adds GHC filesystem to 3rdparty deps and updates cmake and vs project accordingly.
2021-01-02 13:47:09 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech d05c4e60be msvc: disable warnings on 3rdparty 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 494e384d9e msvc: disable /Gm as it is deprecated 2020-12-17 09:38:21 +01:00
Tyler Wilding 4a477244f1 Dep: Add yaml-cpp submodule to Windows project 2020-11-30 04:22:17 -05:00
GovanifY bc022789fc USB: initial windows project support 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech 8f8a83a038 USB: beginning to add back initial references 2020-11-11 13:34:16 +00:00
Tyler Wilding a4b307a3bd git: pin `fmt` submodule to v7.0.3 2020-10-17 04:12:50 +01:00
Tyler Wilding bab8bdfe47 vs: Setup fmt on Visual Studio 2020-10-17 04:12:50 +01:00
Tyler Wilding 2764474274 git: Add `fmt` submodule 2020-10-17 04:12:50 +01:00
GovanifY 5e8501b5f1 DEV9: initial removal of winpcap 2020-10-02 19:26:23 +01:00
lightningterror 413d58df57 3rdparty: Remove opencl lib source files. 2020-09-18 19:14:32 +02:00
lightningterror 4d0650baa0 3rdparty:opencl: Remove unused opencl files.
Currently they are not used when compiling with opencl so don't include
them, entire opencl 3rdparty needs to be updated. Can be done when
someone attempts to fix the opencl renderer.
2020-09-11 02:18:02 +02:00
tellowkrinkle 4f56db9f18
Fix codegen on x86-64 (#3512)
Fix codegen on x86-64

Part 1 of the changes being worked on in #3451

Makes x86emitter emit the x86-64 machine code you would expect it to

Also adds some unit tests to verify that things are working
2020-08-19 09:19:28 +01:00
Kojin 454704d967
vs-build: use the win10 sdk (#3560)
vs-build: use the win10 sdk
2020-08-05 14:12:00 -04:00
lightningterror e8fe2eeb59 Revert "3rdparty/pthreads4w: Fixup process exit logic. (#3056)"
This reverts commit af6f040202.
2019-08-18 02:24:58 +02:00
lightningterror fc8423e49d Revert "3rdparty/pthreads4w: Ensure on_process_init early execution. (#3073)"
This reverts commit 88a02941f6.
2019-08-18 02:24:58 +02:00
Silent 88a02941f6 3rdparty/pthreads4w: Ensure on_process_init early execution. (#3073)
This fixes a semi-consistent regression introduced by #3056, where on_process_exit would execute before other destructors relying on pthreads.

Now on_process_init has been moved to an earlier section of static initializers, ensuring it will be initialized first. Previously, this initializer was placed in the same section as any other initializer, making their order of execution non-deterministic across compilations - for example, I was unable to reproduce this issue as soon as I forced pthreads4w.c to recompile last!
2019-08-16 17:22:29 +02:00
Silent af6f040202 3rdparty/pthreads4w: Fixup process exit logic. (#3056)
This PR modifies a third party module - I realize normally those should be fixed upstream, but I really doubt pthreads4w would a) consider it a valid bug and b) fix it. To make all my changes easily visible, I wrap them all in #if PCSX2_FIX.

This PR fixes a process exit routine in pthreads. This third party module exploits CRT initialization order to inject their initializer/deinitializer earlier than the others by putting their functions in .CRT$XCU and .CRT$XPU pseudo regions. The problem comes when a module gets build with dynamic CRT (/MD or /MDd), like most of PCSX2 plugins, it doesn't actually use .CRT$XPx regions as terminators, and instead lets dynamic CRT handle them.

This PR corrects this issue by registering the terminator via atexit, so it works with both static and dynamic CRT. This resolves an issue where SPU2-X plugin (and potentially more) leaks TLS handles when unloaded.
2019-08-13 18:32:41 +02:00
Gregory Hainaut 2c99a0775c 3rdpary: import GL/glcorearb.h
It will replace glext.h in the future

v2: add requirement in gsdx
2019-02-07 12:34:02 +01:00
Christian Kenny f25fe48c9b 3rdparty:soundtouch: Upgrade SoundTouch lib to 2.1.2. (#2787) 2019-02-02 17:50:38 +01:00
Silent c5edd38681 3rdparty:wxwidgets: Cache strings for "Next>" or "Finish" buttons in wxWizard so locale stays consistent throughougt wizard's lifetime (#2664)
When updating from a higher wx release this change needs to be rechecked. The change was also included on the current 3.1.2 branch https://github.com/wxWidgets/wxWidgets/pull/1000 so this is essentially a backport (to 3.0.2 I believe pcsx2 uses ? ).
2018-10-31 09:57:57 +01:00
Jonathan Li ab9bdb009b baseclasses: Move from unfree to 3rdparty
Update it to the version found at
https://github.com/Microsoft/Windows-classic-samples , which is in an
MIT licensed repo, and add the LICENSE file (edited to remove the SIL
Open Font LICENSE part since that doesn't apply).

Some modifications have been made to reduce the diff/stop git
complaining (not including any file that wasn't in the previous version
and removing the related header includes in streams.h, and fixing some
but not all of the whitespace issues).
2018-04-29 02:19:17 +01:00
Christian Kenny 574e0a7531 Update SoundTouch lib to v2.0.0 2017-10-31 19:53:05 +00:00
Gregory Hainaut 1279112ac0 core: add hidden option EnableVsyncWindowFlag to add the WS_POPUP flag
Goal is to ease testing of Vsync/Tearing

v2:
Properly propagate the WS_POPUP flag
2017-07-02 15:08:16 +02:00
Jonathan Li b170bddad9 3rdparty:xz: Add project and config file
The config file is currently just a straight copy of the one in the xz
repo.
2017-06-03 14:52:01 +02:00
Jonathan Li a26afbe9a1 3rdparty: Add xz submodule
The submodule commit corresponds to the v5.2.3 release.
2017-06-03 14:52:01 +02:00
Jonathan Li 4fff0e952c 3rdparty:freetype: Use zlib in 3rdparty instead of internal version
Reduces the GSdx DLL size slightly (14kb with VS2017)
2017-03-21 23:21:26 +00:00
Jonathan Li ec7781f1f9 windows: Fix VS project file issues
Fixes "project out of date" issue for wx_config on VS2017.
Fixes whole program optimisation possibly not being applied on release
builds for USBqemu (it may have been applied, but I can't actually tell,
and now it at least shows properly in the VS property editor).
2017-03-07 19:47:54 +00:00
Jonathan Li c218ef3970 3rdparty: Update zlib from 1.2.8 to 1.2.11 2017-02-18 15:49:00 +00:00
Jonathan Li 0ad5abbbfc 3rdparty: Remove bzip2
Now unused.
2017-01-20 00:04:14 +00:00
Jonathan Li 24038f8ce7 3rdparty:wxwidgets: Use locale name directly
Upstream commit 713c3f9d1b10ac25fb3c4a1ff115e23c035851dba from the wx
master branch (3.1.x).

Fixes the crash when the current language is Korean and the Change
Language dialog is accessed.
2016-12-02 00:07:16 +00:00
Christian Kenny d1ae298211 3rd Party: Update glext and wglext to the current revision 33248 (10-24-2016) 2016-11-01 10:02:29 +01:00
Jonathan Li 43f5b5e2a6 3rdparty: Update wxWidgets to latest wx3.0.x branch
Fixes a whole bunch of warnings.

Updated to revision d77661c73bf6f9668077ac5a85b4854a1a2204ee.
2016-09-25 21:19:07 +01:00
Jonathan Li 751fdb96da 3rdparty: Add FreeType 2.7
Customisations:
/: remove all non directories
/builds: Only windows/ftdebug.c retained, custom project added
/objs: Removed (custom project doesn't use the directory)
/docs: Only licence files retained.
/devel: Removed (unused)
2016-09-10 12:29:53 +01:00
Jonathan Li efb5c85c76 3rdparty:portaudio: Fix module omission in Devel builds
Preprocessor defines were set for Release and Debug modes, but not Devel
builds. Broken since 259a39ef0c.

Fixes #1505.
2016-08-08 23:01:28 +01:00
Jonathan Li af60501fb6 windows: Remove unused solution files and property sheets
The solution files are unused and for ancient Visual Studio versions -
GSDumpGUI has its own solution file, and bin2cpp is included in the main
solution file.

The property sheets have either fallen out of use or were never used in
the first place.
2016-08-04 23:09:08 +01:00
Jonathan Li 97e268e5a5 3rdparty: Tidy/standardise VS projects
Combine all the different configurations together so the project files
are more generic and maintainable.

Also standardise the layout so all the project files will be similar and
all have the same standard elements (even if empty).

Add 64-bit configurations.

Additional specifics:
wxWidgets: Common stuff into the property sheets.
pthreads: Fixes the LNK4068 warning.
portaudio: Devel config added.
libjpeg: Non-existent file removed.

Side note: libjpeg is barely used - wxWidgets uses it but doesn't have
to, ZeroGS uses it but we don't develop that anymore.
2016-07-19 23:25:12 +01:00
Jonathan Li 296ef4184f 3rdparty: Use SolutionDir instead of SvnRootDir in property sheet
It's part of Visual Studio, and more importantly, I don't need to
specify a build output directory in the libpng project file.
2016-07-19 23:25:12 +01:00
Jonathan Li b20433c0be windows: Remove user.props references from all projects
find . -name *.vcxproj -exec sed -i -e '/user.props/d' {} \;

Microsoft recommends against using .user files. From
https://msdn.microsoft.com/en-us/library/669zx6zc.aspx :
"The best practice is to delete the reference to them in Property
Manager to ensure that your projects operate independently of any
per-user, per-computer settings. This is important to ensure correct
behaviour in a SCC (source code control) environment."

If you cannot compile SPU2-X after this commit (since that still relies
on the old DirectX SDK), you'll need to fix your build environment.
2016-05-29 12:21:52 +01:00
Jonathan Li 9ed9b2d8cd windows: Switch to DefaultPlatformToolset aka non-XP toolsets
Basically I ran
find . -name "*.vcxproj" -exec sed -i -e 's/_xp//' {} \;

This will likely break XP, but it paves the way on Windows for a PCSX2
that does not require the DirectX redistributables to be installed for
Windows 8, 8.1 and 10 users. Windows Vista and 7 users will still require
the DirectX redistributable files for XInput and XAudio, though PCSX2
should still be capable of running if a user does not actually use either
of them.
2016-03-13 12:04:28 +00:00
Jonathan Li 66050db322 3rdparty: add zlib project reference to libpng
It was missing.
2016-02-28 03:09:19 +00:00
Jonathan Li 234bf8af34 3rdparty: wxWidgets: Remove WS_POPUP style from ShowFullScreen
WS_POPUP causes fullscreen tearing when using OpenGL and the GSPanel
rendering area exactly covers the full screen. (always affects stretch
mode, but most people have 16:9 monitors, so in general the widescreen
16:9 mode is also affected).

Fixes #1075
2016-02-25 23:52:32 +00:00
Jonathan Li e5535ccc8f 3rdparty:wxwidgets: Preserve Win32 last error in wxTlsKey::Get()
This is commit e093a3b1b402c067254558d24ef2d7f39f552251 from the wx3.0
stable branch.

The correct error code and message is now output when an error takes
place. Previously it would report an error code of 0 and inform us that
"The operation completed successfully".
2015-12-22 23:33:22 +00:00
refractionpcsx2 4e22dc4987 3rd Party: Update Soundtouch (Timestretching) to 1.9.2.
2 notable changes which are welcomed.

-Improved SoundTouch::flush() function so that it returns precisely the desired amount of samples for exact output duration control

-Redesigned quickseek algorithm for improved sound quality when using the quickseek mode. The new quickseek algorithm can find 99% as good results as the default full-scan mode, while the quickseek algorithm is remarkably less CPU intensive.
2015-10-08 01:18:15 +01:00
Jonathan Li 8e34af5b5e wxWidgets:windows: Fix debug build menu assertion
There was a version check in the menu handling, but Windows 8.1 and
Windows 10 weren't recognised and some pre Windows 98 code was used.

This is a combination of the following wxWidgets upstream commits.
9280f836c2569d0f50301a1117f7ba144e5240d2
1966dfb17d7cb106d1dfb44df6a15b92ba3b8d5f
c87c432033f4277bc9995a4de1390a59b810a005
a8c98a119145a77b1313337314853de75562e4ab

Thanks to micove for finding the commits.
2015-09-27 23:46:12 +01:00
Miguel A. Colón Vélez c97c4f878a Update pthreads project.
- Add x64
- Use static library
2015-08-25 09:53:00 -04:00
Miguel A. Colón Vélez 05500bf759 Add local pthread changes.
- Move the 3 public headers to a include directory.
  + pthreads ships a config.h therefore leaving them in the top dir
    pollutes the include path.
- Starting with VS2015, MS defines timespec. Declare to only have it
  if _MSC_VER >= 1900.
- On Linux pthread_t is an integer and you can easily do ==. On Windows
  pthread_t is a structure and ==/!= have to be overloaded or every use of
  those operator must be guaded with #ifdef's.
2015-08-25 09:51:16 -04:00
Miguel A. Colón Vélez 70aba9d3ff Update pthreads to 2.9.1
- It adds support for x64.
2015-08-25 09:00:12 -04:00
Miguel A. Colón Vélez 9565aaf469 Backport wx30 fix for VS2015.
This is commit f350babf36818ba805ab0b4510b6616aaf3063fc.
.
Reading "Please update wx/compiler.h to recognize this VC++ version" gets
old pretty quickly.
2015-08-22 10:30:11 -04:00
Miguel A. Colón Vélez 09c8a41294 Update SoundTouch to 1.9.0.
It claimed to be 1.7.1 but it had a mixture from various
versions. It was hard to update as everything in the top directory
so I used upstream's way to organize files. I renamed include to
soundtouch since I did not want to #ifdef that for windows.
.
Wavfile.h is a private header so I used the private path instead of
moving the file over. This changed 3 files in the plugin folder.
2015-08-22 10:16:27 -04:00
Miguel A. Colón Vélez 9f2642a714 Update glext.h to the latest version. 2015-08-22 07:00:56 -04:00
Miguel A. Colón Vélez 3ef69c7fe9 Update zlib 1.2.7 to 1.2.8.
There were no local changes done to zlib.
.
The examples were added later and are from 1.2.8.
.
This syncs the library to the examples.
2015-08-22 06:27:07 -04:00
Miguel A. Colón Vélez 5761e475ee Update bzip from 1.0.4 to 1.0.6.
- Only adds 2 security fixes.
- Add the CHANGES file.
- Add local changes:
  + setmode to _setmode
  + fileno to _fileno
  + fdopen to _fdopen
- sudonim1 removed all trailing whitespaces in svn2897 so I ran:
find . -type f -name '*.c' -o -name '*.h' | xargs sed -i 's/[[:space:]]\+$//'
  This makes the delta of changes smaller.
2015-08-22 05:57:20 -04:00
Miguel A. Colón Vélez 961e0b5d28 Remove wx2.8 from the 3rdparty folder. 2015-08-18 01:16:59 -04:00
Miguel A. Colón Vélez 5997e680d0 Remove unused vs2013 file. 2015-08-18 01:16:43 -04:00
Miguel A. Colón Vélez a1de0614d7 Remove vs2012 files.
It does not support several things from C99/C++11 that are
used in the project.
2015-08-18 01:15:51 -04:00
Miguel A. Colón Vélez a1e56518a5 Rename inside the files. 2015-08-18 00:44:49 -04:00
Miguel A. Colón Vélez 277217353e Rename files. 2015-08-18 00:44:35 -04:00
Miguel A. Colón Vélez 1fe5aceded Enable round-tripping.
- Remove ToolsVersion
- Use $(DefaultPlatformToolset)_xp until XP support is dropped.
Note: opencl had no XP support and was not enabled in VS2012.
2015-08-18 00:44:19 -04:00
Miguel A. Colón Vélez f52988b93c Run devenv /upgrade
This ensures the solution can do round-tripping.
2015-08-18 00:44:02 -04:00
Miguel A. Colón Vélez 2c4cda1e0a Use Unicode in portaudio. 2015-08-07 14:28:02 -04:00
Miguel A. Colón Vélez 44bb093438 Run update_svnrevision.sh. 2015-08-07 06:06:36 -04:00
Miguel A. Colón Vélez 5a860d87c7 Merge back the local changes. 2015-08-07 05:57:35 -04:00
Miguel A. Colón Vélez c17667971c Update portaudio to svn1954. 2015-08-07 05:53:01 -04:00
Jonathan Li 2ea51dd594 Fix wxCore30's rcdefs.h pathname
Visual Studio flags wxCore30 as being out of date because it can't find
the rcdefs.h header file. Use the arch dependent pathname so it is
located correctly.
2015-08-05 22:59:00 +01:00
Miguel A. Colón Vélez 6462393aaf Introduce end-of-line normalization
Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com>
2015-08-04 23:52:48 +02:00
Miguel A. Colón Vélez e20768d257 VS2015: Fix w32pthreads and xpad 2015-08-04 22:15:36 +02:00
Jonathan Li f5f3bc4e60 wxWidgets3.0: Always include correct manifest
If pcsx2 is compiled for 32-bits and then compiled for 64-bits without
cleaning the build files, the wrong wx3.0 manifest will be included. The
same will happen vice versa.

Place the generated rcdefs.h file in a platform specific directory so
the correct manifest will always be used.
2015-07-25 17:29:59 +01:00
Jonathan Li 8879866b32 wxWidgets3.0: use relative paths for wxConfig30
This lets wxWidgets3.0 build even when the full pathname has non ASCII
characters or spaces in it.

Note that pcsx2 and some of the plugins that rely on custom build
commands still fail.
2015-07-25 00:33:37 +01:00
Jonathan Li 1da4232138 Fix wxWidgets3.0 and libpng build file pathnames
This puts the wxWidgets3.0 and libpng generated library files into the
deps folder, and puts the other builds files in a subdirectory from
where the project files are located. This is consistent with all the
other 3rdparty projects.

The output libraries for Devel builds are also suffixed with -dev
instead of -dbg now.
2015-07-17 23:12:40 +01:00
Jonathan Li db6a32ac33 windows: switch to wxWidgets 3.0
This replaces wxWidgets 2.8 with wxWidgets 3.0 plus all the necessary
include/referencing to get PCSX2 to compile.

VS2012 change is untested.
2015-07-13 21:19:12 +01:00
Gregory Hainaut b46f159ff2 Merge pull request #631 from turtleli/wxwidgets3_3rd_party_prep_v3
wxWidgets 3.0: Windows: Prepare 3rdparty files for switchover
2015-07-11 09:52:01 +02:00
Akash 08d0946b78 3rd party: update to latest version of Wglext.h and deprecate other glew files. 2015-07-09 21:36:09 +05:30
Jonathan Li bb4a155c73 configure wxWidgets 3.0, update .gitignore
Configures the settings in include/wx/msw/setup.h.
Removes icons from include/wx/msw/wx.rc.
Deletes include/wx/msw/rcdefs.h (autogenerated by build process).

Updates .gitignore by including wxWidgets3.0 build files and adds a
missing '/' to build.
2015-07-03 10:05:59 +01:00
Jonathan Li c3755b82a4 wxWidgets3.0: setup VS2012 project files
Same as previous commit, but with VS2012 and no extra property sheet.
2015-07-03 10:05:59 +01:00
Jonathan Li 1bada25a79 wxWidgets3.0: setup VS2013 project files
This configure the VS2013 files so that the now external libpng and
libjpeg libraries are used, and to place some of the common stuff into a
property sheet.

For deleted files, I've chosen to exclude from build instead of removing
them from the project file. It's less work to re-add them if they're
required at a later stage.
2015-07-03 10:05:58 +01:00
Jonathan Li 253f635f56 libpng: setup Visual Studio project files
This also moves scripts/pnglibconf.h.prebuilt to pnglibconf.h
2015-07-03 10:05:58 +01:00
Jonathan Li 2ab97aaa49 libpng: upgrade from 1.6.2 to 1.6.17
This upgrades the customised 1.6.2 wxWidgets3.0 version to 1.6.17 from
the zip version. CMakeLists.txt and the contrib directory have been
removed.
2015-07-03 10:05:57 +01:00
Jonathan Li f1547c14e0 wxWidgets3.0: rename Visual Studio project files
This renames the project files for consistency with the names of the
other project files.
2015-07-03 10:05:56 +01:00
Jonathan Li 9a9e93da83 wxWidgets3.0: upgrade from 3.0.1 to 3.0.2 2015-07-03 10:05:56 +01:00
Jonathan Li 24d5e59c32 wxWidgets3.0: trim files and rename directory
Delete files and directories that won't be used, and rename the
wxWidgets 3.0 directory to reduce confusion when doing maintenance
version upgrades.
2015-07-03 10:05:55 +01:00
Jonathan Li 2e791c762b wxWidgets3.0: move libpng out, delete libjpeg
Move libpng out of wxWidgets 3.0 so it's available to other projects.
Delete libjpeg since there's a newer copy already available in 3rdparty
(still outdated though).
2015-07-03 10:05:43 +01:00
refractionpcsx2 8361369008 Re-add OpenCL project files, remove VS2010 Solution. 2015-06-06 00:49:09 +01:00
Gregory Hainaut dd5868f9ba Also remove file of 3rdparty 2015-06-04 08:56:19 +02:00
Gregory Hainaut 532cc7755c cmake: remove cmake from 3rdparty
3rdparty have been deprecated since a long time on linux.

Files are likely wrong
2014-12-20 10:54:18 +01:00
gabest11 ba59036a97 fixed a small compiling error in release mode 2014-12-02 00:16:35 +01:00
gabest11 7b466a98d0 replaced opencl.def with dynamic dll loading, god bless search and replace 2014-12-02 00:16:35 +01:00
gabest11 72cfc6a6ef 3rdparty/opencl 2014-12-02 00:16:34 +01:00
tadatada 33967649b1 Fixed a C++ bool variable(1 byte) to WINAPI bool(4 bytes) for SystemParametersInfo API. 2014-10-16 07:49:30 +09:00
Sacha 357c3160bb Remove unused tinyxml from 3rdparty. 2014-08-17 22:23:14 +10:00