Commit Graph

5033 Commits

Author SHA1 Message Date
lightningterror c8f52b0ba3 GSdx-ogl: Move rgb channel 7 to empty slot 5. 2018-11-25 04:06:04 +01:00
lightningterror 193bda164b GSdx: Make OI_TalesOfLegendia hack active only when depth is not supported/disabled.
Fixes right half screen issue on TalesOfLegendia. UI elements of the
screen are properly emulated with depth emulation on gl (possibly fixed
by
1cc696ab31).
Shadows will be glitchy if crc hack level is below partial level.
I'm not even sure if the hack is useful at all anymore since it
introduces issues now.

Issue #2692
2018-11-24 13:40:36 +01:00
lightningterror 3b96e98eac GSdx: Add crc id for Tenchu Fatal Shadows JP. 2018-11-24 02:34:02 +01:00
lightningterror 292e7a6573 GSdx-osd: Remove/purge OSD Indicator code.
The code was never working properly ( tested by @tadanokojin ) so let's
clean up and remove it. If someone actually wishes to maintain it then
they can re add it and update the code to a functional stage.
2018-11-18 14:15:17 +01:00
lightningterror a092806d38 GSdx-gtk: Adjust some spacing, ocd satisfaction and preparation for the next commit. 2018-11-18 14:15:17 +01:00
lightningterror 9994111173 Gsdx: Adjust GSC_Oneechanbara2Special (Zombie Hunters 2) crc hack.
Add a few crc ids (ntsc-j and eu).
Adjust hack, crc hack won't be active on native res if crc level is
below Aggressive state.

Issue #2007
2018-11-18 01:16:50 +01:00
lightningterror 11ddfefb60 GSdx-TC: Adjust comment for PaletteMap when 8-bit texture is disabled.
Follow up to the requested comment changes at
https://github.com/PCSX2/pcsx2/pull/2681#pullrequestreview-174683105
2018-11-17 21:38:35 +01:00
lightningterror 0161c2838e GSdx: Add some extra comments for GSC_HauntingGround crc hacks. 2018-11-17 21:20:27 +01:00
lightningterror ae2642e55a GSdx: Remove blur/ghosting crc hacks for GSC_ShadowofRome.
Upscaling issue. Half Pixel Offset hack solves the issue.
2018-11-17 20:33:39 +01:00
lightningterror d8702a9523 GSdx: Add google translated comments for crc hacks in GSHwHacks.cpp.
Cutie Chinese comments, they were removed in commit

21522e71b2

It's better to have google translated comments than nothing, at least we
have something to go on when doing future testing.

Also ghosting and blur crc hacks might need to be updated as they may
not be necessary on native res only.
2018-11-17 03:09:43 +01:00
lightningterror 210829f633 GSdx: Remove/purge commented out hacks "GSHwHacks.cpp.
List: GSC_Tekken5, GSC_TombRaiderUnderWorld, GSC_XE3, GSC_AceCombat4,
GSC_SoTC, GSC_ResidentEvil4.

