Commit Graph

152 Commits

Author SHA1 Message Date
lightningterror f02c683178 gsdx: Merge Sly 2 and 3 crc hacks.
Upscaling issue with texture shuffle on dx and gl. Also removes shadows
on gl.
Bbox issue on dx.

Dumps from Sly 2 and 3 look fine after the merge.

Also add a crc id BF1739E2 for a prototype Sly2. I don't remember who
game me the dump or if it's official.
2019-01-28 21:58:30 +01:00
lightningterror ee7749452d gsdx-d3d11: Remove unused function OMSetRenderTargets with UnorderedAccessView.
Note ID3D11UnorderedAccessView parameters are also unused but could be
useful for future DATE ports.
2019-01-28 21:01:22 +01:00
lightningterror 4c477d3cd6 gsdx-debug: Disable Alpha Test debug logs on d3d11.
Unfortunately they do more harm than help, slowing things quite a lot
because of the endless log spam when debugging gs dumps.
2019-01-28 20:38:11 +01:00
Kojin af64865c5d gsdx-d3d11: Framebuffer copy improvements
Improved handling of frame buffer copy by accounting for fb read on all slots.

- implement before/after draw functions
- defer setting of resources on the api to just before the draw
- use a bitfield to keep track of set/copied resources
- recycle copies after draw

Fixes: RE4 and Tales of Abyss
2019-01-27 16:40:39 +01:00
lightningterror ece7d6e718 gsdx-ogl: Update intel bad driver log.
Assume that driver support is good when GL_ARB_texture_barrier and
GL_ARB_direct_state_access are both supported, disable the log in that
case.

Kaby Lake and above already support the required extensions (windows) so
the log is useless. It should be the same case for Skylake. Mesa driver
should already be good.

Note: SSO is still broken even on latest igpu.
2019-01-27 00:12:08 +01:00
lightningterror d4833a4618 gsdx-d3d11: Add final specifier to some voids. 2019-01-26 16:13:07 +01:00
lightningterror 744fa18d95 gsdx-d3d11: Merge/move GSDeviceDX code to GSDevice11.
Update VS and cmake project files, remove GSDeviceDX files.
2019-01-26 16:13:07 +01:00
lightningterror 19b97f8684 gsdx-ogl: Remove useless SetupIA from GSDeviceOGL.h not used. 2019-01-26 16:13:07 +01:00
lightningterror 2e2c9b14a4 gsdx-ogl: Enable anisotropic filtering only for triangles.
Sprites are flat so aniso is likely useless (it would save perf for
others primitives).

Idea by Gregory.
2019-01-26 14:52:30 +01:00
lightningterror 7b4133ac08 GSdx-d3d11: Add final to Renderer class and DrawPrims, also change some voids to inline. 2019-01-24 20:30:48 +01:00
lightningterror 78f0b65e19 GSdx-d3d11: Merge GSRendererDX11 and GSRendererDX together.
Update VS and cmake project files to match new changes.
2019-01-24 20:30:48 +01:00
lightningterror b9df1e643b gsdx-hw: Adjust/cleanup hw hacks variable calls.
Use a function to check UserHacks for all variables in GSState.cpp
instead of checking each variable individually.

Get rid of UserHacks_HPO local variables in GSRendererOGL/DX and use the
member variable m_userHacks_HPO instead, we don't need duplicates that
do the same thing.

Add ResetStates call at the beginning of GSRendererDX to match gl
behavior.
2019-01-23 12:24:12 +01:00
lightningterror 2aadf0be89 GSdx: Adjust Scaling Factor.
Use value of 1 when upscale multiplier is 0 for ScalingFactor, this is
to avoid doing math with 0 in shader.

It helps custom res be less broken. Still not recommended to use custom
res ofc.
2019-01-22 23:25:01 +01:00
Kojin 8c8b1f497c gsdx-d3d11: ICO depth HLE
Game reads framebuffer depth as alpha of texture.
However, this is a problem for d3d11 as a shader read on the fb is not allowed.

So let's handle it in a similar fasion to channel shuffle:
- Set depth to slot 4
- Detect when slot 4 matches depth rt
- Copy and send the copy to the shader
2019-01-22 06:52:24 +01:00
Kojin 468b9ded46 gsdx-d3d11: Update texture copy method to handle depth
- Rename CopyRenderTarget to CloneTexture
- Allow copy of depth target

