Commit Graph

2781 Commits

Author SHA1 Message Date
Gregory Hainaut b62a2d6a3c gsdx-debug: dump texture in 32 bits when a shuffing effect is detected
Otherwise it is unreadable
2015-07-01 09:30:20 +02:00
Gregory Hainaut 6b5a3dedd9 gsdx-debug: add the format in texture cache logging 2015-07-01 09:30:20 +02:00
refractionpcsx2 955fc3aa35 GSdx-DX: Mirror round value change from OGL 2015-07-01 09:30:20 +02:00
refractionpcsx2 af09d7e063 GSdx-DX: Modified shader slightly as some bits were incorrect. 2015-07-01 09:30:20 +02:00
Gregory Hainaut 7ee3dbd615 gsdx-tc: use the virtual function to check the state
This ways it will be disabled for dx
2015-07-01 09:30:20 +02:00
refractionpcsx2 de189b67a2 GSdx: Add option to toggle Texture Cache Depth support.
- Forced off for DX currently to save fallover.
2015-07-01 09:30:20 +02:00
refractionpcsx2 2dc4e2a04c GSdx: Gave accurate blend option an extra state, can now do super accurate blending from the GUI 2015-07-01 09:30:20 +02:00
Gregory Hainaut c925b1d135 gsdx-tc: support GS mem to depth buffer transfer
Please test SMT games