Note: I left GSC_ValkyrieProfile2 in there because it might need to be
re enabled for dx, someday will look in to it when I'm up for the task.
2018-11-17 02:19:36 +01:00
Shanoah Alkire cfb61c71dd GSdx: Prevent Null Renderer from crashing in Linux. 2018-11-16 14:50:25 -08:00
arcum42 2e1db411fa GSdx: Folder Reorganization. (#2657)
This pull request is for the pending reorganization of the folder structure on GSdx,
making it better organized and easier to work with.

Also remove unused GSTextureFX.cpp file.
2018-11-16 19:41:37 +01:00
Jonathan Li 15733ed8cf gsdx: Fix memory leak
The memory was allocated with new so it should be freed with delete and
not _aligned_free. Fixes the destructors not being called.
2018-11-16 02:00:42 +00:00
iMineLink 42aee34482 GSdx-TC: Use PaletteMap also when 8-bit texture is disabled by caching only clut copies. (#2681)
Enabled caching of clut copies with PaletteMap also in the case 8-bit texture is disabled, which is the default (on #2344 the caching of clut copies and palette textures was done only when 8-bit texture was enabled).
Brings moderate speedups ~10% in the most concitated parts of the ZoE2 Anubis benchmark, but may improve performance in all the cases when there are many Source objects created with clut copies to be stored.
The quality of the comments has been improved to better highlight the mechanics of the caching system.
2018-11-13 19:22:13 +01:00
lightningterror ef3802b67a GSdx-d3d: Rename Blend Selector to better match opengl code.
Use member name.
om_bsel - > m_om_bsel
2018-11-13 01:56:11 +01:00
lightningterror 41459e6a2c GSdx-d3d: Rename Depth Stencil Selector to better match opengl code.
om_dssel - > m_om_dssel

Blend selector next.
2018-11-13 01:25:15 +01:00
lightningterror 63f9d419f8 GSdx: Rename some variables in GSHwHack.cpp.
GSC_TombRaider -> GSC_TombRaiderAnniversary,
GSC_Burnout - > GSC_BurnoutGames,
GSC_GetaWay - > GSC_GetaWayGames,
GSC_Castlevania - > GSC_CastlevaniaGames.
2018-11-12 21:15:12 +01:00
lightningterror a26dc73836 GSdx-gui: Switch places for "Alpha Correction" and "Logarithmic Z" on d3d9. 2018-11-12 20:13:47 +01:00
lightningterror 48d90a988a GSdx-d3d: Remove not yet used rt parameter in channel shuffle function. 2018-11-11 23:59:11 +01:00
lightningterror b26ed0db60 GSCrc: Small comment correction that I didn't notice before. 2018-11-11 03:45:06 +01:00
lightningterror 3280860ca9 GSdx: Add a couple of GT3/4 crc ids.
Rare demo/beta discs.

Source:

https://forums.pcsx2.net/Thread-Testing-out-games-not-in-the-database?pid=593185#pid593185
2018-11-11 03:42:35 +01:00
iMineLink 292dbbb6ac GSdx-TC: Remove virtual specifier from PaletteKeyHash operator, PaletteKeyEqual operator and Palette destructor. (#2680)
Small follow up corrections from #2344 highlighted by @turtleli
2018-11-10 18:50:19 +01:00
Dmitry 1b0b89776f GSdx: Removed crc id 0x7D4EA48F (multiloader). (#2677)
Removed crc id 0x7D4EA48F and mentions of that id and it's duplicates. The id is from a multiloader when packing images, and not an actual crc id from a game(s).
2018-11-10 02:27:38 +01:00
Silent b8b6a55952 Removed hack - use xinputNotInstalled as a flag instead of reusing pXInputEnable 2018-11-08 10:26:00 +00:00
Silent c280d69d6f Call XInputGetState only when XInputGetExtended is not 2018-11-08 10:26:00 +00:00
iMineLink 9fa1b290ba GSdx-TC: Palette management rework. (#2344)
This follows the 4th point of #2310.
The idea was to rework the current palette texture management to improve performances with games that uses multiple palettes for the same data texture.

The new management shows small to none performances improvement in almost every game in terms of FPS, and it lowers the GPU BUS usage by some percentage points in games like Baldur's Gate: Dark Alliance (9% to 7%) which uses many palettes.

The hot topic is that the performances in Zone Of The Enders 2 skyrocketed (2x), because of the fact that the game uses many palettes and a small number of textures to render it's effects.

For more detailed information check the PR  #2344
2018-11-04 22:06:24 +01:00
Dmitry 3ccc53ee74 GSdx: Add a CRC id for RedDeadRevolver RU. (#2673)
Add missing RU crc id: RedDeadRevolver
2018-11-03 22:40:49 +01:00
lightningterror 9fdb7f6cd5 GSdx-gui: Remove "Recommended" word from crc hack levels Partial and Full.
Some users get confused and change the setting to a recommended option.
This can cause some issues when switching different hw render types.
Most of the time users shouldn't change the option and leave it on
Automatic.
Also remove ICO from crc Aggressive tooltip.
2018-11-02 14:54:24 +01:00
lightningterror fd75085111 GSdx-gui: Increase the vertical size for the drop down list for crc hack level, blending accuracy, and TV shader.
Gets rid of scroll bars appearing on GSDumpGui, also fixes TV Shader
drop down list issues.
2018-11-01 00:08:39 +01:00
Akash fc1d9aef09 GSdx-GUI: Disable large framebuffer for custom res
No longer needed after I combined the aligorithm in my previous commit.
2018-09-27 15:41:52 +05:30
Akash dce6d3f451 GSdx-HW: Remove inefficient scaling algorithm
Only impacts custom resolution, there used to be a much weaker algorithm
which doens't consider scissor sizes and gives a minor performance boost
in costs of accuracy (which was used when large framebuffer was disabled
in custom resolutions)

I've removed this as the performance tradeoff is rather negligible after
the implementation of #1942 and the older one is no longer necessary.
Also added an extra parameter for considering the horizontal scissor,
I'm not sure where this might be useful so this is disabled in code for
now till I discover a testcase where this helps or run it on random data
ensuring it's working properly.

Also porting this to the general scaling function might help with memory
spikes which are experienced when large framebuffer is enabled.
2018-09-27 15:34:26 +05:30
Shanoah Alkire 6710b0c906 Get rid of a few GSdx warnings. Remove some extra newlines in Sio's console output. 2018-10-27 01:59:53 -07:00
lightningterror 0cbbf2daf9 GSdx: Add an enum for channel fetch. 2018-10-23 16:52:47 +02:00
lightningterror bb5d120a3b GSdx-d3d: SetupDATE - > use pretty enum names. 2018-10-20 21:12:16 +02:00
lightningterror 6dca3656ed GSdx: Add Harry Potter and the Half-Blood Prince to automatic mipmapping. 2018-10-19 22:16:00 +02:00
KrossX df307bed02 GSdx-d3d: Add macro to support ScalingFactor in shaders. 2018-10-19 11:36:23 +02:00
lightningterror 5ef53b4587 GSdx-d3d: Partial port of the ICO HLE workaround.
We can't do a full port because channel shuffle and depth sampling need
to be ported to d3d but at the very least we can do a partial port that
skips the bad draw calls.
This way we can remove all the remaining crc hacks for ICO in GSHwHacks.
2018-10-19 07:15:06 +02:00
lightningterror 6ab47c934d GSdx: Revert disabled crc hack on native res for SFEX3.
I forgot that it's not an upscaling issue.
2018-10-18 16:13:45 +02:00
lightningterror 411e434baf GSdx-d3d: Move around some functions in DrawPrims to better match ogl.
IsOpaque(), EmulateChannelShuffle, dfmt check for 24bit alpha channel.
2018-10-18 07:02:45 +02:00
lightningterror c92e76b17e GSdx-gui: Change internal resolution drop down list names.
This should make things a bit easier for users when picking resolutions.

Native (PS2)
2x Native (~720p)
3x Native (~1080p)
4x Native (~1440p 2K)
5x Native (~1620p 3K)
6x Native (~2160p 4K)
8x Native (~2880p 5K)
Custom (Not Recommended)
2018-10-16 16:48:50 +02:00
lightningterror 933e43cb58 GSdx: Change how crc hacks work on native res.
Change the code so that some crc hacks on some games that remove
ghosting/blur issues on upscaled resolutions are disabled on native
resolution if crc hack level is below Aggressive state (most of the time).
They aren't needed then so why don't we aim for better accuracy.
2018-10-15 20:41:23 +02:00
lightningterror 5f9ddd2f83 SPU2-X: Adjust NextA case comments a bit. 2018-10-15 15:16:12 +02:00
lightningterror eb955592ee SPU2-X: Also include the registers from case 5 since it makes more sense to have both NextA writable.
Continuation from:

6b22450a1b
2018-10-15 13:15:40 +02:00
lightningterror 6b22450a1b SPU2-X: Fixes a regression with Wallace And Gromit: Curse Of The Were-Rabbit sound cutting off.
Follow up from PR #2315
Partially reverts commit:
https://github.com/PCSX2/pcsx2/commit/57cbc901b
2018-10-15 13:03:31 +02:00
Shanoah Alkire 6ad4345a39 A few more flags that slipped by the last commits. 2018-10-13 14:45:13 -07:00
Shanoah Alkire 149f30c7fa Removing some warnings from GSdx and pcsx2 because gcc 8 spams them mercilessly. They should probably be fixed properly, but in the meantime, this'll prevent them from masking other compiler warnings. 2018-10-13 13:56:38 -07:00
Shanoah Alkire 70033020a3 Update compiler flags, as a number of plugins didn't have them set. Setting -Wno-parentheses across the board to suppress warnings about gtk from gcc 8. 2018-10-13 11:05:27 -07:00
Shanoah Alkire af646895f4 onepad_legacy: Separate the wx dialog code from the linux code here, too. 2018-10-12 23:09:24 -07:00
Shanoah Alkire a892a95af7 onepad: Start to separate wx dialog code from linux code, as wxWidgets is multiplatform. 2018-10-12 22:29:38 -07:00
lightningterror fa53968b3c GSdx-gui: Forgot to update the buttons in Capture Settings. 2018-10-10 21:44:11 +02:00
lightningterror f3610b7c5c GSdx-gui: Minor spacing changes to some buttons. 2018-10-10 21:35:00 +02:00
Shanoah Alkire b5e8a2166b Onepad_legacy: Add missing header copyright notices. 2018-10-09 23:25:40 -07:00
Shanoah Alkire 7837d69021 Remove the -fpermissive flag, as it doesn't actually seem necessary, and it generates a compiler warning. 2018-10-09 23:13:31 -07:00
Daniel Nowak a84a315473 Dev9ghzdrk: Get host mac correctly on Windows. (#2619)
Follow up from #2586 which ensures that MAC address is unique on Xlink Kai when using Windows.
Previous build was returning last two bytes as 00:00 rather than last two bytes of host adapter's MAC.
2018-10-09 20:37:41 +02:00
lightningterror eac7527b93 GSdx-d3d: 24bit no alpha channel port from OpenGL.
Commit:

419dfe0544
2018-10-09 20:25:37 +02:00
lightningterror b360c07253 glsl, fx: Update point sampler comment. 2018-10-09 09:07:45 +02:00
lightningterror b1ca6ba528 GSdx-d3d: Use a pretty enum for ate_second_pass. 2018-10-08 23:58:15 +02:00
lightningterror 0dcd60b524 GSdx-d3d: Remove point sampler from d3d9.
It did nothing.
2018-10-08 21:22:34 +02:00
lightningterror c337ab6a66 GSdx-d3d: Use Colormask instead of GSDXRecoverableError on d3d9 texture shuffle.
Might be better.
2018-10-08 21:12:05 +02:00
lightningterror 201e7d1430 GSdx-d3d: Reformat GSRendererDX11.cpp. 2018-10-08 07:19:07 +02:00
lightningterror e5565d32b1 GSdx-d3d: Port directly set impossible mode in the blending table from OpenGL.
Commit:
97b38d9e1b
2018-10-08 01:06:45 +02:00
Shanoah Alkire f965502187 onepad_legacy: delete dead code. 2018-10-06 23:05:01 -07:00
Shanoah Alkire 896c9cccec onepad_legacy: reformat code. 2018-10-06 22:54:47 -07:00
Shanoah Alkire f800ed9c2e Onepad-legacy: Even if std is used all over the place, lets not put the entire project in std's namespace. 2018-10-06 20:01:23 -07:00
lightningterror e44fc33d48 GSdx-d3d: Add some comments in blendmap enums. 2018-10-06 08:26:45 +02:00
lightningterror 4a2549ef24 GSdx-d3d: Make blend enums easier to read.
Easier on the eyes this way.
2018-10-06 08:00:25 +02:00
Shanoah Alkire db18a01a7b Update Onepad's controller list. 2018-10-05 13:48:18 -07:00
lightningterror 379d9e4b88 GSdx-d3d: optimize colclip 0 port from OpenGL.
Commits:
7979dec5b0
15b934eb2a
2018-10-05 08:40:01 +02:00
KrossX 5719c6c3c0 glsl: remove signed int cast side (masks and offsets are unsigned to begin with.
Issue #2617
2018-10-04 20:47:03 +02:00
lightningterror 614209be2d GSdx-d3d: Change DATE variable to local. 2018-10-04 05:39:01 +02:00
lightningterror 940263d490 GSdx-gui: Adjust space/rows on some tooltips so they fit better, rename Auto to Automatic list on adv. gl settings in hw hacks. 2018-10-03 15:27:42 +02:00
KrossX 2d094cbc3b tfx.fs: Remove whitespaces. 2018-10-03 15:21:46 +02:00
KrossX 9d562a454b GSdx: Limit Wrap negative UV when PS_FST is 0 only. 2018-10-03 15:21:46 +02:00
Daniel Nowak da1eb056a3 Add network capability for Linux (#2586) 2018-10-02 21:37:34 -07:00
lightningterror 694546e870 GSdx-d3d: Add colclip_wrap variable. 2018-10-03 05:50:54 +02:00
lightningterror ef29daa9d0 GSdx-d3d: purge GSDrawingContext* context and GSDrawingEnvironment env from GSRendererDX.h
Not used anywhere in dx code and the code is already defined in
GSState.h with member variable names.
2018-10-03 04:41:17 +02:00
Shanoah Alkire 7641d6726f New helper include for gtk for use in plugins. Mostly based on the gtk 2/3 helper functions I added to spu2-x for the moment. 2018-10-02 01:20:54 -07:00
lightningterror 08a270a429 GSdx-d3d: Reformat GSRendererDX.cpp.
Let's keep the file clean and use 1 type of formatting and not a bunch.
It's easier to read this way and looks tidy.
Also correct some commented out code in Texture Sampler.
2018-10-02 02:16:38 +02:00
lightningterror 2aedb97796 GSdx: Add a crc id for Burnout Revenge EU. 2018-10-01 23:29:46 +02:00
lightningterror f6ba6cc3a9 GSdx-gui: Remove Xenosaga tooltip from TC Offset hack.
No longer needed since the issue is fixed.
Commit:

629d2bd425
2018-10-01 22:42:17 +02:00
KrossX 629d2bd425 GSdx: Wrap negative UV on region repeat wrap mode.
Makes UV coord be on the range [0, SIZE) before applying mask and
offset. This fixes Xenosaga's hair for example, which has negative UV
coords.
2018-10-01 22:38:22 +02:00
KrossX e90c87a8ef GSdx-d3d: Keep fract in [0;1] range port from OpenGL.
Fixes texture flickering in Oni on d3d11.

Commit:
a8968257db
2018-09-28 02:33:58 +02:00
KrossX 560966c539 GSdx-d3d: Update nvidia hack with vendor id detection.
Hack will no longer be active on Intel or AMD gpus.
Also remove UserHacks_disable_NV_hack. sprite hack
basically does the same thing so it's kinda useless.
2018-09-25 08:35:05 +02:00
KrossX e063be3043 GSdx-d3d: Port mipmap max_layer calculation from opengl to direct3d.
Fixes texture corruption on direct3d when full mipmapping was used.
2018-09-25 08:35:05 +02:00
Jonathan Li 3fe9ff7ac8 gsdx: Split TC offset hack into X and Y components 2018-09-20 01:01:49 +01:00
Jonathan Li 2f5ba10e6b gsdx:hw: Move TC offset variables to GSRendererHW
Also rename them for consistency.
2018-09-20 01:01:49 +01:00
lightningterror 728fa2c1a4 GSdx-d3d: tfx.fx correct texture shuffle shaders.
Some values were incorrect, now I'm no expert but looking at the code
and behavior seemed a bit wrong compared to gl.

Improves d3d rendering on Sonic Unleashed, the purple screen is gone
matching it with gl visuals.
2018-09-17 14:26:08 +02:00
lightningterror 8acc319a4a GSdx-d3d: Mask alpha channel on 24bit format.
dfmt is not supported but we can use the variable to select the
frame buffer format and later disable writting to the alpha channel.

MGS3 sees an improvement, and possibly other games as well.
So far didn't spot any regressions.
2018-09-16 12:54:47 +02:00
lightningterror 14a62c3a3f GSdx-tc: Update fb conversion hack comment with latest d3d changes.
D3D10/11 now supports fb conversion through a shader but only on native
res for now.
Nobody cares about D3D9 so don't ask :).
2018-09-15 14:27:04 +02:00
lightningterror 577bfaa8cd GSdx-d3d: Move Selector reset states in to a separate function.
Also move vs_sel def in header file and rename it using the member name.

Code is easier to read/move/adjust similar to GL.
2018-09-15 05:49:18 +02:00
lightningterror f40c1de919 GSdx: GPU accelerate 8 bits texture conversion port from OpenGL to Direct3D11.
Commit:
d29e375f72

Only native res is supported currently, but it's still great progress.
Someone needs to port the ScalingFactor to D3D from commit:
6121677aa1

Credits to KrossX for porting the shader.
2018-09-13 19:56:59 +02:00
lightningterror 6b52cc9829 GSdx-gui: Minor osd gui adjustments.
Grey out scrolling speed and maximum onscreen messages when
Enable Log is not checked.
2018-09-13 03:23:36 +02:00
lightningterror ad143d92da GSdx: Add Yakuza ntsc-u demo crc id. 2018-09-12 11:33:07 +02:00
lightningterror 6b2fcbd070 SPU2-X-gui: Small corrections requested by turtleli. 2018-09-03 20:58:26 +02:00
lightningterror c39dc3dd78 GSdx-gui: Minor adjustements.
Purge unused IDC_CHECK_DISABLE_ALL_HACKS tooltip from old GSdx versions.

Rename TC Offsets to Texture Offsets.
2018-09-03 20:48:17 +02:00
lightningterror e1fcd569e7 SPU2-X: More gui adjustements.
Adjust gui accross various gui windows.
Adjust naming, positioning of buttons, spacing ...etc.
The different windows should look more similar and not be different.

Also purge IDD_XAUDIO2 window that wasn't used anywhere.
2018-09-03 11:31:41 +02:00
lightningterror 96a62351ac GSdx: GSHwHack.cpp adjust a few lines I forgot in the previous commit. 2018-09-03 04:51:53 +02:00
lightningterror 38366c084e GSdx: Adjust Yakuza games crc hacks and do some reformatting.
Add a missing crc id for the US version,
, move the crc to DX level - effect is emulated correctly on OpenGL with
depth,
merge the two Yakuza hacks together and reformat it making it easier to
be read.
Skip 3 also seems to work on Yakuza 2.
Related commit:

7f0f19ee02

Reformat the code a bit, ocd satisfaction.
2018-09-03 04:36:11 +02:00
lightningterror 5b9e93c652 GSdx: Add Sly2 Internal prototype disc crc id. 2018-09-01 03:03:20 +02:00
lightningterror 846f31851e GSdx-gui: Grey out Texture filtering and Interlacing on Null. 2018-08-29 02:12:00 +02:00
Jonathan Li 22f1048e8f gsdx:windows: Show different adapters for each renderer
OpenGL does not allow an adapter to be selected, and the available
adapters for D3D11 and D3D9 may be slightly different.
2018-08-29 00:48:16 +01:00
Jonathan Li e4dd0069ca gsdx:windows: Don't refer to D3D10
Direct3D11 is used even if the user's GPU only supports Direct3D feature
level 10.0.
2018-08-29 00:48:16 +01:00
Jonathan Li 05004450a0 gsdx:windows: Refactor D3D11/9 adapter enumeration code
Move the code into separate functions.
2018-08-29 00:48:16 +01:00
Jonathan Li 3e8f9ac518 gsdx:windows: Init hacks dialog member variables in constructor
The skipdraw variables can now be initialised in the constructor as the
dialog no longer preserves state when it is reopened.
2018-08-29 00:48:16 +01:00
Jonathan Li 4d8dea0892 gsdx:windows: Open sub dialogs using temporary objects
This prevents the dialog from preserving state after it is closed, which
simplifies the logic slightly for reopening the dialog.

Also remove an unused variable.
2018-08-29 00:48:16 +01:00
Gregory Hainaut eb104f60e2 round count in constructor (to squash) 2018-08-28 15:30:56 +02:00
Gregory Hainaut b6db0a3c30 gsdx ogl: allow to reallocate the vertex/index buffer
Replace some raw pointers with unique_ptr

When Vertex buffer is updated, we should set again the layout
2018-08-28 15:30:56 +02:00
Gregory Hainaut 5694ef56ca gsdx ogl: use vector for layout parameter of Vertex Array
And keep the state in the object
2018-08-28 15:30:56 +02:00
lightningterror d09ac6d589 GSdx: Add some crc ids for HarryPotterATPOA KO/JP. 2018-08-27 21:26:19 +02:00
lightningterror 122f730608 glsl: Replace leftover tabs with spaces in shaderboost.
I believe all glsl files are cleaned up now.
2018-08-27 14:01:25 +02:00
arcum42 7c33694c1a SPU2-X (Linux): Lets try this again. GTK 3 fixes. Volume slider added. Latency slider shows ms. Debug button disables and reenables. Various dialog box tweaks. 2018-08-25 15:20:14 -07:00
arcum42 78282c7ed7 Revert my last couple commits because they don't meet a robot's code formatting standards. 2018-08-24 19:34:48 -07:00
arcum42 33db759a77 Attempt to placate evil spirits. 2018-08-24 18:58:43 -07:00
arcum42 10ac426fd5 Spu2-x(Linux): Debug button greys out when appropriate. Minor cleanup on last commit. 2018-08-24 16:09:37 -07:00
arcum42 4c9525c9d9 Spu2-X (Linux): Dialog cleanup. Add volume control. Switch Ok/Cancel buttons to be the same as other plugins on Linux. Add in code for GTK 3 to get rid of depreciation warnings. 2018-08-24 13:41:56 -07:00
lightningterror bcb7805c11 GSdx-gui: Don't disable Anisotropic Filtering on gl when Allow 8-bit textures is enabled.
Anisotropic works even with 8bit textures enabled.
2018-08-24 13:12:26 +02:00
lightningterror 1aeec47b30 glsl: Replace leftover tabs with spaces in tfx_fs. 2018-08-22 20:12:53 +02:00
lightningterror d7cdbf6f27 Gsdx: Point Sampler changes.
Re add point sampler to OpenGL. Fixes graphical issues when
Allow 8-bit textures is enabled on AMD gpus.
Issue: https://forums.pcsx2.net/Thread-GSDX-Hardware-mode-Bug-Report-Allow-8-bit-Texture

Adjust the code to be easier to read, and execute the gl code only on amd - suggested by Gregory.

Remove useless ATI_SUCKS define in tfx shader.It wasn't used anywhere outside of the shader.
2018-08-22 20:12:53 +02:00
lightningterror cf222d1ccf GSdx: Add Ape Escape 2 to automatic mipmapping. 2018-08-21 17:28:14 +02:00
lightningterror 937fee84f4 GSdx-gui: Put TC Offset X Y hacks in one line similar to Skipdraw Offset 2018-08-21 14:35:17 +02:00
lightningterror 11bad7b07a GSdx-d3d: Reduce state change - port from GL.
Commit: 37f9bcf9cb

Don't dirty aref when a fog color is uploaded.
Only set clamp mode in clamp mode (region clamp is handled in shader).
2018-08-21 13:56:06 +02:00
lightningterror 6eb385fd9b GSdx-d3d: s/sample_4a/sample_4_index/ 2018-08-21 13:56:06 +02:00
lightningterror 188a1f1416 GSdx-d3d: Drop an useless min in FS - port from GL.
Commit: a1957a685d

GPU will clamp color anyway. It reduces the number of instruction of 25%
(4->3).
2018-08-21 13:56:06 +02:00
FlatOutPS2 1498f538dd gsdx:hw: Enable skipdraw hack to skip a range of draw calls
Enhance the skipdraw hack by allowing skipdraw to skip a range of draw
calls.

For example: When the broken effects are at frames 90-100, the default
skipdraw always skips 0-100, possibly skipping several functioning
effects as well. By enhancing the skipdraw feature, it is now possible
to skip just frames 90-100.

For the example given above set the first box to 90 and the second box
to 100 to skip frames 90-100.

coauthor:turtleli (Linux GUI + tidy/simplify Windows GUI code)
2018-08-20 23:35:01 +01:00
lightningterror fc1d88cb51 GSdx-gui: Revert spacing between Texture filtering and Hardware settings.
I forgot all about OpenCL which caused some overlapping with the OpenCL
device option.
2018-08-20 02:10:00 +02:00
lightningterror 51cf02d27b GSdx-gui: Adjust main gui spacing.
Decrease spacing between Hardware Settings and Texture Filtering
slightly. It was a bit too much before,
Adjusted spacing to be equal between options, some had incorrect
spacing.

Maybe Accurate Date and Blending Unit Accuracy can be swapped.
2018-08-19 23:05:02 +02:00
arcum42 04ff2aff65 Add the Logitech Rumble Gamepad F510 to onepad's database. 2018-08-18 12:11:01 -07:00
arcum42 c695d6a3a3 Make the dialog for zzogl-pg GTK 3 compatible. 2018-08-17 19:13:51 -07:00
Jonathan Li d258ef6275 gsdx:gtk: Improve dialog for small screen resolutions
Makes all the tabs scrollable, which makes the dialog more usable (the
OK button should always be present unless the screen is absurdly small).

Only checked on GTK3.
2018-08-12 19:38:21 +01:00
Jonathan Li 546eac4646 gsdx:gtk3: Fix fetching of monitor resolution
The user may not have configured a primary monitor, so get the
resolution of the monitor that the mouse cursor is currently located on.
2018-08-12 19:38:21 +01:00
Jonathan Li 8391b08e8f gsdx:gtk+3: Adjust visual layout
Use hexpand instead of expand, and use margin-start instead of
margin-left (margin-left is deprecated in GTK+ 3.12). IMO it looks
better this way.

Also, set the properties using gtk_widget_set_* instead of g_object_set.
2018-08-12 19:38:21 +01:00
Jonathan Li c28353e01f gsdx:gtk3: Switch to non-deprecated GTK3 API
The widget expanding issue seems to have resolved itself (probably a
change on the GTK3 end).
2018-08-12 19:38:21 +01:00
lightningterror 8a4cfe9b23 SPU2-X-gui: Update gui interface.
Adjust/tidy up the gui to make it more appealing,
some bad positioning has been fixed.

Properly grey out Audio Expansion Mode text when
the option is inactive.
2018-08-09 20:22:10 +02:00
Jonathan Li 29eb9f05de spu2-x:gtk3: Fix hbox/vbox deprecation warnings 2018-08-08 00:27:49 +01:00
Jonathan Li 811605fcb5 spu2-x:linux: Reduce non-timestretch minimum latency to 3ms
This matches the Windows GUI behaviour.
2018-08-08 00:27:49 +01:00
lightningterror ca35e707c4 GSdx-gui: Properly grey out Anisotropic Filtering text when the option is inactive. 2018-08-07 13:12:24 +02:00
lightningterror 352fbf0c1f GSdx-gui: Update CRC Hack Level tooltips.
Update Aggressive level tooltips.
Display the correct games that have Aggressive level crc hacks.
2018-08-07 11:41:28 +02:00
Jonathan Li 8b6ffc3f45 gsdx:ogl: Remove unused variables
Fixes some clang warnings.
2018-08-07 00:15:10 +01:00
Jonathan Li 354b11c619 onepad|spu2-x: Avoid -Wmissing-braces on clang 2018-08-07 00:15:10 +01:00
lightningterror a0f96189d3 GSdx: Adjust God of War II crc hack.
Extend the hack to remove the water / hell effect (vertical lines) on
interlaced mode.

Close #2533
2018-08-04 20:07:26 +02:00
lightningterror 6cfe287c70 GSdx: Add/adjust crc ids.
Add God of War Demo ntsc,
Add Burnout Takedown E3 Demo ntsc,
Adjust regions for Harry Potter ATCOS/ATPOA,
Add comment for crc 0x7ACF7E03 - multiloader.
2018-08-03 12:35:26 +02:00
ivan89el f80af64a2b GSdx: Adjust ShinOnimusha crc hack. (#2521)
The hacks remove smoke/fog effects. They are rendered correctly so let's move the hacks to Aggressive crc state. They can be used as speedhacks.
2018-08-01 11:25:24 +02:00
lightningterror 59ec48a120 GSdx: Add games to automatic mipmapping, add some crc ids.
Automatic mipmapping: Harry Potter (Chamber Of Secrets,
Prisoner of Azkaban,  Order Of The Phoenix), The Incredible Hulk:
Ultimate Destruction.

Add some missing crc ids for GT4 demo discs.
2018-07-31 02:43:21 +02:00
Jonathan Li 219519b578 spu2-x:linux: Fix ini path issue
Fixes an issue with opening ini files when a non-ASCII path is used.
2018-07-23 00:51:02 +01:00
Jonathan Li 286e7293fa gsdx:windows: Fix screenshot/GS dump path issues
Fixes an issue with screenshots/GS dumps not saving if the path contains
characters not present in the current codepage.
2018-07-23 00:51:02 +01:00
Jonathan Li c9dbd4118b misc-plugins:windows: Fix ini/log path issues
Fixes some issues with opening ini/log files when the path contains
characters that are not present in the current codepage for the
following plugins:
SPU2-X
LilyPad
cdvdGigaherz
Dev9null
USBnull
FWnull
2018-07-23 00:51:02 +01:00
Jonathan Li 126bfa3ee7 dev9null|fwnull|usbnull:windows: Export *setLogDir
Now changing the log directory actually works.
2018-07-23 00:51:02 +01:00
ivan89el d09737dbb5 GSdx: Adjust Spartan crc hack, add missing crc id. (#2510)
Adjust Spartan crc hack: Combine/ease the hacks in to one.
Only remove the glow/yellow bloom effect and don't skip any other effects that shouldn't be skipped. UI and some other post processing effects work properly now.

Add crc id CrashBandicootWoC RU.
2018-07-19 19:33:06 +02:00
Christian Kenny 6d1d32cd83 GSdx: Add Harry Potter Order of the Phoenix to automatic mipmapping. 2018-07-19 04:37:14 +02:00
Dmitry dca7bf5edc GSdx: Add/adjust some CRC ids. (#2512)
Add some missing RU crc ids: Onimusha3, ICO, TombRaiderUnderworld, SoulReaver2, LegacyOfKainDefiance.

Removed crc id 7ACF7E03 and mentions of that id and it's duplicates. The id is from a multiloader when packing images, and not an actual crc id from a game(s).
2018-07-19 00:53:22 +02:00
ivan89el 4ebfceffd2 GSdx: Add some missing crc ids.
Add FinalFightStreetwise RU, SoulCalibur3 RU. Correcting the wrong id TenchuFS RU (the elf was modified widescreen cheat, sorry). Delite Kunoichi RU (the elf was modified widescreen cheat, the original coincides with the EU).
2018-07-15 22:03:08 +02:00
ivan89el 75264ee423 GSdx: Adjust Kunoichi crc hack (#2502)
Move a hack that removed burning/hot air effect. The effect is rendered properly but causes slowdowns so it's best to move it to aggressive for now.

Add comments explaining what the crc hacks do.
2018-07-12 20:31:24 +02:00
Jonathan Li fb7c2c1837 dev9null|fwnull|usbnull: Switch to new null config code 2018-07-12 01:05:09 +01:00
Jonathan Li ac7cbdf6c3 dev9null|fwnull|usbnull:windows: Remove snprintf define
Not necessary anymore with recent VS versions.
2018-07-12 01:05:09 +01:00
Jonathan Li 7cdec614c7 dev9null|fwnull|usbnull: Remove *About()
It's unused.
2018-07-12 01:05:09 +01:00
Jonathan Li ceb383628b fwnull|usbnull: Remove unused Windows-specific stuff 2018-07-12 01:05:09 +01:00
ivan89el 46866268ed GSdx: Add some missing crc ids. (#2498)
Kunoichi\Nightshade RU,
Tenchu Fatal Shadows RU,
Urban Reign RU,
Ghost In The Shell SOC RU.
2018-07-03 18:37:12 +02:00
ivan89el cbf8f22b62 GSdx: Adjust Ghost In The Shell SOC crc hack. (#2492)
Ease the crc hack and skip less effects, makes shadows and some other effects work properly.

The game experiences a bit more upscaling issues which can be resolved with Merge Sprite and Wild Arms offset HW hacks.
2018-07-02 22:42:56 +02:00
lightningterror 1fefb4897e GSdx: Add crc id for Shadow of Rome Demo (NTSC-U). 2018-07-01 04:34:08 +02:00
lightningterror 7b8d2d1945 GSdx: Add crc id for ICO Demo (NTSC-U). 2018-06-30 15:30:14 +02:00
lightningterror be4b06ef3e GSdx: Add crc id for The Getaway Black Monday Demo (NTSC-U). 2018-06-30 14:13:06 +02:00
lightningterror 387db6d4ba GSdx: Add Nicktoons Unite to Automatic Mipmapping.
Game is still broken but a bit better now.
2018-06-26 20:23:12 +02:00
lightningterror 5c483df3e8 GSdx: Add crc id for The Getaway Black Monday (NTSC-J). 2018-06-26 19:13:57 +02:00
lightningterror 2af05a92f8 GSdx: Add crc id for Ratchet And Clank 3 Regular Demo (NTSC-U). 2018-06-25 22:14:07 +02:00
lightningterror f22843816b GSdx: Add crc id for Ratchet & Clank 2: Going Commando & Jak II Demo disc (NTSC-U). 2018-06-24 21:45:58 +02:00
lightningterror 150b1e8423 GSdx: Add Sly 3 PAL demo crc id. 2018-06-18 21:02:44 +02:00
lightningterror abdd847fbe GSdx: Add some missing crc ids.
Ratchet And Clank NTSC-U: E3 Demo and EB Games Demo,
Soul Calibur 2 NTSC-U: Demo.
2018-06-18 00:53:49 +02:00
Jonathan Li 6bd5afea8f cdvdgigaherz:gtk: Simplify GUI dialog
Avoid always setting the dialog to the centre of the screen - the GTK+3
documentation advises against it.
Avoid using a GUI callback - it's unnecessary since the value can just
be retrieved afterwards.
Simplify the GUI construction - a container to handle layout isn't
necessary due to the GUI's lack of complexity.
2018-06-11 02:15:47 +01:00
Jonathan Li 6778fa2b71 cdvdgigaherz: Replace use of deprecated wstring_convert
wstring_convert is deprecated in C++17. Use MultiByteToWideChar() and
WideCharToMultiByte() instead.
2018-06-11 02:15:47 +01:00
Jonathan Li 4ab97be693 cdvdgigaherz:windows: Adjust CD read success condition
IOCTL_SCSI_PASS_THROUGH_DIRECT will return success even if the read
fails (I'm not sure when it'll return failure). Assume the read is
successful only when the read length is correct.
2018-06-11 02:15:47 +01:00
Jonathan Li 83ffbc2d3d cdvdgigaherz: Remove unused mode parameter/member variables 2018-06-11 02:15:47 +01:00
lightningterror 2b9c368fa8
GSdx-d3d: Rearange PSSelector(GSDeviceDX.h).
Rearange PSSelector shader list in GSDeviceDX.h
to match GL format.

Easier to read and will make someone's life easier.
2018-06-11 01:08:36 +02:00
lightningterror bb5f989c05 GSdx: Purge leftover SSX3 crc ids no longer needed. 2018-06-10 18:34:24 +02:00
lightningterror af3e55af63 GSdx: Also update Tekken 5 ntsc-j crc hacks to work on progressive mode. 2018-06-09 10:15:55 +02:00
lightningterror 1c58d5acff GSdx: CRC hacks for Tekken 5 NTSC-U should work on progressive mode as well now. 2018-06-08 22:54:56 +02:00
lightningterror f244706cc2 GSdx: Purge Spyro NB /EN hw hack fixes.
Purge Hw hack fixes for Spyro New Beginning and Eternal Night that fixed
HUD and menu display.
They will be replaced with EE patches in GameDB that work for both
software and hardware mode. A much better alternative and less GSdx
hacks.
2018-06-02 12:38:49 +02:00
lightningterror ba463ed076 GSdx: Disable Alpha hack gui option on D3D9.
Hack is only used on D3D10/11.
2018-05-31 21:22:12 +02:00
Jonathan Li 61406a4349 cmake: Fix GSdx EGL build libX11-xcb linkage issue
Prevents a XGetXCBConnection undefined symbol error.
2018-05-31 01:02:26 +01:00
lightningterror 6ef793545d GSdx:Port better support of palette from GL to D3D10/11.
Port from commit b0af54d3

Fixes shadows in Star Ocean 3.

Note: It works properly on native res only just like on GL.
Upscaling will cause some issues.

Only Direct3D10/11 supports it, D3D9 doesn't support integer operations
so we can't reuse the code.
2018-05-30 14:47:06 +02:00
lightningterror dc2779b385 GSdx: Adjust Sky Gunner crc hack.
Move hack back to Partial (GL level).
Huge vram usage on both gl and dx - maybe not a channel
effect or channel effect not yet detected.
2018-05-22 20:08:45 +02:00
lightningterror 8c2a79ab54 GSdx: Add some missing crc ids.
Sky Gunner US Regular and Trade Demo.
2018-05-22 20:05:14 +02:00
lightningterror d900917bfa GSdx-OSD: Adjust messages.
Change font size from 32 to 28 default.
Change log speed from 6 to 4 default.
Change max log messages from 3 to 2 default.
2018-05-21 17:56:14 +02:00
lightningterror c5f94fbced GSdx: Adjust Spyro New Beginning crc hack.
The hack should now work on the PAL version as well.
2018-05-21 02:33:46 +02:00
lightningterror c4068e5188 GSdx: Update Spyro Hw fix/hack.
Revert merge of Spyro Eternal Night / New Beginning hw hack.
Update Spyro New Beginning hack - fixes menu/hud flicker in HW mode.

SW mode still has issues with the menu/hud elements.

Improve #1490
2018-05-20 16:30:32 +02:00
lightningterror ff3052935e GSdx: Adjust Sonic Unleashed crc hacks.
Move crc hacks back to Partial (OpenGL) level.
Game experiences improper texture shuffle emulation and half screen
bottom issue.
2018-05-19 08:48:24 +02:00
lightningterror 290397d1af GSdx: Add a missing crc id for CrashNburn EU. 2018-05-16 01:09:56 +02:00
Christian Kenny 8b6751943e GSdx: Remove Hummer Badlands CRC Hack. 2018-05-15 20:52:05 +02:00
lightningterror 3a8857a782 GSdx: Adjust crc hacks for Big Mutha Truckers.
Move crc hacks back to OpenGL(Partial) level.

Game experiences a half screen bottom issue and vertical stripes.
2018-05-09 18:42:49 +02:00
lightningterror fbc0b1849d GSdx: Adjust crc hacks for Heavy Metal Thunder.
Move the hacks to DX Level(Full). OpenGL renders the effects properly
with Depth Emulation.
2018-05-09 00:07:59 +02:00
Jonathan Li 8f6a3d9fe8 gsdx: remove DirectCompute backend
It hasn't been accessible since OpenCL was added, and it was barely
updated since it was introduced.
2018-05-06 02:01:22 +01:00
lightningterror 191219f7d8 GSdx: Purge crc ids/games no longer needed.
The following games in the crc list are not used anywhere so
we can clean this list up. If some are needed in the future then
they can be re added.

List of removed games:
CaptainTsubasa,
Dororo,
HarvestMoon,
Jak1,
JamesBondEverythingOrNothing,
NamcoXCapcom,
SDGundamGGeneration,
SeintoSeiya,
SengokuBasara,
SilentHill2,
SilentHill3,
Siren,
TalesofDestiny,
VF4,
VF4EVO.
2018-05-05 23:21:34 +02:00
lightningterror e606958a43 Gsdx: Remove Captain Tsubasa crc hacks.
The crc hack broke graphics ingame, causing flickering/transparent
textures and other similar issues.

On a side note the game experiences upscaling issues that can be fixed
with Half Pixel offset hack.
2018-05-05 00:10:11 +02:00
lightningterror 34a94990c4 GSdx: Adjust crc ids.
Add a missing crc id for Captain Tsubasa-JP.
Rename WildArms5 to WildArms4 for crc 565B6170 Jap,
it was incorrect.
2018-05-05 00:10:11 +02:00
Jonathan Li 17027c16cd gsdx-legacy: Copy GSdx baseclasses changes
So it compiles. Bit of a pain though.
2018-04-29 02:19:17 +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
Jonathan Li b84b2808f4 baseclasses|gsdx: Move code from baseclasses to GSdx
Moved code seems to be from Gabest. Only the code that is currently used
has been kept.
2018-04-29 02:19:17 +01:00
Jonathan Li 7ea0273119 gsdx: Remove code that does nothing 2018-04-29 02:19:17 +01:00
lightningterror 6496e6db11 Gsdx: Adjust Front Mission 5 crc hacks.
Move CRC hacks do DX level.

Hack that fixes shadows:
Shadows/glitchy black ground textures can be fixed with Preload Frame Data.

Hack that removed vertical stripes:
D3D10/11 correctly emulates texture shuffle but also needs depth support.
2018-04-27 17:59:24 +01:00
lightningterror c8c9731262 GSdx: Update D3D fbmask emulation on texture shuffle.
Improves accuracy on Sly series.

Rendering is still bad and needs a lot more work but
it's a little bit better.
2018-04-24 22:42:59 +01:00
lightningterror 0f5d3d2f1b GSdx: Add Sly 3 demos crc ids.
Regular Demo US,
E3 Demo US.
2018-04-22 23:51:56 +01:00
lightningterror 230a497a12 GSdx-TC: Don't skip depth lookup on Jackie Chan Adv and SVC Chaos.
Don't skip draw calls on Jackie Chan Adv and SVC Chaos,
fixes regressions on Jackie Chan Adv and SVC Chaos.

Gregory: The correct fix would be to trace all textures writes to
be sure of the source. But it is a much bigger work.
2018-04-15 00:42:07 +01:00
lightningterror 6073a26f5d GSdx: Add some missing crc ids.
Add SVC Chaos: SNK vs. Capcom EU/JP,
Add Jackie Chan Adventures EU.
2018-04-15 00:42:07 +01:00
lightningterror 0e39caaad3 GSdx: Adjust Naruto series crc hacks
Purge CRC hacks that removed lighting on maps.
Games: Naruto - Narutimate Hero 3,
Naruto Shippuuden: Narutimate Accel.
2018-04-03 16:01:22 +01:00
lightningterror b6a73f6db3 Gsdx: Add some missing crc ids.
Tenchu Fatal Shadows US,
God Hand EU,
The Getaway EU,
The Getaway Black Monday EU.
2018-04-02 11:39:45 +01:00
lightningterror 4cb164b795 GSdx: Adjust CRC hacks.
Purge Sengoku Basara crc hacks. Texture shuffle is emulated correctly on
d3d11/ogl. d3d9 skips the bad draw call.

Move Eternal Poison crc hack to d3d level. Not needed on ogl since
the game is emulated correctly.

Move hack that removes texture shuffle for Demon Stoneback back to ogl level,
half screen bottom issue remains.

Extent CRC hack for The Getaway and The Getaway Black Monday to work on
EU regions.
2018-04-02 11:39:45 +01:00
FlatOutPS2 ee3038c5b7 SPU2-X: Fix UI regression
Fixes regression. Audio Expansion Mode was no longer available in the UI when using XAudio2 on Windows versions before 8.
2018-03-31 00:52:18 +01:00
lightningterror 014e27bc20 GSdx: Add Quak3 Revolution to Automatic mipmapping. 2018-03-27 15:11:08 +02:00
lightningterror 312db7755b GSdx: Adjust CRC hacks.
Move CRC hack that removed shadows to Aggressive, shadows are misaligned
when upscaling - can be fixed with HPO. We can use the hack as a
speedhack for Aggressive state.

Add correct FBP code for Sly 2 E3 Demo. CRC hack should work properly now.

Purge God of War 1/2 CRC hacks that fixed/removed the vertical red lines.
No longer needed since the issue is fixed accross all renders.
Also useless to be kept for speedhacks.
2018-03-27 15:11:08 +02:00
lightningterror 9769f19ebe GSdx: Remove fbmask handle in GSRendererDX.
It's already handled in texture shuffle code.
2018-03-27 15:11:08 +02:00
lightningterror 0e83b89dbd GSdx-D3D: Texture and channel shuffle improvements.
Texture Shuffle changes:
Always Enable Texture shuffle on D3D10/11.
Previously Texture shuffle was enabled if CRC hack
level was below Full, this was kinda not good since
D3D also relies on CRC hacks on Full so you could either
stick with texture shuffle or crc hacks.

Texture shuffle is not supported on D3D9, however we can do a partial
port where instead of vertical lines with the effect we get the effect
on the entire screen. Better than nothing I suppose.

Ported some of the code from OpenGL to D3D
( just a copy - paste job :) ),
part of the code misses a dedicated shader but we can still
use it to fix various issues on many games.

List of affected games tested so far:
The Godfather, Final Fight Streetwise, The Suffering Ties that Bind,
Urban Chaos have their vertical lines issues fixed
(highly possible for other games as well), MGS and Stolen see an improvement
but they are still broken without crc hacks. Other games that suffered
similar issues are probably affected as well.

Channel Shuffle changes:
Update Channel Shuffle detection. A lot of games should see an improvement,
MGS, Urban Chaos, Stolen have their top left corner issues resolved.
Other games should be affected as well that use similar logic.
They still miss a shader so some effects are still broken/show glitches
but it's a nice improvement for D3D users.

Shared changes:
Texture Shuffle and Channel shuffle have been moved to their
own dedicated functions. Should make things a bit cleaner.

Move part of the code for Texture Shuffle to GSRendererHW to be shared
across all HW renderers, should aboid copy paste/duplicate code.
2018-03-23 13:38:34 +01:00
lightningterror 2ad5db2279 GSdx Adjust/Replace crc hack for Final Fight Streetwise.
Replace/remove an old crc hack that was used to fix the red vertical
lines issue, the hack is no longer needed. The new hack removes depth
effects on D3D only.
Note: The game has another vertical lines issue that can be fixed with
texture shuffle on D3D.

Add comments to Simple2000Vol114 explaining what the hacks do.
2018-03-22 14:46:31 +01:00
lightningterror 99350d6caa GSdx: Add some missing crc ids.
Sly 2 E3 Demo US, Sly 2 JP.
2018-03-22 14:46:31 +01:00
Christian Kenny 40f7d6c95b GSdx: Add Shox to Automatic Mipmapping 2018-03-19 01:00:26 +05:30
lightningterror 6aaae6970e GSdx: Cleanup hacks in GSRendererHW.
Merge identical code for Spyro Games in to one to avoid duplicate code.

Rename hacks name for Jak series from OO_Jak to OO_JakGames since there
are multiple games added.
2018-03-13 18:56:30 +05:30
lightningterror f4fa115c82 GSdx: Remove GT3/Concept CRC Hacks.
This follows PR #2304.
The CRC hacks are no longer needed due to the partial port of channel
shuffle on D3D.
They cause higher vram spikes  now.
2018-03-13 18:56:30 +05:30
lightningterror bd0947e7a3 GSdx: Add/adjust CRC ids.
This follows PR #2330.

Add some missing regions: Tomb Raider Legend JP,
StarWars Force Unleashed EU, SuperMan Returns EU, Valkyrie Profile 2 FR.

Rename GT3/Concept titles, they were incorrect.

Adjust Harley Davidson region id from NoRegion to US.

Add some missing regions to automatic mipmapping:
FIFA 03 US, FIFA 04 EU, FIFA 05 EU.

Reformat a few comments.
2018-03-13 18:56:30 +05:30
lightningterror 73f1d7d099 GSdx: Rename HW hacks drop list options.
Add "Default" nametag for default list options for the hacks: Sprite,
Round Sprite, GL Advanced settings, HPO.

Should help users know which options are the default ones with less
confusion.
2018-03-04 20:54:10 +05:30
refractionpcsx2 084530eeca
Merge pull request #2122 from PCSX2/target_load
GSdx-TC: Fix load size calculation in target update Fixes #1972 Fixes #2110 Fixes #2138
2018-03-03 03:31:25 +00:00
Jonathan Li fb4f274882 gsdx: Remove inappropriate comment 2018-03-02 23:41:46 +00:00
lightningterror 38aa4e1745 GSdx: GSCrc.cpp reformat comments and whitespaces. 2018-03-02 10:10:31 +05:30
lightningterror 2be9cf060d GSdx: Add/adjust CRC ids.
Add CRC id for FFXII US, SFEX3 EU,
GT4 CH and GT4 Online Beta US.
Adjust BullyCC region from US to EU.

Add Missing regions for Ratchet & Clank,
Ace Combat, Destroy All Humans and Soul Reaver
series to Automatic Mipmapping.
2018-03-02 10:10:31 +05:30
Christian Kenny 10ebe16653 GSdx (OGL HW): Perform a texture shuffle when the address of the framebuffer and the texture are the same.
Tomb Raider: Angel of Darkness relies on this behavior to produce a distance fog effect.

Closes #2215
2018-02-22 00:20:54 +05:30
FlatOutPS2 c1fd01545a GSdx: Remove GT4/Tourist Trophy CRC hacks
Removes GT4/Tourist Trophy CRC hacks. The hack had already been moved to
aggressive due to VRAM spike issues, but is no longer necessary at all
due to the in-game brightness/contrast setting issue being moved to
behind the frame buffer conversion hack for Direct3D and being resolved for OpenGL.
2018-02-21 17:08:48 +05:30
lightningterror 768a4412d5 Gsdx: Adjust Ikkitousen CRC hacks.
Move hacks that disabled shadows to DX level since OpenGL renders
shadows properly with Depth Emulation.

Some other upscaling issues appear with the disabled hack like a small
black border on the bottom of the screen or some ui elements but those
can be fixed with TC X,Y Offset hack.
2018-02-21 17:06:16 +05:30
Akash b10c357065 GSdx-TC: Fix load size calculation in target update
Previously, the calculation for the size of data to be loaded was done
based on the rendering target buffer size and scaling multiplier, which
was totally wrong. This led to different resolutions having different
load sizes while the size of the real GS memory is common regardless of
the scaling variancies.

Hence use the default rendering target buffer size for the load size
independent of the scaling values. I've also removed a buffer height saturation
code which seemed unreliable.

Note: The accurate version of the code can be enabled using the macro
provided in config.h (which is more intensive on resources), the current
code goes along with the approach of maintaining a decent performance
level along with a formidable accuracy.
2018-02-06 18:00:22 +05:30
Jonathan Li f64488f818 gsdx:d3d: Fix fbmask conversion on texture shuffle
Port of 6580f4922f.
2018-02-06 00:03:25 +00:00
Jonathan Li 75c803df11 cdvdgigaherz:windows: Refactor to use early returns 2018-02-05 23:31:24 +00:00
Jonathan Li 5c158b4df9 cdvdgigaherz:windows: Avoid unneeded DVD ioctls
Avoid using the IOCTL_DVD_START_SESSION and IOCTL_DVD_END_SESSION ioctls
- it's not necessary to obtain an Authentication Grant ID (AGID) before
requesting the DVD physical format layer descriptor.
2018-02-05 23:31:24 +00:00
lightningterror 85c59fdb5e GSdx: Adjust DBZ BT2 CRC hack and id, add R&C3 EU to Automatic Mipmap.
Adjust region id for BT2.
Move the sky texture(depth) hack back to Partial level only for the EU
regions.  Effect is still not rendered correctly and causes a half
screen bottom issue.

Add R&C3 EU to Automatic Mipmapping.
2018-02-05 23:03:19 +00:00
lightningterror 86a8cbf402 GSdx: Change Skipdraw Maximum limit value.
Previously the limit was 1000, now 10000 in the GUI. It should help in
some rare cases where a higher number is needed without the need of ini
editing and value reset issues caused by the GUI.
2018-02-05 23:03:19 +00:00
Christian Kenny 94b822df3b Resolve cases where GUI values are not updated when adjusting sliders with the scroll wheel. 2018-02-05 22:49:09 +00:00
Christian Kenny a5db116d00 Remove unused 'About Box' references on Linux and Windows from SPU2-X/CMakeLists, ect. 2018-02-05 22:49:09 +00:00
Christian Kenny 168402217f Make GUI more user-friendly by disabling some options when they aren't used. 2018-02-05 22:49:09 +00:00
lightningterror 4aa25c4971 GSdx: Disable Merge Sprite on native resolution.
Previously if HW hacks were enabled Merge Sprite was active(if checked) on
native resolution even if the GUI option was disabled, which in result
caused glitches in games on native resolution.

This should address that issue.
2018-01-13 23:18:57 +05:30
FlatOutPS2 57cbc901b7 SPU2-X: Prevent volume check from altering volume
Fixes issue in Tokyo Xtreme Racer Zero where checking the left master
volume would alter it.
2018-01-12 14:37:40 +01:00
FlatOutPS2 fe27d3b25a GSdx: Add Dark Cloud CRCs to automatic mipmapping 2018-01-12 13:28:43 +05:30
lightningterror 9dc7930ff2 GSdx: Merge CRC hacks of Wild Arms 4 and 5
It's better to avoid duplicate code so let's merge these two together
as well.
2018-01-12 13:25:40 +05:30
lightningterror fbdd0f4394 GSdx: Remove/move/merge CRC hacks.
Remove Aggressive CRC hacks for SSX 3. Was used to remove the red lines
on older versions but no longer needed since the issue has been fixed.
Offered 1fps or less speed bump but it's not worth keeping for such a
minimal increase.

Merge all FFX CRC hacks in to one. They share the same code so it's
better to have one to avoid duplicate code.

Move CRC hack for Bleach Blade Battlers to Aggressive. It removes the
character shading. It can be used as a speed hack since the gains are
quite good from it. Around 15-30%.
2018-01-10 08:10:56 +05:30
lightningterror 29ef586f91 GSdx: Move CRC hacks for Soul Calibur 2&3 to DX level.
Add missing CRC ids for Soul Calibur 2 and 3.
Move CRC hacks to DX level. They are not needed anymore on OpenGL since
Depth Emulation fixes depth issues (shadows).
2018-01-09 20:36:14 +05:30
lightningterror 687c0b45e2 Gsdx: Tekken 5 Channel effect and CRC Hacks
Move CRC hack to Partial that fix the half screen
bottom issue since the effect is not rendered correctly.

Move CRC hack to Aggressive. These hacks are only
needed when running upscaled resolution. They skip the
blur effect which cause ghosting and some other screen issues.
Side effect is they also remove the channel effect on OpenGL
which is emulated correctly so let's put them on Aggressive.

Comment out a hack, it's unknown what the hack does atm.
If there are new issues then it will be added back.

Added comments what the hacks do.

Partial port for channel shuffle effect to Direct3D for Tekken5.
The effect is skipped and not rendered but now the top left
screen glitch has been resolved.
Note: At least Minimum CRC level is required for this to work.
2017-12-13 13:31:49 +01:00
lightningterror 41051f3cfe GSdx: Add hidden option to disable Nvidia hack
Add hidden option "UserHacks_DisableNVhack" to disable
the Nvidia hack on Direct3D which added black lines on the right
and bottom of the screen. Could be useful for Intel and AMD GPUs.

A better solution would be to add Vendor Id detection instead,
but this will do for now.

To disable the Nvidia hack add UserHacks_DisableNVhack=1 in GSdx.ini
2017-12-10 21:37:00 +05:30
lightningterror a74a5d95ab GSdx: Remove/move CRC hacks for Simpsons Game
Remove CRC hacks no longer needed.
Move CRC hacks to Aggressive level. Can be used as a performance hack.
2017-11-28 16:59:13 +05:30
lightningterror 3c74f0f907 GSdx: Extend support of "Preload Frame Data" for Direct3D.
Fixes glitchy water in Rogue Galaxy in Direct3D when the hack is
enabled.
Fixes Test Drive car reflection in Direct3D when the hack is enabled.

OTher games are affected as well.
2017-11-27 11:01:43 +01:00
Jonathan Li c9abec7cbe cdvdgigaherz: Always read 2352 bytes from CD sectors
For some CDs (i.e. Suikoden), trying to read a 2048 byte "cooked" sector
does not work. However, reading the raw sector and then extracting the
required 2048 bytes works fine, so let's do that.

This also makes it easier to port CD/DVD disk reading to operating
systems that don't provide CD/DVD interface conveniences.
2017-11-24 00:08:26 +00:00
Jonathan Li 0a4ff90bfb cdvdgigaherz: Detect CD track mode correctly
In every CD data sector, byte 15 indicates what the CD track mode is.
2017-11-24 00:08:26 +00:00
lightningterror 6d49bf6fc6 GSdx: Automatic HW Mipmapping option
Adds automatic HW mipmapping support.
It relies on CRC ids so if a game does
not have their CRC id but needs mipmapping
it will not work until the id is added.

Add GUI menu and tooltip for Automatic mipmap
"Automatic (Default)"
This option will be default option from now on.

Rename "Very Slow" text option to "Slow" for full mipmap
as it caused the text not to fit properly in the menu.

Credits also go to @RedPanda4552 and @ssakash for helping
with the code.
2017-11-20 09:54:56 +01:00
lightningterror 431b4f6f17 GSdx: Rearrange HW Hacks
Rearrange the two columns of HW hacks, new arrangement
is done in alphabetical order on Windows and Linux.

Rename some hacks on Linux to match the windows version.

Some other minor tweaks as well.
2017-11-20 09:54:32 +01:00
Christian Kenny 5956493684 GSdx: Remove CRC hack for James Bond Everything or Nothing. Thes hack was used to avoid a VRAM spike, but isn't needed anymore. 2017-11-19 12:58:48 +05:30
lightningterror b31c23b37b GSdx: Add/move CRC hacks for Street Fighter EX3
Add missing CRC ids.
Move CRC hacks to OpenGL since the effects aren't emulated properly atm.
2017-11-13 16:04:42 +05:30
Akash 6299d9efa9 GSdx-Capture: Grayout configure button for codecs
The following patch grays out the configure button when there's no
configuration dialog available for the selected codec. What's the use in
clicking it when no dialog pops up? :P (I've been tricked by it lots of
times)
2017-11-11 12:50:22 +05:30
Akash 849c2f36d9 GSdx-Capture: Format event commands in switch-case
Use switch-case over chained if statements for the event commands, makes
the code more readable in my opinion.
2017-11-11 12:50:22 +05:30
lightningterror 1cbd4c5387 GSdx: Add CPU Frame buffer Conversion Hack
Add HW Hack that enables Framebuffer Conversion on the CPU instead of the GPU.
Can fix broken textures on games but at the cost of slower performance.
List of games: Harry Potter games, FIFA Street games.
Games like Call of Duty, Kung fu Panda might also be affected as well as others
especially on Direct3D.
Add HW Hack GUI option on Windows/Linux for 4-bit and 8-bit Framebuffer conversion hack
named "Frame Buffer Conversion".
2017-11-02 10:38:07 +01:00
Jonathan Li 96b412ebb8 pcsx2|common|gsnull: Remove GSprintf API
It's not really used, and the OSD uses a different API.

The specified calling convention (stdcall) is also incorrect since
variadic functions are caller-clean, not callee-clean. The compilers
ignore the stdcall and just use cdecl (I think), though it does trigger
a -Wcast-calling-convention on clang.
2017-10-29 01:01:49 +01:00
Jonathan Li 9be61f83df cdvdgigaherz: Fix Q subchannel relative offset calculation
The wrong comparison was used, so all the relative offsets were
completely wrong. Fixes the wrong track issue in the CD player.

Regression introduced in f314c2a4d9.
2017-10-12 23:54:59 +01:00
Jonathan Li fe2dfdb3b9 gsdx: Remove "using namespace std" 2017-09-08 09:56:28 +02:00
Jonathan Li 82d1aba67f gsdx: Prefix std:: to ostringstream, pair, codecvt* 2017-09-08 09:56:28 +02:00
Jonathan Li 7ed360e06b gsdx: Prefix std:: to shared_ptr 2017-09-08 09:56:28 +02:00
Jonathan Li 0cde534e30 gsdx: Prefix std:: to min and max 2017-09-08 09:56:28 +02:00
Jonathan Li 54c320c724 gdsx: Prefix std:: to map
Also use auto when appropriate.
2017-09-08 09:56:28 +02:00
Jonathan Li 2ff67f3741 gsdx: Prefix std:: to list
Also use auto when appropriate
2017-09-08 09:56:28 +02:00
Jonathan Li 5415b7ad5b gsdx: Prefix std:: to vector
Also use auto when appropriate
2017-09-08 09:56:28 +02:00
Jonathan Li 2aeb406e38 gsdx: Remove hash_{map,set} macros
Also use auto when appropriate.
2017-09-08 09:56:28 +02:00
Jonathan Li d57b812f36 gsdx: Prefix std:: to string and to_string 2017-09-08 09:56:28 +02:00
lightningterror d158ac5ffe GSdx-ogl:
Comment out driver version detection on amd as it was not working properly.
Rename bools for vendor ids.
2017-09-06 18:08:37 +02:00
lightningterror 481a884d25 GSdx - dx9: Edit Alpha Correction (FBA) tooltip.
Can cause graphical glitches in some games.
2017-09-06 18:05:21 +02:00
lightningterror f14c78cf12 GSdx-ogl: Fix GSdx crashing on Intel igpus
Regression was introduced in #1954
GSdx caused the emulator to crash when the renderer was restarted.

It may have affected older gpus from nvidia/amd
with older OpenGL support as well.
2017-09-06 17:14:21 +02:00
lightningterror 91d8e7c7c6 GSdx-Windows: Grey out OSD and Shader Configuration
Grey out OSD Configuration button for Direct3D
since only OpenGL supports the feature atm.
Grey out Shader Configuration button in Core Benchmark.
2017-08-31 21:11:43 +05:30
Jonathan Li 854f3d5b85 lilypad: Fix Lock Direction/Input/Both features
Regression was introduced in 2ea078beb5.

Coverity CID 178405.
2017-08-30 22:25:06 +01:00
Jonathan Li fecf8e3ed2 gsdx:ogl: Call swap interval function on rendering thread
The swap interval function must be called on the same thread that
rendering takes place on. This fixes an issue where the turbo speed and
frame limiter hotkeys fail to disable vsync when the OpenGL renderer is
used.
2017-08-30 21:08:54 +01:00
Alessandro Vetere a0aa585afd GSdx GSTextureCache: Using FastList instead of std::list. Various other improvements.
Using range loops where possible (correctly).
Using auto where possible (minimize code changes whenever it's decided to change back to a std container).
Use more efficient erase pattern (where possible).
Minor code tweaks.
2017-08-30 11:43:18 +02:00
Alessandro Vetere b2508dcb59 GSdx GSDevice: Using FastList instead of std::list. Using range loops (correctly). Using auto instead of declaring iterator type. 2017-08-30 11:43:18 +02:00
Alessandro Vetere 965334350f GSdx GSTextureCacheSW: Ported erase iterator trick. Using FastList instead of std::list. Using range loops. Using more efficient erase pattern. 2017-08-30 11:43:18 +02:00
Alessandro Vetere 676c7b89c7 GSdx GSFastList: Introducing the custom container template class. 2017-08-30 11:43:18 +02:00
Alessandro Vetere b431d172b7 GSdx GSDirtyRect: std::vector instead of std::list, to speedup linear scan. Improved const-ness. Using range loop. 2017-08-30 11:43:18 +02:00
Alessandro Vetere f8e89b694a GSdx GSLocalMemory: Reserve space required in the std::vector before adding elements to it. 2017-08-30 11:43:18 +02:00
Alessandro Vetere 3300470a29 GSdx GSCodeBuffer: std::vector instead of std::list, to speedup linear scan. Using range loop on destruction. 2017-08-30 11:43:18 +02:00
Alessandro Vetere 798d6a9134 GSdx GSDevice11: Fix unsigned warning under VS2015 with DEBUG build enabled. 2017-08-30 11:43:18 +02:00
Akash 8fe8cad8f9 GSdx-D3D11: Avoid undefined behavior in swapchain
PCSX2 sends a negative value (-1) to GSdx when adaptive mode is
specified for Vsync, this mode is exclusive to OpenGL at the moment
and is unimplemented on the D3D11 renderer. Also the present function
of swapchain only accepts values from 0 to 4 as parameter, hence
passing negative values to the function is undefined behavior.

So let's fallback to standard synchronization method on D3D11 when
PCSX2 requests for adaptive mode.
2017-08-25 22:40:42 +01:00
lightningterror 420f111611 GSdx: Add missing CRC for GT3 2017-08-16 17:35:32 +05:30
Gregory Hainaut c4bf09ad32 glsl: extension must be declared first
Mesa follows this rule of the standard.

Issue #2037

Shader compile fines now but SSO interface seems to be broken.
2017-08-12 15:37:29 +02:00
Gregory Hainaut 8c37418e44 onepad: print a more accurate message when only a single pad is detected 2017-08-10 22:00:33 +02:00
Gregory Hainaut d6c27c190d onepad: fallback on 2nd gamepad for the 2nd player
Close #2039
2017-08-10 22:00:28 +02:00
orbea 590b75453c Add Horipad One config 2017-08-09 17:56:18 -07:00
Gregory Hainaut 17d2d9217b gsdx ogl: test adaptive/late vsync driver support
Supported on GLX (but not Linux free driver) and WGL
2017-08-05 11:00:39 +02:00
Gregory Hainaut 2e4643a398 gsdx ogl: factorize SetVSync
Move common logic into base class
Add API to handle late Vsync (only stub)
2017-08-05 10:59:48 +02:00
Gregory Hainaut 2204885fbb gsdx ogl: factorize common context init code 2017-08-05 10:56:54 +02:00
lightningterror 66a87ce4d0 GSdx: Add missing CRC for Tomb Raider Underworld 2017-07-29 20:10:46 +05:30
Akash 31400b29c3 Merge pull request #2017 from lightningterror/dbzbt3-crcfixup
GSdx: Adjust CRC hack for DBZ BT3
2017-07-27 00:23:25 +05:30
lightningterror f5b4ccf741 GSdx: Adjust CRC for DBZ BT3
Fix CRC hacks on PAL version.
PAL version will no longer experience very high brightness/contrast
issues on stages in hw mode caused by an incorrect CRC hack.
Moved a CRC hack back to OpenGL mode only for the PAL version
because texture shuffling does not work properly on PAL games.
2017-07-26 20:19:44 +02:00
Jonathan Li 4e19f7adbf lilypad: Fix button detection issue in Kung Fu Panda
Kung Fu Panda becomes stuck at an autosave warning screen since it
cannot detect button presses correctly. This fixes the issue, though
potentially it may negatively affect some other games (see #1831,
unfortunately no game titles weren't mentioned).

The issue was introduced in commit 3075ec2203

Closes #1965.
2017-07-24 00:46:00 +01:00
Akash bd5e54e825 GSdx-Windows: Fix Shadeboost text bug
Forgot to replace `IDC_TEXT` with `IDC_VALUE` macros, due to this the
text containing the name of the options was being updated with the
current value of the option instead of updating the text designated for
holding the values.
2017-07-23 22:50:40 +01:00
puzzo888 1d983a6818 Update GSCrc.cpp (#2018)
gsdx crc: add Front Mission 5 CRC
2017-07-22 11:32:15 +02:00
Gregory Hainaut 390568ade9 onepad: add a first time wizard to notify that plugin auto-map the Gamepad/Joystick
It should avoid some bug reports of not-working-as-expected GUI

v2: English improvement
v3: ditto
v4: :)
2017-07-22 11:31:35 +02:00
Akash c3ff1074bb GSdx: Rework framebuffer height calculation
DBY isn't an offset to the frame memory but rather an offset to read
output circuit inside the frame memory, hence the top offset should also
be calculated for the total height of the frame memory. Fixes software
mode regression in Beyond Good and Evil.

Also handle cases when GetFrameRect() is called without any paramerer to
avoid an illegal value access violation on the DISP register.
2017-07-13 17:53:29 +02:00
Gregory Hainaut c5d35d434c glsl: reduce geometry shader complexity
output 1 strip of 2 triangles instead of 2 strips of 1 triangle.

Potentially it would reduce the geometry shader overhead. And it
might avoid a middle line in sprite in some AMD GPU/driver/OS
bad combination
2017-07-12 22:04:03 +02:00
Gregory Hainaut 38010432ee gsdx ogl: handle float integral coordinate for depth sampling
Fix depth effect regression on Nemo (issue #1979)
2017-07-12 22:03:47 +02:00
Jonathan Li 45ac69a1f6 gsdx:d3d11: Fix sprite geometry shader
Sprites always use flat shading.

Fixes #1980
2017-07-02 22:54:36 +01:00
Gregory Hainaut b8f7e12bc0 onepad: Add platform:Linux on game db entries that miss it
SDL doc:
"Mappings not belonging to the current platform or with no platform
field specified will be ignored (i.e. mappings for Linux will be ignored
in Windows, etc)."

Issue #1978
2017-07-02 16:55:50 +02:00
Gregory Hainaut 392816fae3 gsdx: store vsync state into an integer
allow to support late vsync (Adaptive vsync).
2017-07-02 15:14:45 +02:00
Gregory Hainaut 36fd2b6854 gsdx: remove the unused GSsetFrameLimit API 2017-07-02 15:09:47 +02:00
lightningterror 358954d69e GSdx-ogl: Printing console messages v2 (#1954)
GSdx-ogl: Console messages v2

Follow up to
commit/ec63b04719fd9c05a6aeeacb55dc1c54f5ef145b

Add intel broken driver wiki link message in console (OpenGL).
Print intel / amd buggy driver message once in console (OpenGL).
Pring texture barrier and viewpoint array info once in console (OpenGL).
2017-07-02 13:56:45 +02:00
lightningterror f88972013f GSdx: Remove/move DBZ:BT3 CRC
Enables character outlines to partially work on Full CRC.
DX9 has a small issue where a small black line at the bottom shakes when outlines are enabled.
You can either use Aggressive crc or x,y offset to fix the issue.

Removed unnecessary crc hack that caused shadows on stationary objects (trees) to move on Direct3D in a weird
motion blur type way when the player moved slightly.
2017-06-29 16:54:11 +02:00
Akash f2de553d63 GSdx: Cleanup warnings on MSVC
* Cast return value of IsEof() to bool. (Avoids int -> bool performance
warning error)
* Cast field and index to the required parameter type of AppendRawData.
2017-06-29 16:48:50 +02:00
Gregory Hainaut 7d75a73105 cmake: blacklist GCC 7.0 and GCC 7.1 (based on a small testcase)
GCC bug => https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80799

Close #1937
2017-06-29 14:51:50 +02:00
Jonathan Li 4a562401dc gsdx:d3d11: Fix incorrect geometry shader use
The sprite geometry shader was still being used even if the sprites were
converted on the CPUs.

Convert all sprites using the GPU - the fix isn't ideal, but it'll
likely have to do unless someone feels like porting over more of the
OpenGL changes to the D3D11 renderer.

Closes #1921.
2017-06-13 01:11:45 +01:00
Jonathan Li f8787ca6b9 gsdx: Fix variable initialisation issue
Class member variables are initialised in order of declaration in the
class definition. Move native_buffer to the top of the class definition
to avoid initialising m_width and m_height to random values.
2017-06-05 01:12:41 +01:00
Akash 23fa0657a7 GSdx-HW: Move scaling code to separate subroutine
Move the custom resolution scaling code to a separate subroutine and
allow future RT buffer resize calls when the buffer size isn't enough.

(Example: when a game's CRTC/Framebuffer size changes. The older code
didn't consider such cases)
2017-06-04 17:10:25 +02:00
Akash a04d9fa388 GSdx-HW: Revamp buffer size calculation
Added a more robust buffer size calculation mechanism for custom
resolutions. Improves performance in higher resolutions for games
which don't need a big buffer. There's a great boost in performance
at GS limited scenarios.

I don't even feel there's a need for the large framebuffer option right
now, For future - I plan on making the large framebuffer enabled version
as the default as the overhead is there only at situations when it's
necessary. Until then keeping the original code just to be on the safe
side in case any issue pops up.
2017-06-04 17:10:25 +02:00
Akash 266c114c1e GSdx-OGL: Extend ICO workaround to PAL videomode 2017-06-03 14:52:42 +02:00
Jonathan Li 11ed4de0aa gsdx: windows: Port xz dump readback
Also modernize and std:: a bit while I'm at it.
2017-06-03 14:52:01 +02:00
Jonathan Li 742b0edaa8 gsdx: Fix GS dump readback EOF handling
An EOF only occurs after attempting to read past the end of the file.
Account for this correctly, which fixes a potential infinite loop when
reading back an xz compressed GS dump.
2017-06-03 14:52:01 +02:00
Jonathan Li a6ed698fca unix: Remove LZMA_SUPPORTED define 2017-06-03 14:52:01 +02:00
Jonathan Li 3912f3330f windows: Link GSdx to liblzma (xz) 2017-06-03 14:52:01 +02:00
Jonathan Li 97d99632a6 gsdx: Use std::vector for xz dump output buffer
By default, Windows has a 1MB stack size limit per thread, so array
cannot be used...
2017-06-03 14:52:01 +02:00
Akash 49840bb621 GSdx: Implement SYNCV register bitfields
Add the bitfield structure of the undocumented SYNCV register,
potentially might be useful in proper height determination of the output
circuit for some weird games which still get it wrong but still haven't
figured out how it might be useful. Maybe some sort of black magic
formula with the vertical synchronization values?

The differential phase value seems to closely resemble the display
height value of the video modes (480 for NTSC, 576 for PAL) but after
some investigating into the differential phase, I have no clue on how
they might be even related. Hopefully the mystery will be unveiled in
the near future.
2017-05-24 13:44:52 +02:00
Jonathan Li e8f35f0bab onepad: Remove use of "using namespace std"
"using namespace std" was causing ambiguity issues and compile errors on
FreeBSD. Remove it.
2017-05-23 01:11:49 +00:00
Gregory Hainaut 802f1029e9 gsdx: dump gsdump in xz format directly
Reduce disk space. Easy to share.

It would be nice to port the code to Windows.
libzma code was taken from https://git.tukaani.org/xz.git

Note: only short dumps are supported so far. Big dump will freeze the interface during the compression.
Or will suck all the RAM.
Note2: a multithreaded encoder would badly impact the compression ratio

Thanks to Turtleli for all review comments
2017-05-21 23:45:35 +02:00
Gregory Hainaut 53b2fdf31c linux: requires liblzma (xz) to build GSdx 2017-05-21 23:45:35 +02:00
Gregory Hainaut 5c7d9d08e2 gsdx: defer init of GSUtil global object
Close #1935
2017-05-21 14:39:22 +02:00
Gregory Hainaut 9cb8c70434 gsdx linux: port to latest GTK3 API
* replace gtk_table by gtk_grid
  => it still misses some paddings
* Use 3.22 monitor API to query screen size
  => need to be tested
* directly add scrolled windows into a container without bothering with
  the viewport.

Code compile fine but wasn't tested.

v2: disable the code until I (or someone) get a chance to test and fix it.
2017-05-13 10:39:06 +02:00
Gregory Hainaut b15ab1b1cf gsdx: use = default instead of trivial constructor/destructor
reported by clang-tidy
2017-05-13 10:38:35 +02:00
Gregory Hainaut 595ad99a5b Cmake: what should have been the previous commit 2017-05-12 19:38:51 +02:00
Gregory Hainaut 05763b3669 cmake: better gcc + gsdx integration
Only set fabi-version on older GCC (5.0 and below)
Disable broken optimization for GCC7+ (until we find a better solution)
2017-05-11 23:14:06 +02:00
Gregory Hainaut ec63b04719 gsdx: only print once OpenGL status message
All credits go to @lightningterror

Fix #1882
2017-05-11 22:35:31 +02:00
Gregory Hainaut 0939424574 onepad: be sure m_unique_id is set even in case of early return
not important as the object will be deleted but please coverity
2017-05-11 21:47:39 +02:00
Gregory Hainaut 806ede241a onepad: remove useless code
reported by Coverity (I forgot to remove the code)
2017-05-11 21:46:28 +02:00
Akash 984fcfda2e Counters: Update videomode enum with proper prefix
Thanks to @colepcsx2 (https://github.com/PCSX2/pcsx2/pull/1896#commitcomment-21858717) for pointing it out!

I also updated the prefix in the inferior video mode detection of GSdx, I'm not even sure why we need the videomode info on the plugin side, might be useful someday.
2017-05-11 11:23:10 +02:00
orbea 2dcc85d64c Allow building the player with the legacy GSdx. 2017-05-11 09:50:01 +02:00
Akash 7a3239cba0 GSDX: Remove redundant parenthesis from combobox text
The third parameter of the GSSetting constructor already encloses the
text in parenthesis, so the right bracket here just messed up things.
2017-05-07 19:31:37 +01:00
Akash 5f449151a1 GSDX: Add missing grayouts to Shadeboost options
The shadeboost options text (Contrast, Brightness, Saturation) were not
grayed out when shadeboost was disabled, it was sort of inconsistent
compared to the behavior of external shader, so added grayouts to them
when shadeboost is disabled.

Also changed "OpenGL Very Advanced Custom Settings" to "OpenGL Advanced
Settings", the verbosity didn't help much in my opinion.
2017-05-07 19:31:37 +01:00
Gregory Hainaut ecd7107ccb onepad: move KeyName in the dialog and remove the now useless dialog.h
Note: use C++ construct to avoid C buffer.
2017-05-03 16:42:03 +02:00
Gregory Hainaut a71a549fa3 onepad: create a LUT for the pad key => SDL key mapping
Initial plan was to allow to remap the logical (SDL) key.
Unfortunately I feel some issues with the current enum.
* button/axis overlap
* trigger/axis must be handled differently

Nevertheless, code is easier this way
2017-05-03 12:33:42 +02:00
Gregory Hainaut 7597b31215 onepad: replace conf pointer by g_conf object 2017-05-03 12:03:56 +02:00
Gregory Hainaut db4f28f4ca onepad: replace key_status pointer by g_key_status object 2017-05-03 12:03:56 +02:00
Gregory Hainaut b09a82fb94 onepad: remove dead code 2017-05-03 12:03:56 +02:00
Gregory Hainaut 36528bb723 onepad: allow to save/reload SDL2 mapping from OnePAD2.ini file
SDL_GAMECONTROLLERCONFIG is nice but limited to a single entry. (Note it can still be used)

Option name is SDL2. Here an example

SDL2 = 03000000a306000020f6000011010000,PS2700 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,
2017-05-03 12:03:56 +02:00
Gregory Hainaut 03899a6240 onepad: drop useless goto statement 2017-05-03 12:03:56 +02:00
Gregory Hainaut d8f88ee1e3 onepad: s/set_keyboad_key/set_keyboard_key/ 2017-05-03 12:03:56 +02:00
Gregory Hainaut 2159245224 onepad: add DUALSHOCK4 USB Wireless Adapator mapping
Close #1924
2017-05-02 10:07:17 +02:00
Jonathan Li 1d364f1991 spu2-x: Remove outdated website text file 2017-04-30 23:31:08 +01:00
Gregory Hainaut dc00af8829 psx|spu2x|gsdx: shift negative value is undefined in C standard
Instead does the negation after the shift

v2: assert shift <= 15 in clamp_mix
2017-04-30 21:20:23 +02:00
Gregory Hainaut 627212290e spu2x: comment unused variable 2017-04-30 21:20:23 +02:00
Gregory Hainaut d9e43b5d8d gsdx egl: rewrite the EGL implementation
Split code in 2 parts
* Base class (GSWndEGL) that implement the core EGL and GL context
* Derived class (GSWndEGL_X11/GSWndEGL_WL) that implement the backend to handle native resources

Note: Most backend code is only useful for GSopen1/PS1 mode. GSopen2 only requires
the AttachNativeWindow implementation

Code is based around EGL_EXT_platform extension that allow to select the platform at runtime.
Note: I think the extension was integrated in EGL 1.5

The X11 backend was mostly converted to XCB
The wayland backend is only a placeholder for future code

I don't know if MS windows is/could be supported with EGL_EXT_platform API

Code validated on Mesa. Proprietary drivers aren't yet tested.
2017-04-30 14:04:24 +02:00
Jonathan Li a3b3b4f657 gsdx: Fix uptr size on Windows x64 build 2017-04-29 23:22:02 +01:00
Gregory Hainaut 413d1828eb gsdx: call XInitThread on Linux dump replay 2017-04-29 13:05:28 +02:00
Gregory Hainaut 4b5aabe6b0 onepad: move an ok button to the right corner 2017-04-28 23:24:49 +02:00
Gregory Hainaut 5b4c948e43 onepad: clean the gamepad/joystick interface
Remove return of empty function
Use final/override qualifier
Remove useless virtual

Thanks turtleli for the advices
2017-04-28 11:27:19 +02:00
Gregory Hainaut f91faacc53 onepad: remove autorepeat deadcode
a9af374 onepad: don't touch autorepeat setup
2017-04-28 11:27:19 +02:00
Gregory Hainaut e408b3ab02 onepad: replace pthred/queue with std::mutex/mt_queue
v2: based on turtleli feedback
rename m_q into m_queue
add includes
2017-04-28 11:27:19 +02:00
Gregory Hainaut 7d771229e2 onepad: add a GUI list box to select joypad based on UID
Note: remove the cancel management of the small modal
It is easier, it doesn't always work anyway
2017-04-28 11:27:19 +02:00
Gregory Hainaut 31d8142a0d onepad: plug uid instead of the index
ini must be recreated
2017-04-28 11:27:19 +02:00
Gregory Hainaut 3cff588eff onepad: add an unique identifier 2017-04-28 11:27:19 +02:00
Gregory Hainaut a50766384b onepad: use range loop for hash iteration 2017-04-28 11:27:19 +02:00
Gregory Hainaut c183de5662 onepad: add hot-plugging support
Note: pad to player mapping is done later

v2: remove the useless print
2017-04-28 11:27:19 +02:00
Gregory Hainaut 1b369520ed onepad: drop the pad if an error was detected
v2:
init m_no_error in gamepad constructor
2017-04-28 11:27:19 +02:00
Gregory Hainaut 2e09c7faf3 onepad: Move init/destroy code to constructor/destructor
* prefix remaining member with m_
* Use array for m_effect_id
* Properly Destroy/Close Haptic/Joystick/Game Controller
 (except on older SDL versions which are buggy)
2017-04-28 11:27:19 +02:00
Gregory Hainaut 4b24cfa5ea onepad: use external resource to support more joysticks 2017-04-28 11:27:19 +02:00
Gregory Hainaut 9da843c994 onepad: plug SDL2 API game controller 2017-04-28 11:27:19 +02:00
Gregory Hainaut 35b162adbf onepad: move enum first in .h file
It would avoid future compilation issue
2017-04-28 11:27:19 +02:00
Gregory Hainaut 94e19ac903 onepad: remove SDL1 manual detection code path 2017-04-28 11:27:19 +02:00
Gregory Hainaut 61182249f0 onepad: drop hacks/options for DualShock3
SDL2 will take care of correct detection
2017-04-28 11:27:19 +02:00
Gregory Hainaut 5c537fdbe3 onepad: properly indent comments
Clang-format doesn't like the double *
2017-04-28 11:27:19 +02:00
Gregory Hainaut 9c7e9cc6f2 onepad: use range loop and vector of unique_ptr to manage the joystick 2017-04-28 11:27:19 +02:00
Gregory Hainaut 873ae6717e onepad: add a game controller db resource
It will be used later by the SDL2 API
2017-04-28 11:27:19 +02:00
Gregory Hainaut d3a3a8528f cmake: reindent onepad/CMakeLists.txt with space 2017-04-28 11:27:19 +02:00
Gregory Hainaut 41990a6402 cmake: create the macro add_custom_glib_res to handle resources 2017-04-28 11:27:19 +02:00
Jonathan Li ffcac1bc3b spu2-x:xaudio2: Comment stuff to investigate 2017-04-28 10:12:50 +02:00
Jonathan Li adb92ce349 spu2-x:xaudio2: Use unique_ptr
Also remove the unused constructor parameter from StreamingVoice and
rename the variables slightly.
2017-04-28 10:12:50 +02:00
Jonathan Li 14bd5a4f59 spu2-x:xaudio2: Improve cleanup after an exception
Initialise pointers to nullptr, move the LoadLibrary code into the try
block (where it should have been in the first place), and use Close()
to cleanup if an exception occurs. Also initialise/destroy the critical
section in the base class constructor/destructor.

This should avoid resource leaks if an exception occurs.
2017-04-28 10:12:50 +02:00
Jonathan Li 6c512c1973 spu2-x:xaudio2: Simplify XAudio2Error exception
Instead of creating a separate message function, just reuse what() and
pass the string to the std::runtime_error constructor instead.

Also catch a reference to a std::runtime_error instead, since it'll
allow for simpler cleanup.
2017-04-28 10:12:50 +02:00
Jonathan Li 3cb0e3bb13 spu2-x: Combine XAudio2 2.7/2.8+ code into an inline file
Avoids code duplication, though there's now messy ifdefs...
2017-04-28 10:12:50 +02:00
lightningterror 303564fd70 GSdx: Move/add GT4 CRC
Moved a CRC hack to Aggressive that can cause or fix VRAM and RAM spikes.
This way people can switch between each config if they experience problems with either.
Varies on userconfig , game version and maybe hardware.

Added missing CRC game version for GT4 pal.

Note: The issue might be the same on GT3 and GTConcept , the code might
need to be removed for those games as well.
2017-04-27 17:46:58 +02:00
Gregory Hainaut bb35261aca gsdx: don't request a depth buffer on the window
Code directly uses depth buffer attached to a frame buffer
2017-04-23 10:59:33 +02:00
Gregory Hainaut 2155f65478 gsdx: fix EGL build 2017-04-23 10:59:33 +02:00
FlatOutPS2 47c2f0a289 GSdx: Remove Dirge Of Cerberus CRC hack
Hack was used to remove garbage data rectangles from popping up on screen when objects and characters were added to or removed from the world.
This issue is now being handled by OI_DoubleHalfClear in GSRendererHW.cpp, so the hack is no longe necessary and has been removed.
2017-04-21 11:13:27 +02:00
FlatOutPS2 7392f52184 GSdx: Move Resident Evil 4 and The Getaway series CRC hacks
Moves Resident Evil 4 hack to Aggressive level as it is no longer
required to fix any issues, but does offer a decent speed boost.

Moves The Getaway & The Getaway Black Monday CRC hack to Full level, as the issue can be resolved
when using the OpenGL Hardware renderer.
2017-04-21 11:13:27 +02:00
Gregory Hainaut 688f05ff26 gsdx sw: always enable the gs memory wrapping emulation 2017-04-21 10:53:05 +02:00
Gregory Hainaut ef3435441f onepad: create a legacy version for SDL1
The legacy version is the version 1.3

The new version is the version 2.0. It would be based on SDL2 only

Distribution information.
If you link wxWidget with SDL, you will need to be sure it is SDL2 or upgrade.

You can build wxWidget with SDL2 with the following trick

export SDL_CONFIG=/usr/bin/sdl2-config
./configure --with-sdl .....
2017-04-19 19:02:36 +02:00
Gregory Hainaut 24eb1627e5 gsdx: add GStempdir wrapper to get a tempory directory
Allow to use Linux compatible code for OpenCL
2017-04-12 18:39:11 +02:00
Gregory Hainaut 2b30e7880e gsdx: add GSmkdir for windows based on CreateDirectory
v2: use nullptr
2017-04-12 18:39:11 +02:00
Gregory Hainaut 2d0a61fc8d gsdx ogl: use load resource to load shader
* Windows behavior must be checked
* remove glsl_source.h

v2: fix missing include
Big thanks to Turtleli

v3:
fix indentation in gsdx-res.xml
add dependency in cmake
remove old res/glsl/fxaa.fx symlink
add tfx.cl for OpenCL support on Linux

v4, v5
fix cmake indentation
2017-04-12 18:09:06 +02:00
Gregory Hainaut 38c4f5b6e7 gsdx: always NULL terminate resources on Windows
It is done automatically on Linux. Strings are much
better with this NULL char ;)

All credits go to turtleli

v2: increase resize instead of push_back NULL char
2017-04-12 18:09:06 +02:00
Gregory Hainaut ebae8b65f8 gsdx linux: implement GSdxApp::LoadResource based on g_resource
v2: use early return to reduce code/branch complexity
v3: use nullptr
2017-04-12 18:09:06 +02:00
Gregory Hainaut 1cbade511d gsdx: use vector of char as shader container
It will avoid various char cast on Linux.

v2:
remove cast on windows file and std prefix shader vector
v3:
forget to remove some char cast
2017-04-12 18:09:06 +02:00
Jonathan Li cf131b51a2 cdvdgigaherz: Avoid LL after date in library name string 2017-04-11 00:31:14 +01:00
Gregory Hainaut e91194994f gsdx ogl: remove useless glx/egl context print 2017-04-09 12:59:08 +02:00
Gregory Hainaut 8555b9b5ec remove an old merge conflict file (that souldn't have been commited) 2017-04-08 14:40:55 +02:00
Gregory Hainaut dad4ab1980 gsdx ogl: Deleted objects are automatically unbound/unmapped 2017-04-08 14:40:54 +02:00
Gregory Hainaut 12d2c6be56 gsdx linux gui: align gui with wndows (tooltip + checkbox)
add checkboxes for the 2 "new" hacks
    Wrap gs memory & merge postprocessing sprite

add tooltip for OpenGL options

v2: based on turtleli feedback
use gtk_scrolled_window_set_propagate_natural_height on GTK 3.22+
use the nicer GTK_CHECK_VERSION macro
2017-04-07 23:06:29 +02:00
Gregory Hainaut 83d83b9add gsdx linux gui: reduce height on/for small screen
* Remove the logo
* add a scroll on the osd panel
2017-04-07 23:06:29 +02:00
lightningterror 820919c0a9 GSdx ogl sw: Move GL_ARB_copy_image to optional
Move GL_ARB_copy_image to optional for OpenGL SW render.
It will allow Ivy Bridge to work with OpenGL SW as it's not required.

Sandy Bridge is not yet tested , would be nice if someone could test.
2017-04-06 18:14:59 +02:00
Gregory Hainaut ad63c13cd1 gsdx sw: Update comment on the GCC bug
Add link to bugzilla. Bug will be fixed in GCC7

Close #1881
2017-04-04 19:04:21 +02:00
Gregory Hainaut 5b91dc45e0 gsdx ogl: reduce requirement for SW renderer
Clip Control is only used for the HW renderer.

It will help Nvidia DX10 GPU on Windows. Potentially old AMD GPU too.
Unfortunately Ivy bridge still misses texture copy

Note on Linux, you can use the free Mesa driver.

Otherwise, it is time to save money for a future upgrade :)
2017-04-04 18:37:26 +02:00
Gregory Hainaut df32564bef gsdx: workaround AVX2 generated code by GCC
See commit for the full details.

v2: use a direct access to the union field instead of extract32
It gives us both optimal and working code.
2017-04-01 14:05:40 +02:00
FlatOutPS2 82405982f7 GSdx: Add merge sprite hack to GSdx hacks dialog
Adds merge sprite hack to GSDx hacks dialog

And ports merge sprite hack to Direct3D renderers.
Special thanks to my keyboards Ctrl, c and v buttons for all their hard
work in porting this hack.
2017-04-01 11:16:25 +02:00
FlatOutPS2 557b672232 GSdx: Unscale Point and Line Direct3D11 port
Ports the "Unscale Point and Line" hack to the Direct3D11 Hardware renderer.

And enables the "Unscale Point and Line" hack for Custom Resolutions with Direct3D11 and OpenGL.
2017-04-01 11:16:25 +02:00
FlatOutPS2 117c249595 GSdx: Add Windows GUI for split texture filtering option
Adds Windows GUI elements of the split texture filtering options.

Bilinear Texture Filtering is moved to the top section of the main GSdx window,
and Trilinear Filtering is moved to Hacks.
2017-04-01 11:16:25 +02:00
FlatOutPS2 cb0a430aa4 GSdx: Shader & OSD window update
Adds Texture Filtering Of Display option to the Shader dialog window Windows UI.

Updates the layouts of the Shader and OSD dialog windows to more closely resemble the Linux GUI.
2017-04-01 11:16:25 +02:00
FlatOutPS2 df5278df72 GSdx: Main & Hacks window update
Reorganizes Hacks dialog window.

Adds UI elements for the Memory Wrapping and HPO v2/Special commits

Adds advanced OpenGL functions "Geometry Shader" and "Image Load Store" to the Windows UI.

Renames "Configure Hacks" to "Advanced Settings and Hacks", to more closely resemble the Linux GUI.
2017-04-01 11:16:25 +02:00