bunnei
ed7a1e1443
Merge pull request #2245 from lioncash/unused-def
kernel/thread: Actually remove the definition of ExitCurrentThread()
7 years ago
bunnei
93da8e0abf
core: Move PageTable struct into Common.
7 years ago
bunnei
032e4c4ca3
gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.
7 years ago
bunnei
2392e146b0
Merge pull request #2244 from bunnei/gpu-mem-refactor
video_core: Refactor to use MemoryManager interface for all memory access.
7 years ago
bunnei
bf41132aa9
Merge pull request #2243 from bunnei/mem-simplify-cache
memory: Simplify rasterizer cache operations.
7 years ago
bunnei
059465d496
Merge pull request #2129 from FernandoS27/cntpct
Correct CNTPCT from using CPU Cycles to using Clock Cycles
7 years ago
Lioncash
64444ff481
ipc_helpers: Allow pushing and popping floating-point values
Certain values that are passed through the IPC buffer are actually
floating point values, not solely integral values.
7 years ago
Lioncash
f71c598907
common/thread_queue_list: Remove unnecessary dependency on boost
We really don't need to pull in several headers of boost related
machinery just to perform the erase-remove idiom (particularly with
C++20 around the corner, which adds universal container std::erase and
std::erase_if, which we can just use instead).
With this, we don't need to link in anything boost-related into common.
7 years ago
Lioncash
6abc56672c
externals: Update opus to latest master
Prevents yuzu from getting 2000+ warnings in MSVC in a future change.
7 years ago
Lioncash
99f982dce2
kernel/thread: Actually remove the definition of ExitCurrentThread()
This was intended to be removed in
51d7f6bffc , but I guess I forgot to
actually save the file like a dingus.
7 years ago
bunnei
29c242721a
Merge pull request #2241 from lioncash/compile-flags
CMakeLists: Remove now-unnecessary GCC special-casing
7 years ago
bunnei
bdf2da4ee8
Merge pull request #2242 from lioncash/thread-fn
kernel/thread: Remove WaitCurrentThread_Sleep() and ExitCurrentThread()
7 years ago
bunnei
10118c71e0
memory: Simplify rasterizer cache operations.
7 years ago
bunnei
574e89d924
video_core: Refactor to use MemoryManager interface for all memory access.
# Conflicts:
# src/video_core/engines/kepler_memory.cpp
# src/video_core/engines/maxwell_3d.cpp
# src/video_core/morton.cpp
# src/video_core/morton.h
# src/video_core/renderer_opengl/gl_global_cache.cpp
# src/video_core/renderer_opengl/gl_global_cache.h
# src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
7 years ago
bunnei
47b622825c
Merge pull request #2237 from bunnei/cache-host-addr
gpu: Use host address for caching instead of guest address.
7 years ago
Lioncash
51d7f6bffc
kernel/thread: Move thread exiting logic from ExitCurrentThread to svcExitThread
Puts the operation on global state in the same places as the rest of the
svc calls.
7 years ago
Lioncash
c892cf01fa
kernel/thread: Migrate WaitCurrentThread_Sleep into the Thread interface
Rather than make a global accessor for this sort of thing. We can make
it a part of the thread interface itself. This allows getting rid of a
hidden global accessor in the kernel code.
7 years ago
Lioncash
db47d7e471
kernel/thread: Expand documentation of nominal_priority and current_priority
Aims to disambiguate why each priority instance exists a little bit.
While we're at it, also add an explanatory comment to UpdatePriority().
7 years ago
Lioncash
e0d1f11968
kernel/thread: Make bracing consistent within UpdatePriority()
7 years ago
Lioncash
39483b92b7
kernel/thread: Amend condition within UpdatePriority()
This condition was checking against the nominal thread priority, whereas
the kernel itself checks against the current priority instead. We were
also assigning the nominal priority, when we should be assigning
current_priority, which takes priority inheritance into account.
This can lead to the incorrect priority being assigned to a thread.
Given we recursively update the relevant threads, we don't need to go
through the whole mutex waiter list. This matches what the kernel does
as well (only accessing the first entry within the waiting list).
7 years ago
Lioncash
0b78cfcc53
kernel/thread: Maintain priority ordering of added mutex waiting threads
The kernel keeps the internal waiting list ordered by priority. This is
trivial to do with std::find_if followed by an insertion.
7 years ago
bunnei
06ac6460d3
Merge pull request #2048 from FearlessTobi/port-3924
Port citra-emu/citra#3924 : "citra_qt: Settings (configuration) rework"
7 years ago
Lioncash
e5b004e903
CMakeLists: Remove now-unnecessary GCC special-casing
This issue has since been fixed in newer versions of Boost, so we don't
need to worry about this anymore.
7 years ago
liushuyu
59f16f2e02
frontend: qt: fix a freeze where if you click on entry in the game list too fast, citra will hang
7 years ago
bunnei
2eaf6c41a4
gpu: Use host address for caching instead of guest address.
7 years ago
bunnei
84d3cdf7d7
Merge pull request #2233 from ReinUsesLisp/morton-cleanup
video_core/morton: Miscellaneous changes
7 years ago
bunnei
6788ebffc8
Merge pull request #2229 from ReinUsesLisp/vk-sampler-cache
vk_sampler_cache: Implement a sampler cache
7 years ago
Lioncash
d71cad6ed0
core/hle/kernel/mutex: Remove usages of global system accessors
Removes the use of global system accessors, and instead uses the
explicit interface provided.
7 years ago
Lioncash
555cd26ec2
core/hle/kernel: Make Mutex a per-process class.
Makes it an instantiable class like it is in the actual kernel. This
will also allow removing reliance on global accessors in a following
change, now that we can encapsulate a reference to the system instance
in the class.
7 years ago
bunnei
2d9546848e
Merge pull request #2230 from lioncash/global
kernel/process: Remove use of global system accessors
7 years ago
bunnei
8bd17aa044
Merge pull request #2216 from ReinUsesLisp/rasterizer-system
gl_rasterizer: Use system instance passed from argument
7 years ago
bunnei
4e6c667586
Merge pull request #2227 from lioncash/override
renderer_opengl/gl_global_cache: Add missing override specifiers
7 years ago
ReinUsesLisp
ffe2e50458
video_core/morton: Use enum to describe MortonCopyPixels128 mode
7 years ago
ReinUsesLisp
6ed6129b4f
video_core/morton: Remove unused parameter in MortonSwizzle
7 years ago
ReinUsesLisp
9030a8259f
video_core/morton: Remove clang-format off when it's not needed
7 years ago
ReinUsesLisp
fdf76a25ab
video_core/morton: Remove unused functions
7 years ago
bunnei
e7850a7f11
Merge pull request #2226 from lioncash/private
kernel/server_port: Make data members private
7 years ago
bunnei
c1ea6a39a0
Merge pull request #2223 from lioncash/error
core/hle/result: Tidy up the base error code result header.
7 years ago
bunnei
0a923b4ab3
Merge pull request #2187 from FearlessTobi/port-sdl-things
Port various Citra changes to input_common, including deadzone support
7 years ago
bunnei
e8a21f5276
Merge pull request #2166 from lioncash/vi-init-service
service/vi: Unstub GetDisplayService
7 years ago
bunnei
71c4e876ef
Merge pull request #2231 from ReinUsesLisp/fixup-bias
video_core/texture: Fix up sampler lod bias
7 years ago
Lioncash
5379063108
core/hle/kernel/svc: Implement svcUnmapTransferMemory
Similarly, like svcMapTransferMemory, we can also implement
svcUnmapTransferMemory fairly trivially as well.
7 years ago
Lioncash
567134f874
core/hle/kernel/svc: Implement svcMapTransferMemory
Now that transfer memory handling is separated from shared memory, we
can implement svcMapTransferMemory pretty trivially.
7 years ago
Lioncash
cb198d7985
core/hle/kernel: Split transfer memory handling out into its own class
Within the kernel, shared memory and transfer memory facilities exist as
completely different kernel objects. They also have different validity
checking as well. Therefore, we shouldn't be treating the two as the
same kind of memory.
They also differ in terms of their behavioral aspect as well. Shared
memory is intended for sharing memory between processes, while transfer
memory is intended to be for transferring memory to other processes.
This breaks out the handling for transfer memory into its own class and
treats it as its own kernel object. This is also important when we
consider resource limits as well. Particularly because transfer memory
is limited by the resource limit value set for it.
While we currently don't handle resource limit testing against objects
yet (but we do allow setting them), this will make implementing that
behavior much easier in the future, as we don't need to distinguish
between shared memory and transfer memory allocations in the same place.
7 years ago
ReinUsesLisp
a63295a872
video_core/texture: Fix up sampler lod bias
7 years ago
Mat M
a3734d7e31
vk_sampler_cache: Use operator== instead of memcmp
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
aa59d77c3b
vk_sampler_cache: Implement a sampler cache
7 years ago
Lioncash
6eddb60db0
kernel/process: Remove use of global system accessors
Now that we pass in a reference to the system instance, we can utilize
it to eliminate the global accessors in Process-related code.
7 years ago
bunnei
3bfd199497
Merge pull request #2211 from lioncash/arbiter
kernel: Make the address arbiter instance per-process
7 years ago
bunnei
0f6dd7b64e
Merge pull request #2222 from lioncash/cstr
service/service: Remove unncessary calls to c_str()
7 years ago