bunnei
1d5923e150
core: gdbstub: Updates for new VMM.
5 years ago
bunnei
c7bc7986bb
core: reporter: Updates for new VMM.
5 years ago
bunnei
18c4bb6f5c
memory: cheat_engine: Updates for new VMM.
5 years ago
bunnei
d95ceaa8ec
arm_test_common: Updates for new VMM.
5 years ago
bunnei
108564df57
kernel: process: Updates for new VMM.
5 years ago
bunnei
77382ac2b2
service: pl_u: Update for new shared memory layout.
5 years ago
bunnei
67b3df683b
service: time: Update for new shared memory layout.
5 years ago
bunnei
8eca0f9cd2
service: hid: Update for new shared memory layout.
5 years ago
bunnei
8bbc38a7bd
service: irs: Update for new shared memory layout.
5 years ago
bunnei
fc61cb44ee
kernel: resource_limit: Reserve physical memory.
5 years ago
bunnei
8f75524e55
kernel: Initialize memory layout for new VMM.
5 years ago
bunnei
11c02a50e9
core: system: Rename GetDeviceManager -> DeviceManager.
...
- More consistent with other system components.
5 years ago
bunnei
3fcc4cab4f
kernel: transfer_memory: Refactor for new VMM.
5 years ago
bunnei
c53454ff46
core: Construct/Destruct DeviceMemory on Init/Shutdown.
5 years ago
bunnei
d0162fc3d7
kernel: shared_memory: Refactor for new VMM.
5 years ago
bunnei
a040a15246
core: device_memory: Update to use VirtualBuffer class.
5 years ago
bunnei
4ba2428c86
common: Add VirtualBuffer class, to abstract memory virtualization.
5 years ago
bunnei
a238d08f71
kernel: errors: Add ERR_OUT_OF_RESOURCES.
5 years ago
bunnei
ffc3de762b
kernel: process_capability: Update to use Memory::PageTable.
5 years ago
bunnei
84f1b6d530
kernel: memory: Add PageTable class, to manage process address space.
5 years ago
bunnei
cfae8a1c1a
kernel: memory: Add MemoryLayout class, to build physical memory layout.
5 years ago
bunnei
5d6e8a5b44
kernel: memory: Add MemoryManager class, to manage page heaps.
5 years ago
bunnei
548ef190ab
kernel: memory: Add MemoryBlockManager class, to manage memory blocks.
5 years ago
bunnei
3927012734
kernel: memory: Add PageHeap class, to manage a heap of pages.
5 years ago
bunnei
dc720311cc
kernel: memory: Add PageLinkedList class, to manage a list of pages.
5 years ago
bunnei
81cb4d3c7f
kernel: memory: Add system_control code, which will be used for ASLR support.
5 years ago
bunnei
fc040b5b70
physical_memory: Add missing include for <vector>.
5 years ago
bunnei
c2f4dcb1e3
kernel: memory: Add MemoryBlock class, for managing memory blocks and their state.
5 years ago
bunnei
ea5ee9918e
kernel: memory: Add memory_types.h, for things that are commonly used in memory code.
5 years ago
bunnei
d364e7cf09
kernel: memory: Add SlabHeap class, for managing memory heaps.
...
- This will be used for TLS pages, among other things.
5 years ago
bunnei
14aa65ce00
kernel: memory: Add AddressSpaceInfo class, for managing the memory address space.
5 years ago
bunnei
dc25c86556
core: device_manager: Add a simple class to manage device RAM.
5 years ago
bunnei
f1b607829e
dynarmic: Enable strict alignment checks.
...
- Also add a missing include.
5 years ago
bunnei
4df6ef04ac
common: scope_exit: Implement mechanism for canceling a scope exit.
5 years ago
bunnei
4caff51710
core: memory: Move to Core::Memory namespace.
...
- helpful to disambiguate Kernel::Memory namespace.
5 years ago
bunnei
b838e58d63
common: alignment: Add a helper function for generic alignment checking.
5 years ago
bunnei
ad48ebb2c8
core: kernel: Add svc_types header to include SVC-specific types.
5 years ago
bunnei
82d457af37
core: kernel: Move SVC to its own namesapce.
5 years ago
bunnei
b0e3cbef7a
kernel: resource_limit: Improvements to implementation.
5 years ago
bunnei
7aa0e4a7ca
loader: nso: Fix loading of static objects to be properly sized and aligned.
5 years ago
bunnei
b11b424a2d
common: common_funcs: Add a macro for defining enum flag operators.
5 years ago
bunnei
f2676efe23
process: SetupMainThread: Zero out argument on process start.
5 years ago
bunnei
0f4f90cd04
arm_interface: Ensure ThreadContext is zero'd out.
5 years ago
bunnei
86f9c9aa1c
Merge pull request #3671 from lioncash/switch
...
kernel/thread: Resolve -Wswitch warnings
5 years ago
Lioncash
77356731a9
hle_ipc: Remove std::size_t casts where applicable
...
These were added in the change that enabled -Wextra on linux builds so
as not to introduce interface changes in the same change as a
build-system flag addition.
Now that the flags are enabled, we can freely change the interface to
make these unnecessary.
5 years ago
bunnei
79c1269f0f
Merge pull request #3673 from lioncash/extra
...
CMakeLists: Specify -Wextra on linux builds
5 years ago
ReinUsesLisp
c961770900
vk_compute_pass: Implement indexed quads
...
Implement indexed quads (GL_QUADS used with glDrawElements*) with a
compute pass conversion.
The compute shader converts from uint8/uint16/uint32 indices to uint32.
The format is passed through push constants to avoid having different
variants of the same shader.
- Used by Fast RMX
- Used by Xenoblade Chronicles 2 (it still has graphical due to
synchronization issues on Vulkan)
5 years ago
Fernando Sahmkow
c81f256111
Merge pull request #3600 from ReinUsesLisp/no-pointer-buf-cache
...
buffer_cache: Return handles instead of pointer to handles
5 years ago
Markus Wick
fedf750e1b
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.
5 years ago
Markus Wick
94c2c828a5
input_common: Use the CMake target instead of the variable.
5 years ago
Rodrigo Locatti
db67e017cb
Merge pull request #3659 from bunnei/time-calc-standard-user
...
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
5 years ago
ReinUsesLisp
090fd3fefa
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.
5 years ago
Rodrigo Locatti
a5a2ee8766
Merge pull request #3689 from lioncash/unused-var
...
decode/shift: Remove unused variable within Shift()
5 years ago
Rodrigo Locatti
d196ce0f71
Merge pull request #3688 from lioncash/nequal
...
surface_view: Add missing operator!= to ViewParams
5 years ago
Rodrigo Locatti
4209dba1f6
Merge pull request #3680 from lioncash/static
...
gl_device: Mark stage_swizzle as constexpr
5 years ago
Rodrigo Locatti
60e8de7c95
Merge pull request #3687 from lioncash/constness
...
surface_base: Make IsInside() a const member function
5 years ago
Rodrigo Locatti
612966399b
Merge pull request #3685 from lioncash/copies
...
control_flow: Make use of std::move in TryInspectAddress()
5 years ago
Lioncash
cd2a12e78f
decode/shift: Remove unused variable within Shift()
...
Removes a redundant variable that is already satisfied by the IsFull()
utility function.
5 years ago
Lioncash
5fbe8785d2
surface_view: Add missing operator!= to ViewParams
...
Provides logical symmetry to the interface.
5 years ago
Lioncash
d551c910bb
surface_base: Make IsInside() a const member function
...
This doesn't modify internal state, so this can be made const.
5 years ago
bunnei
319df1db77
Merge pull request #3683 from lioncash/docs
...
video_core: Amend doxygen comment references
5 years ago
Lioncash
636c8ab85b
texture_cache/format_lookup_table: Fix incorrect green, blue, and alpha indices
...
Previously these were all using the red component to derive the indices,
which is definitely not intentional.
5 years ago
Lioncash
72a224d3fc
control_flow: Make use of std::move in TryInspectAddress()
...
Eliminates redundant atomic reference count increments and decrements.
5 years ago
Lioncash
11837e8f13
video_core: Amend doxygen comment references
...
Fixes broken documentation references.
5 years ago
Lioncash
3a60f19eaf
gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator
...
Avoids potential invalid junk data from being read.
5 years ago
Lioncash
71fb156611
gl_device: Mark stage_swizzle as constexpr
...
Previously this was mutable even though it shouldn't be.
5 years ago
Lioncash
e15ec2705c
track: Eliminate redundant copies
...
Two variables can be references, while two others can be std::moved.
Makes for 4 less atomic reference count increments and decrements.
5 years ago
Lioncash
1c340c6efa
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.
5 years ago
Rodrigo Locatti
65cbb122ea
Merge pull request #3649 from FernandoS27/3d-fix
...
Texture Cache: Read current data when flushing a 3D segment.
5 years ago
Fernando Sahmkow
e33196d4e7
Merge pull request #3612 from ReinUsesLisp/red
...
shader/memory: Implement RED.E.ADD and minor changes to ATOM
5 years ago
Lioncash
e77337588e
file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero
...
It's undefined behavior to pass a null pointer to std::fread and
std::fwrite, even if the length passed in is zero, so we must perform
the precondition checking ourselves.
A common case where this can occur is when passing in the data of an
empty std::vector and size, as an empty vector will typically have a
null internal buffer.
While we're at it, we can move the implementation out of line and add
debug checks against passing in nullptr to std::fread and std::fwrite.
5 years ago
Lioncash
213fff67bc
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.
5 years ago
Lioncash
521c4c33b5
kernel/thread: Resolve -Wswitch warnings
5 years ago
Mat M
64b5985f0a
Merge pull request #3662 from ReinUsesLisp/constant-attrs
...
gl_rasterizer: Implement constant vertex attributes
5 years ago
Fernando Sahmkow
6789d88a9c
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.
5 years ago
Mat M
9208d555b7
Merge pull request #3668 from ReinUsesLisp/vtx-format-16ui
...
maxwell_to_vk: Add uint16 vertex formats
5 years ago
Mat M
ab72696beb
Merge pull request #3656 from ReinUsesLisp/glsl-full-decompile
...
gl_shader_cache: Use CompileDepth::FullDecompile on GLSL
5 years ago
Mat M
4878d6bb49
Merge pull request #3654 from ReinUsesLisp/fix-fb-attach
...
gl_texture_cache: Fix layered texture attachment base level
5 years ago
Mat M
50c0a92db8
Merge pull request #3663 from ReinUsesLisp/fcmp-rc
...
shader/arithmetic: Add FCMP_CR variant
5 years ago
Mat M
13331a3a32
Merge pull request #3664 from ReinUsesLisp/fe3h-black-squares
...
Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"
5 years ago
ReinUsesLisp
3036067047
maxwell_to_vk: Add uint16 vertex formats
5 years ago
ReinUsesLisp
b4e43c64c8
maxwell_to_vk: Add missing breaks
...
Avoid invalid fallbacks.
5 years ago
ReinUsesLisp
0ca456830f
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.
5 years ago
Rodrigo Locatti
0b132e8cc1
Merge pull request #3657 from ReinUsesLisp/viewport-zero
...
vk_rasterizer: Default to 1 viewports with a size of 0
5 years ago
Fernando Sahmkow
daddbeffd1
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.
5 years ago
bunnei
eb676c343a
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
...
- Used by Animal Crossing: New Horizons.
5 years ago
ReinUsesLisp
fd6371eba7
Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"
...
This reverts commit 05cf270836
.
Apparently the first approach using floats instead of bitfieldInert
worked better for Fire Emblem: Three Houses. Reverting to get that
behavior back.
5 years ago
ReinUsesLisp
fefe7f18f9
shader/arithmetic: Add FCMP_CR variant
...
Adds another variant of FCMP.
5 years ago
Zach Hilman
e366b4ee1f
Merge pull request #3660 from bunnei/friend-blocked-users
...
service: friend: Stub IFriendService::GetBlockedUserListIds.
5 years ago
ReinUsesLisp
6dfcabc800
gl_rasterizer: Implement constant vertex attributes
...
Credits go to gdkchan from Ryujinx for finding constant attributes are
used in retail games.
5 years ago
bunnei
fc35803f91
file_sys: patch_manager: Return early when there are no layers to apply.
5 years ago
bunnei
598740f1dd
service: friend: Stub IFriendService::GetBlockedUserListIds.
...
- This is safe to stub, as there should be no adverse consequences from reporting no blocked users.
5 years ago
ReinUsesLisp
37e5c4fa7c
vk_rasterizer: Default to 1 viewports with a size of 0
...
Silence validation layer errors.
5 years ago
ReinUsesLisp
453d7419d9
gl_shader_cache: Use CompileDepth::FullDecompile on GLSL
...
From my testing on a Splatoon 2 shader that takes 3800ms on average to
compile changing to FullDecompile reduces it to 900ms on average.
The shader decoder will automatically fallback to a more naive method if
it can't use full decompile.
5 years ago
FearlessTobi
c2bf91156a
yuzu/main: Add better popup texts and remove duplicated actions
...
Makes popup texts more compact and clear and also links our quickstart guide now.
Also removes OnMenuSelectEmulatedDirectory from the File dropdown, as the action already exists in the Filesystem tab and provides better visual feedback there.
5 years ago
ReinUsesLisp
21dc842171
gl_texture_cache: Fix layered texture attachment base level
...
The base level is already included in the texture view. If we specify
the base level in the texture again, this will end up in the incorrect
level and potentially out of bounds.
5 years ago
Rodrigo Locatti
7e4a132a77
Merge pull request #3636 from ReinUsesLisp/drop-vk-hpp
...
renderer_vulkan: Drop Vulkan-Hpp
5 years ago
Mat M
fbf13d3f48
Merge pull request #3651 from ReinUsesLisp/line-widths
...
gl_rasterizer: Implement line widths and smooth lines
5 years ago
Mat M
08266d70ba
Merge pull request #3638 from ReinUsesLisp/remove-preserve-contents
...
texture_cache: Remove preserve_contents
5 years ago
Mat M
c4001225f6
Merge pull request #3631 from ReinUsesLisp/more-astc
...
texture/astc: More small ASTC optimizations
5 years ago