8b98f60e3c
input/sdl: lock map mutex after SDL call
...
Any SDL invocation can call the even callback on the same thread, which can call GetSDLJoystickBySDLID and eventually cause double lock on joystick_map_mutex. To avoid this, lock guard should be placed as closer as possible to the object accessing code, so that any SDL invocation is with the mutex unlocked
2019-03-02 19:09:58 +01:00
09ac66388c
Input: Remove global variables from SDL Input
...
Changes the interface as well to remove any unique methods that
frontends needed to call such as StartJoystickEventHandler by
conditionally starting the polling thread only if the frontend hasn't
started it already. Additionally, moves all global state into a single
SDLState class in order to guarantee that the destructors are called in
the proper order
2019-03-02 19:09:34 +01:00
c8554d218b
Input: Copy current SDL.h/cpp files to impl
...
This should make reviewing much easier as you can then see what changed
happened between the old file and the new one
2019-03-02 18:38:11 +01:00
2e2f6aa71a
Merge pull request #2186 from honzapatCZ/patch-1
...
Yuzu can render 3D.
2019-03-02 10:10:01 -07:00
71c30a0a89
citra_qt/main: make SPEED_LIMIT_STEP static constexpr
...
MSVC does not seem to like using constexpr values in a lambda that were declared outside of it.
Previously on MSVC build the hotkeys to inc-/decrease the speed limit were not working correctly because in the lambda the SPEED_LIMIT_STEP had garbage values.
After googling around a bit I found: https://github.com/codeplaysoftware/computecpp-sdk/issues/95 which seems to be a similar issue.
Trying the suggested fix to make the variable static constexpr also fixes the bug here.
2019-03-02 17:43:19 +01:00
90fd257b47
Yuzu can render 3D.
...
Yuzu can now render 3D graphics to some degree.
2019-03-02 17:23:05 +01:00
5159f4eee8
Memory: don't lock hle mutex in memory read/write
...
The comment already invalidates itself: neither MMIO nor rasterizer cache belongsHLE kernel state. This mutex has a too large scope if MMIO or cache is included, which is prone to dead lock when multiple thread acquires these resource at the same time. If necessary, each MMIO component or rasterizer should have their own lock.
2019-03-02 15:20:05 +01:00
3c39b39bbc
Merge pull request #2182 from bunnei/my-wasted-friday
...
fuck git for ruining my day, I will learn but I will not forgive
2019-03-02 00:57:15 -05:00
8e84e81e74
vk_buffer_cache: Fix clang-format
2019-03-02 02:16:45 -03:00
e22670fbc3
Merge pull request #2178 from ReinUsesLisp/vk-buffer-cache
...
vk_buffer_cache: Implement a buffer cache
2019-03-02 00:13:33 -05:00
ab70c2583d
fuck git for ruining my day, I will learn but I will not forgive
2019-03-02 00:01:34 -05:00
35c105a108
vk_buffer_cache: Implement a buffer cache
...
This buffer cache is just like OpenGL's buffer cache with some minor
style changes. It uses VKStreamBuffer.
2019-03-01 17:33:36 -03:00
1da8a0c2a8
Merge pull request #2173 from lioncash/capture
...
yuzu/compatdb: Remove unused lambda capture
2019-03-01 09:55:35 -05:00
12e74fe801
Merge pull request #2180 from lioncash/audren
...
service/audio: Provide an implementation of ExecuteAudioRendererRendering
2019-03-01 09:50:14 -05:00
115fc6120c
Merge pull request #2181 from lioncash/audren2
...
service/audio/audren_u: Implement OpenAudioRendererAuto
2019-03-01 09:49:23 -05:00
84aff56644
service/audio/audren_u: Implement OpenAudioRendererAuto
...
This currently has the same behavior as the regular
OpenAudioRenderer API function, so we can just move the code within
OpenAudioRenderer to an internal function that both service functions
call.
2019-03-01 05:40:29 -05:00
42dc73157c
service/audio: Provide an implementation of ExecuteAudioRendererRendering
...
This service function appears to do nothing noteworthy on the switch.
All it does at the moment is either return an error code or abort the
system. Given we obviously don't want to kill the system, we just opt
for always returning the error code.
2019-03-01 03:37:00 -05:00
e85066dac7
gl_rasterizer: Remove texture unbinding after dispatching a draw call
...
Unbinding was required when OpenGL delete operations didn't unbind a
resource if it was bound. This is no longer needed and can be removed.
2019-02-28 00:17:50 -03:00
bb3ab7d66c
gl_state: Fixup multibind bug
2019-02-28 00:17:03 -03:00
49c6d21b31
Merge pull request #2174 from lioncash/fwd
...
service/hid: Amend forward declaration of ServiceManager
2019-02-27 21:20:06 -05:00
1b13859af8
Merge pull request #2152 from ReinUsesLisp/vk-stream-buffer
...
vk_stream_buffer: Implement a stream buffer
2019-02-27 21:19:15 -05:00
1f5d6a8fed
Merge pull request #2121 from FernandoS27/texception2
...
Improve the Accuracy of the Rasterizer Cache through a Texception Pass
2019-02-27 21:17:55 -05:00
66f4fd4c81
Merge pull request #2172 from lioncash/reorder
...
gl_rasterizer/vk_memory_manager: Silence -Wreorder warnings
2019-02-27 21:14:20 -05:00
7ea097e5c2
Devirtualize Register/Unregister and use a wrapper instead.
2019-02-27 21:58:50 -04:00
5a9204dbd7
Corrections and redesign.
2019-02-27 21:58:49 -04:00
d6b9b51606
Fix linux compile error.
2019-02-27 21:58:48 -04:00
e64fa4d2ea
Remove NotifyFrameBuffer as we are doing a texception pass every drawcall.
2019-02-27 21:58:47 -04:00
3558c88442
Remove certain optimizations that caused texception to fail in certain scenarios.
2019-02-27 21:58:45 -04:00
e9d84ef22c
Bug fixes and formatting
2019-02-27 21:58:44 -04:00
5bc82d124c
rasterizer_cache_gl: Implement Texception Pass
2019-02-27 21:58:43 -04:00
8932001610
rasterizer_cache_gl: Implement Partial Reinterpretation of Surfaces.
2019-02-27 21:58:40 -04:00
44ea2810e4
rasterizer_cache: mark reinterpreted surfaces and add ability to reload marked surfaces on next use.
2019-02-27 21:58:39 -04:00
d583fc1e97
rasterizer_cache_gl: Notify on framebuffer change
2019-02-27 21:58:37 -04:00
45b6d2d349
rasterizer_cache: Expose FlushObject to Child classes and allow redefining of Register and Unregister
2019-02-27 21:57:33 -04:00
f15e2dd881
Merge pull request #2163 from ReinUsesLisp/bitset-dirty
...
maxwell_3d: Use std::bitset to manage dirty flags
2019-02-27 20:50:08 -05:00
ef84c70d22
Speed up memory page mapping ( #2141 )
...
- Memory::MapPages total samplecount was reduced from 4.6% to 1.06%.
- From main menu into the game from 1.03% to 0.35%
2019-02-27 17:22:47 -05:00
532dda0499
Merge pull request #2176 from lioncash/com
...
audio_core/cubeb_sink: Ensure COM is initialized on Windows prior to calling cubeb_init
2019-02-27 17:12:06 -05:00
1068c1b06f
audio_core/cubeb_sink: Ensure COM is initialized on Windows prior to calling cubeb_init
...
cubeb now requires that COM explicitly be initialized on the thread
prior to calling cubeb_init.
2019-02-27 16:14:53 -05:00
27ddbeb01c
gl_rasterizer_cache: Create texture views for array discrepancies
...
When a texture is sampled in a shader with a different array mode than
the cached state, create a texture view and bind that to the shader
instead.
2019-02-27 14:41:06 -03:00
6335bf136f
service/hid: Amend forward declaration of ServiceManager
...
The SM namespace is within the Service namespace, so this was forward
declaring a type that didn't exist.
2019-02-27 11:36:48 -05:00
456c7043bd
yuzu/compatdb: Remove unused lambda capture
...
Silences a compiler warning with clang.
2019-02-27 11:30:36 -05:00
42f7c11021
Merge pull request #2169 from lioncash/naming
...
audio_core/audio_renderer: Provide names for some parameters of AudioRendererParameter
2019-02-27 11:26:54 -05:00
14430f7df9
Merge pull request #2170 from lioncash/emu-window
...
core/frontend/emu_window: Make ClipToTouchScreen a const member function
2019-02-27 11:26:24 -05:00
eb5a3dd1c7
Merge pull request #2161 from lioncash/handle-table
...
kernel/handle_table: Allow process capabilities to limit the handle table size
2019-02-27 11:22:26 -05:00
be1a1584fc
Merge pull request #2168 from lioncash/cubeb
...
externals: Update cubeb to the master version
2019-02-27 11:20:14 -05:00
66e023fba2
Merge pull request #2167 from lioncash/namespace
...
common: Move Quaternion, Rectangle, Vec2, Vec3, and Vec4 into the Common namespace
2019-02-27 11:19:53 -05:00
b27e6ad912
Merge pull request #2171 from lioncash/pragma
...
gl_shader_disk_cache: Remove #pragma once from cpp file
2019-02-27 11:19:17 -05:00
16ea93c11e
vk_memory_manager: Reorder constructor initializer list in terms of member declaration order
...
Reorders members in the order that they would actually be initialized
in. Silences a -Wreorder warning.
2019-02-27 11:08:19 -05:00
a6a783b3dc
gl_rasterizer: Reorder constructor initializer list in terms of member declaration order
...
Orders the members in the order they would actually be initialized in.
Silences a -Wreorder warning.
2019-02-27 11:08:19 -05:00
e7eff72e83
gl_shader_disk_cache: Remove #pragma once from cpp file
...
This is only necessary in headers. Silences a warning with clang.
2019-02-27 11:02:49 -05:00