Commit Graph

318 Commits

Author SHA1 Message Date
lightningterror 5db24d4e4a gsdx-ogl: Adjust some gl debug logs.
Move Additional colclip info, dithering, FixedTEX0 to extra debug logs.
It will allow to keep track of more important stuff going on and they
can be enabled with ENABLE_EXTRA_LOG if needed.

Change context creation log type from stderr to stdout.
2020-06-14 00:02:26 +02:00
KrossX b5625ad8b0 gsdx-hw: Add zclamping to ps/fs.
Add zclamping to ps/fs, enable vs, ps/fs clamp when needed with a macro.
2020-06-06 23:56:41 +02:00
lightningterror 5d0eefeebd gsdx-hw: Cleanup a bit EmulateZbuffer.
Update the comment to reflect recent changes,

Rename DepthMask to MaxDepth,

use a mask shift to get z format,

Do vs cb padding on d3d11.
2020-06-06 23:56:41 +02:00
lightningterror 845a3d0ab8 gsdx-hw: Remove the code block for the bad Z sise check in EmulateZbuffer.
Also fixes Itadaki Street text and F1 2004 starting lights
2020-06-06 23:56:41 +02:00
lightningterror 33678441dc gsdx-hw: Clamp zbuffer to depthmask instead of wrapping.
The behavior was verified on Dobie to be correct.
The code needs to be ported to SW renderer too to
improve rendering on SW side.

Current PR will fix plenty of games on HW renderer
that had/have zbuffer issues before.

v2. Set DepthMask to the maximum the current depth format allows.
Will properly clamp for 16bit and 24bit formats.

v3. gl: Fix uniform buffer upload/cache for VSConstantBuffer.
2020-06-06 23:56:41 +02:00
lightningterror 24f06187df gsdx-d3d11: Port/add depth mask support to EmulateZbuffer.
Add support for depthmasking to EmulateZbuffer, previous old code had
support but wasn't ported properly with the new code a few years back.

