Commit Graph

6617 Commits

Author SHA1 Message Date
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
Gregory Hainaut e3adf823b3 Merge pull request #625 from turtleli/onepad-fix
linux: onepad: Prevent dereference of deleted pointer
2015-06-29 23:47:44 +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
refractionpcsx2 c753f0d206 VIF-MFIFO: Fix for stalls on wait instructions, fixes Stuart Little 3
- VIF Waits for Path3 to flush, but it was firing before it had finished.
-Condition is much cleaner and less hacky now.
2015-06-27 22:47:44 +01:00
ramapcsx2 15944feea1 Merge pull request #620 from turtleli/ui-fixes-again
More gui fixes ( Close console using X, Plugin/BIOS error dialog)
2015-06-27 19:21:50 +02:00
Jonathan Li f9ea013b60 gui: Fix/improve plugin/BIOS error dialog handling
If the user encounters a plugin/BIOS error and the plugin/BIOS dialog is
already open, make the dialog switch to the panel that corresponds with
the error.

Also, fix the open dialog detection and provide a slightly different
messagebox if the plugin/BIOS dialog is already open - for these cases it
won't say "Click Ok to go to the x configuration panel" anymore.
2015-06-27 13:37:30 +01:00
Jonathan Li 0b42db11bd gui: Fix Console close behaviour
When the Console is closed (except through Misc -> Show Console), PCSX2
does not remember that you closed the Console and will reopen it the next
time. You also have to press Show Console twice if you want to reopen
the Console after closing it.

This is caused by the Console looking for its "parent" main emulator
window, when secretly, they're siblings :)

Make the console properly register when it is closed.
2015-06-27 13:37:13 +01:00
pgert 2e4c3c9a17 Improved the HD-fix for Drakan 2 PAL. 2015-06-27 13:56:04 +02: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 f4c22ce932 Merge pull request #612 from turtleli/ui-event-handling-fixes
gui: Dialog handling fixes and cleanup
2015-06-26 15:23:50 +02: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
Jonathan Li bfa46b7f54 Fix when the toggling message appears
Make the toggling message appear only when F9 is actually pressed.
2015-06-26 00:49:30 +01:00
Jonathan Li 9a171a5928 gui: Make Msgbox more consistent
Just use ShowModal. That will invoke pxMessageDialog on the main thread
anyway.
2015-06-25 16:53:10 +01:00
Jonathan Li 2a4bd85f53 gui: Fix looping dialog event handling
The dialog event handling is a bit messed up. An ok/cancel event sends a
close event, which sends a cancel event and repeats. This would actually
be an infinite loop if wxWidgets didn't detect a loop.

Rework the event handling to avoid the loop and to remember the
positions of modal dialogs as well.
2015-06-25 16:46:20 +01:00
Akash 4b472bb461 Console log message for current renderer. 2015-06-25 20:15:45 +05:30
Jonathan Li d9447de492 linux: Fix close button on minimisable modal dialogs
Keep Windows platform specific fixes ifdef'd to Windows only.
2015-06-25 15:45:45 +01:00
Jonathan Li d6d4a1a983 linux: wx3.0: fix broken messagebox handling
Do not do additional processing on an event after EndModal is called.

This fixes a message box bug on Linux wx3.0 builds. Without this fix,
Release and Devel builds emit cancel signals even if 'Ok' or other
buttons are pressed, and Debug builds trip an assertion with the message
"EndModal called twice or ShowModal not called."
2015-06-25 15:26:55 +01:00
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
Jonathan Li 98a7058794 Remove 'Disable vsync in software rendering' code
PCSX2 doesn't know whether it is in hardware or software mode. So this
code does not work if the user is using software rendering mode without
F9 toggling.

Don't disable vsync if the user toggles rendering mode.
2015-06-21 20:39:31 +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 e0da81a44e Reworked missing BIOS handling
When booting a game, a missing BIOS (and possibly other BIOS errors)
will crash or lockup PCSX2 (except for a Windows wxWidgets 2.8 build,
I have no idea why). The messagebox that appears is also badly
formatted.

Use the event queue to handle the error instead of dealing it with
immediately and fix the appearance of the messagebox.

This also deletes the BiosSelectorDialog code since it isn't used
anymore and fixes a condition where, on plugin load failure, the
component selector dialog may open up at the wrong page.
2015-06-20 13:46:18 +01:00
Jonathan Li 3e69113f48 Fix logging in wxWidgets 3.0
wxWidgets 3.0 requires DoLogRecord, instead of DoLog, to be overridden.
2015-06-19 22:14:49 +01:00
Jonathan Li 8de94a3714 Fix string handling on Windows wxWidgets 3.0 2015-06-19 22:14:49 +01:00
Jonathan Li cde4670cbd Include rpcrt4.lib as pcsx2 linker dependency 2015-06-19 22:14:48 +01:00
Jonathan Li fbf71218f1 Remove wxWidgets linker dependencies in property sheet
The wxWidgets projects have already been specified as references for
both the SPU2-X and pcsx2 project, so there is no need to also specify
the static libraries as additional linker dependencies.
2015-06-19 22:14:47 +01: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
Jonathan Li 2a7d7b54d3 Fix wxWidgets 3.0 Windows command line help hack
wxWidgets 3.0 now calls Output() instead of Printf() for wxMessageOutput
derived classes. Fix the command line help hack so it works for that.
Also use wxString instead of FastFormatUnicode, it's simply not needed
here.
2015-06-19 22:14:46 +01:00
Jonathan Li 760de9915b Add Virtual Key to WX Key Translator
wxCharCodeMSWToWX() has been removed from wxWidgets 3.0 and the
replacement does not have the same behaviour. Add a replacement function
to translate Windows VK_* keycodes to WXK_ keycodes.
2015-06-19 22:14:46 +01:00
TheLastRar 0be0f13acf dev9ghz: delete leftover registry keys 2015-06-19 15:46:51 +01:00