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.
Overhauls the previous batch of changes and adds the latest changes. Changes include:
- Unification of terminology between all the strings.
- Changing quotation marks with the ones used in Spanish.
- Removal of some GT-like translations.
- Unification of parenthesis symbols.
- Removal of title uppercasing (Spanish language doesn't use that many uppercased words).
- Checked fuzzy entries.
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.