bunnei
5716496239
Merge pull request #1519 from ReinUsesLisp/vsetp
...
gl_shader_decompiler: Implement VSETP
7 years ago
bunnei
0f3d8c2574
Merge pull request #1539 from lioncash/dma
...
maxwell_dma: Silence compilation warnings
7 years ago
bunnei
75d807788c
Merge pull request #1470 from FernandoS27/alpha_testing
...
Implemented Alpha Test using Shader Emulation
7 years ago
Weiyi Wang
2ff2732a78
only redefine 64 bit file operation for MSVC
...
MinGW provides POSIX functions
7 years ago
David Marcec
38cdb6744d
Added assertion failed, reworked logging levels
7 years ago
ReinUsesLisp
7d6dca0d0a
gl_shader_decompiler: Implement VSETP
7 years ago
ReinUsesLisp
5dfb43531c
gl_shader_decompiler: Abstract VMAD into a video subset
7 years ago
David Marcec
8042731da9
Added break types to svcBreak
...
There seems to be more such as type 1, and 2. Unsure what these currently are but when a game hits them we can investigate and add the rest
7 years ago
bunnei
848a49112a
Merge pull request #1512 from ReinUsesLisp/brk
...
gl_shader_decompiler: Implement PBK and BRK
7 years ago
bunnei
496d155d7b
Merge pull request #1550 from FernandoS27/fmul32
...
Added Saturation to FMUL32I
7 years ago
bunnei
40c63073a9
Merge pull request #1543 from lioncash/target
...
CMakeLists: Use target_compile_definitions instead of add_definitions to define YUZU_ENABLE_COMPATIBILITY_REPORTING
7 years ago
bunnei
4cccfb4190
Merge pull request #1537 from lioncash/shader
...
gl_shader_decompiler: Minor changes
7 years ago
FernandoS27
259da93567
Added Saturation to FMUL32I
7 years ago
FernandoS27
8e1239fbc5
Assert that multiple render targets are not set while alpha testing
7 years ago
bunnei
ff6b2d4574
Merge pull request #1545 from DarkLordZach/psm
...
psm: Add psm service and stub commands 0 and 1
7 years ago
FernandoS27
59a004f915
Use standard UBO and fix/stylize the code
7 years ago
FernandoS27
17315cee16
Cache uniform locations and restructure the implementation
7 years ago
FernandoS27
bcb5b924fd
Remove SyncAlphaTest and clang format
7 years ago
FernandoS27
7b39107e3a
Added Alpha Func
7 years ago
FernandoS27
aa620c14af
Implemented Alpha Testing
7 years ago
bunnei
65df593951
Merge pull request #1541 from lioncash/define
...
web_service/CMakeLists: Make the CPPHTTPLIB_OPENSSL_SUPPORT constrained to the web_service library only
7 years ago
bunnei
d9923b0dbc
Merge pull request #1538 from lioncash/query
...
svc: Fix vma boundary check in svcQueryMemory
7 years ago
bunnei
1226a5706e
Merge pull request #1547 from FernandoS27/fix-fset
...
Fixed FSETP and FSET
7 years ago
FernandoS27
5c5b4e8e7d
Fixed FSETP and FSET
7 years ago
bunnei
fcad3a734d
Merge pull request #1546 from lioncash/svc-again
...
service: Update service function tables
7 years ago
bunnei
38fa3aae73
Merge pull request #1548 from FernandoS27/fix-vao
...
Fixed VAOs Float types only returning GL_FLOAT
7 years ago
FernandoS27
e2416bbd1f
Fixed VAOs Float types only returning GL_FLOAT in cases that they had to return GL_HALF_FLOAT
7 years ago
Zach Hilman
314a948373
psm: Stub GetChargerType
...
Used by LovePotion Lua Homebrew. Stubbed as connected to official Nintendo Switch dock.
7 years ago
bunnei
12fa570d49
Merge pull request #1544 from DarkLordZach/reinitialize-keys-tools
...
qt: Move Reinitialize Keys to Tools menu
7 years ago
Lioncash
ca5a93167e
service: Add the basic skeleton for the NPNS services
7 years ago
Lioncash
981faea4d6
hid: Update service function table for hidbus
...
Updated based off information provided by Switchbrew.
7 years ago
Lioncash
5ea4cfd499
am: Add the basic skeleton for the tcap service
...
Added based off information provided by Switchbrew.
7 years ago
Lioncash
edb1c36a87
am: Update service function tables
...
Updated based off information from Switchbrew
7 years ago
Lioncash
ae7f55947e
prepo: Update service function table.
...
Also introduces the new prepo:a2 service.
Updated based off information provided by Switchbrew.
7 years ago
Lioncash
a806c78a1a
lbl: Update service function table names
...
Updated based off information provided by Switchbrew.
7 years ago
bunnei
f034121620
Merge pull request #1531 from ogniK5377/hid-fixes
...
Added auto controller switching to supported controllers and single joycon button rotation
7 years ago
Zach Hilman
a279d80a19
qt: Move Reinitialize Keys to Tools menu
7 years ago
Zach Hilman
10a2d20e26
psm: Stub GetBatteryChargePercentage
...
Used by LovePotion Lua Homebrew. Stubbed to return 100% charge.
7 years ago
Zach Hilman
3b8c0f8885
service: Add skeleton for psm service
...
Seems to be the power controller. Listed in switchbrew under the category PTM services.
7 years ago
Lioncash
c8beb665dc
CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
...
This is more localized to what we want to enforce directory-wise with
the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but
this would cause the wrong behavior if someone included yuzu as part of
a larger buildsystem (for whatever reason). Instead, we want to use the
directory where the "project(yuzu)" command was declared as the root
path reference.
7 years ago
Lioncash
98a27b1ec7
CMakeLists: Use target_compile_definitions instead of add_definitions to define YUZU_ENABLE_COMPATIBILITY_REPORTING
...
Keeps the definition constrained to the yuzu target and prevents
polluting anything else in the same directory (should that ever happen).
It also keeps it consistent with how the USE_DISCORD_PRESENCE definition
is introduced below it.
7 years ago
Lioncash
adb9eda105
web_service/CMakeLists: Make the CPPHTTPLIB_OPENSSL_SUPPORT constrained to the web_service library only
...
Given we link in httplib privately, we can also make the definition
enabling OpenSSL support private as well. Prevents leaking a definition
into other libraries that link with this one, like the core library.
7 years ago
Lioncash
90a981a03a
kernel/process: Make the handle table per-process
...
In the kernel, there isn't a singular handle table that everything gets
tossed into or used, rather, each process gets its own handle table that
it uses. This currently isn't an issue for us, since we only execute one
process at the moment, but we may as well get this out of the way so
it's not a headache later on.
7 years ago
Lioncash
c1e5525fc6
engines/maxwell_*: Use nested namespace specifiers where applicable
...
These three source files are the only ones within the engines directory
that don't use nested namespaces. We may as well change these over to
keep things consistent.
7 years ago
Lioncash
d53c73adaa
maxwell_dma: Make variables const where applicable within HandleCopy()
...
These are never modified, so we can make that assumption explicit.
7 years ago
Lioncash
dd1ee39426
maxwell_dma: Make FlushAndInvalidate's size parameter a u64
...
This prevents truncation warnings at the lambda's usage sites.
7 years ago
Lioncash
08e574eec4
maxwell_dma: Remove unused variables in HandleCopy()
...
These pointer variables are never used, so we can get rid of them.
7 years ago
Lioncash
896c0f61a0
svc: Fix vma boundary check in svcQueryMemory
...
This should be comparing against the queried process' vma_map, not the
current process'. The only reason this hasn't become an issue yet is we
currently only handle one process being active at any time.
7 years ago
Lioncash
8a86c8d48b
gl_shader_decompiler: Allow std::move to function in SetPredicate
...
If the variable being moved is const, then std::move will always perform
a copy (since it can't actually move the data).
7 years ago
Lioncash
381baf783d
gl_shader_decompiler: Get rid of variable shadowing warnings
...
A variable with the same name was previously declared in an outer scope.
7 years ago
Lioncash
61ef8af1e2
gl_shader_decompiler: Fix a few comment typos
7 years ago
ReinUsesLisp
3ec795d95e
gl_shader_decompiler: Move position varying declaration back to gl_shader_gen
...
The intention of declaring them in gl_shader_decompiler was to be able
to use blocks to implement geometry shaders. But that wasn't needed in
the end and it caused issues when both vertex stages were being used,
resulting in a redeclaration of "position".
7 years ago
David Marcec
a03600ba28
Added auto controller switching to supported controllers and single joycon button rotation
...
This is a subset of the better-hid-2 changes, this fixes input in various games which don't support dual joycons. This pr will search for the next best controller which is supported by the current game
7 years ago
bunnei
b1f8bff7db
Merge pull request #1501 from ReinUsesLisp/half-float
...
gl_shader_decompiler: Implement H* instructions
7 years ago
bunnei
60317e6306
Merge pull request #1520 from lioncash/san
...
svc: Add missing sanitizing checks for MapSharedMemory/UnmapSharedMemory
7 years ago
bunnei
4849569565
Merge pull request #1517 from bunnei/dma
...
GPU/DMA: Flush the source region and invalidate the destination region when doing a DMA transfer.
7 years ago
bunnei
bf66930fb9
Merge pull request #1526 from lioncash/svc-id
...
service: Update function tables
7 years ago
bunnei
52b25e0fb9
Merge pull request #1530 from DarkLordZach/aoc-8
...
aoc_u: Stub GetAddOnContentListChangedEvent
7 years ago
bunnei
298ebf444f
Merge pull request #1516 from lioncash/hid
...
hid: Minor cleanup-related changes
7 years ago
Zach Hilman
7e0d2fc994
aoc_u: Stub GetAddOnContentListChangedEvent
...
This event signals the game when new DLC is purchased from the eShop while the game is running. Since, for the forseeable future, yuzu will not have this ability, it seems safe to stub with a dummy event that will never fire. This is needed to boot Sonic Mania Plus (update v1.04).
7 years ago
Zach Hilman
0aef2b9c26
crypto: Use compressed sizes in offset calculation for KIP decompression
...
Fixes a fatal crash on start when deriving keys.
7 years ago
Zach Hilman
a25d79cfaa
vfs: Remove InterpretAsDirectory and related functions
...
When writing VFS, it initally seemed useful to include a function to in-place convert container files into directories in one homogenous directory structure, but re-evaluating it now there have been plenty of chances to use it and there has always been a better way. Removing as it is unused and likely will not be used.
7 years ago
David Marcec
7a7dad05c0
Stubbed home blocking
...
Needed by arms due to new hid rework
7 years ago
Lioncash
1833498617
es: Update service function tables
...
Updated based off information provided by Switchbrew.
7 years ago
Lioncash
a653be3510
audio: Update service function tables
...
Updated based off information provided by Switchbrew.
7 years ago
Lioncash
2b9fd23058
omm: Update service function tables
...
Updated based off information provided by Switchbrew.
7 years ago
Lioncash
4f52800822
nifm: Update service function tables
...
Updated based off information provided by switchbrew.
7 years ago
Lioncash
f6c5a48dd1
hid: Update service function tables
...
Updated based off information provided by Switchbrew.
7 years ago
Lioncash
d0cda7fe40
nim: Add the basic skeleton of the nim:eca service
...
Added based off information provided by Switchbrew
7 years ago
Lioncash
d16bafc99d
ns: Update service function table
...
Updated based off information provided by Switchbrew.
7 years ago
Lioncash
a056b284cf
set_cal: Update service function table
...
Updated based on information from Switchbrew.
7 years ago
bunnei
7e665c2721
GPU: Improved implementation of maxwell DMA (Subv).
7 years ago
bunnei
bcde71d4d9
decoders: Introduce functions for un/swizzling subrects.
7 years ago
bunnei
a5d853a9f8
GPU: Invalidate destination address of kepler_memory writes.
7 years ago
bunnei
6b333d862b
fermi_2d: Add support for more accurate surface copies.
7 years ago
bunnei
fdd82b754a
Merge pull request #1523 from lioncash/lock
...
svc: Add missing error checks in svcArbitrateLock/svcArbitrateUnlock
7 years ago
bunnei
7f152f2273
Merge pull request #1511 from lioncash/content
...
content_archive: Minor reorganization changes
7 years ago
bunnei
e5d428cf1e
Merge pull request #1521 from ogniK5377/imp-mmu
...
Used better names for mm:u and fixed a bad stub
7 years ago
Lioncash
4b5ae8dbaa
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
541e9624eb
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
d27f4a4928
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
f109615be0
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
bunnei
d4ff4152ad
Merge pull request #1510 from lioncash/xci
...
XCI: Add function for checking the existence of the program NCA
7 years ago
bunnei
6acd8d166a
Merge pull request #1505 from FernandoS27/tex-3d
...
Implemented 3D Textures
7 years ago
David Marcec
98c7a6d622
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
Lioncash
33830aa65a
svc: Add missing sanitizing checks for MapSharedMemory/UnmapSharedMemory
...
Now that the changes clarifying the address spaces has been merged, we
can wrap the checks that the kernel performs when mapping shared memory
(and other forms of memory) into its own helper function and then use
those within MapSharedMemory and UnmapSharedMemory to complete the
sanitizing checks that are supposed to be done.
7 years ago
Lioncash
452aa30cb7
hid/controller: Remove unused header inclusions
...
swap.h only needs to be present in the header for the type aliases and
definitions, it's not actually needed in the cpp files though. input.h
is just unused entirely in xpad.h
7 years ago
Lioncash
7f52dc1790
hid/controller/npad: Remove unused dump_idx member variable
...
Given it's unused, we may as well toss it.
7 years ago
Lioncash
7eb2328d8e
hid/controller/npad: Remove unnecessary semicolon from the closing brace of LedPattern's constructor
7 years ago
Lioncash
929ed59f1f
hid/controller/npad: Remove #pragma once from the cpp file
...
This is only useful in headers.
7 years ago
Lioncash
aeda743446
hid/controller/npad: Move npad_id_list into the cpp file
...
This is just a lookup table, and since it's private, there's nothing
really stateful about it, so we can just move it into the cpp file.
7 years ago
Lioncash
aeca224890
hid/controller/npad: Remove unnecessary const from void return type
...
This literally does nothing.
7 years ago
Lioncash
46202e984e
hid/controller: Default the destructors of all controller types in the cpp file
...
These classes are non-trivial and are definitely going to be changed in
the future, so we default these to prevent issues with forward
declarations, and to keep the compiler from inlining tear-down code.
7 years ago
Lioncash
119b47f366
controller_base: Default the base class constructor and destructor in the cpp file
...
The destructor doesn't need to be a pure-virtual function.
7 years ago
ReinUsesLisp
41fb25349a
gl_shader_decompiler: Implement PBK and BRK
7 years ago
bunnei
7dee60d7d2
Merge pull request #1444 from ogniK5377/better-hid
...
"Better Hid" Rework Part 1
7 years ago
bunnei
77e2d68df7
Merge pull request #1489 from FernandoS27/fix-tlds
...
shader_decompiler: Fix TLDS
7 years ago
FernandoS27
caaa9914fd
Clang format and other fixes
7 years ago
FernandoS27
cb9fdc7a26
Implement Reinterpret Surface, to accurately blit 3D textures
7 years ago
FernandoS27
dbc34db6ce
Implement GetInRange in the Rasterizer Cache
7 years ago
FernandoS27
fd9e2d0073
Implement 3D Textures
7 years ago
bunnei
f912a82a8e
Merge pull request #1497 from bunnei/flush-framebuffers
...
Implement flushing in the rasterizer cache
7 years ago
bunnei
6e8752881c
Merge pull request #1498 from lioncash/aslr
...
svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()
7 years ago
bunnei
86dcf2942b
Merge pull request #1496 from FernandoS27/tex-array
...
Implement Arrays on Tex Instruction
7 years ago
Zach Hilman
9d0fb0f815
qt: Add support for dumping a DLC Data RomFS
7 years ago
bunnei
afe22d8405
Merge pull request #1509 from DarkLordZach/device-save-data
...
savedata_factory: Add DeviceSaveData and fix TemporaryStorage
7 years ago
bunnei
648b55c6b9
gl_rasterizer_cache: Remove unnecessary block_depth=1 on Flush.
7 years ago
bunnei
2a035a1f6f
gl_rasterizer_cache: Remove unnecessary temporary buffer with unswizzle.
7 years ago
Zach Hilman
59044862a9
registered_cache: Deduplicate results of ListEntry and ListEntryFilter
...
Prevents a Entry from appearing in the list twice if the user has it installed in two places (e.g. User NAND and SDMC)
7 years ago
David Marcec
8144fa42bd
Using dual joycons as the default controller
...
Reason for the change is to allow both docked and undocked mode to work
7 years ago
Zach Hilman
780c21ab2d
fsp_srv: Apply patches to Data storage in OpenDataStorageByDataId
7 years ago
Zach Hilman
d8273c3857
patch_manager: Add support for using LayeredFS with Data
7 years ago
bunnei
43b9494a0f
gl_rasterizer_cache: Use AccurateCopySurface for use_accurate_gpu_emulation.
7 years ago
bunnei
ee7c2dbf5a
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
91602de7f2
rasterizer_cache: Refactor to support in-order flushing.
7 years ago
Lioncash
871350ae35
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
441b5b97bd
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
53e77ffbfe
content_archive: Simplify rights ID check
...
This is the same as using std::any_of with an inverted predicate.
7 years ago
Lioncash
d6604fa765
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
4783ad54de
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
73e1e929a2
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
0e59291310
gl_rasterizer_cache: Refactor to only call GetRegionEnd on surface creation.
7 years ago
bunnei
949d7832fa
gl_rasterizer_cache: Only flush when use_accurate_framebuffers is enabled.
7 years ago
bunnei
5f79ba04bd
gl_rasterizer_cache: Separate guest and host surface size managment.
7 years ago
bunnei
58be4dff79
gl_rasterizer_cache: Rename GetGLBytesPerPixel to GetBytesPerPixel.
...
- This does not really have anything to do with OpenGL.
7 years ago
bunnei
cf7b46c101
gl_rasterizer_cache: Remove unused FlushSurface method.
7 years ago
bunnei
3afdfd7bfa
gl_rasterizer: Implement flushing.
7 years ago
bunnei
b4e29ccb81
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
4e9683e9d5
gl_rasterizer_cache: Clamp cached surface size to mapped GPU region size.
7 years ago
bunnei
37575eae65
memory_manager: Add a method for querying the end of a mapped GPU region.
7 years ago
bunnei
0be7e82289
rasterizer_cache: Reintroduce method for flushing.
7 years ago
bunnei
9b929e934b
gl_rasterizer_cache: Reintroduce code for handling swizzle and flush to guest RAM.
7 years ago
bunnei
78f2a6a9e1
Merge pull request #1443 from DarkLordZach/lower-loader-logs-1
...
content_archive/patch_manager: Lower log levels to eliminate some unnecessary logs
7 years ago
David
92d8ad3770
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
bunnei
88b8383da2
Merge pull request #1502 from lioncash/unique
...
core: Convert shared_ptr instances into unique_ptr instances where applicable for System and Cpu
7 years ago
Zach Hilman
9d4e6176eb
savedata_factory: Add TemporaryStorage SaveDataSpaceId
...
Required for TemporaryStorage saves (in addition to SaveDataType)
7 years ago
Zach Hilman
74890cf2da
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
39ae73b356
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
bunnei
548958bcaf
Merge pull request #1473 from lioncash/cmake
...
web_service: Make linkage of web_service-related externals and the library private
7 years ago
bunnei
870c18b078
Merge pull request #1487 from lioncash/maybe-unused
...
yuzu/main: Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled
7 years ago
Lioncash
76fc8b59b2
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
bunnei
9b21fbd1eb
Merge pull request #1494 from DarkLordZach/aoc-signature-fixes
...
aoc: Fix various bugs in current AOC implementation
7 years ago
bunnei
50e6205c21
Merge pull request #1499 from lioncash/nro
...
nro/nso: Minor error handling changes
7 years ago
bunnei
7665411317
Merge pull request #1500 from DarkLordZach/key-derivation-6.0.0
...
crypto: Various crypto fixes for quickstart guide
7 years ago
Lioncash
bed872ed38
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
936c36a514
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
b461342a84
gl_shader_decompiler: Fixup style inconsistencies
7 years ago
ReinUsesLisp
27916764b1
gl_rasterizer: Silence implicit cast warning in glBindBufferRange
7 years ago
Lioncash
5484742fda
core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrs
7 years ago
Lioncash
59f872a8e0
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