bunnei
769f8cbf79
core: system: Rename GetDeviceManager -> DeviceManager.
- More consistent with other system components.
6 years ago
bunnei
d04147e731
kernel: transfer_memory: Refactor for new VMM.
6 years ago
bunnei
89776f7ef7
core: Construct/Destruct DeviceMemory on Init/Shutdown.
6 years ago
bunnei
9edd67f475
kernel: shared_memory: Refactor for new VMM.
6 years ago
bunnei
5b2cf55742
core: device_memory: Update to use VirtualBuffer class.
6 years ago
bunnei
273f8b5fc7
common: Add VirtualBuffer class, to abstract memory virtualization.
6 years ago
bunnei
6ef844fab3
kernel: errors: Add ERR_OUT_OF_RESOURCES.
6 years ago
bunnei
1717cdf811
kernel: process_capability: Update to use Memory::PageTable.
6 years ago
bunnei
6fe68ddea2
kernel: memory: Add PageTable class, to manage process address space.
6 years ago
bunnei
ea8bc8e759
kernel: memory: Add MemoryLayout class, to build physical memory layout.
6 years ago
bunnei
9b912d155a
kernel: memory: Add MemoryManager class, to manage page heaps.
6 years ago
bunnei
227e9ac5d7
kernel: memory: Add MemoryBlockManager class, to manage memory blocks.
6 years ago
bunnei
036f2f9176
kernel: memory: Add PageHeap class, to manage a heap of pages.
6 years ago
bunnei
b013b110bc
kernel: memory: Add PageLinkedList class, to manage a list of pages.
6 years ago
bunnei
b94f043b7b
kernel: memory: Add system_control code, which will be used for ASLR support.
6 years ago
bunnei
72d1cda09a
physical_memory: Add missing include for <vector>.
6 years ago
bunnei
91a38e3fa8
kernel: memory: Add MemoryBlock class, for managing memory blocks and their state.
6 years ago
bunnei
eadd36d143
kernel: memory: Add memory_types.h, for things that are commonly used in memory code.
6 years ago
bunnei
91b899ff00
kernel: memory: Add SlabHeap class, for managing memory heaps.
- This will be used for TLS pages, among other things.
6 years ago
bunnei
9fd238a0f8
kernel: memory: Add AddressSpaceInfo class, for managing the memory address space.
6 years ago
bunnei
ea806268fa
core: device_manager: Add a simple class to manage device RAM.
6 years ago
bunnei
a7b2390b73
dynarmic: Enable strict alignment checks.
- Also add a missing include.
6 years ago
bunnei
b2b0f85b7d
common: scope_exit: Implement mechanism for canceling a scope exit.
6 years ago
bunnei
5b9e69e7fe
core: memory: Move to Core::Memory namespace.
- helpful to disambiguate Kernel::Memory namespace.
6 years ago
bunnei
94e00fbb3f
common: alignment: Add a helper function for generic alignment checking.
6 years ago
bunnei
a10f82b62d
core: kernel: Add svc_types header to include SVC-specific types.
6 years ago
bunnei
ed940661a8
core: kernel: Move SVC to its own namesapce.
6 years ago
bunnei
bdd81bdebf
kernel: resource_limit: Improvements to implementation.
6 years ago
bunnei
9006c82b27
loader: nso: Fix loading of static objects to be properly sized and aligned.
6 years ago
bunnei
f9a8cc03c3
common: common_funcs: Add a macro for defining enum flag operators.
6 years ago
bunnei
365f14cd2c
process: SetupMainThread: Zero out argument on process start.
6 years ago
bunnei
1be8e24189
arm_interface: Ensure ThreadContext is zero'd out.
6 years ago
Markus Wick
3567e464d2
externals: Move LibreSSL linking to httplib.
Neither core nor web_services use OpenSSL nor LibreSSL.
However they need to link them as it's a requirement of httplib.
So let's declare this within httplib instead of core and web_services.
6 years ago
Markus Wick
ea1146eba0
input_common: Use the CMake target instead of the variable.
6 years ago
ReinUsesLisp
c1ad40a3cb
buffer_cache: Return handles instead of pointer to handles
The original idea of returning pointers is that handles can be moved.
The problem is that the implementation didn't take that in mind and made
everything harder to work with. This commit drops pointer to handles and
returns the handles themselves. While it is still true that handles can
be invalidated, this way we get an old handle instead of a dangling
pointer.
This problem can be solved in the future with sparse buffers.
6 years ago
Lioncash
3e1772a6af
decode/shift: Remove unused variable within Shift()
Removes a redundant variable that is already satisfied by the IsFull()
utility function.
6 years ago
Lioncash
adae1cbaeb
surface_view: Add missing operator!= to ViewParams
Provides logical symmetry to the interface.
6 years ago
Lioncash
4ce2aaa9d2
surface_base: Make IsInside() a const member function
This doesn't modify internal state, so this can be made const.
6 years ago
Lioncash
38b955a3ff
control_flow: Make use of std::move in TryInspectAddress()
Eliminates redundant atomic reference count increments and decrements.
6 years ago
Lioncash
3c3928a5f7
video_core: Amend doxygen comment references
Fixes broken documentation references.
6 years ago
Lioncash
4efb85bb2e
gl_device: Mark stage_swizzle as constexpr
Previously this was mutable even though it shouldn't be.
6 years ago
Lioncash
02e095313a
CMakeLists: Specify -Wextra on linux builds
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
6 years ago
Lioncash
6ea751d910
CMakeLists: Make -Wreorder a compile-time error
This can result in silent logic bugs within code, and given the amount
of times these kind of warnings are caused, they should be flagged at
compile-time so no new code is submitted with them.
6 years ago
Lioncash
0f32ae2140
kernel/thread: Resolve -Wswitch warnings
6 years ago
Fernando Sahmkow
09ba659a78
Texture Cache: Read current data when flushing a 3D segment.
This PR corrects flushing of 3D segments when data of other segments is
mixed, this aims to preserve the data in place.
6 years ago
ReinUsesLisp
9db905ec1d
maxwell_to_vk: Add uint16 vertex formats
6 years ago
ReinUsesLisp
f643910f7b
maxwell_to_vk: Add missing breaks
Avoid invalid fallbacks.
6 years ago
ReinUsesLisp
ffc83d1a57
vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfo
When the dynamic state is specified, pViewports and pScissors are
ignored, quoting the specification:
pViewports is a pointer to an array of VkViewport structures, defining
the viewport transforms. If the viewport state is dynamic, this member
is ignored.
That said, AMD's proprietary driver itself seem to read it regardless of
what the specification says.
6 years ago
Fernando Sahmkow
52144a9a23
Texture Cache: Only do buffer copies on accurate GPU. ( #3634 )
This is a simple optimization as Buffer Copies are mostly used for texture recycling. They are, however, useful when games abuse undefined behavior but most 3D APIs forbid it.
6 years ago
bunnei
ba413f9277
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
- Used by Animal Crossing: New Horizons.
6 years ago