zhupengfei
a2be49305d
yuzu, video_core: Screenshot functionality
...
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
2018-12-18 22:54:41 +01:00
heapo
37280cf555
Texture format fixes: Flag RGBA16UI as GL_RGBA_INTEGER format, and interpret R16U as Z16 when depth_compare is enabled.
2018-12-18 11:34:51 -08:00
bunnei
39262921f2
Merge pull request #1913 from MerryMage/default-fpcr
...
kernel/thread: Set default fpcr
2018-12-18 14:13:57 -05:00
bunnei
5bae002aaa
Merge pull request #1918 from MerryMage/cntfrq
...
arm_dynarmic: Set CNTFRQ value
2018-12-18 14:13:35 -05:00
MerryMage
eef6ce79a9
kernel/thread: Set default fpcr
2018-12-18 17:37:03 +00:00
MerryMage
fd2c42bfcd
arm_dynarmic: Set CNTFRQ value
2018-12-18 17:28:12 +00:00
bunnei
325dcf2881
Merge pull request #1917 from ReinUsesLisp/fixup-half
...
shader_bytecode: Fixup half float's operator B encoding
2018-12-18 10:45:58 -05:00
bunnei
116e6247ce
Merge pull request #1889 from DarkLordZach/swkbd-state-changed
...
applets: Correct usage of SignalStateChanged event
2018-12-18 09:59:27 -05:00
ReinUsesLisp
ef061481c5
shader_bytecode: Fixup half float's operator B encoding
2018-12-18 04:28:50 -03:00
bunnei
95255899e7
Merge pull request #1903 from heapo/fmul_postfactor
...
Implement postfactor multiplication/division for fmul instructions
2018-12-17 22:00:43 -05:00
Lioncash
dd272298aa
service/am: Unstub GetAppletResourceUserId
...
This is supposed to return the current process' ID. (0 indicates an
invalid ID for both process IDs and ARU IDs).
2018-12-17 21:01:14 -05:00
heapo
72599cc667
Implement postfactor multiplication/division for fmul instructions
2018-12-17 07:56:25 -08:00
heapo
a6daed74f5
Fix arrayed shadow sampler array slice/depth comparison ordering, as well as invalid GLSL LOD selection.
2018-12-17 07:53:48 -08:00
Lioncash
4dc8a7da3f
vm_manager: Rename meminfo_state to state
...
This is shorter and more concise. This also removes the now-innaccurate
comment, as it's not returned wholesale to svcQueryMemory anymore.
2018-12-15 19:43:36 -05:00
Lioncash
34b24a47e9
vm_manager: Add backing functionality for memory attributes
...
Adds the barebones enumeration constants and functions in place to
handle memory attributes, while also essentially leaving the attribute
itself non-functional.
2018-12-15 19:43:32 -05:00
bunnei
84823a3036
Merge pull request #1905 from bunnei/ignore-empty-gpu-lists
...
nvhost_gpu: Skip empty GPU command lists.
2018-12-15 00:35:33 -05:00
bunnei
040d84d816
nvhost_gpu: Skip empty GPU command lists.
2018-12-15 00:33:22 -05:00
bunnei
d1603a0abb
Merge pull request #1901 from jschmer/ServiceLeak
...
Fix Service object leak on emulation stop
2018-12-15 00:30:10 -05:00
bunnei
2f2fc47af2
Merge pull request #1732 from DarkLordZach/yield-types
...
svc: Implement yield types 0 and -1
2018-12-15 00:28:12 -05:00
bunnei
b88430c299
Merge pull request #1902 from lioncash/audio
...
audio_core: Make g_sink_details internally linked
2018-12-14 21:48:17 -05:00
bunnei
1a23970d17
Merge pull request #1899 from lioncash/state
...
vm_manager/svc: Modify MemoryState enum, and correct error handling for svcQueryMemory
2018-12-14 15:30:02 -05:00
bunnei
7d39b19edc
Merge pull request #1871 from lioncash/move
...
yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
2018-12-14 13:13:32 -05:00
bunnei
1006df7fc1
Merge pull request #1900 from lioncash/wrapper
...
svc_wrap: Correct register index for a wrapper specialization
2018-12-14 13:12:55 -05:00
Lioncash
6beb823f15
audio_core: Make g_sink_details internally linked
...
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.
Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.
Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
2018-12-13 16:44:32 -05:00
Jens Schmer
27a9cc2e63
Fix Service object leak on emulation stop
...
Services created with the ServiceFramework base class install themselves as HleHandlers with an owning shared_ptr in the ServerPort ServiceFrameworkBase::port member variable, creating a cyclic ownership between ServiceFrameworkBase and the ServerPort, preventing deletion of the service objects.
Fix that by removing the ServiceFrameworkBase::port member because that was only used to detect multiple attempts at installing a port. Instead store a flag if the port was already installed to achieve the same functionality.
2018-12-13 20:08:23 +01:00
Lioncash
b79f086613
svc: Enable svcQueryProcessMemory
...
svcQueryProcessMemory is trivial to implement, given all the behavior
necessary for it is present, it just needs a handler for it.
2018-12-12 15:45:05 -05:00
Lioncash
09a219d5b4
svc: Write out the complete MemoryInfo structure in QueryProcessMemory
...
In the previous change, the memory writing was moved into the service
function itself, however it still had a problem, in that the entire
MemoryInfo structure wasn't being written out, only the first 32 bytes
of it were being written out. We still need to write out the trailing
two reference count members and zero out the padding bits.
Not doing this can result in wrong behavior in userland code in the following
scenario:
MemoryInfo info; // Put on the stack, not quaranteed to be zeroed out.
svcQueryMemory(&info, ...);
if (info.device_refcount == ...) // Whoops, uninitialized read.
This can also cause the wrong thing to happen if the user code uses
std::memcmp to compare the struct, with another one (questionable, but
allowed), as the padding bits are not guaranteed to be a deterministic
value. Note that the kernel itself also fully zeroes out the structure
before writing it out including the padding bits.
2018-12-12 15:44:58 -05:00
Lioncash
d8deb39b83
svc: Handle memory writing explicitly within QueryProcessMemory
...
Moves the memory writes directly into QueryProcessMemory instead of
letting the wrapper function do it. It would be inaccurate to allow the
handler to do it because there's cases where memory shouldn't even be
written to. For example, if the given process handle is invalid.
HOWEVER, if the memory writing is within the wrapper, then we have no
control over if these memory writes occur, meaning in an error case, 68
bytes of memory randomly get trashed with zeroes, 64 of those being
written to wherever the memory info address points to, and the remaining
4 being written wherever the page info address points to.
One solution in this case would be to just conditionally check within
the handler itself, but this is kind of smelly, given the handler
shouldn't be performing conditional behavior itself, it's a behavior of
the managed function. In other words, if you remove the handler from the
equation entirely, does the function still retain its proper behavior?
In this case, no.
Now, we don't potentially trash memory from this function if an invalid
query is performed.
2018-12-12 15:43:31 -05:00
Lioncash
b1b855c5d9
vm_manager: Correct ordering of last two struct members of MemoryInfo
...
These should be swapped.
2018-12-12 15:43:31 -05:00
Lioncash
22230a2eca
svc_wrap: Correct register index for a wrapper specialization
...
This would result in svcSetMemoryAttribute getting the wrong value for
its third parameter. This is currently fine, given the service function
is stubbed, however this will be unstubbed in a future change, so this
needs to change.
2018-12-12 15:14:28 -05:00
Lioncash
eb5f3f67f6
vm_manager: Amend the returned values for invalid memory queries in QueryMemory()
...
The kernel returns a memory info instance with the base address set to
the end of the address space, and the size of said block as
0 - address_space_end, it doesn't set both of said members to zero.
2018-12-12 15:08:06 -05:00
Lioncash
a8cc03502b
vm_manager: Migrate memory querying to the VMManager interface
...
Gets rid of the need to directly access the managed VMAs outside of the
memory manager itself just for querying memory.
2018-12-12 15:07:30 -05:00
Lioncash
c02b8c895b
vm_manager: Migrate MemoryInfo and PageInfo to vm_manager.h
...
Gets the two structures out of an unrelated header and places them with
the rest of the memory management code.
This also corrects the structures. PageInfo appears to only contain a
32-bit flags member, and the extra padding word in MemoryInfo isn't
necessary.
2018-12-12 14:03:53 -05:00
Lioncash
366985ca92
vm_manager: Amend MemoryState enum members
...
Amends the MemoryState enum to use the same values like the actual
kernel does. Also provides the necessary operators to operate on them.
This will be necessary in the future for implementing
svcSetMemoryAttribute, as memory block state is checked before applying
the attribute.
2018-12-12 14:03:50 -05:00
Jens Schmer
ae390ad5a2
Fix Process object leak on emulation stop
...
The Process object kept itself alive indefinitely because its handle_table
contains a SharedMemory object which owns a reference to the same Process object,
creating a circular ownership scenario.
Break that up by storing only a non-owning pointer in the SharedMemory object.
2018-12-12 17:25:56 +01:00
Mat M
9bae3ac33a
Merge pull request #1891 from DarkLordZach/istorage-getsize
...
fsp_srv: Implement IStorage::GetSize
2018-12-12 07:31:33 -05:00
bunnei
e1f28afb98
Merge pull request #1893 from lioncash/warn
...
gl_shader_cache: Resolve truncation compiler warning
2018-12-11 20:47:10 -05:00
bunnei
785d6f9ce0
Merge pull request #1895 from lioncash/uninit
...
patch_manager: Prevent use of a dangling pointer within PatchRomFS
2018-12-11 20:27:37 -05:00
bunnei
2c6679bb01
Merge pull request #1877 from heapo/audio_interp
...
Perf: Avoid (expensive) audio interpolation when sample rates already match
2018-12-11 11:45:53 -05:00
bunnei
d63c883e66
Merge pull request #1888 from marcosvitali/glFrontFacing
...
gl_shader_decompiler: IPA fix FrontFacing.
2018-12-11 11:43:38 -05:00
Lioncash
5c72aa7c4c
patch_manager: Prevent use of a dangling pointer within PatchRomFS
...
fmt::format() returns a std::string instance by value, so calling
.c_str() on it here is equivalent to doing:
auto* ptr = std::string{}.c_str();
The data being pointed to isn't guaranteed to actually be valid anymore
after that expression ends. Instead, we can just take the string as is,
and provide the necessary formatting parameters.
2018-12-11 10:08:13 -05:00
Lioncash
4c2b94559b
gl_shader_cache: Dehardcode constant in CalculateProgramSize()
...
This constant is related to the size of the instruction.
2018-12-10 23:47:20 -05:00
Lioncash
861bfdbf5d
gl_shader_cache: Resolve truncation compiler warning
...
The previous code would cause a warning, as it was truncating size_t
(64-bit) to a u32 (32-bit) implicitly.
2018-12-10 23:44:18 -05:00
bunnei
3b1043c58a
Merge pull request #1846 from lioncash/dir
...
file_sys/directory: Amend path buffer size for directory entries
2018-12-10 21:54:03 -05:00
bunnei
2c45c6d234
Merge pull request #1819 from DarkLordZach/disable-addons
...
patch_manager: Add support for disabling patches
2018-12-10 21:52:19 -05:00
bunnei
9eb9b344c7
Merge pull request #1887 from FearlessTobi/port-4476
...
Port citra-emu/citra#4476 : "web_service: move telemetry condition from TelemetrySession constructor to destructor"
2018-12-10 21:47:22 -05:00
bunnei
1aa9106244
Merge pull request #1883 from lioncash/log-fsp
...
service/fsp_srv: Correct returned value in GetGlobalAccessLogMode()
2018-12-10 21:45:29 -05:00
bunnei
01ab4aab91
Merge pull request #1885 from lioncash/data_id
...
file_sys/save_data_factory: Update SaveDataSpaceId enum
2018-12-10 21:44:50 -05:00
Zach Hilman
5e632caca5
fsp_srv: Implement IStorage::GetSize
...
Takes no input and returns the size as a u64. Needed by Katamari Damacy Reroll to boot.
2018-12-10 14:14:36 -05:00
bunnei
5b5d0199fe
Merge pull request #1740 from FernandoS27/shader_props
...
Implemented Shader Unique Identifiers
2018-12-10 12:43:43 -05:00
Hexagon12
315f3342f7
Merge pull request #1872 from lioncash/proc-info
...
kernel/process: Set ideal core from metadata
2018-12-10 18:44:14 +02:00
Hexagon12
ee9e433517
Merge pull request #1880 from DarkLordZach/cache-storage
...
savedata_factory: Add CacheStorage and delete TemporaryStorage on boot
2018-12-10 18:41:46 +02:00
bunnei
74242a8fb4
Merge pull request #1876 from lioncash/vma
...
vm_manager: Make vma_map private
2018-12-10 10:09:50 -05:00
bunnei
be657036be
Merge pull request #1862 from marcosvitali/tlds
...
gl_shader_decompiler: TLDS/TLD4/TLD4S Reworked reflecting the source registers, bugs fixed and modularize.
2018-12-10 10:08:20 -05:00
Marcos Vitali
430e1f864b
gl_shader_decompiler: IPA FrontFacing: the right value when is the front face is 0xFFFFFFFF.
2018-12-09 23:36:21 -03:00
Lioncash
f3a555a484
service/fsp_srv: Correct returned value in GetGlobalAccessLogMode()
...
Based off RE, the backing code only ever seems to use 0-2 as the range
of values 1 being a generic log enable, with 2 indicating logging should
go to the SD card. These are used as a set of flags internally.
Given we only care about receiving the log in general, we can just
always signify that we want logging in general.
2018-12-09 20:42:35 -05:00
Zach Hilman
0d2ba2ca4c
applets: Correct usage of SignalStateChanged event
...
This was causing some games (most notably Pokemon Quest) to softlock due to an event being fired when not supposed to. This also removes a hack wherein we were firing the state changed event when the game retrieves it, which is incorrect.
2018-12-09 19:46:15 -05:00
Fernando Sahmkow
d5d77848e6
Implemented a shader unique identifier.
2018-12-09 17:33:33 -04:00
FernandoS27
7b9c982d29
Add more info into textures' object labels
2018-12-09 17:22:29 -04:00
fearlessTobi
ca4e20b4e0
web_service: move telemetry condition from TelemetrySession constructor to destructor
...
Fixes an issue where Testcases couldn't be sent when Telemetry was disabled, because both things are tied closely together in the backend.
2018-12-08 14:34:37 +01:00
bunnei
3bddd5351e
Merge pull request #1864 from lioncash/nrr
...
service/ldr: Amend layouts of NRO and NRR headers
2018-12-07 22:26:31 -05:00
Lioncash
a4eaa6782f
file_sys/save_data_factory: Update SaveDataSpaceId enum
...
Amends it with missing values deduced from RE (ProperSystem being from
SwitchBrew for naming)
(SdCardUser wasn't that difficult to discern given it's used alongside
SdCardSystem when creating the save data indexer, based off the usage of
the string "saveDataIxrDbSd" nearby).
2018-12-07 18:52:18 -05:00
bunnei
b9e80e97b7
Merge pull request #1874 from lioncash/bindings
...
hle/service, hle/sm: Minor cleanup
2018-12-07 18:31:04 -05:00
bunnei
713fc67b51
Merge pull request #1882 from FearlessTobi/backport-4418-fix
...
Backport review comment from citra-emu/citra#4418
2018-12-07 18:16:10 -05:00
bunnei
f85134021f
Merge pull request #1873 from lioncash/const
...
loaders: Make GetFileType() a const qualified member function
2018-12-07 18:15:30 -05:00
Marcos Vitali
f4fa7ecb0e
gl_shader_decompiler: TLDS/TLD4/TLD4S Reworked reflecting the source registers, bugs fixed and modularize.
2018-12-07 19:09:36 -03:00
Tobias
eb15711ee6
Backport review comment from citra-emu/citra#4418
...
Original reason:
As Windows multi-byte character codec is unspecified while we always assume std::string uses UTF-8 in our code base, this can output gibberish when the string contains non-ASCII characters. ::OutputDebugStringW combined with Common::UTF8ToUTF16W is preferred here.
2018-12-07 16:21:18 +01:00
Zach Hilman
fcfbae88e9
savedata_factory: Add support for CacheStorage
2018-12-07 08:47:32 -05:00
Zach Hilman
5721b8b5ad
savedata_factory: Delete TemporaryStorage on startup
...
Mimics hardware behavior.
2018-12-06 22:07:34 -05:00
bunnei
f761e3ef86
Merge pull request #1868 from lioncash/config
...
configuration/config: Use an intermediary variable for accessing players
2018-12-06 15:24:28 -05:00
bunnei
30b5d8b0ae
Merge pull request #1875 from DarkLordZach/oss-ngword2
...
system_archive: Implement open source NgWord2
2018-12-06 15:23:58 -05:00
Lioncash
15e3d4f357
memory: Convert ASSERT into a DEBUG_ASSERT within GetPointerFromVMA()
...
Given memory should always be expected to be valid during normal
execution, this should be a debug assertion, rather than a check in
regular builds.
2018-12-06 15:02:34 -05:00
Lioncash
d4c1b9d311
vm_manager: Make vma_map private
...
This was only ever public so that code could check whether or not a
handle was valid or not. Instead of exposing the object directly and
allowing external code to potentially mess with the map contents, we
just provide a member function that allows checking whether or not a
handle is valid.
This makes all member variables of the VMManager class private except
for the page table.
2018-12-06 15:02:17 -05:00
bunnei
8de6403a08
Merge pull request #1861 from lioncash/reset
...
kernel/svc: Correct behavior of svcResetSignal()
2018-12-06 13:42:46 -05:00
heapo
117b1f3ec1
Avoid (expensive) audio interpolation when sample rates already match
2018-12-06 09:46:08 -08:00
bunnei
9390452195
Merge pull request #1824 from ReinUsesLisp/fbcache
...
gl_rasterizer: Implement a framebuffer cache
2018-12-06 11:56:59 -05:00
bunnei
7fbd484f0e
Merge pull request #1863 from ReinUsesLisp/texs-f16
...
gl_shader_decompiler: Implement TEXS.F16
2018-12-06 11:56:05 -05:00
Zach Hilman
8be475d4dc
system_archive: Implement open source NgWord2
2018-12-06 10:17:50 -05:00
Lioncash
24f051d723
hle/service: Replace log + UNIMPLEMENTED with UNIMPLEMENTED_MSG
...
Combines the two into one, shortening the amount of code here.
2018-12-06 01:40:23 -05:00
Lioncash
9f56477539
hle/service: Remove unnecessary using declarations
...
Only one usage of the specified objects made use of the lack of
namespacing. Given the low usage, we can just remove these.
2018-12-06 01:37:41 -05:00
Lioncash
d8625f5544
hle/service, hle/sm: Compress usages of MakeResult()
...
These auto-deduce the result based off its arguments, so there's no need
to do that work for the compiler, plus, the function return value itself
already indicates what we're returning.
2018-12-06 01:33:22 -05:00
Lioncash
a8269fdae3
hle/service, hle/sm: Use structured bindings where applicable
...
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-06 01:31:26 -05:00
bunnei
4c106b43a9
Merge pull request #1867 from lioncash/alloc
...
system_archive: Use a regular function pointer instead of std::function for the file-scope system archive array
2018-12-05 22:37:14 -05:00
bunnei
cca4665a69
Merge pull request #1866 from lioncash/cache
...
service/ldr: Deduplicate instruction cache clearing code in LoadNro()
2018-12-05 22:36:44 -05:00
Lioncash
17b4355391
yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
...
Just a trivial modernization that potentially avoids copying strings in certain scenarios.
2018-12-05 18:34:03 -05:00
Lioncash
01bf329f63
yuzu/game_list_worker: Don't retrieve the file type twice in AddFstEntriesToGameList()
...
Similarly, here we can avoid doing unnecessary work twice by retrieving
the file type only once and comparing it against relevant operands,
avoiding potential unnecessary object construction/destruction.
2018-12-05 17:58:15 -05:00
Lioncash
de095ded5c
yuzu/game_list_worker: Don't retrieve file type and file type strings twice in MakeGameListEntry()
...
While GetFileType() is indeed a getter function, that doesn't mean it's
a trivial function, given some case require reading from the data or
constructing other objects in the background. Instead, only do necessary
work once.
2018-12-05 17:49:37 -05:00
Lioncash
de323851b4
loaders: Make GetFileType() a const qualified member function
...
No implementations actually modify instance state (and it would be
questionable to do that in the first place given the name), so we can
make this a const member function.
2018-12-05 17:49:34 -05:00
heapo
ca8ab1bc3b
Call shrink_to_fit after page-table vector resizing to cause crt to actually lower vector capacity. For 36-bit titles saves 800MB of commit.
2018-12-05 14:40:56 -08:00
Lioncash
547eecf119
kernel/process: Set ideal core from metadata
...
A very trivial change. If metadata is available, the process should use
it to retrieve the desired core for the process to run on.
2018-12-05 16:59:37 -05:00
Zach Hilman
c07059e7fd
configure_input_simple: Properly signal docked mode change
2018-12-05 14:05:57 -05:00
Zach Hilman
233a804196
configure_input: Add ConfigureInputSimple as default input UI config
...
Greatly simplifies the current input UI, while still allowing power users to tweak advanced settings. Adds 'input profiles', which are easy autoconfigurations to make getting started easy and fast. Also has a custom option which brings up the current, full UI.
2018-12-05 14:02:02 -05:00
Zach Hilman
59ca8d458d
configure_input: Convert into QDialog
2018-12-05 14:02:02 -05:00
Zach Hilman
20dffc22a2
configure: Use ConfigureInputSimple for Input tab
2018-12-05 14:02:02 -05:00
Zach Hilman
281b64daf4
ui_settings: Add UI setting for input profile index
2018-12-05 14:02:02 -05:00
Lioncash
e90fa1ac54
configuration/config: Use an intermediary variable for accessing players
...
Avoids typing the same long accessor just to retrieve player attributes.
2018-12-05 03:41:33 -05:00
Lioncash
2207baaa04
ng_word: Deduplicate use of a constant value
...
We've already given the constant to the vector itself, so we don't need
to re-hardcode it in the array.
2018-12-05 02:36:45 -05:00
Lioncash
edd9bfd54a
system_archive: Use a regular function pointer instead of std::function for file-scope system archive array
...
This allows the array to be constexpr. std::function is also allowed to
allocate memory, which makes its constructor non-trivial, we definitely
don't want to have all of these execute at runtime, taking up time
before the application can actually load.
2018-12-05 02:33:17 -05:00
Lioncash
7c9b194d63
service/ldr: Deduplicate instruction cache clearing code in LoadNro()
...
We don't need to specify all of the ARM interfaces explicitly.
2018-12-05 00:33:47 -05:00
Lioncash
05a6f1f676
service/ldr: Amend layout of the NRO header
...
The first word is just a padding byte, it's not an actual entry
instruction. Also renames the rest of the entries according to
SwitchBrew.
2018-12-05 00:16:49 -05:00
ReinUsesLisp
59a8df1b14
gl_shader_decompiler: Implement TEXS.F16
2018-12-05 02:06:34 -03:00
Lioncash
817fb18e30
service/ldr: Corrent padding within the NRR header layout
...
The padding after the magic signature value should be 12 bytes rather
than 28 bytes. The other 16 should be placed after the title ID pattern.
2018-12-05 00:05:04 -05:00
ReinUsesLisp
370980fdc3
gl_shader_decompiler: Fixup inverted if
2018-12-05 01:23:04 -03:00
Zach Hilman
e6f7825a24
svc: Avoid incorrect fast yield condition
2018-12-04 22:11:32 -05:00
bunnei
db3200b515
Merge pull request #1859 from heapo/lut_array_codegen
...
Convert high-frequency LUT arrays from constexpr to static constexpr
2018-12-04 22:07:12 -05:00
Lioncash
2f253986df
kernel/svc: Correct behavior of svcResetSignal()
...
While partially correct, this service call allows the retrieved event to
be null, as it also uses the same handle to check if it was referring to
a Process instance. The previous two changes put the necessary machinery
in place to allow for this, so we can simply call those member functions
here and be done with it.
2018-12-04 20:14:59 -05:00
Lioncash
c7462ce712
kernel/process: Make Process a WaitObject
...
Process instances can be waited upon for state changes. This is also
utilized by svcResetSignal, which will be modified in an upcoming
change. This simply puts all of the WaitObject related machinery in
place.
2018-12-04 20:14:59 -05:00
Lioncash
a3aa7aaf0b
kernel/readable_event: Add member function for enforcing a strict reset contract
...
svcResetSignal relies on the event instance to have already been
signaled before attempting to reset it. If this isn't the case, then an
error code has to be returned.
2018-12-04 20:14:55 -05:00
heapo
7853e6b5d4
Improve msvc codegen for hot-path array LUTs
...
In some constexpr functions, msvc is building the LUT at runtime
(pushing each element onto the stack) out of an abundance of caution. Moving the
arrays into be file-scoped constexpr's avoids this and turns the functions into
simple look-ups as intended.
2018-12-04 17:13:07 -08:00
bunnei
d08d4a366b
Merge pull request #1704 from DarkLordZach/oss-sysarchive
...
file_sys: Implement open source system archives
2018-12-04 19:59:52 -05:00
bunnei
af286294f9
Merge pull request #1837 from lioncash/map
...
yuzu/game_list_worker: Minor cleanup and code deduplication
2018-12-04 19:57:41 -05:00
Lioncash
a49fd7fd57
yuzu/game_list_worker: Move std::string construction after the termination check in callbacks
...
Avoids potentially allocating a std::string instance when it isn't
needed.
2018-12-04 18:39:35 -05:00
bunnei
e5dd4cb392
Merge pull request #1838 from lioncash/dedup
...
file_sys/registered_cache: Eliminate variable shadowing
2018-12-04 18:34:49 -05:00
bunnei
173073c722
Merge pull request #1836 from lioncash/unused
...
crypto/key_manager: Remove unused variable in GetTicketblob()
2018-12-04 18:28:15 -05:00
Lioncash
8ea1f28614
kernel/svc: Remove unused header inclusion
2018-12-04 15:48:20 -05:00
Lioncash
a543c35962
kernel/svc: Implement svcSignalEvent()
...
This function simply does a handle table lookup for a writable event
instance identified by the given handle value. If a writable event
cannot be found for the given handle, then an invalid handle error is
returned. If a writable event is found, then it simply signals the
event, as one would expect.
2018-12-04 15:47:59 -05:00
Lioncash
2a1f59b301
kernel/svc: Implement svcCreateEvent()
...
svcCreateEvent operates by creating both a readable and writable event
and then attempts to add both to the current process' handle table.
If adding either of the events to the handle table fails, then the
relevant error from the handle table is returned.
If adding the readable event after the writable event to the table
fails, then the writable event is removed from the handle table and the
relevant error from the handle table is returned.
Note that since we do not currently test resource limits, we don't check
the resource limit table yet.
2018-12-04 15:47:55 -05:00
Zach Hilman
f6f6503578
qt: Add Properties menu to game list right-click
2018-12-04 13:34:50 -05:00
bunnei
465f486160
Merge pull request #1845 from lioncash/nro
...
loader/{nro, nso}: Remove dependency on the System class
2018-12-04 12:26:12 -05:00
bunnei
d533767623
Merge pull request #1853 from lioncash/event
...
kernel/object: Amend handle types to distinguish between readable and writable events
2018-12-04 12:25:40 -05:00
Marcos
ab2108fb2a
Rewrited TEX/TEXS (TEX Scalar). ( #1826 )
...
* Rewrited TEX/TEXS (TEX Scalar).
* Style fixes.
* Styles issues.
2018-12-04 12:24:35 -05:00
bunnei
da5659fb87
Merge pull request #1857 from lioncash/res-info
...
kernel/svc: Implement the resource limit svcGetInfo option
2018-12-04 12:23:19 -05:00
bunnei
7f6bc284e9
Merge pull request #1854 from Subv/old_command_processor
...
Don't try to route PFIFO methods (0-0x40) to the other engines.
2018-12-04 08:49:22 -05:00
Luke Street
a3d78b77f8
debugger: Set paused thread color
2018-12-04 02:25:34 -05:00
Lioncash
5eb057f422
kernel/object: Amend handle types to distinguish between readable and writable events
...
Two kernel object should absolutely never have the same handle ID type.
This can cause incorrect behavior when it comes to retrieving object
types from the handle table. In this case it allows converting a
WritableEvent into a ReadableEvent and vice-versa, which is undefined
behavior, since the object types are not the same.
This also corrects ClearEvent() to check both kernel types like the
kernel itself does.
2018-12-04 02:20:47 -05:00
Lioncash
ac966e4213
kernel/handle_table: Amend reference to CTR-OS in Create()
...
Another hold-over from Citra.
2018-12-04 01:50:44 -05:00
Lioncash
312690b450
kernel/svc: Implement the resource limit svcGetInfo option
...
Allows a process to register the resource limit as part of its handle
table.
2018-12-04 01:50:30 -05:00
Luke Street
3e75175d02
svc: Implement SetThreadActivity (thread suspension)
2018-12-04 01:23:50 -05:00
Subv
c4c19fa6c1
Removed unused file.
...
This is a leftover from #1792
2018-12-03 23:52:38 -05:00
Subv
b873253da1
GPU: Don't try to route PFIFO methods (0-0x40) to the other engines.
2018-12-03 23:52:18 -05:00
V.Kalyuzhny
b330b495dc
[Kernel::CreateThread] Match format specifiers to LOG_TRACE's arguments
2018-12-04 05:13:50 +02:00
Zach Hilman
ddf5903cd9
scheduler: Avoid manual Reschedule call
...
This will automatically occur anyway when PrepareReschedule is called
2018-12-03 21:22:09 -05:00
bunnei
9f1ac96afa
Merge pull request #1840 from lioncash/info
...
svc: Reorganize svcGetInfo, handle more error cases for existing implemented info categories
2018-12-03 18:46:22 -05:00
Zach Hilman
b5af41a07b
scheduler: Only work steal higher priority threads from other cores
2018-12-03 17:29:30 -05:00
Zach Hilman
e11e65b3d6
applets: Correct event ResetTypes from OneShot to Sticky
...
Fixes bugs relating to signalling in software keyboard.
2018-12-03 17:27:40 -05:00
Zach Hilman
bf90f2402d
qt: Implement GUI dialog frontend for ProfileSelector
...
Presents profiles in a list, similar to switch.
2018-12-03 17:26:27 -05:00
Zach Hilman
60b59d554d
am: Use ProfileSelect applet
2018-12-03 17:26:27 -05:00
Zach Hilman
4fb59fdfe1
applets: Implement ProfileSelect applet
...
Allows the player to select an emulated profile.
2018-12-03 17:26:27 -05:00
Zach Hilman
6deccc7e6b
qt: Register to use Qt ProfileSelector instead of default
2018-12-03 17:26:27 -05:00
Zach Hilman
58fd0a1c50
core: Add getter/setter for ProfileSelector in System
2018-12-03 17:26:26 -05:00
Zach Hilman
d17f38494b
frontend: Add frontend applet for ProfileSelect
...
Responsible for selecting a profile and firing callback upon completion.
2018-12-03 17:26:26 -05:00
Zach Hilman
877b31b33e
software_keyboard: Signal state changed event upon construction
...
Previously, ILibraryAppletAccessor would signal upon creation of any applet, but this is incorrect. A flag inside of the applet code determines whether or not creation should signal state change and swkbd happens to be one of these applets.
2018-12-03 17:26:26 -05:00
Zach Hilman
60e27252a5
qt: Add UI to display game properties and disable add-ons
2018-12-03 17:21:25 -05:00
Zach Hilman
5f0217592b
loader: Add support for reading the name of game's developer
2018-12-03 17:21:25 -05:00
Zach Hilman
51483d83bb
aoc_u: Obey disabled add-ons list when listing DLC
2018-12-03 17:21:25 -05:00
Zach Hilman
0cea05cdf7
patch_manager: Obey disabled add-ons list when patching game
2018-12-03 17:21:25 -05:00
Zach Hilman
c7b41ade74
core: Make GetGameFileFromPath function externally accessible
2018-12-03 17:20:34 -05:00
Zach Hilman
c381f46428
config: Store and load disabled add-ons list
2018-12-03 17:20:34 -05:00
Zach Hilman
282b7e902c
settings: Store list of disabled add-ons per title ID
2018-12-03 17:20:34 -05:00
bunnei
76525013c0
Merge pull request #1842 from lioncash/slot
...
yuzu/configuration: Minor clean-up related changes
2018-12-03 17:12:01 -05:00
bunnei
f6b22d9251
Merge pull request #1835 from lioncash/cache-global
...
filesystem: De-globalize registered_cache_union
2018-12-03 17:11:26 -05:00
bunnei
8a12daac8c
Merge pull request #1822 from ReinUsesLisp/glsl-scope
...
gl_shader_decompiler: Introduce a scoped object and style changes
2018-12-03 17:10:02 -05:00
bunnei
ef69b4b830
Merge pull request #1803 from DarkLordZach/k-able-event
...
kernel: Divide Event into ReadableEvent and WritableEvent
2018-12-03 17:05:57 -05:00
bunnei
f7d5f72944
Merge pull request #1833 from lioncash/clean
...
service/fsp_srv: Implement CleanDirectoryRecursively
2018-12-03 17:04:05 -05:00
bunnei
118f402382
Merge pull request #1839 from lioncash/init
...
service/audio/audout_u: Amend constructor initialization list order
2018-12-03 17:03:00 -05:00
bunnei
a238cdb5ca
Merge pull request #1841 from ogniK5377/npad-mode-fix
...
Fixed crash with SetNpadMode
2018-12-03 17:02:40 -05:00
Frederic Laing
6d7514ccec
game_list: Remove a reference of a reference
2018-12-03 19:26:36 +01:00
David Marcec
5102c91256
Moved backtrace to ArmInterface
...
Added to both dynarmic and unicorn
2018-12-03 20:13:48 +11:00
David Marcec
7149332712
Print backtrace on svcBreak
...
When we get an svcBreak we get a backtrace now
2018-12-03 19:12:09 +11:00
Lioncash
7695febfa1
loader/nso: Remove dependency on the System class
...
Similar to the NRO changes, we can also pass the process explicitly as a
parameter from Load instead of indirecting through the System class.
2018-12-02 23:39:03 -05:00
Lioncash
fc32d6256a
loader/nro: Make the static LoadNro function internally linked
...
This simply acts as a forwarding function for the Load() function, so
this doesn't need to be directly exposed.
2018-12-02 23:38:58 -05:00
Lioncash
7e2467e695
file_sys/directory: Amend path buffer size for directory entries
...
The path buffer is actually 0x301 (769) characters in length, with the
extra character being intended for the null-terminator.
2018-12-02 23:15:58 -05:00
Lioncash
b110d2176c
loader/nro: Remove dependency on the System class
...
Load() is already given the process instance as a parameter, so instead
of coupling the class to the System class, we can just forward that
parameter to LoadNro()
2018-12-02 22:18:52 -05:00
Lioncash
6306e54f45
service/usb: Update function table
...
Updates the function table for IClientEpSession based off information
provided by SwitchBrew.
2018-12-02 15:49:40 -05:00
Lioncash
f933b3370e
service/erpt: Update function table
...
Updates the function table according to information provided by
SwitchBrew.
2018-12-02 15:46:44 -05:00
Lioncash
195cad9635
yuzu/configuration: Make slots private where applicable
...
These slots are only ever attached to event handling mechanisms within
the class itself, they're never used externally. Because of this, we can
make the functions private.
This also removes redundant usages of the private access specifier.
2018-12-02 14:18:36 -05:00
Lioncash
eabfb7730d
yuzu/configuration: Add missing override specifiers to configuration-related classes
...
Resolves trivial compiler warnings.
2018-12-02 14:18:36 -05:00
Lioncash
f3253d0f14
yuzu/configuration/configure_input: Default destructor in the cpp file
...
The previous code could potentially be a compilation issue waiting to
occur, given we forward declare the type for a std::unique_ptr. If the
complete definition of the forward declared type isn't visible in a
translation unit that the class is used in, then it would fail to
compile.
Defaulting the destructor in a cpp file ensures the std::unique_ptr's
destructor is only invoked where its complete type is known.
2018-12-02 14:18:26 -05:00
David Marcec
a9223c8182
Fixed crash with SetNpadMode
...
fixed crash due to handheld
2018-12-03 02:45:08 +11:00
Lioncash
7fe27de26e
svc: Use the current process' handle table for retrieving the process instance to act upon
...
The kernel uses the handle table of the current process to retrieve the
process that should be used to retrieve certain information. To someone
not familiar with the kernel, this might raise the question of "Ok,
sounds nice, but doesn't this make it impossible to retrieve information
about the current process?".
No, it doesn't, because HandleTable instances in the kernel have the
notion of a "pseudo-handle", where certain values allow the kernel to
lookup objects outside of a given handle table. Currently, there's only
a pseudo-handle for the current process (0xFFFF8001) and a pseudo-handle
for the current thread (0xFFFF8000), so to retrieve the current process,
one would just pass 0xFFFF8001 into svcGetInfo.
The lookup itself in the handle table would be something like:
template <typename T>
T* Lookup(Handle handle) {
if (handle == PSEUDO_HANDLE_CURRENT_PROCESS) {
return CurrentProcess();
}
if (handle == PSUEDO_HANDLE_CURRENT_THREAD) {
return CurrentThread();
}
return static_cast<T*>(&objects[handle]);
}
which, as is shown, allows accessing the current process or current
thread, even if those two objects aren't actually within the HandleTable
instance.
2018-12-02 03:41:49 -05:00
Lioncash
6712e7402c
svc: Reorganize svcGetInfo, handle more error cases for existing implemented info categories
...
Our implementation of svcGetInfo was slightly incorrect in that we
weren't doing proper error checking everywhere. Instead, reorganize it
to be similar to how the kernel seems to do it.
2018-12-02 03:40:10 -05:00
Zach Hilman
3476830b26
svc: Avoid performance-degrading unnecessary reschedule
2018-12-02 00:44:40 -05:00
Lioncash
57ac068a23
service/audio/audout_u: Amend constructor initialization list order
...
Orders the constructor initializer list the same way the members of the
class are declared. Prevents -Wreorder warnings
2018-12-01 23:56:20 -05:00
bunnei
7ce17b2cf6
Merge pull request #1827 from ReinUsesLisp/clip-and-shader
...
gl_rasterizer: Enable clip distances when set in register and in shader
2018-12-01 23:51:47 -05:00
Lioncash
efbcff0af0
file_sys/registered_cache: Eliminate variable shadowing
...
Also inverts if statements where applicable to allow unindenting code a
little bit.
2018-12-01 23:50:13 -05:00
bunnei
80aa124b1d
Merge pull request #1825 from ReinUsesLisp/shader-pipeline-cache
...
gl_shader_manager: Update pipeline when programs have changed
2018-12-01 23:48:55 -05:00
bunnei
a6805e58ce
Merge pull request #1795 from ReinUsesLisp/vc-cleanup
...
video_core: Minor style changes
2018-12-01 23:46:18 -05:00
bunnei
0e9be7be37
Merge pull request #1823 from bunnei/fix-surface-copy
...
gl_rasterizer_cache: Fix several surface copy issues.
2018-12-01 23:44:32 -05:00
Lioncash
db4523f1ec
filesystem: De-globalize registered_cache_union
...
We can just return a new instance of this when it's requested. This only
ever holds pointers to the existing registed caches, so it's not a large
object. Plus, this also gets rid of the need to keep around a separate
member function just to properly clear out the union.
Gets rid of one of five globals in the filesystem code.
2018-12-01 23:43:23 -05:00
Lioncash
8c108eaca7
yuzu/game_list_worker: Deduplicate game list entry creation
...
Avoids duplicating the same code twice verbatim.
2018-12-01 23:23:39 -05:00
Lioncash
f1ecfcb8bc
yuzu/game_list_worker: Tidy up string handling in FillControlMap()
...
We don't need to call out to our own file handling functions when we're
going to construct a QFileInfo instance right after it. We also don't
need to convert to a std::string again just to compare the file
extension.
2018-12-01 22:49:00 -05:00
Lioncash
a8aca4306d
crypto/key_manager: Remove unused variable in GetTicketblob()
2018-12-01 22:37:51 -05:00
bunnei
c5e781e72a
Merge pull request #1832 from Simek/remove-game-list-border
...
UI: Remove border from Game List
2018-12-01 22:26:34 -05:00
bunnei
97e73591e3
Merge pull request #1830 from Subv/vi_ub
...
Services/VI: Dereferencing an uninitialized std::optional is undefined behavior.
2018-12-01 22:25:10 -05:00
Lioncash
e88cdcc912
Fix debug build
...
A non-existent parameter was left in some formatting calls (the logging
macro for which only does anything meaningful on debug builds)
2018-12-01 02:11:42 -05:00
Lioncash
0ccaaafca3
file_sys: Override missing mutating functions to be stubbed out for ReadOnlyVfsDirectory by default
...
Ensures that read only indeed means read only.
2018-11-30 23:52:56 -05:00
Lioncash
a7d9fe993a
service/fsp_srv: Implement CleanDirectoryRecursively
...
This is the same behavior-wise as DeleteDirectoryRecursively, with the
only difference being that it doesn't delete the top level directory in
the hierarchy, so given:
root_dir/
- some_dir/
- File.txt
- OtherFile.txt
The end result is just:
root_dir/
2018-11-30 20:17:28 -05:00
Bartosz Kaszubowski
5f07ca3dce
remove border from GameList
2018-11-30 23:35:08 +01:00
Subv
583bd20f02
Services/VI: Dereferencing an uninitialized std::optional is undefined behavior.
...
Assert that it is not empty before using it in the DequeueBuffer wait callback.
2018-11-30 16:06:49 -05:00
Lioncash
308bbba8b9
service/set: Convert GetLanguageCode over to using PushEnum()
...
This code was around prior to the introduction of PushEnum, so convert
it over so we don't need to cast here.
2018-11-30 09:08:07 -05:00
Lioncash
7c04fe22b4
service/set: Implement MakeLanguageCode
...
This function simply converts a given index into a language code.
2018-11-30 09:08:03 -05:00
Lioncash
4b950728fd
configure_input: Amend clang-format discrepancies
2018-11-30 03:31:56 -05:00
bunnei
0f43564d09
gl_rasterizer_cache: Update AccurateCopySurface to flush complete source surface.
...
- Fixes issues with Breath of the Wild with use_accurate_gpu_emulation setting.
2018-11-29 20:10:11 -05:00
ReinUsesLisp
2908d30274
gl_rasterizer: Enable clip distances when set in register and in shader
2018-11-29 16:58:20 -03:00
ReinUsesLisp
1a2bb596db
gl_rasterizer: Implement a framebuffer cache
2018-11-29 16:34:46 -03:00
ReinUsesLisp
e8620eaa9a
gl_shader_manager: Update pipeline when programs have changed
2018-11-29 16:26:42 -03:00
Zach Hilman
170d707850
hle_ipc: Refactor SleepClientThread to avoid ReadableEvent
2018-11-29 09:14:20 -05:00
Zach Hilman
a342bcc9b1
kernel/event: Reference ReadableEvent from WritableEvent
2018-11-29 08:48:40 -05:00
Zach Hilman
ff610103b5
core: Port all current usages of Event to Readable/WritableEvent
2018-11-29 08:45:41 -05:00
Zach Hilman
a56fc84e7a
hle_ipc: Use event pair for SleepClientThread
2018-11-29 08:42:26 -05:00
Zach Hilman
c61d2a2841
kernel: Add named event table
...
Used to store ReadableEvents of all events on the system.
2018-11-29 08:42:26 -05:00
Zach Hilman
c713383816
kernel: Divide Event into ReadableEvent and WritableEvent
...
More hardware accurate. On the actual system, there is a differentiation between the signaler and signalee, they form a client/server relationship much like ServerPort and ClientPort.
2018-11-29 08:42:26 -05:00
Zach Hilman
d92989e787
kernel/object: Add descriptions to ResetTypes
2018-11-29 08:42:26 -05:00
bunnei
7befe0134d
Merge pull request #1768 from greggameplayer/patch-2
...
Uncheck automatically joycons docked when docked mode is enable
2018-11-29 01:00:09 -05:00
bunnei
1e49a85106
Merge pull request #1801 from ogniK5377/log-before-execute
...
Changed logging to be "Log before execution", Added more error logging, all services/svc should now log on some level
2018-11-29 00:58:46 -05:00
bunnei
3d3cc35ee7
gl_rasterizer_cache: Remove BlitSurface and replace with more accurate copy.
...
- BlitSurface with different texture targets is inherently broken.
- When target is the same, we can just use FastCopySurface.
- Fixes rendering issues with Breath of the Wild.
2018-11-28 21:56:21 -05:00
ReinUsesLisp
eb700afcf0
gl_shader_decompiler: Remove texture temporal in TLD4
2018-11-28 23:46:16 -03:00
ReinUsesLisp
8d58e5da71
gl_shader_decompiler: Flip negated if else statement
2018-11-28 23:46:16 -03:00
ReinUsesLisp
f4abebd731
gl_shader_decompiler: Use GLSL scope on instructions unrelated to textures
2018-11-28 23:46:14 -03:00
ReinUsesLisp
78fc8f6b66
gl_shader_decompiler: Move texture code generation into lambdas
2018-11-28 23:45:53 -03:00
ReinUsesLisp
ab13b628d0
gl_shader_decompiler: Clean up texture instructions
2018-11-28 23:45:53 -03:00
ReinUsesLisp
6a642022dd
gl_shader_decompiler: Scope GLSL variables with a scoped object
2018-11-28 23:45:51 -03:00
ReinUsesLisp
037449668e
gl_rasterizer: Signal UNIMPLEMENTED when rt_separate_frag_data is not zero
2018-11-28 21:26:22 -03:00
ReinUsesLisp
653d7a3f0d
gl_rasterizer_cache: Use brackets for two-line single-expresion blocks
2018-11-28 21:18:14 -03:00
ReinUsesLisp
432a9872ed
gl_rasterizer: Remove unused struct declarations
2018-11-28 21:18:13 -03:00
ReinUsesLisp
22c7c710b4
gl_rasterizer: Remove extension booleans
2018-11-28 21:18:13 -03:00
bunnei
5a9a84994a
Merge pull request #1808 from Tinob/master
...
Fix clip distance and viewport
2018-11-28 17:47:28 -05:00
bunnei
3fe8ab0d99
Merge pull request #1786 from Tinob/DepthClamp
...
Add Depth Clamp Support
2018-11-28 17:46:55 -05:00
bunnei
c5ab648554
Merge pull request #1817 from DarkLordZach/npad-idx-fix
...
npad: Use NPadIdToIndex to prevent invalid array access
2018-11-28 17:46:17 -05:00
bunnei
6f849887c9
Merge pull request #1792 from bunnei/dma-pusher
...
gpu: Rewrite GPU command list processing with DmaPusher class.
2018-11-28 10:12:37 -05:00
Zach Hilman
299224790c
npad: Use NPadIdToIndex to prevent invalid array access
2018-11-28 09:01:58 -05:00
bunnei
881f5ad70f
Merge pull request #1735 from FernandoS27/tex-spacing
...
Texture decoder: Implemented Tile Width Spacing
2018-11-27 19:21:17 -05:00
bunnei
adb882bf90
Merge pull request #1814 from lioncash/ptr
...
file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry()
2018-11-27 19:20:12 -05:00
bunnei
ac74b71d75
dma_pushbuffer: Optimize to avoid loop and copy on Push.
2018-11-27 19:17:33 -05:00
bunnei
c568f5cea7
gpu: Move command list profiling to DmaPusher::DispatchCalls.
2018-11-27 18:42:21 -05:00
bunnei
e89a3b9e59
Merge pull request #1811 from lioncash/input
...
yuzu/input: Minor changes
2018-11-27 18:38:12 -05:00
Zach Hilman
6df74ff579
npad: Fix copy/paste error with LED position assignments
2018-11-27 17:23:44 -05:00
Lioncash
2a22c1b27e
yuzu/configure_input_player: Use std::size_t to represent the player index instead of u8
...
Prevents compiler warnings related to truncation when invoking the
dialog. It's also extremely suspect to use a u8 value here instead of a
more general type to begin with.
2018-11-27 16:37:21 -05:00
Lioncash
0782d3971b
yuzu/configure_input: Make CallConfigureDialog a non-member template function
...
This doesn't depend on any part of the private interface, so it can be
made a non-member internal function.
2018-11-27 16:37:18 -05:00
bunnei
3cc204aff8
Merge pull request #1802 from DarkLordZach/user-data-storage
...
profile_manager: Save and load ProfileData from disk
2018-11-27 16:36:23 -05:00
Lioncash
7b1aaaa069
file_sys/registered_cache: Remove unused <map> include
2018-11-27 16:33:18 -05:00
Lioncash
d72c809030
file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry()
...
These parameters don't need to utilize a shared lifecycle directly in
the interface. Instead, the caller should provide a regular reference
for the function to use. This also allows the type system to flag
attempts to pass nullptr and makes it more generic, since it can now be
used in contexts where a shared_ptr isn't being used (in other words, we
don't constrain the usage of the interface to a particular mode of
memory management).
2018-11-27 16:33:14 -05:00
bunnei
bf055e14ab
Merge pull request #1812 from lioncash/nacp
...
control_metadata: Correct typo in language name (Portugese -> Portuguese)
2018-11-27 16:29:53 -05:00
ReinUsesLisp
2e9b90abad
gl_shader_decompiler: Fixup clip distance index
2018-11-27 15:35:26 -03:00
Lioncash
d4e3d567ce
control_metadata: Correct typo in language name (Portugese -> Portuguese)
...
While we're at it, organize the array linearly, since clang formats the
array elements quite wide length-wise with the addition of the missing
'u'.
Technically also fixes patch lookup and icon lookup with Portuguese,
though I doubt anyone has actually run into this issue.
2018-11-27 13:21:46 -05:00
Lioncash
11cf13a6e1
yuzu/configure_input_player: Use a lambda expression instead of std::bind
...
std::bind is the pre-C++11 way of doing this.
2018-11-27 05:08:13 -05:00
Lioncash
73a48d6523
yuzu/configure_input_player: Amend constructor initializer list order
...
Orders the elements the way they would actually be initialized in.
Resolves compiler warnings with gcc and clang
2018-11-27 05:04:51 -05:00
Lioncash
53bff53791
yuzu/configure_input: Remove unused function MoveGridElement
2018-11-27 05:03:26 -05:00
Lioncash
d67e88e59c
yuzu/configure_input*: Move data members after function declarations
...
The common pattern is to put the data members after the function
interface where applicable.
2018-11-27 05:02:15 -05:00
Lioncash
ec7ea4ae96
yuzu/configure_input: Remove unnecessary includes
2018-11-27 05:00:56 -05:00
Markus Wick
8747f5fc0d
gl_rasterizer: Fixup for #1723 .
...
On invalidating the streaming buffer, we need to reupload all vertex buffers.
But we don't need to reconfigure the vertex format.
This was a (silly) misstake in #1723 .
Thanks at Rodrigo for discovering the issue.
Fun fact, as configuring the vertex format also invalidate the vertex buffer,
this misstake had no affect on the behavior.
2018-11-27 10:32:41 +01:00
bunnei
1cd40f107f
Merge pull request #1806 from ReinUsesLisp/morton-fixup
...
morton: Fixup compiler warning
2018-11-26 23:22:59 -05:00
bunnei
11c17465d8
Merge pull request #1804 from lioncash/cast
...
gdbstub: Silence value truncation warning within FpuWrite()
2018-11-26 23:19:40 -05:00
bunnei
abea6fa90c
gpu: Rewrite GPU command list processing with DmaPusher class.
...
- More accurate impl., fixes Undertale (among other games).
2018-11-26 23:14:01 -05:00
bunnei
852a462df3
Merge pull request #1805 from lioncash/resource
...
svc: Implement svcCreateResourceLimit, svcGetResourceLimitCurrentValue(), svcGetResourceLimitLimitValue(), and svcSetResourceLimitLimitValue()
2018-11-26 22:59:51 -05:00
Rodolfo Bogado
6710eb4892
remove viewport_transform_enabled as it seems to be inactive when valid transforms are used.
2018-11-27 00:04:33 -03:00
Lioncash
5905162e36
svc: Implement svcSetResourceLimitLimitValue()
...
The opposite of the getter functions, this function sets the limit value
for a particular ResourceLimit resource category, with the restriction
that the new limit value must be equal to or greater than the current
resource value. If this is violated, then ERR_INVALID_STATE is returned.
e.g.
Assume:
current[Events] = 10;
limit[Events] = 20;
a call to this service function lowering the limit value to 10 would be
fine, however, attempting to lower it to 9 in this case would cause an
invalid state error.
2018-11-26 21:23:15 -05:00
Lioncash
eb5596044d
svc: Implement svcGetResourceLimitCurrentValue()
...
This kernel service function is essentially the exact same as
svcGetResourceLimitLimitValue(), with the only difference being that it
retrieves the current value for a given resource category using the
provided resource limit handle, rather than retrieving the limiting
value of that resource limit instance.
Given these are exactly the same and only differ on returned values, we
can extract the existing code for svcGetResourceLimitLimitValue() to
handle both values.
2018-11-26 21:23:11 -05:00
ReinUsesLisp
237c2026e9
morton: Fixup compiler warning
2018-11-26 23:22:57 -03:00
Lioncash
1d6399c222
svc: Implement svcGetResourceLimitLimitValue()
...
This kernel service function retrieves the maximum allowable value for
a provided resource category for a given resource limit instance. Given
we already have the functionality added to the resource limit instance
itself, it's sufficient to just hook it up.
The error scenarios for this are:
1. If an invalid resource category type is provided, then ERR_INVALID_ENUM is returned.
2. If an invalid handle is provided, then ERR_INVALID_HANDLE is returned (bad thing goes in, bad thing goes out, as one would expect).
If neither of the above error cases occur, then the out parameter is
provided with the maximum limit value for the given category and success
is returned.
2018-11-26 21:12:13 -05:00
Lioncash
4ef2af8c98
svc: Implement svcCreateResourceLimit()
...
This function simply creates a ResourceLimit instance and attempts to
create a handle for it within the current process' handle table. If the
kernal fails to either create the ResourceLimit instance or create a
handle for the ResourceLimit instance, it returns a failure code
(OUT_OF_RESOURCE, and HANDLE_TABLE_FULL respectively). Finally, it exits
by providing the output parameter with the handle value for the
ResourceLimit instance and returning that it was successful.
Note: We do not return OUT_OF_RESOURCE because, if yuzu runs out of
available memory, then new will currently throw. We *could* allocate the
kernel instance with std::nothrow, however this would be inconsistent
with how all other kernel objects are currently allocated.
2018-11-26 21:10:31 -05:00
David Marcec
cc4521fc70
Added comment on Main memory size for more clarity
2018-11-27 12:56:50 +11:00
David Marcec
f058de337e
Made svcSetHeapSize and svcCreateSharedMemory more readable
2018-11-27 12:53:18 +11:00
David Marcec
f271316822
Reworked svcs slightly, improved error messages in AM and fsp_srv
2018-11-27 12:29:06 +11:00
Lioncash
474c745502
gdbstub: Silence value truncation warning within FpuWrite()
...
Previously this would cause an implicit truncation warning about
assigning a u64 value to a u32 value without an explicit cast.
2018-11-26 19:58:23 -05:00
Rodolfo Bogado
dfdbfa69e5
Implement depth clamp
2018-11-26 20:56:32 -03:00
Rodolfo Bogado
8e971f5062
Add support for Clip Distance enabled register
2018-11-26 20:45:21 -03:00
bunnei
1856d0ee8a
Merge pull request #1794 from Tinob/master
...
Add support for viewport_transfom_enable register
2018-11-26 18:34:09 -05:00
bunnei
67a154e23d
Merge pull request #1723 from degasus/dirty_flags
...
gl_rasterizer: Skip VB upload if the state is clean.
2018-11-26 18:33:22 -05:00
Marcos
cb8d51e37e
GPU States: Implement Polygon Offset. This is used in SMO all the time. ( #1784 )
...
* GPU States: Implement Polygon Offset. This is used in SMO all the time.
* Clang Format fixes.
* Initialize polygon_offset in the constructor.
2018-11-26 18:31:44 -05:00
bunnei
7684f4d0cf
Merge pull request #1713 from FernandoS27/bra-cc
...
Implemented BRA CC conditional and FSET CC Setting
2018-11-26 18:28:03 -05:00
bunnei
a41943dc55
Merge pull request #1798 from ReinUsesLisp/y-direction
...
gl_shader_decompiler: Implement S2R's Y_DIRECTION
2018-11-26 18:25:42 -05:00
Zach Hilman
dac0c33fd2
profile_manager: Save and load ProfileData from disk
...
The ProfileData is a 0x80-sized structure that stores various pieces of miscellaneous data for the account.
2018-11-26 17:11:12 -05:00
FernandoS27
ddfbe0b58d
Implemented Tile Width Spacing
2018-11-26 09:05:12 -04:00
David Marcec
dace6087d6
Fixed hwopus compile error
2018-11-26 21:52:10 +11:00
David Marcec
3d627df4d8
Improved error messages in AM, HwOpus and NvMap
2018-11-26 20:05:09 +11:00
David Marcec
9662ca918d
Improved error messages for SVCs
2018-11-26 19:47:39 +11:00
David Marcec
a2cc3b10bb
Changed logging to be "Log before execution", Added more error logging, all services should now log on some level
2018-11-26 17:06:13 +11:00
bunnei
f9a211220c
Merge pull request #1763 from ReinUsesLisp/bfi
...
gl_shader_decompiler: Implement BFI_IMM_R
2018-11-25 23:04:57 -05:00
bunnei
ee764c3b4b
Merge pull request #1793 from lioncash/ref
...
service/sm: Take std::string by const reference in UnregisterService
2018-11-25 23:04:21 -05:00
bunnei
d7d1ab15b6
Merge pull request #1760 from ReinUsesLisp/r2p
...
gl_shader_decompiler: Implement R2P_IMM
2018-11-25 22:38:42 -05:00
bunnei
0394813401
Merge pull request #1782 from FernandoS27/dc
...
Fixed Coordinate Encodings in TEX and TEXS instructions
2018-11-25 22:36:25 -05:00
bunnei
8ce90a4f0b
Merge pull request #1783 from ReinUsesLisp/clip-distances
...
gl_shader_decompiler: Implement clip distances
2018-11-25 22:35:30 -05:00
bunnei
ceb4bc22a4
Merge pull request #1796 from ReinUsesLisp/morton-move
...
video_core: Move morton functions out of gl_rasterizer_cache
2018-11-25 22:35:12 -05:00
Luke Street
94e8dfc0c7
svc: Return ERR_INVALID_ENUM_VALUE from svcGetInfo
2018-11-25 16:48:44 -05:00
Rodolfo Bogado
415e8383ba
Limit the amount of viewports tested for state changes only to the usable ones
2018-11-25 12:18:29 -03:00
ReinUsesLisp
924e834b8f
gl_shader_decompiler: Implement S2R's Y_DIRECTION
2018-11-25 04:37:29 -03:00
bunnei
932fbd5a25
Merge pull request #1791 from bunnei/nvdrv-stub
...
nvdrv: Implement/stub DumpGraphicsMemoryInfo and GetStatus.
2018-11-24 23:45:24 -05:00
bunnei
7d544c1b9d
Merge pull request #1787 from bunnei/fix-gpu-mm
...
memory_manager: Do not allow 0 to be a valid GPUVAddr.
2018-11-24 23:45:00 -05:00
ReinUsesLisp
7ff2131cf9
morton: Style changes
2018-11-25 00:38:53 -03:00
ReinUsesLisp
dad3a6718e
video_core: Move morton functions to their own file
2018-11-25 00:37:18 -03:00
FernandoS27
8c797464a2
Fix Texture Overlapping
2018-11-24 17:26:42 -04:00
FernandoS27
33afff1870
Implemented BRA CC conditional and FSET CC Setting
2018-11-24 13:25:54 -04:00
Rodolfo Bogado
13f6a603c2
Add support for viewport_transfom_enable register
2018-11-24 13:17:48 -03:00
Lioncash
b0df09335c
service/sm: Take std::string by const reference in UnregisterService
...
Avoids the need to create a copy of the std::string instance
(potentially allocating).
The only reason RegisterService takes its argument by value is because
it's std::moved internally.
2018-11-24 00:08:13 -05:00
bunnei
f7a1827aaa
Merge pull request #1641 from DarkLordZach/sm-register-unregister
...
sm: Implement RegisterService and UnregisterService
2018-11-23 23:59:01 -05:00
bunnei
7c4fb09a7c
Merge pull request #1731 from DarkLordZach/change-dir-crash
...
filesystem: Clear registered union paths on factory creation
2018-11-23 23:58:31 -05:00
bunnei
d01bf170c4
Merge pull request #1725 from FernandoS27/gl43
...
Update OpenGL's backend version from 3.3 to 4.3
2018-11-23 23:56:57 -05:00
bunnei
e23543918b
Merge pull request #1785 from Tinob/master
...
Add support for clear_flags register
2018-11-23 23:55:56 -05:00
bunnei
69a9bd8187
Merge pull request #1692 from Hedges/GDBClean
...
GDBStub Improvements
2018-11-23 23:36:36 -05:00
bunnei
e65966bcfc
Merge pull request #1708 from ogniK5377/res-scale
...
Report resolution scaling support for vi and am
2018-11-23 23:32:19 -05:00
bunnei
67ff974387
Merge pull request #1747 from DarkLordZach/exefs-lfs
...
patch_manager: Add support for applying LayeredFS patches to ExeFS
2018-11-23 23:31:48 -05:00
bunnei
b6b78203cc
Merge pull request #1769 from ReinUsesLisp/cc
...
gl_shader_decompiler: Rename cc to condition code and name internal flags
2018-11-23 23:31:04 -05:00
bunnei
0d673a84b6
nvdrv: Implement/stub DumpGraphicsMemoryInfo and GetStatus.
...
- Used by Undertale.
2018-11-23 23:22:04 -05:00
Rodolfo Bogado
54c2a4cafc
Add support for clear_flags register
2018-11-24 00:16:33 -03:00
FernandoS27
7668ef51d6
Fix TEXS Instruction encodings
2018-11-23 22:46:50 -04:00
FernandoS27
9c2127d5eb
Fix one encoding in TEX Instruction
2018-11-23 22:46:49 -04:00
FernandoS27
487d805899
Corrected inputs indexing in TEX instruction
2018-11-23 22:46:48 -04:00
bunnei
69b3f98d3a
Merge pull request #1744 from degasus/shader_cache
...
shader_cache: Only lock covered instructions.
2018-11-23 21:09:36 -05:00
bunnei
d57e00801d
Merge pull request #1741 from lioncash/kbd
...
software_keyboard: Minor changes
2018-11-23 21:09:18 -05:00
bunnei
0b1842294f
memory_manager: Do not allow 0 to be a valid GPUVAddr.
...
- Fixes a bug with Undertale using 0 for a render target.
2018-11-23 12:58:55 -05:00
bunnei
c267aea29b
Merge pull request #1770 from DarkLordZach/applet-stub
...
applets: Add StubApplet and use it as fallback when AppletId is not implemented
2018-11-23 09:02:25 -08:00
bunnei
f1969ee1f3
Merge pull request #1777 from lioncash/core-mgr
...
core: Relocate CPU core management to its own class
2018-11-23 09:00:41 -08:00
bunnei
24dfb43ac6
Merge pull request #1773 from lioncash/thread
...
common/thread: Minor cleanup
2018-11-23 08:52:05 -08:00
Hexagon12
3135dbc29c
Added predicate comparison LessEqualWithNan ( #1736 )
...
* Added predicate comparison LessEqualWithNan
* oops
* Clang fix
2018-11-23 08:51:32 -08:00
bunnei
c4b5319446
Merge pull request #1756 from ReinUsesLisp/fix-textures
...
gl_shader_decompiler: Fix register overwriting on texture calls
2018-11-23 08:49:37 -08:00
bunnei
d77af9f8fd
Merge pull request #1766 from FernandoS27/fix-txq
...
Properly Implemented TXQ Instruction
2018-11-23 08:48:57 -08:00
bunnei
cb5b68cb0a
Merge pull request #1762 from bunnei/getgputime
...
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
2018-11-23 08:35:26 -08:00
ReinUsesLisp
b3853403b7
gl_shader_decompiler: Implement clip distances
2018-11-23 02:14:43 -03:00
Zach Hilman
86ad1f8db6
file_sys: Implement system archive synthesizer for NgWord (806)
2018-11-22 21:39:10 -05:00
Zach Hilman
f820e58be4
am: Return StubApplet instead of nullptr when AppletId not found
2018-11-22 15:58:11 -05:00
ReinUsesLisp
c9ac23683b
gl_shader_decompiler: Add a message for unimplemented cc generation
2018-11-22 16:12:27 -03:00
greggameplayer
c14af2f71d
correct clang-format
2018-11-22 18:26:43 +01:00
Zach Hilman
b358e88512
debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)
...
Prevents memory exceptions when the debug pad is enabled.
2018-11-22 12:23:43 -05:00
bunnei
50d2abaaa9
Merge pull request #1775 from bunnei/blend-eq
...
maxwell_3d: Implement alternate blend equations.
2018-11-22 08:44:05 -08:00
bunnei
af159a4d08
Merge pull request #1765 from bunnei/multi-audout
...
audout_u: Add support for multiple IAudioOut streams.
2018-11-22 08:43:53 -08:00
bunnei
e633021532
Merge pull request #1764 from bunnei/macrointerpreter
...
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
2018-11-22 08:43:29 -08:00
Lioncash
232d95b56e
core: Relocate CPU core management to its own class
...
Keeps the CPU-specific behavior from being spread throughout the main
System class. This will also act as the home to contain member functions
that perform operations on all cores. The reason for this being that the
following pattern is sort of prevalent throughout sections of the
codebase:
If clearing the instruction cache for all 4 cores is necessary:
Core::System::GetInstance().ArmInterface(0).ClearInstructionCache();
Core::System::GetInstance().ArmInterface(1).ClearInstructionCache();
Core::System::GetInstance().ArmInterface(2).ClearInstructionCache();
Core::System::GetInstance().ArmInterface(3).ClearInstructionCache();
This is kind of... well, silly to copy around whenever it's needed.
especially when it can be reduced down to a single line.
This change also puts the basics in place to begin "ungrafting" all of the
forwarding member functions from the System class that are used to
access CPU state or invoke CPU-specific behavior. As such, this change
itself makes no changes to the direct external interface of System. This
will be covered by another changeset.
2018-11-22 04:28:19 -05:00
bunnei
033b46253e
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
...
- Used by Undertale.
2018-11-22 00:58:00 -05:00
bunnei
5a6dc4d041
audout_u: Add support for multiple IAudioOut streams.
...
- Used by Undertale.
2018-11-22 00:53:39 -05:00
bunnei
0e6a608245
maxwell_3d: Implement alternate blend equations.
...
- Used by Undertale.
2018-11-22 00:51:01 -05:00
Lioncash
1bf5a337a5
common/thread: Drop Hungarian notation on SetCurrentThreadName's parameter
...
This is inconsistent with our coding style.
2018-11-22 00:40:26 -05:00
bunnei
b84f4cfb62
Merge pull request #1737 from FernandoS27/layer-copy
...
Implemented Fast Layered Copy
2018-11-21 21:39:16 -08:00
bunnei
f0d3f1b376
Merge pull request #1771 from lioncash/bit-set
...
common: Remove bit_set.h
2018-11-21 21:36:15 -08:00
Zach Hilman
820d81b9a5
scheduler: Add explanations for YieldWith and WithoutLoadBalancing
2018-11-22 00:33:53 -05:00
bunnei
f926559ef4
Merge pull request #1767 from lioncash/handle
...
kernel/handle_table: Minor changes
2018-11-21 21:26:48 -08:00
Lioncash
93f7677402
common/thread: Make Barrier's 'count' member non-const
...
While admirable as a means to ensure immutability, this has the
unfortunate downside of making the class non-movable. std::move cannot
actually perform a move operation if the provided operand has const data
members (std::move acts as an operation to "slide" resources out of an
object instance). Given Barrier contains move-only types such as
std::mutex, this can lead to confusing error messages if an object ever
contained a Barrier instance and said object was attempted to be moved.
2018-11-21 21:47:08 -05:00
Lioncash
756e773096
common/thread: Initialize class member variables where applicable
...
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-21 21:45:01 -05:00
Lioncash
02602afd10
common/thread: Group non-member functions together
...
Keeps the non-member interface in one spot instead of split into two
places, making it nicer to locate functions.
2018-11-21 21:42:33 -05:00
Lioncash
d6583d68f6
common/thread: Remove SleepCurrentThread()
...
This is also unused and superceded by standard functionality. The
standard library provides std::this_thread::sleep_for(), which provides
a much more flexible interface, as different time units can be used with
it.
2018-11-21 21:40:11 -05:00
Lioncash
1d555fdd25
common/thread: Remove unused CurrentThreadId()
...
This is an old function that's no longer necessary. C++11 introduced
proper threading support to the language and a thread ID can be
retrieved via std::this_thread::get_id() if it's ever needed.
2018-11-21 21:37:11 -05:00
Lioncash
8b27e73bd7
common: Remove bit_set.h
...
This is an analog of BitSet from Dolphin that was introduced to allow
iterating over a set of bits. Given it's currently unused, and given
that std::bitset exists, we can remove this. If it's ever needed in the
future it can be brought back.
2018-11-21 21:30:10 -05:00
Zach Hilman
699900eed0
applets: Add StubApplet
...
This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution.
2018-11-21 21:20:02 -05:00
ReinUsesLisp
74eb16521f
gl_shader_decompiler: Rename internal flag strings
2018-11-21 22:31:42 -03:00
ReinUsesLisp
8a5e6fce07
gl_shader_decompiler: Rename control codes to condition codes
2018-11-21 22:31:16 -03:00
greggameplayer
6d2adb0bc0
Automatically disable joycons docked
...
when docked mode is enable
2018-11-22 01:24:39 +01:00
ReinUsesLisp
864cbbaf4c
gl_shader_decompiler: Fix register overwriting on texture calls
2018-11-21 21:21:19 -03:00
Lioncash
0e35f1bb18
kernel/handle_table: Move private static functions into the cpp file
...
These don't depend on class state, and are effectively implementation
details, so they can go into the cpp file .
2018-11-21 18:31:01 -05:00
Lioncash
568bcbc29d
kernel/handle_table: Restrict handle table size to 1024 entries
...
The previous handle table size is a holdover from Citra. The actual
handle table construct on Horizon only allows for a maximum of 1024
entries.
2018-11-21 18:28:03 -05:00
Lioncash
f5ce71793e
kernel/handle_table: Default destructor in the cpp file
...
We don't need to potentially inline the teardown logic of all of the
handle instances.
2018-11-21 18:23:09 -05:00
bunnei
ec38b4e883
Merge pull request #1753 from FernandoS27/ufbtype
...
Use default values for unknown framebuffer pixel format
2018-11-21 14:15:27 -08:00
bunnei
61586e8794
Merge pull request #1752 from ReinUsesLisp/unimpl-decompiler
...
gl_shader_decompiler: Use UNIMPLEMENTED when applicable
2018-11-21 14:13:28 -08:00
FernandoS27
4a6a9b6622
Properly Implemented TXQ Instruction
2018-11-21 18:12:36 -04:00
bunnei
d4012a4540
Merge pull request #1742 from lioncash/hle-swkbd
...
am/applets: Minor cleanup
2018-11-21 11:43:43 -08:00
ReinUsesLisp
642dfeda2a
gl_shader_decompiler: Implement BFI_IMM_R
2018-11-21 16:12:30 -03:00
bunnei
7f10db1c20
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
...
- Used by Undertale.
2018-11-21 11:43:25 -05:00
bunnei
bb175ab430
Merge pull request #1754 from ReinUsesLisp/zero-register
...
gl_shader_decompiler: Remove UNREACHABLE when setting RZ
2018-11-21 08:06:29 -08:00
bunnei
8cdb48224d
Merge pull request #1758 from lioncash/rect
...
common/math_util: Minor cleanup
2018-11-21 08:05:39 -08:00
FernandoS27
0368260c99
Removed pre 4.3 ARB extensions
2018-11-21 11:43:17 -04:00
FernandoS27
377c60645c
Update OpenGL's backend version from 3.3 to 4.3
2018-11-21 11:43:17 -04:00
FernandoS27
0a9fedfac9
Use default values for unknown framebuffer pixel format
2018-11-21 07:33:34 -04:00
Lioncash
3533d33ff5
common: Remove dependency on xbyak
...
Xbyak is currently entirely unused. Rather than carting it along, remove
it and get rid of a dependency. If it's ever needed in the future, then
it can be re-added (and likely be more up to date at that point in
time).
2018-11-21 03:43:41 -05:00
ReinUsesLisp
d92afc7493
gl_shader_decompiler: Implement R2P_IMM
2018-11-21 04:56:00 -03:00
Lioncash
45211a7a91
common/math_util: Simplify std::make_signed usages to std::make_signed_t
...
Gets rid of the need to use typename to access the ::type alias.
2018-11-21 02:08:18 -05:00
Lioncash
f11173f88c
common/math_util: Make Rectangle's constructors constexpr
...
Allows objects that contain rectangle instances to be constexpr
constructible as well.
2018-11-21 02:08:18 -05:00
Lioncash
cc0801745a
common/math_util: Remove unnecessary static from PI
...
const/constexpr variables have internal linkage by default.
2018-11-21 02:08:18 -05:00
Lioncash
74fd0aa2e8
common/math_util: Remove unused IntervalsIntersect() function
...
This hasn't been used since the project started, so we may as well get
rid of it to keep it from bit rotting.
2018-11-21 02:08:15 -05:00
bunnei
5af4160bf2
Merge pull request #1751 from bunnei/color-mask-fix
...
maxwell_3d: Initialize rasterizer color mask registers as enabled.
2018-11-20 19:20:13 -08:00
ReinUsesLisp
423a3ed2c8
gl_shader_decompiler: Remove UNREACHABLE when setting RZ
2018-11-20 22:23:10 -03:00
ReinUsesLisp
bb893188eb
gl_shader_decompiler: Use UNIMPLEMENTED instead of LOG+UNREACHABLE when applicable
2018-11-20 22:00:13 -03:00
bunnei
1a543723ab
maxwell_3d: Initialize rasterizer color mask registers as enabled.
...
- Fixes rendering regression with Sonic Mania.
2018-11-20 19:58:06 -05:00
Lioncash
f17e122025
am: Correct build failure
...
The interface for shared memory was changed, but another commit was
merged that relied on the (previously public) internals of SharedMemory.
This amends that discrepancy.
2018-11-20 19:49:07 -05:00
Zach Hilman
54e74b3572
patch_manager: Show LayeredExeFS patch in add-ons column
...
The decision was made to name them LayeredExeFS instead of just LayeredFS to differentiate from normal RomFS-based mods. The name may be long/unweildy, but conveys the meaning well.
2018-11-20 19:22:34 -05:00
bunnei
aa7e53ab5c
Merge pull request #1734 from lioncash/shared
...
kernel/shared_memory: Make data members private, plus minor interface changes
2018-11-20 16:13:30 -08:00
bunnei
ab292c501c
Merge pull request #1733 from lioncash/ldr
...
ldr: Clean up error codes
2018-11-20 16:13:09 -08:00
bunnei
67486c0568
Merge pull request #1746 from lioncash/random
...
kernel/process: Move <random> include to the cpp file
2018-11-20 16:12:29 -08:00
bunnei
1d0604e33c
Merge pull request #1748 from lioncash/assert
...
common/assert: Make the UNIMPLEMENTED macro properly assert
2018-11-20 16:11:30 -08:00
Lioncash
820bcee6a4
file_sys/card_image: Provide named members for the GamecardInfo struct
...
Fills out the struct according to information provided by SwitchBrew
2018-11-20 18:40:53 -05:00
Lioncash
9dcc229dfe
common/assert: Add UNIMPLEMENTED_IF and UNIMPLEMENTED_IF_MSG for conditional assertions
...
Currently, there's no way to specify if an assertion should
conditionally occur due to unimplemented behavior. This is useful when
something is only partially implemented (e.g. due to ongoing RE work).
In particular, this would be useful within the graphics code.
The rationale behind this is it allows a dev to disable unimplemented
feature assertions (which can occur in an unrelated work area), while
still enabling regular assertions, which act as behavior guards for
conditions or states which must not occur. Previously, the only way a
dev could temporarily disable asserts, was to disable the regular
assertion macros, which has the downside of also disabling, well, the
regular assertions which hold more sanitizing value, as opposed to
unimplemented feature assertions.
2018-11-20 18:15:37 -05:00
Lioncash
aaec85df9e
common/assert: Make the UNIMPLEMENTED macro properly assert
...
Currently, this was only performing a logging call, which doesn't
actually invoke any assertion behavior. This is unlike
UNIMPLEMENTED_MSG, which *does* assert.
This makes the expected behavior uniform across both macros.
2018-11-20 17:59:00 -05:00
Zach Hilman
da6d4cde56
patch_manager: Apply LayeredExeFS patches
...
This will scan the <mod>/exefs dir for all files and then layer those on top of the game's exefs and use this as the new exefs. This allows for overriding of the compressed NSOs or adding new files. This does use the same dir as IPS/IPSwitch patch, but since the loader will not look for those they are ignored.
2018-11-20 17:51:00 -05:00
Zach Hilman
17d8e25cbf
settings: Add option to dump ExeFS of games upon launch
...
When enabled, all exefs(es) will be copied to yuzu/dump/<title_id>/exefs.
2018-11-20 17:49:09 -05:00
Lioncash
31d1e06eb1
kernel/process: Move <random> include to the cpp file
...
<random> isn't necesary directly within the header and can be placed in
the cpp file where its needed. Avoids propagating random generation
utilities via a header file.
2018-11-20 17:46:20 -05:00
Markus Wick
cfbae58b2b
shader_cache: Only lock covered instructions.
2018-11-20 21:58:31 +01:00
Lioncash
73b7748984
am/applets: Make the applet data broker part of the applet itself.
...
The accessor should be doing just that, accessing, rather than retaining
the lifetime of the data broker as well.
2018-11-20 12:36:33 -05:00
Lioncash
8b4b560df5
am/applets: Replace includes with forward declarations where applicable
...
Also resolve places where includes should have been provided, but
weren't.
2018-11-20 11:53:55 -05:00
Lioncash
dd254c603d
am/applets: Relocate comments above the relevant data member in AppletDataBroker
...
Avoids wonky wrapping and makes it nicer to read.
2018-11-20 11:49:49 -05:00
Lioncash
4dcdd3a837
yuzu/applets/software_keyboard: Override accept() and reject() instead of providing own differently named member functions
...
Uses Qt's built-in interface instead of rolling our own separate one on
top of it. This also fixes a bug in reject() where we were calling
accept() instead of reject().
2018-11-20 11:36:50 -05:00
Lioncash
3fa2b218ac
yuzu/applets/software_keyboard: std::move std::function instances where applicable
...
std::function instances can potentially allocate. std::moveing them
prevents an avoidable allocation in that case.
2018-11-20 11:34:19 -05:00
Lioncash
fe2609cb77
yuzu/applets/software_keyboard: Make slots private functions
...
These aren't required to be public.
2018-11-20 11:29:22 -05:00
bunnei
b6d2c64f4d
Merge pull request #1667 from DarkLordZach/swkbd
...
am: Implement HLE software keyboard applet
2018-11-20 08:24:11 -08:00
bunnei
e9265ac598
Merge pull request #1739 from lioncash/lm
...
lm: Implement SetDestination by doing nothing
2018-11-19 18:40:17 -08:00
FernandoS27
eb36463e03
Implemented Fast Layered Copy
2018-11-19 19:51:13 -04:00
Lioncash
5d46038c5c
kernel/resource_limit: Clean up interface
...
Cleans out the citra/3DS-specific implementation details that don't
apply to the Switch. Sets the stage for implementing ResourceLimit
instances properly.
While we're at it, remove the erroneous checks within CreateThread() and
SetThreadPriority(). While these are indeed checked in some capacity,
they are not checked via a ResourceLimit instance.
In the process of moving out Citra-specifics, this also replaces the
system ResourceLimit instance's values with ones from the Switch.
2018-11-19 18:16:39 -05:00
Lioncash
34e4aaddd9
lm: Implement SetDestination by doing nothing
...
This service function was likely intended to be a way to redirect where
the output of a log went. e.g. Firing a log over a network, dumping over
a tunneling session, etc.
Given we always want to see the log and not change its output. It's one
of the lucky service functions where the easiest implementation is to
just do nothing at all and return success.
2018-11-19 18:09:40 -05:00
Zach Hilman
a9fa890f14
software_keyboard: Fix erroneous extra PushNormalData
2018-11-19 16:30:17 -05:00
Zach Hilman
d68795c665
software_keyboard: Return correct result code on user cancel operation
2018-11-19 15:10:01 -05:00
Zach Hilman
32775125b7
applet: Add AppletDataBroker to manage HLE to AM service interaction
...
This cleans up most of the callbacks and such in the Applets::Applet interface, while also properly implementing all four data channels.
2018-11-19 14:24:36 -05:00
Zach Hilman
96535c13a5
software_keyboard: Use correct offset for inital text string
2018-11-19 11:22:04 -05:00
Lioncash
233e495c14
kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointer
...
Both member functions assume the passed in target process will not be
null. Instead of making this assumption implicit, we can change the
functions to be references and enforce this at the type-system level.
2018-11-19 09:20:29 -05:00
Lioncash
fb5d4b17de
kernel/shared_memory: Add a const qualified member function overload for GetPointer()
...
Given this doesn't mutate instance state, we can provide a
const-qualified variant as well.
2018-11-19 09:20:29 -05:00
Lioncash
2d37ca3726
kernel/shared_memory: Use 64-bit types for offset and size in CreateForApplet
...
Keeps the interface consistent with the regular Create() function.
2018-11-19 09:20:29 -05:00
Lioncash
76ac234bf6
kernel/shared_memory: Make GetPointer() take a std::size_t instead of a u32
...
Makes the interface nicer to use in terms of 64-bit code, as it makes it
less likely for one to get truncation warnings (and also makes sense in
the context of the rest of the interface where 64-bit types are used for
sizes and offsets
2018-11-19 09:20:29 -05:00
Lioncash
f472232705
kernel/shared_memory: Make data members private
...
Rather than allow unfettered access to the class internals, we hide all
members by default and create and API that other code can operate
against.
2018-11-19 09:20:25 -05:00
Lioncash
43e7c6cf49
ldr: Clean up error codes
...
The separate enum isn't particularly necessary here, and the values can
just be directly put into the ResultCode instances, given the names are
also self-documenting here.
2018-11-19 08:12:25 -05:00
Zach Hilman
409dcf0e0a
svc: Implement yield types 0 and -1
2018-11-18 23:44:19 -05:00
Zach Hilman
c3becdbca7
filesystem: Clear registered union paths on factory creation
2018-11-18 23:31:30 -05:00
Zach Hilman
aef0d88165
configure_input: Use Joycons Docked instead of Connected as label
2018-11-18 23:22:36 -05:00
Zach Hilman
312ef596a5
configure_input_player: Set minimum width on controls
2018-11-18 23:22:36 -05:00
Zach Hilman
dd92db3fb0
configure_input: Properly update UI components on removal of player
2018-11-18 23:22:36 -05:00
Zach Hilman
e58c951a59
configure_input: Make None a controller option instead of checkbox
2018-11-18 23:22:36 -05:00
Zach Hilman
3a6cd5b3c8
hid: Use player-defined controller type as PREFERRED_CONTROLLER
2018-11-18 23:22:36 -05:00
Zach Hilman
3d1a221893
qt: Move controller button config to separate dialog
...
Handles button configuration for all controller layouts and debug pads. Configurable at construction.
2018-11-18 23:22:36 -05:00
Zach Hilman
afe8df5020
qt: Add UI to configure touchscreen parameters
...
This allows adjusting the finger, diameter, and angle of the emulated touchscreen. It also provides a warning to the user about what changing these parameters can do.
2018-11-18 23:22:36 -05:00
Zach Hilman
2e1dd9c649
qt: Add UI to configure mouse buttons
...
Supports setting the five mouse buttons to any valid controller button/keyboard key (Left, Right, Middle, Foward, Back)
2018-11-18 23:22:36 -05:00
Zach Hilman
f1aec256d7
configure_input: Add support for multiplayer and controller types
...
This moves the actual button configuration to a separate dialog and only has the enabled and type controls in the tab.
2018-11-18 23:22:36 -05:00
Zach Hilman
55ded706d6
hid/npad: Update NPad to use player controller bindings and type
2018-11-18 23:22:36 -05:00
Zach Hilman
e9145c3e16
hid/touchscreen: Update Touchscreen to use advanced parameters
...
Including finger ID, diamater x/y, and angle. Additionally, checks if the touchscreen is enabled.
2018-11-18 23:22:36 -05:00
Zach Hilman
3b25426bd9
hid: Add controller bindings for Mouse controller
2018-11-18 23:22:36 -05:00
Zach Hilman
0fd45e78f4
hid: Add keyboard bindings for Keyboard controller
2018-11-18 23:22:36 -05:00
Zach Hilman
06cf050c0a
hid: Add controller bindings for DebugPad controller
...
Used by developers to test games, not present on retail systems. Some games are known to respond to DebugPad input though, for example Kirby Star Allies.
2018-11-18 23:22:36 -05:00
Zach Hilman
d1b7c65b9e
yuzu/config: Add (de-)serialization for multiplayer
...
Defaults to full keyboard for keyboard -- It did not seem to be necessary to make the keyboard configurable (besides enabled/disabled).
2018-11-18 23:22:36 -05:00
Zach Hilman
b8f7f9651e
yuzu_cmd/config: Add config deserialization for multiplayer
2018-11-18 23:22:36 -05:00
Zach Hilman
c77454b9d0
settings: Add settings for multiple players and controllers
...
Uses the PlayerInput struct to represent all of the data that constitutes a player.
2018-11-18 23:21:33 -05:00
Zach Hilman
fd5fa48674
settings: Add Native type for keyboard
2018-11-18 23:21:33 -05:00
Zach Hilman
152422bab1
settings: Add Native type for mouse buttons
2018-11-18 23:21:33 -05:00
David Marcec
0c3e7b7086
Added missing start/end touch attributes to touchscreen
2018-11-18 23:21:33 -05:00
David Marcec
f66c6fe554
Added debugpad skeleton
2018-11-18 23:21:33 -05:00
David Marcec
362b28d052
Added controller helper funcs
2018-11-18 23:21:33 -05:00
David Marcec
a69b9d73f5
Changed polling rate of hid and Right joycon rotation
2018-11-18 23:21:33 -05:00
David Marcec
7fbe2c83a7
Left joycon rotation button remapping
2018-11-18 23:21:33 -05:00
David Marcec
b9c1e4b0e7
Added automatic npad switch based on supported stylesets
2018-11-18 23:21:33 -05:00
David Marcec
beab38601b
Added multi-input support and controller assignment at any port
2018-11-18 23:21:33 -05:00
David Marcec
60fecee1ec
Removed hard coded values for width and height
2018-11-19 15:20:47 +11:00
Zach Hilman
ea680bea60
software_keyboard: Check for UTF-8 config flag
2018-11-18 23:14:48 -05:00
bunnei
f02b125ac8
Merge pull request #1717 from FreddyFunk/swizzle-gob
...
textures/decoders: Replace magic numbers
2018-11-18 20:13:00 -08:00
bunnei
6dc33fb812
Merge pull request #1693 from Tinob/master
...
Missing ogl states
2018-11-18 19:59:10 -08:00
Frederic L
11a1442229
Eliminated unnessessary memory allocation and copy ( #1702 )
2018-11-18 19:53:03 -08:00
bunnei
3e93c30630
Merge pull request #1640 from DarkLordZach/game-list-reload
...
game_list: Only reload game list after relevant settings changed
2018-11-18 19:24:53 -08:00
bunnei
e34d47e6e3
Merge pull request #1620 from DarkLordZach/ldr-ro
...
ldr_ro: Complete LDR:RO implementation
2018-11-18 19:23:38 -08:00
bunnei
f08b4cbbc8
Merge pull request #1718 from ogniK5377/lets-go-softlock
...
Implemented CalculateStandardUserSystemClockDifferenceByUser
2018-11-18 19:22:47 -08:00
Schplee
9a47e40dd6
Correctly sets default system language for yuzu-CLI ( #1727 )
...
* Correctly sets default system language for yuzu-CLI
A user reported that yuzu_cmd runs games in Japanese rather than the correct default of English (like yuzu-qt does correctly), this change fixes that.
* fix clang issue
deleted whitespace
2018-11-18 19:21:17 -08:00
bunnei
da238db6df
Merge pull request #1730 from ReinUsesLisp/fix-intel
...
gl_rasterizer: Remove default clip distance
2018-11-18 19:19:43 -08:00
bunnei
611141e09f
Merge pull request #1671 from DarkLordZach/vi-disconnect
...
vi: Implement TransactParcel for Disconnect and DetachBuffer
2018-11-18 19:18:46 -08:00
ReinUsesLisp
29e7c76d66
gl_rasterizer: Remove default clip distance
2018-11-18 23:57:52 -03:00
Mat M
9a1bac840e
Merge pull request #1728 from FearlessTobi/reset-signal
...
svc: ResetSignal is not stubbed
2018-11-18 15:51:32 -05:00
Tobias
13f79cc5bd
svc: ResetSignal is not stubbed
...
https://user-images.githubusercontent.com/20753089/48677874-b8e01c80-eb7b-11e8-8043-b99faa29022c.PNG
2018-11-18 21:49:17 +01:00
Zach Hilman
56cf5b7b17
software_keyboard: Add max and current length display to dialog
2018-11-18 10:53:47 -05:00
Zach Hilman
02e6602baa
software_keyboard: Push all data over all channels on dialog completion
2018-11-18 10:53:47 -05:00
Zach Hilman
4ee087fb3c
applet: Use std::queue instead of std::vector for storage stack
2018-11-18 10:53:47 -05:00
Zach Hilman
19b2571aec
applet: Add operation completed callback
2018-11-18 10:53:47 -05:00
Zach Hilman
6209fe0c27
software_keyboard: Push buffer size to offset 0x4 in output data
2018-11-18 10:53:47 -05:00
Zach Hilman
8b433beff3
software_keyboard: Make GetText asynchronous
...
a
2018-11-18 10:53:47 -05:00
Zach Hilman
7cfb29de23
am: Allow applets to push multiple and different channels of data
2018-11-18 10:53:47 -05:00
Zach Hilman
3cf7246e37
am: Implement ILibraryAppletAccessor IsCompleted and GetResult
2018-11-18 10:53:47 -05:00
Zach Hilman
fed6ab14c3
am: Implement text check software keyboard mode
...
Allows the game to verify and send a message to the frontend.
2018-11-18 10:53:47 -05:00
Zach Hilman
e696ed1f4d
am: Deglobalize software keyboard applet
2018-11-18 10:53:47 -05:00
Zach Hilman
a81645400f
qt/main: Register Qt Software Keyboard frontend with AM
...
Allows using Qt provider over default.
2018-11-18 10:53:47 -05:00
Zach Hilman
48fcb43585
am: Construct and use proper applets with ILibraryAppletAccessor
...
Allows use of software keyboard applet and future applets to be easily added by adding enum ID and a switch case.
2018-11-18 10:53:47 -05:00
Zach Hilman
5454494adb
qt/applets: Provide Qt frontend implementation of software keyboard
...
Implements all of the features of the keyboard, including length, default text, character validation, and UTF-16 character support.
2018-11-18 10:53:47 -05:00
Zach Hilman
de16c1e453
am/applets: Add connector between frontend and AM applet classes
...
Provides a middleman between the Frontend provider class and the expected AM::Applets::Applet class needed by ILibraryAppletAccessor
2018-11-18 10:53:47 -05:00
Zach Hilman
ae53b84efd
frontend/applets: Add frontend software keyboard provider and default
...
Default implementation will return "yuzu" for any string. GUI clients (or CLI) can implement the Frontend::SoftwareKeyboardApplet class and register an instance to provide functionality.
2018-11-18 10:53:47 -05:00
Zach Hilman
5b95de0c9c
am/applets: Add Applet superclass to describe a generic applet
...
Adds an Initialize and Execute methods which are used by the ILibraryAppletAccessor to start and control the applet.
2018-11-18 10:53:47 -05:00
Zach Hilman
731b4bd691
am: Unstub ILibraryAppletAccessor::Start
...
Now starts the applet provided in constructor.
2018-11-18 10:53:47 -05:00
Zach Hilman
ba03bfa430
am: Implement PopInteractiveOutData and PushInteractiveInData
...
Used by software keyboard applet for data transfer.
2018-11-18 10:53:47 -05:00
Zach Hilman
5ce6b8fea7
am: Convert storage stack to vector
...
std::stack was no longer suitable for non-trivial operations
2018-11-18 10:53:47 -05:00
Zach Hilman
0682a908c0
am: Move AM::IStorage to header
...
Needs to be accessible by applet files.
2018-11-18 10:53:47 -05:00
Zach Hilman
c7b6c9de9c
am: Move IStorageAccessor to header and update backing buffer
...
Writes to an AM::IStorage object through an IStorageAccessor will now be preserved once the accessor is destroyed.
2018-11-18 10:53:47 -05:00
Zach Hilman
76d515327b
am: Implement CreateTransferMemoryStorage
...
Creates an AM::IStorage object with the contents of the transfer memory located at the handle provided.
2018-11-18 10:53:47 -05:00
Zach Hilman
c70529c1ec
string_util: Implement buffer to UTF-16 string helper function
...
Needed as most all software keyboard functions use fixed-length UTF16 string buffers.
2018-11-18 10:53:47 -05:00
Zach Hilman
7901de2b75
svc: Implement svcCreateTransferMemory
...
Seems to be used and created identically to SharedMemory, so just reuse that.
2018-11-18 10:53:47 -05:00
Rodolfo Bogado
4d1a0a24cc
drop support for non separate alpha as it seems to cause issues in some games
2018-11-18 03:44:48 -03:00
Zach Hilman
51af996854
ldr_ro: Add error check for memory allocation failure
2018-11-17 21:40:26 -05:00
Rodolfo Bogado
81a9c5fe6f
fix sampler configuration, thanks to Marcos for his investigation
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
b312cca756
small type fix
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
5297495c87
small fix for alphaToOne bit location
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
e69eb3c760
fix for gcc compilation
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
53b4a1af0f
add AlphaToCoverage and AlphaToOne
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
8ed7e1af2c
add support for fragment_color_clamp
2018-11-17 19:59:33 -03:00
Rodolfo Bogado
02c22a3440
add missing MirrorOnceBorder support where supported
2018-11-17 19:59:33 -03:00
Rodolfo Bogado
1d60bb6544
set border color not depending on the wrap mode
...
only enable color mask for the first framebuffer id independent blending is disabled
2018-11-17 19:59:33 -03:00
Rodolfo Bogado
6a2aa6dbdb
set default value for point size register
2018-11-17 19:59:33 -03:00
Rodolfo Bogado
1881e86c43
fix viewport and scissor behavior
2018-11-17 19:59:32 -03:00
Zach Hilman
c91dc417d5
vi: Implement TransactParcel for Disconnect and DetachBuffer
...
Used by homebrew on exit. According to switchbrew, returns an empty response parcel with one zero in it.
2018-11-17 17:10:19 -05:00
MysticExile
03f274d8c1
Stubbed am:EnableApplicationCrashReport
2018-11-17 15:05:55 +01:00
Markus Wick
97f5c4ffd3
gl_rasterizer: Skip VB upload if the state is clean.
2018-11-17 14:28:54 +01:00
bunnei
0072275d25
Merge pull request #1678 from FearlessTobi/amiibo-hotkeys
...
Port citra-emu/citra#4387 : "yuzu: Add hotkey for Amiibo loading"
2018-11-16 20:20:41 -08:00
bunnei
0149b4245c
Merge pull request #1711 from ogniK5377/bluetooth-lets-go
...
Added various bluetooth based cmds for palma
2018-11-16 20:08:36 -08:00
bunnei
6552d75be1
Merge pull request #1719 from bunnei/hwopus-fix
...
hwopus: DecodeInterleavedWithPerformance: Fix ordering of output parameters.
2018-11-16 20:08:17 -08:00
bunnei
224fcabe46
Merge pull request #1714 from lioncash/kern-err
...
kernel/errors: Clean up error codes
2018-11-16 20:07:55 -08:00
bunnei
585e6fd426
hwopus: DecodeInterleavedWithPerformance: Fix ordering of output parameters.
...
- Fixes audio issues with Pokemon: Let's Go Pikachu & Eevee.
2018-11-16 22:54:38 -05:00
David Marcec
c440e8b8e1
Implemented CalculateStandardUserSystemClockDifferenceByUser
...
Seems pokemon calls this sometimes and it caused "random crashes"
2018-11-17 14:01:16 +11:00
Frederic Laing
7a400e2191
textures/decoders: Replace magic numbers
2018-11-17 01:55:28 +01:00
bunnei
3c7ba00d73
Merge pull request #1712 from FearlessTobi/port-4426
...
Port citra-emu/citra#4426 : "Common/Bitfield: store value as unsigned type"
2018-11-16 14:42:59 -08:00
Lioncash
d21b2164e9
kernel/errors: Clean up error codes
...
Similar to PR 1706, which cleans up the error codes for the filesystem
code, but done for the kernel error codes. This removes the ErrCodes
namespace and specifies the errors directly. This also fixes up any
straggling lines of code that weren't using the named error codes where
applicable.
2018-11-16 14:32:30 -05:00
Mat M
14cede1a0c
Merge pull request #1638 from FreddyFunk/SetMemoryPermission-Stubbed
...
Implement SetMemoryPermission
2018-11-16 10:35:56 -05:00
bunnei
405dd03dae
Merge pull request #1700 from FreddyFunk/cleanup
...
gl_rasterizer_chache: Minor cleanup
2018-11-16 07:07:30 -08:00
bunnei
241646f423
Merge pull request #1701 from FreddyFunk/decoders
...
textures/decoders: Minor cleanup
2018-11-16 07:07:11 -08:00
bunnei
5b8f70ea2e
Merge pull request #1632 from DarkLordZach/keys-manager-optimizations
...
game_list: Optimize game list refresh
2018-11-16 07:02:37 -08:00
bunnei
0b701751da
Merge pull request #1676 from lioncash/warn
...
gl_state: Amend compilation warnings
2018-11-16 07:00:03 -08:00
bunnei
238bc4a077
Merge pull request #1706 from lioncash/file-err
...
file_sys/errors: Clean up error code values
2018-11-16 06:59:07 -08:00
Weiyi Wang
786995a81e
Common/Bitfield: store value as unsigned type
...
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
2018-11-16 15:49:57 +01:00
David Marcec
e8899e7027
Added various bluetooth based cmds for palma
...
It seems palma is done through bluetooth, we need this for pokemon go however more research needs to be done when we actually get palma working. This is presumably used for transfering data between the controller and the console, it does not seem for actual input as far as I know.
2018-11-17 01:42:17 +11:00
David Marcec
e658118aa9
Added SetIsPalmaAllConnectable, SetPalmaBoostMode
...
Currently unclear what these do yet, will be researched at a later time when we want to implement palma.
2018-11-17 01:40:18 +11:00
David Marcec
4476fd29d6
Fixed switching operation modes when not running a game
...
The service manager seems to be a nullptr before a game boots
2018-11-16 20:08:02 +11:00
David Marcec
9359655712
Report resolution scaling support for vi and am
...
Specifying an internal resolution in yuzu now will report the scaled changes to vi and am.
2018-11-16 18:07:42 +11:00
Lioncash
5c9c33e8ad
file_sys/errors: Remove currently unused filesystem error codes
...
Rather than keeping around unused values, we can just introduce them as
needed.
2018-11-16 00:18:22 -05:00
Lioncash
edd5b6f12f
file_sys/errors: Get rid of the ErrCodes namespace
...
There's no real point to keeping the separate enum around, especially
given the name of the error code itself is supposed to document what the
value actually represents.
2018-11-16 00:13:50 -05:00
Lioncash
b725d1fdf7
file_sys/errors: Extract FS-related error codes to file_sys/errors.h
...
Keeps filesystem-related error codes in one spot.
2018-11-16 00:13:50 -05:00
David
87eca5b209
Fixed priority switching edge case for handheld ( #1675 )
...
* Fixed priority switching edge case for handheld
We accidently used controller index instead of npad id
* Moved NPadIdToIndex
2018-11-15 20:31:27 -08:00
bunnei
75640c9c71
Merge pull request #1699 from DarkLordZach/deterministic-rng-3
...
csrng: Use random integer distribution instead of raw engine
2018-11-15 20:18:47 -08:00
Zach Hilman
4838bc8ddc
fsp_srv: Add support for using open source archive if not found in NAND
2018-11-15 22:35:16 -05:00
Zach Hilman
6aa69880ea
file_sys: Add framework for synthesizing open source archives
2018-11-15 22:34:35 -05:00
Zach Hilman
34cd56980f
vfs_vector: Add VFS backend for std::array
...
Allows using constexpr/static const data with VFS.
2018-11-15 22:33:52 -05:00
Zach Hilman
8cb2e7d881
csrng: Use random integer distribution instead of raw engine
...
Prevents returning the same value every single call.
2018-11-15 18:44:26 -05:00
bunnei
f7319b0d3c
Merge pull request #1687 from lioncash/deduplication
...
kernel/thread: Deduplicate scheduler switching code
2018-11-15 14:47:42 -08:00
bunnei
97605e36f7
Merge pull request #1618 from DarkLordZach/dump-nso
...
patch_manager: Add support for dumping uncompressed NSOs
2018-11-15 14:46:10 -08:00
bunnei
98060c6f7b
Merge pull request #1691 from lioncash/audren
...
service/audren_u: Forward RequestUpdateAuto through the same function as RequestUpdate
2018-11-15 14:44:36 -08:00
Frederic Laing
95d3965f31
textures/decoders: Minor cleanup
2018-11-15 21:04:17 +01:00
Frederic Laing
3844b5c0c5
gl_rasterizer_chache: Minor cleanup
2018-11-15 20:10:05 +01:00
Zach Hilman
c0a9abc3e1
ldr_ro: Implement UnloadNro (command 1)
...
Includes actual unmapping and address error checking.
2018-11-15 12:48:09 -05:00
Zach Hilman
056fa43dcd
ldr_ro: Fully Implement LoadNro (command 0)
...
Includes NRO and BSS error checking, maximum loaded NRO check, NRR hash check, and proper remapping of BSS data.
2018-11-15 12:48:09 -05:00
Zach Hilman
5e8e7b6019
ldr_ro: Implement UnloadNrr (command 3)
...
Includes initialization check, proper address check, alignment check, and actual unloading of a loaded NRR.
2018-11-15 12:48:09 -05:00
Zach Hilman
6cd504feb9
ldr_ro: Fully implement LoadNrr (command 2)
...
Includes parameter error checking, hash enforcement, initialization check, and max NRR load check.
2018-11-15 12:48:09 -05:00
Zach Hilman
0276761a1e
process: Make MirrorMemory take state to map new memory as
...
Credits to Subv
2018-11-15 12:48:09 -05:00
Zach Hilman
8aa17f0480
pl_u: Resize buffers in shared font data getter to what game requests
...
Fixes unmapped spam in SMP and buffer size errors in some other games
2018-11-15 12:47:36 -05:00
bunnei
8a537a2021
Merge pull request #1637 from FernandoS27/cache
...
Improved GPU Caches lookup Speed
2018-11-14 19:07:52 -08:00
bunnei
c6c74248fe
Merge pull request #1697 from lioncash/acc
...
acc/profile_manager: Minor cleanup-related changes
2018-11-14 19:02:25 -08:00
bunnei
0478308094
Merge pull request #1696 from lioncash/acc-cond
...
service/acc: Correct error case within TrySelectUserWithoutInteraction()
2018-11-14 19:02:16 -08:00
bunnei
53b3c3ab7f
Merge pull request #1695 from lioncash/tr
...
yuzu/configure_system: Mark the entropy mask string as nontranslatable
2018-11-14 15:32:04 -08:00
Lioncash
cd47af8af0
service/acc: Correct error case within TrySelectUserWithoutInteraction()
...
empty() in this case will always return false, since the returned
container is a std::array. Instead, check if all given users are invalid
before returning the error code.
2018-11-14 17:43:23 -05:00
Lioncash
9761936e02
profile_manager: Replace iterative loop with a ranged-for loop in ParseUserSaveFile()
2018-11-14 17:13:17 -05:00
Lioncash
1af13e0802
profile_manager: Move UUID Format function definitions into the cpp file
...
Avoids relying on fmt always being indirectly included.
2018-11-14 17:08:59 -05:00
bunnei
c681690358
Merge pull request #1690 from lioncash/nfp
...
nfp: Correct erroneous sizeof expression within GetTagInfo()
2018-11-14 11:55:09 -08:00
bunnei
7384b33c4f
Merge pull request #1689 from lioncash/break
...
hid/npad: Add missing break in switch statement within Controller_NPad::OnUpdate
2018-11-14 11:54:45 -08:00
bunnei
c95ded3a4a
Merge pull request #1688 from lioncash/unused
...
service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
2018-11-14 11:54:29 -08:00
Lioncash
e6676afa18
yuzu/configure_system: Mark the entropy mask string as nontranslatable
...
There's no need for translators to concern themselves with the
validation mask used by the entry field.
2018-11-14 14:53:43 -05:00
bunnei
ebf1b58a22
Merge pull request #1684 from lioncash/common
...
common/string_util: Minor cleanup
2018-11-14 11:53:10 -08:00
bunnei
e1ea8cc721
Merge pull request #1679 from DarkLordZach/deterministic-rng-2
...
svc: Use proper random entropy generation algorithm
2018-11-14 11:52:27 -08:00
Lioncash
b4f63db04e
nfp: Correct erroneous sizeof expression within GetTagInfo()
...
The previous expression would copy sizeof(size_t) amount of bytes (8 on
a 64-bit platform) rather than the full 10 bytes comprising the uuid
member.
Given the source and destination types are the same, we can just use an
assignment here instead.
2018-11-14 12:53:39 -05:00
Lioncash
3619b31fc0
service/audren_u: Forward RequestUpdateAuto through the same function as RequestUpdate
...
Based off RE, they both currently go through the same codepath with no
difference in behavior.
2018-11-14 02:36:21 -05:00
Lioncash
fcde356f15
hid/npad: Add missing break in switch statement within Controller_NPad::OnUpdate()
2018-11-14 00:59:17 -05:00
Lioncash
958fa15a4c
service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
...
When yuzu is compiled in release mode this function is unused, however,
when compiled in debug mode, it's used within a LOG_TRACE statement.
This prevents erroneous compilation warnings about an unused function
(that isn't actually totally unused).
2018-11-14 00:49:04 -05:00
Lioncash
f9db75fe40
kernel/thread: Deduplicate scheduler switching code
...
The code in both places was the same verbatim, so we can extract it to a
function to deduplicate the logic.
2018-11-14 00:02:42 -05:00
bunnei
3bd503d59c
Merge pull request #1662 from FreddyFunk/CopySurface-Optimization
...
gl_rasterizer_cache: CopySurface optimization
2018-11-13 18:58:12 -08:00
bunnei
09f4150241
Merge pull request #1686 from DarkLordZach/move-open-yuzu-folder
...
qt: Move Open yuzu Folder action from Help to File
2018-11-13 18:56:44 -08:00
bunnei
d2b2b05b6a
Merge pull request #1685 from lioncash/base
...
video_core/renderer_base: Remove GL include from the renderer base class files
2018-11-13 18:53:59 -08:00
bunnei
723bd89883
Merge pull request #1677 from FreddyFunk/skip-vao-binding-cleanup
...
engines/maxwell_3d: Minor cleanup
2018-11-13 18:53:38 -08:00
bunnei
70f189d7af
Merge pull request #1680 from lioncash/mem
...
kernel/process: Migrate heap-related memory management out of the process class and into the vm manager
2018-11-13 18:52:18 -08:00
bunnei
a80467db57
Merge pull request #1682 from lioncash/audio
...
hle/audren_u: Implement Get/SetRenderingTimeLimit
2018-11-13 18:51:44 -08:00
bunnei
d2a630c41f
Merge pull request #1683 from lioncash/typo
...
audio_core/audio_renderer: Fix typo in AuxInfo member name
2018-11-13 18:51:35 -08:00
bunnei
9b12623743
Merge pull request #1608 from DarkLordZach/save-data-reader
...
[ns|fsp_srv]: Implement various functions to boot Checkpoint
2018-11-13 18:51:08 -08:00
Lioncash
c7387e6504
string_util: Remove ArrayToString()
...
An old function from Dolphin. This is also unused, and pretty inflexible
when it comes to printing out different data types (for example, one
might not want to print out an array of u8s but a different type
instead. Given we use fmt, there's no need to keep this implementation
of the function around.
2018-11-13 18:14:11 -05:00
Lioncash
f1219e3a87
string_util: Remove TryParse()
...
This is an unused hold-over from Dolphin that was primarily used to
parse values out of the .ini files. Given we already have libraries that
do this for us, we don't need to keep this around.
2018-11-13 18:13:45 -05:00
Zach Hilman
6001af2b89
qt: Move Open yuzu Folder action from Help to File
2018-11-13 17:17:47 -05:00
Lioncash
4ed9ef15c4
video_core/renderer_base: Remove GL include from the renderer base class files
...
Keeps the base class source files implementation-agnostic.
2018-11-13 14:38:13 -05:00
Lioncash
9bc18eada8
string_util: Remove ThousandSeparate()
...
This is currently unused and doesn't really provide much value to keep
around either.
2018-11-13 14:04:26 -05:00
Lioncash
454cf1dc09
hle/audren_u: Implement Get/SetRenderingTimeLimit
...
These appear to be a basic getter and setter pair, so these are fairly
trivial to implement and get out of the way.
2018-11-13 13:49:09 -05:00
Lioncash
81a39181b0
audio_core/audio_renderer: Fix typo in AuxInfo member name
2018-11-13 13:32:13 -05:00
Lioncash
004277477a
vm_manager: Unstub GetTotalHeapUsage()
...
Now that we've moved all of the heap-related stuff to the VMManager
class, we can unstub this function, as the necessary members are visible
now.
2018-11-13 13:08:26 -05:00
Lioncash
b8e885c6e5
kernel/process: Migrate heap-related memory management out of the process class and into the vm manager
...
Avoids a breach of responsibilities in the interface and keeps the
direct code for memory management within the VMManager class.
2018-11-13 13:08:19 -05:00
Zach Hilman
ab552e4a25
svc: Use proper random entropy generation algorithm
2018-11-13 12:26:03 -05:00
Hedges
af42320021
GDBStub improvements:
...
- Add FPU support
- Fix access to TLS
Fix clang-format.
2018-11-13 15:44:20 +00:00
fearlessTobi
9ea8eb6b2e
yuzu: Add hotkey for Amiibo loading
2018-11-13 15:10:39 +01:00
Frederic L
ab362aa7e5
gl_rasterizer: Minor cleanup
...
Minor code cleanup from unaddressed feedback in #1654
2018-11-13 14:07:23 +01:00
Lioncash
9a0fb7d9fb
gl_state: Amend compilation warnings
...
Makes float -> integral conversions explicit via casts and also silences
a sign conversion warning.
2018-11-13 07:10:40 -05:00
bunnei
65bd03d74c
Merge pull request #1628 from greggameplayer/Texture2DArray
...
Implement SurfaceTarget Texture2DArray
2018-11-12 21:13:47 -08:00
bunnei
7f3c2525e6
Merge pull request #1670 from DarkLordZach/deterministic-rng
...
csrng: Add config option to set RNG seed
2018-11-12 21:10:08 -08:00
bunnei
fd72d889bf
Merge pull request #1665 from ogniK5377/GetClockSnapshot
...
Implement GetClockSnapshot, ToPosixTime & ToPosixTimeWithMyRule
2018-11-12 20:13:47 -08:00
Zach Hilman
cb1e63ef09
svc: Return random seed for svcGetInfo RandomEntropy
2018-11-12 21:46:21 -05:00
greggameplayer
c8b3f09876
Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB ( #1666 )
...
* Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB
( needed by Mario+Rabbids Kingdom Battle )
* Small placement correction
2018-11-12 18:34:54 -08:00
bunnei
d08b876c9d
Merge pull request #1650 from FreddyFunk/cast
...
yuzu/main: Fix compiler warning
2018-11-12 18:32:54 -08:00
James Rowe
b4a6ce02ce
Merge pull request #1674 from FearlessTobi/fullscreen-fix
...
yuzu: Add a missing "!" to fix the stuck-in-fullscreen bug
2018-11-12 13:00:25 -07:00
Tobias
9333ee29ca
yuzu: Add a missing "!" to fix the stuck-in-fullscreen bug
2018-11-12 20:57:15 +01:00
Zach Hilman
2a16fd7ffc
settings: Add config option to set RNG seed
2018-11-11 23:09:46 -05:00
Zach Hilman
4b4f883aef
csrng: Use std::mt19937 engine for random number generation
2018-11-11 23:08:39 -05:00
bunnei
2c6efda235
Merge pull request #1660 from Tinob/master
...
Map more missing opengl states
2018-11-11 19:58:16 -08:00
bunnei
7474382266
Merge pull request #1652 from FreddyFunk/static-cast
...
configure_system: Fix compiler warning
2018-11-11 12:19:03 -08:00
bunnei
a264fac943
Merge pull request #1664 from FreddyFunk/cast2
...
gl_rasterizer: Fix compiler warnings
2018-11-11 12:18:29 -08:00
Rodolfo Bogado
72b1fae984
Use core extensions when available to set max anisotropic filtering level
2018-11-11 16:36:53 -03:00
Rodolfo Bogado
4e6c64bf8d
Improve state management by splitting some of the states id separated function to avoid a full apply overhead
2018-11-11 16:36:53 -03:00
Rodolfo Bogado
4a6eff3b7b
Try to fix problems with stencil test in some games, relax translation to opengl enums to avoid crashing and only generate logs of the errors.
2018-11-11 16:31:00 -03:00
Rodolfo Bogado
e9610ec0dd
set sampler max lod, min lod, lod bias and max anisotropy
2018-11-11 16:31:00 -03:00
FernandoS27
3088e36237
Improved GPU Caches lookup Speed
2018-11-11 12:53:25 -04:00
bunnei
eaee73f95d
Merge pull request #1669 from ReinUsesLisp/fixup-gs
...
gl_shader_decompiler: Guard out of bound geometry shader input reads
2018-11-11 08:28:20 -08:00
bunnei
c82bccab56
Merge pull request #1663 from lioncash/raster
...
rasterizer_cache: Remove reliance on the System singleton
2018-11-11 08:20:27 -08:00
bunnei
1916213311
Merge pull request #1648 from FernandoS27/texs-3-array
...
Implement 3 coordinate array in TEXS instruction
2018-11-11 08:18:27 -08:00
bunnei
8ea6261547
Merge pull request #1654 from degasus/dirty_flags
...
gl_rasterizer: Skip VAO binding if the state is clean.
2018-11-11 08:17:57 -08:00
James Rowe
93fca5d9cf
Merge pull request #1656 from ogniK5377/message-queue
...
Ability to switch between docked and undocked mode in-game
2018-11-10 11:27:17 -07:00
David Marcec
48cd61d9c8
Added maybe_unused
2018-11-10 18:07:34 +11:00
David Marcec
ddc242dd51
Added ToPosixTime & ToPosixTimeWithMyRule
...
Added instead of using a seperate PR to prevent conflicts
2018-11-10 17:41:57 +11:00
ReinUsesLisp
8d4bb10d44
gl_shader_decompiler: Guard out of bound geometry shader input reads
...
Geometry shaders follow a pattern that results in out of bound reads.
This pattern is:
- VSETP to predicate
- Use that predicate to conditionally set a register a big number
- Use the register to access geometry shaders
At the time of writing this commit I don't know what's the intent of
this number. Some drivers argue about these out of bound reads. To avoid
this issue, input reads are guarded limiting reads to the highest
posible vertex input of the current topology (e.g. points to 1 and
triangles to 3).
2018-11-10 03:10:50 -03:00
David Marcec
84c6134264
Added consts and static
2018-11-10 12:31:48 +11:00
David Marcec
4f78f5c0df
Implement GetClockSnapshot
...
Needed by megaman 11
2018-11-10 01:25:56 +11:00
Frederic Laing
e2bf581e3a
gl_rasterizer_cache: Remove unnecessary memory allocation and copy in CopySurface
2018-11-08 16:50:09 +01:00
Frederic Laing
1d36aec267
gl_rasterizer: Fix compiler warnings
2018-11-08 13:33:30 +01:00
Lioncash
9046f764bf
rasterizer_cache: Remove reliance on the System singleton
...
Rather than have a transparent dependency, we can make it explicit in
the interface. This also gets rid of the need to put the core include in
a header.
2018-11-08 06:16:38 -05:00
Lioncash
9de523fd90
rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject
...
Ensures that destruction will always do the right thing in any context.
2018-11-08 00:31:39 -05:00
Lioncash
29f082775b
gl_resource_manager: Amend clang-format discrepancies
...
Fixes the buildbot.
2018-11-08 00:23:45 -05:00
bunnei
0e05a9d58f
Merge pull request #1658 from ogniK5377/holdtype-style
...
Updated npad styles on holdtype switches
2018-11-07 20:59:01 -08:00
David
581406af18
svcBreak now dumps information from the debug buffer passed ( #1646 )
...
* svcBreak now dumps information from the debug buffer passed
info1 and info2 seem to somtimes hold an address to a buffer, this is usually 4 bytes or the size of the int and contains an error code. There's other circumstances where it can be something different so we hexdump these to examine them at a later date.
* Addressed comments
2018-11-07 20:43:54 -08:00
bunnei
481d8716e0
Merge pull request #1655 from ogniK5377/shantae
...
Implement acc:TrySelectUserWithoutInteraction
2018-11-07 20:41:06 -08:00
FernandoS27
d347623d6f
Correct issue where texturelod could not be applied to 2darrayshadow
2018-11-07 21:48:45 -04:00
David Marcec
40db288a2a
Renamed CheckIfOperationChanged to OnDockedModeChanged
2018-11-08 12:12:00 +11:00
FernandoS27
ad2f47b579
Implement 3 coordinate array in TEXS instruction
2018-11-07 17:04:30 -04:00
David Marcec
a9c25ab9e4
Updated npad styles on holdtype switches
...
Fixes input for megaman
2018-11-08 01:07:14 +11:00
David Marcec
fd1ef25257
Fixups
2018-11-07 20:12:27 +11:00
bunnei
81ff9e2473
Merge pull request #1630 from bunnei/fix-mapbufferex
...
memory_manager: Do not MapBufferEx over already in use memory.
2018-11-07 00:14:36 -08:00
bunnei
74bce4d68f
Merge pull request #1635 from Tinob/master
...
Implement multi-target viewports and blending
2018-11-07 00:11:49 -08:00
David Marcec
41e99d8880
Ability to switch between docked and undocked mode in-game
...
Started implementation of the AM message queue mainly used in state getters. Added the ability to switch docked mode whilst in game without stopping emulation. Also removed some things which shouldn't be labelled as stubs as they're implemented correctly
2018-11-07 18:01:33 +11:00
David Marcec
ad45d68871
fixed spelling error
2018-11-07 12:04:43 +11:00
David Marcec
49cb4fa37b
Added missing log
2018-11-07 11:46:04 +11:00
David Marcec
92fcc6d15a
Implement acc:TrySelectUserWithoutInteraction
...
Needed for Shantae - Half-Genie Hero - Ultimate Edition!
2018-11-07 11:45:01 +11:00
Markus Wick
359db6a673
gl_rasterizer: Skip VAO binding if the state is clean.
2018-11-06 22:31:33 +01:00
Markus Wick
0590dd2971
gl_rasterizer: Split VAO and VB setup functions.
2018-11-06 22:31:33 +01:00
greggameplayer
d3b9599b2d
Merge branch 'master' into Texture2DArray
2018-11-06 19:05:57 +01:00
Markus Wick
2c87f10267
gl_rasterizer_cache: Add profiles for Copy and Blit.
...
They were missed, and Copy is very high in profile here. It doesn't block the GPU,
but it stalls the driver thread. So with our bad GL instructions, this might block quite a while.
2018-11-06 17:45:32 +01:00
Markus Wick
7e59e907ef
gl_resource_manager: Profile creation and deletion.
2018-11-06 17:45:32 +01:00
Markus Wick
80e4dbdce7
gl_stream_buffer: Profile orphaning of stream buffer.
...
This serialize to the driver thread and so it may block for a while.
So if it is in the benchmark, we get noticed if it happens too often.
2018-11-06 17:45:32 +01:00
Markus Wick
2ba4d878e5
microprofile: Drop ReleaseActiveBuffer scope.
...
This was created with the unfinished resampling PR in mind.
As the resampling is now on the audio thread, we don't need to care about this here any more.
2018-11-06 17:45:32 +01:00
Frederic Laing
d34d0bfc87
configure_system: Fix compiler warning
2018-11-06 16:38:10 +01:00
Frederic Laing
6c8b788d32
yuzu/main: Fix compiler warning
2018-11-06 15:22:24 +01:00
Markus Wick
54df9fe29e
gl_resource_manager: Split implementations in .cpp file.
...
Those implementations are quite costly, so there is no need to inline them to the caller.
Ressource deletion is often a performance bug, so in this way, we support to add breakpoints to them.
2018-11-06 14:40:39 +01:00
Frederic Laing
ba2cdcdc5a
Implement SetMemoryPermission
2018-11-06 10:21:01 +01:00
bunnei
cdb19e71fe
Merge pull request #1616 from FernandoS27/cube-array
...
Implement Cube Arrays
2018-11-05 15:28:48 -05:00
bunnei
722e7c05de
Merge pull request #1633 from ogniK5377/reload-input
...
Fixed HID crash when launching more than 1 game & signaled styleset change event
2018-11-05 00:21:27 -05:00
bunnei
e10483a878
Merge pull request #1441 from CarlKenner/DebuggerLog
...
logging: Add DebuggerBackend for logging to Visual Studio
2018-11-05 00:19:59 -05:00
bunnei
acdc770cfb
Merge pull request #1639 from DarkLordZach/open-yuzu-folder
...
qt: Add help option to open yuzu folder
2018-11-05 00:19:15 -05:00
Rodolfo Bogado
19038db489
Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets.
2018-11-05 00:24:19 -03:00
Rodolfo Bogado
145ae36963
Implement multi-target viewports and blending
2018-11-04 20:49:48 -03:00
bunnei
38c1c500ab
Merge pull request #1625 from FernandoS27/astc
...
Implement ASTC Textures 5x5 and fix a bunch of ASTC texture problems
2018-11-04 18:47:26 -05:00
Mat M
d46e0acb3c
Merge pull request #1645 from dharmin/master
...
Fix quickstart link
2018-11-04 18:05:33 -05:00
Dharmin K Shah
b2647dba33
Fix quickstart link
2018-11-05 00:36:49 +05:30
Frederic Laing
1c4365d928
Fix typo in BufferTransformFlags
2018-11-04 16:56:10 +01:00
Zach Hilman
52e7e8eed3
game_list: Only reload game list after relevant settings changed
...
Prevents unnecessary reloads on every configuration operation.
2018-11-03 20:38:39 -04:00
Zach Hilman
0080a8da58
sm: Implement RegisterService and UnregisterService
...
These are needed by Edizon to boot. They are used to see if a user is using SX OS, as SX OS registers a custom service called 'tx' and attempting to register a service of the same name lets the application know if it is present.
2018-11-03 20:02:18 -04:00
Zach Hilman
97187b7ef6
qt: Add help option to open yuzu folder
...
Opens a new file manager window at the UserDir.
2018-11-03 12:48:34 -04:00
Frederic Laing
ab7472345b
Stubbed SetMemoryPermission
2018-11-03 16:01:34 +01:00
greggameplayer
9249fadb9e
correct syntax
2018-11-02 14:28:28 +01:00
greggameplayer
cb8e4a4633
Merge branch 'master' into Texture2DArray
2018-11-02 14:26:32 +01:00
David Marcec
03c26d3406
Fixed incorrect hwopus assert
2018-11-02 15:23:38 +11:00
David Marcec
0bc323bafb
Fixed HID crash when launching more than 1 game & signaled syleset change event
...
This should fix crashes when launching multiple games in yuzu
2018-11-02 12:35:49 +11:00
Zach Hilman
2d2ef05d8c
game_list: Make add-ons column optional
...
As the add-ons column takes the most processing time out of any (as it needs to search registration for updates/dlc, patch control NCAs, search for mods, etc.), an option was added to disable it. This does not affect the application of add-ons. In large game collections, this decreases game list refresh time by as much as 70%.
2018-11-01 20:27:12 -04:00
Zach Hilman
8f183a47dd
filesystem: Cache RegisteredCacheUnion instead of constructing on demand
...
Prevents unnecessary re-reads of the metadata and unnecessary temporary objects.
2018-11-01 20:24:32 -04:00
Zach Hilman
97d425c304
file_sys: Use common KeyManager in NCA container types
...
Creates a single KeyManager for the entire container and then passes it into the NCA constructor, eliminating several unnecessary KeyManager reads.
2018-11-01 20:23:38 -04:00
Zach Hilman
e20db909ee
content_archive: Add optional KeyManager parameter to constructor
...
Allows resuing a common KeyManager when a large amount of NCAs are handled by the same class. Should the parameter not be provided, a new KeyManager will be constructed, as was the default behavior prior to this.
2018-11-01 20:22:29 -04:00
FernandoS27
60a184455c
Fix ASTC Decompressor to support depth parameter
2018-11-01 19:22:12 -04:00
bunnei
1069eced84
Merge pull request #1615 from lioncash/input
...
configure_system: Contrain profile usernames to 32 characters
2018-11-01 19:10:26 -04:00
bunnei
4aa9779ae1
memory_manager: Do not MapBufferEx over already in use memory.
...
- This fixes rendering when changing areas in Super Mario Odyssey.
2018-11-01 18:57:59 -04:00
bunnei
cc1fe93297
Merge pull request #1623 from Tinob/master
...
Improve OpenGL state handling
2018-11-01 15:53:33 -04:00
FernandoS27
aee93f98f9
Fix ASTC formats
2018-11-01 13:08:19 -04:00
FernandoS27
31930a3334
Implemented ASTC 5x5
2018-11-01 13:06:24 -04:00
FernandoS27
678c18aa5c
Implement Cube Arrays
2018-11-01 11:56:19 -04:00
bunnei
9afcbba8e4
Merge pull request #1527 from FernandoS27/assert-flow
...
Assert Control Flow Instructions using Control Codes
2018-11-01 00:34:56 -04:00
bunnei
de0ab806df
maxwell_3d: Restructure macro upload to use a single macro code memory.
...
- Fixes an issue where macros could be skipped.
- Fixes rendering of distant objects in Super Mario Odyssey.
2018-10-31 23:29:21 -04:00
bunnei
d08457f879
Merge pull request #1604 from FearlessTobi/port-4369
...
Port citra-emu/citra#4369 : "compatdb: Use a seperate endpoint for testcase submission"
2018-10-31 22:37:07 -04:00
bunnei
86e70cf302
Merge pull request #1528 from FernandoS27/assert-control-codes
...
Assert Control Codes Generation on Shader Instructions
2018-10-31 22:34:18 -04:00
bunnei
0b33d38e9b
Merge pull request #1614 from ReinUsesLisp/surface-params
...
video_core: Move surface declarations out of gl_rasterizer_cache
2018-10-31 22:31:02 -04:00
Lioncash
a6830e61b8
configure_system: Contrain profile usernames to 32 characters
...
Previously, we would let a user enter an unbounded name and then
silently truncate away characters that went over the 32-character limit.
This is kind of bad from the UX point of view, because we're essentially
not doing what the user intended in certain scenarios.
Instead, we clamp it to 32 characters and make that visually apparent in
the dialog box to provide a name for a user.
2018-10-31 02:05:00 -04:00
greggameplayer
9ae972ab4e
Implement SurfaceTarget Texture2DArray
...
( needed by Mario+Rabbids Kingdom Battle )
2018-10-31 04:29:15 +01:00
Rodolfo Bogado
aca218aea0
Improve OpenGL state handling
2018-10-30 21:19:04 -03:00
Lioncash
9b9c586dff
service/usb: Update IPdSession's function table
...
Updated based off information on SwitchBrew.
2018-10-30 15:23:49 -04:00
ReinUsesLisp
76754f5705
video_core: Move surface declarations out of gl_rasterizer_cache
2018-10-30 16:07:20 -03:00
FernandoS27
5bb80ab009
Assert Control Codes Generation
2018-10-30 13:37:55 -04:00
bunnei
da5fcbf501
Merge pull request #1624 from lioncash/boost
...
general: Remove unused boost inclusions where applicable
2018-10-30 13:13:39 -04:00
bunnei
c31412c433
Merge pull request #1595 from FreddyFunk/cast
...
configure_system: Fix compiler warning
2018-10-30 00:27:41 -04:00
Lioncash
352b56367c
general: Remove unused boost inclusions where applicable
...
Cleans up unused includes and trims off some dependencies on externals.
2018-10-30 00:09:46 -04:00
Frederic L
7a5eda5914
global: Use std::optional instead of boost::optional ( #1578 )
...
* get rid of boost::optional
* Remove optional references
* Use std::reference_wrapper for optional references
* Fix clang format
* Fix clang format part 2
* Adressed feedback
* Fix clang format and MacOS build
2018-10-30 00:03:25 -04:00
bunnei
adf26ae668
Merge pull request #1621 from lioncash/ipc
...
hle_ipc: Make GetDomainMessageHeader return a regular pointer
2018-10-29 23:55:59 -04:00
Lioncash
6383653a8d
hle_ipc: Add member function for querying the existence of a domain header
...
Gets rid of the need to call the getter and then check for null.
2018-10-29 23:28:04 -04:00
Lioncash
0cc347462d
hle_ipc: Make GetDomainMessageHeader return a regular pointer
...
Nothing requires the shared owner ship here, so we can just return a
plain pointer.
2018-10-29 23:18:25 -04:00
bunnei
938e45eb83
Merge pull request #1611 from lioncash/const
...
core: Add missing const variants of getters for the System class
2018-10-29 22:48:59 -04:00
bunnei
c5a849212f
Merge pull request #1580 from FernandoS27/mm-impl
...
Implemented Mipmaps
2018-10-29 22:34:00 -04:00
bunnei
f1cb425d92
Merge pull request #1617 from FearlessTobi/fix-stretch-delay
...
time_stretch: Switch to values of Citra
2018-10-29 19:09:30 -04:00
Zach Hilman
bdaa76c0db
ns: Implement command 400: GetApplicationControlData
...
Returns the raw NACP bytes and the raw icon bytes into a title-provided buffer. Pulls from Registration Cache for control data, returning all zeros should it not exist.
2018-10-29 16:20:16 -04:00
Zach Hilman
1c0226815d
patch_manager: Add support for dumping decompressed NSOs
...
When enabled in settings, PatchNSO will dump the unmodified NSO that it was passed to a file named <build id>.nso in the dump root for the current title ID.
2018-10-29 16:10:16 -04:00
Zach Hilman
48eb3742b9
settings: Add setting to control NSO dumping
...
Also adds UI option in Debug > Dump section, with the idea later things to be dumped (i.e. other game data or textures, etc) will use the same group box.
2018-10-29 16:09:08 -04:00
Zach Hilman
9078bb9854
bis_factory: Add getter for mod dump root for a title ID
...
Equates to yuzu_dir/dump/<title id>/
2018-10-29 16:08:03 -04:00
Zach Hilman
5ee19add1b
fsp_srv: Implement ISaveDataInfoReader
...
An object to read SaveDataInfo objects, which describe a unique save on the system. This implementation iterates through all the directories in the save data space and uses the paths to reconstruct the metadata.
2018-10-29 13:54:39 -04:00
Zach Hilman
2e8177f0c9
fsp_srv: Implement command 61: OpenSaveDataInfoReaderBySaveDataSpaceId
...
Needed by Checkpoint. Returns an object that can iterate through all savedata on the system.
2018-10-29 13:54:39 -04:00
Zach Hilman
df264d2ccb
savedata_factory: Expose accessors for SaveDataSpace
2018-10-29 13:54:38 -04:00
Zach Hilman
f2f679bf3f
loader/nro: Call RegisterRomFS from Load
...
Allows NRO homebrew to use the RomFS in the ASET section.
2018-10-29 13:54:38 -04:00
Zach Hilman
b04e39107f
control_metadata: Add GetRawBytes function to NACP
...
Returns the raw bytes of the NACP file. Needed for GetApplicationControlData which returns the raw, unprocessed NACP to the game.
2018-10-29 13:54:38 -04:00
bunnei
0270906dbf
Merge pull request #1613 from ReinUsesLisp/gl-utils
...
video_core: Move OpenGL specific utils to its renderer
2018-10-29 13:22:14 -04:00
fearlessTobi
655694253a
time_stretch: Switch to values of Citra
2018-10-29 14:49:36 +01:00
bunnei
5d7167dfca
Merge pull request #1610 from slashiee/dxt1-alpha
...
renderer_opengl: Enable alpha channel for DXT1 texture format
2018-10-28 21:29:43 -04:00
ReinUsesLisp
80cbd81276
video_core: Move OpenGL specific utils to its renderer
2018-10-28 22:22:30 -03:00
Rodolfo Bogado
e8b565b239
renderer_opengl: Correct bpp value for ASTC_2D_8X5_SRGB
2018-10-28 20:52:57 -03:00
FernandoS27
3aa8b644a9
Assert Control Flow Instructions using Control Codes
2018-10-28 19:16:41 -04:00
FernandoS27
dde3094058
Fixed black textures, pixelation and we no longer require to auto-generate mipmaps
2018-10-28 19:00:49 -04:00
FernandoS27
f0e902a7d6
Fixed mipmap block autosizing algorithm
2018-10-28 19:00:05 -04:00
FernandoS27
87f8181405
Fixed Invalid Image size and Mipmap calculation
2018-10-28 19:00:04 -04:00
FernandoS27
f4432b5d0c
Fixed Block Resizing algorithm and Clang Format
2018-10-28 19:00:03 -04:00
FernandoS27
258f0f5c31
Implement Mip Filter
2018-10-28 19:00:01 -04:00
FernandoS27
dc85e3bff1
Zero out memory region of recreated surface before flushing
2018-10-28 19:00:00 -04:00
FernandoS27
bbf3b2da0c
Implement Mipmaps
2018-10-28 18:59:59 -04:00
Lioncash
a973a049b7
core: Make System references const where applicable
2018-10-28 17:45:29 -04:00
Lioncash
b77f571d20
core: Add missing const variants of getters for the System class
...
Many of the Current<Thing> getters (as well as a few others) were
missing const qualified variants, which makes it a pain to retrieve
certain things from const qualified references to System.
2018-10-28 17:44:58 -04:00
Michael
635d1e5651
Enable alpha channel for DXT1 texture format
2018-10-28 14:11:04 -07:00
Frederic Laing
f50f065c31
configure_system: Fix compiler warning
2018-10-28 21:13:09 +01:00
Tobias
351d5a2227
Correct bpp value for ASTC_2D_8X5
2018-10-28 19:49:10 +01:00
bunnei
aa1cf608ed
Merge pull request #1601 from FernandoS27/shader-precision
...
Improved Shader accuracy on Vertex and Geometry Shaders.
2018-10-28 13:06:21 -04:00
FernandoS27
e5ca097e32
Refactor precise usage and add FMNMX, MUFU, FMUL32 and FADD332
2018-10-28 11:38:40 -04:00
fearlessTobi
585b6a6a50
compatdb: Use a seperate endpoint for testcase submission
2018-10-28 13:23:02 +01:00
bunnei
2239d47112
Merge pull request #1593 from lioncash/svc
...
svc: Implement svcGetInfo command 0xF0000002
2018-10-28 04:38:48 -04:00
Frederic L
72d10ce66c
file_sys/patch_manager: Remove unnecessary if-statements ( #1586 )
...
* remove unnecessary if-statements
* Addressed feedback
2018-10-28 02:30:29 -04:00
bunnei
0d449b77e2
Merge pull request #1598 from DeeJayBro/delete-directory
...
service/filesystem: Implemented DeleteDirectory & DeleteDirectoryRecursive
2018-10-28 02:29:52 -04:00
bunnei
6f620b2441
Merge pull request #1600 from DarkLordZach/nsp-secondary-loader-fix
...
loader/nsp: Move secondary loader initialization to constructor
2018-10-28 02:29:14 -04:00
Rodolfo Bogado
0287b2be6d
Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support
2018-10-28 01:13:55 -03:00
bunnei
a9d60c6103
Merge pull request #1602 from DarkLordZach/key-derivation-isxdigit
...
key_manager: Use isxdigit instead of isdigit when reading key file
2018-10-27 23:54:48 -04:00
Zach Hilman
1fa31cf74d
key_manager: Use isxdigit instead of isdigit when reading key file
...
Crypto revisions are hex numbers and this function only checks if the string is valid for stoul in base 16, so it should be isxdigit.
2018-10-27 21:56:10 -04:00
bunnei
8d89e88d2c
Merge pull request #1597 from lioncash/error
...
configure_system: Indicate when filesystem operations fail
2018-10-27 21:09:31 -04:00
bunnei
d63f5acb15
Merge pull request #1594 from FreddyFunk/static-cast
...
gl_rasterizer_cache: Fix compiler warning
2018-10-27 21:09:06 -04:00
FernandoS27
d8d557df86
Improved Shader accuracy on Vertex and Geometry Shaders with FFMA, FMUL and FADD
2018-10-27 20:09:26 -04:00
bunnei
a9dc34ea5c
Merge pull request #1596 from FearlessTobi/port-4367
...
Port citra-emu/citra#4367 : "cubeb_sink: ignore null-name device when selecting"
2018-10-27 13:26:24 -04:00
bunnei
ed95ce6bb7
Merge pull request #1592 from bunnei/prim-restart
...
gl_rasterizer: Implement primitive restart.
2018-10-27 13:25:00 -04:00
FernandoS27
705300992e
Implement Default Block Height for each format
2018-10-27 10:17:39 -04:00
Zach Hilman
7c70746ec4
loader/nsp: Move secondary loader initialization to constructor
...
Prevents nullptr bug when trying to dump the RomFS of an NSP resulting from secondary_loader not being initialized.
2018-10-27 10:16:29 -04:00
Frederic Laing
0bf24d310e
gl_rasterizer_cache: Fix compiler warning
2018-10-27 13:06:26 +02:00
DeeJayBro
3b1e4c0995
service/filesystem: Add DirectoryDelete & DirectoryDeleteRecursively
2018-10-27 11:56:39 +02:00
Lioncash
9024cbb5b8
configure_system: Make GetIcon() return the scaled 64x64 icon
...
Avoids the need to put the scaling parameters all over the place for the
common case. The only other time scaling is done is to generate the
smaller 48x48 image, so this is fine.
2018-10-27 01:05:56 -04:00
Lioncash
85ed0af84e
configure_system: Move entry formatting for the user account list entries to its own function
...
Avoids the need to duplicate this all over the place, and makes it
translator-friendly across the board.
2018-10-27 01:05:56 -04:00
Lioncash
8eaf857d06
configure_system: Display errors to the user if file operations fail when setting user images
...
We should display an error to the user if setting a user image for an
account fails, rather than continuing onwards.
2018-10-27 01:05:50 -04:00
Weiyi Wang
12c365b549
cubeb_sink: ignore null-name device when selecting
...
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
2018-10-27 00:43:04 +02:00
Lioncash
7de8e36343
svc: Localize the GetInfo enum class to the function itself
...
Nothing from this enum is intended to be used outside of this function.
2018-10-26 12:49:14 -04:00
Lioncash
6594853eb1
svc: Implement svcGetInfo command 0xF0000002
...
This retrieves:
if (curr_thread == handle_thread) {
result = total_thread_ticks + (hardware_tick_count - last_context_switch_ticks);
} else if (curr_thread == handle_thread && sub_id == current_core_index) {
result = hardware_tick_count - last_context_switch_ticks;
}
2018-10-26 12:49:11 -04:00
bunnei
58444a0376
gl_rasterizer: Implement primitive restart.
2018-10-26 00:42:57 -04:00
bunnei
d278f25bda
Merge pull request #1533 from FernandoS27/lmem
...
Implemented Shader Local Memory
2018-10-26 00:16:25 -04:00
bunnei
72e6b31a07
Merge pull request #1430 from DarkLordZach/remove-promote-dir
...
vfs: Remove InterpretAsDirectory and related functions
2018-10-26 00:15:34 -04:00
bunnei
1f98dc30ea
Merge pull request #1591 from bunnei/depth-range
...
gl_rasterizer: Implement depth range.
2018-10-26 00:12:20 -04:00
bunnei
949d9a7136
maxwell_3d: Add code for initializing register defaults.
2018-10-25 23:42:39 -04:00
bunnei
debabf1fa6
Merge pull request #1569 from lioncash/amiibo
...
yuzu/main: Notify user of loading errors with Amiibo data
2018-10-25 22:10:08 -04:00
bunnei
476b9f8fc5
Merge pull request #1587 from lioncash/private
...
configure_system: Minor cleanup-related changes
2018-10-25 22:08:06 -04:00
bunnei
8cea598158
gl_rasterizer: Implement depth range.
2018-10-25 21:53:24 -04:00
bunnei
cebce2a93a
ldr: Partially implement LoadNro.
...
- This is an incomplete implementation. It was tested with Super Mario Party.
2018-10-25 18:03:54 -04:00
bunnei
c2049aa4e5
process: LoadModule should clear JIT instruction cache.
2018-10-25 18:03:54 -04:00
bunnei
a609b6907a
Kernel/Memory: Added a function to first a suitable guest address at which to allocate a region of a given size.
2018-10-25 18:03:54 -04:00
bunnei
ef7b2237d9
nro: Make LoadNro method accessible outside of apploader code.
2018-10-25 18:03:54 -04:00
Lioncash
85285b09b0
configure_system: Make the file selector text translatable
...
This should be localizable, since it's user-facing text.
2018-10-25 17:27:30 -04:00
Lioncash
5172354e29
configure_system: Make GetAccountUsername() an internal function
...
We can just make the function accept an arbitrary ProfileManager
reference and operate on that instead of tying the function to the class
itself. This allows us to keep the function internal to the cpp file and
removes the need to forward declare the UUID struct.
2018-10-25 17:27:25 -04:00
Lioncash
bf7da804c5
configure_system: Default initialize member variables
...
These should be initialized to deterministic values so it's easier to
catch improper behavior, as it'll always be reproducable, instead of
performing uninitialized reads.
2018-10-25 16:52:23 -04:00
Lioncash
8806e69f59
configure_system: Simplify UUID generation call in AddUser()
...
This is a static function so we can just perform an assignment directly.
2018-10-25 16:50:07 -04:00
Lioncash
a6addb5332
configure_system: Amend function casing
2018-10-25 16:47:09 -04:00
Lioncash
2347e1b8c5
configure_system: Add missing override specifier on the destructor
2018-10-25 16:45:13 -04:00
Lioncash
3c63cecb96
configure_system: Make public slots private
...
These are only used within this class, so we can make them private to
keep their use contained. This also gets rid of the pre-Qt5 'slot'
identifier, since Qt 5's connection syntax doesn't require a function to
be declared a slot anymore.
2018-10-25 16:43:44 -04:00
Zach Hilman
9a87ece837
ips_layer: Use rle_size instead of data_size in RLE patch application
...
Prevents a potential bug when using RLE records in an IPS patch.
2018-10-25 14:23:56 -04:00
bunnei
2bc2b32662
Merge pull request #1579 from lioncash/usb
...
service/usb: Update service function tables
2018-10-25 12:22:57 -04:00
bunnei
0634aee267
Merge pull request #1576 from lioncash/acc-warn
...
service/acc: Silence compiler truncation warnings
2018-10-25 12:22:10 -04:00
bunnei
c94db0e071
Merge pull request #1577 from lioncash/err
...
kernel/error: Amend error return code values
2018-10-25 01:10:26 -04:00
bunnei
f7a173de6c
Merge pull request #1524 from FernandoS27/layers-fix
...
rasterizer: Fix Layered Textures Loading and Cubemaps
2018-10-25 00:29:18 -04:00
bunnei
b43cfe6c02
Merge pull request #1575 from lioncash/qstring
...
game_list_worker: Use QString's formatting instead of fmt in FormatPatchNameVersions()
2018-10-24 19:39:43 -04:00
Lioncash
fbbb58b226
service/usb: Update service function tables
...
Updated based off the information provided by Hexkyz on Switchbrew.
2018-10-24 19:07:55 -04:00
Lioncash
1e3b139cd7
service/acc: Move fallback image to file scope
...
This is just flat data, so it doesn't really need to be in the function
itself. This also allows deduplicating the constant for the backup size
in GetImageSize().
2018-10-24 18:22:24 -04:00
Lioncash
6f00628564
service/acc: Silence compiler warnings
...
Silences compiler warnings related to truncation. This also introduces a
small helper function to perform the clamping of the image size.
2018-10-24 18:22:24 -04:00
Lioncash
3ec90dc6ef
service/acc: Early return in failure case in LoadImage()
...
Allows unindenting the other branch's code.
2018-10-24 18:22:20 -04:00
bunnei
9aa5c1894e
Merge pull request #1570 from lioncash/optional
...
profile_manager: Use std::optional instead of boost::optional
2018-10-24 18:11:03 -04:00
bunnei
3a6e76e9b5
Merge pull request #1558 from lioncash/ptr
...
yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
2018-10-24 18:07:14 -04:00
FernandoS27
ca142f35c0
Implemented LD_L and ST_L
2018-10-24 17:51:53 -04:00
FernandoS27
abefe29398
Implement Shader Local Memory
2018-10-24 17:50:43 -04:00
bunnei
29f748a658
Merge pull request #1565 from lioncash/audio
...
time_stretch: Remove unused m_channel_count member variable
2018-10-24 17:39:53 -04:00
bunnei
69b35d7615
Merge pull request #1554 from FernandoS27/pointsize
...
Implement PointSize Output Attribute.
2018-10-24 17:38:38 -04:00
bunnei
b723390ab1
Merge pull request #1571 from lioncash/debug-translate
...
graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function
2018-10-24 17:37:18 -04:00
bunnei
ce2403d975
Merge pull request #1564 from lioncash/npad
...
npad: Remove unused controller variable from OnInit()
2018-10-24 17:36:55 -04:00
bunnei
d9590d7dfa
Merge pull request #1568 from lioncash/dir
...
game_list: Use QFileInfo instead of common's file functions
2018-10-24 17:13:51 -04:00
bunnei
2694b43d3a
Merge pull request #1567 from lioncash/translate
...
game_list: Make game list column headers translatable
2018-10-24 17:13:08 -04:00
bunnei
e6e17a3fc6
Merge pull request #1566 from lioncash/str
...
bootmanager: Use QStringLiteral instead of std::string to represent the window title.
2018-10-24 17:12:53 -04:00
bunnei
ddff188c65
Merge pull request #1563 from lioncash/frame
...
perf_stats: Remove unused variable within DoFrameLimiting()
2018-10-24 16:29:16 -04:00
bunnei
d14ba122e2
Merge pull request #1562 from lioncash/aoc
...
aoc_u: Make use of previously-unused CheckAOCTitleIDMatchesBase() function
2018-10-24 16:28:56 -04:00
bunnei
2eff8336f4
Merge pull request #1560 from lioncash/unused
...
maxwell_3d/decoders: Remove unused variables
2018-10-24 16:28:38 -04:00
bunnei
cdd499c261
Merge pull request #1561 from lioncash/fs
...
file_sys: Remove unused variables
2018-10-24 16:28:17 -04:00
bunnei
e65f5e4d66
Merge pull request #1559 from lioncash/log
...
logging/backend: Add missing services to the log filters
2018-10-24 16:28:01 -04:00
Lioncash
1fb4bebb63
kernel/errors: Remove now-unused, unnecessary, error codes
...
Now that we've gotten the innaccurate error codes out of the way, we can
finally toss away a bunch of these, trimming down the error codes to
ones that are actually used and knocking out two TODO comments.
2018-10-24 14:58:37 -04:00
Lioncash
239dfea34a
kernel/shared_memory: Return ERR_INVALID_MEMORY_PERMISSIONS instead of ERR_INVALID_COMBINATION
...
This is more consistent with what the kernel does.
2018-10-24 14:54:36 -04:00
Lioncash
474bc29208
kernel/server_port: Simplify emptiness check within ShouldWait()
2018-10-24 14:24:36 -04:00
Lioncash
b703aba622
kernel/server_port: Change error case return value in Accept() to ERR_NOT_FOUND
...
This is what the kernel does in this instance.
2018-10-24 14:23:38 -04:00
Lioncash
afb7e5cc05
kernel/error: Remove leftover 3DS error codes
...
These are now entirely unused and can be removed.
2018-10-24 14:21:37 -04:00
Lioncash
fcf8f53a63
kernel/svc: Amend returned error code for invalid priorities in CreateThread
...
Like with the previous change, the kernel doesn't return NOT_AUTHORIZED
here. It returns INVALID_THREAD_PRIORITY.
2018-10-24 14:11:11 -04:00
Lioncash
77328b0f19
kernel/svc: Move and correct returned error code for invalid thread priorities in SetThreadPriority()
...
All priority checks are supposed to occur before checking the validity
of the thread handle, we're also not supposed to return
ERR_NOT_AUTHORIZED here.
2018-10-24 14:10:48 -04:00
Lioncash
c7c346a15d
kernel/error: Add error code for invalid pointers
...
The kernel appears to return 0xE601 for this situation. Particularly in
svcWaitSynchronization, svcReplyAndReceive, and svcGetThreadContext
2018-10-24 13:41:32 -04:00
Lioncash
6df09f5b76
kernel/error: Add error code for closed sessions
...
The kernel appears to return 0xF601 for this case.
2018-10-24 13:38:39 -04:00
Lioncash
1edf8660bc
game_list_worker: Use QString's formatting instead of fmt in FormatPatchNameVersions()
...
Using fmt here requires unnecessary string conversions back into
QString. Instead, we can just use QString's formatting and get the end
result of the formatting operation in the proper type.
2018-10-24 11:27:35 -04:00
Lioncash
4a31f99a02
profile_manager: Use std::optional instead of boost::optional
...
Now that we can actually use std::optional on macOS, we don't need to
continue using boost::optional here.
2018-10-24 11:06:52 -04:00
Lioncash
030847d5fa
graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function
...
tr() will not function properly on static/global data like this, as the
object is only ever constructed once, so the strings won't translate if
the language is changed without restarting the program, which is
undesirable. Instead we can just turn the map into a plain old function
that maps the values to their equivalent strings. This is also lessens
the memory allocated, since it's only allocating memory for the strings
themselves, and not an encompassing map as well.
2018-10-24 11:01:23 -04:00
Lioncash
bed2d6c425
yuzu/main: Notify user of loading errors with Amiibo data
...
We shouldn't silently continue if loading failed, since the general
assumption is that no messages showing up implicitly indicates success.
2018-10-24 10:39:31 -04:00
Mat M
77e705a8fa
Merge pull request #1468 from DarkLordZach/profile-manager-ui
...
qt: Add UI to manage emulated user profiles
2018-10-24 10:10:29 -04:00
Zach Hilman
e7ac42677b
configure_system: Clear current username before overwriting
...
Prevents bug where old username would remain if the new username was shorter in length.
2018-10-24 09:25:20 -04:00
Lioncash
a1c85b8c55
game_list: Use QFileInfo instead of common's file functions
...
We can just use the facilities that Qt provides instead of pulling in
stuff from common. While we're at it, we can also simplify the nearby
logging statement's argument by just calling .toStdString()
2018-10-24 08:40:22 -04:00
Lioncash
47f081d513
game_list: Make game list column headers translatable
...
These are user-facing strings, so they should be marked as translatable
2018-10-24 08:20:35 -04:00
Lioncash
2cbc284c2b
bootmanager: Use QStringLiteral instead of std::string to represent the window title
...
This gets rid of an unnecessary type conversion. We can just use the
regular QStringLiteral to already format the string as the type
setWindowTitle accepts instead of converting from a std::string
instance.
2018-10-24 08:14:26 -04:00
Lioncash
6d27614994
time_stretch: Remove unused m_channel_count member variable
...
This is only stored to, but never read from.
2018-10-24 00:46:17 -04:00
Lioncash
93596d03ec
npad: Remove unused controller variable from OnInit()
...
This also gets rid of variable shadowing related to the lambda parameter
a little bit below this code as well.
2018-10-24 00:38:03 -04:00
Lioncash
7c9f7aeacc
perf_stats: Remove unused variable within DoFrameLimiting()
...
This hasn't been used since ba8ff096fd
2018-10-24 00:33:26 -04:00
Lioncash
6949f73149
yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
...
Same behavior, less code.
2018-10-24 00:24:02 -04:00
Lioncash
a3d1ede25f
aoc_u: Make use of previously-unused CheckAOCTitleIDMatchesBase() function
...
We can just call the function instead of duplicating the code here. This
also prevents an unused function warning.
We also don't need to take the lambda capture by reference. It's just a
u64 value, so by value is fine here.
2018-10-24 00:13:08 -04:00
Lioncash
c7c594a6b8
vfs: Handle failure of file reading within VfsRawCopy()
...
Also gets rid of an unused variable.
2018-10-24 00:01:32 -04:00
Lioncash
c6529688fc
key_manager: Remove unused variable in DeriveBase()
2018-10-24 00:00:12 -04:00
Lioncash
257b7bbfee
decoders: Remove unused variable within SwizzledData()
2018-10-23 23:51:13 -04:00
Lioncash
a97cdb5eb4
maxwell_3d: Remove unused variable within ProcessQueryGet()
2018-10-23 23:50:16 -04:00
Lioncash
f80b80b922
logging/backend: Add missing services to the log filters
...
Just a few overlooked services.
2018-10-23 22:35:59 -04:00
Lioncash
6f5bede402
yuzu/configuration/config: Reorganize member variable and function layout
...
Makes the class layout consistent with the others.
2018-10-23 21:46:49 -04:00
bunnei
a94e5d9e68
Merge pull request #1551 from ogniK5377/improved-svcbreak
...
Added break types to svcBreak
2018-10-23 19:56:42 -04:00
Zach Hilman
bfad41b0c1
profile_manager: Create save data if it doesn't exist on use
2018-10-23 19:31:28 -04:00
Zach Hilman
45f2a2fe29
acc: Fix account UUID duplication error
2018-10-23 19:31:28 -04:00
Zach Hilman
e408bbceed
configure_system: Clear selection after user delete
2018-10-23 19:31:28 -04:00
Zach Hilman
702622b8f1
profile_manager: Load user icons, names, and UUIDs from system save
2018-10-23 19:31:28 -04:00
Zach Hilman
19c5cf9c63
acc: Load user images from config dir
2018-10-23 19:31:28 -04:00
Zach Hilman
466960c8ab
qt: Allow user to select emu user on open save data
2018-10-23 19:31:28 -04:00
Zach Hilman
b2a8209c5b
qt: Add Profile Manager UI to system settings
2018-10-23 19:31:28 -04:00
Zach Hilman
d3fbf45705
am: Pass current user UUID to launch parameters
2018-10-23 19:31:28 -04:00
Zach Hilman
aeffd4b436
profile_manager: Load users from emulator settings
2018-10-23 19:31:28 -04:00
Zach Hilman
e7e3d5898e
settings: Add users and current_user settings and remove username
2018-10-23 19:31:28 -04:00
David
50e4e81fd3
Added Amiibo support ( #1390 )
...
* Fixed conflict with nfp
* Few fixups for nfc
* Conflict 2
* Fixed AttachAvailabilityChangeEvent
* Conflict 3
* Fixed byte padding
* Refactored amiibo to not reside in "System"
* Removed remaining references of nfc from system
* used enum for Nfc GetStateOld
* Added missing newline
* Moved file operations to front end
* Conflict 4
* Amiibos now use structs and added mutexes
* Removed amiibo_path
2018-10-23 19:28:17 -04:00
bunnei
5edb2403c2
Merge pull request #1515 from DarkLordZach/dlc-lfs
...
patch_manager: Add support for LayeredFS on DLC RomFS
2018-10-23 19:26:57 -04:00
bunnei
fc9d8afead
Merge pull request #1542 from lioncash/project
...
CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
2018-10-23 18:44:08 -04:00
bunnei
a5106fb9f5
Merge pull request #1553 from lioncash/mem
...
common: Remove memory_util.h/.cpp
2018-10-23 18:43:45 -04:00
bunnei
e61a62066a
Merge pull request #1540 from lioncash/handle
...
kernel/process: Make the handle table per-process
2018-10-23 18:43:11 -04:00
FernandoS27
ed8ca608a0
Implement PointSize
2018-10-23 15:08:00 -04:00
FernandoS27
e0ea2f5f6e
Fixed Layered Textures Loading and Cubemaps
2018-10-23 14:27:36 -04:00
Lioncash
1291f3f820
common: Remove memory_util.cpp/.h
...
Everything from here is completely unused and also written with the
notion of supporting 32-bit architecture variants in mind. Given the
Switch itself is on a 64-bit architecture, we won't be supporting 32-bit
architectures. If we need specific allocation functions in the future,
it's likely more worthwhile to new functions for that purpose.
2018-10-23 12:21:34 -04:00
bunnei
e7e209d900
Merge pull request #1552 from FearlessTobi/port-4336
...
Port citra-emu/citra#4336 : "Only redefine some 64-bit file operation for MSVC"
2018-10-23 10:23:41 -04:00
bunnei
5716496239
Merge pull request #1519 from ReinUsesLisp/vsetp
...
gl_shader_decompiler: Implement VSETP
2018-10-23 10:22:37 -04:00
bunnei
0f3d8c2574
Merge pull request #1539 from lioncash/dma
...
maxwell_dma: Silence compilation warnings
2018-10-23 10:22:12 -04:00
bunnei
75d807788c
Merge pull request #1470 from FernandoS27/alpha_testing
...
Implemented Alpha Test using Shader Emulation
2018-10-23 10:21:30 -04:00
Weiyi Wang
2ff2732a78
only redefine 64 bit file operation for MSVC
...
MinGW provides POSIX functions
2018-10-23 15:11:18 +02:00
David Marcec
38cdb6744d
Added assertion failed, reworked logging levels
2018-10-23 15:17:13 +11:00
ReinUsesLisp
7d6dca0d0a
gl_shader_decompiler: Implement VSETP
2018-10-23 01:07:20 -03:00
ReinUsesLisp
5dfb43531c
gl_shader_decompiler: Abstract VMAD into a video subset
2018-10-23 01:07:20 -03:00
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
2018-10-23 15:03:59 +11:00
bunnei
848a49112a
Merge pull request #1512 from ReinUsesLisp/brk
...
gl_shader_decompiler: Implement PBK and BRK
2018-10-23 00:01:38 -04:00
bunnei
496d155d7b
Merge pull request #1550 from FernandoS27/fmul32
...
Added Saturation to FMUL32I
2018-10-22 23:58:09 -04:00
bunnei
40c63073a9
Merge pull request #1543 from lioncash/target
...
CMakeLists: Use target_compile_definitions instead of add_definitions to define YUZU_ENABLE_COMPATIBILITY_REPORTING
2018-10-22 22:50:10 -04:00
bunnei
4cccfb4190
Merge pull request #1537 from lioncash/shader
...
gl_shader_decompiler: Minor changes
2018-10-22 22:49:49 -04:00
FernandoS27
259da93567
Added Saturation to FMUL32I
2018-10-22 20:22:15 -04:00
FernandoS27
8e1239fbc5
Assert that multiple render targets are not set while alpha testing
2018-10-22 15:35:45 -04:00
bunnei
ff6b2d4574
Merge pull request #1545 from DarkLordZach/psm
...
psm: Add psm service and stub commands 0 and 1
2018-10-22 15:27:05 -04:00
FernandoS27
59a004f915
Use standard UBO and fix/stylize the code
2018-10-22 15:07:33 -04:00
FernandoS27
17315cee16
Cache uniform locations and restructure the implementation
2018-10-22 15:07:32 -04:00
FernandoS27
bcb5b924fd
Remove SyncAlphaTest and clang format
2018-10-22 15:07:31 -04:00
FernandoS27
7b39107e3a
Added Alpha Func
2018-10-22 15:07:30 -04:00
FernandoS27
aa620c14af
Implemented Alpha Testing
2018-10-22 15:07:30 -04:00
bunnei
65df593951
Merge pull request #1541 from lioncash/define
...
web_service/CMakeLists: Make the CPPHTTPLIB_OPENSSL_SUPPORT constrained to the web_service library only
2018-10-22 13:02:16 -04:00
bunnei
d9923b0dbc
Merge pull request #1538 from lioncash/query
...
svc: Fix vma boundary check in svcQueryMemory
2018-10-22 12:55:36 -04:00
bunnei
1226a5706e
Merge pull request #1547 from FernandoS27/fix-fset
...
Fixed FSETP and FSET
2018-10-22 12:53:47 -04:00
FernandoS27
5c5b4e8e7d
Fixed FSETP and FSET
2018-10-22 11:31:17 -04:00
bunnei
fcad3a734d
Merge pull request #1546 from lioncash/svc-again
...
service: Update service function tables
2018-10-22 11:06:55 -04:00
bunnei
38fa3aae73
Merge pull request #1548 from FernandoS27/fix-vao
...
Fixed VAOs Float types only returning GL_FLOAT
2018-10-22 10:58:47 -04:00
FernandoS27
e2416bbd1f
Fixed VAOs Float types only returning GL_FLOAT in cases that they had to return GL_HALF_FLOAT
2018-10-22 09:27:00 -04:00
Zach Hilman
314a948373
psm: Stub GetChargerType
...
Used by LovePotion Lua Homebrew. Stubbed as connected to official Nintendo Switch dock.
2018-10-21 22:03:25 -04:00
bunnei
12fa570d49
Merge pull request #1544 from DarkLordZach/reinitialize-keys-tools
...
qt: Move Reinitialize Keys to Tools menu
2018-10-21 21:49:11 -04:00
Lioncash
ca5a93167e
service: Add the basic skeleton for the NPNS services
2018-10-21 17:11:05 -04:00
Lioncash
981faea4d6
hid: Update service function table for hidbus
...
Updated based off information provided by Switchbrew.
2018-10-21 16:51:46 -04:00
Lioncash
5ea4cfd499
am: Add the basic skeleton for the tcap service
...
Added based off information provided by Switchbrew.
2018-10-21 16:50:17 -04:00
Lioncash
edb1c36a87
am: Update service function tables
...
Updated based off information from Switchbrew
2018-10-21 16:40:20 -04:00
Lioncash
ae7f55947e
prepo: Update service function table.
...
Also introduces the new prepo:a2 service.
Updated based off information provided by Switchbrew.
2018-10-21 16:22:10 -04:00
Lioncash
a806c78a1a
lbl: Update service function table names
...
Updated based off information provided by Switchbrew.
2018-10-21 16:15:32 -04:00
bunnei
f034121620
Merge pull request #1531 from ogniK5377/hid-fixes
...
Added auto controller switching to supported controllers and single joycon button rotation
2018-10-20 21:47:15 -04:00
Zach Hilman
a279d80a19
qt: Move Reinitialize Keys to Tools menu
2018-10-20 18:04:28 -04:00
Zach Hilman
10a2d20e26
psm: Stub GetBatteryChargePercentage
...
Used by LovePotion Lua Homebrew. Stubbed to return 100% charge.
2018-10-20 18:01:11 -04:00
Zach Hilman
3b8c0f8885
service: Add skeleton for psm service
...
Seems to be the power controller. Listed in switchbrew under the category PTM services.
2018-10-20 18:01:07 -04:00
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.
2018-10-20 17:36:31 -04:00
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.
2018-10-20 17:28:29 -04:00
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.
2018-10-20 16:59:10 -04:00
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.
2018-10-20 16:38:32 -04:00
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.
2018-10-20 15:58:09 -04:00
Lioncash
d53c73adaa
maxwell_dma: Make variables const where applicable within HandleCopy()
...
These are never modified, so we can make that assumption explicit.
2018-10-20 15:56:01 -04:00
Lioncash
dd1ee39426
maxwell_dma: Make FlushAndInvalidate's size parameter a u64
...
This prevents truncation warnings at the lambda's usage sites.
2018-10-20 15:54:45 -04:00
Lioncash
08e574eec4
maxwell_dma: Remove unused variables in HandleCopy()
...
These pointer variables are never used, so we can get rid of them.
2018-10-20 15:53:24 -04:00
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.
2018-10-20 14:56:51 -04:00
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).
2018-10-20 14:25:15 -04:00
Lioncash
381baf783d
gl_shader_decompiler: Get rid of variable shadowing warnings
...
A variable with the same name was previously declared in an outer scope.
2018-10-20 14:22:37 -04:00
Lioncash
61ef8af1e2
gl_shader_decompiler: Fix a few comment typos
2018-10-20 14:19:28 -04:00
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".
2018-10-20 02:19:30 -03:00
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
2018-10-20 15:07:18 +11:00
bunnei
b1f8bff7db
Merge pull request #1501 from ReinUsesLisp/half-float
...
gl_shader_decompiler: Implement H* instructions
2018-10-19 23:47:19 -04:00
bunnei
60317e6306
Merge pull request #1520 from lioncash/san
...
svc: Add missing sanitizing checks for MapSharedMemory/UnmapSharedMemory
2018-10-19 22:58:57 -04:00
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.
2018-10-19 22:58:30 -04:00
bunnei
bf66930fb9
Merge pull request #1526 from lioncash/svc-id
...
service: Update function tables
2018-10-19 22:53:26 -04:00
bunnei
52b25e0fb9
Merge pull request #1530 from DarkLordZach/aoc-8
...
aoc_u: Stub GetAddOnContentListChangedEvent
2018-10-19 22:53:00 -04:00
bunnei
298ebf444f
Merge pull request #1516 from lioncash/hid
...
hid: Minor cleanup-related changes
2018-10-19 22:52:31 -04:00
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).
2018-10-19 21:21:37 -04:00
Zach Hilman
0aef2b9c26
crypto: Use compressed sizes in offset calculation for KIP decompression
...
Fixes a fatal crash on start when deriving keys.
2018-10-19 18:37:58 -04:00
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.
2018-10-19 14:02:07 -04:00
David Marcec
7a7dad05c0
Stubbed home blocking
...
Needed by arms due to new hid rework
2018-10-20 00:01:10 +11:00
Lioncash
1833498617
es: Update service function tables
...
Updated based off information provided by Switchbrew.
2018-10-19 04:12:28 -04:00
Lioncash
a653be3510
audio: Update service function tables
...
Updated based off information provided by Switchbrew.
2018-10-19 04:09:12 -04:00
Lioncash
2b9fd23058
omm: Update service function tables
...
Updated based off information provided by Switchbrew.
2018-10-19 04:04:59 -04:00
Lioncash
4f52800822
nifm: Update service function tables
...
Updated based off information provided by switchbrew.
2018-10-19 04:00:41 -04:00
Lioncash
f6c5a48dd1
hid: Update service function tables
...
Updated based off information provided by Switchbrew.
2018-10-19 03:59:15 -04:00
Lioncash
d0cda7fe40
nim: Add the basic skeleton of the nim:eca service
...
Added based off information provided by Switchbrew
2018-10-19 03:46:18 -04:00
Lioncash
d16bafc99d
ns: Update service function table
...
Updated based off information provided by Switchbrew.
2018-10-19 03:41:38 -04:00
Lioncash
a056b284cf
set_cal: Update service function table
...
Updated based on information from Switchbrew.
2018-10-19 03:26:56 -04:00
bunnei
7e665c2721
GPU: Improved implementation of maxwell DMA (Subv).
2018-10-18 22:41:53 -04:00
bunnei
bcde71d4d9
decoders: Introduce functions for un/swizzling subrects.
2018-10-18 22:41:43 -04:00
bunnei
a5d853a9f8
GPU: Invalidate destination address of kepler_memory writes.
2018-10-18 22:41:13 -04:00
bunnei
6b333d862b
fermi_2d: Add support for more accurate surface copies.
2018-10-18 22:41:12 -04:00
bunnei
fdd82b754a
Merge pull request #1523 from lioncash/lock
...
svc: Add missing error checks in svcArbitrateLock/svcArbitrateUnlock
2018-10-18 21:50:45 -04:00
bunnei
7f152f2273
Merge pull request #1511 from lioncash/content
...
content_archive: Minor reorganization changes
2018-10-18 21:48:09 -04:00
bunnei
e5d428cf1e
Merge pull request #1521 from ogniK5377/imp-mmu
...
Used better names for mm:u and fixed a bad stub
2018-10-18 21:46:59 -04:00
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.
2018-10-18 13:01:29 -04:00
Lioncash
541e9624eb
common: Add function for checking word alignment to alignment.h
...
This will be used in a following change to svcArbitrateLock() and
svcArbitrateUnlock()
2018-10-18 12:58:27 -04:00
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.
2018-10-18 12:57:02 -04:00
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.
2018-10-18 12:07:25 -04:00
bunnei
d4ff4152ad
Merge pull request #1510 from lioncash/xci
...
XCI: Add function for checking the existence of the program NCA
2018-10-18 11:51:47 -04:00
bunnei
6acd8d166a
Merge pull request #1505 from FernandoS27/tex-3d
...
Implemented 3D Textures
2018-10-18 11:50:42 -04:00
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
2018-10-19 01:09:34 +11:00
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.
2018-10-18 02:01:21 -04:00
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
2018-10-17 20:52:45 -04:00
Lioncash
7f52dc1790
hid/controller/npad: Remove unused dump_idx member variable
...
Given it's unused, we may as well toss it.
2018-10-17 20:52:45 -04:00
Lioncash
7eb2328d8e
hid/controller/npad: Remove unnecessary semicolon from the closing brace of LedPattern's constructor
2018-10-17 20:52:45 -04:00
Lioncash
929ed59f1f
hid/controller/npad: Remove #pragma once from the cpp file
...
This is only useful in headers.
2018-10-17 20:52:45 -04:00
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.
2018-10-17 20:52:45 -04:00
Lioncash
aeca224890
hid/controller/npad: Remove unnecessary const from void return type
...
This literally does nothing.
2018-10-17 20:52:45 -04:00
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.
2018-10-17 20:52:43 -04:00
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.
2018-10-17 20:51:54 -04:00
ReinUsesLisp
41fb25349a
gl_shader_decompiler: Implement PBK and BRK
2018-10-17 21:30:45 -03:00
bunnei
7dee60d7d2
Merge pull request #1444 from ogniK5377/better-hid
...
"Better Hid" Rework Part 1
2018-10-17 20:25:17 -04:00
bunnei
77e2d68df7
Merge pull request #1489 from FernandoS27/fix-tlds
...
shader_decompiler: Fix TLDS
2018-10-17 18:58:38 -04:00
FernandoS27
caaa9914fd
Clang format and other fixes
2018-10-17 18:52:11 -04:00
FernandoS27
cb9fdc7a26
Implement Reinterpret Surface, to accurately blit 3D textures
2018-10-17 18:52:10 -04:00
FernandoS27
dbc34db6ce
Implement GetInRange in the Rasterizer Cache
2018-10-17 18:52:10 -04:00
FernandoS27
fd9e2d0073
Implement 3D Textures
2018-10-17 18:52:08 -04:00
bunnei
f912a82a8e
Merge pull request #1497 from bunnei/flush-framebuffers
...
Implement flushing in the rasterizer cache
2018-10-17 18:40:34 -04:00
bunnei
6e8752881c
Merge pull request #1498 from lioncash/aslr
...
svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()
2018-10-17 18:31:51 -04:00
bunnei
86dcf2942b
Merge pull request #1496 from FernandoS27/tex-array
...
Implement Arrays on Tex Instruction
2018-10-17 18:30:44 -04:00
Zach Hilman
9d0fb0f815
qt: Add support for dumping a DLC Data RomFS
2018-10-17 18:27:29 -04:00
bunnei
afe22d8405
Merge pull request #1509 from DarkLordZach/device-save-data
...
savedata_factory: Add DeviceSaveData and fix TemporaryStorage
2018-10-17 18:22:05 -04:00
bunnei
648b55c6b9
gl_rasterizer_cache: Remove unnecessary block_depth=1 on Flush.
2018-10-17 18:20:15 -04:00
bunnei
2a035a1f6f
gl_rasterizer_cache: Remove unnecessary temporary buffer with unswizzle.
2018-10-17 18:19:35 -04:00
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)
2018-10-17 14:04:18 -04:00
David Marcec
8144fa42bd
Using dual joycons as the default controller
...
Reason for the change is to allow both docked and undocked mode to work
2018-10-18 00:11:47 +11:00
Zach Hilman
780c21ab2d
fsp_srv: Apply patches to Data storage in OpenDataStorageByDataId
2018-10-17 09:04:20 -04:00
Zach Hilman
d8273c3857
patch_manager: Add support for using LayeredFS with Data
2018-10-17 09:03:56 -04:00
bunnei
43b9494a0f
gl_rasterizer_cache: Use AccurateCopySurface for use_accurate_gpu_emulation.
2018-10-16 17:20:49 -04:00
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.
2018-10-16 17:02:29 -04:00
bunnei
91602de7f2
rasterizer_cache: Refactor to support in-order flushing.
2018-10-16 16:51:53 -04:00
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.
2018-10-16 13:22:31 -04:00
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.
2018-10-16 13:22:31 -04:00
Lioncash
53e77ffbfe
content_archive: Simplify rights ID check
...
This is the same as using std::any_of with an inverted predicate.
2018-10-16 13:22:31 -04:00
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.
2018-10-16 13:22:28 -04:00
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.
2018-10-16 12:08:17 -04:00
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.
2018-10-16 11:36:58 -04:00
bunnei
0e59291310
gl_rasterizer_cache: Refactor to only call GetRegionEnd on surface creation.
2018-10-16 11:31:02 -04:00
bunnei
949d7832fa
gl_rasterizer_cache: Only flush when use_accurate_framebuffers is enabled.
2018-10-16 11:31:02 -04:00
bunnei
5f79ba04bd
gl_rasterizer_cache: Separate guest and host surface size managment.
2018-10-16 11:31:01 -04:00
bunnei
58be4dff79
gl_rasterizer_cache: Rename GetGLBytesPerPixel to GetBytesPerPixel.
...
- This does not really have anything to do with OpenGL.
2018-10-16 11:31:01 -04:00
bunnei
cf7b46c101
gl_rasterizer_cache: Remove unused FlushSurface method.
2018-10-16 11:31:01 -04:00
bunnei
3afdfd7bfa
gl_rasterizer: Implement flushing.
2018-10-16 11:31:01 -04:00
bunnei
b4e29ccb81
gl_rasterizer_cache: Remove usage of Memory::Read/Write functions.
...
- These cannot be used within the cache, as they change cache state.
2018-10-16 11:31:00 -04:00
bunnei
4e9683e9d5
gl_rasterizer_cache: Clamp cached surface size to mapped GPU region size.
2018-10-16 11:31:00 -04:00
bunnei
37575eae65
memory_manager: Add a method for querying the end of a mapped GPU region.
2018-10-16 11:31:00 -04:00
bunnei
0be7e82289
rasterizer_cache: Reintroduce method for flushing.
2018-10-16 11:31:00 -04:00
bunnei
9b929e934b
gl_rasterizer_cache: Reintroduce code for handling swizzle and flush to guest RAM.
2018-10-16 11:30:59 -04:00
bunnei
78f2a6a9e1
Merge pull request #1443 from DarkLordZach/lower-loader-logs-1
...
content_archive/patch_manager: Lower log levels to eliminate some unnecessary logs
2018-10-16 11:26:54 -04:00
David
92d8ad3770
Implement VI ConvertScalingMode ( #1475 )
...
* Implement VI ConvertScalingMode
* Fixed push enum
* Scale mode now uses Nintendo scale mode as an enum as well
2018-10-16 11:25:42 -04:00
bunnei
88b8383da2
Merge pull request #1502 from lioncash/unique
...
core: Convert shared_ptr instances into unique_ptr instances where applicable for System and Cpu
2018-10-16 11:21:42 -04:00
Zach Hilman
9d4e6176eb
savedata_factory: Add TemporaryStorage SaveDataSpaceId
...
Required for TemporaryStorage saves (in addition to SaveDataType)
2018-10-16 10:20:04 -04:00
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.
2018-10-16 10:19:21 -04:00
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.
2018-10-16 09:38:52 -04:00
bunnei
548958bcaf
Merge pull request #1473 from lioncash/cmake
...
web_service: Make linkage of web_service-related externals and the library private
2018-10-15 21:33:32 -04:00
bunnei
870c18b078
Merge pull request #1487 from lioncash/maybe-unused
...
yuzu/main: Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled
2018-10-15 21:33:14 -04:00
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.
2018-10-15 20:11:44 -04:00
bunnei
9b21fbd1eb
Merge pull request #1494 from DarkLordZach/aoc-signature-fixes
...
aoc: Fix various bugs in current AOC implementation
2018-10-15 18:34:02 -04:00
bunnei
50e6205c21
Merge pull request #1499 from lioncash/nro
...
nro/nso: Minor error handling changes
2018-10-15 17:48:36 -04:00
bunnei
7665411317
Merge pull request #1500 from DarkLordZach/key-derivation-6.0.0
...
crypto: Various crypto fixes for quickstart guide
2018-10-15 17:48:13 -04:00
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.
2018-10-15 17:02:11 -04:00
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.
2018-10-15 15:36:47 -03:00
ReinUsesLisp
b461342a84
gl_shader_decompiler: Fixup style inconsistencies
2018-10-15 15:35:26 -03:00
ReinUsesLisp
27916764b1
gl_rasterizer: Silence implicit cast warning in glBindBufferRange
2018-10-15 15:26:50 -03:00
Lioncash
5484742fda
core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrs
2018-10-15 14:15:56 -04:00
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.
2018-10-15 14:15:56 -04:00
Lioncash
aeadbfa790
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.
2018-10-15 14:15:50 -04:00
Lioncash
c34efbbd60
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.
2018-10-15 09:11:47 -04:00
ReinUsesLisp
6312eec5ef
gl_shader_decompiler: Implement HSET2_R
2018-10-15 02:55:51 -03:00
ReinUsesLisp
4fc8ad67bf
gl_shader_decompiler: Implement HSETP2_R
2018-10-15 02:55:51 -03:00
ReinUsesLisp
3d65aa4caf
gl_shader_decompiler: Implement HFMA2 instructions
2018-10-15 02:55:51 -03:00
ReinUsesLisp
d93cdc2750
gl_shader_decompiler: Implement HADD2_IMM and HMUL2_IMM
2018-10-15 02:07:16 -03:00
ReinUsesLisp
d46e2a6e7a
gl_shader_decompiler: Implement non-immediate HADD2 and HMUL2 instructions
2018-10-15 02:04:31 -03:00
ReinUsesLisp
08d751d882
gl_shader_decompiler: Setup base for half float unpacking and setting
2018-10-15 01:58:30 -03:00
Zach Hilman
720d36ca71
crypto: Various crypto fixes for quickstart guide
2018-10-14 21:57:52 -04:00
Lioncash
bb9cf8a127
nso: Make LoadModule take a VfsFile by const reference
2018-10-14 20:38:19 -04:00
Lioncash
0732786ddc
nro: Make LoadNro take a VfsFile by const reference
...
This function doesn't need to care about ownership semantics, so we can
just pass it a reference to the file itself, rather than a
std::shared_ptr alias.
2018-10-14 20:24:18 -04:00
Lioncash
90f8474fc1
svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()
...
So, one thing that's puzzled me is why the kernel seemed to *not* use
the direct code address ranges in some cases for some service functions.
For example, in svcMapMemory, the full address space width is compared
against for validity, but for svcMapSharedMemory, it compares against
0xFFE00000, 0xFF8000000, and 0x7FF8000000 as upper bounds, and uses
either 0x200000 or 0x8000000 as the lower-bounds as the beginning of the
compared range. Coincidentally, these exact same values are also used in
svcGetInfo, and also when initializing the user address space, so this
is actually retrieving the ASLR extents, not the extents of the address
space in general.
2018-10-14 20:11:16 -04:00
Zach Hilman
5737441374
aoc: Read DLC base title ID from RegisteredCache
...
Falls back to title ID + 0x1000, which is what HOS does.
2018-10-14 18:58:14 -04:00
bunnei
b3cca34f50
Merge pull request #1486 from lioncash/file
...
key_manager/partition_data_manager: Minor changes
2018-10-14 14:46:47 -04:00
bunnei
3203193a67
Merge pull request #1490 from lioncash/boot
...
yuzu/main: Simplify OnMenuLoadFile()
2018-10-14 14:44:49 -04:00
bunnei
14286f70f0
Merge pull request #1488 from Hexagon12/astc-types
...
video_core: Added ASTC 5x4; 8x5 types
2018-10-14 14:44:24 -04:00
bunnei
0d2ba0a320
Merge pull request #1491 from lioncash/reference
...
filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem by reference
2018-10-14 14:42:57 -04:00
bunnei
b82bbfba77
Merge pull request #1480 from FernandoS27/neue-swizzle
...
Introduce 3D Swizzle seamlessly
2018-10-14 14:42:38 -04:00
bunnei
2f8ca32020
Merge pull request #1492 from lioncash/proc
...
svc: Implement svcGetProcessInfo
2018-10-14 14:37:58 -04:00
FernandoS27
1d6559fbd3
Implement Arrays on Tex Instruction
2018-10-14 13:31:02 -04:00
David Marcec
92fae7e1ab
Stop all threads on svcBreak
...
This should help diagnose crashes easier and prevent many users thinking that a game is still running when in fact it's just an audio thread still running(this is typically not killed when svcBreak is hit since the game expects us to do this)
2018-10-14 18:14:51 +11:00
Zach Hilman
7e2096db8a
aoc: Return size in ListAddOnContent
2018-10-13 22:52:54 -04:00
FernandoS27
d880b77698
Fix TLDS
2018-10-13 22:14:25 -04:00
FernandoS27
331ce2942c
Shorten the implementation of 3D swizzle to only 3 functions
2018-10-13 20:58:00 -04:00
Lioncash
1c7a7ed79b
svc: Implement svcGetProcessInfo
...
A fairly basic service function, which only appears to currently support
retrieving the process state. This also alters the ProcessStatus enum to
contain all of the values that a kernel process seems to be able of
reporting with regards to state.
2018-10-13 17:00:43 -04:00
FernandoS27
1ff20d8538
Fix a Crash on Zelda BotW and Splatoon 2, and simplified LoadGLBuffer
2018-10-13 16:11:11 -04:00
FernandoS27
e0ca938b22
Propagate depth and depth_block on modules using decoders
2018-10-13 15:25:18 -04:00
FernandoS27
d4ae43f9c1
Remove old Swizzle algorithms and use 3d Swizzle
2018-10-13 15:25:17 -04:00
FernandoS27
4d959c6bdc
Implement Precise 3D Swizzle
2018-10-13 15:25:16 -04:00
FernandoS27
736db284d2
Implement Fast 3D Swizzle
2018-10-13 15:25:15 -04:00
Lioncash
0149162dba
filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem instance by reference
...
Neither of these functions alter the ownership of the provided pointer,
so we can simply make the parameters a reference rather than a direct
shared pointer alias. This way we also disallow passing incorrect memory values like
nullptr.
2018-10-13 11:36:35 -04:00
Lioncash
a4c57436fc
yuzu/main: Simplify OnMenuLoadFile()
...
We can utilize QStringList's join() function to perform all of the
appending in a single function call.
While we're at it, make the extension list a single translatable string
and add a disambiguation comment to explain to translators what %1
actually is.
2018-10-13 10:35:18 -04:00
Lioncash
53a0221484
yuzu/main: Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled()
...
Depending on whether or not USE_DISCORD_PRESENCE is defined, the "state"
parameter can be used or unused. If USE_DISCORD_PRESENCE is not defined,
the parameter will be considered unused, which can lead to compiler
warnings. So, we can explicitly mark it with [[maybe_unused]] to inform
the compiler that this is intentional.
2018-10-13 10:10:29 -04:00
Hexagon12
cbf723896f
Added ASTC 5x4; 8x5
2018-10-13 17:10:26 +03:00
Lioncash
6467b01de2
partition_data_manager: Reserve and insert data within output vector in DecryptPackage2()
...
We can just reserve the memory then perform successive insertions
instead of needing to use memcpy. This also avoids the need to zero out
the output vector's memory before performing the insertions.
We can also std::move the output std::vector into the destination so
that we don't need to make a completely new copy of the vector, getting
rid of an unnecessary allocation.
Additionally, we can use iterators to determine the beginning and end
ranges of the std::vector instances that comprise the output vector, as
the end of one range just becomes the beginning for the next successive
range, and since std::vector's iterator constructor copies data within
the range [begin, end), this is more straightforward and gets rid of the
need to have an offset variable that keeps getting incremented to
determine where to do the next std::memcpy.
2018-10-13 09:50:08 -04:00
Lioncash
781fd7983c
partition_data_manager: Remove unused std::map instance within DecryptPackage2()
...
Aside from emplacing elements into the map, the map itself is never
actually queried for contained data.
2018-10-13 09:27:12 -04:00
Lioncash
e0c76226ad
partition_data_manager: Take package2_keys by const reference
...
These are only ever read from, so we don't need to make a copy of all
the keys here.
2018-10-13 09:24:41 -04:00
Lioncash
3d9df49619
partition_data_manager: Move IV data to where it's needed in DecryptPackage2()
...
Given it's only used in one spot and has a fairly generic name, we can
just specify it directly in the function call. This also the benefit of
automatically moving it.
2018-10-13 09:20:21 -04:00
Lioncash
bc2196bb09
partition_data_manager: Remove commented out code
...
Commented out code shouldn't be left in without a reason indicating why
in a comment.
2018-10-13 09:17:02 -04:00
Lioncash
6da2ed4232
key_manager/partition_data_manager: Silence truncation compiler warnings
2018-10-13 09:13:19 -04:00
Lioncash
f56a8da46a
partition_data_manager: Dehardcode array bounds
...
Instead, we can make it part of the type and make named variables for
them, so they only require one definition (and if they ever change for
whatever reason, they only need to be changed in one spot).
2018-10-13 08:52:37 -04:00
Lioncash
d257a3b56c
partition_data_manager: Take VirtualFile by const reference in constructor
...
Given the VirtualFile instance isn't stored into the class as a data
member, or written to, this can just be turned into a const reference,
as the constructor doesn't need to make a copy of it.
2018-10-13 08:39:05 -04:00
Lioncash
e96d69c328
partition_data_manager: Amend constructor initializer list order
...
Orders the members in the exact order they would be initialized. This
also prevents compiler warnings about this sort of thing.
2018-10-13 08:36:26 -04:00
Lioncash
aaca7543f0
partition_data_manager: Remove unused includes
...
Gets unused includes out of the headers and moves them into the cpp file
if they're used there instead.
2018-10-13 08:33:49 -04:00
Lioncash
06898263f6
key_manager: Use std::vector's insert() instead of std::copy with a back_inserter
...
If the data is unconditionally being appended to the back of a
std::vector, we can just directly insert it there without the need to
insert all of the elements one-by-one with a std::back_inserter.
2018-10-13 08:29:35 -04:00
Lioncash
e70c08b543
key_manager: Brace long conditional body
...
If a conditional (or it's body) travels more than one line, it should be
braced.
2018-10-13 08:24:21 -04:00
Lioncash
ef5639bfbb
key_manager: Don't assume file seeks and reads will always succeed
...
Given the filesystem should always be assumed to be volatile, we should
check and bail out if a seek operation isn't successful. This'll prevent
potentially writing/returning garbage data from the function in rare
cases.
This also allows removing a check to see if an offset is within the
bounds of a file before perfoming a seek operation. If a seek is
attempted beyond the end of a file, it will fail, so this essentially
combines two checks into one in one place.
2018-10-13 08:24:18 -04:00
Lioncash
82ea1cf35a
key_manager: Remove unnecessary seek in DeriveSDSeed()
...
Given the file is opened a few lines above and no operations are done,
other than check if the file is in a valid state, the read/write pointer
will always be at the beginning of the file.
2018-10-13 08:08:44 -04:00
Zach Hilman
f61379f8d2
patch_manager: Move non-Program RomFS patch log to Debug
...
Normal Program-type patches will still be logged to aid in debugging, but for others (mainly Control), it was moved to Debug.
2018-10-12 23:27:19 -04:00
Zach Hilman
90c07e0d33
content_archive: Move get key log to Trace level
...
Avoids printing live keys in the general log.
2018-10-12 23:25:59 -04:00
bunnei
1584fb6b38
Merge pull request #1409 from DarkLordZach/key-derivation
...
crypto: Add support for full key derivation
2018-10-12 22:55:49 -04:00
bunnei
c2aa4293ec
Merge pull request #1483 from lioncash/codeset
...
kernel/process: Make CodeSet a regular non-inherited object
2018-10-12 22:52:12 -04:00
bunnei
38b027aa81
Merge pull request #1484 from FernandoS27/calculate-size
...
Implemented helper function to correctly calculate a texture's size
2018-10-12 21:12:53 -04:00
bunnei
ffcda6c08e
Merge pull request #1481 from lioncash/typo
...
svc: Fix typos in sanitizing checks for MapMemory/UnmapMemory
2018-10-12 20:46:55 -04:00
FernandoS27
97b6405a17
Implemented helper function to correctly calculate a texture's size
2018-10-12 14:21:53 -04:00
bunnei
2946d4bdbe
Merge pull request #1467 from ogniK5377/svcbreak-type-fix
...
Fixed incorrect types for svcBreak
2018-10-12 12:08:08 -04:00
Lioncash
1abed2f4c4
kernel/process: Make CodeSet a regular non-inherited object
...
These only exist to ferry data into a Process instance and end up going
out of scope quite early. Because of this, we can just make it a plain
struct for holding things and just std::move it into the relevant
function. There's no need to make this inherit from the kernel's Object
type.
2018-10-12 12:07:32 -04:00
bunnei
0f7ab3e21a
Merge pull request #1478 from ogniK5377/remap-invalidhandle-remap
...
Passing an invalid nmap handle to Remap should throw an error
2018-10-12 12:07:14 -04:00
bunnei
f9d03b1d41
Merge pull request #1482 from lioncash/init
...
thread: Remove unnecessary memset from ResetThreadContext()
2018-10-12 12:06:51 -04:00
bunnei
dc328440c8
Merge pull request #1479 from ogniK5377/nmap-revamped
...
Added error codes for nvmap
2018-10-12 12:06:22 -04:00
Lioncash
b492d43e63
thread: Remove unnecessary memset from ResetThreadContext()
...
Regular value initialization is adequate here for zeroing out data. It
also has the benefit of not invoking undefined behavior if a non-trivial
type is ever added to the struct for whatever reason.
2018-10-12 10:57:31 -04:00
David Marcec
4d2de6564f
Returned an error before processing other remaps
2018-10-12 17:10:41 +11:00
David Marcec
c55b5de0fb
Made the minimum alignment more clear
2018-10-12 17:06:46 +11:00
Lioncash
4ccf30dfaa
svc: Fix typos in sanitizing checks for MapMemory/UnmapMemory
2018-10-12 01:48:26 -04:00
David Marcec
98b760c645
Wip
2018-10-12 16:28:00 +11:00
bunnei
9bf409f275
Merge pull request #1474 from ogniK5377/hwopus-decodeinterleavedwithperformance
...
HwOpus, Implemented DecodeInterleavedWithPerformance
2018-10-11 16:52:13 -04:00
bunnei
3fd26b7147
Merge pull request #1472 from lioncash/san
...
svc: Add missing address range sanitizing checks to MapMemory/UnmapMemory
2018-10-11 16:51:41 -04:00
bunnei
bc293e1751
Merge pull request #1476 from bunnei/fix-unmap-flush
...
nvhost_as_gpu: Flush/invalidate CPU VAddr on UnmapBuffer.
2018-10-11 16:51:28 -04:00
David Marcec
85b0d9a7be
Dynamically decide handheld variant based on supported npad id priority
...
Kirby input still doesn't work, should fix a lot of other games
2018-10-12 02:56:49 +11:00
David Marcec
c7763603ef
Added error codes for nvmap
2018-10-11 23:06:34 +11:00
David Marcec
5dd538cace
Passing an invalid nmap handle to Remap should throw an error
...
Added error for invalid nmap handles
2018-10-11 20:32:21 +11:00
ReinUsesLisp
17290a4416
gl_shader_decompiler: Implement VMAD
2018-10-11 04:15:10 -03:00
bunnei
bf795edac4
nvhost_as_gpu: Flush CPU VAddr on UnmapBuffer.
2018-10-11 00:19:36 -04:00
Lioncash
28ec921d0d
core/CMakeLists: Make all web_service-related libraries private
...
Now that all external dependencies are hidden, we can remove
json-headers from the publically linked libraries, as the use of this
library is now completely hidden from external users of the web_service
library. We can also make the web_services library private as well,
considering it's not a requirement. If a library needs to link in
web_service, it should be done explicitly -- not via indirect linking.
2018-10-10 22:29:39 -04:00
Lioncash
183a664405
web_backend: Make Client use the PImpl idiom
...
Like with TelemetryJson, we can make the implementation details private
and avoid the need to expose httplib to external libraries that need to
use the Client class.
2018-10-10 22:29:35 -04:00
David Marcec
fa10905e1e
HwOpus, Implemented DecodeInterleavedWithPerformance
...
Used by sonic ages
2018-10-11 13:06:56 +11:00
bunnei
6d82c4adf9
Merge pull request #1458 from FernandoS27/fix-render-target-block-settings
...
Fixed block height settings for RenderTargets and Depth Buffers
2018-10-10 21:24:07 -04:00
Lioncash
a7725d354c
telemetry_json: Use the PImpl idiom to avoid unnecessary dependency exposure
...
Users of the web_service library shouldn't need to care about an
external library like json.h. However, given it's exposed in our
interface, this requires that other libraries publicly link in the JSON
library. We can do better.
By using the PImpl idiom, we can hide this dependency in the cpp file
and remove the need to link that library in altogether.
2018-10-10 21:10:36 -04:00
Lioncash
c422f146ee
telemetry_json: Add missing override specifier to the destructor of TelemetryJson
2018-10-10 21:00:39 -04:00
Lioncash
881bb2295d
telemetry_json: Take std::string parameters by value
...
Taking them by const reference isn't advisable here, because it means
the std::move calls were doing nothing and we were always copying the
std::string instances.
2018-10-10 20:59:28 -04:00
Lioncash
a34e5e51d8
telemetry_json: Remove unnecessary includes
...
Removes unused includes. Also rectifies a missing <chrono> include.
2018-10-10 20:57:31 -04:00
Lioncash
6e6ce2ce39
core/CMakeLists: Use target_compile_definitions instead of add_definitions for specifying ENABLE_WEB_SERVICE
...
Avoids introducing the definition to the whole directory space and
localizes it to being added to the library that needs it.
2018-10-10 20:54:02 -04:00
Lioncash
72e9cb523e
svc: Add missing address range sanitizing checks to MapMemory/UnmapMemory
...
This adds the missing address range checking that the service functions
do before attempting to map or unmap memory. Given that both service
functions perform the same set of checks in the same order, we can wrap
these into a function and just call it from both functions, which
deduplicates a little bit of code.
2018-10-10 20:30:49 -04:00
bunnei
03ec936ca0
Merge pull request #1460 from FernandoS27/scissor_test
...
Implemented Scissor Testing
2018-10-10 12:04:10 -04:00
bunnei
ee1b204749
Merge pull request #1425 from ReinUsesLisp/geometry-shaders
...
gl_shader_decompiler: Implement geometry shaders
2018-10-10 11:51:29 -04:00
David Marcec
9e924f2ef2
Added BeginPermitVibrationSession and EndPermitVibrationSession
...
Used by Mario Party
2018-10-11 00:58:47 +11:00
David Marcec
3d75c9cd7a
Added GetLedPattern and HandheldVariant
...
HandheldVariant is for specific games which expect handheld controllers to be at position 8(kirby), however this doesn't fix all games as some games require handhelds to be at position 0(snipperclips)
2018-10-10 21:38:43 +11:00
Lioncash
5c0408596f
kernel/thread: Use a regular pointer for the owner/current process
...
There's no real need to use a shared pointer in these cases, and only
makes object management more fragile in terms of how easy it would be to
introduce cycles. Instead, just do the simple thing of using a regular
pointer. Much of this is just a hold-over from citra anyways.
It also doesn't make sense from a behavioral point of view for a
process' thread to prolong the lifetime of the process itself (the
process is supposed to own the thread, not the other way around).
2018-10-10 02:04:55 -04:00
David Marcec
46cdeb4549
Kirby expects handheld controllers to be at position 8
2018-10-10 14:21:56 +11:00
bunnei
5461b21c7a
Merge pull request #1461 from lioncash/warn
...
ips_layer: Silence truncation and conversion warnings
2018-10-09 22:30:01 -04:00
bunnei
3ac874c32e
Merge pull request #1464 from lioncash/unique
...
patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr
2018-10-09 22:29:39 -04:00
FernandoS27
5f4ee6f0c8
Add memory Layout to Render Targets and Depth Buffers
2018-10-09 22:28:19 -04:00
David Marcec
f43815af5d
Added the ability to "disconnect" individual npads
...
Fixes arms
2018-10-10 13:15:39 +11:00
David Marcec
b79c294c02
Removed unneeded forward declarations
2018-10-10 13:15:37 +11:00
David Marcec
5857aea94e
Addressed changes for better hid
2018-10-10 13:15:37 +11:00
David Marcec
56f35ab262
"Better Hid" rework part 1
2018-10-10 13:15:35 +11:00
David Marcec
2db37ddea9
Changed all casts in svc_wrap.h to be static_cast instead
2018-10-10 12:49:08 +11:00
David Marcec
09b6dda8f0
Use a better name than "dont_kill_application"
...
signal_debugger seems like a more fitting name
2018-10-10 12:27:44 +11:00
David Marcec
a4412c8e22
Fixed incorrect types for svcBreak
...
svcBreak reason should be a u32, not a u64.
2018-10-10 12:23:50 +11:00
FernandoS27
af653906d0
Fixed block height settings for RenderTargets and Depth Buffers, and added block width and block depth
2018-10-09 21:14:32 -04:00
bunnei
bc6939beaa
Merge pull request #1466 from lioncash/unused
...
gl_shader_decompiler: Remove unused variables in TMML's implementation
2018-10-09 19:03:06 -04:00
bunnei
0b3d4db98b
Merge pull request #1463 from FearlessTobi/port-4310
...
Port citra-emu/citra#4310 : "Handle touch input"
2018-10-09 19:02:41 -04:00
bunnei
fe16905de1
Merge pull request #1459 from ogniK5377/break
...
svcBreak, Signalling to the debugger should not kill execution
2018-10-09 16:57:37 -04:00
bunnei
89939be9e6
Merge pull request #1465 from lioncash/telemetry
...
telemetry_session: Minor miscellaneous changes
2018-10-09 16:56:56 -04:00
bunnei
141a0d9386
Merge pull request #1462 from lioncash/move
...
ips_layer: Minor miscellaneous changes
2018-10-09 16:56:32 -04:00
bunnei
6aab309e41
Merge pull request #1455 from ogniK5377/smo-softlockfix
...
Fixed smo softlock due to incorrect effect state updating
2018-10-09 16:56:11 -04:00
Lioncash
6e27c5d4d1
gl_shader_decompiler: Remove unused variables in TMML's implementation
...
Given "y" isn't always used, but "x" is, we can rearrange this to avoid
unused variable warnings by changing the names of op_a and op_b
2018-10-09 15:44:37 -04:00
Lioncash
e3b4d31f4e
telemetry_session: Remove doxygen comment for a non-existent parameter
...
There's no "func" parameter, so this can just be removed.
2018-10-09 14:52:10 -04:00
Lioncash
8aa4889e76
telemetry_session: Add missing includes
...
Prevents potential compilation issues in the future by including missing
headers for certain functions and types.
2018-10-09 14:51:39 -04:00
Lioncash
1964f4bbb3
telemetry_session: Remove unimplemented FinalizeAsyncJob prototype
...
This isn't implemented anywhere, so it can just be removed.
2018-10-09 14:46:31 -04:00
Lioncash
8723cc8798
telemetry_session: Use a std::array in GenerateTelemetryId()
...
We don't need to potentially heap-allocate a std::string instance here,
given the data is known ahead of time. We can just place it within an
array and pass this to the mbedtls functions.
2018-10-09 14:46:26 -04:00
Lioncash
6636f3ff47
patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr
...
Neither of these functions require the use of shared ownership of the
returned pointer. This makes it more difficult to create reference
cycles with, and makes the interface more generic, as std::shared_ptr
instances can be created from a std::unique_ptr, but the vice-versa
isn't possible. This also alters relevant functions to take NCA
arguments by const reference rather than a const reference to a
std::shared_ptr. These functions don't alter the ownership of the memory
used by the NCA instance, so we can make the interface more generic by
not assuming anything about the type of smart pointer the NCA is
contained within and make it the caller's responsibility to ensure the
supplied NCA is valid.
2018-10-09 14:38:03 -04:00
NeatNit
4f24343f32
implemented touch in Qt and SDL
...
change TouchToPixelPos to return std::pair<int, int>
static_cast (SDL)
various minor style and code improvements
style - PascalCase for function names
made touch events private
const pointer arg in touch events
make TouchToPixelPos a const member function
did I do this right?
braces on barely-multiline if
remove question comment (confirmed in Discord)
fixed consts
remove unused parameter from TouchEndEvent
DRY - High-DPI scaled touch put in separate function
also fixes a bug where if you start touching (with either mouse or touchscreen) and drag the mouse to the LEFT of the emulator window, the touch point jumps to the RIGHT side of the touchscreen; draggin to above the window would make it jump to the bottom.
implicit conversion from QPoint to QPointF, apparently
I have no idea what const even means but I'll put it here anyway
remove unused or used-once variables
make touch scaling functions const, and put their implementations together
removed unused FingerID parameters
QTouchEvent forward declaration; add comment to TouchBegin that was lost in an edit
better DRY in SDL
To do -> TODO(NeatNit)
remove unused include
2018-10-09 20:26:57 +02:00
Lioncash
465175cdf5
ips_layer: Avoid constructing std::vector instances where not necessary
...
We can just compare the existing std::vector instance with a constexpr
std::array containing the desired match. This is lighter resource-wise,
as we don't need to allocate on the heap.
2018-10-09 14:10:22 -04:00
Lioncash
9ff743bc0a
ips_layer: Remove unnecessary explicit std::pair constructor in std::array
...
Makes the layout of the array consistent, by making all elements match,
instead of special-casing the first one.
2018-10-09 14:10:22 -04:00
Lioncash
f7d2889fb4
ips_layer: Add missing includes
...
Adds missing includes to prevent potential compilation issues in the
future. Also moves the definition of a struct into the cpp file, so that
some includes don't need to be introduced within the header.
2018-10-09 14:10:13 -04:00
Lioncash
93ac8d0fea
ips_layer: std::move data within PatchIPS() and Apply()
...
We don't need to make a copy of the read data, so we can std::move it
into the make_shared call here.
2018-10-09 14:06:44 -04:00
Lioncash
567e818440
ips_layer: Silence truncation and conversion warnings
...
Makes type conversions explicit to avoid compiler warnings.
2018-10-09 13:18:23 -04:00
FernandoS27
be97fc884d
Implement Scissor Test
2018-10-08 21:36:23 -04:00
David Marcec
f5631e78d1
Added bitfield instead of manually checking if the bit is set
2018-10-09 12:11:14 +11:00
FernandoS27
30ff42b8cc
Assert Scissor tests
2018-10-08 20:49:36 -04:00
David Marcec
a47c1c77e6
EffectOutStatus padding is now in hex
2018-10-09 11:20:54 +11:00
David Marcec
af3ba94b2a
Actual kill execution when the bit isn't set, not the other way around
2018-10-09 11:14:48 +11:00
David Marcec
c50f66a8eb
svcBreak, Signalling to the debugger should not kill execution
...
When loading NROs, svcBreak is called to signal to the debugger that a new "module" is loaded. As no debugger is technically attached we shouldn't be killing the programs execution.
2018-10-09 11:10:30 +11:00
bunnei
561d79e034
Merge pull request #1423 from DarkLordZach/romfs-file-exts
...
fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFS
2018-10-08 12:31:27 -04:00
bunnei
6b48ba5271
Merge pull request #1424 from DarkLordZach/ips-witch
...
ips_layer: Add support for IPSwitch executable patches
2018-10-08 12:30:33 -04:00
bunnei
fd891ee9c0
Merge pull request #1456 from ogniK5377/aoc-u-fixups
...
Fixed assertion due to CountAddOnContent & Casting warnings
2018-10-08 01:21:05 -04:00
bunnei
3f1f82a8c4
Merge pull request #1457 from ogniK5377/unmap-buffer
...
Unmapping an unmapped buffer should succeed
2018-10-08 01:20:18 -04:00
David Marcec
c5c184246d
Unmapping an unmapped buffer should succeed
...
Hardware tests show that trying to unmap an unmapped buffer already should always succeed. Hardware test was tested up to 32 iterations of attempting to unmap
2018-10-08 13:26:48 +11:00
ReinUsesLisp
7c2d6ef210
gl_shader_decompiler: Move position varying location from 15 to 0 and apply an offset
2018-10-07 17:36:00 -03:00
ReinUsesLisp
ee4d538850
gl_shader_decompiler: Implement geometry shaders
2018-10-07 17:36:00 -03:00
ReinUsesLisp
4d0c682468
video_core: Allow LabelGLObject to use extra info on any object
2018-10-07 17:27:49 -03:00
Zach Hilman
f945e9767c
nso/nro: Use default allocation size for arg_data
2018-10-07 14:32:33 -04:00
Zach Hilman
081f5c1dbf
cmd: Support passing game arguments from command line
...
Uses -p (--program) and following string as args.
2018-10-07 14:32:32 -04:00
Zach Hilman
8bbc12b9c2
qt: Add UI option to configure arguments
2018-10-07 14:32:06 -04:00
Zach Hilman
95dff555a4
settings: Add program_args string setting
2018-10-07 14:32:05 -04:00
Zach Hilman
e09505ff61
nso/nro: Add NSO arguments structure to data section
...
Only added if arguments string is non-empty and a pass is requested by loader.
2018-10-07 14:30:15 -04:00
Zach Hilman
3ec054643e
partition_data_manager: Rename system files for hekate
...
x
2018-10-07 13:16:23 -04:00
Zach Hilman
8f958b89e7
qt: Add rederive keyset menu option
2018-10-07 13:16:04 -04:00
Zach Hilman
3edafc6802
qt: Add key derivation progress bar on initial setup
2018-10-07 13:15:11 -04:00
Zach Hilman
29dc6f4519
crypto: Add PartitionDataManager
...
Keeps track of system files for key derivation
2018-10-07 13:15:11 -04:00
Zach Hilman
4aad010f7a
key_manager: Add support for loading keys from partition data
2018-10-07 13:15:11 -04:00
Zach Hilman
d041d6231c
key_manager: Add ETicket key derivation
...
Derives titlekeys
2018-10-07 13:15:11 -04:00
Zach Hilman
a57aac5772
key_manager: Add base key derivation
...
Derives master keys, game encryption keys, and package1/2 keys
2018-10-07 13:15:11 -04:00
Zach Hilman
d7398283e3
key_manager: Add BIS key getter
2018-10-07 13:15:11 -04:00
Zach Hilman
d6a0d5d432
key_manager: Add support for more keys
...
TSEC, SBK, BIS, and other Sources for proper derivation
2018-10-07 13:15:11 -04:00
Zach Hilman
c79d2ca6cf
key_manager: Add keyblob support
2018-10-07 13:15:11 -04:00
Zach Hilman
e4602748d6
key_manager: Add support for crypto revisions past 04
2018-10-07 13:15:11 -04:00
Zach Hilman
9e34303fb9
key_manager: Add support for comments in keyfiles
2018-10-07 13:15:11 -04:00
Zach Hilman
1fa6ee4723
vfs: Move forward declarations to separate file
2018-10-07 13:15:11 -04:00
Zach Hilman
ce05df0a6d
key_manager: Add support for console-specific keyfile
2018-10-07 13:15:11 -04:00
Zach Hilman
721632fe66
key_manager: Rename KEK to Kek
2018-10-07 13:15:11 -04:00
David Marcec
fa3f3cd07f
Fixed assertion due to CountAddOnContent
...
Word count should be 3 since we're pushing a result code and a u32.
Also fixed up compiler warnings due to casting
2018-10-08 00:25:46 +11:00
bunnei
6e4d2e672d
Merge pull request #1396 from DarkLordZach/packed-updates
...
loader: Add support for packed updates
2018-10-06 23:58:24 -04:00
David Marcec
ceef334c1c
Fixups for softlock
2018-10-07 14:25:39 +11:00
David Marcec
2534af040e
Fixed missing return
...
Softlock explanation:
after effects are initialized in smo, nothing actually changes the state. It expects the state to always be initialized. With the previous testing, updating the states much like how we handle the memory pools continue to have the softlock(which is why I said it probably wasn't effects) after further examination it seems like effects need to be initialized but the state remains unchanged until further notice. For now, assertions are added for the aux buffers to see if they update, unable to check as I haven't gotten smo to actually update them yet.
2018-10-07 14:19:55 +11:00
bunnei
2c0b0ad50d
Merge pull request #1446 from bunnei/fast_fermi_copy
...
gl_rasterizer: Implement accelerated Fermi2D copies.
2018-10-06 23:18:52 -04:00
bunnei
1cc5e6e9bc
Merge pull request #1437 from FernandoS27/tex-mode2
...
Implemented Depth Compare, Shadow Samplers and Texture Processing Modes for TEXS and TLDS
2018-10-06 23:14:27 -04:00
David Marcec
2de52e3af6
Fixed smo softlock
2018-10-07 14:14:09 +11:00
bunnei
6f420a40cf
Merge pull request #1453 from FearlessTobi/port-4311
...
Port citra-emu/citra#4311 : "Remove "#" in the version number"
2018-10-06 23:12:58 -04:00
bunnei
44a3baf410
Merge pull request #1451 from FearlessTobi/port-4140
...
Port citra-emu/citra#4140 : "misc input tab improvements"
2018-10-06 23:11:32 -04:00
Carl Kenner
f5f6292810
logging: Add DebuggerBackend for logging to Visual Studio
2018-10-07 13:24:04 +10:30
bunnei
450c0a5adf
Merge pull request #1448 from ogniK5377/frontend-access
...
Ported #4296 from citra
2018-10-06 22:25:29 -04:00
Mat M
72a804b149
Merge pull request #1454 from ReinUsesLisp/fixup-draw
...
gl_rasterizer: Fixup undefined behaviour in SetupDraw
2018-10-06 22:24:08 -04:00
ReinUsesLisp
0ecd181cca
gl_rasterizer: Fixup undefined behaviour in SetupDraw
2018-10-06 23:22:48 -03:00
bunnei
2fbb20b2b5
yuzu/yuzu_cmd: Add checks for required extension ARB_copy_image.
2018-10-06 12:06:40 -04:00
FernandoS27
752faff2bc
Implemented Depth Compare and Shadow Samplers
2018-10-06 11:27:54 -04:00
fearlessTobi
8e6311bfd2
Remove "#" in the version number
...
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
2018-10-06 15:51:37 +02:00
zhupengfei
690f326613
citra_qt/configuration: misc input tab improvements
...
* Added a context menu on the buttons including Clear & Restore Default
* Allow clearing (unsetting) inputs. Added a Clear All button
* Allow restoring a single input to default (instead of all)
2018-10-06 15:43:49 +02:00
David Marcec
612ce89eca
Added forward define for ServerPort
2018-10-06 17:47:33 +10:00
bunnei
9aec85d39c
fermi_2d: Implement simple copies with AccelerateSurfaceCopy.
2018-10-06 03:20:04 -04:00
bunnei
011cf77796
gl_rasterizer: Add rasterizer cache code to handle accerated fermi copies.
2018-10-06 03:20:04 -04:00
bunnei
749aef3dd0
gl_rasterizer_cache: Implement a simpler surface copy using glCopyImageSubData.
2018-10-06 03:20:04 -04:00
Lioncash
efd956e6ff
qt: Update telemetry links
...
These were pointing to a non-existent webpage.
2018-10-06 03:16:39 -04:00
David Marcec
f84b9ed4e8
Ported #4296 from citra
...
This will allow us to easily remove the use of "NFC" in "System"
2018-10-06 16:49:01 +10:00
bunnei
b8b90ce6e6
Merge pull request #1332 from FearlessTobi/port-web-backend
...
Port web_service from Citra
2018-10-06 02:43:09 -04:00
Lioncash
6ddf8f34db
kernel/mutex: Amend behavior of TransferMutexOwnership()
...
This was the result of a typo accidentally introduced in
e51d715700
. This restores the previous
correct behavior.
The behavior with the reference was incorrect and would cause some games
to fail to boot.
2018-10-06 01:13:02 -04:00
bunnei
e6ee31a8e9
Merge pull request #1440 from lioncash/array
...
ui_settings: Place definition of the theme array within the cpp file
2018-10-05 22:54:01 -04:00
bunnei
d3bfb102d8
Merge pull request #1438 from ReinUsesLisp/quads
...
gl_rasterizer: Implement quads topology
2018-10-05 22:53:22 -04:00
balika011
1a5d6de0d4
thread: Make the scheduler pointer a regular pointer
...
Conceptually, it doesn't make sense for a thread to be able to persist
the lifetime of a scheduler. A scheduler should be taking care of the
threads; the threads should not be taking care of the scheduler.
If the threads outlive the scheduler (or we simply don't actually
terminate/shutdown the threads), then it should be considered a bug
that we need to fix.
Attributing this to balika011, as they opened #1317 to attempt to fix
this in a similar way, but my refactoring of the kernel code caused
quite a few conflicts.
2018-10-05 14:53:01 -04:00
bunnei
e51d715700
Merge pull request #1439 from lioncash/thread
...
kernel/thread: Make all instance variables private
2018-10-05 13:41:54 -04:00
bunnei
fe292573de
Merge pull request #1442 from lioncash/format
...
text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
2018-10-05 10:48:58 -04:00
Zach Hilman
38c2ac95af
romfs_factory: Extract packed update setter to new function
2018-10-05 08:53:51 -04:00
Zach Hilman
5acaeb04c4
patch_manager: Add support for NSP packed updates
...
Reads as Update (NSP) in add-ons
2018-10-05 08:48:44 -04:00
Zach Hilman
cf7aba4817
game_list: Add XCI update versioning to game list
2018-10-05 08:47:55 -04:00
Zach Hilman
d79d4fd764
patch_manager: Add support for packed updates
...
Will prefer any installed update over the packed version.
2018-10-05 08:47:24 -04:00
Zach Hilman
5045748829
loader: Add getter for packed update
...
Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status.
2018-10-05 08:46:31 -04:00
Zach Hilman
e948fbf5d0
loader: Add ReadRomFSIVFCOffset to NSP, XCI, and NAX loaders
...
Fixes errors with certain updates
2018-10-05 08:46:31 -04:00
Lioncash
6f16826260
text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
...
operator+ for std::string creates an entirely new string, which is kind
of unnecessary here if we just want to append a null terminator to the
existing one.
Reduces the total amount of potential allocations that need to be done
in the logging path.
2018-10-04 23:55:53 -04:00
Zach Hilman
d0e6b93695
patch_manager: Avoid romfs_ext requirement for patching
2018-10-04 14:09:11 -04:00
Zach Hilman
c1e069c066
fsmitm_romfsbuild: Extract stubs and IPS to romfs_ext dir
2018-10-04 12:29:20 -04:00
Zach Hilman
bc4bec8a60
fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFS
2018-10-04 12:29:14 -04:00
Zach Hilman
110d578470
ips_layer: Fix inaccuracies with comments and flags
...
Specifically bugs/crashes that arise when putting them in positions that are legal but not typical, such as midline, between patch data, or between patch records.
2018-10-04 12:23:27 -04:00
Zach Hilman
70bd2bb1d3
ips_layer: Deduplicate resource usage
2018-10-04 11:34:36 -04:00
Zach Hilman
9669cdb710
ips_layer: Add support for escape sequences and midline comments
...
More accurately follows IPSwitch specification.
2018-10-04 11:34:30 -04:00
Zach Hilman
8886f2e55e
patch_manager: Add support for IPSwitch format patches
2018-10-04 11:34:06 -04:00
Zach Hilman
306739c2c4
ips_layer: Add IPSwitchCompiler to process IPSwitch format
2018-10-04 11:32:10 -04:00
Zach Hilman
f62227aa95
hex_util: Add HexVectorToString and HexStringToVector
...
Converts between bytes and strings when the size is not known at compile time.
2018-10-04 11:32:04 -04:00
Lioncash
30dfd89126
ui_settings: Place definition of the theme array within the cpp file
...
Placing the array wholesale into the header places a copy of the whole
array into every translation unit that uses the data, which is wasteful.
Particularly given that this array is referenced from three different
translation units.
This also changes the array to contain pairs of const char*, rather than
QString instances. This way, the string data is able to be fixed into
the read-only segment of the program, as well as eliminate static
constructors/heap allocation immediately on program start.
2018-10-04 09:43:51 -04:00
bunnei
f85f2b3728
Merge pull request #1415 from DarkLordZach/ips
...
file_sys: Add support for loading IPS patches
2018-10-04 09:42:37 -04:00
Lioncash
baed7e1fba
kernel/thread: Make all instance variables private
...
Many of the member variables of the thread class aren't even used
outside of the class itself, so there's no need to make those variables
public. This change follows in the steps of the previous changes that
made other kernel types' members private.
The main motivation behind this is that the Thread class will likely
change in the future as emulation becomes more accurate, and letting
random bits of the emulator access data members of the Thread class
directly makes it a pain to shuffle around and/or modify internals.
Having all data members public like this also makes it difficult to
reason about certain bits of behavior without first verifying what parts
of the core actually use them.
Everything being public also generally follows the tendency for changes
to be introduced in completely different translation units that would
otherwise be better introduced as an addition to the Thread class'
public interface.
2018-10-04 00:14:15 -04:00
ReinUsesLisp
3e2380327a
gl_rasterizer: Implement quads topology
2018-10-04 00:03:44 -03:00
bunnei
cf3a6dd4a1
Merge pull request #1434 from DarkLordZach/dlc-edge-case
...
aoc_u: Fix edge case with DLC that causes breaks
2018-10-03 21:39:23 -04:00
bunnei
af672d8abf
Merge pull request #1428 from lioncash/qt
...
configure_graphics: Make functions internally linked where applicable
2018-10-03 21:38:29 -04:00
bunnei
839dbd9710
Merge pull request #1431 from lioncash/audio
...
configure_audio: Minor cleanup-related changes
2018-10-03 19:14:22 -04:00
bunnei
39f08e551d
Merge pull request #1433 from lioncash/fs
...
services/fsp_srv: Amend service function table
2018-10-03 19:13:57 -04:00
bunnei
5ae5610c13
Merge pull request #1429 from lioncash/translate
...
configure_input: Make analog mapping strings translatable
2018-10-03 19:13:20 -04:00
bunnei
15b2e2ec13
Merge pull request #1436 from lioncash/view
...
submission_package: Cleanup and bug fixes
2018-10-03 19:05:19 -04:00
bunnei
e7e347a828
Merge pull request #1432 from lioncash/lbl
...
service/lbl: Update service function table
2018-10-03 18:45:15 -04:00
bunnei
137d43fa2f
Merge pull request #1426 from FearlessTobi/port-4253
...
Port citra-emu/citra#4253 : "common/string_util cleanup"
2018-10-03 18:44:51 -04:00
bunnei
8679934693
Merge pull request #1435 from lioncash/xci
...
card_image: Ensure program_nca_status is always initialized
2018-10-03 18:44:28 -04:00
FernandoS27
f664437ae8
Implemented Texture Processing Modes in TEXS and TLDS
2018-10-03 08:41:12 -04:00
Lioncash
024eec02a5
submission_package: Avoid dangling std::string_view within SetTicketKeys()
...
GetName() returns a std::string by value, not by reference, so after the
std::string_view is constructed, it's not well defined to actually
execute any member functions of std::string_view that attempt to access
the data, as the std::string has already been destroyed. Instead, we can
just use a std::string and erase the last four characters.
2018-10-03 02:13:51 -04:00
Lioncash
dade709f63
submission_package: Correct location of null check within SetTicketKeys()
...
If a ticket file was ever a null pointer, we'd cause a null pointer
dereference, as we were calling GetExtension() on the pointer instance.
2018-10-03 02:06:30 -04:00
Lioncash
02841052aa
submission_package: Use std::string's rfind() when looking for the extension in InitializeExeFSAndRomFS()
...
When searching for a file extension, it's generally preferable to begin
the search at the end of the string rather than the beginning, as the
whole string isn't going to be walked just to check for something at the
end of it.
2018-10-03 01:51:01 -04:00
Lioncash
37ee05f7c0
submission_package: Ensure the 'extracted' member variable is always initialized
...
If an error occurs when constructing the PartitionFilesystem instance,
the constructor would be exited early, which wouldn't initialize the
extracted data member, making it possible for other code to perform an
uninitialized read by calling the public IsExtractedType() member
function. This prevents that.
2018-10-03 01:47:34 -04:00
Lioncash
ccf0a9cb38
submission_package: Move ExeFS and RomFS initialization to its own function
...
Like the other two bits of factored out code, this can also be put
within its own function. We can also modify the code so that it accepts
a const reference to a std::vector of files, this way, we can
deduplicate the file retrieval.
Now the constructor for NSP isn't a combination of multiple behaviors in
one spot. It's nice and separate.
2018-10-03 01:46:07 -04:00
Lioncash
fd312abedd
submission_package: Move NCA reading code to its own function
...
This too, is completely separate behavior from what is in the
constructor, so we can move this to its own isolated function to keep
everything self-contained.
2018-10-03 01:35:41 -04:00
Lioncash
4f18d35888
submission_package: Move ticket key setting to its own function
...
This behavior is entirely independent of the surrounding code, so it can
be put in its own function to keep the behavior separate.
2018-10-03 01:20:57 -04:00
Lioncash
0d83f8f255
submission_package: Invert conditionals within NSP's constructor to reduce nesting
...
We can use early continues here to reduce the amount of nesting.
2018-10-03 01:11:16 -04:00
Lioncash
cf463a9b67
card_image: Ensure program_nca_status is always initialized
...
If any of the error paths before the NCA retrieval are taken, it'll
result in program_nca_status being left in an inconsistent state. So we
initialize it by default with a value indicating an error.
2018-10-02 23:16:05 -04:00
Zach Hilman
9aaf1c0df8
aoc_u: Fix edge case with DLC that causes breaks
...
In some games (Splatoon 2 and Splatoon 2 Splatfest World Premiere, notably), pass offset=0 and count=2047 into the ListAddOnContent method which should return all DLCs for the current title. The (presumably) intended behavior is to successfully return a empty array but because of a < v. <= in an if statement, a failure error code was returned causing these games to svcBreak. This fixes that if statement.
2018-10-02 21:56:32 -04:00
Lioncash
cba78dc70a
services/fsp_srv: Amend service function table
...
Adds new functions that have been given names to the table. Information
is based off what is provided on Switchbrew.
2018-10-02 21:34:33 -04:00
Lioncash
d80dd2b812
service/lbl: Update service function table
...
Amends the lbl service table to include new names of functions that were
added to Switchbrew.
2018-10-02 21:15:59 -04:00
Lioncash
61b144bbf3
configure_input: Make analog mapping strings translatable
...
These strings are user-facing, so they should be specified as
translatable with tr().
2018-10-02 20:28:45 -04:00
Lioncash
1c7c798e9e
configure_audio: Move combo box index setting to their own functions
...
Keeps the individual behaviors in their own functions, and cleanly
separate. We can also do a little better by converting the relevant IDs
within the core to a QString only once, instead of converting every
string into a std::string.
2018-10-02 20:24:30 -04:00
Lioncash
57e47bae32
configure_audio: Use QString::fromStdString() for converting audio device names
...
This ensures that the proper codec will always be used no matter what.
It also avoids relying on ASCII conversions.
2018-10-02 19:50:51 -04:00
Lioncash
226dc914b3
configure_audio: Add disambiguation comment for the volume percentage string
...
Disambiguates what the string represents to help translators more easily
understand what it is that they're translating. While we're at it, we
can move the code to its own function, so that we don't need to specify
the same string twice.
2018-10-02 19:45:12 -04:00
Lioncash
8f5e2a2b83
configure_graphics: Make functions internally linked where applicable
...
These aren't used outside of this translation unit, so they can be
internally linked.
2018-10-02 19:24:43 -04:00
Zach Hilman
215b65fe75
nso: Optimize loading of IPS patches
...
Avoid resource-heavy classes and remove quasi-duplicated code.
2018-10-02 17:03:38 -04:00
Weiyi Wang
fdb35760a7
string_util: unify UTF8<->UTF16 conversion to codecvt
2018-10-02 16:10:34 +02:00
Weiyi Wang
bfe84f06f2
string_util: remove TString conversion for windows
...
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
2018-10-02 16:10:20 +02:00
Weiyi Wang
a4595bb939
string_util: remove ShiftJIS/CP1252 conversion function
...
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
2018-10-02 16:10:01 +02:00
fearlessTobi
e4daf4bee5
Review comments - part 5
2018-10-02 16:04:10 +02:00
fearlessTobi
ac06105dfe
Review comments -part 4
2018-10-02 15:30:49 +02:00
fearlessTobi
aa48468862
Review comments - part 3
2018-10-02 15:30:48 +02:00
Weiyi Wang
62f9409ba3
web_backend: protect jwt cache with a mutex
2018-10-02 15:30:48 +02:00
fearlessTobi
120d8f3bf7
Address more review comments
2018-10-02 15:30:48 +02:00
fearlessTobi
b4ace6ec6f
Address a bunch of review comments
2018-10-02 15:30:48 +02:00
fearlessTobi
4d139943f2
Port web_service from Citra
2018-10-02 15:30:48 +02:00