bunnei
cb438209c7
GPU: Improved implementation of maxwell DMA (Subv).
7 years ago
bunnei
fa24c17b95
decoders: Introduce functions for un/swizzling subrects.
7 years ago
bunnei
6a6fbb1478
GPU: Invalidate destination address of kepler_memory writes.
7 years ago
bunnei
e3fdb2ff4b
fermi_2d: Add support for more accurate surface copies.
7 years ago
Lioncash
c015a42cc2
svc: Check for word alignment of addresses within svcArbitrateLock/svcArbitrateUnlock
The kernel itself checks whether or not the provided addresses are word
aligned before continuing, so we should be doing the same.
7 years ago
Lioncash
da8827def6
common: Add function for checking word alignment to alignment.h
This will be used in a following change to svcArbitrateLock() and
svcArbitrateUnlock()
7 years ago
Lioncash
7784a1ca44
common: Move Is4KBAligned() to alignment.h
Aligning on 4KB pages isn't a Switch-specific thing, so this can be
moved to common so it can be used with other things as well.
7 years ago
Lioncash
3813aafaaf
core: Remove unnecessary assert in ArmInterface()
CpuCore already does this sort of checking, so we can just call that
instead of duplicating the assertions.
7 years ago
David Marcec
9aa32c18b6
Used better names for mm:u and fixed bad stub
InitializeWithId needs to return an id which is a u32 which should be a non zero value
7 years ago
FernandoS27
efa39b1b35
Clang format and other fixes
7 years ago
FernandoS27
c841b2ec48
Implement Reinterpret Surface, to accurately blit 3D textures
7 years ago
FernandoS27
893e144b02
Implement GetInRange in the Rasterizer Cache
7 years ago
FernandoS27
1469c546c3
Implement 3D Textures
7 years ago
bunnei
898c5576b5
gl_rasterizer_cache: Remove unnecessary block_depth=1 on Flush.
7 years ago
bunnei
a205f5a4df
gl_rasterizer_cache: Remove unnecessary temporary buffer with unswizzle.
7 years ago
David Marcec
128f14d60e
Using dual joycons as the default controller
Reason for the change is to allow both docked and undocked mode to work
7 years ago
bunnei
30c357b12b
gl_rasterizer_cache: Use AccurateCopySurface for use_accurate_gpu_emulation.
7 years ago
bunnei
b1c31be284
config: Rename use_accurate_framebuffers -> use_accurate_gpu_emulation.
- This will be used as a catch-all for slow-but-accurate GPU emulation paths.
7 years ago
bunnei
b3ee8ceca5
rasterizer_cache: Refactor to support in-order flushing.
7 years ago
Lioncash
b00f4831b0
content_archive: Simpify assignment of bktr_base_romfs in the constructor
std::move doesn't actually dereference the data, so it doesn't matter
whether or not the type is null.
7 years ago
Lioncash
6adf7a6f99
content_archive: Make IsValidNCA() an internally linked function
This is only ever used within the cpp file, so it can just be an
internal function.
7 years ago
Lioncash
401a947c41
content_archive: Simplify rights ID check
This is the same as using std::any_of with an inverted predicate.
7 years ago
Lioncash
33363de6df
content_archive: Split loading into separate functions
The constructor alone is pretty large, the reading code should be split
into its consistuent parts to make it easier to understand it without
having to build a mental model of a 300+ line function.
7 years ago
Lioncash
067a174e00
content_archive: Pass and take NCASectionHeader instance by reference
Each header is 512 bytes in size, which is kind of an excessive amount
to copy all the time when it's possible to avoid doing so.
7 years ago
Lioncash
54ff822f66
XCI: Add function for checking the existence of the program NCA
The only reason the getter existed was to check whether or not the
program NCA was null. Instead, we can just provide a function to query
for the existence of it, instead of exposing it entirely.
7 years ago
bunnei
f5df68346c
gl_rasterizer_cache: Refactor to only call GetRegionEnd on surface creation.
7 years ago
bunnei
5084ec9509
gl_rasterizer_cache: Only flush when use_accurate_framebuffers is enabled.
7 years ago
bunnei
54918b45fe
gl_rasterizer_cache: Separate guest and host surface size managment.
7 years ago
bunnei
1b8aabcb7b
gl_rasterizer_cache: Rename GetGLBytesPerPixel to GetBytesPerPixel.
- This does not really have anything to do with OpenGL.
7 years ago
bunnei
7a80c6f83f
gl_rasterizer_cache: Remove unused FlushSurface method.
7 years ago
bunnei
6ac61f1799
gl_rasterizer: Implement flushing.
7 years ago
bunnei
1aba2e2fe9
gl_rasterizer_cache: Remove usage of Memory::Read/Write functions.
- These cannot be used within the cache, as they change cache state.
7 years ago
bunnei
4f43267355
gl_rasterizer_cache: Clamp cached surface size to mapped GPU region size.
7 years ago
bunnei
ac8ab8f305
memory_manager: Add a method for querying the end of a mapped GPU region.
7 years ago
bunnei
a8c8207341
rasterizer_cache: Reintroduce method for flushing.
7 years ago
bunnei
5ec58fa78f
gl_rasterizer_cache: Reintroduce code for handling swizzle and flush to guest RAM.
7 years ago
David
e160ae78c8
Implement VI ConvertScalingMode ( #1475 )
* Implement VI ConvertScalingMode
* Fixed push enum
* Scale mode now uses Nintendo scale mode as an enum as well
7 years ago
Zach Hilman
82da4930c1
savedata_factory: Add TemporaryStorage SaveDataSpaceId
Required for TemporaryStorage saves (in addition to SaveDataType)
7 years ago
Zach Hilman
0595fc9947
savedata_factory: Add support for DeviceSaveData
Uses the same path as SaveData except with UID 0. Adds a warning if UID is not 0.
7 years ago
Lioncash
92495f4f70
file_sys/registered_cache: Use unique_ptr and regular pointers instead of shared_ptrs where applicable
The data retrieved in these cases are ultimately chiefly owned by either
the RegisteredCache instance itself, or the filesystem factories. Both
these should live throughout the use of their contained data. If they
don't, it should be considered an interface/design issue, and using
shared_ptr instances here would mask that, as the data would always be
prolonged after the main owner's lifetime ended.
This makes the lifetime of the data explicit and makes it harder to
accidentally create cyclic references. It also makes the interface
slightly more flexible than the previous API, as a shared_ptr can be
created from a unique_ptr, but not the other way around, so this allows
for that use-case if it ever becomes necessary in some form.
7 years ago
Lioncash
e83e140e3f
file_sys/control_metadata: Get rid of magic constants
These are just the size of the data being passed in, so we can specify
that via the size() member function.
7 years ago
Lioncash
3b0b8c3f80
nso: Return an optional address from LoadModule
If a malformed NSO is attempted to be loaded, we shouldn't continue
onwards. We should be reporting an error and bailing out.
7 years ago
ReinUsesLisp
40845c39c9
shader_bytecode: Add Control Code enum 0xf
Control Code 0xf means to unconditionally execute the instruction. This
value is passed to most BRA, EXIT and SYNC instructions (among others)
but this may not always be the case.
7 years ago
ReinUsesLisp
4af6ab7d85
gl_shader_decompiler: Fixup style inconsistencies
7 years ago
ReinUsesLisp
0370d2a62e
gl_rasterizer: Silence implicit cast warning in glBindBufferRange
7 years ago
Lioncash
f94bf1a29f
core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrs
7 years ago
Lioncash
c6474b9321
core: Make the live Cpu instances unique_ptrs instead of shared_ptrs
There's no need for shared ownership here, as the only owning class
instance of those Cpu instances is the System class itself. We can also
make the thread_to_cpu map use regular pointers instead of shared_ptrs,
given that the Cpu instances will always outlive the cases where they're
used with that map.
7 years ago
Lioncash
16a332fee0
core: Make the exclusive monitor a unique_ptr instead of a shared_ptr
Like the barrier, this is owned entirely by the System and will always
outlive the encompassing state, so shared ownership semantics aren't
necessary here.
7 years ago
Lioncash
0575e2639a
core: Make CPUBarrier a unique_ptr instead of a shared_ptr
This will always outlive the Cpu instances, since it's destroyed after
we destroy the Cpu instances on shutdown, so there's no need for shared
ownership semantics here.
7 years ago
Zach Hilman
1d2f86949b
crypto: Various crypto fixes for quickstart guide
7 years ago