Commit Graph

2154 Commits

Author SHA1 Message Date
Gregory Hainaut 415ce93425 gsdx ogl: rename the confusing function EmulateGS to Lines2Sprites 2016-06-09 18:27:58 +02:00
Gregory Hainaut 61075febae gsdx ogl: move selector as state variables
Will be easier to move code around if required in the future
2016-06-09 18:27:58 +02:00
Gregory Hainaut 1132230674 gsdx ogl: create m_require_one_barrier/m_require_full_barrier state variable
hopefully code will be more readable
2016-06-09 18:27:58 +02:00
Gregory Hainaut 7ece9b823d gsdx ogl: move texture management into a separate function 2016-06-09 18:27:57 +02:00
refractionpcsx2 c530858df3 GSdx: Move "isNative" check to DX11 context creation. Resolves speed regression in games that constantly change the viewport size. 2016-06-06 20:45:30 +01:00
Jonathan Li 7c205d7a1e windows: Don't use __declspec(dllexport) for plugin exports
Using __declspec(dllexport) causes duplicate export warnings to be
generated when compiling 64-bit builds. Name mangling also occurs on
functions that are exported this way, so it doesn't actually work with
the plugin system, which uses unmangled names.

The module definition file exports the functions without name mangling
and is sufficient on its own.
2016-06-05 22:57:42 +01:00
Gregory Hainaut 2b00447a43 glsl: optimize the number of active constant buffer
Increase the performance on the free driver (Nouveau)