(issue #572)
2015-07-01 09:30:20 +02:00
refractionpcsx2 4bc8bfc23e GSdx-DX: Rough port of texture switching from OGL 2015-07-01 09:30:20 +02:00
Gregory Hainaut 58ce7d4bb8 gsdx-ogl: emulate texture shuffle
GS doesn't supports texture shuffle/swizzle so it is emulated in a
complex way.

The idea is to read/write the 32 bits color format as a 16 bit format.
This way, RG (16 lsb bits) or BA (16 msb bits) can be read or written with
square texture that targets pixels 1-8 or pixels 8-16.
However shuffle is limited. For example you can copy the green channel
to either the alpha channel or another green channel.

Note: Partial masking of channel is not yet implemented

V2: improve logging
V3: better support of green channel in shader
V4: improve detection of destination (issue due to rounding)
2015-07-01 09:30:20 +02:00
Gregory Hainaut 2d812deb84 gsdx-tc: Depth and Target are interchangeable on the GS !!!
Extend the texture cache to search Color target in Depth target
2015-07-01 09:30:20 +02:00
Gregory Hainaut 76160505f7 gsdx-tc: add an option to avoid blow up dx :p
texture_cache_depth = 1 (default for openGL)
2015-07-01 09:30:20 +02:00
Gregory Hainaut 74d84aafb5 gsdx-tc: allow to search the depth in the old target list
Yes it is possible on PS2 world
2015-07-01 09:30:20 +02:00
Gregory Hainaut b59a347ad7 gsdx-tc: allow to use depth buffer as input texture 2015-07-01 09:30:20 +02:00
Gregory Hainaut 49516cbbca gsdx-tc: allow to invalidate the depth/target if it is used as target/depth
It is requires when game will uses sometimes an address as a RT sometimes as a depth
2015-07-01 09:30:20 +02:00
Gregory Hainaut 35081f922a gsdx: GS kinds of support draw without framebuffer
Gow uses 24 bits buffer, so only color is updated but blending is configured as Cd
so it is a NOP

In this case, we don't lookup the target in the texture cache. It reduces the complexity
to handle depth which can be located at same address as RT

Note: please test DX renderer
2015-07-01 09:30:20 +02:00
Jonathan Li b96609cb51 onepad: fix possible dereference of deleted pointer
onepad will dereference conf after it has been deleted if a PADinit,
PADshutdown, PADinit sequence takes place.
2015-06-29 20:53:00 +01:00
refractionpcsx2 c659b1aa18 Merge pull request #617 from ssakash/patch-26
Console log message for current renderer.
2015-06-28 13:24:09 +01:00
bositman 59a66f87c3 Merge pull request #611 from turtleli/fix-toggling
Fix renderer toggling behavior and other related stuff
2015-06-26 16:34:02 +03:00
Gregory Hainaut 0c2dcf26f2 Merge pull request #598 from turtleli/wxwidgets3_prep
Changes to make transition to wxWidgets3.0 on Windows easier
2015-06-26 15:18:13 +02:00
Jonathan Li acc6ad59ba GSdx: Use correct renderer after config change
Rework the renderer selection logic to reload the saved renderer after
it's been changed in the config panel and to properly detect whether a
renderer toggle has been requested.
2015-06-26 00:50:07 +01:00
Akash 4b472bb461 Console log message for current renderer. 2015-06-25 20:15:45 +05:30
Akash 1d4dff9e42 Remove break statement (return already ends the function execution) 2015-06-25 19:48:22 +05:30
Gregory Hainaut f3c0c1bb88 gsdx-ogl: TexParamami is provided in core 2015-06-25 10:25:57 +02:00
refractionpcsx2 42b1f81b8e dev9ghzdrk: I've got a good idea, lets not match the host mac ;) 2015-06-24 23:42:28 +01:00
refractionpcsx2 cc6ebff48e dev9ghzdrk: Update the virtual_mac too (bridged?) Won't hurt either way! 2015-06-24 22:14:50 +01:00
Gregory Hainaut 8393ba56d6 gsdx-ogl: rework palette texture handling
Redirect the red channel to alpha channel for 8 bits texture.

It avoid special management in the shader
2015-06-24 19:50:09 +02:00
Gregory Hainaut cd4c8b5ce4 gsdx-debug: resolve alpha equation in the dump file 2015-06-24 19:42:53 +02:00
refractionpcsx2 819133ee45 dev9ghzdrk: Make the MAC truely unique, fixes issue #552
-Version bump to reflect the awesomeness
-Put most of the mac variables in one place (not that they do much)
2015-06-24 01:36:01 +01:00
refractionpcsx2 ee9b1caaa4 GSdx-hw: Custom res native mixup stuff, best fix this one too. 2015-06-23 19:43:04 +01:00
Akash 85c4184ea5 swap value functions for Round sprite hack. 2015-06-23 20:07:46 +05:30
refractionpcsx2 ad71ca4cc8 GSdx-hw: Make sure custom resolution doesn't affect Native Resolution 2015-06-22 17:23:47 +01:00
bositman eb0f6eb953 Merge pull request #607 from TheLastRar/dev9settings
dev9ghz: Use .ini for saving settings and delete old registry keys
2015-06-22 17:35:37 +03:00
TheLastRar dcd477f2b6 dev9ghz: Look in registry for settings first
If settings found in the registry, create ini, fill with settings and
then delete the settings stored in the registry.

If no settings found in registry, load from ini.
2015-06-22 15:13:18 +01:00
Gregory Hainaut 7135867119 gsdx: very old typo on option name
Windows uses Renderer with an uppercase R
2015-06-20 16:18:10 +02:00
Jonathan Li 283d4fa57c Use wc_str for Windows only code
This fixes the build for wxWidgets 3.0. The paths are Windows specific,
so c_str and WX_STR already evaluate to a wide string in wxWidgets 2.8.
2015-06-19 22:14:47 +01:00
TheLastRar 0be0f13acf dev9ghz: delete leftover registry keys 2015-06-19 15:46:51 +01:00
TheLastRar 0d04ee440d dev9ghz: fix a typo... 2015-06-19 15:39:49 +01:00
Gregory Hainaut b44bccec6a gsdx: fix previous commit with a scaling factor 2015-06-18 23:02:40 +02:00
Gregory Hainaut 5bc8f046b2 gsdx: fix snow engine issue in native resolution 2015-06-18 21:21:25 +02:00
Karasuhebi 4d1ca4bb76 Changes in title bar: DX -> D3D
Changed the name of the Direct3D renderers so they would match the way
they are named in GSdx's Plugin Settings window. Also changed a printf
to say OpenCL instead of opencl.
2015-06-18 13:00:29 -04:00
Gregory Hainaut ab6f26ff4d Merge pull request #606 from turtleli/gsdx-title-renderer
GSdx: Add renderer type to title bar
2015-06-18 09:49:26 +02:00
refractionpcsx2 f5e8503fa5 GSdx: Didn't need to change this :P 2015-06-17 22:41:16 +01:00
refractionpcsx2 c31c04d3db GSdx: Fix CRC hacks not re-initialising after option change 2015-06-17 22:25:43 +01:00
refractionpcsx2 0b5e0df35d Epic fail Visual Studio! 2015-06-17 22:11:06 +01:00
refractionpcsx2 fc24f039a8 GSdx: Add CRC Management to Windows Dialog.
- Clean up tooltip
- Remove Auto Skip Depth and Disable CRC checkboxes
2015-06-17 22:06:18 +01:00
Jonathan Li e182251fbc GSdx: Add renderer type to title bar 2015-06-17 21:59:05 +01:00
Gregory Hainaut 1d84af573d ofc I didn't test previous commit ater the merge... 2015-06-17 21:55:37 +02:00
Gregory Hainaut b2f8fe3593 gsdx: drop the auto skip depth hack
Just use 1 in skip draw if you want to use it

openGL code will soon be fixed to support depth correctly (and I hope dx in the future)

Conflicts:
	plugins/GSdx/GSState.cpp
	plugins/GSdx/GSState.h
2015-06-17 21:53:08 +02:00
TheLastRar 5f068ec46a dev9ghz: Use .ini for saving settings
Import settings from the registry if needed.
2015-06-17 19:24:48 +01:00
Gregory Hainaut 263583ebcc Revert "gsdx-ogl: enable again geometry shader on Mesa"
This partially reverts commit e774fecb77.

Fix issue #605
2015-06-16 18:33:22 +02:00
Gregory Hainaut c1d39a5f57 gsdx-ogl: drop UserHacks_DateGL4
Initial goal was to avoid slowdown in buggy driver
2015-06-16 09:57:45 +02:00
Gregory Hainaut 62beb3aaf4 gsdx: don't do bad stuff if aggressive hack isn't enabled 2015-06-14 10:27:02 +02:00
Gregory Hainaut f765a195e2 gsdx: Don't set CRC function pointer when disabled
Less costly than an extra check for each draw calls
2015-06-14 10:27:02 +02:00
Gregory Hainaut 1699289162 gsdx: move 4 hacks from level2 to level3
remains tons of them :(
2015-06-14 10:27:02 +02:00
Gregory Hainaut 1be8d07f85 gsdx: auto CRC management
Old way various check boxes to configure the plugin

New way an unified drop down list

* Level 0 (dev only) => disable (mostly) all hacks and auto skip depth.
* Level 1 (dev only ) => enable oi/oo/cu hacks, others remains disabled
* Level 2 (GL) => enable most hacks except a couple of one that were fixed on openGL (speed impact)
* Level 3 (DX) => enable all hacks
* Level 4 => enable also aggresive CRC

Note: windows gui must be updated, and it will be nice to create a global tooltip
2015-06-14 10:27:02 +02:00
Gregory Hainaut c6220bf836 gsdx-debug: print an error on unsupported draw call
Typically GTA
2015-06-14 10:27:02 +02:00
TheLastRar d0af2033e9 Dev9ghz: Respect user Log dir setting, use PluginLog
for logging as it checks if log file was created/opened successfully
Enable full logging in debug builds.
2015-06-11 23:18:25 +01:00
Gregory Hainaut c11ac928ba Merge pull request #599 from ssakash/patch-12
inclusion of jap version of dr2 in gscrc.cpp
2015-06-11 09:45:41 +02:00
Gregory Hainaut 237ffcf796 gsdx-ogl: Make GL_ARB_draw_buffers_blend optinal for limited DX10 drivers 2015-06-10 22:55:27 +02:00
Akash 343ecca6ba crc hack 2015-06-10 20:13:27 +05:30
Gregory Hainaut cbcb7962ce Merge pull request #593 from turtleli/gsdx-cleanup-and-fixes
Gsdx cleanup and fixes
2015-06-10 08:14:44 +02:00
Jonathan Li b1acc08c58 GSdx: Linux: Fix wording 2015-06-09 19:30:16 +01:00
Gregory Hainaut 4e82073bfc gsdx-ogl: improve setting bilinear of palette
Instead to disable it, uses GS settings
2015-06-09 09:53:50 +02:00
i30817 4e7e7f2dd5 Nocturne, DDS1 and DDS2 CRC hacks to remove motion blur and smudge filter
Signed-off-by: i30817 <i30817@gmail.com>
2015-06-09 00:25:33 +02:00
Gregory Hainaut 2503d9698c gsdx-ogl: re enable bilinear fitlering on palette for paltex mode
However keep it disabled for StarOcean 3 use cases
2015-06-08 21:01:18 +02:00
refractionpcsx2 95c2622b7f Gsdx: Typo'd! 2015-06-07 18:31:51 +01:00
refractionpcsx2 b5171dfe5d Gsdx: De-crapify Native resolution, potential fix for custom resolutions. 2015-06-07 16:57:55 +01:00
refractionpcsx2 0946958acf Gsdx: Height change on Gregory's recommendation :) 2015-06-07 16:12:14 +01:00
Gregory Hainaut c3c29945b2 gsdx-ogl: only set a cst blend factor when Ad is used
Fix GT4 and potentially FFX
2015-06-07 16:10:59 +02:00
Gregory Hainaut 5daf7aa98f gsdx-debug: keep s_n/pop in sync 2015-06-07 12:39:48 +02:00
Gregory Hainaut 5bf5b5bca4 gsdx-ogl: extend StretchRect to write in depth texture
It will allow to convert color texture to depth texture
2015-06-07 12:39:23 +02:00
Gregory Hainaut 0518aaedc9 gsdx-ogl: unattach palette to avoid noise in debug 2015-06-07 12:39:15 +02:00
Gregory Hainaut 23f8203a22 gsdx-ogl: add some shaders to convert depth <-> color
I'm afraid of rounding error
2015-06-07 12:39:00 +02:00
Gregory Hainaut a5fe8478ae Merge pull request #575 from PCSX2/gsdx-half-screen-snow-engine-v2
gsdx-texture-cache: Improve fix for snow engine game
2015-06-07 10:18:56 +02:00
refractionpcsx2 0a467291f9 Gsdx: Height thing didn't work so well, using old buffer width test again 2015-06-07 03:50:34 +01:00
Gregory Hainaut 0e3349f953 Merge pull request #590 from PCSX2/OpenGL-printf-corrections-removed-shadow-hearts-crc
OpenGL printf wording corrections, removed Shadow Hearts CRC
2015-06-06 21:56:07 +02:00
bositman 1de58349c5 Bleh 2015-06-06 22:39:34 +03:00
bositman 8d61ab2af2 OpenGL printf wording corrections, removed Shadow Hearts CRC (not used anymore in GSstate)
Some minor grammar fixes to OpenGL prints and removed Shadow Hearts CRC
which has been left behind
2015-06-06 22:28:59 +03:00
refractionpcsx2 1fa13163e4 GSDX: Fix for games which change height but keep the same buffer width
- Fix for games that specify a double height, like Pool Paradise
2015-06-06 20:24:10 +01:00
Gregory Hainaut c3dc51826f Merge pull request #541 from TheLastRar/master
DEV9ghzdrk - thread safer calls to DEV9irq
2015-06-06 10:47:32 +02:00
Gregory Hainaut 97467f9e30 Merge pull request #579 from PCSX2/drop-vs2010-support
Drop vs2010 support
2015-06-06 10:47:16 +02:00
Gregory Hainaut 68e44fd354 gsdx: reload the state when GSconfigure is called
It fixes the reloading of openGL option and it avoids
issue during pause/resume.

Fix issue #584
2015-06-06 08:51:53 +02:00
Gregory Hainaut 7e662c50d4 Revert "gsdx: always restore the full gs state object (s_gs)"
This reverts commit 2ea049b5a5.
2015-06-06 00:22:15 +02:00
Gregory Hainaut 4feeaac7d1 Merge branch 'alignment' of git://github.com/xsacha/pcsx2 into xsacha-alignment
Gregory: Get all changes but keep C11 code path which will be the future
 (if someone can find info on Visual Studio support)
* Keep the old posix api to use address sanitizer on gcc 4.9

Conflicts:
	common/build/Utilities/utilities.vcxproj.filters
	common/build/Utilities/utilities_vs2012.vcxproj.filters
	common/build/Utilities/utilities_vs2013.vcxproj.filters
	common/include/Utilities/MemcpyFast.h
	common/include/Utilities/StringHelpers.h
	common/src/Utilities/AlignedMalloc.cpp
	common/src/Utilities/vssprintf.cpp
	plugins/GSdx/stdafx.cpp
2015-06-05 20:31:14 +02:00
Gregory Hainaut e774fecb77 gsdx-ogl: enable again geometry shader on Mesa
Please use a recent Mesa version (10.5 if possible)
2015-06-05 18:59:10 +02:00
Gregory Hainaut 6c8f7a0147 Merge pull request #580 from PCSX2/issue-565-option
gsdx: always restore the full gs state object (s_gs)
2015-06-05 17:51:02 +02:00
Gregory Hainaut 7d124e6a83 gsdx-texture-cache: Improve fix for snow engine game
Instead to hardcode the half-buffer size to 0x140, the new code
compute it.

To avoid regression, I limit the code to big target (>= 1024 pixels)
2015-06-05 09:06:12 +02:00
refractionpcsx2 65b83a36a7 GSDX: Removed some printf's I left in. 2015-06-05 00:13:21 +01:00
refractionpcsx2 91f775f3f0 GSDX: Fixed up some of the scaling height settings
-Last commit broke Snowblind games again
-Width now based on output circuit
-Try to use the smallest possible while being at least the size of the screen
2015-06-05 00:12:15 +01:00
Gregory Hainaut 6f4ec98bc3 gsdx: try to reduce the size of target as much as possible
I suspect too consume too much memory (issue #576)
2015-06-04 22:15:52 +02:00
Gregory Hainaut f8f6117ea9 gsdx-debug: allow to track texture move
Very painful for the cache and the performance
2015-06-04 22:10:04 +02:00
Gregory Hainaut 979ea92754 gsdx: make png++ optional
Some distributions (Fedora) doesn't have a png++ package...
2015-06-04 20:22:05 +02:00
Gregory Hainaut bd2c04a0ec ooups bad copy/past 2015-06-04 19:58:58 +02:00
Gregory Hainaut 2ea049b5a5 gsdx: always restore the full gs state object (s_gs)
It will force a reload of opengl option
2015-06-04 18:29:31 +02:00
Gregory Hainaut c2e851b3a5 gsdx-ogl: don't use slow SW blend for nothing
When A == B, coeff is 0 so <= 1
When C == 2, just check the value of coeff

Barely faster in accurate_blend = 2
2015-06-04 18:18:47 +02:00
Gregory Hainaut ba5b367ae8 drop support of Visual Studio 2010
* Severals PR uses C++11 features
* 2015 will soon be released
* Win 10 will soon be released

Time to upgrade
2015-06-04 08:55:22 +02:00
Gregory Hainaut 85266abd71 gsdx-ogl: use a 8MB vbo/ibo
Dirge of Cerberus draw 143,360 vertices in a single draw!

It is likely to emulate a particle effects

Hopefully improve issue #573
2015-06-04 08:28:40 +02:00
bositman e34477a497 Merge pull request #547 from pgert/master
GSdx > HW-hacks > Rewording comments on duplicate CRC's and minor cleanup
2015-06-03 15:58:28 +03:00
Gregory Hainaut 0d5d94f56e Merge pull request #570 from ssakash/patch-3
Three new Opengl settings for Windows [GUI]
2015-06-03 14:01:39 +02:00