Gregory Hainaut
4281b8630b
gsdx ogl: remove the useless shadeboost Constant Buffer
2016-04-24 11:08:14 +02:00
Gregory Hainaut
d610a6aac4
gsdx glsl: ofc forget to do the shader in bin
2016-04-24 11:07:46 +02:00
Gregory Hainaut
d027ed2092
gsdx ogl: merge GSTextureFXOGL to GSDeviceOGL
...
First file is rather small in openGL. And it is linked to the latter.
2016-04-24 10:55:22 +02:00
Gregory Hainaut
1558220f74
gsdx glsl: create a common header definition
...
* avoid duplication between all the files for UBO
* remove various interface define
2016-04-24 10:54:39 +02:00
Gregory Hainaut
8ee0783bd3
GSdx: remove useless variable
2016-04-24 10:42:03 +02:00
Gregory Hainaut
fa1377a8ee
gsdx tc: reduce texture cache overhead
...
Cache page coverage of texture into a hash map
Test done on Champion of Norrath (paltex + DisablePartialInvalidation)
Profiler:
Self of GSTextureCache::SourceMap::Add 5.39% => 0.23%
Self of GSTextureCache::LookupSource 15.27% => 10.82%
Hard to measure on CoN as it depends on memory transfer. Seem to be 5-10 fps faster.
2016-04-23 19:22:58 +02:00
Gregory Hainaut
67e955919f
gsdx: keep dump code enabled in dev release too
2016-04-23 18:29:56 +02:00
Gregory Hainaut
a149d6b26f
gsdx: use psm.bpp flag to improve code reading
2016-04-23 18:29:39 +02:00
Gregory Hainaut
dd98a0b913
gsdx: add a depth format flag
2016-04-23 18:28:50 +02:00
Gregory Hainaut
87867beb0e
gsdx-ogl: remove the invalidation of texture
...
It doesn't help the perf and only create overhead (test done on snow engine game)
2016-04-21 21:07:17 +02:00
Gregory Hainaut
3709b5aecc
gsdx: add a small comment to ease code reading
2016-04-21 09:28:44 +02:00
Gregory Hainaut
b5ec683318
gsdx-linux: remove custom resolution from the GUI
...
It would be replaced by a float resolution factor
2016-04-21 09:28:44 +02:00
Gregory Hainaut
821e3ff294
gsdx-ogl: reduce length of debug message
2016-04-21 09:28:44 +02:00
Gregory Hainaut
8217c717f6
gsdx-ogl: require GL_KHR_debug
...
Will reduce the slowdown on debug build
2016-04-21 09:28:44 +02:00
Gregory Hainaut
9598417f42
gsdx-ogl: GL_ARB_copy_image is now mandatory
2016-04-21 09:28:44 +02:00
Gregory Hainaut
99bccc6dff
gsdx-ogl: remove the geometry shader blacklist for Gallium Mesa drivers
2016-04-21 09:28:44 +02:00
Gregory Hainaut
cb8088216b
Merge pull request #1281 from PCSX2-Alpha/NTSC_saturation
...
GSDX: Remove some unnecessary/dubious hacks
2016-04-21 09:28:30 +02:00
Gregory Hainaut
59ef668fd2
Merge pull request #1222 from PCSX2/gsdx-black-fmv
...
Gsdx black fmv
2016-04-21 09:25:36 +02:00
Lauri Kasanen
994c9147f5
textureSW: fix Map with offset
2016-04-19 21:22:53 +03:00
refractionpcsx2
dcb676765e
GSdx: Clean up some warning under windows ( #1289 )
2016-04-14 11:00:58 +01:00
Gregory Hainaut
2e567d6d55
gsdx ogl: update comment
...
something to test in the future
2016-04-14 10:19:18 +02:00
Gregory Hainaut
d129aedfe8
GSdx:vector: add sllv32 and srlv32 for 128 bits op
...
(variable shift)
2016-04-14 10:18:43 +02:00
Gregory Hainaut
8a7184be3f
gsdx: fix hack logic
2016-04-12 11:36:24 +02:00
Gregory Hainaut
6a09fa56fb
gsdx: disable nocturne CRC hack
...
Yeah one less !
2016-04-11 22:41:19 +02:00
Gregory Hainaut
4611264ce3
gsdx: add CRC hack for Nocturne PAL
...
Reduce depth transfer to the real size of the game. Otherwise
we need to handle a mix of color/depth transfer.
2016-04-11 16:04:04 +02:00
Gregory Hainaut
22a40b65ae
gsdx-ogl: always use 1 for GL_UNPACK_ALIGNMENT
...
Avoid a gl function call for each texture uploads
2016-04-11 12:45:11 +02:00
refractionpcsx2
fdae698f07
SPU2-X: Correct project settings for devel profile. Fixes #1288
2016-04-11 01:15:07 +01:00
Jonathan Li
d158d4de51
windows: Move baseclasses to a separate project
...
It saves the buildbots from needlessly recompiling the files for each GSdx
configuration.
2016-04-11 00:22:31 +01:00
Gregory Hainaut
847b57907e
Revert "gsdx-ogl: add a new hack to force anisotropic filtering"
...
This reverts commit 53690cf9d0
.
Quoting user:
For aliasing, the option allow of reduce a little but always very
visible compared with DX11 even with anisotropic OFF, , furthermore
many textures bug added with option activated (predictable but not see
on DX11 with anisotropic ON).
TL;DR doesn't worth it.
Note: it seem to work on DX because DX uses HW texturing in clamp region
mode (and others invalid case). OpenGL uses SW texturing to ensure accuracy
2016-04-10 17:30:49 +02:00
Gregory Hainaut
2941adf364
gsdx ogl: use the new pipeline API
...
Pre build all SW shader into pipeline.
Directly bind the pipeline instead of all pipeline stages. (less work for the driver)
2016-04-10 17:28:05 +02:00
Gregory Hainaut
95e3dcb448
gsdx-ogl: improve the shader program management
...
* keep a reference of program/pipeline created to ease the deletion
* extend a bit the API to support multiple pipeline
Final goal will be to use a pre link pipeline for SW shaders. And uses
the default pipeline for HW shaders.
2016-04-10 17:05:33 +02:00
Gregory Hainaut
395e2f31d0
gsdx-ogl: remove dead code (due to legacy removal)
2016-04-10 14:23:58 +02:00
Gregory Hainaut
3f404c8edb
gsdx-ogl: update shader pipeline intertace to use vs/gs/ps triplet
...
Better to have 1 function calls with 3 parameters rather 3 functions call with 1 parameter.
2016-04-10 14:14:30 +02:00
Gregory Hainaut
53690cf9d0
gsdx-ogl: add a new hack to force anisotropic filtering
...
By default, anisotropic filtering was disabled when textures aren't countinuous.
This hack allows to force it. It can help to reduce aliasing but it would create
unexpected effect on texture boundaries.
Again, someone ought to add the option on Windows too
2016-04-10 13:53:17 +02:00
Gregory Hainaut
9e6cb79f4e
gsdx linux: move depth option as a speed hack
...
Someone ought to add the Windows option too (and DisablePartialInvalidation too)
It might break a couple of games but most of them run better with depth enabled.
2016-04-10 13:22:55 +02:00
Gregory Hainaut
12443da00c
GSdx ogl: ouch the typo exp != exp2
...
Fix some rounding issue on depth effect (shadow in Dot hack games)
2016-04-10 11:31:40 +02:00
Gregory Hainaut
c2a9118186
debian: add the GSdx legacy build
2016-04-10 11:31:40 +02:00
Gregory Hainaut
7aaf36d24d
gsdx ogl: add function pointer for framebuffer no attachment extension
...
Could be useful in the future
2016-04-10 11:31:40 +02:00
Gregory Hainaut
7cc13ce99c
gsdx-ogl: only bind the FB to the draw FB
2016-04-10 11:31:40 +02:00
Gregory Hainaut
d533c393b2
gsdx ogl: rely on DSA API
2016-04-10 11:31:40 +02:00
Jonathan Li
fb97de7f79
gsdx:windows: Fix crash on psx side of plugin
...
I forgot it had a psx emu interface.
2016-04-09 19:56:23 +01:00
Gregory Hainaut
b9e8384c11
gsdx-ogl: move the mandatory extension into mandatory section
2016-04-07 22:29:35 +02:00
Gregory Hainaut
121e92a829
gsdx ogl: remove a now useless warning message
2016-04-07 22:28:11 +02:00
Gregory Hainaut
4475c4fe7c
gsdx linux: remove the old extension options
2016-04-07 22:27:33 +02:00
Gregory Hainaut
cef76de547
gsdx ogl: GL_ARB_direct_state_access is now mandatory
2016-04-07 22:27:28 +02:00
Gregory Hainaut
a62019a3fd
gsdx-ogl: found_GL_ARB_buffer_storage is now mandatory
2016-04-07 22:17:22 +02:00
Gregory Hainaut
52e3c3516d
gsdx-ogl: GL_ARB_separate_shader_objects is now mandatory
2016-04-07 22:11:35 +02:00
Gregory Hainaut
f751f70b1e
gsdx ogl: GL_ARB_clip_control is now mandatory
2016-04-07 21:57:54 +02:00
Gregory Hainaut
dfb4b5a339
gsdx-ogl: GL_ARB_texture_barrier is now mandatory
...
(GL4.5 extension)
2016-04-07 21:51:37 +02:00
Gregory Hainaut
1208dbe8c7
cmake: add an option to build the new legacy GSdx plugin
...
+ bump the new one to 1.1.0 (to ease reporting)
2016-04-07 21:46:42 +02:00
Gregory Hainaut
8751203986
fork GSdx into a GSdx_legacy plugin
2016-04-07 21:27:55 +02:00
Gregory Hainaut
8ccdc05c08
Merge pull request #1217 from PCSX2-Alpha/CRTC_option
...
GSDX : Add an option for CRTC size and some other video mode stuffs
2016-04-07 21:24:46 +02:00
Gregory Hainaut
17886a9808
gsdx-ogl: allow some accurate date when GL_ARB_shader_image_load_store isn't supported
...
Close #1282
2016-04-07 19:29:46 +02:00
Jonathan Li
69a84a2782
gsdx:windows: Don't call GSshutdown in GSconfigure
...
Fixes an issue with the D3D backends crashing if the configure dialog
is accessed and ok is pressed. The D3Dcompiler dll is freed and a null
pointer is dereferenced.
It might break gsdxgui but GSshutdown really should not be called unless
GSdx is shutting down. GSDumpGUI on Windows provides the same (or
better) functionality.
2016-04-07 18:18:36 +01:00
Akash
a1b0ae467e
GSDX: Remove dubious/unnecessary hacks
...
* Silent Hill 2 doesn't need the CRC hack
* GSRenderer: no need to explicitly set bottom value for r.
* Texture Cache: Removed a check which couldn't possibly enter true
branch.
2016-04-07 15:15:39 +05:30
Akash
69c9a3d793
GSDX: Add an option to disable NTSC saturation
...
v2: convert it into a member variable.
2016-04-07 15:15:17 +05:30
Jonathan Li
e16b367e6e
windows: Workaround weird LoadLibraryEx failures
...
For some reason some Windows 7 systems (most are unaffected) cannot cope
with LoadLibraryEx and return error code 87 - "The parameter is
incorrect".
Switch to using LoadLibrary instead for any case where Windows 7 is
expected to successfully load the requested dll. Potentially Windows
Vista is also affected.
2016-04-06 19:52:59 +01:00
Gregory Hainaut
da9577076c
Merge pull request #1278 from PCSX2/gsdx-EE-read-depth-support
...
gsdx ogl: allow to read the depth buffer
2016-04-06 12:20:16 +02:00
Gregory Hainaut
b8a023d158
gsdx ogl: mark OGL object as final
...
Give the compiler more devirtualization hint
2016-04-05 00:01:43 +02:00
Gregory Hainaut
decac5fd12
gsdx ogl: implement an empty BeginScene
...
Compile will devirtualize it and then remove it during the inline.
2016-04-04 23:32:11 +02:00
Gregory Hainaut
cb279ef321
gsdx ogl: help compiler to devirtualize
2016-04-04 23:12:31 +02:00
Gregory Hainaut
e3787b6b3c
gsdx-ogl: use final qualifier to help compiler
...
Improve Devirtualization optimization
2016-04-04 22:52:59 +02:00
Gregory Hainaut
771583c559
gsdx-ogl: help the compiler to propagate stride constant
...
Optimize various multiplication
Note: potentially we can do it with constexpr but I'm not sure of compiler support
2016-04-04 22:46:31 +02:00
Gregory Hainaut
8943a9db4a
gsdx hw: GS can draw 2 frames in a single framebuffer
...
So let's increase the height. It will increase the memory requirement on some games
v2: try to do it automatically
(not sure it will useful as most game will requires it)
v3: let's back to an hardcoded 1280 size. It generates too much issue
2016-04-04 21:30:40 +02:00
Gregory Hainaut
063d2e568a
gsdx tc: re-implement frame lookup
...
Try to avoid random black screen frame
v2: don't force the preload hack on the frame
It creates a ghost image over FMV
v3: support offset within a frame
2016-04-04 21:30:37 +02:00
Gregory Hainaut
eec74fd963
gsdx hw: Add an alternate draw call for FMV rendering
...
The long story:
Game blits FMV far aways of the RT which is actually the input of the RO texture...
Currently GSdx suffers of 2 bugs.
1/ RT is too small
2/ texture isn't properly updated with the rendered value. Texture is invalidated
but it reads back the pixels from the GS memory whereas the correct
value is located on the GPU.
This commit will replace the standard draw by a manual blit. Therefore it avoid
size issue and bad upscaling issue.
v2:
* Use various copy to be more compatible with dx api
* Move all part of the hack info the BlitFMV function
v3: add log message
2016-04-04 21:29:32 +02:00
Gregory Hainaut
72d43b2e56
gsdx tc: add an invalidation procedure to drop sub rt
...
It will be used in next commit. However, it might not be the best solution
2016-04-04 21:29:32 +02:00
Gregory Hainaut
2ca624c8c6
gsdx tc: implement a read function of Source texture
...
It will be used in the following commit
2016-04-04 21:29:31 +02:00
Gregory Hainaut
d922225e69
gsdx tc:invalidate RT when a texture is written inside it
...
It often happens the game try to upload the FMV directly which typically
gave a black screen.
Commit fix rules of roses and I hope various black screen FMV
Performance impact must be tested, and I'm afraid of strange texture cache behavior.
V2: check the size of the transfer too
V3: add support of 16 bits format
V4: avoid division by 0
2016-04-04 21:29:31 +02:00
Gregory Hainaut
9aea76b0e8
gsdx tc: store a hint on the target size
...
The hint is based on the rendering
2016-04-04 21:29:31 +02:00
Gregory Hainaut
c4ebdd1f37
gsdx ogl: allow to read the depth buffer
...
Unfortunately can't be tested on gs dump
Ought to impact #1276 (Incognito/Eat Sleep Play's games, Nocturne too)
2016-04-03 12:30:14 +02:00
Gregory Hainaut
00643dbdfb
gsdx tc: report unsupported depth read path
...
Help to debug depth issue (aka lighting effects pass through wall)
2016-04-03 11:22:11 +02:00
Gregory Hainaut
ee08a6fc53
Merge pull request #1270 from PCSX2/monolithic-build
...
Monolithic build
2016-04-03 11:20:07 +02:00
Gregory Hainaut
5bdadbc089
Merge pull request #1268 from PCSX2/coverity-uninitialized-members
...
Coverity uninitialized members
2016-04-03 11:19:37 +02:00
Jonathan Li
7736c90457
gsdx:windows: Fix Windows 7 compile
...
Somehow D3D_COMPILE_STANDARD_FILE_INCLUDE isn't defined, so the correct
headers aren't being used.
2016-04-02 12:17:52 +01:00
Gregory Hainaut
cc1756b8e5
gsdx: disable dump in release build
2016-04-02 00:56:41 +02:00
Gregory Hainaut
b42ddba13c
onepad: repopulate option at the init
...
CID 159402
2016-03-30 19:56:19 +02:00
Gregory Hainaut
8dee7daeb9
gsdx-ogl: init textures for all formats
...
CID 150171
2016-03-30 19:56:19 +02:00
Gregory Hainaut
856a12f94f
gsdx-ogl: init Render object
...
CID 147002
2016-03-30 19:56:19 +02:00
Gregory Hainaut
a4d0c23071
gsdx: init GSCapture field
...
CID 159404
2016-03-30 19:56:19 +02:00
Gregory Hainaut
1bd8113f66
cmake: add various option to disable plugin support
2016-03-30 10:19:54 +02:00
Jonathan Li
e347c8b0b1
gsdx:windows: Remove DXSDK references from property sheets
...
GSdx doesn't use the DirectX SDK anymore.
Also clean up the property sheets while I'm at it.
2016-03-30 00:03:04 +01:00
Jonathan Li
b243e2532b
gsdx-d3d9: Remove d3dx9 stuff and use d3dcompile
...
Using D3DX9 requires the end user to install the Direct X redist files.
Switch to using D3DCompile.
2016-03-30 00:03:04 +01:00
Jonathan Li
2ec8d88d80
gsdx-d3d11: Remove d3dx11 stuff and use d3dcompile
...
Using D3DX11 requires the end user to install the DirectX redist files.
Switch to using D3DCompile, and distribute D3DCompiler_47.dll for
Windows Vista, 7 and 8 users (Windows 8.1 onwards supplies
D3DCompiler_47.dll with the OS).
2016-03-30 00:03:04 +01:00
Jonathan Li
8f4823d604
gsdx-dx: Load D3DCompiler dll at runtime
...
D3DCompiler_47.dll will be loaded for Windows 8.1 and above (and maybe
Windows 7 devs), D3DCompiler_43.dll will be loaded for Windows 7 and
below.
2016-03-30 00:03:04 +01:00
Jonathan Li
80b6140a3e
gsdx:windows: Prefer Windows SDK over old DX SDK
...
Some files are present in both the Windows SDK and the old DirectX SDK.
Use the newer versions of the files in the Windows SDK where possible.
2016-03-30 00:03:04 +01:00
Jonathan Li
7f3f6e96d8
cdvdgigaherz: Use Windows SDK headers
...
The rosddk headers are no longer necessary and have been removed.
2016-03-29 23:51:17 +01:00
Gregory Hainaut
f6ee94589f
gsdx hw: OI_GSMemClear supports various frame formats
...
Could help #1267
2016-03-28 10:47:42 +02:00
Jonathan Li
587c0ea339
Merge pull request #1237 from turtleli/xinput
...
lilypad|xpad: Remove DirectX SDK dependency, support both XInput 1.3 and 1.4
2016-03-28 09:46:58 +01:00
Gregory Hainaut
a99750ae87
gsdx hw: only enable OI_GsMemClear when both depth/alpha test are disabled
...
Fix #1262
2016-03-26 11:28:28 +01:00
Gregory Hainaut
261ef9ab6a
gsdx: move some DBZGT hacks to Dx level
...
Based on this thread:
http://forums.pcsx2.net/Thread-Dragon-Ball-Z-Budokai-Tenkaichi-3-Graphical-Issue-Emulator-does-not-render-outlines
2016-03-25 08:23:50 +01:00
Gregory Hainaut
791a14bec0
gsdx linux: add a gui box to select the png compression level
2016-03-25 08:23:50 +01:00
Jonathan Li
a80a7175f3
xpad: Use the Windows SDK and remove unneeded dependencies
2016-03-23 19:12:44 +00:00
Jonathan Li
13bb7cf30a
xpad: Support both XInput 1.3 and 1.4
2016-03-23 19:12:43 +00:00
Gregory Hainaut
205b496d5c
gsdx: fix gl recording regression
2016-03-21 18:52:26 +01:00
Gregory Hainaut
8e5e770fd1
gsdx hw: Ensure GS memory is always cleared properly
...
It will fix some issues on FMV
Previous behavior can be restored with the hack "UserHacks_DisableGsMemClear"
Fix #768
And maybe #855
2016-03-21 18:26:22 +01:00
Gregory Hainaut
c43b1ac201
gsdx tc: extend the fast invalidation hack to limit the size of target read
...
It actually removes the previous hack that read the full target.
Unfortunately snowblind engine game uses big target so the read is very big too (1280x448)
which is killer for the perf. Whereas the game requires only 24x12 texels
Give a 2x speed boost on Champion of Norrath !!!
2016-03-20 18:11:44 +01:00
Gregory Hainaut
46ff5dccff
gsdx: be debug friendly
2016-03-20 16:15:00 +01:00
Gregory Hainaut
a83b8d62ec
gsdx linux: add a gui checkbox for the "fast texture invalidation" hack
2016-03-20 13:59:24 +01:00
Gregory Hainaut
7eb242d3ad
gsdx-ogl: remove the ogl_texture_storage option
...
The previous commits make PBO faster for all drivers.
2016-03-19 01:00:52 +01:00