Commit graph

199 commits

Author SHA1 Message Date
bunnei
4f35f3b78f Merge pull request #3966 from Morph1984/hide-internal-resolution-ui
yuzu/frontend: Remove internal resolution option
2020-06-16 14:12:17 -04:00
Morph
d594106360 yuzu/frontend: Remove internal resolution option 2020-06-06 15:56:14 -04:00
bunnei
8bf40a4abc Merge pull request #4009 from ogniK5377/macro-jit-prod
video_core: Implement Macro JIT
2020-06-04 11:40:52 -04:00
bunnei
8e9a359db5 Merge pull request #3958 from FernandoS27/gl-debug
OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled
2020-05-31 17:04:27 -04:00
David Marcec
05eeb7de3d Implement macro JIT 2020-05-30 11:40:04 +10:00
ReinUsesLisp
541a254c2e yuzu: Add frontend settings for assembly shaders
Add settings for assembly shaders. Currently hidden to avoid users from
accidentally enabled them.
2020-05-19 17:53:17 -03:00
Fernando Sahmkow
b9eff4d004 OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled.
This commit aims to help easing debugging of driver crashes without
having to modify existing code.
2020-05-17 21:45:09 -04:00
bunnei
8588ac0645 core: settings: Add a setting for time zone. 2020-05-11 17:50:07 -04:00
bunnei
d952b2e1da Merge pull request #3742 from FernandoS27/command-list
Optimize GPU Command Lists and Introduce Fast GPU Time Option
2020-04-27 00:18:46 -04:00
Rodrigo Locatti
d23435c112 Merge pull request #3768 from H27CK/cmd-title-fmt
Fix format error in performance statistics
2020-04-23 16:14:33 -03:00
Fernando Sahmkow
c8f4549d43 GPU: Add Fast GPU Time Option. 2020-04-23 08:52:57 -04:00
H27CK
dece9ce075 Fix format error in performance statistics
Formatting
2020-04-23 04:31:26 +02:00
bunnei
c916ad62e7 Merge pull request #3677 from FernandoS27/better-sync
Introduce Predictive Flushing and Improve ASYNC GPU
2020-04-22 22:09:38 -04:00
H27CK
bcfc119c3b Add missing ; 2020-04-22 23:36:21 +02:00
Fernando Sahmkow
c213fd218b UI: Replasce accurate GPU option for GPU Accuracy Level 2020-04-22 11:36:04 -04:00
H27CK
112337e740 Init SDL info structure and add dummy context 2020-04-22 07:47:21 +02:00
MerryMage
0bbafff3db dynarmic: Add option to disable CPU JIT optimizations 2020-04-20 13:36:26 +01:00
ReinUsesLisp
30bbdc653c yuzu: Drop SDL2 and Qt frontend Vulkan requirements
Create Vulkan instances and surfaces from the Vulkan backend.
2020-04-07 16:32:19 -03:00
James Rowe
e345e46a98 Frontend: Don't call DoneCurrent if the context isnt already current 2020-03-30 14:57:42 -06:00
James Rowe
c935a1a475 Address review and fix broken yuzu-tester build 2020-03-25 23:32:42 -06:00
James Rowe
b37d69e5e1 Frontend/GPU: Refactor context management
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
2020-03-24 21:03:42 -06:00
FearlessTobi
cdbb3accde bcat: Disable Boxcat backend by default
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.
2020-03-17 15:24:26 +01:00
bunnei
978cd350dd Merge pull request #3452 from Morph1984/anisotropic-filtering
frontend/Graphics: Add "Advanced" graphics tab and experimental Anisotropic Filtering support
2020-03-07 22:28:35 -05:00
James Rowe
166ba99e3e Frontend/SDL - Provide proper default for UDP input
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
2020-03-03 20:05:42 -07:00
Morph
c6e07faf25 Create an "Advanced" tab in the graphics configuration tab and add anisotropic filtering levels. 2020-02-27 21:34:00 -05:00
bunnei
ba6d264342 frontend: qt: bootmanager: Vulkan: Restore support for VK backend. 2020-02-25 21:23:01 -05:00
bunnei
6904e8442d frontend: sdl2: emu_window: Implement separate presentation thread. 2020-02-25 21:23:00 -05:00
bunnei
f93fe8e862 core: settings: Add setting to enable vsync, which is on by default. 2020-02-25 20:57:02 -05:00
Morph
5afb6b95ed Add 4:3 aspect ratio and address feedback 2020-02-14 14:39:04 -05:00
Morph
74a490c909 Add following aspect ratios: 16:9, 21:9, Stretch to Window
Available as a drop down within the configure graphics tab.
2020-02-13 22:17:28 -05:00
ReinUsesLisp
85f666c066 yuzu_cmd: Fix memcpy on Vulkan handlers 2020-01-29 17:53:11 -03:00
ReinUsesLisp
48cb021c34 yuzu: Implement Vulkan frontend
Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing
bits on Vulkan initialization.
2020-01-29 17:53:11 -03:00
ReinUsesLisp
2ba5519371 settings: Add settings for graphics backend 2020-01-29 17:53:11 -03:00
FearlessTobi
e0e3b5d899 Replace GetString with Get function
This should hopefully fix compilation errors.
2020-01-23 20:55:26 +01:00
fearlessTobi
b2f53cceb6 Input: UDP Client to provide motion and touch controls
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>
2020-01-23 20:55:26 +01:00
ReinUsesLisp
bc60f6daba yuzu_cmd: Use string_view instead of string for extensions
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.
2019-11-07 01:52:18 -03:00
ReinUsesLisp
1bb64655cb gl_rasterizer: Emulate viewport flipping with ARB_clip_control
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).
2019-11-07 01:52:18 -03:00
Fernando Sahmkow
7236d8c6f4 SDL: Fix missing header
This fixes linux and mingw builds.
2019-10-04 18:14:11 -04:00
bunnei
eba423894c Merge pull request #2896 from FearlessTobi/port-4950
Port citra-emu/citra#4950: "Add FPS to SDL title bar"
2019-10-04 15:51:03 -04:00
Zach Hilman
094de9331f settings: Add option to set BCAT backend 2019-09-30 17:21:53 -04:00
jroweboy
6c818684fa 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)
2019-09-22 15:49:39 +02:00
Zach Hilman
541bf1b996 filesystem: Add const qualification to various accessors 2019-09-21 16:50:39 -04:00
Zach Hilman
a4d056eddf settings: Add options for managing gamecard emulation 2019-09-21 16:43:10 -04:00
Zach Hilman
6241a30a10 settings: Add options for setting storage sizes 2019-09-21 16:43:10 -04:00
Zach Hilman
c3ad37b707 yuzu: Port old usages of Filesystem namespace to FilesystemController 2019-09-21 16:43:10 -04:00
fearlessTobi
32c6e238fd Add frametime logging for tracking performance over time
Co-Authored-By: jroweboy <jroweboy@gmail.com>
2019-09-10 12:44:19 +02:00
Lioncash
66cfba50ed yuzu: Remove setting for using Unicorn
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.
2019-07-11 05:59:13 -04:00
Zach Hilman
3f7c8053c6 Merge pull request #2601 from FernandoS27/texture_cache
Implement a new Texture Cache
2019-07-05 13:39:13 -04:00
Zach Hilman
04ae4a56e1 Merge pull request #2669 from FearlessTobi/move-cpujit-setting
yuzu: Move CPU Jit setting to Debug tab
2019-07-04 15:33:59 -04:00
fearlessTobi
662ff325bf yuzu: Remove CPU Jit setting from the UI
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.
2019-07-04 14:48:08 +02:00