Subv
42d6bbcb7c
Core/HLE: Make the 'reschedule_pending' flag atomic.
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
7 years ago
Subv
c51eb8b679
CPU/HLE: Lock the HLE mutex before performing a reschedule.
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
7 years ago
Subv
5fe52770ea
Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
7 years ago
Subv
cbf854666d
Kernel/Thread: Always use the threadsafe option when scheduling wakeups.
WakeAfterDelay might be called from any host thread, so err on the side of caution and use the thread-safe CoreTiming::ScheduleEventThreadsafe.
Note that CoreTiming is still far from thread-safe, there may be more things we have to work on for it to be up to par with what we want.
7 years ago
bunnei
03ac254de6
gl_shader_decompiler: Implement XMAD instruction.
7 years ago
Subv
8f493f43e7
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
Exit from AddMutexWaiter early if the thread is already waiting for a mutex owned by the owner thread.
This accounts for the possibility of a thread that is waiting on a condition variable being awakened twice in a row.
Also added more validation asserts.
This should fix one of the random crashes in Breath Of The Wild.
7 years ago
Lioncash
cdeac9103f
vfs: Make VfsFilesystem constructor explicit
Makes it consistent with the other VFS interfaces and prevents implicit
construction.
7 years ago
Lioncash
80ac82c9c5
vfs: Make type hierarchy objects classes instead of structs
struct should be used when the data type is very simple or otherwise has
no invariants associated with it. Given these are used to form a
hierarchy, class should be used instead.
7 years ago
MerryMage
c9923e03bb
cubeb_sink: Protect queue with a mutex
7 years ago
Markus Wick
d6703d607b
gl_rasterizer: Use a shared helper to upload from CPU memory.
7 years ago
Markus Wick
2d2027cd52
gl_state: Don't track constant buffer mappings.
7 years ago
Markus Wick
a59891f497
gl_rasterizer: Use the stream buffer for constant buffers.
7 years ago
Markus Wick
b4f88b06b5
gl_rasterizer: Use the streaming buffer itself for the constant buffer.
Don't emut copies, especially not for data, which is used once. They just end in a huge GPU overhead.
7 years ago
Markus Wick
ca4e2c22d4
gl_rasterizer: Use a helper for aligning the buffer.
7 years ago
Markus Wick
73b40c2bd4
Update the stream_buffer helper from Citra.
Please see https://github.com/citra-emu/citra/pull/3666 for more details.
7 years ago
David Marcec
b5f7e35139
GetAudioDeviceServiceWithRevisionInfo
As we're not handling any anything about the revision data for GetAudioDeviceServiceWithRevisionInfo, it's currently marked as stubbed. However for games this shouldn't affect the result. Proper revision info would be more for homebrew.
7 years ago
Lioncash
ab4821d4b3
hid: disable clang-format around tables
Prevents clang-format from butchering them.
7 years ago
Lioncash
4ca059c59a
hid: Stub DisconnectNpad()
This is required by ARMS.
7 years ago
bunnei
7f1a8483e9
gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.
7 years ago
David Marcec
7d49bcdb1b
Pushed the requested sample rate instead of our fixed sample rate
7 years ago
David Marcec
bba02ec641
made ResultStatus a u16
7 years ago
David Marcec
f3ef58207e
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
7 years ago
bunnei
7031b3b762
gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.
7 years ago
David Marcec
fd0319efd5
Stub UpdateUserPresence
Needed for Retro City Rampage to go in game
7 years ago
David Marcec
c08adc0db0
Fixed invalid cast in loader
GetMessageForResultStatus takes a u16, not a size_t.
7 years ago
Subv
45ee826309
GPU/Maxwell3D: Implemented an alternative set of blend factors.
These are used by nouveau and some games like SMO.
7 years ago
greggameplayer
974a959892
Implement R8_UINT RenderTargetFormat & PixelFormat ( #1014 )
- Used by Go Vacation
7 years ago
Subv
8582c5bb3e
RasterizerGL: Ignore invalid/unset vertex attributes.
This should make the es2gears example not crash anymore.
7 years ago
bunnei
94a58af2a2
friend: Stub DeclareCloseOnlinePlaySession.
- Used by Splatoon 2.
7 years ago
bunnei
3c1015b576
friend: Fix CreateFriendService to return an IFriendService interface.
7 years ago
bunnei
3d00bc6ad7
server_session: Provide more useful information and don't crash on bad IPC request.
7 years ago
Lioncash
9aead11e72
gl_rasterizer: Silence implicit truncation warning in SetupShaders()
Previously this would warn of truncating a std::size_t to a u32. This is
safe because we'll obviously never have more than UINT32_MAX amount of
uniform buffers.
7 years ago
Lioncash
53e86e35eb
core: Namespace EmuWindow
Gets the class out of the global namespace.
7 years ago
bunnei
5fd0744a63
gl_shader_decompiler: Improve handling of unknown input/output attributes.
7 years ago
bunnei
8cb27339a2
gl_rasterizer: Implement render target format RG8_SNORM.
- Used by Super Mario Odyssey.
7 years ago
bunnei
e8a695064b
gl_rasterizer: Implement render target format RGBA8_SNORM.
- Used by Super Mario Odyssey.
7 years ago
Subv
5d543d88b9
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
7 years ago
Subv
995c819038
GPU/Shaders: Implemented SSY and SYNC as a way to modify control flow during shader execution.
SSY sets the target label to jump to when the SYNC instruction is executed.
7 years ago
greggameplayer
3aa4040888
Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more (R16_UNORM needed by Fate Extella) ( #848 )
* Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats
Do a separate function in order to get Bytes Per Pixel of DepthFormat
Apply the new function in gpu.h
delete unneeded white space
* correct merging error
7 years ago
Lioncash
38049444da
video_core; Get rid of global g_toggle_framelimit_enabled variable
Instead, we make a struct for renderer settings and allow the renderer
to update all of these settings, getting rid of the need for
global-scoped variables.
This also uncovered a few indirect inclusions for certain headers, which
this commit also fixes.
7 years ago
Lioncash
0170c296f2
renderer_base: Remove unused kFramebuffer enumeration
This is entirely unused and can be removed.
7 years ago
Lioncash
6e352a55d5
video_core: Remove unused Renderer enumeration
Currently we only have an OpenGL renderer, so this is unused in code
(and occupies the Renderer identifier in the VideoCore namespace).
7 years ago
Lioncash
bc6245290b
qt/game_list: Resolve truncation warning within GameListItemPath's constructor
Silences a warning about truncating from size_t to u32
7 years ago
Lioncash
89aed5c0a2
gt/game_list: Use std::array in GameListItemPath's data() function
We don't need to use a heap-allocated std::vector here, given we
explicitly know the bounds.
7 years ago
Lioncash
1eaa022169
qt/game_list: Remove redundant base class constructor from initializer list
This is called automatically anyways.
7 years ago
bunnei
e210c31bb9
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
- Used by Super Mario Odyssey.
7 years ago
bunnei
9502d85a2d
maxwell_to_gl: Implement VertexAttribute::Size::Size_32_32_32.
- Used by Super Mario Odyssey.
7 years ago
bunnei
32be28cc04
Revert "gl_state: Temporarily disable culling and depth test."
7 years ago
Zach Hilman
9946a70305
game_list: Reorder error checks
clang-format fix
7 years ago
Zach Hilman
da921ac3f3
loader: Add more descriptive errors
Full list of new errors and descriptions in core/loader/loader.h
7 years ago