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.
Hack is obsolete/replaced with accurate date/date_one option/code.
There's pretty much no usecase for it remaining other than using it as
an alternative to skipdraw which removes/breaks transparency effects.
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).
Improve texture cache Source objects invalidation logic taking into account overlapping with current draw.
Fixes eyes rendering for the Major in Jak 1.
Use SwSpriteRender to render sprites, which:
- fixes kaioken effect,
- fixes character outlines when upscaling,
- reduces frametime by up to 3ms with big upscaling factors.
Don't disable sparse texture by default before extension check, it will
display sparse texture always not supported. Do an ini check in
check_sparse_compatibility function instead.
Log should properly state if sparse texture is supported now.
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.
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.
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.
* 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
- 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.
- 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.
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.
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.
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.
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
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.
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.