Age | Commit message (Collapse) | Author |
|
|
|
|
|
Changes the GraphicsContext to be managed by the GPU core. This
eliminates the need for the frontends to fool around with tricky
MakeCurrent/DoneCurrent calls that are dependent on the settings (such
as async gpu option).
This also refactors out the need to use QWidget::fromWindowContainer as
that caused issues with focus and input handling. Now we use a regular
QWidget and just access the native windowHandle() directly.
Another change is removing the debug tool setting in FrameMailbox.
Instead of trying to block the frontend until a new frame is ready, the
core will now take over presentation and draw directly to the window if
the renderer detects that its hooked by NSight or RenderDoc
Lastly, since it was in the way, I removed ScopeAcquireWindowContext and
replaced it with a simple subclass in GraphicsContext that achieves the
same result
|
|
This commit disables the Boxcat backend by default for new users of yuzu.
There's several reasons as to why this is done:
1. Boxcat currently only actually has an impact on 3 games and doesn't influence any core mechanics of them
2. It causes a plethora of issues when enabled such as games like Crash Team Racing, Diablo 3 and Tales of Vesperia not booting at all or hanging
3. It causes https://github.com/yuzu-emu/yuzu/issues/2957 to happen. This makes the configuration menu totally unusable for many Linux users of yuzu
I think those points show that currently the negative impact of Boxcat outweighs its benefits and should therefore be disabled by default.
For users who are eager to use the extra features provided by it, they can still just turn it on in the settings.
|
|
frontend/Graphics: Add "Advanced" graphics tab and experimental Anisotropic Filtering support
|
|
When the default file is read in, the settings default value is only used
when the key is missing. As it was, the key existed, but the value was empty string
causing it to accept that as a value to pass into the core
|
|
anisotropic filtering levels.
|
|
|
|
|
|
|
|
|
|
Available as a drop down within the configure graphics tab.
|
|
|
|
Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing
bits on Vulkan initialization.
|
|
|
|
This should hopefully fix compilation errors.
|
|
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
Co-Authored-By: jroweboy <jroweboy@gmail.com>
|
|
Avoids potential allocations due to the usage of std::string on strings
that we know at compile time. Most of these might fit in SSO, but it
adds complexity that can be easily avoided with string views.
|
|
Emulates negative y viewports with ARB_clip_control. This allows us to
more easily emulated pipelines with tessellation and/or geometry shader
stages. It also avoids corrupting games with transform feedbacks and
negative viewports (gl_Position.y was being modified).
|
|
This fixes linux and mingw builds.
|
|
Port citra-emu/citra#4950: "Add FPS to SDL title bar"
|
|
|
|
Also fix a small issue with incorrect shutdown ordering in SDL.
Previously the system would still be running so the telemetry task
didn't launch and detached_tasks would assert(count == 0)
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: jroweboy <jroweboy@gmail.com>
|
|
The JIT is mature enough that this setting can be removed, falling back
to Unicorn only on unsupported architectures. Any missing features from
Unicorn (of which there are extremely few), are mostly
developer-oriented, which most users don't care about.
Features should be coordinated with the JIT, not the interpreter,
anyhow.
|
|
Implement a new Texture Cache
|
|
yuzu: Move CPU Jit setting to Debug tab
|
|
A normal user shouldn't change this, as it will slow down the emulation and can lead to bugs or crashes. The renaming is done in order to prevent users from leaving this on without a way to turn it off from the UI.
|
|
|
|
core: Add detailed local reporting feature for development
|
|
|
|
video_core: Drop OpenGL core in favor of OpenGL compatibility
|
|
core/telemetry_session: Remove usages of the global system accessor
|
|
|
|
yuzu_cmd: Split emu_window OpenGL implementation into its own file
|
|
Amends the formatting specifier to obey libfmt. Prevents the application
from terminating due to a formatting issue in the error case.
|
|
This is a hold-over from Citra and doesn't apply to yuzu.
|
|
There's no performance improvement in passing an unsigned pair by
reference.
|
|
|
|
Full enable/disable for all reports.
|
|
Makes the parameter ordering consistent, and also makes the filename
parameter a std::string. A std::string would be constructed anyways with
the previous code, as IOFile's only constructor with a filepath is one
taking a std::string.
We can also make WriteStringToFile's string parameter utilize a
std::string_view for the string, making use of our previous changes to
IOFile.
|
|
yuzu_cmd: Make OpenGL's context current
|
|
|
|
The SDL2 frontend never bound the OpenGL context, resulting on a white
screen and no-ops all over the backend.
|
|
Allow picking a Compatibility Profile for OpenGL.
|
|
This option allows picking the compatibility profile since a lot of bugs
are fixed in it. We devs will use this option to easierly debug current
problems in our Core implementation.:wq
|