Commit Graph

153 Commits

Author SHA1 Message Date
lightningterror 246dab3375 gsdx-hw: Move EmulateAtst in common hw renderer code.
v1 Code is identical so no need to have separate functions for gl and
d3d11.

v2 Change pass integer parameter with bool that checks for pass 2.
2020-11-04 07:48:58 +01:00
lightningterror 418974a28a gsdx-hw: Add ICO to automatic mipmapping.
Improves godrays.

Needs Full mipmap with ultra trilinear for extra accuracy.
2020-10-21 17:34:33 +02:00
lightningterror dd5d1a1abb gsdx-hw: Remove DynamicCrcHack feature. 2020-09-18 19:13:45 +02:00
lightningterror 366e7b9dbd gsdx-hw: Purge Grandia3 crc hacks.
Upscaling issues can be solved with half pixel offset. Leave the
accurate blur alone!
2020-09-17 20:10:44 +02:00
lightningterror 8d8f0f82d8 gsdx-hw: Run clang format on GSHwHack.cpp. 2020-09-17 19:53:24 +02:00
lightningterror baabbc3c9f gsdx-hw: Purge Genji crc hacks.
Effects rendered correctly.
2020-09-16 01:22:26 +02:00
lightningterror 13ff9ab7db gsdx-hw: Purge TimeSplitters2 crc hack.
Not needed anymore.
See https://github.com/PCSX2/pcsx2/issues/3568#issuecomment-663927379
2020-08-25 16:57:47 +02:00
lightningterror b00c603e0b gsdx-hw: Remove aggressive crc hack for SMTDDS1, SMTDDS2, SMTNocturne.
Removed motion blur and filter on the player. Hack is awful, get rid of
it! Related
4e7e7f2dd5

Bonus: remove commented out hack for VP2.
2020-07-19 00:14:37 +02:00
lightningterror a2c62c30ad gsdx-hw: Remove Itadaki Street hw hack.
The hack didn't properly work and it is a core issue.
2020-06-27 09:02:18 +02:00
lightningterror 3269c58c8d gsdx-hw: Improve detection of Texture Shuffle effect.
DMC3, Onimusha 3 rely on this behavior.
They do fullscreen rectangle with scissor, then shift by 8 pixels, not done with recursion.
So we check if it's a TS effect by checking the scissor value.