VS Constant buffer is now properly setup.
2020-06-06 23:56:41 +02:00
refractionpcsx2 ca903b6b14
GSdx-sw: Add Z clamping to GSdx SW mode (#3433)
* Add Z clamping to GSdx SW mode

* Fix spacing

* Only clamp when max vertex z is greater than zfmt max

* Fix Z format switches

* Get rid of needless shuffle

* Whoops, missed a case

* Replace switches with a shift

* Disable triangle clamping for SSE2

* Implement clamping on GS Raster Interpreter

* Added SSE2 Triangle Z clamping by KrossX
2020-06-05 20:56:16 +01: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 297459c9f6 gsdx-d3d11: Remove exclusive fullscreen code used in legacy gsopen. 2020-05-16 08:43:25 +02:00
lightningterror 37c0067caf gsdx-d3d11: Remove Dispatch function, was never used. 2020-05-16 08:43:25 +02:00
lightningterror 2e06e960bb gsdx-sw: Remove s_n (draw number) parameter from GetSizeFixedTEX0.
Opengl debug macro already provides draw number so it is esentially
useless.
2020-05-14 03:28:07 +02:00
lightningterror 333cd61c17 gsdx: Rename BLEND_NO_BAR to BLEND_NO_REC.
Since we use it on d3d too it will better fit the naming.
2020-05-13 05:38:25 +02:00
lightningterror 593d948615 gsdx-hw: Adjust PABE logs and expand the mentioned games list for it. 2020-05-12 00:11:11 +02:00
lightningterror e860742131 gsdx-ogl: Synchronize accurate blending enumeration with gui options. 2020-05-12 00:11:11 +02:00
lightningterror aaaf80f785 gsdx-ogl: Some colclip adjustments.
- Always enable sw colclip for BLEND_NO_BAR.
Free blending and it's faster than standard hdr algo when Blending
Accuracy is disabled.

- Enable sw colclip for Safe FBMASK SW emulated.
instead of hdr mode with accumulation blend so we don't use a mix of sw
and hw blending. It is more accurate.
Test case: Superman Shadows of Apokolips, fixes shadows when blending is enabled.

- Use const to get rid of some warnings.
2020-05-12 00:11:11 +02:00
lightningterror 3f467cae67 gsdx-d3d11: Always enable sw colclip for BLEND_NO_BAR.
- Free blending and it's faster than standard hdr algo when Blending
Accuracy is disabled.

- Add assert when disabling hw blending, hw blending should only be disabled
on free/no barrier blending. D3D11 lacks other types of blending.

- Use const to get rid of some warnings.
2020-05-12 00:11:11 +02:00
lightningterror ba449a524a Revert "gsdx-ogl/d3d11: Add a assert when texture is too small or too big."
This reverts commit 99f814d376.

The assert gets triggered on Linux and so debug build can't be used properly.
Would be nice to investigate why in the first place but until then revert the
entire commit. We have checks for texture limits anyway so it shouldn't be an issue.
2020-04-29 19:33:38 +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 6bcd118b62 gsdx-d3d11: Adjust anisotropic filtering handle.
Previous behaviour:
Anisotropic filtering was continuing to run even with Nearest filtering.
On opengl it doesn't run on nearest filtering. The gui for both
renderers also greys out aniso when nearest is selected.

Anisotropic filtering being able to run on palette texture. This caused
to break the rendering on palette textures for games that use it.

PR behavior:
The PR corrects both of these behaviors, Aniso won't run on palette
textures as well as nearest filtering.

Test cases for observing the issues were used: Star Ocean 3, Fifa
Street.
2020-01-26 22:02:19 +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 e43ba53ea9 gsdx-d3d11: Remove unused m_rt_ss sampler.
It was removed with old rtCopy DATE code.
2020-01-18 18:06:46 +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 b34338a500 gsdx-d3d11: Fetch the texture PSM format rather than the context format in texture sampler.
Match opengl behavior.
2019-10-21 23:23:22 +02: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 f2a9b59aae
gsdx-ogl: Hit unsafe instead of safe path for sw fbmask when there is no alpha blending. (#3100)
So far notable performance improvement show Spiderman 3 and Scarface of 1-2 fps when using basic blending. Full list of known affected games at #3100
2019-10-03 15:50:19 +02:00
KrossX 4db6b287cd GSdx-d3d11: Make TFX shader more similar to OGL's.
Denormalize FOG and COLOR to match as well.
2019-09-15 19:02:36 +02:00
lightningterror 99f814d376 gsdx-ogl/d3d11: Add a assert when texture is too small or too big.
Add an assert for when texture is below 1 on direct3d/ogl.
Add an assert for when texture is above direct3d limit.
2019-08-26 15:55:43 +02:00
lightningterror de7a3b70c9 gsdx-d3d11: Adjust maximum texture size limit based on available feature level.
d3d10 = 8192
d3d11 = 16384

Seems it is easier to hit the limit. Champions of Norrath with 8x
upscale for example.
2019-08-26 15:55:43 +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 6feb59fef5 GSdx-hw OGL: log if tex size gt PBO segment size.
Texture data may be corrupted in this case due to missing
fences synchronization.
2019-08-19 23:13:56 +02:00
Alessandro Vetere 63982bf6b7 GSdx-hw OGL: fix PBO pool map size.
Round up mapping size for alignment before computing
wrapped pointer.
Avoids memcpy after end of PBO buffer.
2019-08-19 23:13:56 +02:00
KrossX 9b651e44d0 GSdx: Fix mipmap SSE2 code for linear mipmap nearest filter. (#3064)
Fixes a regression introduced in e728a14c19
2019-08-16 09:03:05 +01: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
lightningterror 91570a9e0f gsdx-ogl/d3d11: Also ensure that we set proper ini values for Shade Boost sliders.
Should avoid any potential issues if ini values are wrong for shade
boost.

Bonus: Fix gui overlapping issues when sliders are on maximum (100).
2019-07-17 01:16:46 +02:00
lightningterror 888897ed48 gsdx-osd: Ensure we set proper data for osd options.
Should avoid any potential issues if ini values are wrong for osd.
2019-07-16 23:42:34 +02:00
lightningterror 56b8612502 gsdx-d3d11: Set maximum allowed texture size to d3d10 limits which is 8192.
Should prevent any issues if we ever go over the limit.
2019-07-15 22:32:45 +02:00