* Revamp the spu2-x wx dialog box to be more consistant with the wx GSdx dialog.
* Revised advanced sync text for brevity, changed it back to a label, and renamed the dialog box.
* LightningTerror thinks Spu2 looks better in uppercase.
* Change around the time stretching labels again.
Large framebuffer should only be used in cases of stuttery FMVs (cutscenes). 4/8 bits is best used where GPU is much stronger than CPU.
Fix DPI scaling for OSD color sliders (FPS + other stats).
DS4 is finicky sometimes with Directinput enabled and is best used with Xinput + Steam (Steam is recommended for all controllers).
Alternative for DS4 is Ryochan7/DS4Windows (not main DS4Windows).
Added missing CRC for Jak II PAL Preview and Review builds. Due to the protection, the CRCs are identical.
Added mention of Jak 3 Review build in comments. Same CRC as two other builds, due to its protection.
Added a missing Jak X Demo CRC.
* cmake: Remove zzogl from cmake.
* cmake/build: Remove GLSL_API and EGL_API flags.
Only used in zzogl.
* linux various: Remove zzogl.
* sln: Remove zzogl from old plugins solution.
* zzogl: Remove source files.
* debian: Exclude zzogl from copyright.
* linux various: Remove glsl2h.pl
Used only in zzogl?
* linux various: Remove zzogl code from validate_glsl.sh
* debian: Remove zzogl mentions in create built tarball.
* gitignore: Remove zzogl paths.
* git: Ignore uncaught linux build artifacts
* onepad-legacy: Return legitimate key event on `PADkeyEvent` call
Onepad-legacy was the plugin that was building and being used on my linux environment. I'm not sure if t hat's expected and normal 'onepad' has yet to take over.
* onepad: Return legitimate key event on `PADkeyEvent` call
* recording: Remove unnecessary `PadKeyDispatch(ev)` wrapping func
* recording: Cleanup key event handling when GSFrame CoreThread is paused
* recording: Refactor recording status check to be more explicit
* recording: Define additional key bindings for capitalized varient
Despite the advice of the docstrings in these files, on linux this seems to be required for the bindings to consistently fire.
* onepad: Declare `AnalyzeKeyEvent` not static
* recording: Ensure file extension is appended to recording file on linux
* recording: Correct typo in comment
* recording: Better wording around linux keybinding handling
* Remove unneeded `extern`
* Improve secondary dialogs in Onepad. I'll do gtk stuff in this branch, too, I promise...
* More fiddling with onepad's secondary dialogs.
* Rework config.inl to use wx, getting the rest of the null plugins.
* Remove some unnecessary includes, and convert SysMessage to wx in onepad.
* Add in tellowkrinkle's Mac OS fixes.
Updates the d3d device and swapchain creation to more modern methods.
- Use CreateDXGIFactory2 to create the factory and store in member
- Use CreateSwapChainForHwnd
- Add messages for failures to the console
- Some general formatting improvements
Convert sprites on the cpu instead of the gpu when applicable. Port from
Opengl.
Lines: GPU conversion.
Triangles: CPU conversion.
Disable Geometry shader when conversion is done on the cpu.
v1 It won't allow users to try to input a value that isn't supported
osd (size, timeout, max), tc offsets (x, y), rendering threads.
v2 Use const if applicable for variables throughout
GSSettingsDlg.cpp. Will cleanup some warnings.
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
* macOS compile
* Fix memprotect error on macOS
* Fix semaphore wait + thread cancel on macOS
* Fix timedlock timeout calculation
* spu2-x macOS
* onepad macOS support
* Add MacOS game controller db
* Disable onepad_legacy on macOS
* Fix spu2-x configuration crashes
* Make recompiler work on 32-bit macOS
* Use dylib extension for plugins on macOS
* Make app bundle on macOS
* Use git info for Info.plist version
- 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.
Fast floating point behaviour can optimise out handling for special
floating point values e.g. NaNs. As GSdx needs to handle NaNs in a few
places, precise floating point behaviour should be used instead.
Fixes a flashlight regression in Silent Hill 2/3 that was caused by
VS2019 optimising out NaN handling.
* spu2-x: Make portaudio an optional dependency.
v2: Fix crash in the audio settings with SDL1 and without portaudio.
* cmake: Add PORTAUDIO_API to disable portaudio support.
ePSXe for example.
There is little to no benefit in keeping it, especially when nobody was
maintaining the code. If we ever want to reintroduce it we can do so
from older branches like 1.6.
Plus if we want to integrate plugins into pcsx2 itself this is a required step.
PS1 games can ofc still be played within pcsx2.
Leave it as an ini option only.
People should never use custom resolution as it causes many issues and
many features aren't supported with it.
On linux option was removed a long time ago.
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, Force Disabled, Force Enabled.
Automatic - automatically determinate if a game needs the half screen
fix.
Force Disabled - fully disables the half bottom fix. It will help
Xenosaga games.
Force Enabled - fully enables the half bottom fix. Will help Lord of the
Rings Two Towers, Superman Shadows of Apokolips, Midnight Club 3.
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.
Separate and group hack types in to Rendering and Upscaling hacks. This
should help users identify better what some hacks do and make it a
little bit easier to use.
Rename Automatic CRC Level label back to CRC Hack Level.
Rename Accurate Date label to DATE Accuracy.
Rename Accurate Blending label to Blending Accuracy.
Remove 10x and 12x upscaling options, we don't want to hit the maximum
texture size limit and cause issues so better play it safe and allow
only up until 8x upscaling.
Reword the tooltip to make it a bit more fitting with it's current
behavior.
Add all games in the list that have some sort of aggressive state.
Update anisotropic filtering, autoflush sw, sparse texture, gl blending tooltips.
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.
* spu2-x: Fix crash with an invalid output module.
This will default to SDLOut.
Fixes https://github.com/PCSX2/pcsx2/issues/3124
* spu2-x: Create non-empty defaults for OutputApi and SdlOutputApi.
[107/641] Building CXX object plugins/GSdx_legacy/CMakeFiles/GSdx-legacy-1.0.0.dir/stdafx.cpp.o
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-packed-not-aligned'; did you mean '-Wno-over-aligned'? [-Wunknown-warning-option]
2 warnings generated.
Partially replace the Linux ini code so that it:
- works on both Windows and Linux
- is backwards compatible with older GSdx inis
- properly handles UTF-8 ini pathnames
Fix an issue with GSdx on Windows not being able to handle non-ASCII
ini pathnames.