Credits to Kojin for figuring out the issue.
2020-06-24 22:39:06 +02:00
lightningterror cc3c5a8efc gsdx-hw: Remove Onimusha3 and DevilMayCry3 crc hacks.
Next commit will allow to render the effects properly.
2020-06-24 22:39:06 +02:00
iMineLink 1426dc1fc5
GSdx-hw: use CanUseSwSpriteRender in OI_JakGames. (#3463)
In GSRendererHW, reuse the method CanUseSwSpriteRender for OI_JakGames.

As in current master, 16x16 "flat" sprite draws are performed via CPU: those are palette rendering better emulated with the SwSpriteRender.

Jak games do also many 64x64 "flat" draws, but mostly for render to texture effects that are already correctly emulated in the TC, so those draws are not done via CPU (as on the contrary happens for DBZ BT games).
2020-06-20 20:22:27 +02:00
iMineLink e2c472baa9
GSdx-hw, TC: invalidate Source w overlapping draw. (#3131)
Improve texture cache Source objects invalidation logic taking into account overlapping with current draw.
Fixes eyes rendering for the Major in Jak 1.
2020-06-19 21:36:19 +02:00
Alessandro Vetere ca9e876241 GSdx-hw: use SSR in DBZBT3.
Closes #2001.
2020-06-16 22:28:51 +02:00
Alessandro Vetere d05b31e91c GSdx-hw: get rid of some VS warnings. 2020-06-15 22:52:26 +02:00
Alessandro Vetere 60e8d40492 GSdx-hw: DBZBT2, remove OO & CU, add OI.
Use SwSpriteRender to render sprites, which:
- fixes kaioken effect,
- fixes character outlines when upscaling,
- reduces frametime by up to 3ms with big upscaling factors.
2020-06-15 22:52:26 +02:00
Alessandro Vetere e71380b82c GSdx-hw: DBZBT2, remove GSC. 2020-06-15 22:52:26 +02:00
Alessandro Vetere fb3eaa9eff GSdx-hw: add CanUseSwSpriteRender method. 2020-06-15 22:52:26 +02:00
Alessandro Vetere ff4ba6712c GSdx-hw: SwSpriteRender, improve no raster check. 2020-06-15 22:52:26 +02:00
Alessandro Vetere c164769eec GSdx-hw: SwSpriteRender, use m_r, correct assert. 2020-06-15 22:52:26 +02:00
Alessandro Vetere 9b73c0eeec GSdx-hw: use PRIM enums in SwSpriteRender. 2020-06-15 22:52:26 +02:00
Alessandro Vetere cd0a6f05a0 GSdx-hw: SwSpriteRender, implement TEX0.TFX=1. 2020-06-15 22:52:26 +02:00
Alessandro Vetere f2dd92b5f8 GSRendererHW: SwSpriteRender, fix FBMSK. 2020-06-15 22:52:26 +02:00
Alessandro Vetere 09116d8964 GSdx-hw: SwSpriteRender, implement all ALPHA.C. 2020-06-15 22:52:26 +02:00
KrossX 61c4f9399a GSdx: Dithering setting Hotkey 2020-05-16 21:53:17 +02:00
KrossX 8b1eb3b456 GSdx: Dithering on Hardware 2020-05-16 21:53:17 +02:00
lightningterror f54b79c274 gsdx-hw: Move GSC_XenosagaE3 crc hacks to Aggressive state.
It will allow D3D11 to render Texture shuffle effects.

Keep the crc hacks on aggressive instead of removing them as they might
still be useful.
2020-01-31 16:19:58 +01:00
lightningterror 0c5353a709 gsdx-hw: Remove GSC_DemonStone crc hack.
It removed texture shuffle effects.
Half screen issue can be properly emulated with "Half-screen fix" option
set to Force Enabled.
2020-01-23 01:22:23 +01:00
lightningterror f5eeaf1baa gsdx-hw: Split half screen/bottom detection in 3 levels.
Automatic, same as before, automatically enable based on height delta.

Force Disabled, fully disables the half bottom detection.

Force Enabled: Fully enables the half bottom detection.
2020-01-23 01:11:57 +01:00
lightningterror 2827394f3c gsdx-hw: Disable half screen TS fix for Xenosaga 3.
Xenosaga handles the half bottom as an vertex offset instead of a buffer
offset which does the effect twice.
Half bottom won't trigger a cache miss that skip the draw because it is
still the normal buffer but with a vertices offset.

Issue #3147
2019-11-28 00:04:15 +01:00
lightningterror cc62165e36 gsdx-hw: Remove GSC_ResidentEvil4 crc hack.
Game is properly rendered on all renderers, any upscaling issues can be
resolved with Half Pixel Offset Normal.
2019-11-25 08:17:25 +01:00
lightningterror 89848346ae gsdx-hw: Add comments explaining what GSC_MidnightClub3 crc hack does. 2019-11-17 17:14:27 +01:00
lightningterror 24be7785db gsdx-hw: Add Persona 3 to automatic mipmapping (basic level).
Fixes flashing / strobing windows.
Issue #1342
2019-10-27 02:03:56 +01:00
lightningterror 70c2778686 gsdx-hw: Adjust GSC_Bully crc hack.
Previous skip value 6 wasn't enough and caused some visual issues on the
ntsc version. Use value of 8 instead.

Issue reported by ozzie212121 on discord.
2019-10-21 18:55:45 +02:00
lightningterror 7bf920b07c gsdx-hw: Purge impact screen crc hack for Burnout Revenge.
Effect is properly rendered with depth emulation, so far only Burnout
Revenge triggered the crc hack from my testing.

Triggering the draw is done when the player car crashes.
2019-10-11 21:04:20 +02:00
lightningterror d77d440a04 gsdx-hw: Re enable automatic mipmapping for Jak 1 and 3.
Issue #2916 has been resolved in #3076
2019-08-19 23:27:58 +02:00
Alessandro Vetere 9e687895e1 GSdx-hw TC: improve search tex in RT
Fixes eyes rendering in Jak games both ingame and in cutscenes.
Previous method yielded no eyes in Jak 2/3/X cutscenes.

- Generalized offset search logic with caching system (works for BW > 1
and any PSM, limited to PSMCT32 for now)
- CRC Flags mechanism for default behavior enabling in Jak games
2019-08-14 17:09:51 +02:00
Alessandro Vetere 7c42928b57 GSdx-hw TC: invalidate Source with Target TEX0
Fixes eyes blinking in Jak games with tex in rt search
enabled.

- Target TEX0 in Source is Source TEX0 if the Source is
not build from Target, otherwise it is the Target TEX0,
allowing improved Source invalidation
2019-08-14 17:09:51 +02:00
Alessandro Vetere 68cfc5d953 GSdx-hw TC: fix Target::Inside check
- inclusion shall not be strict only on start side
2019-08-14 17:09:51 +02:00
Alessandro Vetere 2007894ba6 GSdx-hw TC: fix end block computations
- compute bottom right texel block as last valid block
2019-08-14 17:09:51 +02:00
Alessandro Vetere dfa4680547 GSdx-hw: SwSpriteRender, fix drawing region 2019-08-14 16:18:39 +02:00
Alessandro Vetere 1f6b44d556 GSdx-hw: SwSpriteRender, improve no rast. check 2019-08-14 16:18:39 +02:00
lightningterror 51ba799779 GSdx: Use rt for dRect size, update crc level label.
Use rt for dRect size for OI_SonicUnleashed fix.

Make CRC level label name and position match between windows and linux.
2019-08-04 13:16:47 +02:00
lightningterror c8c1429493 gsdx-hw: Add some logs for OI fixes, add JakX beta eu crc id. 2019-07-30 01:01:23 +02:00
lightningterror e79ea75ae2 gsdx-hw: Add OI rendering fix for Big Mutha Truckers.
It will allow to render the shadows properly, also update the crc
hack to skip less effects.
2019-07-30 00:29:07 +02:00
iMineLink f409079864 GSdx-hw: New SW sprite renderer, used in Jak games only for now. (#3001)
Developed a new SW sprite render function, which is used to fix
Jak and Daxter colors in Jak games and to remove the old Jak games hack
which yielded wrong colors and clashed with TC search texture in RT function.

- Remove OO_JakGames hack for palette readback from framebuffer (slow,
clashes with texture in RT TC function, clashes with Target readback logic)
- Developed new method SwSpriteRender with CPU rendering logic
- Add OI_JakGames method using SwSpriteRender for CPU palette rendering (fast,
does not clash with texture in RT TC function, no readback required)

Bonus: fps also sees an improvement in Jak games 3-5 increase.
2019-07-13 01:05:27 +02:00
lightningterror 96b02be1d1 gsdx-hw: Add Harry Potter and the Goblet of Fire,
Project Snowblind to automatic mipmapping.

Add some extra missing crc ids too for GT4 and Ape Escape 2.
2019-07-11 13:12:06 +02:00
lightningterror b19804190e gsdx-hw: Add an OI hack for Sonic Unleashed.
It will allow to render the shadows properly.

Rendering pattern is:
Save RG channel with a kind of a TS (replaced by a copy in this hack),
compute shadow in RG,
save result in alpha with a TS,
Restore RG channel that we previously copied to render shadows.
2019-06-23 23:34:25 +02:00
lightningterror 066a9aaf71 gsdx-hw: Purge Sonic unleashed crc hack. 2019-06-23 23:34:25 +02:00
lightningterror 62417dae99 gsdx-hw: Revert dmc 3 TS hack purge.
Seems like Texture shuffle/depth is not handled properly in all cases so
revert the change until we fix it properly. Move it to gl level too.

Commit:

11cd6b56cd
2019-06-20 10:36:21 +02:00