Also fix a small oversight from the removal of MSAA.
2019-01-22 06:52:24 +01:00
Kojin 57824261c6 gsdx-d3d11: Cache rt depth stencil on m_state
Cache the depth stencil in addition to color rt.
This will allow us to check for depth stencil equality on slot 4.
2019-01-22 06:52:24 +01:00
lightningterror 946e6046b3 gsdx: Adjust some crc hack comments for some games.
Maybe in the future I'll add github issue links to corresponding crc
hacks.
2019-01-21 19:38:20 +01:00
lightningterror 548d6b31bf Gsdx: Purge GSC_RedDeadRevolver crc hacks.
Blurring with a bit of ghosting is intended and it looks like that on
the console as well.

Depth properly emulated.

D3D11 misses blending.
2019-01-20 19:49:36 +01:00
lightningterror 4ecbb750a8 GSdx: Purge GSC_BlackHawkDown crc hacks.
Channel and texture shuffle emulated correctly.
2019-01-20 00:05:18 +01:00
lightningterror b4cb805a91 gsdx-tc: Remove CanConvertDepth virtual bool and use m_can_convert_depth for depth toggling. 2019-01-18 14:53:06 +01:00
lightningterror bbd8cbbcf4 GSdx: Move GSC_DeathByDegreesTekkenNinaWilliams to partial crc level.
Upscaling issues + unsupported texture shuffle.
Hacks might need to be updated.
2019-01-18 13:17:28 +01:00
lightningterror 0c3a0da58f GSdx: Purge GSC_LegoBatman crc hacks.
Effects emulated correctly with texture shuffle and depth.

Game has upscaling issues which can be fixed with TC offsets.
2019-01-17 09:58:59 +01:00
lightningterror 51fe6c20ca GSdx: Adjust dbz bt glow/blur crc hack.
Don't enable hack on native res if crc(ntsc only) is below aggressive.

Note for future so I don't forget: This hack can be disabled if depth
hack is also disabled.
2019-01-17 07:45:35 +01:00
Kojin e429677a07 gsdx-hw: Completely remove MSAA from renderer code. 2019-01-15 19:13:14 +01:00
lightningterror ee4d295667 GSdx-d3d11: Remove afix factor from 24bit format. 2019-01-14 16:52:19 +01:00
lightningterror e05b5d2420 GSdx-d3d: Move channel and texture shuffle in GSRendererDX.
Preparations for file merge.
2019-01-14 02:30:25 +01:00
lightningterror 106c678cc1 GSdx: Purge GSC_EternalPoison crc hacks.
Shadows are better rendered now with hdr colclip, blending is still
needed but the shadow's shape is proper now so let's purge the hack.
2019-01-13 17:33:08 +01:00
lightningterror 52bad3505c GSdx: Adjust GSC_GodOfWar 1 and 2 crc hacks a bit more.
GSC_GodOfWar moved to aggressive state.
GSC_GodOfWar2 some value swere corrected (should fix some regressions)
and hack was moved to partial state because we have an upscaling hack.
2019-01-13 16:26:09 +01:00
lightningterror f5b9965910 GSdx: Purge OI_GodOfWar2 hw hack. 2019-01-13 15:08:36 +01:00
lightningterror 6f01936943 GSdx: Remove depth crc hacks for god of war 1 and 2.
Effects rendered correctly with depth on all renderers.
2019-01-13 14:42:53 +01:00
lightningterror 9119e3110d GSdx-ogl: Correct DATE log. 2019-01-12 16:43:26 +01:00
lightningterror f73de4c59c GSdx-ogl: Add perf log for Slow DATE code on texture shuffle/no prim overlap. 2019-01-12 09:59:28 +01:00
lightningterror 7e6c325210 GSdx: Move BoundingBox to HW render and update d3d11 code to use the gl bounding box as well.
hdr colclip and date uses it.
2019-01-12 09:53:51 +01:00
lightningterror d17e0eba9b GSdx-d3d11: Add/port HDR colclip support.
It helps render shadows a lot better compared to the old code.