Currently the driver validates all UBO when only 1 is updated. It
is clearly a bad idea to put all UBO in a single common headers.
2016-06-05 16:45:11 +02:00
Jonathan Li c7940856ce windows: Remove unneeded library dependencies
Some are unnecessary since they're already taken care of by project
references, while others are duplicates or unused.
2016-06-04 22:55:48 +01:00
Gregory Hainaut 4768f912b8 gsdx linux: add vsync support for free driver 2016-06-04 13:17:59 +02:00
Gregory Hainaut 2b2412ca20 gsdx hw: disable OI_GsMemClear when framebuffer writes are masked. 2016-06-01 22:34:14 +02:00
Gregory Hainaut 7202cac7d0 gsdx ogl: remove the dual source blending workaround 2016-06-01 21:00:29 +02:00
Gregory Hainaut 08a8bfa76c gsdx ogl: plug new program compilation for bad driver 2016-06-01 21:00:29 +02:00
Gregory Hainaut 17988fc7de gsdx ogl: add code to compile a single shader 2016-06-01 21:00:29 +02:00
Gregory Hainaut 405f312fe8 gsdx ogl: format GSShader code
Move the Geometry Shader to the call of the function
2016-06-01 21:00:29 +02:00
Gregory Hainaut 538bb418ce gsdx ogl: revert the removal of single shader compilation function pointer
(It doesn't mean I will drop SSO but that I will do some tests one day)
2016-06-01 09:29:56 +02:00
Gregory Hainaut 5d49a6b685 gsdx ogl: replace 4 VS shader variation by an AND mask
Perf will be roughly the same. However there is a single VS for all
the HW emulation.
2016-06-01 09:29:56 +02:00
Gregory Hainaut 959abe64f8 gsdx ogl: implement wildhack on the CPU
Speed impact is likely small and the plan is only to keep a single Vertex Shader
2016-06-01 09:29:56 +02:00
Gregory Hainaut 3d192b7f8d gsdx ogl: separate channel code into a separate function 2016-06-01 09:29:56 +02:00
Gregory Hainaut 6d2196125d gsdx: fix TVshader case option 2016-05-31 19:35:35 +02:00
Gregory Hainaut 564bf8a089 gsdx ogl: terminator 3 supports sampling from the depth 2016-05-30 19:39:52 +02:00
Gregory Hainaut 43a1c48f75 gsdx option: add missing default and fix case 2016-05-30 18:23:22 +02:00
Gregory Hainaut 9c8b5e37a4 gsdx ogl: blacklist AMD 2015 drivers 2016-05-29 18:21:12 +02:00
Gregory Hainaut 12512f767b gsdx linux gui: disable the hack panel when user hacks are disabled
Move the user hack option to the main panel (Box with a single option doesn't look nice)

Hopefully it will be less confusing for linux users.
2016-05-29 18:09:22 +02:00
Gregory Hainaut 38a511e3e1 gsdx linux: some capture options are cross platform 2016-05-29 17:38:40 +02:00
Jonathan Li 8b74c108a4 Revert "gsdx:windows: Fix Windows 7 compile"
This reverts commit 7736c90457.

It wasn't actually a Windows 7 compile fix, but a bad build environment
workaround.
2016-05-29 14:33:58 +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
Gregory Hainaut fb26254fbb gsdx ogl: implement a more generic HLE shader for terminator 3
Hopefully without regression for others games
2016-05-29 10:13:43 +02:00
Gregory Hainaut f7ddd488e1 gsdx ogl: Extend uniform buffer with channel parameter
Instead to use the standard ps ubo which is used every draw call.
I reused a barely used buffer to reduce the extra cost of the upload
2016-05-29 10:13:43 +02:00
Gregory Hainaut 6f19d928f6 gsdx ogl: use the new uniform cache upload method 2016-05-29 10:13:43 +02:00
Gregory Hainaut fa15d7fd26 gsdx ogl: generic code to cache uniform buffer
It will allow to skip a buffer transfer if the new content is the same
2016-05-29 10:13:43 +02:00
Jonathan Li 36cd1ae3cc windows: Remove parameter from prebuild command
It's unused. Also convert to using SolutionDir instead of Svnwhatever.
2016-05-28 23:25:08 +01:00
Gregory Hainaut 58f04975e1 oups fix link 2016-05-28 18:49:49 +02:00
Gregory Hainaut 179681ef18 gsdx ogl: enable AMD driver blending workaround only on latest legacy driver
Legacy GPU:
Older driver will be broken.

Still supported GPU:
Please upgrade to the latest AMD driver 16.5.2 or 16.5.3 (and prey that future driver will still work)
2016-05-28 18:43:55 +02:00
Gregory Hainaut a648e2db70 gsdx: switch to dx10/11 as default on Windows
1/ Detecting Dx level requires a DX context.
2/ Dx9 GPU market is 1-2% (I'm not even sure they can run latest windows 10)
2016-05-28 10:07:27 +02:00
Gregory Hainaut c61e09e36a fix left over default 2016-05-28 10:07:27 +02:00
Gregory Hainaut 453ac88dce gsdx option: use CaptureWidth/CaptureHeight on linux too 2016-05-28 10:07:27 +02:00
Gregory Hainaut a9c18c57e4 gsdx option: use the new GetConfig* function
v2:
add PSX stuff
ssakash review
2016-05-28 10:07:27 +02:00
Gregory Hainaut 03a6f2093e gsdx option: add multiple GetConfig to avoid overload issue 2016-05-28 10:07:27 +02:00
Gregory Hainaut 05818d70f4 gsdx option: centralize default configuration to a single file
Potential issue
* miss a default value
* Renderer is DX9 again on windows
* Case issue
* Same default for all code paths
* overload of GetConfig

v2: separate specific OS option
2016-05-28 10:07:26 +02:00
Akash 2409817556 GSDX: Move PSX code to an isolated path 2016-05-26 19:04:17 +05:30
Jonathan Li 06dba2d258 Merge pull request #1372 from PCSX2-Alpha/Windows_GUI
GSDX-Windows: Add "Large Framebuffer" option
2016-05-26 08:57:33 +01:00
Akash 9ae6c2673a GSDX-Windows: Add "Large Framebuffer" option 2016-05-26 11:38:24 +05:30
Jonathan Li 352b61c741 gsdx: Allow normal assert to be used 2016-05-26 00:11:52 +01:00
Jonathan Li db81925c4b Merge pull request #1335 from turtleli/freebsd
Support FreeBSD
2016-05-25 18:55:51 +01:00
Gregory Hainaut 60e0f3b9b5 Merge pull request #1234 from PCSX2-Alpha/Time_Crisis
GSDX: Improve CRTC width detection
2016-05-25 17:51:07 +02:00
Gregory Hainaut b6da1bcb15 gsdx linux: add the new option checkbox 2016-05-23 19:38:44 +02:00
Gregory Hainaut 0c3324b6ef gsdx hw: create a large_framebuffer option
Enable it to ensure correct rendering (FMV)
Disable it to reduce GPU/memory requirement

Option will likely be removed when the perf impact will be reduced.
2016-05-23 19:38:44 +02:00
Gregory Hainaut 1f4439a89e gsdx: add some notes of potential optimization 2016-05-23 19:38:44 +02:00
Jonathan Li 571432a7aa gsdx:freebsd: Fix compilation 2016-05-21 13:34:18 +01:00
Jonathan Li 57cdf0bf16 gsdx:linux: Use clock_gettime instead of ftime
ftime is obsolete and not present in recent POSIX specifications.
2016-05-21 13:33:40 +01:00