Credits to Gregory and Kojin for helping with the code.
2019-01-12 09:53:51 +01:00
lightningterror 8a57d7f470 GSdx-d3d11: Remove colclip and negative blend algo.
Code was old and inefficient. HDR colclip will do a better job.
2019-01-12 09:53:51 +01:00
lightningterror f2f66c02d3 GSdx: Add option to Disable Safe Features.
Idea is to disable multiple features in 1 option to avoid gui clutter.

Unscale Point and Line:
This partially reverts PR #2710 restoring Unscale Point and Line but as a disable option.
It can help Xenosaga games.

GS Memory clearning:
This disables GS memory clearing to be done on the CPU, by default both gpu and cpu do memory clearing
which is more accurate.
It can help Kingdom Hearts games.
2019-01-09 15:44:41 +01:00
lightningterror 54f8aca7d5 GSdx-d3d11: Re enable shader code logging.
Log was disabled in #2760
2019-01-04 01:00:10 +01:00
Kojin eddaf71d47 gsdx: remove dds parameter from texture save method 2018-12-30 20:13:59 +01:00
Kojin e847d94062 gsdx-d3d11: enable splitting of alpha in dumps 2018-12-30 20:13:59 +01:00
lightningterror 781323ff10 GSdx: Purge a crc hacks for GSC_Onimusha3.
Hack removed depth effects which are rendered properly. I wasn't able to
trigger a skip on the other hack draw calls, they need to be
investigated further what they actually did.
2018-12-29 01:35:44 +01:00
lightningterror 01c64f1b35 GSdx: Purge some crc hacks for GSC_BurnoutGames.
Purge hacks that removed texture shuffle effects only.
2018-12-28 20:21:02 +01:00
lightningterror 7577165a97 GSdx: Adjust Aggressive state crc level.
Create a Aggressive state function instead of adjusting the hacks
separate, move the aggressive only there.
It's more efficient this way.
2018-12-28 20:03:38 +01:00
lightningterror d1c8808797 GSdx-d3d: Add texture shuffle check in DATE selection.
It ensures the code cases are hit properly for all DATE selection cases.
Texture shuffle case with Slow DATE is not yet supported so keep using
the old DATE method.
2018-12-26 18:45:11 +01:00
lightningterror a020c98421 GSdx: Cleanup file includes.
Remove GSCrc.h include in GSRendererHW and GSRendererDX11, file is
already included in GSState.h.

Remove GSRenderer.h include from renderers except Null and CL, file already
included in TextureCache hw/sw.

Remove resource.h include from GSRendererDX11, already included in GSDevice11.

Remove GSOsdManager.h from GSDeviceOGL, already included in GSDevice
2018-12-25 20:12:29 +01:00
Kojin a5564896ea gsdx-d3d11: remove useless gs creation method 2018-12-25 13:38:19 +01:00
Kojin e0c598f38e gsdx-d3d11: Enable HLSL debugging on development builds
Enable HLSL compile flags that allow devs to use tools such as NSight or VS Graphics debugging for HLSL.
2018-12-25 13:38:19 +01:00
lightningterror 29941f3e0d GSdx: Partially re add Bully crc hack.
Game has upscaling issues so let's only add the hack for upscaling,
also merge the two regions together.
Hack will be disabled on native res if crc is below aggressive, upscaled
is set to partial level.
2018-12-24 15:25:06 +01:00
lightningterror e299ac1ffa GSdx: Update GSC_DBZBT2, GSC_DBZBT3 crc hacks.
Purge dbz bt3 crc hack that removed outlines, I don't want to mix it
with the depth effect hack that I also moved to aggressive.
Move depth hacks for ntsc region to aggressive state.
2018-12-23 18:48:17 +01:00
lightningterror 59ecfb23d7 GSdx: Purge GSC_Bully, GSC_BullyCC crc hacks. It's the same game.
Depth and texture shuffle render the effects correctly.

Dump shows the game look splending compared to before on d3d11.
2018-12-23 17:55:27 +01:00
lightningterror 154dea1557 GSdx: Purge OI_SMTNocturne hw hack.
The hack was used when depth emulation was not supported or when depth
is disabled.
It causes graphical glitches with the faces when depth is disabled.
2018-12-23 17:12:10 +01:00